timered-counter 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/custom-elements.json +253 -103
  2. package/dist/custom-elements.json +253 -103
  3. package/dist/decimal-js-number-adapter.esm-browser.js +9 -0
  4. package/dist/decimal-js-number-adapter.esm-browser.js.map +1 -0
  5. package/dist/decimal-js-number-adapter.global.js +10 -0
  6. package/dist/decimal-js-number-adapter.global.js.map +1 -0
  7. package/dist/grapheme-splitter-string-adapter.esm-browser.js +2 -0
  8. package/dist/grapheme-splitter-string-adapter.esm-browser.js.map +1 -0
  9. package/dist/grapheme-splitter-string-adapter.global.js +2 -0
  10. package/dist/grapheme-splitter-string-adapter.global.js.map +1 -0
  11. package/dist/src/index.d.ts +1 -5
  12. package/dist/src/index.js +1 -7
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/mixins/counter-base.js +9 -9
  15. package/dist/src/mixins/counter-base.js.map +1 -1
  16. package/dist/src/number-adapter/decimal-js.d.ts +8 -1
  17. package/dist/src/number-adapter/decimal-js.js +7 -0
  18. package/dist/src/number-adapter/decimal-js.js.map +1 -1
  19. package/dist/src/number-adapter/index.d.ts +6 -4
  20. package/dist/src/number-adapter/index.js +7 -4
  21. package/dist/src/number-adapter/index.js.map +1 -1
  22. package/dist/src/string-adapter/grapheme-splitter.d.ts +7 -0
  23. package/dist/src/string-adapter/grapheme-splitter.js +7 -0
  24. package/dist/src/string-adapter/grapheme-splitter.js.map +1 -1
  25. package/dist/src/string-adapter/index.d.ts +6 -4
  26. package/dist/src/string-adapter/index.js +7 -4
  27. package/dist/src/string-adapter/index.js.map +1 -1
  28. package/dist/src/timered-counter-adapter.d.ts +65 -0
  29. package/dist/src/timered-counter-adapter.js +120 -0
  30. package/dist/src/timered-counter-adapter.js.map +1 -0
  31. package/dist/src/transitions/roller/roller-digit.js +3 -3
  32. package/dist/src/transitions/roller/roller-digit.js.map +1 -1
  33. package/dist/src/transitions/roller/roller.js +1 -1
  34. package/dist/src/transitions/roller/roller.js.map +1 -1
  35. package/dist/stories/timered-counter/decimaljs.stories.js +4 -2
  36. package/dist/stories/timered-counter/decimaljs.stories.js.map +1 -1
  37. package/dist/stories/timered-counter-number/decimaljs.stories.js +4 -2
  38. package/dist/stories/timered-counter-number/decimaljs.stories.js.map +1 -1
  39. package/dist/stories/timered-counter-string/decimaljs.stories.js +4 -2
  40. package/dist/stories/timered-counter-string/decimaljs.stories.js.map +1 -1
  41. package/dist/stories/timered-counter-string/grapheme-splitter.stories.js +7 -3
  42. package/dist/stories/timered-counter-string/grapheme-splitter.stories.js.map +1 -1
  43. package/dist/stories/timered-counter-string/intl-segmenter.stories.js +5 -3
  44. package/dist/stories/timered-counter-string/intl-segmenter.stories.js.map +1 -1
  45. package/dist/timered-counter.esm-browser.js +51 -58
  46. package/dist/timered-counter.esm-browser.js.map +1 -1
  47. package/dist/timered-counter.global.js +51 -58
  48. package/dist/timered-counter.global.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +2 -2
  51. package/dist/src/counter-adapter.d.ts +0 -38
  52. package/dist/src/counter-adapter.js +0 -71
  53. package/dist/src/counter-adapter.js.map +0 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "timered-counter",
3
3
  "description": "Make the value change more vivid and natural",
4
4
  "license": "MIT",
5
- "version": "1.0.0",
5
+ "version": "1.1.1",
6
6
  "type": "module",
7
7
  "main": "dist/src/index.js",
8
8
  "module": "dist/src/index.js",
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "repository": {
35
35
  "type": "git",
36
- "url": "git+https://github.com:siaikin/timered-counter.git"
36
+ "url": "https://github.com/siaikin/timered-counter.git"
37
37
  },
38
38
  "author": {
39
39
  "name": "siaikin",
@@ -1,38 +0,0 @@
1
- import { Decimal } from 'decimal.js';
2
- import { NumberAdapter } from './number-adapter/index.js';
3
- import { StringAdapter } from './string-adapter/index.js';
4
- export declare class CounterAdapter {
5
- /**
6
- * 数字适配器, 有以下两种:
7
- * 1. BuildInNumberAdapter(默认): 使用内置 number 进行计算.
8
- * 2. DecimalJsAdapter: 使用 Decimal.js 进行计算.
9
- *
10
- * 详细信息请查看[字符长度限制](/guide/optional-dependencies#字符长度限制)章节.
11
- *
12
- * @default BuildInNumberAdapter
13
- */
14
- static NUMBER_ADAPTER: NumberAdapter;
15
- /**
16
- * 字符串适配器, 有以下两种:
17
- * 1. BuildInStringAdapter(默认): 使用内置 string 进行字符串处理.
18
- * 2. BuildInIntlSegmenterAdapter: 使用 Intl.Segmenter 进行字符串处理. 能够支持 emoji, 字符集.
19
- * 3. GraphemeSplitterAdapter: 使用 grapheme-splitter 进行字符串处理. 能够支持 emoji, 字符集.
20
- *
21
- * 详细信息请查看[支持 emoji 分词](/guide/optional-dependencies#支持-emoji-分词)章节.
22
- *
23
- * @default BuildInStringAdapter
24
- */
25
- static STRING_ADAPTER: StringAdapter;
26
- /**
27
- * 将 value 及其相关的属性, 在 attribute 和 property 上的互相转换.
28
- *
29
- * @see https://lit.dev/docs/components/properties/#attributes
30
- * @protected
31
- */
32
- static VALUE_CONVERTER: {
33
- fromAttribute(value: string | null): string | null;
34
- toAttribute(value: unknown): string | null | undefined;
35
- };
36
- static setNumberAdapter(adapterOrType: NumberAdapter | 'number' | 'decimal.js', config?: Decimal.Config): void;
37
- static setStringAdapter(adapterOrType: StringAdapter | 'string' | 'intl-segmenter' | 'grapheme-splitter'): void;
38
- }
@@ -1,71 +0,0 @@
1
- import { isNullish, isString } from 'remeda';
2
- import { BuildInNumberAdapter, DecimalJsAdapter, } from './number-adapter/index.js';
3
- import { BuildInIntlSegmenterAdapter, BuildInStringAdapter, GraphemeSplitterAdapter, } from './string-adapter/index.js';
4
- export class CounterAdapter {
5
- static setNumberAdapter(adapterOrType, config) {
6
- let adapter = BuildInNumberAdapter();
7
- if (isString(adapterOrType)) {
8
- if (adapterOrType === 'number')
9
- adapter = BuildInNumberAdapter();
10
- else if (['decimal.js', 'decimaljs'].includes(adapterOrType))
11
- adapter = DecimalJsAdapter(config);
12
- }
13
- else {
14
- adapter = adapterOrType;
15
- }
16
- CounterAdapter.NUMBER_ADAPTER = adapter;
17
- }
18
- static setStringAdapter(adapterOrType) {
19
- let adapter = BuildInStringAdapter();
20
- if (isString(adapterOrType)) {
21
- if (adapterOrType === 'string')
22
- adapter = BuildInStringAdapter();
23
- else if (adapterOrType === 'intl-segmenter')
24
- adapter = BuildInIntlSegmenterAdapter();
25
- else if (adapterOrType === 'grapheme-splitter')
26
- adapter = GraphemeSplitterAdapter();
27
- }
28
- else {
29
- adapter = adapterOrType;
30
- }
31
- CounterAdapter.STRING_ADAPTER = adapter;
32
- }
33
- }
34
- /**
35
- * 数字适配器, 有以下两种:
36
- * 1. BuildInNumberAdapter(默认): 使用内置 number 进行计算.
37
- * 2. DecimalJsAdapter: 使用 Decimal.js 进行计算.
38
- *
39
- * 详细信息请查看[字符长度限制](/guide/optional-dependencies#字符长度限制)章节.
40
- *
41
- * @default BuildInNumberAdapter
42
- */
43
- CounterAdapter.NUMBER_ADAPTER = BuildInNumberAdapter();
44
- /**
45
- * 字符串适配器, 有以下两种:
46
- * 1. BuildInStringAdapter(默认): 使用内置 string 进行字符串处理.
47
- * 2. BuildInIntlSegmenterAdapter: 使用 Intl.Segmenter 进行字符串处理. 能够支持 emoji, 字符集.
48
- * 3. GraphemeSplitterAdapter: 使用 grapheme-splitter 进行字符串处理. 能够支持 emoji, 字符集.
49
- *
50
- * 详细信息请查看[支持 emoji 分词](/guide/optional-dependencies#支持-emoji-分词)章节.
51
- *
52
- * @default BuildInStringAdapter
53
- */
54
- CounterAdapter.STRING_ADAPTER = BuildInStringAdapter();
55
- /**
56
- * 将 value 及其相关的属性, 在 attribute 和 property 上的互相转换.
57
- *
58
- * @see https://lit.dev/docs/components/properties/#attributes
59
- * @protected
60
- */
61
- CounterAdapter.VALUE_CONVERTER = {
62
- fromAttribute(value) {
63
- return value;
64
- },
65
- toAttribute(value) {
66
- return isNullish(value)
67
- ? value
68
- : CounterAdapter.NUMBER_ADAPTER.toString(value);
69
- },
70
- };
71
- //# sourceMappingURL=counter-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"counter-adapter.js","sourceRoot":"","sources":["../../src/counter-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,OAAO,cAAc;IAyCzB,MAAM,CAAC,gBAAgB,CACrB,aAAsD,EACtD,MAAuB;QAEvB,IAAI,OAAO,GAAkB,oBAAoB,EAAE,CAAC;QAEpD,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,IAAI,aAAa,KAAK,QAAQ;gBAAE,OAAO,GAAG,oBAAoB,EAAE,CAAC;iBAC5D,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC1D,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QAED,cAAc,CAAC,cAAc,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,aAIuB;QAEvB,IAAI,OAAO,GAAkB,oBAAoB,EAAE,CAAC;QAEpD,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,IAAI,aAAa,KAAK,QAAQ;gBAAE,OAAO,GAAG,oBAAoB,EAAE,CAAC;iBAC5D,IAAI,aAAa,KAAK,gBAAgB;gBACzC,OAAO,GAAG,2BAA2B,EAAE,CAAC;iBACrC,IAAI,aAAa,KAAK,mBAAmB;gBAC5C,OAAO,GAAG,uBAAuB,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,aAAa,CAAC;QAC1B,CAAC;QAED,cAAc,CAAC,cAAc,GAAG,OAAO,CAAC;IAC1C,CAAC;;AA7ED;;;;;;;;GAQG;AACI,6BAAc,GAAkB,oBAAoB,EAAE,CAAC;AAE9D;;;;;;;;;GASG;AACI,6BAAc,GAAkB,oBAAoB,EAAE,CAAC;AAE9D;;;;;GAKG;AACI,8BAAe,GAAG;IACvB,aAAa,CAAC,KAAoB;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW,CAAC,KAAc;QACxB,OAAO,SAAS,CAAC,KAAK,CAAC;YACrB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CACF,CAAC","sourcesContent":["import { isNullish, isString } from 'remeda';\nimport { Decimal } from 'decimal.js';\nimport {\n BuildInNumberAdapter,\n DecimalJsAdapter,\n NumberAdapter,\n} from './number-adapter/index.js';\nimport {\n BuildInIntlSegmenterAdapter,\n BuildInStringAdapter,\n GraphemeSplitterAdapter,\n StringAdapter,\n} from './string-adapter/index.js';\n\nexport class CounterAdapter {\n /**\n * 数字适配器, 有以下两种:\n * 1. BuildInNumberAdapter(默认): 使用内置 number 进行计算.\n * 2. DecimalJsAdapter: 使用 Decimal.js 进行计算.\n *\n * 详细信息请查看[字符长度限制](/guide/optional-dependencies#字符长度限制)章节.\n *\n * @default BuildInNumberAdapter\n */\n static NUMBER_ADAPTER: NumberAdapter = BuildInNumberAdapter();\n\n /**\n * 字符串适配器, 有以下两种:\n * 1. BuildInStringAdapter(默认): 使用内置 string 进行字符串处理.\n * 2. BuildInIntlSegmenterAdapter: 使用 Intl.Segmenter 进行字符串处理. 能够支持 emoji, 字符集.\n * 3. GraphemeSplitterAdapter: 使用 grapheme-splitter 进行字符串处理. 能够支持 emoji, 字符集.\n *\n * 详细信息请查看[支持 emoji 分词](/guide/optional-dependencies#支持-emoji-分词)章节.\n *\n * @default BuildInStringAdapter\n */\n static STRING_ADAPTER: StringAdapter = BuildInStringAdapter();\n\n /**\n * 将 value 及其相关的属性, 在 attribute 和 property 上的互相转换.\n *\n * @see https://lit.dev/docs/components/properties/#attributes\n * @protected\n */\n static VALUE_CONVERTER = {\n fromAttribute(value: string | null) {\n return value;\n },\n toAttribute(value: unknown) {\n return isNullish(value)\n ? value\n : CounterAdapter.NUMBER_ADAPTER.toString(value);\n },\n };\n\n static setNumberAdapter(\n adapterOrType: NumberAdapter | 'number' | 'decimal.js',\n config?: Decimal.Config,\n ) {\n let adapter: NumberAdapter = BuildInNumberAdapter();\n\n if (isString(adapterOrType)) {\n if (adapterOrType === 'number') adapter = BuildInNumberAdapter();\n else if (['decimal.js', 'decimaljs'].includes(adapterOrType))\n adapter = DecimalJsAdapter(config);\n } else {\n adapter = adapterOrType;\n }\n\n CounterAdapter.NUMBER_ADAPTER = adapter;\n }\n\n static setStringAdapter(\n adapterOrType:\n | StringAdapter\n | 'string'\n | 'intl-segmenter'\n | 'grapheme-splitter',\n ) {\n let adapter: StringAdapter = BuildInStringAdapter();\n\n if (isString(adapterOrType)) {\n if (adapterOrType === 'string') adapter = BuildInStringAdapter();\n else if (adapterOrType === 'intl-segmenter')\n adapter = BuildInIntlSegmenterAdapter();\n else if (adapterOrType === 'grapheme-splitter')\n adapter = GraphemeSplitterAdapter();\n } else {\n adapter = adapterOrType;\n }\n\n CounterAdapter.STRING_ADAPTER = adapter;\n }\n}\n"]}