{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounter",
          "declaration": {
            "name": "TimeredCounter",
            "module": "src/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "TimeredCounterDatetimeDuration",
          "declaration": {
            "name": "TimeredCounterDatetimeDuration",
            "module": "src/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "TimeredCounterNumber",
          "declaration": {
            "name": "TimeredCounterNumber",
            "module": "src/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "TimeredCounterString",
          "declaration": {
            "name": "TimeredCounterString",
            "module": "src/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./easing/index.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./types/index.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./timered-counter-adapter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/timered-counter-adapter.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterAdapter",
          "members": [
            {
              "kind": "field",
              "name": "AVAILABLE_NUMBER_ADAPTERS",
              "type": {
                "text": "Map<string[], () => NumberAdapter>"
              },
              "static": true,
              "default": "new Map([ [['number'], BuildInNumberAdapter], // [['decimal.js', 'decimaljs'], DecimalJsAdapter()], ])"
            },
            {
              "kind": "field",
              "name": "AVAILABLE_STRING_ADAPTERS",
              "type": {
                "text": "Map<string[], () => StringAdapter>"
              },
              "static": true,
              "default": "new Map([ [['string'], BuildInStringAdapter], [['intl-segmenter'], BuildInIntlSegmenterAdapter], // [['grapheme-splitter'], GraphemeSplitterAdapter()], ])"
            },
            {
              "kind": "field",
              "name": "NUMBER_ADAPTER",
              "type": {
                "text": "NumberAdapter"
              },
              "static": true,
              "description": "数字适配器, 有以下两种:\n1. BuildInNumberAdapter(默认): 使用内置 number 进行计算.\n2. DecimalJsAdapter: 使用 Decimal.js 进行计算.\n\n详细信息请查看[字符长度限制](/guide/optional-dependencies#字符长度限制)章节.",
              "default": "BuildInNumberAdapter"
            },
            {
              "kind": "field",
              "name": "STRING_ADAPTER",
              "type": {
                "text": "StringAdapter"
              },
              "static": true,
              "description": "字符串适配器, 有以下两种:\n1. BuildInStringAdapter(默认): 使用内置 string 进行字符串处理.\n2. BuildInIntlSegmenterAdapter: 使用 Intl.Segmenter 进行字符串处理. 能够支持 emoji, 字符集.\n3. GraphemeSplitterAdapter: 使用 grapheme-splitter 进行字符串处理. 能够支持 emoji, 字符集.\n\n详细信息请查看[支持 emoji 分词](/guide/optional-dependencies#支持-emoji-分词)章节.",
              "default": "BuildInStringAdapter"
            },
            {
              "kind": "field",
              "name": "VALUE_CONVERTER",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ fromAttribute(value: string | null) { return value; }, toAttribute(value: unknown) { return isNullish(value) ? value : TimeredCounterAdapter.NUMBER_ADAPTER.toString(value); }, }",
              "description": "将 value 及其相关的属性, 在 attribute 和 property 上的互相转换.",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "setNumberAdapter",
              "static": true,
              "parameters": [
                {
                  "name": "adapterOrType",
                  "type": {
                    "text": "NumberAdapter | 'number' | string"
                  }
                }
              ],
              "description": "设置要使用的数字适配器. 仅对设置完之后的 TimeredCounter 实例生效.\n\n接受的关键字除了内置的 `number` 以外, 还可以通过 registerNumberAdapter 注册的 `keyword`."
            },
            {
              "kind": "method",
              "name": "setStringAdapter",
              "static": true,
              "parameters": [
                {
                  "name": "adapterOrType",
                  "type": {
                    "text": "StringAdapter | 'string' | 'intl-segmenter' | string"
                  }
                }
              ],
              "description": "与 setNumberAdapter 类似, 用于设置字符串适配器."
            },
            {
              "kind": "method",
              "name": "registerNumberAdapter",
              "static": true,
              "parameters": [
                {
                  "name": "keyword",
                  "type": {
                    "text": "string[]"
                  }
                },
                {
                  "name": "adapter",
                  "type": {
                    "text": "() => NumberAdapter"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "registerStringAdapter",
              "static": true,
              "parameters": [
                {
                  "name": "keyword",
                  "type": {
                    "text": "string[]"
                  }
                },
                {
                  "name": "adapter",
                  "type": {
                    "text": "() => StringAdapter"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "registryAdapter",
              "static": true,
              "parameters": [
                {
                  "name": "adapter",
                  "type": {
                    "text": "{\n    register: (counterAdapter: typeof TimeredCounterAdapter) => void;\n  }"
                  }
                }
              ],
              "description": "可以直接使用 adapter 文件的导出进行注册.\n\nadapter 文件需要导出一个名为 register 的函数, 该函数接受一个 TimeredCounterAdapter 类型的参数.\n\n具体示例请查看 GraphemeSplitterAdapter or DecimalJsAdapter."
            }
          ]
        },
        {
          "kind": "function",
          "name": "setNumberAdapter",
          "parameters": [
            {
              "name": "args",
              "type": {
                "text": "Parameters<(typeof TimeredCounterAdapter)['setNumberAdapter']>"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setStringAdapter",
          "parameters": [
            {
              "name": "args",
              "type": {
                "text": "Parameters<(typeof TimeredCounterAdapter)['setStringAdapter']>"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "registerNumberAdapter",
          "parameters": [
            {
              "name": "args",
              "type": {
                "text": "Parameters<(typeof TimeredCounterAdapter)['registerNumberAdapter']>"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "registerStringAdapter",
          "parameters": [
            {
              "name": "args",
              "type": {
                "text": "Parameters<(typeof TimeredCounterAdapter)['registerStringAdapter']>"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterAdapter",
          "declaration": {
            "name": "TimeredCounterAdapter",
            "module": "src/timered-counter-adapter.ts"
          }
        },
        {
          "kind": "js",
          "name": "setNumberAdapter",
          "declaration": {
            "name": "setNumberAdapter",
            "module": "src/timered-counter-adapter.ts"
          }
        },
        {
          "kind": "js",
          "name": "setStringAdapter",
          "declaration": {
            "name": "setStringAdapter",
            "module": "src/timered-counter-adapter.ts"
          }
        },
        {
          "kind": "js",
          "name": "registerNumberAdapter",
          "declaration": {
            "name": "registerNumberAdapter",
            "module": "src/timered-counter-adapter.ts"
          }
        },
        {
          "kind": "js",
          "name": "registerStringAdapter",
          "declaration": {
            "name": "registerStringAdapter",
            "module": "src/timered-counter-adapter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/timered-counter-datetime-duration.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterDatetimeDuration",
          "members": [
            {
              "kind": "field",
              "name": "__precision",
              "type": {
                "text": "DurationPartType | [DurationPartType, DurationPartType]"
              },
              "privacy": "private",
              "default": "[DurationPartType.Second, DurationPartType.Day]"
            },
            {
              "kind": "field",
              "name": "precision",
              "description": "计数器显示的精度.\n1. 当为单个值时, 表示最小精度.\n2. 当为数组时, 第一个值表示最小精度, 第二个值表示最大精度.",
              "default": "[DurationPartType.Second, DurationPartType.Day]",
              "attribute": "precision",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "attribute": "value",
              "reflects": true,
              "description": "通过 property 设置 value 时, 支持 Date 类型.",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__initialValuePlain",
              "type": {
                "text": "any"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "initialValue",
              "description": "同 value",
              "attribute": "initial-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__partsOptions",
              "type": {
                "text": "Partial<PartsOptions> | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "attribute": "parts-options",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "__from",
              "type": {
                "text": "Date"
              },
              "privacy": "private",
              "default": "new Date()"
            },
            {
              "kind": "field",
              "name": "__to",
              "type": {
                "text": "Date"
              },
              "privacy": "private",
              "default": "new Date()"
            },
            {
              "kind": "field",
              "name": "__minPrecision",
              "type": {
                "text": "DurationPartType"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__maxPrecision",
              "type": {
                "text": "DurationPartType"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__availableDurationParts",
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "__dateTimeFieldLabels",
              "privacy": "private",
              "default": "{}"
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "AvailableNumberAdapterValueType[]"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "AvailableNumberAdapterValueType[][]"
                }
              },
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "生成 aria-label 属性值. 在每次更新完成后调用.",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "attribute": "aira-live",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "attribute": "animation-options",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedAnimationOptions",
              "type": {
                "text": "(KeyframeAnimationOptions | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "attribute": "keyframes",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedKeyframes",
              "type": {
                "text": "(PropertyIndexedKeyframes | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractKeyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "attribute": "cell-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedCellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractCellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "attribute": "digit-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedDigitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractDigitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "attribute": "part-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedPartStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractPartStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "attribute": "color",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "DEFAULT_PARTS_OPTIONS",
              "type": {
                "text": "InnerPartsOptions"
              },
              "privacy": "private",
              "static": true,
              "default": "{ sampleCount: 16, decimalSeparator: '.', fillChar: '0', minPlaces: [1, 0], digitToChar: {}, type: 'number', }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "#__partsOptions",
              "privacy": "private",
              "type": {
                "text": "InnerPartsOptions"
              },
              "default": "{ ...CounterPartsMixinClass.DEFAULT_PARTS_OPTIONS, }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampling",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "processPartData",
              "privacy": "private",
              "description": "process:\n1. 采样\n2. 转换\n3. 构造",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "__value",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__oldValue",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldValue",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "attribute": "old-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__initialValue",
              "type": {
                "text": "V | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n      | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              },
              "privacy": "private",
              "default": "'en-US'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "attribute": "locale",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "default": "new ResizeObserver(() => { this.partsContainerRect = this.partsContainer ? this.partsContainer.getBoundingClientRect() : new DOMRect(); })",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainerRect",
              "type": {
                "text": "DOMRect | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainer",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationStart",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationEnd",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "precision",
              "description": "计数器显示的精度.\n1. 当为单个值时, 表示最小精度.\n2. 当为数组时, 第一个值表示最小精度, 第二个值表示最大精度.",
              "default": "[DurationPartType.Second, DurationPartType.Day]",
              "fieldName": "precision"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "aira-live",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "fieldName": "ariaLive",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "animation-options",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "fieldName": "animationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "fieldName": "keyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "cell-styles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "fieldName": "cellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "digit-styles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "fieldName": "digitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "part-styles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "fieldName": "partStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "fieldName": "color",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "parts-options",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "fieldName": "partsOptions",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "name": "value",
              "fieldName": "value",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "old-value",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "fieldName": "oldValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "initial-value",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "fieldName": "initialValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "fieldName": "locale",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            }
          ],
          "superclass": {
            "name": "TimeredCounter",
            "module": "/src/timered-counter.js"
          },
          "tagName": "timered-counter-datetime-duration",
          "customElement": true,
          "events": [
            {
              "name": "timered-counter-animation-start",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "name": "timered-counter-animation-end",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterDatetimeDuration",
          "declaration": {
            "name": "TimeredCounterDatetimeDuration",
            "module": "src/timered-counter-datetime-duration.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter-datetime-duration",
          "declaration": {
            "name": "TimeredCounterDatetimeDuration",
            "module": "src/timered-counter-datetime-duration.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/timered-counter-number.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterNumber",
          "members": [
            {
              "kind": "field",
              "name": "localeNumber",
              "type": {
                "text": "Intl.NumberFormatOptions | boolean"
              },
              "default": "false",
              "description": "本地化数字格式化配置. 传入 `true` 时使用浏览器的默认配置.\n\n详细配置参数请参考 [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat)",
              "attribute": "locale-number",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localeNumberInstance",
              "type": {
                "text": "Intl.NumberFormat"
              },
              "default": "new Intl.NumberFormat( this.localeInstance, isBoolean(this.localeNumber) ? {} : this.localeNumber, )"
            },
            {
              "kind": "field",
              "name": "localDecimalSeparator",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "本地化数字格式化配置中的小数点分隔符. 根据不同的地区可能是 `.` 或 `,`."
            },
            {
              "kind": "field",
              "name": "localeGroupingSeparator",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "本地化数字格式化配置中的分组分隔符."
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "AvailableNumberAdapterValueType"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "attribute": "aira-live",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "生成 aria-label 属性值. 在每次更新完成后调用.",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "attribute": "animation-options",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedAnimationOptions",
              "type": {
                "text": "(KeyframeAnimationOptions | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "attribute": "keyframes",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedKeyframes",
              "type": {
                "text": "(PropertyIndexedKeyframes | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractKeyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "attribute": "cell-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedCellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractCellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "attribute": "digit-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedDigitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractDigitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "attribute": "part-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedPartStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractPartStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "attribute": "color",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "DEFAULT_PARTS_OPTIONS",
              "type": {
                "text": "InnerPartsOptions"
              },
              "privacy": "private",
              "static": true,
              "default": "{ sampleCount: 16, decimalSeparator: '.', fillChar: '0', minPlaces: [1, 0], digitToChar: {}, type: 'number', }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "#__partsOptions",
              "privacy": "private",
              "type": {
                "text": "InnerPartsOptions"
              },
              "default": "{ ...CounterPartsMixinClass.DEFAULT_PARTS_OPTIONS, }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "attribute": "parts-options",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampling",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "V[]"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "processPartData",
              "privacy": "private",
              "description": "process:\n1. 采样\n2. 转换\n3. 构造",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "__value",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "attribute": "value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__oldValue",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldValue",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "attribute": "old-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__initialValue",
              "type": {
                "text": "V | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "initialValue",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "attribute": "initial-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n      | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              },
              "privacy": "private",
              "default": "'en-US'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "attribute": "locale",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "default": "new ResizeObserver(() => { this.partsContainerRect = this.partsContainer ? this.partsContainer.getBoundingClientRect() : new DOMRect(); })",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainerRect",
              "type": {
                "text": "DOMRect | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainer",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationStart",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationEnd",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "locale-number",
              "type": {
                "text": "Intl.NumberFormatOptions | boolean"
              },
              "default": "false",
              "description": "本地化数字格式化配置. 传入 `true` 时使用浏览器的默认配置.\n\n详细配置参数请参考 [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat)",
              "fieldName": "localeNumber"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "aira-live",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "fieldName": "ariaLive",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "animation-options",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "fieldName": "animationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "fieldName": "keyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "cell-styles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "fieldName": "cellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "digit-styles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "fieldName": "digitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "part-styles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "fieldName": "partStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "fieldName": "color",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "parts-options",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "fieldName": "partsOptions",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "name": "value",
              "fieldName": "value",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "old-value",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "fieldName": "oldValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "initial-value",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "fieldName": "initialValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "fieldName": "locale",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            }
          ],
          "superclass": {
            "name": "TimeredCounter",
            "module": "/src/timered-counter.js"
          },
          "tagName": "timered-counter-number",
          "customElement": true,
          "events": [
            {
              "name": "timered-counter-animation-start",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "name": "timered-counter-animation-end",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterNumber",
          "declaration": {
            "name": "TimeredCounterNumber",
            "module": "src/timered-counter-number.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter-number",
          "declaration": {
            "name": "TimeredCounterNumber",
            "module": "src/timered-counter-number.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/timered-counter-string.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterString",
          "members": [
            {
              "kind": "field",
              "name": "__alphabet",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "__initialValueString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "initialValue",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "attribute": "initial-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__valueString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "__oldValueString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "value",
              "attribute": "value",
              "reflects": true,
              "description": "通过 property 设置 value 时, 支持任意字符串.",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__partsOptions",
              "type": {
                "text": "Partial<PartsOptions> | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "attribute": "parts-options",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "__updateAlphabet",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "根据 `value`, `initialValue`, `oldValue` 更新字符集."
            },
            {
              "kind": "field",
              "name": "__decimalToAnyBase",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__anyBaseToDecimal",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "AvailableNumberAdapterValueType"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "attribute": "aira-live",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "生成 aria-label 属性值. 在每次更新完成后调用.",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "attribute": "animation-options",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedAnimationOptions",
              "type": {
                "text": "(KeyframeAnimationOptions | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "attribute": "keyframes",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedKeyframes",
              "type": {
                "text": "(PropertyIndexedKeyframes | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractKeyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "attribute": "cell-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedCellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractCellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "attribute": "digit-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedDigitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractDigitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "attribute": "part-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedPartStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractPartStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "attribute": "color",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "DEFAULT_PARTS_OPTIONS",
              "type": {
                "text": "InnerPartsOptions"
              },
              "privacy": "private",
              "static": true,
              "default": "{ sampleCount: 16, decimalSeparator: '.', fillChar: '0', minPlaces: [1, 0], digitToChar: {}, type: 'number', }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "#__partsOptions",
              "privacy": "private",
              "type": {
                "text": "InnerPartsOptions"
              },
              "default": "{ ...CounterPartsMixinClass.DEFAULT_PARTS_OPTIONS, }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampling",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "V[]"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "processPartData",
              "privacy": "private",
              "description": "process:\n1. 采样\n2. 转换\n3. 构造",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "__value",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__oldValue",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldValue",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "attribute": "old-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__initialValue",
              "type": {
                "text": "V | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n      | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              },
              "privacy": "private",
              "default": "'en-US'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "attribute": "locale",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "default": "new ResizeObserver(() => { this.partsContainerRect = this.partsContainer ? this.partsContainer.getBoundingClientRect() : new DOMRect(); })",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainerRect",
              "type": {
                "text": "DOMRect | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsContainer",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationStart",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationEnd",
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ],
          "superclass": {
            "name": "TimeredCounter",
            "module": "/src/timered-counter.js"
          },
          "tagName": "timered-counter-string",
          "customElement": true,
          "attributes": [
            {
              "name": "aria-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "aira-live",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "fieldName": "ariaLive",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "animation-options",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "fieldName": "animationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "fieldName": "keyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "cell-styles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "fieldName": "cellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "digit-styles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "fieldName": "digitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "part-styles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "fieldName": "partStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "fieldName": "color",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "parts-options",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "fieldName": "partsOptions",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "name": "value",
              "fieldName": "value",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "old-value",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "fieldName": "oldValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "initial-value",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "fieldName": "initialValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "fieldName": "locale",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            }
          ],
          "events": [
            {
              "name": "timered-counter-animation-start",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            },
            {
              "name": "timered-counter-animation-end",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              },
              "inheritedFrom": {
                "name": "TimeredCounter",
                "module": "src/timered-counter.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterString",
          "declaration": {
            "name": "TimeredCounterString",
            "module": "src/timered-counter-string.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter-string",
          "declaration": {
            "name": "TimeredCounterString",
            "module": "src/timered-counter-string.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/timered-counter.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounter",
          "members": [
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "default": "new ResizeObserver(() => { this.partsContainerRect = this.partsContainer ? this.partsContainer.getBoundingClientRect() : new DOMRect(); })"
            },
            {
              "kind": "field",
              "name": "partsContainerRect",
              "type": {
                "text": "DOMRect | undefined"
              }
            },
            {
              "kind": "field",
              "name": "partsContainer",
              "type": {
                "text": "HTMLElement | undefined"
              }
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationStart"
            },
            {
              "kind": "method",
              "name": "dispatchTimeredCounterAnimationEnd"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "attribute": "aira-live",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "生成 aria-label 属性值. 在每次更新完成后调用.",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "attribute": "animation-options",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedAnimationOptions",
              "type": {
                "text": "(KeyframeAnimationOptions | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "attribute": "keyframes",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedKeyframes",
              "type": {
                "text": "(PropertyIndexedKeyframes | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractKeyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "attribute": "cell-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedCellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractCellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "attribute": "digit-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedDigitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractDigitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "attribute": "part-styles",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              },
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "cachedPartStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "method",
              "name": "extractPartStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "attribute": "color",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "kind": "field",
              "name": "DEFAULT_PARTS_OPTIONS",
              "type": {
                "text": "InnerPartsOptions"
              },
              "privacy": "private",
              "static": true,
              "default": "{ sampleCount: 16, decimalSeparator: '.', fillChar: '0', minPlaces: [1, 0], digitToChar: {}, type: 'number', }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "#__partsOptions",
              "privacy": "private",
              "type": {
                "text": "InnerPartsOptions"
              },
              "default": "{ ...CounterPartsMixinClass.DEFAULT_PARTS_OPTIONS, }",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "attribute": "parts-options",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampling",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "V[]"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "V"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "method",
              "name": "processPartData",
              "privacy": "private",
              "description": "process:\n1. 采样\n2. 转换\n3. 构造",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "kind": "field",
              "name": "__value",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "attribute": "value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__oldValue",
              "type": {
                "text": "V"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldValue",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "attribute": "old-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__initialValue",
              "type": {
                "text": "V | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "initialValue",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "attribute": "initial-value",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "__locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n      | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              },
              "privacy": "private",
              "default": "'en-US'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "attribute": "locale",
              "reflects": true,
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              },
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            }
          ],
          "events": [
            {
              "name": "timered-counter-animation-start",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              }
            },
            {
              "name": "timered-counter-animation-end",
              "type": {
                "text": "TimeredCounterAnimationEvent"
              }
            }
          ],
          "mixins": [
            {
              "name": "CounterAiraMixin",
              "module": "/src/mixins/counter-aira.js"
            },
            {
              "name": "CounterAnimationMixin",
              "module": "/src/mixins/counter-animation.js"
            },
            {
              "name": "CounterStylesMixin",
              "module": "/src/mixins/counter-styles.js"
            },
            {
              "name": "CounterPartsMixin",
              "module": "/src/mixins/counter-parts.js"
            },
            {
              "name": "CounterBaseMixin",
              "module": "/src/mixins/counter-base.js"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "timered-counter",
          "customElement": true,
          "attributes": [
            {
              "name": "aria-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "aira-live",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "fieldName": "ariaLive",
              "inheritedFrom": {
                "name": "CounterAiraMixin",
                "module": "src/mixins/counter-aira.ts"
              }
            },
            {
              "name": "animation-options",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "fieldName": "animationOptions",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "fieldName": "keyframes",
              "inheritedFrom": {
                "name": "CounterAnimationMixin",
                "module": "src/mixins/counter-animation.ts"
              }
            },
            {
              "name": "cell-styles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "fieldName": "cellStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "digit-styles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "fieldName": "digitStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "part-styles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "fieldName": "partStyles",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "fieldName": "color",
              "inheritedFrom": {
                "name": "CounterStylesMixin",
                "module": "src/mixins/counter-styles.ts"
              }
            },
            {
              "name": "parts-options",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "fieldName": "partsOptions",
              "inheritedFrom": {
                "name": "CounterPartsMixin",
                "module": "src/mixins/counter-parts.ts"
              }
            },
            {
              "name": "value",
              "fieldName": "value",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "old-value",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "fieldName": "oldValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "initial-value",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "fieldName": "initialValue",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            },
            {
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "fieldName": "locale",
              "inheritedFrom": {
                "name": "CounterBaseMixin",
                "module": "src/mixins/counter-base.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounter",
          "declaration": {
            "name": "TimeredCounter",
            "module": "src/timered-counter.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter",
          "declaration": {
            "name": "TimeredCounter",
            "module": "src/timered-counter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/easing/cubic-bezier.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "noop",
          "return": {
            "type": {
              "text": "T"
            }
          },
          "parameters": [
            {
              "name": "any",
              "type": {
                "text": "T"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "cubicBezier",
          "parameters": [
            {
              "name": "mX1",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "mY1",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "mX2",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "mY2",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "noop",
          "declaration": {
            "name": "noop",
            "module": "src/easing/cubic-bezier.ts"
          }
        },
        {
          "kind": "js",
          "name": "cubicBezier",
          "declaration": {
            "name": "cubicBezier",
            "module": "src/easing/cubic-bezier.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/easing/easing-functions.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "linear",
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "linear",
          "declaration": {
            "name": "linear",
            "module": "src/easing/easing-functions.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/easing/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./easing-functions.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./cubic-bezier.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./penner-easing-functions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/easing/penner-easing-functions.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "easeInSine"
        },
        {
          "kind": "variable",
          "name": "easeOutSine"
        },
        {
          "kind": "variable",
          "name": "easeInOutSine"
        },
        {
          "kind": "variable",
          "name": "easeInQuad"
        },
        {
          "kind": "variable",
          "name": "easeOutQuad"
        },
        {
          "kind": "variable",
          "name": "easeInOutQuad"
        },
        {
          "kind": "variable",
          "name": "easeInCubic"
        },
        {
          "kind": "variable",
          "name": "easeOutCubic"
        },
        {
          "kind": "variable",
          "name": "easeInOutCubic"
        },
        {
          "kind": "variable",
          "name": "easeInQuart"
        },
        {
          "kind": "variable",
          "name": "easeOutQuart"
        },
        {
          "kind": "variable",
          "name": "easeInOutQuart"
        },
        {
          "kind": "variable",
          "name": "easeInQuint"
        },
        {
          "kind": "variable",
          "name": "easeOutQuint"
        },
        {
          "kind": "variable",
          "name": "easeInOutQuint"
        },
        {
          "kind": "variable",
          "name": "easeInExpo"
        },
        {
          "kind": "variable",
          "name": "easeOutExpo"
        },
        {
          "kind": "variable",
          "name": "easeInOutExpo"
        },
        {
          "kind": "variable",
          "name": "easeInCirc"
        },
        {
          "kind": "variable",
          "name": "easeOutCirc"
        },
        {
          "kind": "variable",
          "name": "easeInOutCirc"
        },
        {
          "kind": "variable",
          "name": "easeInBack"
        },
        {
          "kind": "variable",
          "name": "easeOutBack"
        },
        {
          "kind": "variable",
          "name": "easeInOutBack"
        },
        {
          "kind": "function",
          "name": "easeInElastic",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "easeOutElastic",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "easeInOutElastic",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "easeOutBounce",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "easeInBounce",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "easeInOutBounce",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "x",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "easeInSine",
          "declaration": {
            "name": "easeInSine",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutSine",
          "declaration": {
            "name": "easeOutSine",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutSine",
          "declaration": {
            "name": "easeInOutSine",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInQuad",
          "declaration": {
            "name": "easeInQuad",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutQuad",
          "declaration": {
            "name": "easeOutQuad",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutQuad",
          "declaration": {
            "name": "easeInOutQuad",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInCubic",
          "declaration": {
            "name": "easeInCubic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutCubic",
          "declaration": {
            "name": "easeOutCubic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutCubic",
          "declaration": {
            "name": "easeInOutCubic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInQuart",
          "declaration": {
            "name": "easeInQuart",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutQuart",
          "declaration": {
            "name": "easeOutQuart",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutQuart",
          "declaration": {
            "name": "easeInOutQuart",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInQuint",
          "declaration": {
            "name": "easeInQuint",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutQuint",
          "declaration": {
            "name": "easeOutQuint",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutQuint",
          "declaration": {
            "name": "easeInOutQuint",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInExpo",
          "declaration": {
            "name": "easeInExpo",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutExpo",
          "declaration": {
            "name": "easeOutExpo",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutExpo",
          "declaration": {
            "name": "easeInOutExpo",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInCirc",
          "declaration": {
            "name": "easeInCirc",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutCirc",
          "declaration": {
            "name": "easeOutCirc",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutCirc",
          "declaration": {
            "name": "easeInOutCirc",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInBack",
          "declaration": {
            "name": "easeInBack",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutBack",
          "declaration": {
            "name": "easeOutBack",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutBack",
          "declaration": {
            "name": "easeInOutBack",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInElastic",
          "declaration": {
            "name": "easeInElastic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutElastic",
          "declaration": {
            "name": "easeOutElastic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutElastic",
          "declaration": {
            "name": "easeInOutElastic",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeOutBounce",
          "declaration": {
            "name": "easeOutBounce",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInBounce",
          "declaration": {
            "name": "easeInBounce",
            "module": "src/easing/penner-easing-functions.ts"
          }
        },
        {
          "kind": "js",
          "name": "easeInOutBounce",
          "declaration": {
            "name": "easeInOutBounce",
            "module": "src/easing/penner-easing-functions.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/counter-aira.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CounterAiraMixinInterface",
          "members": [
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              }
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            }
          ]
        },
        {
          "kind": "mixin",
          "description": "",
          "name": "CounterAiraMixin",
          "members": [
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLive",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "attribute": "aira-live",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "生成 aria-label 属性值. 在每次更新完成后调用."
            }
          ],
          "attributes": [
            {
              "name": "aria-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "ariaLabel"
            },
            {
              "name": "aira-live",
              "type": {
                "text": "'off' | 'polite' | 'assertive'"
              },
              "default": "'polite'",
              "fieldName": "ariaLive"
            }
          ],
          "parameters": [
            {
              "name": "superClass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CounterAiraMixinInterface",
          "declaration": {
            "name": "CounterAiraMixinInterface",
            "module": "src/mixins/counter-aira.ts"
          }
        },
        {
          "kind": "js",
          "name": "CounterAiraMixin",
          "declaration": {
            "name": "CounterAiraMixin",
            "module": "src/mixins/counter-aira.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/counter-animation.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CounterAnimationMixinInterface",
          "members": [
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              }
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              }
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions",
              "return": {
                "type": {
                  "text": "KeyframeAnimationOptions[][]"
                }
              }
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              }
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              }
            },
            {
              "kind": "method",
              "name": "extractKeyframes",
              "return": {
                "type": {
                  "text": "PropertyIndexedKeyframes[][]"
                }
              }
            }
          ]
        },
        {
          "kind": "mixin",
          "description": "",
          "name": "CounterAnimationMixin",
          "members": [
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "attribute": "animation-options",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "animationOptionsDynamic",
              "type": {
                "text": "PartDigitGetter<KeyframeAnimationOptions> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "cachedAnimationOptions",
              "type": {
                "text": "(KeyframeAnimationOptions | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "extractAnimationOptions"
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "attribute": "keyframes",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "keyframesDynamic",
              "type": {
                "text": "PartDigitGetter<PropertyIndexedKeyframes> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "cachedKeyframes",
              "type": {
                "text": "(PropertyIndexedKeyframes | undefined)[][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "extractKeyframes"
            }
          ],
          "attributes": [
            {
              "name": "animation-options",
              "type": {
                "text": "PartDigitValueOrGetter<KeyframeAnimationOptions>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的选项.",
              "fieldName": "animationOptions"
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PartDigitValueOrGetter<PropertyIndexedKeyframes>"
              },
              "default": "{}",
              "description": "传递给 Web Animations API 的关键帧配置.",
              "fieldName": "keyframes"
            }
          ],
          "parameters": [
            {
              "name": "superClass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CounterAnimationMixinInterface",
          "declaration": {
            "name": "CounterAnimationMixinInterface",
            "module": "src/mixins/counter-animation.ts"
          }
        },
        {
          "kind": "js",
          "name": "CounterAnimationMixin",
          "declaration": {
            "name": "CounterAnimationMixin",
            "module": "src/mixins/counter-animation.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/counter-base.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CounterBaseMixinInterface",
          "members": [
            {
              "kind": "field",
              "name": "NUMBER_ADAPTER",
              "type": {
                "text": "NumberAdapter"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "STRING_ADAPTER",
              "type": {
                "text": "StringAdapter"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "V"
              }
            },
            {
              "kind": "field",
              "name": "oldValue",
              "type": {
                "text": "V"
              }
            },
            {
              "kind": "field",
              "name": "initialValue",
              "type": {
                "text": "V"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              }
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              }
            },
            {
              "kind": "field",
              "name": "locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n    | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              }
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              }
            }
          ]
        },
        {
          "kind": "mixin",
          "description": "",
          "name": "CounterBaseMixin",
          "members": [
            {
              "kind": "field",
              "name": "__value",
              "type": {
                "text": "V"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "__oldValue",
              "type": {
                "text": "V"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "oldValue",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "attribute": "old-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "__initialValue",
              "type": {
                "text": "V | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "initialValue",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "attribute": "initial-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "__locale",
              "type": {
                "text": "| Intl.UnicodeBCP47LocaleIdentifier\n      | [Intl.UnicodeBCP47LocaleIdentifier, Intl.LocaleOptions]"
              },
              "privacy": "private",
              "default": "'en-US'"
            },
            {
              "kind": "field",
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "attribute": "locale",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localeInstance",
              "type": {
                "text": "Intl.Locale"
              }
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'"
            },
            {
              "kind": "field",
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              }
            },
            {
              "kind": "field",
              "name": "numberAdapter",
              "type": {
                "text": "NumberAdapter"
              }
            },
            {
              "kind": "field",
              "name": "stringAdapter",
              "type": {
                "text": "StringAdapter"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "fieldName": "value"
            },
            {
              "name": "old-value",
              "description": "用于记录上一次的值.\n\n初始化时(connectedCallback), oldValue 将被设置为 `initialValue` 或 `value` 的值.",
              "fieldName": "oldValue"
            },
            {
              "name": "initial-value",
              "description": "如果初始值被设置, oldValue 的初始值, 会使用该值而不是 `value`.\n\n这对于初始化完成后启动动画效果非常有用.",
              "fieldName": "initialValue"
            },
            {
              "name": "locale",
              "description": "自定义本地化配置, 否则从浏览器环境中获取.",
              "default": "\"en-US\"",
              "fieldName": "locale"
            }
          ],
          "parameters": [
            {
              "name": "superClass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CounterBaseMixinInterface",
          "declaration": {
            "name": "CounterBaseMixinInterface",
            "module": "src/mixins/counter-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "CounterBaseMixin",
          "declaration": {
            "name": "CounterBaseMixin",
            "module": "src/mixins/counter-base.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/counter-parts.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CounterPartsMixinInterface",
          "members": [
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              }
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              }
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              }
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "Partial<PartsOptions>"
              }
            },
            {
              "kind": "method",
              "name": "sampling",
              "return": {
                "type": {
                  "text": "V[]"
                }
              },
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "return": {
                "type": {
                  "text": "V[][]"
                }
              },
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "V[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "V"
                  }
                }
              ]
            }
          ]
        },
        {
          "kind": "mixin",
          "description": "",
          "name": "CounterPartsMixin",
          "members": [
            {
              "kind": "field",
              "name": "DEFAULT_PARTS_OPTIONS",
              "type": {
                "text": "InnerPartsOptions"
              },
              "privacy": "private",
              "static": true,
              "default": "{ sampleCount: 16, decimalSeparator: '.', fillChar: '0', minPlaces: [1, 0], digitToChar: {}, type: 'number', }"
            },
            {
              "kind": "field",
              "name": "#__partsOptions",
              "privacy": "private",
              "type": {
                "text": "InnerPartsOptions"
              },
              "default": "{ ...CounterPartsMixinClass.DEFAULT_PARTS_OPTIONS, }"
            },
            {
              "kind": "field",
              "name": "partsOptions",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "attribute": "parts-options"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "oldParts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "sampling",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "V"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "V"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sampleSplit",
              "parameters": [
                {
                  "name": "samples",
                  "type": {
                    "text": "V[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sampleToString",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "V"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "processPartData",
              "privacy": "private",
              "description": "process:\n1. 采样\n2. 转换\n3. 构造"
            }
          ],
          "attributes": [
            {
              "name": "parts-options",
              "type": {
                "text": "InnerPartsOptions"
              },
              "description": "这是 `usePartData` 的配置项. `usePartData` 被用于从数值的变化中生成用于滚动的数据.\n这里不会有太多解释, 因为它是一个底层的配置项. 你可以查看 `CounterPartsMixinClass` 的源码了解更多信息.",
              "fieldName": "partsOptions"
            }
          ],
          "parameters": [
            {
              "name": "superClass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CounterPartsMixinInterface",
          "declaration": {
            "name": "CounterPartsMixinInterface",
            "module": "src/mixins/counter-parts.ts"
          }
        },
        {
          "kind": "js",
          "name": "CounterPartsMixin",
          "declaration": {
            "name": "CounterPartsMixin",
            "module": "src/mixins/counter-parts.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/mixins/counter-styles.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "CounterStylesMixinInterface",
          "members": [
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              }
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "method",
              "name": "extractCellStyles",
              "return": {
                "type": {
                  "text": "Partial<CSSStyleDeclaration>[][][]"
                }
              }
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              }
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "method",
              "name": "extractDigitStyles",
              "return": {
                "type": {
                  "text": "Partial<CSSStyleDeclaration>[][]"
                }
              }
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              }
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "method",
              "name": "extractPartStyles",
              "return": {
                "type": {
                  "text": "Partial<CSSStyleDeclaration>[]"
                }
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              }
            }
          ]
        },
        {
          "kind": "mixin",
          "description": "",
          "name": "CounterStylesMixin",
          "members": [
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "attribute": "cell-styles",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "cellStylesDynamic",
              "type": {
                "text": "PartDigitCellGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "cachedCellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "extractCellStyles"
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "attribute": "digit-styles",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "digitStylesDynamic",
              "type": {
                "text": "PartDigitGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "cachedDigitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "extractDigitStyles"
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "attribute": "part-styles",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "partStylesDynamic",
              "type": {
                "text": "PartGetter<Partial<CSSStyleDeclaration>> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "cachedPartStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration | undefined>[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "extractPartStyles"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "attribute": "color",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "cell-styles",
              "type": {
                "text": "PartDigitCellValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "对 `cell` 部分的样式进行设置. 传入的对象将被直接应用到 `cell` 的 `style` 上.\n你还可以使用 `cellStylesDynamic` 来动态设置样式.",
              "fieldName": "cellStyles"
            },
            {
              "name": "digit-styles",
              "type": {
                "text": "PartDigitValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `digit` 部分的样式进行设置.\n你还可以使用 `digitStylesDynamic` 来动态设置样式.",
              "fieldName": "digitStyles"
            },
            {
              "name": "part-styles",
              "type": {
                "text": "PartValueOrGetter<Partial<CSSStyleDeclaration>>"
              },
              "default": "{}",
              "description": "与 `cell` 类似, 但是是对 `part` 部分的样式进行设置.\n你还可以使用 `partStylesDynamic` 来动态设置样式.",
              "fieldName": "partStyles"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "'inherit'",
              "description": "文本颜色, 可使用 CSS 属性 `color` 和 `background-image` 的值.",
              "fieldName": "color"
            }
          ],
          "parameters": [
            {
              "name": "superClass",
              "type": {
                "text": "T"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CounterStylesMixinInterface",
          "declaration": {
            "name": "CounterStylesMixinInterface",
            "module": "src/mixins/counter-styles.ts"
          }
        },
        {
          "kind": "js",
          "name": "CounterStylesMixin",
          "declaration": {
            "name": "CounterStylesMixin",
            "module": "src/mixins/counter-styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/number-adapter/build-in-bigint.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "BuildInBigintAdapter",
          "deprecated": "true"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BuildInBigintAdapter",
          "declaration": {
            "name": "BuildInBigintAdapter",
            "module": "src/number-adapter/build-in-bigint.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/number-adapter/build-in-number.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "BuildInNumberAdapter"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BuildInNumberAdapter",
          "declaration": {
            "name": "BuildInNumberAdapter",
            "module": "src/number-adapter/build-in-number.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/number-adapter/decimal-js.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "DecimalJsAdapter",
          "parameters": [
            {
              "name": "config",
              "default": "{ precision: 1e3 }"
            }
          ]
        },
        {
          "kind": "function",
          "name": "register",
          "parameters": [
            {
              "name": "counterAdapter",
              "type": {
                "text": "typeof TimeredCounterAdapter"
              }
            },
            {
              "name": "config",
              "optional": true,
              "type": {
                "text": "Decimal.Config"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "register",
          "declaration": {
            "name": "register",
            "module": "src/number-adapter/decimal-js.ts"
          }
        },
        {
          "kind": "js",
          "name": "DecimalJsAdapter",
          "declaration": {
            "name": "DecimalJsAdapter",
            "module": "src/number-adapter/decimal-js.ts"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "module": "src/number-adapter/decimal-js.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/number-adapter/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./types.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./build-in-number.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./build-in-bigint.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/number-adapter/types.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/string-adapter/build-in-intl-segmenter.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "BuildInIntlSegmenterAdapter",
          "parameters": [
            {
              "name": "locales",
              "description": "本地化配置. 用于创建 {@link Intl.Segmenter}实例.\n "
            }
          ],
          "description": "使用内置的 `Intl.Segmenter` 将字符串转换为字符数组.\n\n要使用 BuildInIntlSegmenterAdapter 需要浏览器支持 `Intl.Segmenter`, 查看 [caniuse](https://caniuse.com/?search=Segmenter)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BuildInIntlSegmenterAdapter",
          "declaration": {
            "name": "BuildInIntlSegmenterAdapter",
            "module": "src/string-adapter/build-in-intl-segmenter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/string-adapter/build-in-string.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "BuildInStringAdapter",
          "description": "默认的字符串适配器. 该适配器使用内置的 `Array.from` 方法将字符串转换为字符数组.\n该方法可以正确处理包含单个的 emoji 字符的字符串[1]. 但对于由多个字符组合而成的 emoji 无能为力[2].\n\n要支持组合的 emoji 查看 BuildInIntlSegmenterAdapter, GraphemeSplitterAdapter.\n\n[1]: https://dev.to/acanimal/how-to-slice-or-get-symbols-from-a-unicode-string-with-emojis-in-javascript-lets-learn-how-javascript-represent-strings-h3a\n[2]: https://cestoliv.com/blog/how-to-count-emojis-with-javascript/"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BuildInStringAdapter",
          "declaration": {
            "name": "BuildInStringAdapter",
            "module": "src/string-adapter/build-in-string.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/string-adapter/grapheme-splitter.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "GraphemeSplitterAdapter",
          "description": "使用 `grapheme-splitter` 库的字符串适配器. 该适配器使用 `grapheme-splitter` 库将字符串转换为字符数组.\n\n要使用 GraphemeSplitterAdapter 需要安装 `grapheme-splitter`."
        },
        {
          "kind": "function",
          "name": "register",
          "parameters": [
            {
              "name": "counterAdapter",
              "type": {
                "text": "typeof TimeredCounterAdapter"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "register",
          "declaration": {
            "name": "register",
            "module": "src/string-adapter/grapheme-splitter.ts"
          }
        },
        {
          "kind": "js",
          "name": "GraphemeSplitterAdapter",
          "declaration": {
            "name": "GraphemeSplitterAdapter",
            "module": "src/string-adapter/grapheme-splitter.ts"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "module": "src/string-adapter/grapheme-splitter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/string-adapter/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./types.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./build-in-string.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./build-in-intl-segmenter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/string-adapter/types.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/styles/timered-counter-datetime-styles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "timeredCounterDatetimeStyles",
          "default": "css` ::part(part-suffix) { font-size: 0.4em; line-height: 1; } `"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "timeredCounterDatetimeStyles",
          "declaration": {
            "name": "timeredCounterDatetimeStyles",
            "module": "src/styles/timered-counter-datetime-styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/styles/timered-counter-number-styles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "timeredCounterNumberStyles",
          "default": "css``"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "timeredCounterNumberStyles",
          "declaration": {
            "name": "timeredCounterNumberStyles",
            "module": "src/styles/timered-counter-number-styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/styles/timered-counter-string-styles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "timeredCounterStringStyles",
          "default": "css``"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "timeredCounterStringStyles",
          "declaration": {
            "name": "timeredCounterStringStyles",
            "module": "src/styles/timered-counter-string-styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/styles/timered-counter-styles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "timeredCounterStyles",
          "default": "css` :host { position: relative; white-space: nowrap; display: inline-block; } //.timered-counter { // position: relative; // display: inline-flex; // overflow: hidden; // // /** // inline-block 和 overflow-hidden 同时存在会使得基线为下边缘. 手动设置 align-bottom 以修正这个问题. // @see https://stackoverflow.com/questions/22421782/css-overflow-hidden-increases-height-of-container // @see https://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align // */ // vertical-align: bottom; //} .timered-counter.debug { overflow: visible; } //.timered-counter-datetime-duration .duration-unit { // font-size: 0.4em; // line-height: 1; //} `"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "timeredCounterStyles",
          "declaration": {
            "name": "timeredCounterStyles",
            "module": "src/styles/timered-counter-styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/types/duration.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DurationPartMillisecond",
          "type": {
            "text": "{\n  [DurationPartType.Millisecond]: 1,\n  [DurationPartType.Second]: 1000,\n  [DurationPartType.Minute]: 60000,\n  [DurationPartType.Hour]: 3600000,\n  [DurationPartType.Day]: 86400000,\n  [DurationPartType.Week]: 604800000,\n  [DurationPartType.Month]: 2629800000,\n  [DurationPartType.Quarter]: 7889400000,\n  [DurationPartType.Year]: 31557600000,\n}"
          },
          "default": "{ [DurationPartType.Millisecond]: 1, [DurationPartType.Second]: 1000, [DurationPartType.Minute]: 60000, [DurationPartType.Hour]: 3600000, [DurationPartType.Day]: 86400000, [DurationPartType.Week]: 604800000, [DurationPartType.Month]: 2629800000, [DurationPartType.Quarter]: 7889400000, [DurationPartType.Year]: 31557600000, }"
        },
        {
          "kind": "variable",
          "name": "DurationPartMillisecondToType",
          "type": {
            "text": "{\n  1: DurationPartType.Millisecond,\n  1000: DurationPartType.Second,\n  60000: DurationPartType.Minute,\n  3600000: DurationPartType.Hour,\n  86400000: DurationPartType.Day,\n  604800000: DurationPartType.Week,\n  2629800000: DurationPartType.Month,\n  7889400000: DurationPartType.Quarter,\n  31557600000: DurationPartType.Year,\n}"
          },
          "default": "{ 1: DurationPartType.Millisecond, 1000: DurationPartType.Second, 60000: DurationPartType.Minute, 3600000: DurationPartType.Hour, 86400000: DurationPartType.Day, 604800000: DurationPartType.Week, 2629800000: DurationPartType.Month, 7889400000: DurationPartType.Quarter, 31557600000: DurationPartType.Year, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DurationPartMillisecond",
          "declaration": {
            "name": "DurationPartMillisecond",
            "module": "src/types/duration.ts"
          }
        },
        {
          "kind": "js",
          "name": "DurationPartMillisecondToType",
          "declaration": {
            "name": "DurationPartMillisecondToType",
            "module": "src/types/duration.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/types/group.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/types/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./duration.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "./group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/any-base.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "anyBase",
          "parameters": [
            {
              "name": "sa",
              "type": {
                "text": "StringAdapter"
              }
            },
            {
              "name": "srcAlphabet",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "dstAlphabet",
              "type": {
                "text": "string"
              }
            }
          ]
        },
        {
          "kind": "variable",
          "name": "BIN",
          "type": {
            "text": "string"
          },
          "default": "'01'"
        },
        {
          "kind": "variable",
          "name": "OCT",
          "type": {
            "text": "string"
          },
          "default": "'01234567'"
        },
        {
          "kind": "variable",
          "name": "DEC",
          "type": {
            "text": "string"
          },
          "default": "'0123456789'"
        },
        {
          "kind": "variable",
          "name": "HEX",
          "type": {
            "text": "string"
          },
          "default": "'0123456789abcdef'"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "anyBase",
          "declaration": {
            "name": "anyBase",
            "module": "src/utils/any-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "BIN",
          "declaration": {
            "name": "BIN",
            "module": "src/utils/any-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "OCT",
          "declaration": {
            "name": "OCT",
            "module": "src/utils/any-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "DEC",
          "declaration": {
            "name": "DEC",
            "module": "src/utils/any-base.ts"
          }
        },
        {
          "kind": "js",
          "name": "HEX",
          "declaration": {
            "name": "HEX",
            "module": "src/utils/any-base.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/duration.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "durationObject",
          "return": {
            "type": {
              "text": "{ [key in DurationPartType]?: number }"
            }
          },
          "parameters": [
            {
              "name": "start",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "end",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "parts",
              "type": {
                "text": "DurationPartType[]"
              }
            }
          ],
          "description": "计算两个日期之间的时间间隔. 返回一个数组, 包含 parts 每个部分的值."
        },
        {
          "kind": "function",
          "name": "duration",
          "return": {
            "type": {
              "text": "number[]"
            }
          },
          "parameters": [
            {
              "name": "start",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "end",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "parts",
              "type": {
                "text": "DurationPartType[]"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "durationObject",
          "declaration": {
            "name": "durationObject",
            "module": "src/utils/duration.ts"
          }
        },
        {
          "kind": "js",
          "name": "duration",
          "declaration": {
            "name": "duration",
            "module": "src/utils/duration.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/extract-group-option.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "extractGroupOption",
          "parameters": [
            {
              "name": "option",
              "type": {
                "text": "P"
              }
            },
            {
              "name": "getterOptions",
              "type": {
                "text": "GroupGetterOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "extractPartOption",
          "parameters": [
            {
              "name": "option",
              "type": {
                "text": "P"
              }
            },
            {
              "name": "getterOptions",
              "type": {
                "text": "GroupGetterOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "extractPartDigitOption",
          "parameters": [
            {
              "name": "option",
              "type": {
                "text": "P"
              }
            },
            {
              "name": "getterOptions",
              "type": {
                "text": "GroupGetterOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "extractPartDigitCellOption",
          "parameters": [
            {
              "name": "option",
              "type": {
                "text": "P"
              }
            },
            {
              "name": "getterOptions",
              "type": {
                "text": "GroupGetterOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "mergeGroupOption",
          "return": {
            "type": {
              "text": "Result"
            }
          },
          "parameters": [
            {
              "name": "data",
              "type": {
                "text": "Result"
              }
            },
            {
              "name": "source",
              "type": {
                "text": "Result"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "mergePartOption",
          "return": {
            "type": {
              "text": "Result[]"
            }
          },
          "parameters": [
            {
              "name": "data",
              "default": "[]",
              "type": {
                "text": "Result[]"
              }
            },
            {
              "name": "source",
              "default": "[]",
              "type": {
                "text": "Result[]"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "mergePartDigitOption",
          "return": {
            "type": {
              "text": "Result[][]"
            }
          },
          "parameters": [
            {
              "name": "data",
              "default": "[]",
              "type": {
                "text": "Result[][]"
              }
            },
            {
              "name": "source",
              "default": "[]",
              "type": {
                "text": "Result[][]"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "mergePartDigitCellOption",
          "return": {
            "type": {
              "text": "Result[][][]"
            }
          },
          "parameters": [
            {
              "name": "data",
              "default": "[]",
              "type": {
                "text": "Result[][][]"
              }
            },
            {
              "name": "source",
              "default": "[]",
              "type": {
                "text": "Result[][][]"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "extractGroupOption",
          "declaration": {
            "name": "extractGroupOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "extractPartOption",
          "declaration": {
            "name": "extractPartOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "extractPartDigitOption",
          "declaration": {
            "name": "extractPartDigitOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "extractPartDigitCellOption",
          "declaration": {
            "name": "extractPartDigitCellOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "mergeGroupOption",
          "declaration": {
            "name": "mergeGroupOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "mergePartOption",
          "declaration": {
            "name": "mergePartOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "mergePartDigitOption",
          "declaration": {
            "name": "mergePartDigitOption",
            "module": "src/utils/extract-group-option.ts"
          }
        },
        {
          "kind": "js",
          "name": "mergePartDigitCellOption",
          "declaration": {
            "name": "mergePartDigitCellOption",
            "module": "src/utils/extract-group-option.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/iso8601-duration.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "iso8601Duration",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "duration",
              "type": {
                "text": "{\n  [key in DurationPartType]?: number;\n}"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "iso8601Duration",
          "declaration": {
            "name": "iso8601Duration",
            "module": "src/utils/iso8601-duration.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/localized-date-time-fields.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DateTimeFields",
          "type": {
            "text": "[\n  \"era\",\n  \"year\",\n  \"quarter\",\n  \"month\",\n  \"weekOfYear\",\n  \"weekday\",\n  \"day\",\n  \"dayPeriod\",\n  \"hour\",\n  \"minute\",\n  \"second\",\n  \"timeZoneName\",\n]"
          },
          "default": "[ \"era\", \"year\", \"quarter\", \"month\", \"weekOfYear\", \"weekday\", \"day\", \"dayPeriod\", \"hour\", \"minute\", \"second\", \"timeZoneName\", ]"
        },
        {
          "kind": "function",
          "name": "getLocalizedDateTimeFields",
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "Intl.Locale"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DateTimeFields",
          "declaration": {
            "name": "DateTimeFields",
            "module": "src/utils/localized-date-time-fields.ts"
          }
        },
        {
          "kind": "js",
          "name": "getLocalizedDateTimeFields",
          "declaration": {
            "name": "getLocalizedDateTimeFields",
            "module": "src/utils/localized-date-time-fields.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/parse-json-string.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "parseJsonString",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseJsonString",
          "declaration": {
            "name": "parseJsonString",
            "module": "src/utils/parse-json-string.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/polyfill-keyframes.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "polyfillKeyframes",
          "return": {
            "type": {
              "text": "Keyframe[]"
            }
          },
          "parameters": [
            {
              "name": "keyframes",
              "type": {
                "text": "Keyframe[] | PropertyIndexedKeyframes"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "polyfillKeyframes",
          "declaration": {
            "name": "polyfillKeyframes",
            "module": "src/utils/polyfill-keyframes.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/preprocess-part-data.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "preprocessPartData",
          "parameters": [
            {
              "name": "newDirection",
              "type": {
                "text": "'up' | 'down'"
              }
            },
            {
              "name": "newData",
              "type": {
                "text": "PartData[]"
              }
            },
            {
              "name": "oldDirection",
              "type": {
                "text": "'up' | 'down'"
              }
            },
            {
              "name": "oldData",
              "type": {
                "text": "PartData[]"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "preprocessPartData",
          "declaration": {
            "name": "preprocessPartData",
            "module": "src/utils/preprocess-part-data.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/transition-digit.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "transitionDigit",
          "parameters": [
            {
              "name": "na",
              "type": {
                "text": "NS"
              }
            },
            {
              "name": "from",
              "type": {
                "text": "V"
              }
            },
            {
              "name": "to",
              "type": {
                "text": "V"
              }
            },
            {
              "name": "count",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "transitionDigit",
          "declaration": {
            "name": "transitionDigit",
            "module": "src/utils/transition-digit.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/utils/uuid.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "uuid"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "uuid",
          "declaration": {
            "name": "uuid",
            "module": "src/utils/uuid.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/animation-events.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "animationEvents",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    list = range(0, 5).map(v => v * 10) as T[],\n    setBy,\n    equal = _equal,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list?: T[];\n    setBy: (counter: TC, key: string, value: T) => void;\n    equal?: (counter: TimeredCounter, a: any, b: any) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "animationEvents",
          "declaration": {
            "name": "animationEvents",
            "module": "stories/story-parts/animation-events.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/animation-options.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "animationOptions",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    list = [114514] as T[],\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list?: T[];\n    setBy: (counter: TC, key: string, value: T) => void;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "animationOptions",
          "declaration": {
            "name": "animationOptions",
            "module": "stories/story-parts/animation-options.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/big-number.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "bigNumber",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n    equal = _equal,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    setBy: (counter: TC, key: string, value: string) => void;\n    equal?: (counter: TimeredCounter, a: any, b: any) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "bigNumber",
          "declaration": {
            "name": "bigNumber",
            "module": "stories/story-parts/big-number.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/datetime-locale.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "datetimeLocale",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    setBy: (counter: TC, key: string, value: Date[] | string) => void;\n    equal: (counter: TimeredCounter, a: any, b: Date[]) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "datetimeLocale",
          "declaration": {
            "name": "datetimeLocale",
            "module": "stories/story-parts/datetime-locale.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/datetime-precision.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "datetimePrecision",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    setBy: (counter: TC, key: string, value: Date[] | string) => void;\n    equal: (counter: TimeredCounter, a: any, b: Date[]) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "datetimePrecision",
          "declaration": {
            "name": "datetimePrecision",
            "module": "stories/story-parts/datetime-precision.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/edge-case.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "edgeCase",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    list,\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list: [label: string, value: T, expectedValue: T][];\n    setBy: (counter: TC, key: string, value: T) => void;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "edgeCase",
          "declaration": {
            "name": "edgeCase",
            "module": "stories/story-parts/edge-case.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/emoji.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "emoji",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n    list,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list: string[];\n    setBy: (counter: TC, key: string, value: string) => void;\n    equal?: (counter: TimeredCounter, a: any, b: string) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "emoji",
          "declaration": {
            "name": "emoji",
            "module": "stories/story-parts/emoji.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/locale-number.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "localeNumber",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    setBy: (counter: TC, key: string, value: string) => void;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "localeNumber",
          "declaration": {
            "name": "localeNumber",
            "module": "stories/story-parts/locale-number.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/slots.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "render",
          "parameters": [
            {
              "name": "args",
              "type": {
                "text": "any"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "slots",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list?: T[];\n    setBy?: (counter: TC, key: string, value: T) => void;\n    equal?: (counter: TimeredCounter, a: any, b: T) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "render",
          "declaration": {
            "name": "render",
            "module": "stories/story-parts/slots.ts"
          }
        },
        {
          "kind": "js",
          "name": "slots",
          "declaration": {
            "name": "slots",
            "module": "stories/story-parts/slots.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/styles.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "styles",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    setBy,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    setBy: (counter: TC, key: string, value: string) => void;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles",
            "module": "stories/story-parts/styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/story-parts/value-change.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "valueChange",
          "parameters": [
            {
              "name": "context",
              "type": {
                "text": "Parameters<NoUndefinedField<StoryObj>['play']>[0]"
              }
            },
            {
              "name": "{\n    counter,\n    list = range(0, 5).map(v => v * 10) as T[],\n    setBy,\n    equal = _equal,\n  }",
              "type": {
                "text": "{\n    counter: TC;\n    list?: T[];\n    setBy: (counter: TC, key: string, value: T) => void;\n    equal?: (counter: TimeredCounter, a: any, b: T) => Promise<void>;\n  }"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "valueChange",
          "declaration": {
            "name": "valueChange",
            "module": "stories/story-parts/value-change.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter/decimaljs.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounter/with decimal.js', component: 'timered-counter', tags: ['autodocs', 'timered-counter'], parameters: { controls: { expanded: true }, }, beforeEach: () => { TimeredCounterAdapter.registryAdapter(DecimalJsNumberAdapter); TimeredCounterAdapter.setNumberAdapter('decimal.js'); }, }"
        },
        {
          "kind": "variable",
          "name": "BigNumber",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => bigNumber(context, { counter, setBy: setByAttr }), ); await step('Testing with property', async () => bigNumber(context, { counter, setBy: setByProp }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter/decimaljs.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Slots",
          "declaration": {
            "name": "Slots",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "BigNumber",
          "declaration": {
            "name": "BigNumber",
            "module": "stories/timered-counter/decimaljs.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter/index.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounter', component: 'timered-counter', tags: ['autodocs', 'timered-counter'], parameters: { controls: { expanded: true }, }, beforeEach: () => { setNumberAdapter('number'); }, globals: { setByAttr, setByProp, }, }"
        },
        {
          "kind": "variable",
          "name": "Basic",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', // @ts-ignore value: '0', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await valueChange(context, { counter, setBy: setByAttr, }); await step('Edge case', async () => edgeCase(context, { counter, list: [ ['Setting an empty string', '', '0'], ['Setting a non-number', 'a', '0'], ['Setting a decimal number', '1.1', '1.1'], ['Setting a negative number', '-1', '-1'], ['Setting Infinity', 'Infinity', '0'], ['Setting NaN', 'NaN', '0'], ['Setting null', 'null', '0'], ['Setting undefined', 'undefined', '0'], ['Setting true', 'true', '0'], ['Setting false', 'false', '0'], ['Setting an object', '{}', '0'], ['Setting an array', '[]', '0'], ['Setting a function', '() => {}', '0'], ['Setting a Symbol', 'Symbol()', '0'], ['Setting a BigInt', 'BigInt(1)', '0'], ], setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await valueChange(context, { counter, setBy: setByProp }); await step('Edge case', async () => edgeCase(context, { counter, list: [ ['Setting an empty string', '', 0], ['Setting a non-number', 'a', 0], ['Setting a decimal number', '1.1', 1.1], ['Setting a negative number', '-1', -1], ['Setting Infinity', 'Infinity', 0], ['Setting NaN', 'NaN', 0], ['Setting null', 'null', 0], ['Setting undefined', 'undefined', 0], ['Setting true', 'true', 0], ['Setting false', 'false', 0], ['Setting an object', '{}', 0], ['Setting an array', '[]', 0], ['Setting a function', '() => {}', 0], ['Setting a Symbol', 'Symbol()', 0], ['Setting a BigInt', 'BigInt(1)', 0], ], setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Animation events', async () => animationEvents(context, { counter, setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await step('Animation events', async () => animationEvents(context, { counter, setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "AnimationOptions",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Animation options', async () => animationOptions(context, { counter, setBy: setByAttr, }), ); }); // await step('Testing with property', async () => { // await step('Animation options', async () => // animationOptions(context, { // counter, // list, // setBy: setByProp, // }), // ); // }); }, }"
        },
        {
          "kind": "variable",
          "name": "Styles",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Styles', async () => styles(context, { counter, setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await step('Styles', async () => styles(context, { counter, setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "Slots",
          "type": {
            "text": "StoryObj<TimeredCounter>"
          },
          "default": "{ args: { className: 'test-target', value: 0, }, render: slotsRender, async play(context) { const { canvasElement } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await slots(context, { counter }); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "stories/timered-counter/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "stories/timered-counter/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "stories/timered-counter/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Slots",
          "declaration": {
            "name": "Slots",
            "module": "stories/timered-counter/index.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-datetime-duration/index.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterDatetimeDuration', component: 'timered-counter-datetime-duration', tags: ['autodocs', 'timered-counter-datetime-duration'], parameters: { controls: { expanded: true }, }, beforeEach: () => { setNumberAdapter('number'); }, }"
        },
        {
          "kind": "variable",
          "name": "Basic",
          "type": {
            "text": "StoryObj<TimeredCounterDatetimeDuration>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounterDatetimeDuration; const list = [ ...range(0, 2).map(v => [new Date(), addSeconds(new Date(), v)]), ...range(0, 2).map(v => [new Date(), addMinutes(new Date(), v)]), ...range(0, 2).map(v => [new Date(), addHours(new Date(), v)]), ...range(0, 2).map(v => [new Date(), addDays(new Date(), v)]), ...range(0, 2).map(v => [new Date(), addMonths(new Date(), v)]), ...range(0, 2).map(v => [new Date(), addYears(new Date(), v)]), ]; await step('Testing with attribute', async () => { await valueChange(context, { counter, list, setBy: setByAttr, equal }); }); await step('Testing with property', async () => { await valueChange(context, { counter, list, setBy: setByProp, equal }); }); }, }"
        },
        {
          "kind": "variable",
          "name": "Precision",
          "type": {
            "text": "StoryObj<TimeredCounterDatetimeDuration>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounterDatetimeDuration; await step('Testing with attribute', async () => datetimePrecision(context, { counter, setBy: setByAttr, equal }), ); await step('Testing with property', async () => datetimePrecision(context, { counter, setBy: setByProp, equal }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "Locale",
          "type": {
            "text": "StoryObj<TimeredCounterDatetimeDuration>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounterDatetimeDuration; await step('Testing with attribute', () => datetimeLocale(context, { counter, setBy: setByAttr, equal }), ); await step('Testing with property', () => datetimeLocale(context, { counter, setBy: setByProp, equal }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-datetime-duration/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "stories/timered-counter-datetime-duration/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Precision",
          "declaration": {
            "name": "Precision",
            "module": "stories/timered-counter-datetime-duration/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Locale",
          "declaration": {
            "name": "Locale",
            "module": "stories/timered-counter-datetime-duration/index.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-number/decimaljs.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterNumber/with decimal.js', component: 'timered-counter-number', tags: ['autodocs', 'timered-counter-number'], parameters: { controls: { expanded: true }, }, beforeEach: () => { TimeredCounterAdapter.registryAdapter(DecimalJsNumberAdapter); TimeredCounterAdapter.setNumberAdapter('decimal.js'); }, }"
        },
        {
          "kind": "variable",
          "name": "BigNumber",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => bigNumber(context, { counter, setBy: setByAttr }), ); await step('Testing with property', async () => bigNumber(context, { counter, setBy: setByProp }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "LocaleNumber",
          "declaration": {
            "name": "LocaleNumber",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-number/decimaljs.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "BigNumber",
          "declaration": {
            "name": "BigNumber",
            "module": "stories/timered-counter-number/decimaljs.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-number/index.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterNumber', component: 'timered-counter-number', tags: ['autodocs', 'timered-counter-number'], parameters: { controls: { expanded: true }, }, beforeEach: () => { setNumberAdapter('number'); }, }"
        },
        {
          "kind": "variable",
          "name": "Basic",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', // @ts-ignore value: '0', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await valueChange(context, { counter, setBy: setByAttr, }); await step('Edge case', async () => edgeCase(context, { counter, list: [ ['Setting an empty string', '', '0'], ['Setting a non-number', 'a', '0'], ['Setting a decimal number', '1.1', '1.1'], ['Setting a negative number', '-1', '-1'], ['Setting Infinity', 'Infinity', '0'], ['Setting NaN', 'NaN', '0'], ['Setting null', 'null', '0'], ['Setting undefined', 'undefined', '0'], ['Setting true', 'true', '0'], ['Setting false', 'false', '0'], ['Setting an object', '{}', '0'], ['Setting an array', '[]', '0'], ['Setting a function', '() => {}', '0'], ['Setting a Symbol', 'Symbol()', '0'], ['Setting a BigInt', 'BigInt(1)', '0'], ], setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await valueChange(context, { counter, setBy: setByProp }); await step('Edge case', async () => edgeCase(context, { counter, list: [ ['Setting an empty string', '', 0], ['Setting a non-number', 'a', 0], ['Setting a decimal number', '1.1', 1.1], ['Setting a negative number', '-1', -1], ['Setting Infinity', 'Infinity', 0], ['Setting NaN', 'NaN', 0], ['Setting null', 'null', 0], ['Setting undefined', 'undefined', 0], ['Setting true', 'true', 0], ['Setting false', 'false', 0], ['Setting an object', '{}', 0], ['Setting an array', '[]', 0], ['Setting a function', '() => {}', 0], ['Setting a Symbol', 'Symbol()', 0], ['Setting a BigInt', 'BigInt(1)', 0], ], setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Animation events', async () => animationEvents(context, { counter, setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await step('Animation events', async () => animationEvents(context, { counter, setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "AnimationOptions",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Animation options', async () => animationOptions(context, { counter, setBy: setByAttr, }), ); }); // await step('Testing with property', async () => { // await step('Animation options', async () => // animationOptions(context, { // counter, // list, // setBy: setByProp, // }), // ); // }); }, }"
        },
        {
          "kind": "variable",
          "name": "Styles",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Styles', async () => styles(context, { counter, setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await step('Styles', async () => styles(context, { counter, setBy: setByProp, }), ); }); }, }"
        },
        {
          "kind": "variable",
          "name": "LocaleNumber",
          "type": {
            "text": "StoryObj<TimeredCounterNumber>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => { await step('Locale number', async () => localeNumber(context, { counter, setBy: setByAttr, }), ); }); await step('Testing with property', async () => { await step('Locale number', async () => localeNumber(context, { counter, setBy: setByProp, }), ); }); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "LocaleNumber",
          "declaration": {
            "name": "LocaleNumber",
            "module": "stories/timered-counter-number/index.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-string/decimaljs.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterString/with decimal.js', component: 'timered-counter-string', tags: ['autodocs', 'timered-counter-string'], parameters: { controls: { expanded: true }, }, beforeEach: () => { TimeredCounterAdapter.registryAdapter(DecimalJsNumberAdapter); TimeredCounterAdapter.setNumberAdapter('decimal.js'); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; const list = range(0, 5).map(() => faker.lorem.sentence({ min: 1, max: 2 }), ); await step('Testing with attribute', () => animationEvents(context, { counter, list, setBy: setByAttr, equal }), ); await step('Testing with property', () => animationEvents(context, { counter, list, setBy: setByProp, equal }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "BigNumber",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => bigNumber(context, { counter, setBy: setByAttr, equal }), ); await step('Testing with property', async () => bigNumber(context, { counter, setBy: setByProp, equal }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Emoji",
          "declaration": {
            "name": "Emoji",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-string/decimaljs.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter-string/decimaljs.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "BigNumber",
          "declaration": {
            "name": "BigNumber",
            "module": "stories/timered-counter-string/decimaljs.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-string/grapheme-splitter.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterString/with grapheme-splitter', component: 'timered-counter-string', tags: ['autodocs', 'timered-counter-string'], parameters: { controls: { expanded: true }, }, beforeEach: () => { TimeredCounterAdapter.registryAdapter(DecimalJsNumberAdapter); TimeredCounterAdapter.registryAdapter(GraphemeSplitterStringAdapter); TimeredCounterAdapter.setNumberAdapter('decimal.js'); TimeredCounterAdapter.setStringAdapter('grapheme-splitter'); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; const list = range(0, 5).map(() => faker.lorem.sentence({ min: 1, max: 2 }), ); await step('Testing with attribute', () => animationEvents(context, { counter, list, setBy: setByAttr, equal }), ); await step('Testing with property', () => animationEvents(context, { counter, list, setBy: setByProp, equal }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "BigNumber",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => bigNumber(context, { counter, setBy: setByAttr, equal }), ); await step('Testing with property', async () => bigNumber(context, { counter, setBy: setByProp, equal }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Emoji",
          "declaration": {
            "name": "Emoji",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-string/grapheme-splitter.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter-string/grapheme-splitter.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "BigNumber",
          "declaration": {
            "name": "BigNumber",
            "module": "stories/timered-counter-string/grapheme-splitter.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-string/index.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterString', component: 'timered-counter-string', tags: ['autodocs', 'timered-counter-string'], parameters: { controls: { expanded: true }, }, beforeEach: () => { setNumberAdapter('number'); }, }"
        },
        {
          "kind": "variable",
          "name": "Basic",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounterString; const list: string[] = [ 'Hello, World!', '你好，世界！', 'こんにちは、世界！', '안녕하세요, 세계!', // 太长了 // \"Bonjour, le monde!\", 'Hallo, Welt!', 'Ciao, mondo!', 'Olá, mundo!', 'Привет, мир!', // '¡Hola, mundo!', // 'Hej, världen!', // 'Merhaba, Dünya!', // 'مرحبا بالعالم!', // 'שלום, עולם!', // 'नमस्ते, दुनिया!', // 'سلام دنیا!', ]; await step('Testing with attribute', async () => { await valueChange(context, { counter, list, setBy: setByAttr, equal }); }); await step('Testing with property', async () => { await valueChange(context, { counter, list, setBy: setByProp, equal }); }); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; const list = range(0, 5).map(() => faker.lorem.word({ length: { min: 5, max: 10 } }), ); await step('Testing with attribute', () => animationEvents(context, { counter, list, setBy: setByAttr, equal }), ); await step('Testing with property', () => animationEvents(context, { counter, list, setBy: setByProp, equal }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "AnimationOptions",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', () => animationOptions(context, { counter, setBy: setByAttr }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "Styles",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', () => styles(context, { counter, setBy: setByAttr }), ); await step('Testing with property', () => styles(context, { counter, setBy: setByProp }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "Emoji",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, // partsOptions: { // fillChar: '1', // }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; const list: string[] = ['⌚', '↔️', '👩', '👩🏿', '🧑‍💻']; await step('Testing with attribute', () => emoji(context, { counter, list, setBy: setByAttr, equal }), ); await step('Testing with property', () => emoji(context, { counter, list, setBy: setByProp, equal }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Emoji",
          "declaration": {
            "name": "Emoji",
            "module": "stories/timered-counter-string/index.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/timered-counter-string/intl-segmenter.stories.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "meta",
          "type": {
            "text": "Meta"
          },
          "default": "{ title: 'TimeredCounterString/with Intl Segmenter', component: 'timered-counter-string', tags: ['autodocs', 'timered-counter-string'], parameters: { controls: { expanded: true }, }, beforeEach: () => { TimeredCounterAdapter.registryAdapter(DecimalJsNumberAdapter); TimeredCounterAdapter.setNumberAdapter('decimal.js'); TimeredCounterAdapter.setStringAdapter('intl-segmenter'); }, }"
        },
        {
          "kind": "variable",
          "name": "Events",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100 }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; const list = range(0, 5).map(() => faker.lorem.sentence({ min: 1, max: 2 }), ); await step('Testing with attribute', () => animationEvents(context, { counter, list, setBy: setByAttr, equal }), ); await step('Testing with property', () => animationEvents(context, { counter, list, setBy: setByProp, equal }), ); }, }"
        },
        {
          "kind": "variable",
          "name": "BigNumber",
          "type": {
            "text": "StoryObj<TimeredCounterString>"
          },
          "default": "{ args: { className: 'test-target', animationOptions: { duration: 100, }, }, async play(context) { const { canvasElement, step } = context; const counter = canvasElement.querySelector( '.test-target', ) as TimeredCounter; await step('Testing with attribute', async () => bigNumber(context, { counter, setBy: setByAttr, equal }), ); await step('Testing with property', async () => bigNumber(context, { counter, setBy: setByProp, equal }), ); }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Basic",
          "declaration": {
            "name": "Basic",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "AnimationOptions",
          "declaration": {
            "name": "AnimationOptions",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Styles",
          "declaration": {
            "name": "Styles",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "Emoji",
          "declaration": {
            "name": "Emoji",
            "module": "./index.stories.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "meta",
            "module": "stories/timered-counter-string/intl-segmenter.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "Events",
          "declaration": {
            "name": "Events",
            "module": "stories/timered-counter-string/intl-segmenter.stories.ts"
          }
        },
        {
          "kind": "js",
          "name": "BigNumber",
          "declaration": {
            "name": "BigNumber",
            "module": "stories/timered-counter-string/intl-segmenter.stories.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "stories/utils/index.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "equal",
          "parameters": [
            {
              "name": "counter",
              "type": {
                "text": "TimeredCounter"
              }
            },
            {
              "name": "a",
              "type": {
                "text": "any"
              }
            },
            {
              "name": "b",
              "type": {
                "text": "any"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setByAttr",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "TimeredCounter"
              }
            },
            {
              "name": "attr",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "any"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setByProp",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "TimeredCounter"
              }
            },
            {
              "name": "prop",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "any"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "sleep",
          "parameters": [
            {
              "name": "ms",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "equal",
          "declaration": {
            "name": "equal",
            "module": "stories/utils/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "setByAttr",
          "declaration": {
            "name": "setByAttr",
            "module": "stories/utils/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "setByProp",
          "declaration": {
            "name": "setByProp",
            "module": "stories/utils/index.ts"
          }
        },
        {
          "kind": "js",
          "name": "sleep",
          "declaration": {
            "name": "sleep",
            "module": "stories/utils/index.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/transitions/roller/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterRoller",
          "declaration": {
            "name": "TimeredCounterRoller",
            "module": "./roller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/transitions/roller/roller-digit.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterRollerDigit",
          "members": [
            {
              "kind": "field",
              "name": "digit",
              "type": {
                "text": "PartDataDigit"
              },
              "default": "{ data: [], place: 0 }",
              "attribute": "digit"
            },
            {
              "kind": "field",
              "name": "preprocessData",
              "type": {
                "text": "PartPreprocessedData"
              },
              "default": "{ animate: true, cancelPrevAnimation: false, earlyReturn: '', index: 0, partIndex: 0, digitIndex: 0, }",
              "attribute": "preprocessData"
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "attribute": "direction"
            },
            {
              "kind": "field",
              "name": "textStyle",
              "type": {
                "text": "Partial<CSSStyleDeclaration>"
              },
              "default": "{}",
              "attribute": "textStyle"
            },
            {
              "kind": "field",
              "name": "cellStyle",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[]"
              },
              "default": "[]",
              "attribute": "cellStyle"
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "KeyframeAnimationOptions"
              },
              "default": "{}",
              "attribute": "animationOptions"
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PropertyIndexedKeyframes"
              },
              "default": "{}",
              "attribute": "keyframes"
            },
            {
              "kind": "field",
              "name": "clonedRollDigitList",
              "type": {
                "text": "HTMLElement | undefined"
              }
            },
            {
              "kind": "field",
              "name": "rollList",
              "type": {
                "text": "HTMLElement | undefined"
              }
            },
            {
              "kind": "field",
              "name": "digitWidth",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "default": "new ResizeObserver(() => { this.digitWidth = this.clonedRollDigitList ? this.clonedRollDigitList.offsetWidth : 0; })"
            },
            {
              "kind": "field",
              "name": "animation",
              "type": {
                "text": "Animation | undefined"
              }
            },
            {
              "kind": "method",
              "name": "shouldAnimate"
            },
            {
              "kind": "method",
              "name": "startAnimation"
            },
            {
              "kind": "method",
              "name": "clearAnimation"
            },
            {
              "kind": "method",
              "name": "__emitAnimationStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__emitAnimationEnd",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "roller-digit-animation-start",
              "type": {
                "text": "RollerDigitAnimationEvent"
              }
            },
            {
              "name": "roller-digit-animation-end",
              "type": {
                "text": "RollerDigitAnimationEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "digit",
              "type": {
                "text": "PartDataDigit"
              },
              "default": "{ data: [], place: 0 }",
              "fieldName": "digit"
            },
            {
              "name": "preprocessData",
              "type": {
                "text": "PartPreprocessedData"
              },
              "default": "{ animate: true, cancelPrevAnimation: false, earlyReturn: '', index: 0, partIndex: 0, digitIndex: 0, }",
              "fieldName": "preprocessData"
            },
            {
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "fieldName": "direction"
            },
            {
              "name": "textStyle",
              "type": {
                "text": "Partial<CSSStyleDeclaration>"
              },
              "default": "{}",
              "fieldName": "textStyle"
            },
            {
              "name": "cellStyle",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[]"
              },
              "default": "[]",
              "fieldName": "cellStyle"
            },
            {
              "name": "animationOptions",
              "type": {
                "text": "KeyframeAnimationOptions"
              },
              "default": "{}",
              "fieldName": "animationOptions"
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PropertyIndexedKeyframes"
              },
              "default": "{}",
              "fieldName": "keyframes"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "timered-counter-roller-digit",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterRollerDigit",
          "declaration": {
            "name": "TimeredCounterRollerDigit",
            "module": "src/transitions/roller/roller-digit.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter-roller-digit",
          "declaration": {
            "name": "TimeredCounterRollerDigit",
            "module": "src/transitions/roller/roller-digit.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/transitions/roller/roller.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "TimeredCounterRoller",
          "members": [
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "attribute": "direction"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "attribute": "parts"
            },
            {
              "kind": "field",
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "attribute": "partPreprocessDataList"
            },
            {
              "kind": "field",
              "name": "animationOptions",
              "type": {
                "text": "KeyframeAnimationOptions[][]"
              },
              "default": "[]",
              "attribute": "animationOptions"
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "PropertyIndexedKeyframes[][]"
              },
              "default": "[]",
              "attribute": "keyframes"
            },
            {
              "kind": "field",
              "name": "cellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[][][]"
              },
              "default": "[]",
              "attribute": "cellStyles"
            },
            {
              "kind": "field",
              "name": "digitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[][]"
              },
              "default": "[]",
              "attribute": "digitStyles"
            },
            {
              "kind": "field",
              "name": "partStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[]"
              },
              "default": "[]",
              "attribute": "partStyles"
            },
            {
              "kind": "field",
              "name": "parentContainerRect",
              "type": {
                "text": "DOMRect"
              },
              "default": "{}",
              "attribute": "parentContainerRect"
            },
            {
              "kind": "field",
              "name": "prefixContainer",
              "type": {
                "text": "HTMLElement | undefined"
              }
            },
            {
              "kind": "field",
              "name": "suffixContainer",
              "type": {
                "text": "HTMLElement | undefined"
              }
            },
            {
              "kind": "field",
              "name": "__partDigitsColorStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "digitAnimateEndCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "记录一次更新中, 启动动画并结束的 <timered-counter-roller-digit> 元素个数.\n\n在每次更新前重置为 0."
            },
            {
              "kind": "field",
              "name": "digitAnimatedCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "记录一次更新中, 需要启动动画的 <timered-counter-roller-digit> 元素总数.\n\n在每次更新前重新计算."
            },
            {
              "kind": "method",
              "name": "__handleDigitAnimationEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__emitAnimationStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__emitAnimationEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "__generatePartDigitsColorStyles",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "roller-animation-start",
              "type": {
                "text": "RollerAnimationEvent"
              }
            },
            {
              "name": "roller-animation-end",
              "type": {
                "text": "RollerAnimationEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "color"
            },
            {
              "name": "direction",
              "type": {
                "text": "'up' | 'down'"
              },
              "default": "'up'",
              "fieldName": "direction"
            },
            {
              "name": "parts",
              "type": {
                "text": "PartData[]"
              },
              "default": "[]",
              "fieldName": "parts"
            },
            {
              "name": "partPreprocessDataList",
              "type": {
                "text": "PartPreprocessedData[][]"
              },
              "default": "[]",
              "fieldName": "partPreprocessDataList"
            },
            {
              "name": "animationOptions",
              "type": {
                "text": "KeyframeAnimationOptions[][]"
              },
              "default": "[]",
              "fieldName": "animationOptions"
            },
            {
              "name": "keyframes",
              "type": {
                "text": "PropertyIndexedKeyframes[][]"
              },
              "default": "[]",
              "fieldName": "keyframes"
            },
            {
              "name": "cellStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[][][]"
              },
              "default": "[]",
              "fieldName": "cellStyles"
            },
            {
              "name": "digitStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[][]"
              },
              "default": "[]",
              "fieldName": "digitStyles"
            },
            {
              "name": "partStyles",
              "type": {
                "text": "Partial<CSSStyleDeclaration>[]"
              },
              "default": "[]",
              "fieldName": "partStyles"
            },
            {
              "name": "parentContainerRect",
              "type": {
                "text": "DOMRect"
              },
              "default": "{}",
              "fieldName": "parentContainerRect"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "timered-counter-roller",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TimeredCounterRoller",
          "declaration": {
            "name": "TimeredCounterRoller",
            "module": "src/transitions/roller/roller.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "timered-counter-roller",
          "declaration": {
            "name": "TimeredCounterRoller",
            "module": "src/transitions/roller/roller.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/transitions/roller/styles.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "rollerStyles",
          "default": "css` :host { display: inline-flex; overflow: hidden; /** inline-block 和 overflow-hidden 同时存在会使得基线为下边缘. 手动设置 align-bottom 以修正这个问题. @see https://stackoverflow.com/questions/22421782/css-overflow-hidden-increases-height-of-container @see https://www.w3.org/TR/CSS2/visudet.html#propdef-vertical-align */ vertical-align: bottom; } .counter-parts { display: inline-flex; flex: 1 1 auto; } .roller-part { display: inline-flex; white-space: nowrap; } .roller__prefix, .roller__suffix { flex: none; } .roller-part .roller-part__wrapper { display: inline-block; } .roller-part .roller-part__suffix { display: inline-block; } `"
        },
        {
          "kind": "variable",
          "name": "rollerDigitStyles",
          "default": "css` .roller-part-digit { position: relative; display: inline-block; } .placeholder { visibility: hidden; display: inline-block; } .roll-list { position: absolute; left: 0; display: inline-flex; width: 100%; flex-direction: column; align-items: center; } .roll-list.roll-list__up { top: 0; } .roll-list.roll-list__down { bottom: 0; } .roll-list__shadow { visibility: hidden; position: absolute; left: 0; top: 0; z-index: -10; display: inline-flex; flex-direction: column; white-space: nowrap; } .roll-item { display: inline-block; width: 100%; } .roll-item.roll-item__head { position: absolute; top: 100%; } .roll-item.roll-item__tail { position: absolute; bottom: 100%; } `"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "rollerStyles",
          "declaration": {
            "name": "rollerStyles",
            "module": "src/transitions/roller/styles.ts"
          }
        },
        {
          "kind": "js",
          "name": "rollerDigitStyles",
          "declaration": {
            "name": "rollerDigitStyles",
            "module": "src/transitions/roller/styles.ts"
          }
        }
      ]
    }
  ]
}
