@epa-wg/custom-element-dist 0.0.29 → 0.0.31

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 (134) hide show
  1. package/.idea/custom-element-dist.iml +11 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +24 -0
  3. package/.idea/misc.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/vcs.xml +6 -0
  6. package/.storybook/main.ts +21 -19
  7. package/.storybook/preview.ts +25 -25
  8. package/README.md +4 -4
  9. package/coverage/coverage-final.json +21 -21
  10. package/coverage/index.html +24 -24
  11. package/coverage/src/custom-element/coverage.svg +1 -1
  12. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  13. package/coverage/src/custom-element/custom-element.js.html +247 -241
  14. package/coverage/src/custom-element/http-request.js.html +3 -3
  15. package/coverage/src/custom-element/index.html +14 -14
  16. package/coverage/src/custom-element/local-storage.js.html +52 -52
  17. package/coverage/src/custom-element/location-element.js.html +4 -4
  18. package/coverage/src/custom-element/module-url.js.html +1 -1
  19. package/coverage/src/index.html +1 -1
  20. package/coverage/src/mocks/handlers.ts.html +1 -1
  21. package/coverage/src/mocks/index.html +1 -1
  22. package/coverage/src/stories/attributes.test.stories.ts.html +28 -28
  23. package/coverage/src/stories/coverage.svg +1 -1
  24. package/coverage/src/stories/css.test.stories.ts.html +1 -1
  25. package/coverage/src/stories/dom-merge.test.stories.ts.html +1 -1
  26. package/coverage/src/stories/external-template.test.stories.ts.html +1 -1
  27. package/coverage/src/stories/form.test.stories.ts.html +1 -1
  28. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  29. package/coverage/src/stories/index.html +19 -19
  30. package/coverage/src/stories/local-storage.test.stories.ts.html +17 -17
  31. package/coverage/src/stories/location-element.test.stories.ts.html +3 -6
  32. package/coverage/src/stories/module-url.test.stories.ts.html +1 -1
  33. package/coverage/src/stories/set-url.test.stories.ts.html +1 -1
  34. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +1 -1
  35. package/coverage/src/stories/slice-events.test.stories.ts.html +284 -23
  36. package/coverage/src/stories/slots.test.stories.ts.html +1 -1
  37. package/coverage/src/stories/testStoryBook.ts.html +7 -7
  38. package/coverage/src/stories/version-select.test.stories.ts.html +1 -1
  39. package/coverage/src/sum.ts.html +1 -1
  40. package/dist/custom-element-BbJMY20-.cjs +97 -0
  41. package/dist/{custom-element-BOIPgtxz.js → custom-element-CoRNKeEP.js} +122 -120
  42. package/dist/custom-element-bundle.cjs +1 -1
  43. package/dist/custom-element-bundle.js +2 -2
  44. package/dist/demo/a.svg +26 -26
  45. package/dist/demo/data-slices.html +37 -0
  46. package/package.json +13 -13
  47. package/public/demo/a.svg +26 -26
  48. package/public/demo/data-slices.html +37 -0
  49. package/src/custom-element/custom-element.js +4 -2
  50. package/src/custom-element/demo/a.svg +26 -26
  51. package/src/custom-element/demo/data-slices.html +37 -0
  52. package/src/custom-element/ide/web-types-dce.json +1 -1
  53. package/src/custom-element/ide/web-types-xsl.json +1 -1
  54. package/src/material/angular.css +987 -987
  55. package/src/material/components/autocomplete.html +239 -240
  56. package/src/material/components/dropdown.html +92 -45
  57. package/src/material/components/icon-link.html +160 -160
  58. package/src/material/components/menu.html +234 -234
  59. package/src/material/components.html +121 -120
  60. package/src/material/demo.css +36 -31
  61. package/src/material/index.html +110 -110
  62. package/src/material/material.css +356 -356
  63. package/src/material/theme/README.md +17 -17
  64. package/src/material/theme/semantic.css +113 -112
  65. package/src/mocks/versions.mock.ts +8 -8
  66. package/src/stories/attributes.test.stories.ts +20 -20
  67. package/src/stories/location-element.test.stories.ts +1 -2
  68. package/src/stories/slice-events.test.stories.ts +87 -0
  69. package/storybook-static/assets/Color-F6OSRLHC-CFyd3TND.js +1 -0
  70. package/storybook-static/assets/{Configure-DOhzHFEs.js → Configure-UGTbPRKK.js} +1 -1
  71. package/storybook-static/assets/{DocsRenderer-CFRXHY34-BSJkbsd6.js → DocsRenderer-CFRXHY34-Dpr5iB0o.js} +2 -2
  72. package/storybook-static/assets/{attributes.test.stories-BJBuuXgZ.js → attributes.test.stories-DSOLHHOW.js} +38 -36
  73. package/storybook-static/assets/{css.test.stories-pgbBc17d.js → css.test.stories-Cgn6ICr0.js} +1 -1
  74. package/storybook-static/assets/custom-element-D59Fok1f.js +97 -0
  75. package/storybook-static/assets/{dom-merge.test.stories-CXcYP_-J.js → dom-merge.test.stories-CBObfPWg.js} +1 -1
  76. package/storybook-static/assets/entry-preview-DHVXbf3x.js +26 -0
  77. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +2 -0
  78. package/storybook-static/assets/{external-template.test.stories-CpJ68Ghy.js → external-template.test.stories-VfKUQ8eu.js} +1 -1
  79. package/storybook-static/assets/{form.test.stories-D35lyqd8.js → form.test.stories-CnuGN7Zw.js} +1 -1
  80. package/storybook-static/assets/{handlers-CW9pDZnt.js → handlers-V_T7WjNK.js} +21 -21
  81. package/storybook-static/assets/{http-request.stories-CBbknCOO.js → http-request.stories-8NN1Coqm.js} +1 -1
  82. package/storybook-static/assets/iframe-DnhkgdtG.js +2 -0
  83. package/storybook-static/assets/index-3Sfy-t3H.js +769 -0
  84. package/storybook-static/assets/index-BcZLpTeD.js +8 -0
  85. package/storybook-static/assets/index-CIBI7sCB.js +1 -0
  86. package/storybook-static/assets/{index-BSz1w4Gl.js → index-CxRwF5Or.js} +130 -130
  87. package/storybook-static/assets/{index-YxUFxnQR.js → index-DN1RoK17.js} +1 -1
  88. package/storybook-static/assets/{index-B3QjF0Ed.js → index-DjJD7gkO.js} +1 -1
  89. package/storybook-static/assets/{local-storage.test.stories-BY-PWhuk.js → local-storage.test.stories-Dk5Yqc7m.js} +1 -1
  90. package/storybook-static/assets/{location-element.test.stories-3auBYEaU.js → location-element.test.stories-56um6s5L.js} +1 -1
  91. package/storybook-static/assets/{module-url.test.stories-B7L9cL60.js → module-url.test.stories-DEponQ7l.js} +1 -1
  92. package/storybook-static/assets/{preview-BRPR-UXC.js → preview-CNKoaWES.js} +1 -1
  93. package/storybook-static/assets/preview-Czc-sw5H.js +2 -0
  94. package/storybook-static/assets/preview-DAeyCMnM.js +1 -0
  95. package/storybook-static/assets/{preview-CfWMRsRq.js → preview-vbpHsp94.js} +2 -2
  96. package/storybook-static/assets/{set-url.test.stories-CuSuDLIx.js → set-url.test.stories-B4E6hIe-.js} +1 -1
  97. package/storybook-static/assets/{slice-events.test.stories-BkRKsKem.js → slice-events.test.stories-BR0F-B6I.js} +138 -13
  98. package/storybook-static/assets/{slots.test.stories-BJCUWFkE.js → slots.test.stories-CgfJIyCr.js} +1 -1
  99. package/storybook-static/assets/tiny-invariant-CopsF_GD.js +1 -0
  100. package/storybook-static/assets/{version-select.test.stories-B3ybJn_Z.js → version-select.test.stories-nmxATIwv.js} +1 -1
  101. package/storybook-static/demo/a.svg +26 -26
  102. package/storybook-static/demo/data-slices.html +37 -0
  103. package/storybook-static/iframe.html +2 -2
  104. package/storybook-static/index.html +4 -0
  105. package/storybook-static/index.json +1 -1
  106. package/storybook-static/project.json +1 -1
  107. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +333 -0
  108. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +40 -0
  109. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +1 -1
  110. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  111. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +82 -85
  112. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  113. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  114. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  115. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +66 -67
  116. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +1 -1
  117. package/storybook-static/sb-manager/globals-module-info.js +25 -3
  118. package/storybook-static/sb-manager/globals-runtime.js +29585 -43124
  119. package/storybook-static/sb-manager/runtime.js +10647 -9399
  120. package/storybook-static/sb-preview/runtime.js +3536 -5860
  121. package/test-runner-jest.config.js +15 -0
  122. package/dist/custom-element-CUsSENWc.cjs +0 -97
  123. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  124. package/storybook-static/assets/Color-ERTF36HU-CQkSD2nd.js +0 -1
  125. package/storybook-static/assets/custom-element-BDGsYgbP.js +0 -97
  126. package/storybook-static/assets/entry-preview-C313OLrj.js +0 -26
  127. package/storybook-static/assets/entry-preview-docs-B7ORr9w5.js +0 -2
  128. package/storybook-static/assets/iframe-DOi4N7qI.js +0 -2
  129. package/storybook-static/assets/index-BdcJ-iJ7.js +0 -8
  130. package/storybook-static/assets/index-CaL3Qp7t.js +0 -634
  131. package/storybook-static/assets/index-DgFM0Ce3.js +0 -1
  132. package/storybook-static/assets/preview-C992A1Y-.js +0 -2
  133. package/storybook-static/assets/preview-CcS4DQh8.js +0 -1
  134. package/storybook-static/assets/tiny-invariant-BxWVcicq.js +0 -1
@@ -1,18 +1,18 @@
1
- # Semantic theming
2
- Based on https://blog.firsov.net/search/label/Semantic%20Theme
3
-
4
-
5
- # Line thickness, stroke weight
6
- [Typography Guide Part 2: Weight and Width](https://creativebeacon.com/typography-guide-part-2-weight-and-width/)
7
- The different weights can be
8
- * **xx-light** ultra thin or ultra light,
9
- * **x-light** extra light,
10
- * **light**
11
- * **normal** or roman,
12
- * **bold**
13
- * **x-bold** extra bold,
14
- * **xx-bold** ultra bold or black,
15
-
16
- # Text Tracking/Spacing
17
- [wiki](https://en.wikipedia.org/wiki/Letter_spacing),
1
+ # Semantic theming
2
+ Based on https://blog.firsov.net/search/label/Semantic%20Theme
3
+
4
+
5
+ # Line thickness, stroke weight
6
+ [Typography Guide Part 2: Weight and Width](https://creativebeacon.com/typography-guide-part-2-weight-and-width/)
7
+ The different weights can be
8
+ * **xx-light** ultra thin or ultra light,
9
+ * **x-light** extra light,
10
+ * **light**
11
+ * **normal** or roman,
12
+ * **bold**
13
+ * **x-bold** extra bold,
14
+ * **xx-bold** ultra bold or black,
15
+
16
+ # Text Tracking/Spacing
17
+ [wiki](https://en.wikipedia.org/wiki/Letter_spacing),
18
18
  [units](https://css-tricks.com/keeping-track-letter-spacing-guidelines/)
@@ -1,112 +1,113 @@
1
- /* cem - custom-element material
2
- SEMANTIC THEME basic definitions
3
- based on https://blog.firsov.net/search/label/Semantic%20Theme
4
- */
5
- :root{
6
-
7
- /*#region SPACING DIMENSIONS */
8
- --cem-dim-xx-small : 0.25rem;
9
- --cem-dim-x-small : 0.5rem;
10
- --cem-dim-small : 0.75rem;
11
- --cem-dim-medium : 1rem;
12
- --cem-dim-large : 1.5rem;
13
- --cem-dim-x-large : 2rem;
14
- --cem-dim-xx-large : 4rem;
15
- --cem-dim-xxx-large : 8rem;
16
- /*#endregion */
17
-
18
- /*#region OUTLINE THIKNESS */
19
- --cem-thick-none: 0;
20
- --cem-thick-xx-light: 0.5px;
21
- --cem-thick-x-light : 1px;
22
- --cem-thick-light : 2px;
23
- --cem-thick-normal : 4px;
24
- --cem-thick-bold : 0.5rem;
25
- --cem-thick-x-bold : 1rem;
26
- --cem-thick-xx-bold : 4rem;
27
- /*#endregion */
28
-
29
- /*#region TEXT TRACKING/SPACING */
30
- --cem-tracking-negative : -0.25em;
31
- --cem-tracking-stick : 0;
32
- --cem-tracking-tight : 0.5px;
33
- --cem-tracking-normal : auto;
34
- --cem-tracking-loose : 0.25em;
35
- --cem-tracking-sparse : 0.5em;
36
- --cem-tracking-spread : 1em;
37
- /*#endregion */
38
-
39
- /*#region branded colors */
40
-
41
- /*#endregion */
42
-
43
- /*#region action */
44
-
45
- /*#endregion */
46
-
47
- }
48
-
49
-
50
- /*#region semantic colors */
51
- :root, .cem-theme-default, .cem-theme-azure{
52
-
53
- --primary-background-color: var(--ng-azure-90);
54
- --secondary-background-color: var(--ng-azure-80);
55
- --alert-color: var(--ng-magenta-80);
56
- --text-color: var(--ng-azure-10);
57
-
58
- --cem-action-primary-color: var(--text-color);
59
- --cem-action-primary-background: transparent;
60
- --cem-action-primary-background-hover: var(--ng-azure-80,lightgrey);
61
- --cem-action-primary-background-focus: var(--ng-azure-70,silver);
62
- --cem-action-primary-background-active: var(--ng-azure-60,grey);
63
-
64
- --cem-action-secondary-color: var(--text-color);
65
- --cem-action-secondary-background: var(--ng-azure-secondary-90);
66
- --cem-action-secondary-background-hover: var(--ng-azure-secondary-80,lightgrey);
67
- --cem-action-secondary-background-focus: var(--ng-azure-secondary-70,silver);
68
- --cem-action-secondary-background-active: var(--ng-azure-secondary-60,grey);
69
-
70
- --cem-action-box-shadow: var(--ng-action-elevation-shadow, 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12));
71
- --cem-action-box-shadow-hover: var(--ng-action-box-shadow-hover);
72
- --cem-action-transition: var(--ng-action-transition);
73
-
74
- --cem-app-surface-variant: var(--ng-azure-variant-90);
75
- --cem-app-on-surface: var(--ng-azure-variant-70);
76
- --cem-app-primary: var(--ng-azure-variant-60);
77
-
78
- --cem-filled-text-field-container-color: var(--ng-azure-variant-90);
79
- --cem-filled-text-field-label-text-color: var(--ng-azure-variant-30);
80
- --cem-filled-text-field-input-text-color: var(--ng-azure-variant-0);
81
- --cem-filled-text-field-caret-color: var(--ng-azure-variant-10);
82
- --cem-outline-color-focus: var(--ng-azure-40);
83
-
84
- --cem-list-background-color: var(--ng-azure-neutral-94);
85
- --cem-list-background-color-hover: var(--ng-azure-variant-90);
86
- --cem-list-background-color-focus: var(--ng-azure-variant-80);
87
-
88
- --cem-menu-item-color: black;
89
- --cem-menu-item-color-disabled: var(--ng-azure-neutral-50);
90
- --cem-menu-item-background: var(--ng-azure-neutral-94);
91
- --cem-menu-item-hover-background: var(--ng-azure-neutral-80);
92
- --cem-menu-item-hover-color: black;
93
- --cem-menu-item-padding: 0.5rem;
94
- --cem-menu-item-font-weight: bold;
95
- }
96
-
97
- .cem-theme-teal{
98
-
99
- --primary-color: var(--ng-teal-primary);
100
- --secondary-color: var(--ng-teal-hover);
101
- --alert-color: var(--ng-magenta-80);
102
- --text-color: var(--ng-azure-40);
103
-
104
- --cem-action-primary-color: var(--primary-color);
105
-
106
- --cem-action-primary-background: transparent;
107
- --cem-action-primary-background-hover: var(--ng-teal-hover,lightgrey);
108
- --cem-action-primary-background-focus: var(--ng-teal-focus,silver);
109
- --cem-action-primary-background-active: var(--ng-teal-active,grey);
110
- }
111
-
112
- /*#endregion */
1
+ /* cem - custom-element material
2
+ SEMANTIC THEME basic definitions
3
+ based on https://blog.firsov.net/search/label/Semantic%20Theme
4
+ */
5
+ :root{
6
+
7
+ /*#region SPACING DIMENSIONS */
8
+ --cem-dim-xx-small : 0.25rem;
9
+ --cem-dim-x-small : 0.5rem;
10
+ --cem-dim-small : 0.75rem;
11
+ --cem-dim-medium : 1rem;
12
+ --cem-dim-large : 1.5rem;
13
+ --cem-dim-x-large : 2rem;
14
+ --cem-dim-xx-large : 4rem;
15
+ --cem-dim-xxx-large : 8rem;
16
+ /*#endregion */
17
+
18
+ /*#region OUTLINE THIKNESS */
19
+ --cem-thick-none: 0;
20
+ --cem-thick-xx-light: 0.5px;
21
+ --cem-thick-x-light : 1px;
22
+ --cem-thick-light : 2px;
23
+ --cem-thick-normal : 4px;
24
+ --cem-thick-bold : 0.5rem;
25
+ --cem-thick-x-bold : 1rem;
26
+ --cem-thick-xx-bold : 4rem;
27
+ /*#endregion */
28
+
29
+ /*#region TEXT TRACKING/SPACING */
30
+ --cem-tracking-negative : -0.25em;
31
+ --cem-tracking-stick : 0;
32
+ --cem-tracking-tight : 0.5px;
33
+ --cem-tracking-normal : auto;
34
+ --cem-tracking-loose : 0.25em;
35
+ --cem-tracking-sparse : 0.5em;
36
+ --cem-tracking-spread : 1em;
37
+ /*#endregion */
38
+
39
+ /*#region branded colors */
40
+
41
+ /*#endregion */
42
+
43
+ /*#region action */
44
+ --cem-drop-transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
45
+
46
+ /*#endregion */
47
+
48
+ }
49
+
50
+
51
+ /*#region semantic colors */
52
+ :root, .cem-theme-default, .cem-theme-azure{
53
+
54
+ --primary-background-color: var(--ng-azure-90);
55
+ --secondary-background-color: var(--ng-azure-80);
56
+ --alert-color: var(--ng-magenta-80);
57
+ --text-color: var(--ng-azure-10);
58
+
59
+ --cem-action-primary-color: var(--text-color);
60
+ --cem-action-primary-background: transparent;
61
+ --cem-action-primary-background-hover: var(--ng-azure-80,lightgrey);
62
+ --cem-action-primary-background-focus: var(--ng-azure-70,silver);
63
+ --cem-action-primary-background-active: var(--ng-azure-60,grey);
64
+
65
+ --cem-action-secondary-color: var(--text-color);
66
+ --cem-action-secondary-background: var(--ng-azure-secondary-90);
67
+ --cem-action-secondary-background-hover: var(--ng-azure-secondary-80,lightgrey);
68
+ --cem-action-secondary-background-focus: var(--ng-azure-secondary-70,silver);
69
+ --cem-action-secondary-background-active: var(--ng-azure-secondary-60,grey);
70
+
71
+ --cem-action-box-shadow: var(--ng-action-elevation-shadow, 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12));
72
+ --cem-action-box-shadow-hover: var(--ng-action-box-shadow-hover);
73
+ --cem-action-transition: var(--ng-action-transition);
74
+
75
+ --cem-app-surface-variant: var(--ng-azure-variant-90);
76
+ --cem-app-on-surface: var(--ng-azure-variant-70);
77
+ --cem-app-primary: var(--ng-azure-variant-60);
78
+
79
+ --cem-filled-text-field-container-color: var(--ng-azure-variant-90);
80
+ --cem-filled-text-field-label-text-color: var(--ng-azure-variant-30);
81
+ --cem-filled-text-field-input-text-color: var(--ng-azure-variant-0);
82
+ --cem-filled-text-field-caret-color: var(--ng-azure-variant-10);
83
+ --cem-outline-color-focus: var(--ng-azure-40);
84
+
85
+ --cem-list-background-color: var(--ng-azure-neutral-94);
86
+ --cem-list-background-color-hover: var(--ng-azure-variant-90);
87
+ --cem-list-background-color-focus: var(--ng-azure-variant-80);
88
+
89
+ --cem-menu-item-color: black;
90
+ --cem-menu-item-color-disabled: var(--ng-azure-neutral-50);
91
+ --cem-menu-item-background: var(--ng-azure-neutral-94);
92
+ --cem-menu-item-hover-background: var(--ng-azure-neutral-80);
93
+ --cem-menu-item-hover-color: black;
94
+ --cem-menu-item-padding: 0.5rem;
95
+ --cem-menu-item-font-weight: bold;
96
+ }
97
+
98
+ .cem-theme-teal{
99
+
100
+ --primary-color: var(--ng-teal-primary);
101
+ --secondary-color: var(--ng-teal-hover);
102
+ --alert-color: var(--ng-magenta-80);
103
+ --text-color: var(--ng-azure-40);
104
+
105
+ --cem-action-primary-color: var(--primary-color);
106
+
107
+ --cem-action-primary-background: transparent;
108
+ --cem-action-primary-background-hover: var(--ng-teal-hover,lightgrey);
109
+ --cem-action-primary-background-focus: var(--ng-teal-focus,silver);
110
+ --cem-action-primary-background-active: var(--ng-teal-active,grey);
111
+ }
112
+
113
+ /*#endregion */
@@ -3,7 +3,7 @@ export default {
3
3
  "_rev": "5-df363ab4a2b9c478c01e021bde4fbafe",
4
4
  "name": "@epa-wg/custom-element-dist",
5
5
  "dist-tags": {
6
- "latest": "0.0.29"
6
+ "latest": "0.0.31"
7
7
  },
8
8
  "versions": {
9
9
  "0.0.1": {
@@ -617,9 +617,9 @@ export default {
617
617
  "host": "s3://npm-registry-packages"
618
618
  }
619
619
  },
620
- "0.0.29": {
620
+ "0.0.31": {
621
621
  "name": "@epa-wg/custom-element-dist",
622
- "version": "0.0.29",
622
+ "version": "0.0.31",
623
623
  "type": "module",
624
624
  "scripts": {
625
625
  "dev": "vite",
@@ -636,7 +636,7 @@ export default {
636
636
  "t": "vitest --no-file-parallelism --watch --browser.headless=false src/stories/attributes.test.stories.ts"
637
637
  },
638
638
  "dependencies": {
639
- "@epa-wg/custom-element": "0.0.29"
639
+ "@epa-wg/custom-element": "0.0.31"
640
640
  },
641
641
  "devDependencies": {
642
642
  "@chromatic-com/storybook": "^1.3.3",
@@ -707,7 +707,7 @@ export default {
707
707
  "./src/custom-element/ide/web-types-dce.json",
708
708
  "./src/custom-element/ide/web-types-xsl.json"
709
709
  ],
710
- "_id": "@epa-wg/custom-element-dist@0.0.29",
710
+ "_id": "@epa-wg/custom-element-dist@0.0.31",
711
711
  "gitHead": "a6a84bdc2cc433acf3d3afa827556c79ecacffb8",
712
712
  "description": "Binary distribution for [@epa-wg/custom-element][git-url] with StoryBook and test coverage",
713
713
  "_nodeVersion": "20.8.1",
@@ -715,7 +715,7 @@ export default {
715
715
  "dist": {
716
716
  "integrity": "sha512-ISVPKkirFGvTTNFanf9WxOTeEBJrAyjuebqQSJiH97QHgG7pxQQAWUC4heBRbJ9kUo5FUmBDph2d9Rep/POCDw==",
717
717
  "shasum": "1a68a8bc37315cbcab0f66247aa54c82d7bc159d",
718
- "tarball": "https://registry.npmjs.org/@epa-wg/custom-element-dist/-/custom-element-dist-0.0.29.tgz",
718
+ "tarball": "https://registry.npmjs.org/@epa-wg/custom-element-dist/-/custom-element-dist-0.0.31.tgz",
719
719
  "fileCount": 299,
720
720
  "unpackedSize": 9437753,
721
721
  "signatures": [
@@ -751,7 +751,7 @@ export default {
751
751
  "0.0.22": "2024-06-25T03:55:52.525Z",
752
752
  "0.0.23": "2024-06-27T03:25:14.314Z",
753
753
  "0.0.24": "2024-07-22T03:10:12.564Z",
754
- "0.0.29": "2024-08-06T07:29:39.264Z"
754
+ "0.0.31": "2024-08-06T07:29:39.264Z"
755
755
  },
756
756
  "bugs": {
757
757
  "url": "https://github.com/EPA-WG/custom-element/issues"
@@ -781,6 +781,6 @@ export default {
781
781
  "email": "suns@simulationworks.com"
782
782
  }
783
783
  ],
784
- "readme": "# custom-element-dist\nBinary distribution for [@epa-wg/custom-element][git-url] with StoryBook and test coverage\n\n`custom-element` [![git][github-image] GitHub][git-url]\n| [tests project][git-test-url]\n| [![NPM version][npm-image]][npm-url]\n| [![coverage][coverage-image]][coverage-url]\n| [StoryBook][sb-url]\n\n# Content\n[bin/build.sh] generates binaries to be kept as in Git release as in NPM package.\nIt serves the record of compliance on the moment of build.\n## [dist](dist)\nCan be used as CDN entry with minified bundle: [custom-element-bundle.js][bundle-url]\n\nEach individual component of `custom-element` lib is available as hashed JS.\n\n## [coverage](coverage)\nProvides the unit test coverage for lib and StoryBooks\n\n## [storybook-static][sb-url]\nCDN version of StoryBook.\n\n[git-url]: https://github.com/EPA-WG/custom-element\n[git-test-url]: https://github.com/EPA-WG/custom-element-dist\n[github-image]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.5.0/svg/mark-github.svg\n[npm-image]: https://img.shields.io/npm/v/@epa-wg/custom-element-dist.svg\n[npm-url]: https://npmjs.org/package/@epa-wg/custom-element-dist\n[coverage-image]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.29/coverage/src/custom-element/coverage.svg\n[coverage-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.29/coverage/src/custom-element/index.html\n[sb-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.29/storybook-static/index.html\n[bundle-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.29/dist/custom-element-bundle.js\n",
784
+ "readme": "# custom-element-dist\nBinary distribution for [@epa-wg/custom-element][git-url] with StoryBook and test coverage\n\n`custom-element` [![git][github-image] GitHub][git-url]\n| [tests project][git-test-url]\n| [![NPM version][npm-image]][npm-url]\n| [![coverage][coverage-image]][coverage-url]\n| [StoryBook][sb-url]\n\n# Content\n[bin/build.sh] generates binaries to be kept as in Git release as in NPM package.\nIt serves the record of compliance on the moment of build.\n## [dist](dist)\nCan be used as CDN entry with minified bundle: [custom-element-bundle.js][bundle-url]\n\nEach individual component of `custom-element` lib is available as hashed JS.\n\n## [coverage](coverage)\nProvides the unit test coverage for lib and StoryBooks\n\n## [storybook-static][sb-url]\nCDN version of StoryBook.\n\n[git-url]: https://github.com/EPA-WG/custom-element\n[git-test-url]: https://github.com/EPA-WG/custom-element-dist\n[github-image]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.5.0/svg/mark-github.svg\n[npm-image]: https://img.shields.io/npm/v/@epa-wg/custom-element-dist.svg\n[npm-url]: https://npmjs.org/package/@epa-wg/custom-element-dist\n[coverage-image]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.31/coverage/src/custom-element/coverage.svg\n[coverage-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.31/coverage/src/custom-element/index.html\n[sb-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.31/storybook-static/index.html\n[bundle-url]: https://unpkg.com/@epa-wg/custom-element-dist@0.0.31/dist/custom-element-bundle.js\n",
785
785
  "readmeFilename": "README.md"
786
786
  }
@@ -64,40 +64,40 @@ export const AttributesRuntimeChange:Story =
64
64
  <attribute name="p1">default_P1 </attribute>
65
65
  <attribute name="p2" select="'always_p2'" ></attribute>
66
66
  <attribute name="p3" select="//p3 ?? 'def_P3' "></attribute>
67
- p1: <code data-testid="p1">{$p1}</code> <br/>
68
- p2: <code data-testid="p2">{$p2}</code> <br/>
69
- p3: <code data-testid="p3">{$p3}</code>
67
+ p1: <code data-testid="t1">{$p1}</code> <br/>
68
+ p2: <code data-testid="t2">{$p2}</code> <br/>
69
+ p3: <code data-testid="t3">{$p3}</code>
70
70
  </template>
71
71
  </custom-element>
72
72
  <section>
73
- <dce-link2 id="dce2" p1="123" p2="override ignored as select is defined"></dce-link2> <br>
74
- <div><input id="i1" value="p1"> <button onclick="dce2.setAttribute('p1',i1.value)"> set p1</button> </div>
75
- <div><input id="i2" value="p2"> <button onclick="dce2.setAttribute('p2',i2.value)"> set p2</button> </div>
76
- <div><input id="i3" value="p3"> <button onclick="dce2.setAttribute('p3',i3.value)"> set p3</button> </div>
73
+ <dce-link2 id="dce2" p1="123" p2="override ignored as select is defined"></dce-link2> <br>
74
+ <div><input id="i1" value="P1"> <button onclick="dce2.setAttribute('p1',i1.value)"> set p1</button> </div>
75
+ <div><input id="i2" value="P2"> <button onclick="dce2.setAttribute('p2',i2.value)"> set p2</button> </div>
76
+ <div><input id="i3" value="P3"> <button onclick="dce2.setAttribute('p3',i3.value)"> set p3</button> </div>
77
77
  </section>
78
78
  `}
79
79
  , play: async ({canvasElement}) =>
80
80
  {
81
- const titleText = AttributeDefaults.args!.title as string;
82
81
  const canvas = within(canvasElement)
83
- , code = async (id) => (await canvas.findByTestId(id)).textContent.trim();
82
+ , code = async (id:string) => await canvas.findByTestId(id);
84
83
 
85
84
  await sleep(20)
86
- expect( await code('p1') ).toEqual('123' );
87
- expect( await code('p2') ).toEqual('always_p2', 'no overrides due to value is hardcoded' );
88
- expect( await code('p3') ).toEqual('def_P3' );
89
-
90
- dce2.setAttribute('p1',i1.value);
91
- await sleep(10)
92
- expect( await code('p1') ).toEqual('p1','set p1 in runtime' );
85
+ expect( await code('t1') ).toHaveTextContent('123' );
86
+ expect( await code('t2') ).toHaveTextContent('always_p2'); // no overrides due to value is hardcoded
87
+ expect( await code('t3') ).toHaveTextContent('def_P3' );
88
+ const dce2 = window.dce2;
89
+ dce2.setAttribute('P1',i1.value);
90
+ await expect(await canvas.findByText('P1')).toBeInTheDocument();
91
+ expect( await code('t1') ).toHaveTextContent('P1'); // 4. set p1 in runtime'
93
92
 
94
93
  dce2.setAttribute('p2',i2.value);
95
- await sleep(10)
96
- expect( await code('p2') ).toEqual('always_p2','can not set p2 in runtime' );
94
+ // await expect(await canvas.findByText('P2')).toBeInTheDocument();
95
+ expect( canvas.getByTestId('t2') ).toHaveTextContent('always_p2'); // can not set p2 in runtime
97
96
 
98
97
  dce2.setAttribute('p3',i3.value);
99
- await sleep(10)
100
- expect( await code('p3') ).toEqual('p3','set p3 in runtime' );
98
+ await expect(await canvas.findByText('P3')).toBeInTheDocument();
99
+
100
+ expect( canvas.getByTestId('t3') ).toHaveTextContent('P3'); // set p3 in runtime
101
101
  },
102
102
  };
103
103
 
@@ -1,11 +1,10 @@
1
1
  // noinspection DuplicatedCode
2
2
 
3
3
  import type { StoryObj } from '@storybook/web-components';
4
- import {expect, getByTestId, within} from '@storybook/test';
4
+ import {expect, within} from '@storybook/test';
5
5
 
6
6
  import '../custom-element/custom-element.js';
7
7
  import '../custom-element/location-element.js';
8
- import {RealtimeEventInSlice, SliceInitChangeEvent} from './slice-events.test.stories';
9
8
 
10
9
  type TProps = { title: string; slice: string; href: string; live:string; body:string};
11
10
  const defs: TProps =
@@ -189,6 +189,93 @@ export const SlicesInAttrAndName:Story =
189
189
  },
190
190
  };
191
191
 
192
+
193
+ export const CheckboxChecked:Story =
194
+ { args : {title: 'Checkbox value in slice ', body:`
195
+ <p> Checked value propagated into slice</p>
196
+ <custom-element>
197
+ <template>
198
+ <input type="checkbox" slice="s1" value="V1" checked/>
199
+ <p>slice: {//s1}</p>
200
+ </template>
201
+ </custom-element>
202
+ `}
203
+ , play: async ({canvasElement}) =>
204
+ {
205
+ const canvas = within(canvasElement);
206
+ await expect( await canvas.findByText( 'slice: V1')).toBeInTheDocument();
207
+ },
208
+ };
209
+
210
+ export const CheckboxUnchecked:Story =
211
+ { args : {title: 'UncheckedCheckbox value not in slice ', body:`
212
+ <p> Check to see the value propagated into slice. Uncheck to observe the empty string in the slice. </p>
213
+ <custom-element>
214
+ <template>
215
+ <input type="checkbox" slice="s1" value="V1" data-testid="i1"/>
216
+ <p data-testid="t1">slice: {//s1}</p>
217
+ </template>
218
+ </custom-element>
219
+ `}
220
+ , play: async ({canvasElement}) =>
221
+ {
222
+ const canvas = within(canvasElement);
223
+ const p =await canvas.findByTestId( 't1');
224
+ await expect(p.textContent ).toEqual("slice: ");
225
+ const cb = await canvas.findByTestId( 'i1');
226
+ await userEvent.click ( cb );
227
+ await expect( await canvas.findByText('slice: V1')).toBeInTheDocument();
228
+ await userEvent.click ( cb );
229
+ await expect( p.textContent).toEqual('slice: ');
230
+
231
+ },
232
+ };
233
+
234
+ export const CheckboxSliceValue:Story =
235
+ { args : {title: 'UncheckedCheckbox slice-value not in slice ', body:`
236
+ <p> Check to see the value propagated into slice. Uncheck to observe the empty string in the slice. </p>
237
+ <custom-element>
238
+ <template>
239
+ <input type="checkbox" slice="s1" slice-value="'V1'" data-testid="i1"/>
240
+ <p data-testid="t1">slice: {//s1}</p>
241
+ </template>
242
+ </custom-element>
243
+ `}
244
+ , play: async ({canvasElement}) =>
245
+ {
246
+ const canvas = within(canvasElement);
247
+ const p =await canvas.findByTestId( 't1');
248
+ await expect(p.textContent ).toEqual("slice: ");
249
+ const cb = await canvas.findByTestId( 'i1');
250
+ await userEvent.click ( cb );
251
+ await expect( await canvas.findByText('slice: V1')).toBeInTheDocument();
252
+ await userEvent.click ( cb );
253
+ await expect( p.textContent).toEqual('slice: ');
254
+
255
+ },
256
+ };
257
+
258
+ export const RadiogroupSliceValue:Story =
259
+ { args : {title: 'Radiogroup value', body:`
260
+ <p> The value propagated into slice from the last checked radiobutton. </p>
261
+ <custom-element>
262
+ <template>
263
+ <p>V1: <input type="radio" slice="s1" value="V1" data-testid="i1" name="group1"/></p>
264
+ <p>V2: <input type="radio" slice="s1" value="V2" data-testid="i2" name="group1"/></p>
265
+ <p data-testid="t1">slice: {//s1}</p>
266
+ </template>
267
+ </custom-element>
268
+ `}
269
+ , play: async ({canvasElement}) =>
270
+ {
271
+ const canvas = within(canvasElement);
272
+ await userEvent.click ( await canvas.findByTestId( 'i1') );
273
+ await expect( await canvas.findByText('slice: V1')).toBeInTheDocument();
274
+ await userEvent.click ( await canvas.findByTestId( 'i2') );
275
+ await expect( await canvas.findByText('slice: V2')).toBeInTheDocument();
276
+ },
277
+ };
278
+
192
279
  //#region unit tests
193
280
  /* istanbul ignore else -- @preserve */
194
281
  if( 'test' === import.meta.env.MODE &&
@@ -0,0 +1 @@
1
+ import{ae as ce,af as v,ag as p,ah as E,a2 as Y,a0 as he,N as fe,ai as de,aj as ge,ak as be,al as H}from"./index-3Sfy-t3H.js";import"./iframe-DnhkgdtG.js";import"../sb-preview/runtime.js";import"./index-BcZLpTeD.js";import"./index-D-8MO0q_.js";import"./index-DrFu-skq.js";var ve=H({"../../node_modules/color-name/index.js"(n,l){l.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),J=H({"../../node_modules/color-convert/conversions.js"(n,l){var c=ve(),h={};for(let e of Object.keys(c))h[c[e]]=e;var i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};l.exports=i;for(let e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:r})}i.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,o=Math.min(t,r,a),u=Math.max(t,r,a),s=u-o,f,g;u===o?f=0:t===u?f=(r-a)/s:r===u?f=2+(a-t)/s:a===u&&(f=4+(t-r)/s),f=Math.min(f*60,360),f<0&&(f+=360);let b=(o+u)/2;return u===o?g=0:b<=.5?g=s/(u+o):g=s/(2-u-o),[f,g*100,b*100]},i.rgb.hsv=function(e){let t,r,a,o,u,s=e[0]/255,f=e[1]/255,g=e[2]/255,b=Math.max(s,f,g),y=b-Math.min(s,f,g),m=function(k){return(b-k)/6/y+1/2};return y===0?(o=0,u=0):(u=y/b,t=m(s),r=m(f),a=m(g),s===b?o=a-r:f===b?o=1/3+t-a:g===b&&(o=2/3+r-t),o<0?o+=1:o>1&&(o-=1)),[o*360,u*100,b*100]},i.rgb.hwb=function(e){let t=e[0],r=e[1],a=e[2],o=i.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(r,a));return a=1-1/255*Math.max(t,Math.max(r,a)),[o,u*100,a*100]},i.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,o=Math.min(1-t,1-r,1-a),u=(1-t-o)/(1-o)||0,s=(1-r-o)/(1-o)||0,f=(1-a-o)/(1-o)||0;return[u*100,s*100,f*100,o*100]};function d(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=h[e];if(t)return t;let r=1/0,a;for(let o of Object.keys(c)){let u=c[o],s=d(e,u);s<r&&(r=s,a=o)}return a},i.keyword.rgb=function(e){return c[e]},i.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let o=t*.4124+r*.3576+a*.1805,u=t*.2126+r*.7152+a*.0722,s=t*.0193+r*.1192+a*.9505;return[o*100,u*100,s*100]},i.rgb.lab=function(e){let t=i.rgb.xyz(e),r=t[0],a=t[1],o=t[2];r/=95.047,a/=100,o/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let u=116*a-16,s=500*(r-a),f=200*(a-o);return[u,s,f]},i.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,o,u,s;if(r===0)return s=a*255,[s,s,s];a<.5?o=a*(1+r):o=a+r-a*r;let f=2*a-o,g=[0,0,0];for(let b=0;b<3;b++)u=t+1/3*-(b-1),u<0&&u++,u>1&&u--,6*u<1?s=f+(o-f)*6*u:2*u<1?s=o:3*u<2?s=f+(o-f)*(2/3-u)*6:s=f,g[b]=s*255;return g},i.hsl.hsv=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,o=r,u=Math.max(a,.01);a*=2,r*=a<=1?a:2-a,o*=u<=1?u:2-u;let s=(a+r)/2,f=a===0?2*o/(u+o):2*r/(a+r);return[t,f*100,s*100]},i.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,a=e[2]/100,o=Math.floor(t)%6,u=t-Math.floor(t),s=255*a*(1-r),f=255*a*(1-r*u),g=255*a*(1-r*(1-u));switch(a*=255,o){case 0:return[a,g,s];case 1:return[f,a,s];case 2:return[s,a,g];case 3:return[s,f,a];case 4:return[g,s,a];case 5:return[a,s,f]}},i.hsv.hsl=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,o=Math.max(a,.01),u,s;s=(2-r)*a;let f=(2-r)*o;return u=r*o,u/=f<=1?f:2-f,u=u||0,s/=2,[t,u*100,s*100]},i.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,o=r+a,u;o>1&&(r/=o,a/=o);let s=Math.floor(6*t),f=1-a;u=6*t-s,s&1&&(u=1-u);let g=r+u*(f-r),b,y,m;switch(s){default:case 6:case 0:b=f,y=g,m=r;break;case 1:b=g,y=f,m=r;break;case 2:b=r,y=f,m=g;break;case 3:b=r,y=g,m=f;break;case 4:b=g,y=r,m=f;break;case 5:b=f,y=r,m=g;break}return[b*255,y*255,m*255]},i.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,o=e[3]/100,u=1-Math.min(1,t*(1-o)+o),s=1-Math.min(1,r*(1-o)+o),f=1-Math.min(1,a*(1-o)+o);return[u*255,s*255,f*255]},i.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,o,u,s;return o=t*3.2406+r*-1.5372+a*-.4986,u=t*-.9689+r*1.8758+a*.0415,s=t*.0557+r*-.204+a*1.057,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=Math.min(Math.max(0,o),1),u=Math.min(Math.max(0,u),1),s=Math.min(Math.max(0,s),1),[o*255,u*255,s*255]},i.xyz.lab=function(e){let t=e[0],r=e[1],a=e[2];t/=95.047,r/=100,a/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let o=116*r-16,u=500*(t-r),s=200*(r-a);return[o,u,s]},i.lab.xyz=function(e){let t=e[0],r=e[1],a=e[2],o,u,s;u=(t+16)/116,o=r/500+u,s=u-a/200;let f=u**3,g=o**3,b=s**3;return u=f>.008856?f:(u-16/116)/7.787,o=g>.008856?g:(o-16/116)/7.787,s=b>.008856?b:(s-16/116)/7.787,o*=95.047,u*=100,s*=108.883,[o,u,s]},i.lab.lch=function(e){let t=e[0],r=e[1],a=e[2],o;o=Math.atan2(a,r)*360/2/Math.PI,o<0&&(o+=360);let u=Math.sqrt(r*r+a*a);return[t,u,o]},i.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,o=r*Math.cos(a),u=r*Math.sin(a);return[t,o,u]},i.rgb.ansi16=function(e,t=null){let[r,a,o]=e,u=t===null?i.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),u===0)return 30;let s=30+(Math.round(o/255)<<2|Math.round(a/255)<<1|Math.round(r/255));return u===2&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){let t=e[0],r=e[1],a=e[2];return t===r&&r===a?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(a/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,a=(t&1)*r*255,o=(t>>1&1)*r*255,u=(t>>2&1)*r*255;return[a,o,u]},i.ansi256.rgb=function(e){if(e>=232){let u=(e-232)*10+8;return[u,u,u]}e-=16;let t,r=Math.floor(e/36)/5*255,a=Math.floor((t=e%36)/6)/5*255,o=t%6/5*255;return[r,a,o]},i.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(f=>f+f).join(""));let a=parseInt(r,16),o=a>>16&255,u=a>>8&255,s=a&255;return[o,u,s]},i.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,o=Math.max(Math.max(t,r),a),u=Math.min(Math.min(t,r),a),s=o-u,f,g;return s<1?f=u/(1-s):f=0,s<=0?g=0:o===t?g=(r-a)/s%6:o===r?g=2+(a-t)/s:g=4+(t-r)/s,g/=6,g%=1,[g*360,s*100,f*100]},i.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=r<.5?2*t*r:2*t*(1-r),o=0;return a<1&&(o=(r-.5*a)/(1-a)),[e[0],a*100,o*100]},i.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=t*r,o=0;return a<1&&(o=(r-a)/(1-a)),[e[0],a*100,o*100]},i.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100;if(r===0)return[a*255,a*255,a*255];let o=[0,0,0],u=t%1*6,s=u%1,f=1-s,g=0;switch(Math.floor(u)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=f,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=f,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=f}return g=(1-r)*a,[(r*o[0]+g)*255,(r*o[1]+g)*255,(r*o[2]+g)*255]},i.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t),o=0;return a>0&&(o=t/a),[e[0],o*100,a*100]},i.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,a=0;return r>0&&r<.5?a=t/(2*r):r>=.5&&r<1&&(a=t/(2*(1-r))),[e[0],a*100,r*100]},i.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t);return[e[0],(a-t)*100,(1-a)*100]},i.hwb.hcg=function(e){let t=e[1]/100,r=1-e[2]/100,a=r-t,o=0;return a<1&&(o=(r-a)/(1-a)),[e[0],a*100,o*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),me=H({"../../node_modules/color-convert/route.js"(n,l){var c=J();function h(){let t={},r=Object.keys(c);for(let a=r.length,o=0;o<a;o++)t[r[o]]={distance:-1,parent:null};return t}function i(t){let r=h(),a=[t];for(r[t].distance=0;a.length;){let o=a.pop(),u=Object.keys(c[o]);for(let s=u.length,f=0;f<s;f++){let g=u[f],b=r[g];b.distance===-1&&(b.distance=r[o].distance+1,b.parent=o,a.unshift(g))}}return r}function d(t,r){return function(a){return r(t(a))}}function e(t,r){let a=[r[t].parent,t],o=c[r[t].parent][t],u=r[t].parent;for(;r[u].parent;)a.unshift(r[u].parent),o=d(c[r[u].parent][u],o),u=r[u].parent;return o.conversion=a,o}l.exports=function(t){let r=i(t),a={},o=Object.keys(r);for(let u=o.length,s=0;s<u;s++){let f=o[s];r[f].parent!==null&&(a[f]=e(f,r))}return a}}}),pe=H({"../../node_modules/color-convert/index.js"(n,l){var c=J(),h=me(),i={},d=Object.keys(c);function e(r){let a=function(...o){let u=o[0];return u==null?u:(u.length>1&&(o=u),r(o))};return"conversion"in r&&(a.conversion=r.conversion),a}function t(r){let a=function(...o){let u=o[0];if(u==null)return u;u.length>1&&(o=u);let s=r(o);if(typeof s=="object")for(let f=s.length,g=0;g<f;g++)s[g]=Math.round(s[g]);return s};return"conversion"in r&&(a.conversion=r.conversion),a}d.forEach(r=>{i[r]={},Object.defineProperty(i[r],"channels",{value:c[r].channels}),Object.defineProperty(i[r],"labels",{value:c[r].labels});let a=h(r);Object.keys(a).forEach(o=>{let u=a[o];i[r][o]=t(u),i[r][o].raw=e(u)})}),l.exports=i}}),_=ce(pe());function M(){return(M=Object.assign||function(n){for(var l=1;l<arguments.length;l++){var c=arguments[l];for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&(n[h]=c[h])}return n}).apply(this,arguments)}function X(n,l){if(n==null)return{};var c,h,i={},d=Object.keys(n);for(h=0;h<d.length;h++)l.indexOf(c=d[h])>=0||(i[c]=n[c]);return i}function P(n){var l=p.useRef(n),c=p.useRef(function(h){l.current&&l.current(h)});return l.current=n,c.current}var $=function(n,l,c){return l===void 0&&(l=0),c===void 0&&(c=1),n>c?c:n<l?l:n},N=function(n){return"touches"in n},L=function(n){return n&&n.ownerDocument.defaultView||self},G=function(n,l,c){var h=n.getBoundingClientRect(),i=N(l)?function(d,e){for(var t=0;t<d.length;t++)if(d[t].identifier===e)return d[t];return d[0]}(l.touches,c):l;return{left:$((i.pageX-(h.left+L(n).pageXOffset))/h.width),top:$((i.pageY-(h.top+L(n).pageYOffset))/h.height)}},F=function(n){!N(n)&&n.preventDefault()},D=v.memo(function(n){var l=n.onMove,c=n.onKey,h=X(n,["onMove","onKey"]),i=p.useRef(null),d=P(l),e=P(c),t=p.useRef(null),r=p.useRef(!1),a=p.useMemo(function(){var f=function(y){F(y),(N(y)?y.touches.length>0:y.buttons>0)&&i.current?d(G(i.current,y,t.current)):b(!1)},g=function(){return b(!1)};function b(y){var m=r.current,k=L(i.current),w=y?k.addEventListener:k.removeEventListener;w(m?"touchmove":"mousemove",f),w(m?"touchend":"mouseup",g)}return[function(y){var m=y.nativeEvent,k=i.current;if(k&&(F(m),!function(q,se){return se&&!N(q)}(m,r.current)&&k)){if(N(m)){r.current=!0;var w=m.changedTouches||[];w.length&&(t.current=w[0].identifier)}k.focus(),d(G(k,m,t.current)),b(!0)}},function(y){var m=y.which||y.keyCode;m<37||m>40||(y.preventDefault(),e({left:m===39?.05:m===37?-.05:0,top:m===40?.05:m===38?-.05:0}))},b]},[e,d]),o=a[0],u=a[1],s=a[2];return p.useEffect(function(){return s},[s]),v.createElement("div",M({},h,{onTouchStart:o,onMouseDown:o,className:"react-colorful__interactive",ref:i,onKeyDown:u,tabIndex:0,role:"slider"}))}),O=function(n){return n.filter(Boolean).join(" ")},V=function(n){var l=n.color,c=n.left,h=n.top,i=h===void 0?.5:h,d=O(["react-colorful__pointer",n.className]);return v.createElement("div",{className:d,style:{top:100*i+"%",left:100*c+"%"}},v.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:l}}))},x=function(n,l,c){return l===void 0&&(l=0),c===void 0&&(c=Math.pow(10,l)),Math.round(c*n)/c},ye={grad:.9,turn:360,rad:360/(2*Math.PI)},xe=function(n){return ee(B(n))},B=function(n){return n[0]==="#"&&(n=n.substring(1)),n.length<6?{r:parseInt(n[0]+n[0],16),g:parseInt(n[1]+n[1],16),b:parseInt(n[2]+n[2],16),a:n.length===4?x(parseInt(n[3]+n[3],16)/255,2):1}:{r:parseInt(n.substring(0,2),16),g:parseInt(n.substring(2,4),16),b:parseInt(n.substring(4,6),16),a:n.length===8?x(parseInt(n.substring(6,8),16)/255,2):1}},we=function(n,l){return l===void 0&&(l="deg"),Number(n)*(ye[l]||1)},ke=function(n){var l=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return l?_e({h:we(l[1],l[2]),s:Number(l[3]),l:Number(l[4]),a:l[5]===void 0?1:Number(l[5])/(l[6]?100:1)}):{h:0,s:0,v:0,a:1}},_e=function(n){var l=n.s,c=n.l;return{h:n.h,s:(l*=(c<50?c:100-c)/100)>0?2*l/(c+l)*100:0,v:c+l,a:n.a}},Ee=function(n){return Ce(Z(n))},Q=function(n){var l=n.s,c=n.v,h=n.a,i=(200-l)*c/100;return{h:x(n.h),s:x(i>0&&i<200?l*c/100/(i<=100?i:200-i)*100:0),l:x(i/2),a:x(h,2)}},T=function(n){var l=Q(n);return"hsl("+l.h+", "+l.s+"%, "+l.l+"%)"},z=function(n){var l=Q(n);return"hsla("+l.h+", "+l.s+"%, "+l.l+"%, "+l.a+")"},Z=function(n){var l=n.h,c=n.s,h=n.v,i=n.a;l=l/360*6,c/=100,h/=100;var d=Math.floor(l),e=h*(1-c),t=h*(1-(l-d)*c),r=h*(1-(1-l+d)*c),a=d%6;return{r:x(255*[h,t,e,e,r,h][a]),g:x(255*[r,h,h,t,e,e][a]),b:x(255*[e,e,r,h,h,t][a]),a:x(i,2)}},Me=function(n){var l=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return l?ee({r:Number(l[1])/(l[2]?100/255:1),g:Number(l[3])/(l[4]?100/255:1),b:Number(l[5])/(l[6]?100/255:1),a:l[7]===void 0?1:Number(l[7])/(l[8]?100:1)}):{h:0,s:0,v:0,a:1}},S=function(n){var l=n.toString(16);return l.length<2?"0"+l:l},Ce=function(n){var l=n.r,c=n.g,h=n.b,i=n.a,d=i<1?S(x(255*i)):"";return"#"+S(l)+S(c)+S(h)+d},ee=function(n){var l=n.r,c=n.g,h=n.b,i=n.a,d=Math.max(l,c,h),e=d-Math.min(l,c,h),t=e?d===l?(c-h)/e:d===c?2+(h-l)/e:4+(l-c)/e:0;return{h:x(60*(t<0?t+6:t)),s:x(d?e/d*100:0),v:x(d/255*100),a:i}},re=v.memo(function(n){var l=n.hue,c=n.onChange,h=O(["react-colorful__hue",n.className]);return v.createElement("div",{className:h},v.createElement(D,{onMove:function(i){c({h:360*i.left})},onKey:function(i){c({h:$(l+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":x(l),"aria-valuemax":"360","aria-valuemin":"0"},v.createElement(V,{className:"react-colorful__hue-pointer",left:l/360,color:T({h:l,s:100,v:100,a:1})})))}),te=v.memo(function(n){var l=n.hsva,c=n.onChange,h={backgroundColor:T({h:l.h,s:100,v:100,a:1})};return v.createElement("div",{className:"react-colorful__saturation",style:h},v.createElement(D,{onMove:function(i){c({s:100*i.left,v:100-100*i.top})},onKey:function(i){c({s:$(l.s+100*i.left,0,100),v:$(l.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+x(l.s)+"%, Brightness "+x(l.v)+"%"},v.createElement(V,{className:"react-colorful__saturation-pointer",top:1-l.v/100,left:l.s/100,color:T(l)})))}),ne=function(n,l){if(n===l)return!0;for(var c in n)if(n[c]!==l[c])return!1;return!0},ae=function(n,l){return n.replace(/\s/g,"")===l.replace(/\s/g,"")},$e=function(n,l){return n.toLowerCase()===l.toLowerCase()||ne(B(n),B(l))};function oe(n,l,c){var h=P(c),i=p.useState(function(){return n.toHsva(l)}),d=i[0],e=i[1],t=p.useRef({color:l,hsva:d});p.useEffect(function(){if(!n.equal(l,t.current.color)){var a=n.toHsva(l);t.current={hsva:a,color:l},e(a)}},[l,n]),p.useEffect(function(){var a;ne(d,t.current.hsva)||n.equal(a=n.fromHsva(d),t.current.color)||(t.current={hsva:d,color:a},h(a))},[d,n,h]);var r=p.useCallback(function(a){e(function(o){return Object.assign({},o,a)})},[]);return[d,r]}var Ne=typeof window<"u"?p.useLayoutEffect:p.useEffect,Oe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},W=new Map,le=function(n){Ne(function(){var l=n.current?n.current.ownerDocument:document;if(l!==void 0&&!W.has(l)){var c=l.createElement("style");c.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,W.set(l,c);var h=Oe();h&&c.setAttribute("nonce",h),l.head.appendChild(c)}},[])},Se=function(n){var l=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=X(n,["className","colorModel","color","onChange"]),t=p.useRef(null);le(t);var r=oe(c,i,d),a=r[0],o=r[1],u=O(["react-colorful",l]);return v.createElement("div",M({},e,{ref:t,className:u}),v.createElement(te,{hsva:a,onChange:o}),v.createElement(re,{hue:a.h,onChange:o,className:"react-colorful__last-control"}))},je={defaultColor:"000",toHsva:xe,fromHsva:function(n){return Ee({h:n.h,s:n.s,v:n.v,a:1})},equal:$e},Re=function(n){return v.createElement(Se,M({},n,{colorModel:je}))},ze=function(n){var l=n.className,c=n.hsva,h=n.onChange,i={backgroundImage:"linear-gradient(90deg, "+z(Object.assign({},c,{a:0}))+", "+z(Object.assign({},c,{a:1}))+")"},d=O(["react-colorful__alpha",l]),e=x(100*c.a);return v.createElement("div",{className:d},v.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),v.createElement(D,{onMove:function(t){h({a:t.left})},onKey:function(t){h({a:$(c.a+t.left)})},"aria-label":"Alpha","aria-valuetext":e+"%","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"100"},v.createElement(V,{className:"react-colorful__alpha-pointer",left:c.a,color:z(c)})))},ue=function(n){var l=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=X(n,["className","colorModel","color","onChange"]),t=p.useRef(null);le(t);var r=oe(c,i,d),a=r[0],o=r[1],u=O(["react-colorful",l]);return v.createElement("div",M({},e,{ref:t,className:u}),v.createElement(te,{hsva:a,onChange:o}),v.createElement(re,{hue:a.h,onChange:o}),v.createElement(ze,{hsva:a,onChange:o,className:"react-colorful__last-control"}))},Ie={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:ke,fromHsva:z,equal:ae},He=function(n){return v.createElement(ue,M({},n,{colorModel:Ie}))},qe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Me,fromHsva:function(n){var l=Z(n);return"rgba("+l.r+", "+l.g+", "+l.b+", "+l.a+")"},equal:ae},Pe=function(n){return v.createElement(ue,M({},n,{colorModel:qe}))},Le=E.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),Be=E(Y)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),Te=E.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Ke=E(he)(({theme:n})=>({fontFamily:n.typography.fonts.base})),Xe=E.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),De=E.div(({theme:n,active:l})=>({width:16,height:16,boxShadow:l?`${n.appBorderColor} 0 0 0 1px inset, ${n.textMutedColor}50 0 0 0 4px`:`${n.appBorderColor} 0 0 0 1px inset`,borderRadius:n.appBorderRadius})),Ve=`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,A=({value:n,style:l,...c})=>{let h=`linear-gradient(${n}, ${n}), ${Ve}, linear-gradient(#fff, #fff)`;return v.createElement(De,{...c,style:{...l,backgroundImage:h}})},Ge=E(fe.Input)(({theme:n,readOnly:l})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:n.typography.fonts.base})),Fe=E(de)(({theme:n})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:n.input.color})),ie=(n=>(n.RGB="rgb",n.HSL="hsl",n.HEX="hex",n))(ie||{}),j=Object.values(ie),We=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Ae=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Ue=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,K=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Ye=/^\s*#?([0-9a-f]{3})\s*$/i,Je={hex:Re,rgb:Pe,hsl:He},R={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},U=n=>{let l=n?.match(We);if(!l)return[0,0,0,1];let[,c,h,i,d=1]=l;return[c,h,i,d].map(Number)},C=n=>{if(!n)return;let l=!0;if(Ae.test(n)){let[e,t,r,a]=U(n),[o,u,s]=_.default.rgb.hsl([e,t,r])||[0,0,0];return{valid:l,value:n,keyword:_.default.rgb.keyword([e,t,r]),colorSpace:"rgb",rgb:n,hsl:`hsla(${o}, ${u}%, ${s}%, ${a})`,hex:`#${_.default.rgb.hex([e,t,r]).toLowerCase()}`}}if(Ue.test(n)){let[e,t,r,a]=U(n),[o,u,s]=_.default.hsl.rgb([e,t,r])||[0,0,0];return{valid:l,value:n,keyword:_.default.hsl.keyword([e,t,r]),colorSpace:"hsl",rgb:`rgba(${o}, ${u}, ${s}, ${a})`,hsl:n,hex:`#${_.default.hsl.hex([e,t,r]).toLowerCase()}`}}let c=n.replace("#",""),h=_.default.keyword.rgb(c)||_.default.hex.rgb(c),i=_.default.rgb.hsl(h),d=n;if(/[^#a-f0-9]/i.test(n)?d=c:K.test(n)&&(d=`#${c}`),d.startsWith("#"))l=K.test(d);else try{_.default.keyword.hex(d)}catch{l=!1}return{valid:l,value:d,keyword:_.default.rgb.keyword(h),colorSpace:"hex",rgb:`rgba(${h[0]}, ${h[1]}, ${h[2]}, 1)`,hsl:`hsla(${i[0]}, ${i[1]}%, ${i[2]}%, 1)`,hex:d}},Qe=(n,l,c)=>{if(!n||!l?.valid)return R[c];if(c!=="hex")return l?.[c]||R[c];if(!l.hex.startsWith("#"))try{return`#${_.default.keyword.hex(l.hex)}`}catch{return R.hex}let h=l.hex.match(Ye);if(!h)return K.test(l.hex)?l.hex:R.hex;let[i,d,e]=h[1].split("");return`#${i}${i}${d}${d}${e}${e}`},Ze=(n,l)=>{let[c,h]=p.useState(n||""),[i,d]=p.useState(()=>C(c)),[e,t]=p.useState(i?.colorSpace||"hex");p.useEffect(()=>{let u=n||"",s=C(u);h(u),d(s),t(s?.colorSpace||"hex")},[n]);let r=p.useMemo(()=>Qe(c,i,e).toLowerCase(),[c,i,e]),a=p.useCallback(u=>{let s=C(u),f=s?.value||u||"";h(f),f===""&&(d(void 0),l(void 0)),s&&(d(s),t(s.colorSpace),l(s.value))},[l]),o=p.useCallback(()=>{let u=j.indexOf(e)+1;u>=j.length&&(u=0),t(j[u]);let s=i?.[j[u]]||"";h(s),l(s)},[i,e,l]);return{value:c,realValue:r,updateValue:a,color:i,colorSpace:e,cycleColorSpace:o}},I=n=>n.replace(/\s*/,"").toLowerCase(),er=(n,l,c)=>{let[h,i]=p.useState(l?.valid?[l]:[]);p.useEffect(()=>{l===void 0&&i([])},[l]);let d=p.useMemo(()=>(n||[]).map(t=>typeof t=="string"?C(t):t.title?{...C(t.color),keyword:t.title}:C(t.color)).concat(h).filter(Boolean).slice(-27),[n,h]),e=p.useCallback(t=>{t?.valid&&(d.some(r=>I(r[c])===I(t[c]))||i(r=>r.concat(t)))},[c,d]);return{presets:d,addPreset:e}},rr=({name:n,value:l,onChange:c,onFocus:h,onBlur:i,presetColors:d,startOpen:e=!1,argType:t})=>{let r=p.useCallback(ge(c,200),[c]),{value:a,realValue:o,updateValue:u,color:s,colorSpace:f,cycleColorSpace:g}=Ze(l,r),{presets:b,addPreset:y}=er(d,s,f),m=Je[f],k=!!t?.table?.readonly;return v.createElement(Le,{"aria-readonly":k},v.createElement(Be,{startOpen:e,trigger:k?[null]:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>y(s),tooltip:v.createElement(Te,null,v.createElement(m,{color:o==="transparent"?"#000000":o,onChange:u,onFocus:h,onBlur:i}),b.length>0&&v.createElement(Xe,null,b.map((w,q)=>v.createElement(Y,{key:`${w.value}-${q}`,hasChrome:!1,tooltip:v.createElement(Ke,{note:w.keyword||w.value})},v.createElement(A,{value:w[f],active:s&&I(w[f])===I(s[f]),onClick:()=>u(w.value)})))))},v.createElement(A,{value:o,style:{margin:4}})),v.createElement(Ge,{id:be(n),value:a,onChange:w=>u(w.target.value),onFocus:w=>w.target.select(),readOnly:k,placeholder:"Choose color..."}),a?v.createElement(Fe,{onClick:g}):null)},ir=rr;export{rr as ColorControl,ir as default};