@brightspot/ui 5.3.2 → 5.4.0

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 (102) hide show
  1. package/dist/components/banner/Banner.css +32 -0
  2. package/dist/components/banner/Banner.d.ts +56 -0
  3. package/dist/components/banner/Banner.d.ts.map +1 -0
  4. package/dist/components/banner/Banner.js +94 -0
  5. package/dist/components/banner/Banner.js.map +1 -0
  6. package/dist/components/banner/Message.css +4 -0
  7. package/dist/components/banner/Message.d.ts +103 -0
  8. package/dist/components/banner/Message.d.ts.map +1 -0
  9. package/dist/components/banner/Message.js +235 -0
  10. package/dist/components/banner/Message.js.map +1 -0
  11. package/dist/custom-elements.json +319 -0
  12. package/dist/storybook/assets/{ActionBar.stories-1Iqfy4PV.js → ActionBar.stories-BJcrfF0X.js} +1 -1
  13. package/dist/storybook/assets/{ActionItem.stories-DjKyE7m_.js → ActionItem.stories-xLR-VN2Q.js} +1 -1
  14. package/dist/storybook/assets/{Avatar.stories-Dy36fKQN.js → Avatar.stories-Cj5Q2yEp.js} +1 -1
  15. package/dist/storybook/assets/{AvatarGroup.stories-Bh8TY9-P.js → AvatarGroup.stories-DLWAQHFa.js} +1 -1
  16. package/dist/storybook/assets/{Badge.stories-Bn0aBHka.js → Badge.stories-DGSKAf9D.js} +1 -1
  17. package/dist/storybook/assets/Banner.stories-BZ3LLa4I.js +203 -0
  18. package/dist/storybook/assets/{Button-D8Sr8A-v.js → Button-ffu9dnxC.js} +1 -1
  19. package/dist/storybook/assets/{Button.stories-CtRBI4gv.js → Button.stories-DB-uDcVu.js} +1 -1
  20. package/dist/storybook/assets/{ButtonGroup.stories-CVjQWgMD.js → ButtonGroup.stories-eGya8Uts.js} +1 -1
  21. package/dist/storybook/assets/{Card.stories-DXTqqbXb.js → Card.stories-B_hhKmQB.js} +1 -1
  22. package/dist/storybook/assets/{Celebrate.stories-DwQeQ1VN.js → Celebrate.stories-DqKwiwly.js} +1 -1
  23. package/dist/storybook/assets/{Checkbox.stories-D4AyVy-V.js → Checkbox.stories-Bly8OVzf.js} +1 -1
  24. package/dist/storybook/assets/{CircularProgress.stories-D6dHpD70.js → CircularProgress.stories-BZUNNkMK.js} +1 -1
  25. package/dist/storybook/assets/{ClipboardMixin.stories-CvYj7bwY.js → ClipboardMixin.stories-D2XMhwIg.js} +1 -1
  26. package/dist/storybook/assets/{Color-6BZIO3FS-o6fp9dCO.js → Color-6BZIO3FS-BPcC43iH.js} +1 -1
  27. package/dist/storybook/assets/{Colors.stories-Bg-Xuo05.js → Colors.stories-DveV04we.js} +1 -1
  28. package/dist/storybook/assets/{CombinedEffects.stories-C4SNTP9M.js → CombinedEffects.stories-Dl_MhHhl.js} +1 -1
  29. package/dist/storybook/assets/{ComponentStatesMixin-Dj1V-e8c.js → ComponentStatesMixin-CmZnizKN.js} +1 -1
  30. package/dist/storybook/assets/{ComponentStatesMixin.stories-CUoagWLT.js → ComponentStatesMixin.stories-BrAFoGDu.js} +1 -1
  31. package/dist/storybook/assets/{CopyToClipboard.stories-ynkFni9d.js → CopyToClipboard.stories-CiKbtpBJ.js} +1 -1
  32. package/dist/storybook/assets/{Debounce.stories-xAZ6AOUR.js → Debounce.stories-BQ7W_yTX.js} +1 -1
  33. package/dist/storybook/assets/{DocsRenderer-LL677BLK-DeoiTMLA.js → DocsRenderer-LL677BLK-DiDzi0rZ.js} +3 -3
  34. package/dist/storybook/assets/{Dropdown.stories-BQzwsyHE.js → Dropdown.stories-LYd0-ypG.js} +1 -1
  35. package/dist/storybook/assets/{EmptyState.stories-CrckJlBX.js → EmptyState.stories-DjKyE0h3.js} +1 -1
  36. package/dist/storybook/assets/{EscaAvatar.stories-BikckAep.js → EscaAvatar.stories-D3v91UKv.js} +1 -1
  37. package/dist/storybook/assets/{Events.stories-DC0XMBhF.js → Events.stories-CTe5eZa6.js} +1 -1
  38. package/dist/storybook/assets/{Heading.stories-7YtY0gNK.js → Heading.stories-DKt-wgRB.js} +1 -1
  39. package/dist/storybook/assets/{HueRipple.stories-hRstwRnF.js → HueRipple.stories-B3SVSdL8.js} +1 -1
  40. package/dist/storybook/assets/{Icon.stories-4-2N4UlX.js → Icon.stories-B5tDsd--.js} +1 -1
  41. package/dist/storybook/assets/{IconButton.stories-ClpNoAT9.js → IconButton.stories-DOV4zFAP.js} +1 -1
  42. package/dist/storybook/assets/{LinearProgress.stories-BlH24bsJ.js → LinearProgress.stories-ai3UD-xw.js} +1 -1
  43. package/dist/storybook/assets/Message.stories-CzqIe49h.js +432 -0
  44. package/dist/storybook/assets/{OnFindMixin.stories-CKoPIaks.js → OnFindMixin.stories-CUaE6pX1.js} +1 -1
  45. package/dist/storybook/assets/{Pagination.stories-CER9zwKW.js → Pagination.stories-CXCbChNW.js} +1 -1
  46. package/dist/storybook/assets/{Popover.stories-CO7t4Pl8.js → Popover.stories-DyptvVL3.js} +1 -1
  47. package/dist/storybook/assets/{ReadyMixin-C_H-s0cp.js → ReadyMixin-BUpBkgED.js} +1 -1
  48. package/dist/storybook/assets/{RovingTabindexMixin.stories-0Sny7BQc.js → RovingTabindexMixin.stories-DzEH38Tn.js} +1 -1
  49. package/dist/storybook/assets/{Rtc.stories-Ci7CnFM6.js → Rtc.stories-DxQWkudF.js} +1 -1
  50. package/dist/storybook/assets/{ScrollShadow.stories-CSbM9xdE.js → ScrollShadow.stories-DbMdNLKA.js} +1 -1
  51. package/dist/storybook/assets/{Switch.stories-D-SGY0dL.js → Switch.stories-CvSwuR0Z.js} +1 -1
  52. package/dist/storybook/assets/{Tab.stories-DXeloL5R.js → Tab.stories-CI6m8NXD.js} +1 -1
  53. package/dist/storybook/assets/{Tabs.stories-KGjrQHnj.js → Tabs.stories-BMat3ubI.js} +1 -1
  54. package/dist/storybook/assets/{Throttle.stories-SjszmCVX.js → Throttle.stories-PEUZoXfI.js} +1 -1
  55. package/dist/storybook/assets/{Tooltip.stories-DZty4zmq.js → Tooltip.stories-kDJ5PbGO.js} +1 -1
  56. package/dist/storybook/assets/{Upload.stories-CoM7bgt1.js → Upload.stories-Bb5KBlh7.js} +1 -1
  57. package/dist/storybook/assets/{UploadItem.stories-CRrp-ZTV.js → UploadItem.stories-VZVWc52f.js} +1 -1
  58. package/dist/storybook/assets/{Welcome.stories-lQ_IWtd1.js → Welcome.stories-BgzaFbT1.js} +1 -1
  59. package/dist/storybook/assets/{Widget.stories-rY-A2yAZ.js → Widget.stories-Bbczy09Q.js} +1 -1
  60. package/dist/storybook/assets/{WithTooltip-65CFNBJE-asVkTqyz.js → WithTooltip-65CFNBJE-BoKgPPcr.js} +1 -1
  61. package/dist/storybook/assets/{blocks-D-cAwpi5.js → blocks-j0yzxuDk.js} +5 -5
  62. package/dist/storybook/assets/{formatter-EIJCOSYU-CaSK-GPg.js → formatter-EIJCOSYU-B5-4vV2C.js} +1 -1
  63. package/dist/storybook/assets/if-defined-DBQP12ek.js +1 -0
  64. package/dist/storybook/assets/iframe-Ce3XRnL4.css +1 -0
  65. package/dist/storybook/assets/{iframe-DpPeZoRd.js → iframe-DUmd7GbF.js} +86 -86
  66. package/dist/storybook/assets/{index-Eb_LP-gw.js → index-ACSvfrQi.js} +1 -1
  67. package/dist/storybook/assets/{onFind-D8gPkhwL.js → onFind-t_5Bmfio.js} +1 -1
  68. package/dist/storybook/assets/{onFind.stories-C_2tTxBq.js → onFind.stories-CQWcRPFY.js} +1 -1
  69. package/dist/storybook/assets/{onRemove.stories-D-gjr3kA.js → onRemove.stories-B9_DDB2B.js} +1 -1
  70. package/dist/storybook/assets/{onVisible.stories-DGfzNLoX.js → onVisible.stories-G0qjGum_.js} +1 -1
  71. package/dist/storybook/assets/{style-map-WEdc6AkA.js → style-map-D_jXmlQ4.js} +1 -1
  72. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CCM2wmJ3.js → syntaxhighlighter-ED5Y7EFY-7_fYNYDB.js} +1 -1
  73. package/dist/storybook/iframe.html +2 -2
  74. package/dist/storybook/index.json +1 -1
  75. package/dist/storybook/project.json +1 -1
  76. package/dist/tailwind-plugin-message.d.ts +2 -0
  77. package/dist/tailwind-plugin-message.d.ts.map +1 -0
  78. package/dist/tailwind-plugin-message.js +168 -0
  79. package/dist/tailwind-plugin-message.js.map +1 -0
  80. package/dist/tailwind-plugin-message.ts +226 -0
  81. package/dist/tailwind.config.d.ts.map +1 -1
  82. package/dist/tailwind.config.js +2 -0
  83. package/dist/tailwind.config.js.map +1 -1
  84. package/dist/tailwind.config.ts +2 -0
  85. package/dist/util/EventEmitterMixin.d.ts +3 -0
  86. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  87. package/dist/util/EventEmitterMixin.js.map +1 -1
  88. package/docs/components/Banner.md +49 -0
  89. package/docs/components/Message.md +75 -0
  90. package/docs/components/README.md +2 -0
  91. package/package.json +1 -1
  92. package/src/legacy/tool-ui/src/ContentInputGroup.css +4 -0
  93. package/src/legacy/tool-ui/src/Hierarchy.css +4 -11
  94. package/src/legacy/tool-ui/src/Page.css +1 -1
  95. package/src/legacy/tool-ui/src/main/webapp/dist/{v4.da15ce3ce45e85b4880a.js → v4.84f71eb0a38ed97f7d3a.js} +2 -2
  96. package/src/legacy/tool-ui/src/main/webapp/dist/{v5.8491d982a282935a3058.js → v5.060e8a546f81da35c4de.js} +2 -2
  97. package/src/legacy/tool-ui/src/main/webapp/dist/v5.ac655d942db92fdcddfc.css +5 -0
  98. package/dist/storybook/assets/if-defined-aps73Iby.js +0 -1
  99. package/dist/storybook/assets/iframe-1F7Ef_8q.css +0 -1
  100. package/src/legacy/tool-ui/src/main/webapp/dist/v5.9b40c96064a0f8a10b53.css +0 -5
  101. /package/src/legacy/tool-ui/src/main/webapp/dist/{v4.da15ce3ce45e85b4880a.js.LICENSE.txt → v4.84f71eb0a38ed97f7d3a.js.LICENSE.txt} +0 -0
  102. /package/src/legacy/tool-ui/src/main/webapp/dist/{v5.8491d982a282935a3058.js.LICENSE.txt → v5.060e8a546f81da35c4de.js.LICENSE.txt} +0 -0
@@ -0,0 +1,203 @@
1
+ import{g as i,x as e}from"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";const{events:b,args:d,argTypes:l}=i("btu-banner"),p={title:"Components/Banner",component:"btu-banner",tags:["autodocs"],parameters:{docs:{subtitle:"Full-width wrapper that pins a message to the top of the CMS",description:{component:`
2
+ <h3>When to use:</h3>
3
+ <ul>
4
+ <li>Pin a high-visibility message to the full width of the page — a site-wide alert above the CMS content area or a content edit page</li>
5
+ </ul>
6
+
7
+ <h3>Structure:</h3>
8
+ <p>The banner is a thin container with no content API of its own: compose a single <code>&lt;btu-message&gt;</code> inside it and the banner spans it edge-to-edge with only a bottom border and no corner rounding. Set all content — <code>variant</code>, <code>label</code>, <code>symbol</code>, <code>dismissible</code>, and the <code>badge</code>/<code>description</code>/<code>actions</code> slots — on the <a href="?path=/docs/components-message--docs">Message</a> itself. Because the banner is always full width, the message inside it has no <code>full-width</code> attribute. Use <a href="?path=/docs/components-message--docs">Message</a> directly when you want a contained, rounded card instead.</p>
9
+ `}},actions:{handles:b},controls:{disable:!0}},args:{...d},argTypes:{...l,"default-slot":{table:{disable:!0}}}},t={render:()=>e`
10
+ <btu-banner>
11
+ <btu-message variant="primary" label="Scheduled maintenance on Saturday.">
12
+ <span slot="description">Expect up to 30 minutes of downtime starting at 02:00 UTC.</span>
13
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
14
+ Learn more
15
+ </button>
16
+ </btu-message>
17
+ </btu-banner>
18
+ `,parameters:{docs:{description:{story:"Compose a single `<btu-message>` inside the banner. The banner spans it to the full width of its host and strips its corner rounding, leaving only a bottom border."}}}},n={render:()=>e`
19
+ <div class="flex flex-col gap-6">
20
+ <btu-banner>
21
+ <btu-message variant="info" label="New feature released">
22
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
23
+ </btu-message>
24
+ </btu-banner>
25
+ <btu-banner>
26
+ <btu-message variant="warning" label="API rate limits were updated">
27
+ <span slot="description">Review your usage dashboard to stay within the new limits.</span>
28
+ </btu-message>
29
+ </btu-banner>
30
+ <btu-banner>
31
+ <btu-message variant="error" label="We couldn’t reach the publishing service">
32
+ <span slot="description">Your changes are saved as a draft. Retry publishing in a few minutes.</span>
33
+ </btu-message>
34
+ </btu-banner>
35
+ <btu-banner>
36
+ <btu-message variant="success" label="Billing anomaly resolved">
37
+ <span slot="description">All affected invoices have been corrected — no action needed.</span>
38
+ </btu-message>
39
+ </btu-banner>
40
+ </div>
41
+ `,parameters:{docs:{description:{story:"Each variant renders edge-to-edge with a bottom border in its semantic color."}}}},a={render:()=>e`
42
+ <btu-banner>
43
+ <btu-message variant="info" label="Heads up — this banner can be dismissed." dismissible></btu-message>
44
+ </btu-banner>
45
+ `,parameters:{docs:{description:{story:"The message keeps its full API inside a banner — set `dismissible` on the `<btu-message>` to add a close button (it emits `btu-message-dismiss`)."}}}},s={render:()=>e`
46
+ <btu-banner>
47
+ <btu-message variant="info" label="New feature released" dismissible>
48
+ <btu-badge slot="badge" variant="info" size="sm">v2.4</btu-badge>
49
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
50
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
51
+ Learn more
52
+ </button>
53
+ </btu-message>
54
+ </btu-banner>
55
+ `,parameters:{docs:{description:{story:"All of the message’s slots work inside a banner — `badge`, `description`, and `actions` — alongside `dismissible`."}}}},o={render:()=>e`
56
+ <btu-banner>
57
+ <btu-message variant="primary" label="Scheduled maintenance on Saturday">
58
+ <span slot="description">Expect up to 30 minutes of downtime starting at 02:00 UTC.</span>
59
+ </btu-message>
60
+ <btu-message variant="info" label="New feature released">
61
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
62
+ </btu-message>
63
+ <btu-message variant="warning" label="API rate limits were updated">
64
+ <span slot="description">Review your usage dashboard to stay within the new limits.</span>
65
+ </btu-message>
66
+ </btu-banner>
67
+ `,parameters:{docs:{description:{story:"Drop multiple `<btu-message>` children into a banner and it automatically creates a `<btu-pagination>`, shows one message at a time, and wires the navigation — no pagination markup or event handling required."}}}},r={render:()=>e`
68
+ <div class="flex flex-col">
69
+ <btu-banner>
70
+ <btu-message variant="warning" label="Read-only mode">
71
+ <span slot="description">You’re viewing a published revision. Switch to a draft to make changes.</span>
72
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
73
+ Edit draft
74
+ </button>
75
+ </btu-message>
76
+ </btu-banner>
77
+ <div class="p-6 text-sm text-gray-500">Page content sits below the full-width banner.</div>
78
+ </div>
79
+ `,parameters:{docs:{description:{story:"A banner pinned above page content — the typical placement at the top of a CMS content edit page."}}}};t.parameters={...t.parameters,docs:{...t.parameters?.docs,source:{originalSource:`{
80
+ render: () => html\`
81
+ <btu-banner>
82
+ <btu-message variant="primary" label="Scheduled maintenance on Saturday.">
83
+ <span slot="description">Expect up to 30 minutes of downtime starting at 02:00 UTC.</span>
84
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
85
+ Learn more
86
+ </button>
87
+ </btu-message>
88
+ </btu-banner>
89
+ \`,
90
+ parameters: {
91
+ docs: {
92
+ description: {
93
+ story: 'Compose a single \`<btu-message>\` inside the banner. The banner spans it to the full width of its host and strips its corner rounding, leaving only a bottom border.'
94
+ }
95
+ }
96
+ }
97
+ }`,...t.parameters?.docs?.source}}};n.parameters={...n.parameters,docs:{...n.parameters?.docs,source:{originalSource:`{
98
+ render: () => html\`
99
+ <div class="flex flex-col gap-6">
100
+ <btu-banner>
101
+ <btu-message variant="info" label="New feature released">
102
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
103
+ </btu-message>
104
+ </btu-banner>
105
+ <btu-banner>
106
+ <btu-message variant="warning" label="API rate limits were updated">
107
+ <span slot="description">Review your usage dashboard to stay within the new limits.</span>
108
+ </btu-message>
109
+ </btu-banner>
110
+ <btu-banner>
111
+ <btu-message variant="error" label="We couldn’t reach the publishing service">
112
+ <span slot="description">Your changes are saved as a draft. Retry publishing in a few minutes.</span>
113
+ </btu-message>
114
+ </btu-banner>
115
+ <btu-banner>
116
+ <btu-message variant="success" label="Billing anomaly resolved">
117
+ <span slot="description">All affected invoices have been corrected — no action needed.</span>
118
+ </btu-message>
119
+ </btu-banner>
120
+ </div>
121
+ \`,
122
+ parameters: {
123
+ docs: {
124
+ description: {
125
+ story: 'Each variant renders edge-to-edge with a bottom border in its semantic color.'
126
+ }
127
+ }
128
+ }
129
+ }`,...n.parameters?.docs?.source}}};a.parameters={...a.parameters,docs:{...a.parameters?.docs,source:{originalSource:`{
130
+ render: () => html\`
131
+ <btu-banner>
132
+ <btu-message variant="info" label="Heads up — this banner can be dismissed." dismissible></btu-message>
133
+ </btu-banner>
134
+ \`,
135
+ parameters: {
136
+ docs: {
137
+ description: {
138
+ story: 'The message keeps its full API inside a banner — set \`dismissible\` on the \`<btu-message>\` to add a close button (it emits \`btu-message-dismiss\`).'
139
+ }
140
+ }
141
+ }
142
+ }`,...a.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
143
+ render: () => html\`
144
+ <btu-banner>
145
+ <btu-message variant="info" label="New feature released" dismissible>
146
+ <btu-badge slot="badge" variant="info" size="sm">v2.4</btu-badge>
147
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
148
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
149
+ Learn more
150
+ </button>
151
+ </btu-message>
152
+ </btu-banner>
153
+ \`,
154
+ parameters: {
155
+ docs: {
156
+ description: {
157
+ story: 'All of the message’s slots work inside a banner — \`badge\`, \`description\`, and \`actions\` — alongside \`dismissible\`.'
158
+ }
159
+ }
160
+ }
161
+ }`,...s.parameters?.docs?.source}}};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
162
+ render: () => html\`
163
+ <btu-banner>
164
+ <btu-message variant="primary" label="Scheduled maintenance on Saturday">
165
+ <span slot="description">Expect up to 30 minutes of downtime starting at 02:00 UTC.</span>
166
+ </btu-message>
167
+ <btu-message variant="info" label="New feature released">
168
+ <span slot="description">The redesigned editor is now available for all workspaces.</span>
169
+ </btu-message>
170
+ <btu-message variant="warning" label="API rate limits were updated">
171
+ <span slot="description">Review your usage dashboard to stay within the new limits.</span>
172
+ </btu-message>
173
+ </btu-banner>
174
+ \`,
175
+ parameters: {
176
+ docs: {
177
+ description: {
178
+ story: 'Drop multiple \`<btu-message>\` children into a banner and it automatically creates a \`<btu-pagination>\`, shows one message at a time, and wires the navigation — no pagination markup or event handling required.'
179
+ }
180
+ }
181
+ }
182
+ }`,...o.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
183
+ render: () => html\`
184
+ <div class="flex flex-col">
185
+ <btu-banner>
186
+ <btu-message variant="warning" label="Read-only mode">
187
+ <span slot="description">You’re viewing a published revision. Switch to a draft to make changes.</span>
188
+ <button slot="actions" type="button" class="btu-button btu-button-fill-none btu-button-gray btu-button-sm">
189
+ Edit draft
190
+ </button>
191
+ </btu-message>
192
+ </btu-banner>
193
+ <div class="p-6 text-sm text-gray-500">Page content sits below the full-width banner.</div>
194
+ </div>
195
+ \`,
196
+ parameters: {
197
+ docs: {
198
+ description: {
199
+ story: 'A banner pinned above page content — the typical placement at the top of a CMS content edit page.'
200
+ }
201
+ }
202
+ }
203
+ }`,...r.parameters?.docs?.source}}};const m=["Default","Variants","Dismissible","AllSlots","Paginated","InContext"];export{s as AllSlots,t as Default,a as Dismissible,r as InContext,o as Paginated,n as Variants,m as __namedExportsOrder,p as default};
@@ -1,4 +1,4 @@
1
- import{x as o}from"./iframe-DpPeZoRd.js";const f=({color:u="primary",pressed:b,fill:e,contained:i,outlined:s,size:t="sm",label:r,icon:n,hideText:l,disabled:a})=>{const c=e?"":"btu-button-fill-none",$=i?"":"btu-button-container-none",d=s?"btu-button-outline":"",m=l?"btu-button-text-hidden":"";return o`
1
+ import{x as o}from"./iframe-DUmd7GbF.js";const f=({color:u="primary",pressed:b,fill:e,contained:i,outlined:s,size:t="sm",label:r,icon:n,hideText:l,disabled:a})=>{const c=e?"":"btu-button-fill-none",$=i?"":"btu-button-container-none",d=s?"btu-button-outline":"",m=l?"btu-button-text-hidden":"";return o`
2
2
  <button
3
3
  type="button"
4
4
  class=${["btu-button",`btu-button-${u}`,`btu-button-${t}`,c,$,d,m].join(" ")}
@@ -1,4 +1,4 @@
1
- import{B as a}from"./Button-D8Sr8A-v.js";import"./iframe-DpPeZoRd.js";import"./preload-helper-PPVm8Dsz.js";const i=["ai","black","white","primary","teal","gray","purple","rose","error","warning","success"],u={title:"CSS Plugins/Button",component:"btu-button",tags:["autodocs"],parameters:{docs:{subtitle:"This Tailwind CSS plugin provides the `.btu-button` utility class for styling buttons. Use it on `<button>` elements preferably, but it can also be used on `<a>` or other clickable elements. The plugin includes variants for different colors, sizes, and styles such as filled, outlined, and contained buttons."},controls:{expanded:!0}},render:r=>a(r),argTypes:{color:{control:{type:"select"},options:i},contained:{control:{type:"boolean"},description:"Does the button have a container?"},disabled:{control:{type:"boolean"},description:"Is the button disabled?"},fill:{control:{type:"boolean"},description:"Is the button filled?"},hideText:{control:{type:"boolean"},description:"Icon only mode (hides label)"},icon:{control:{type:"text"},description:'Lucide icon name (e.g., "search", "smile", "check")'},label:{control:{type:"text"},description:"Button label text"},outlined:{control:{type:"boolean"},description:"Is the button outlined?"},pressed:{control:{type:"boolean"},description:"Is the button pressed?"},size:{control:{type:"select"},options:["sm","md","lg","xl","2xl"]}},args:{color:"primary",contained:!0,disabled:!1,fill:!0,hideText:!1,icon:"",label:"Button",outlined:!1,pressed:!1,size:"md"}},e={args:{}},t={args:{label:"Search",icon:"search"},parameters:{docs:{description:{story:"Button with an icon alongside text. Uses the `<btu-icon>` component."}}}},s={args:{icon:"smile",hideText:!0},parameters:{docs:{description:{story:"Icon-only button. Uses `btu-button-text-hidden` to hide the label and `<btu-icon>` for the icon."}}}},o={args:{label:"Disabled Button",disabled:!0},parameters:{docs:{description:{story:"Disabled button state. Uses the `[disabled]` attribute to trigger disabled styling with reduced opacity and pointer events disabled."}}}},n={args:{label:"Active Button",pressed:!0,fill:!1,icon:"check",hideText:!0},parameters:{docs:{description:{story:'Active/pressed button state. Uses `[aria-pressed="true"]` attribute to trigger the pressed styling, typically used for toggle buttons or to show an active state.'}}}};e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`{
1
+ import{B as a}from"./Button-ffu9dnxC.js";import"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";const i=["ai","black","white","primary","teal","gray","purple","rose","error","warning","success"],u={title:"CSS Plugins/Button",component:"btu-button",tags:["autodocs"],parameters:{docs:{subtitle:"This Tailwind CSS plugin provides the `.btu-button` utility class for styling buttons. Use it on `<button>` elements preferably, but it can also be used on `<a>` or other clickable elements. The plugin includes variants for different colors, sizes, and styles such as filled, outlined, and contained buttons."},controls:{expanded:!0}},render:r=>a(r),argTypes:{color:{control:{type:"select"},options:i},contained:{control:{type:"boolean"},description:"Does the button have a container?"},disabled:{control:{type:"boolean"},description:"Is the button disabled?"},fill:{control:{type:"boolean"},description:"Is the button filled?"},hideText:{control:{type:"boolean"},description:"Icon only mode (hides label)"},icon:{control:{type:"text"},description:'Lucide icon name (e.g., "search", "smile", "check")'},label:{control:{type:"text"},description:"Button label text"},outlined:{control:{type:"boolean"},description:"Is the button outlined?"},pressed:{control:{type:"boolean"},description:"Is the button pressed?"},size:{control:{type:"select"},options:["sm","md","lg","xl","2xl"]}},args:{color:"primary",contained:!0,disabled:!1,fill:!0,hideText:!1,icon:"",label:"Button",outlined:!1,pressed:!1,size:"md"}},e={args:{}},t={args:{label:"Search",icon:"search"},parameters:{docs:{description:{story:"Button with an icon alongside text. Uses the `<btu-icon>` component."}}}},s={args:{icon:"smile",hideText:!0},parameters:{docs:{description:{story:"Icon-only button. Uses `btu-button-text-hidden` to hide the label and `<btu-icon>` for the icon."}}}},o={args:{label:"Disabled Button",disabled:!0},parameters:{docs:{description:{story:"Disabled button state. Uses the `[disabled]` attribute to trigger disabled styling with reduced opacity and pointer events disabled."}}}},n={args:{label:"Active Button",pressed:!0,fill:!1,icon:"check",hideText:!0},parameters:{docs:{description:{story:'Active/pressed button state. Uses `[aria-pressed="true"]` attribute to trigger the pressed styling, typically used for toggle buttons or to show an active state.'}}}};e.parameters={...e.parameters,docs:{...e.parameters?.docs,source:{originalSource:`{
2
2
  args: {}
3
3
  }`,...e.parameters?.docs?.source}}};t.parameters={...t.parameters,docs:{...t.parameters?.docs,source:{originalSource:`{
4
4
  args: {
@@ -1,4 +1,4 @@
1
- import{g as k,x as e}from"./iframe-DpPeZoRd.js";import{o}from"./style-map-WEdc6AkA.js";import"./preload-helper-PPVm8Dsz.js";const{events:w,args:f,argTypes:n}=k("btu-button-group");function u(t){const a={};return t.customGap&&(a["--button-group-gap"]=t.customGap),t.customBorderRadius&&(a["--button-group-border-radius"]=t.customBorderRadius),t.customBorderColor&&(a["--button-group-border-color"]=t.customBorderColor),a}const z={title:"Components/Button Group",component:"btu-button-group",tags:["autodocs"],parameters:{docs:{subtitle:"btu-button-group",description:{component:`
1
+ import{g as k,x as e}from"./iframe-DUmd7GbF.js";import{o}from"./style-map-D_jXmlQ4.js";import"./preload-helper-PPVm8Dsz.js";const{events:w,args:f,argTypes:n}=k("btu-button-group");function u(t){const a={};return t.customGap&&(a["--button-group-gap"]=t.customGap),t.customBorderRadius&&(a["--button-group-border-radius"]=t.customBorderRadius),t.customBorderColor&&(a["--button-group-border-color"]=t.customBorderColor),a}const z={title:"Components/Button Group",component:"btu-button-group",tags:["autodocs"],parameters:{docs:{subtitle:"btu-button-group",description:{component:`
2
2
  A semantic container for grouping related buttons together.
3
3
 
4
4
  <h3>When to use:</h3>
@@ -1,4 +1,4 @@
1
- import{g as u,x as e}from"./iframe-DpPeZoRd.js";import{o as p}from"./style-map-WEdc6AkA.js";import"./preload-helper-PPVm8Dsz.js";const{events:m,args:b,argTypes:l}=u("btu-card"),h=[1,2,3,4,5,6],f={title:"Components/Card",component:"btu-card",tags:["autodocs"],parameters:{docs:{subtitle:"A flexible content container for presenting and organizing information",description:{component:`
1
+ import{g as u,x as e}from"./iframe-DUmd7GbF.js";import{o as p}from"./style-map-D_jXmlQ4.js";import"./preload-helper-PPVm8Dsz.js";const{events:m,args:b,argTypes:l}=u("btu-card"),h=[1,2,3,4,5,6],f={title:"Components/Card",component:"btu-card",tags:["autodocs"],parameters:{docs:{subtitle:"A flexible content container for presenting and organizing information",description:{component:`
2
2
  <h3>When to use:</h3>
3
3
  <ul>
4
4
  <li>To present content items in a browsable grid or list — search results, board views, quick start cards</li>
@@ -1,4 +1,4 @@
1
- import{x as a}from"./iframe-DpPeZoRd.js";import{b as i}from"./celebrate-KwPoF1K3.js";import{B as r}from"./Button-D8Sr8A-v.js";import"./preload-helper-PPVm8Dsz.js";import"./position-CFNQy3J6.js";const m={title:"Effects/Celebrate",tags:["autodocs"],parameters:{docs:{subtitle:"A sparkle burst effect for delightful micro-interactions",description:{component:`
1
+ import{x as a}from"./iframe-DUmd7GbF.js";import{b as i}from"./celebrate-KwPoF1K3.js";import{B as r}from"./Button-ffu9dnxC.js";import"./preload-helper-PPVm8Dsz.js";import"./position-CFNQy3J6.js";const m={title:"Effects/Celebrate",tags:["autodocs"],parameters:{docs:{subtitle:"A sparkle burst effect for delightful micro-interactions",description:{component:`
2
2
  A celebratory sparkle animation that fires from a given position. Colored circles, ellipses, and sparkle particles burst outward using CSS offset-path animations.
3
3
 
4
4
  ### Usage
@@ -1,4 +1,4 @@
1
- import{g as x,x as p}from"./iframe-DpPeZoRd.js";import{o as t}from"./if-defined-aps73Iby.js";import{o as g}from"./style-map-WEdc6AkA.js";import"./preload-helper-PPVm8Dsz.js";const{events:y,args:v,argTypes:f}=x("btu-checkbox"),S={customColorPrimary:"--checkbox-color-primary",customColorBorder:"--checkbox-color-border",customColorError:"--checkbox-color-error",customBorderRadius:"--checkbox-border-radius",customLabelSpacing:"--checkbox-label-spacing"},C=e=>Object.entries(S).reduce((r,[h,k])=>(e[h]&&(r[k]=e[h]),r),{}),P={title:"Components/Checkbox",component:"btu-checkbox",tags:["autodocs"],parameters:{docs:{subtitle:"A checkbox for selecting one or more options",description:{component:`
1
+ import{g as x,x as p}from"./iframe-DUmd7GbF.js";import{o as t}from"./if-defined-DBQP12ek.js";import{o as g}from"./style-map-D_jXmlQ4.js";import"./preload-helper-PPVm8Dsz.js";const{events:y,args:v,argTypes:f}=x("btu-checkbox"),S={customColorPrimary:"--checkbox-color-primary",customColorBorder:"--checkbox-color-border",customColorError:"--checkbox-color-error",customBorderRadius:"--checkbox-border-radius",customLabelSpacing:"--checkbox-label-spacing"},C=e=>Object.entries(S).reduce((r,[h,k])=>(e[h]&&(r[k]=e[h]),r),{}),P={title:"Components/Checkbox",component:"btu-checkbox",tags:["autodocs"],parameters:{docs:{subtitle:"A checkbox for selecting one or more options",description:{component:`
2
2
  <h3>When to use:</h3>
3
3
  <ul>
4
4
  <li>For selecting one or more options from a set</li>
@@ -1,4 +1,4 @@
1
- import{g as S,E as h,x as T}from"./iframe-DpPeZoRd.js";import{o as $}from"./style-map-WEdc6AkA.js";import"./preload-helper-PPVm8Dsz.js";const{events:V,args:A,argTypes:u}=S("btu-circular-progress"),O={title:"Components/Circular Progress",component:"btu-circular-progress",tags:["autodocs"],parameters:{docs:{subtitle:"A component for showing loading states or progress",description:{component:`
1
+ import{g as S,E as h,x as T}from"./iframe-DUmd7GbF.js";import{o as $}from"./style-map-D_jXmlQ4.js";import"./preload-helper-PPVm8Dsz.js";const{events:V,args:A,argTypes:u}=S("btu-circular-progress"),O={title:"Components/Circular Progress",component:"btu-circular-progress",tags:["autodocs"],parameters:{docs:{subtitle:"A component for showing loading states or progress",description:{component:`
2
2
  <h3>When to use:</h3>
3
3
  <ul>
4
4
  <li>To indicate loading or processing state</li>
@@ -1,4 +1,4 @@
1
- import{x as m,i as h}from"./iframe-DpPeZoRd.js";import{t as u}from"./custom-element-UsVr97OX.js";import{C as b}from"./ComponentStatesMixin-Dj1V-e8c.js";import{E as y,R as x}from"./ReadyMixin-C_H-s0cp.js";import"./preload-helper-PPVm8Dsz.js";function n(e,d){let r=document.getElementById("aria-live-container");r||(r=document.createElement("div"),r.setAttribute("id","aria-live-container"),document.body.appendChild(r));const t=document.createElement("div"),i="speak-"+Date.now();t.setAttribute("id",i),t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),t.style.cssText="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;",r.appendChild(t),setTimeout(()=>{const o=document.getElementById(i);o&&(o.innerHTML=e)},150),window.BRIGHTSPOT?.ariaDebug===!0&&console.log(`ARIA Announced: "${e}"`),setTimeout(()=>{document.getElementById(i)?.remove()},2e3)}const g=e=>{class d extends e{get copiedStateKey(){return`${this.tagName.toLowerCase()}-copied`}async copy(t,i=3e3){if(!t)return;const o=this.copiedStateKey;if(!this.states.has(o)){try{if(!navigator.clipboard||typeof navigator.clipboard.writeText!="function")throw new Error("Clipboard API is not available in this environment.");await navigator.clipboard.writeText(t)}catch(a){console.error("Failed to copy text to clipboard:",a),n("Copy failed");return}this.states.add(o),this.requestUpdate(),this.emit(o),n("Copied!"),setTimeout(()=>{this.states.delete(o),this.requestUpdate()},i)}}}return d};var c=Object.freeze,f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,C=(e,d,r,t)=>{for(var i=t>1?void 0:t?v(d,r):d,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},E=(e,d)=>c(f(e,"raw",{value:c(e.slice())})),l;const I={title:"Mixins/Clipboard",tags:["autodocs"],parameters:{docs:{description:{component:`
1
+ import{x as m,i as h}from"./iframe-DUmd7GbF.js";import{t as u}from"./custom-element-UsVr97OX.js";import{C as b}from"./ComponentStatesMixin-CmZnizKN.js";import{E as y,R as x}from"./ReadyMixin-BUpBkgED.js";import"./preload-helper-PPVm8Dsz.js";function n(e,d){let r=document.getElementById("aria-live-container");r||(r=document.createElement("div"),r.setAttribute("id","aria-live-container"),document.body.appendChild(r));const t=document.createElement("div"),i="speak-"+Date.now();t.setAttribute("id",i),t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),t.style.cssText="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;",r.appendChild(t),setTimeout(()=>{const o=document.getElementById(i);o&&(o.innerHTML=e)},150),window.BRIGHTSPOT?.ariaDebug===!0&&console.log(`ARIA Announced: "${e}"`),setTimeout(()=>{document.getElementById(i)?.remove()},2e3)}const g=e=>{class d extends e{get copiedStateKey(){return`${this.tagName.toLowerCase()}-copied`}async copy(t,i=3e3){if(!t)return;const o=this.copiedStateKey;if(!this.states.has(o)){try{if(!navigator.clipboard||typeof navigator.clipboard.writeText!="function")throw new Error("Clipboard API is not available in this environment.");await navigator.clipboard.writeText(t)}catch(a){console.error("Failed to copy text to clipboard:",a),n("Copy failed");return}this.states.add(o),this.requestUpdate(),this.emit(o),n("Copied!"),setTimeout(()=>{this.states.delete(o),this.requestUpdate()},i)}}}return d};var c=Object.freeze,f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,C=(e,d,r,t)=>{for(var i=t>1?void 0:t?v(d,r):d,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},E=(e,d)=>c(f(e,"raw",{value:c(e.slice())})),l;const I={title:"Mixins/Clipboard",tags:["autodocs"],parameters:{docs:{description:{component:`
2
2
  \`ClipboardMixin\` adds clipboard copy functionality via a <code>copy()</code> method that writes text to the system clipboard.
3
3
 
4
4
  It adds a temporary state and emits an event, which web components can use for visual feedback.
@@ -1 +1 @@
1
- import{g as ce,P as he,M as de,F as fe,B as U}from"./blocks-D-cAwpi5.js";import{r as y,R as v,S as M,aj as ge,ak as P}from"./iframe-DpPeZoRd.js";import"./preload-helper-PPVm8Dsz.js";var be=P({"../../../node_modules/color-name/index.js"(r,o){o.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]}}}),Y=P({"../../../node_modules/color-convert/conversions.js"(r,o){var s=be(),h={};for(let e of Object.keys(s))h[s[e]]=e;var u={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"]}};o.exports=u;for(let e of Object.keys(u)){if(!("channels"in u[e]))throw new Error("missing channels property: "+e);if(!("labels"in u[e]))throw new Error("missing channel labels property: "+e);if(u[e].labels.length!==u[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:n,labels:t}=u[e];delete u[e].channels,delete u[e].labels,Object.defineProperty(u[e],"channels",{value:n}),Object.defineProperty(u[e],"labels",{value:t})}u.rgb.hsl=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.min(n,t,a),i=Math.max(n,t,a),c=i-l,d,g;i===l?d=0:n===i?d=(t-a)/c:t===i?d=2+(a-n)/c:a===i&&(d=4+(n-t)/c),d=Math.min(d*60,360),d<0&&(d+=360);let b=(l+i)/2;return i===l?g=0:b<=.5?g=c/(i+l):g=c/(2-i-l),[d,g*100,b*100]},u.rgb.hsv=function(e){let n,t,a,l,i,c=e[0]/255,d=e[1]/255,g=e[2]/255,b=Math.max(c,d,g),p=b-Math.min(c,d,g),m=function(w){return(b-w)/6/p+1/2};return p===0?(l=0,i=0):(i=p/b,n=m(c),t=m(d),a=m(g),c===b?l=a-t:d===b?l=1/3+n-a:g===b&&(l=2/3+t-n),l<0?l+=1:l>1&&(l-=1)),[l*360,i*100,b*100]},u.rgb.hwb=function(e){let n=e[0],t=e[1],a=e[2],l=u.rgb.hsl(e)[0],i=1/255*Math.min(n,Math.min(t,a));return a=1-1/255*Math.max(n,Math.max(t,a)),[l,i*100,a*100]},u.rgb.cmyk=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.min(1-n,1-t,1-a),i=(1-n-l)/(1-l)||0,c=(1-t-l)/(1-l)||0,d=(1-a-l)/(1-l)||0;return[i*100,c*100,d*100,l*100]};function f(e,n){return(e[0]-n[0])**2+(e[1]-n[1])**2+(e[2]-n[2])**2}u.rgb.keyword=function(e){let n=h[e];if(n)return n;let t=1/0,a;for(let l of Object.keys(s)){let i=s[l],c=f(e,i);c<t&&(t=c,a=l)}return a},u.keyword.rgb=function(e){return s[e]},u.rgb.xyz=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255;n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let l=n*.4124+t*.3576+a*.1805,i=n*.2126+t*.7152+a*.0722,c=n*.0193+t*.1192+a*.9505;return[l*100,i*100,c*100]},u.rgb.lab=function(e){let n=u.rgb.xyz(e),t=n[0],a=n[1],l=n[2];t/=95.047,a/=100,l/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,l=l>.008856?l**(1/3):7.787*l+16/116;let i=116*a-16,c=500*(t-a),d=200*(a-l);return[i,c,d]},u.hsl.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100,l,i,c;if(t===0)return c=a*255,[c,c,c];a<.5?l=a*(1+t):l=a+t-a*t;let d=2*a-l,g=[0,0,0];for(let b=0;b<3;b++)i=n+1/3*-(b-1),i<0&&i++,i>1&&i--,6*i<1?c=d+(l-d)*6*i:2*i<1?c=l:3*i<2?c=d+(l-d)*(2/3-i)*6:c=d,g[b]=c*255;return g},u.hsl.hsv=function(e){let n=e[0],t=e[1]/100,a=e[2]/100,l=t,i=Math.max(a,.01);a*=2,t*=a<=1?a:2-a,l*=i<=1?i:2-i;let c=(a+t)/2,d=a===0?2*l/(i+l):2*t/(a+t);return[n,d*100,c*100]},u.hsv.rgb=function(e){let n=e[0]/60,t=e[1]/100,a=e[2]/100,l=Math.floor(n)%6,i=n-Math.floor(n),c=255*a*(1-t),d=255*a*(1-t*i),g=255*a*(1-t*(1-i));switch(a*=255,l){case 0:return[a,g,c];case 1:return[d,a,c];case 2:return[c,a,g];case 3:return[c,d,a];case 4:return[g,c,a];case 5:return[a,c,d]}},u.hsv.hsl=function(e){let n=e[0],t=e[1]/100,a=e[2]/100,l=Math.max(a,.01),i,c;c=(2-t)*a;let d=(2-t)*l;return i=t*l,i/=d<=1?d:2-d,i=i||0,c/=2,[n,i*100,c*100]},u.hwb.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100,l=t+a,i;l>1&&(t/=l,a/=l);let c=Math.floor(6*n),d=1-a;i=6*n-c,(c&1)!==0&&(i=1-i);let g=t+i*(d-t),b,p,m;switch(c){default:case 6:case 0:b=d,p=g,m=t;break;case 1:b=g,p=d,m=t;break;case 2:b=t,p=d,m=g;break;case 3:b=t,p=g,m=d;break;case 4:b=g,p=t,m=d;break;case 5:b=d,p=t,m=g;break}return[b*255,p*255,m*255]},u.cmyk.rgb=function(e){let n=e[0]/100,t=e[1]/100,a=e[2]/100,l=e[3]/100,i=1-Math.min(1,n*(1-l)+l),c=1-Math.min(1,t*(1-l)+l),d=1-Math.min(1,a*(1-l)+l);return[i*255,c*255,d*255]},u.xyz.rgb=function(e){let n=e[0]/100,t=e[1]/100,a=e[2]/100,l,i,c;return l=n*3.2406+t*-1.5372+a*-.4986,i=n*-.9689+t*1.8758+a*.0415,c=n*.0557+t*-.204+a*1.057,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,l=Math.min(Math.max(0,l),1),i=Math.min(Math.max(0,i),1),c=Math.min(Math.max(0,c),1),[l*255,i*255,c*255]},u.xyz.lab=function(e){let n=e[0],t=e[1],a=e[2];n/=95.047,t/=100,a/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let l=116*t-16,i=500*(n-t),c=200*(t-a);return[l,i,c]},u.lab.xyz=function(e){let n=e[0],t=e[1],a=e[2],l,i,c;i=(n+16)/116,l=t/500+i,c=i-a/200;let d=i**3,g=l**3,b=c**3;return i=d>.008856?d:(i-16/116)/7.787,l=g>.008856?g:(l-16/116)/7.787,c=b>.008856?b:(c-16/116)/7.787,l*=95.047,i*=100,c*=108.883,[l,i,c]},u.lab.lch=function(e){let n=e[0],t=e[1],a=e[2],l;l=Math.atan2(a,t)*360/2/Math.PI,l<0&&(l+=360);let i=Math.sqrt(t*t+a*a);return[n,i,l]},u.lch.lab=function(e){let n=e[0],t=e[1],a=e[2]/360*2*Math.PI,l=t*Math.cos(a),i=t*Math.sin(a);return[n,l,i]},u.rgb.ansi16=function(e,n=null){let[t,a,l]=e,i=n===null?u.rgb.hsv(e)[2]:n;if(i=Math.round(i/50),i===0)return 30;let c=30+(Math.round(l/255)<<2|Math.round(a/255)<<1|Math.round(t/255));return i===2&&(c+=60),c},u.hsv.ansi16=function(e){return u.rgb.ansi16(u.hsv.rgb(e),e[2])},u.rgb.ansi256=function(e){let n=e[0],t=e[1],a=e[2];return n===t&&t===a?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(t/255*5)+Math.round(a/255*5)},u.ansi16.rgb=function(e){let n=e%10;if(n===0||n===7)return e>50&&(n+=3.5),n=n/10.5*255,[n,n,n];let t=(~~(e>50)+1)*.5,a=(n&1)*t*255,l=(n>>1&1)*t*255,i=(n>>2&1)*t*255;return[a,l,i]},u.ansi256.rgb=function(e){if(e>=232){let i=(e-232)*10+8;return[i,i,i]}e-=16;let n,t=Math.floor(e/36)/5*255,a=Math.floor((n=e%36)/6)/5*255,l=n%6/5*255;return[t,a,l]},u.rgb.hex=function(e){let n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n},u.hex.rgb=function(e){let n=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!n)return[0,0,0];let t=n[0];n[0].length===3&&(t=t.split("").map(d=>d+d).join(""));let a=parseInt(t,16),l=a>>16&255,i=a>>8&255,c=a&255;return[l,i,c]},u.rgb.hcg=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.max(Math.max(n,t),a),i=Math.min(Math.min(n,t),a),c=l-i,d,g;return c<1?d=i/(1-c):d=0,c<=0?g=0:l===n?g=(t-a)/c%6:l===t?g=2+(a-n)/c:g=4+(n-t)/c,g/=6,g%=1,[g*360,c*100,d*100]},u.hsl.hcg=function(e){let n=e[1]/100,t=e[2]/100,a=t<.5?2*n*t:2*n*(1-t),l=0;return a<1&&(l=(t-.5*a)/(1-a)),[e[0],a*100,l*100]},u.hsv.hcg=function(e){let n=e[1]/100,t=e[2]/100,a=n*t,l=0;return a<1&&(l=(t-a)/(1-a)),[e[0],a*100,l*100]},u.hcg.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100;if(t===0)return[a*255,a*255,a*255];let l=[0,0,0],i=n%1*6,c=i%1,d=1-c,g=0;switch(Math.floor(i)){case 0:l[0]=1,l[1]=c,l[2]=0;break;case 1:l[0]=d,l[1]=1,l[2]=0;break;case 2:l[0]=0,l[1]=1,l[2]=c;break;case 3:l[0]=0,l[1]=d,l[2]=1;break;case 4:l[0]=c,l[1]=0,l[2]=1;break;default:l[0]=1,l[1]=0,l[2]=d}return g=(1-t)*a,[(t*l[0]+g)*255,(t*l[1]+g)*255,(t*l[2]+g)*255]},u.hcg.hsv=function(e){let n=e[1]/100,t=e[2]/100,a=n+t*(1-n),l=0;return a>0&&(l=n/a),[e[0],l*100,a*100]},u.hcg.hsl=function(e){let n=e[1]/100,t=e[2]/100*(1-n)+.5*n,a=0;return t>0&&t<.5?a=n/(2*t):t>=.5&&t<1&&(a=n/(2*(1-t))),[e[0],a*100,t*100]},u.hcg.hwb=function(e){let n=e[1]/100,t=e[2]/100,a=n+t*(1-n);return[e[0],(a-n)*100,(1-a)*100]},u.hwb.hcg=function(e){let n=e[1]/100,t=1-e[2]/100,a=t-n,l=0;return a<1&&(l=(t-a)/(1-a)),[e[0],a*100,l*100]},u.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},u.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},u.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},u.gray.hsl=function(e){return[0,0,e[0]]},u.gray.hsv=u.gray.hsl,u.gray.hwb=function(e){return[0,100,e[0]]},u.gray.cmyk=function(e){return[0,0,0,e[0]]},u.gray.lab=function(e){return[e[0],0,0]},u.gray.hex=function(e){let n=Math.round(e[0]/100*255)&255,t=((n<<16)+(n<<8)+n).toString(16).toUpperCase();return"000000".substring(t.length)+t},u.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ve=P({"../../../node_modules/color-convert/route.js"(r,o){var s=Y();function h(){let n={},t=Object.keys(s);for(let a=t.length,l=0;l<a;l++)n[t[l]]={distance:-1,parent:null};return n}function u(n){let t=h(),a=[n];for(t[n].distance=0;a.length;){let l=a.pop(),i=Object.keys(s[l]);for(let c=i.length,d=0;d<c;d++){let g=i[d],b=t[g];b.distance===-1&&(b.distance=t[l].distance+1,b.parent=l,a.unshift(g))}}return t}function f(n,t){return function(a){return t(n(a))}}function e(n,t){let a=[t[n].parent,n],l=s[t[n].parent][n],i=t[n].parent;for(;t[i].parent;)a.unshift(t[i].parent),l=f(s[t[i].parent][i],l),i=t[i].parent;return l.conversion=a,l}o.exports=function(n){let t=u(n),a={},l=Object.keys(t);for(let i=l.length,c=0;c<i;c++){let d=l[c];t[d].parent!==null&&(a[d]=e(d,t))}return a}}}),me=P({"../../../node_modules/color-convert/index.js"(r,o){var s=Y(),h=ve(),u={},f=Object.keys(s);function e(t){let a=function(...l){let i=l[0];return i==null?i:(i.length>1&&(l=i),t(l))};return"conversion"in t&&(a.conversion=t.conversion),a}function n(t){let a=function(...l){let i=l[0];if(i==null)return i;i.length>1&&(l=i);let c=t(l);if(typeof c=="object")for(let d=c.length,g=0;g<d;g++)c[g]=Math.round(c[g]);return c};return"conversion"in t&&(a.conversion=t.conversion),a}f.forEach(t=>{u[t]={},Object.defineProperty(u[t],"channels",{value:s[t].channels}),Object.defineProperty(u[t],"labels",{value:s[t].labels});let a=h(t);Object.keys(a).forEach(l=>{let i=a[l];u[t][l]=n(i),u[t][l].raw=e(i)})}),o.exports=u}}),_=ge(me());function pe(r,o,{signal:s,edges:h}={}){let u,f=null,e=h!=null&&h.includes("leading"),n=h==null||h.includes("trailing"),t=()=>{f!==null&&(r.apply(u,f),u=void 0,f=null)},a=()=>{n&&t(),d()},l=null,i=()=>{l!=null&&clearTimeout(l),l=setTimeout(()=>{l=null,a()},o)},c=()=>{l!==null&&(clearTimeout(l),l=null)},d=()=>{c(),u=void 0,f=null},g=()=>{t()},b=function(...p){if(s?.aborted)return;u=this,f=p;let m=l==null;i(),e&&m&&t()};return b.schedule=i,b.cancel=d,b.flush=g,s?.addEventListener("abort",d,{once:!0}),b}function C(){return(C=Object.assign||function(r){for(var o=1;o<arguments.length;o++){var s=arguments[o];for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(r[h]=s[h])}return r}).apply(this,arguments)}function X(r,o){if(r==null)return{};var s,h,u={},f=Object.keys(r);for(h=0;h<f.length;h++)o.indexOf(s=f[h])>=0||(u[s]=r[s]);return u}function L(r){var o=y.useRef(r),s=y.useRef(function(h){o.current&&o.current(h)});return o.current=r,s.current}var S=function(r,o,s){return o===void 0&&(o=0),s===void 0&&(s=1),r>s?s:r<o?o:r},O=function(r){return"touches"in r},T=function(r){return r&&r.ownerDocument.defaultView||self},G=function(r,o,s){var h=r.getBoundingClientRect(),u=O(o)?(function(f,e){for(var n=0;n<f.length;n++)if(f[n].identifier===e)return f[n];return f[0]})(o.touches,s):o;return{left:S((u.pageX-(h.left+T(r).pageXOffset))/h.width),top:S((u.pageY-(h.top+T(r).pageYOffset))/h.height)}},A=function(r){!O(r)&&r.preventDefault()},F=v.memo(function(r){var o=r.onMove,s=r.onKey,h=X(r,["onMove","onKey"]),u=y.useRef(null),f=L(o),e=L(s),n=y.useRef(null),t=y.useRef(!1),a=y.useMemo(function(){var d=function(p){A(p),(O(p)?p.touches.length>0:p.buttons>0)&&u.current?f(G(u.current,p,n.current)):b(!1)},g=function(){return b(!1)};function b(p){var m=t.current,w=T(u.current),E=p?w.addEventListener:w.removeEventListener;E(m?"touchmove":"mousemove",d),E(m?"touchend":"mouseup",g)}return[function(p){var m=p.nativeEvent,w=u.current;if(w&&(A(m),!(function(k,j){return j&&!O(k)})(m,t.current)&&w)){if(O(m)){t.current=!0;var E=m.changedTouches||[];E.length&&(n.current=E[0].identifier)}w.focus(),f(G(w,m,n.current)),b(!0)}},function(p){var m=p.which||p.keyCode;m<37||m>40||(p.preventDefault(),e({left:m===39?.05:m===37?-.05:0,top:m===40?.05:m===38?-.05:0}))},b]},[e,f]),l=a[0],i=a[1],c=a[2];return y.useEffect(function(){return c},[c]),v.createElement("div",C({},h,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:u,onKeyDown:i,tabIndex:0,role:"slider"}))}),N=function(r){return r.filter(Boolean).join(" ")},D=function(r){var o=r.color,s=r.left,h=r.top,u=h===void 0?.5:h,f=N(["react-colorful__pointer",r.className]);return v.createElement("div",{className:f,style:{top:100*u+"%",left:100*s+"%"}},v.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:o}}))},x=function(r,o,s){return o===void 0&&(o=0),s===void 0&&(s=Math.pow(10,o)),Math.round(s*r)/s},ye={grad:.9,turn:360,rad:360/(2*Math.PI)},xe=function(r){return Z(B(r))},B=function(r){return r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?x(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?x(parseInt(r.substring(6,8),16)/255,2):1}},we=function(r,o){return o===void 0&&(o="deg"),Number(r)*(ye[o]||1)},ke=function(r){var o=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return o?_e({h:we(o[1],o[2]),s:Number(o[3]),l:Number(o[4]),a:o[5]===void 0?1:Number(o[5])/(o[6]?100:1)}):{h:0,s:0,v:0,a:1}},_e=function(r){var o=r.s,s=r.l;return{h:r.h,s:(o*=(s<50?s:100-s)/100)>0?2*o/(s+o)*100:0,v:s+o,a:r.a}},Ee=function(r){return Ce(Q(r))},J=function(r){var o=r.s,s=r.v,h=r.a,u=(200-o)*s/100;return{h:x(r.h),s:x(u>0&&u<200?o*s/100/(u<=100?u:200-u)*100:0),l:x(u/2),a:x(h,2)}},K=function(r){var o=J(r);return"hsl("+o.h+", "+o.s+"%, "+o.l+"%)"},H=function(r){var o=J(r);return"hsla("+o.h+", "+o.s+"%, "+o.l+"%, "+o.a+")"},Q=function(r){var o=r.h,s=r.s,h=r.v,u=r.a;o=o/360*6,s/=100,h/=100;var f=Math.floor(o),e=h*(1-s),n=h*(1-(o-f)*s),t=h*(1-(1-o+f)*s),a=f%6;return{r:x(255*[h,n,e,e,t,h][a]),g:x(255*[t,h,h,n,e,e][a]),b:x(255*[e,e,t,h,h,n][a]),a:x(u,2)}},Me=function(r){var o=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return o?Z({r:Number(o[1])/(o[2]?100/255:1),g:Number(o[3])/(o[4]?100/255:1),b:Number(o[5])/(o[6]?100/255:1),a:o[7]===void 0?1:Number(o[7])/(o[8]?100:1)}):{h:0,s:0,v:0,a:1}},R=function(r){var o=r.toString(16);return o.length<2?"0"+o:o},Ce=function(r){var o=r.r,s=r.g,h=r.b,u=r.a,f=u<1?R(x(255*u)):"";return"#"+R(o)+R(s)+R(h)+f},Z=function(r){var o=r.r,s=r.g,h=r.b,u=r.a,f=Math.max(o,s,h),e=f-Math.min(o,s,h),n=e?f===o?(s-h)/e:f===s?2+(h-o)/e:4+(o-s)/e:0;return{h:x(60*(n<0?n+6:n)),s:x(f?e/f*100:0),v:x(f/255*100),a:u}},ee=v.memo(function(r){var o=r.hue,s=r.onChange,h=N(["react-colorful__hue",r.className]);return v.createElement("div",{className:h},v.createElement(F,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:S(o+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":x(o),"aria-valuemax":"360","aria-valuemin":"0"},v.createElement(D,{className:"react-colorful__hue-pointer",left:o/360,color:K({h:o,s:100,v:100,a:1})})))}),re=v.memo(function(r){var o=r.hsva,s=r.onChange,h={backgroundColor:K({h:o.h,s:100,v:100,a:1})};return v.createElement("div",{className:"react-colorful__saturation",style:h},v.createElement(F,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:S(o.s+100*u.left,0,100),v:S(o.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+x(o.s)+"%, Brightness "+x(o.v)+"%"},v.createElement(D,{className:"react-colorful__saturation-pointer",top:1-o.v/100,left:o.s/100,color:K(o)})))}),te=function(r,o){if(r===o)return!0;for(var s in r)if(r[s]!==o[s])return!1;return!0},ne=function(r,o){return r.replace(/\s/g,"")===o.replace(/\s/g,"")},$e=function(r,o){return r.toLowerCase()===o.toLowerCase()||te(B(r),B(o))};function ae(r,o,s){var h=L(s),u=y.useState(function(){return r.toHsva(o)}),f=u[0],e=u[1],n=y.useRef({color:o,hsva:f});y.useEffect(function(){if(!r.equal(o,n.current.color)){var a=r.toHsva(o);n.current={hsva:a,color:o},e(a)}},[o,r]),y.useEffect(function(){var a;te(f,n.current.hsva)||r.equal(a=r.fromHsva(f),n.current.color)||(n.current={hsva:f,color:a},h(a))},[f,r,h]);var t=y.useCallback(function(a){e(function(l){return Object.assign({},l,a)})},[]);return[f,t]}var Se=typeof window<"u"?y.useLayoutEffect:y.useEffect,Oe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},W=new Map,le=function(r){Se(function(){var o=r.current?r.current.ownerDocument:document;if(o!==void 0&&!W.has(o)){var s=o.createElement("style");s.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(o,s);var h=Oe();h&&s.setAttribute("nonce",h),o.head.appendChild(s)}},[])},Ne=function(r){var o=r.className,s=r.colorModel,h=r.color,u=h===void 0?s.defaultColor:h,f=r.onChange,e=X(r,["className","colorModel","color","onChange"]),n=y.useRef(null);le(n);var t=ae(s,u,f),a=t[0],l=t[1],i=N(["react-colorful",o]);return v.createElement("div",C({},e,{ref:n,className:i}),v.createElement(re,{hsva:a,onChange:l}),v.createElement(ee,{hue:a.h,onChange:l,className:"react-colorful__last-control"}))},je={defaultColor:"000",toHsva:xe,fromHsva:function(r){return Ee({h:r.h,s:r.s,v:r.v,a:1})},equal:$e},Re=function(r){return v.createElement(Ne,C({},r,{colorModel:je}))},ze=function(r){var o=r.className,s=r.hsva,h=r.onChange,u={backgroundImage:"linear-gradient(90deg, "+H(Object.assign({},s,{a:0}))+", "+H(Object.assign({},s,{a:1}))+")"},f=N(["react-colorful__alpha",o]),e=x(100*s.a);return v.createElement("div",{className:f},v.createElement("div",{className:"react-colorful__alpha-gradient",style:u}),v.createElement(F,{onMove:function(n){h({a:n.left})},onKey:function(n){h({a:S(s.a+n.left)})},"aria-label":"Alpha","aria-valuetext":e+"%","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"100"},v.createElement(D,{className:"react-colorful__alpha-pointer",left:s.a,color:H(s)})))},oe=function(r){var o=r.className,s=r.colorModel,h=r.color,u=h===void 0?s.defaultColor:h,f=r.onChange,e=X(r,["className","colorModel","color","onChange"]),n=y.useRef(null);le(n);var t=ae(s,u,f),a=t[0],l=t[1],i=N(["react-colorful",o]);return v.createElement("div",C({},e,{ref:n,className:i}),v.createElement(re,{hsva:a,onChange:l}),v.createElement(ee,{hue:a.h,onChange:l}),v.createElement(ze,{hsva:a,onChange:l,className:"react-colorful__last-control"}))},He={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:ke,fromHsva:H,equal:ne},Ie=function(r){return v.createElement(oe,C({},r,{colorModel:He}))},Pe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Me,fromHsva:function(r){var o=Q(r);return"rgba("+o.r+", "+o.g+", "+o.b+", "+o.a+")"},equal:ne},qe=function(r){return v.createElement(oe,C({},r,{colorModel:Pe}))},Le=M.div({position:"relative",maxWidth:250}),Te=M.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"}}),Be=M.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),Ke=r=>`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity="0.05" fill="${r?"white":"black"}"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,ue=M(U)(({value:r,selected:o,theme:s})=>({width:16,height:16,boxShadow:o?`${s.appBorderColor} 0 0 0 1px inset, ${s.textMutedColor}50 0 0 0 4px`:`${s.appBorderColor} 0 0 0 1px inset`,border:"none",borderRadius:s.appBorderRadius,"&, &:hover":{background:"unset",backgroundColor:"unset",backgroundImage:`linear-gradient(${r}, ${r}), ${Ke(s.base==="dark")}`}})),Ve=M(fe.Input)(({theme:r})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:r.typography.fonts.base,'[aria-readonly="true"] > &':{background:r.base==="light"?r.color.lighter:"transparent"}})),Xe=M(ue)(({disabled:r})=>({position:"absolute",top:4,left:4,zIndex:1,cursor:r?"not-allowed":"pointer"})),Fe=M(U)(({theme:r})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:r.input.color})),ie=(r=>(r.RGB="rgb",r.HSL="hsl",r.HEX="hex",r))(ie||{}),q=Object.values(ie),De=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Ge=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Ae=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,V=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,We=/^\s*#?([0-9a-f]{3})\s*$/i,Ue={hex:Re,rgb:qe,hsl:Ie},z={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},se=r=>{let o=r?.match(De);if(!o)return[0,0,0,1];let[,s,h,u,f=1]=o;return[s,h,u,f].map(Number)},Ye=r=>{let[o,s,h,u]=se(r),[f,e,n]=_.default.rgb.hsl([o,s,h])||[0,0,0];return{valid:!0,value:r,keyword:_.default.rgb.keyword([o,s,h]),colorSpace:"rgb",rgb:r,hsl:`hsla(${f}, ${e}%, ${n}%, ${u})`,hex:`#${_.default.rgb.hex([o,s,h]).toLowerCase()}`}},Je=r=>{let[o,s,h,u]=se(r),[f,e,n]=_.default.hsl.rgb([o,s,h])||[0,0,0];return{valid:!0,value:r,keyword:_.default.hsl.keyword([o,s,h]),colorSpace:"hsl",rgb:`rgba(${f}, ${e}, ${n}, ${u})`,hsl:r,hex:`#${_.default.hsl.hex([o,s,h]).toLowerCase()}`}},Qe=r=>{let o=r.replace("#",""),s=_.default.keyword.rgb(o)||_.default.hex.rgb(o),h=_.default.rgb.hsl(s),u=r;/[^#a-f0-9]/i.test(r)?u=o:V.test(r)&&(u=`#${o}`);let f=!0;if(u.startsWith("#"))f=V.test(u);else try{_.default.keyword.hex(u)}catch{f=!1}return{valid:f,value:u,keyword:_.default.rgb.keyword(s),colorSpace:"hex",rgb:`rgba(${s[0]}, ${s[1]}, ${s[2]}, 1)`,hsl:`hsla(${h[0]}, ${h[1]}%, ${h[2]}%, 1)`,hex:u}},$=r=>{if(r)return Ge.test(r)?Ye(r):Ae.test(r)?Je(r):Qe(r)},Ze=(r,o,s)=>{if(!r||!o?.valid)return z[s];if(s!=="hex")return o?.[s]||z[s];if(!o.hex.startsWith("#"))try{return`#${_.default.keyword.hex(o.hex)}`}catch{return z.hex}let h=o.hex.match(We);if(!h)return V.test(o.hex)?o.hex:z.hex;let[u,f,e]=h[1].split("");return`#${u}${u}${f}${f}${e}${e}`},er=(r,o)=>{let[s,h]=y.useState(r||""),[u,f]=y.useState(()=>$(s)),[e,n]=y.useState(u?.colorSpace||"hex");y.useEffect(()=>{let i=r||"",c=$(i);h(i),f(c),n(c?.colorSpace||"hex")},[r]);let t=y.useMemo(()=>Ze(s,u,e).toLowerCase(),[s,u,e]),a=y.useCallback(i=>{let c=$(i),d=c?.value||i||"";h(d),d===""&&(f(void 0),o(void 0)),c&&(f(c),n(c.colorSpace),o(c.value))},[o]),l=y.useCallback(()=>{let i=(q.indexOf(e)+1)%q.length,c=q[i];n(c);let d=u?.[c]||"";h(d),o(d)},[u,e,o]);return{value:s,realValue:t,updateValue:a,color:u,colorSpace:e,cycleColorSpace:l}},I=r=>r.replace(/\s*/,"").toLowerCase(),rr=(r,o,s)=>{let[h,u]=y.useState(o?.valid?[o]:[]);y.useEffect(()=>{o===void 0&&u([])},[o]);let f=y.useMemo(()=>(r||[]).map(n=>typeof n=="string"?$(n):n.title?{...$(n.color),keyword:n.title}:$(n.color)).concat(h).filter(Boolean).slice(-27),[r,h]),e=y.useCallback(n=>{n?.valid&&(f.some(t=>t&&t[s]&&I(t[s]||"")===I(n[s]||""))||u(t=>t.concat(n)))},[s,f]);return{presets:f,addPreset:e}},tr=({name:r,value:o,onChange:s,onFocus:h,onBlur:u,presetColors:f,startOpen:e=!1,argType:n})=>{let t=y.useCallback(pe(s,200),[s]),{value:a,realValue:l,updateValue:i,color:c,colorSpace:d,cycleColorSpace:g}=er(o,t),{presets:b,addPreset:p}=rr(f??[],c,d),m=Ue[d],w=!!n?.table?.readonly,E=ce(r);return v.createElement(Le,null,v.createElement("label",{htmlFor:E,className:"sb-sr-only"},r),v.createElement(Ve,{id:E,value:a,onChange:k=>i(k.target.value),onFocus:k=>k.target.select(),readOnly:w,placeholder:"Choose color..."}),v.createElement(he,{defaultVisible:e,visible:w?!1:void 0,onVisibleChange:()=>c&&p(c),popover:v.createElement(Te,null,v.createElement(m,{color:l==="transparent"?"#000000":l,onChange:i,onFocus:h,onBlur:u}),b.length>0&&v.createElement(Be,null,b.map((k,j)=>v.createElement(ue,{key:`${k?.value||j}-${j}`,variant:"ghost",padding:"small",size:"small",ariaLabel:"Pick this color",tooltip:k?.keyword||k?.value||"",value:k?.value||"",selected:!!(c&&k&&k[d]&&I(k[d]||"")===I(c[d])),onClick:()=>k&&i(k.value||"")}))))},v.createElement(Xe,{variant:"ghost",padding:"small",size:"small",ariaLabel:"Open color picker",value:l,style:{margin:4},disabled:w})),a?v.createElement(Fe,{variant:"ghost",padding:"small",size:"small",ariaLabel:"Cycle through color spaces",disabled:w,onClick:w?void 0:g},v.createElement(de,null)):null)},or=tr;export{tr as ColorControl,or as default};
1
+ import{g as ce,P as he,M as de,F as fe,B as U}from"./blocks-j0yzxuDk.js";import{r as y,R as v,S as M,aj as ge,ak as P}from"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";var be=P({"../../../node_modules/color-name/index.js"(r,o){o.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]}}}),Y=P({"../../../node_modules/color-convert/conversions.js"(r,o){var s=be(),h={};for(let e of Object.keys(s))h[s[e]]=e;var u={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"]}};o.exports=u;for(let e of Object.keys(u)){if(!("channels"in u[e]))throw new Error("missing channels property: "+e);if(!("labels"in u[e]))throw new Error("missing channel labels property: "+e);if(u[e].labels.length!==u[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:n,labels:t}=u[e];delete u[e].channels,delete u[e].labels,Object.defineProperty(u[e],"channels",{value:n}),Object.defineProperty(u[e],"labels",{value:t})}u.rgb.hsl=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.min(n,t,a),i=Math.max(n,t,a),c=i-l,d,g;i===l?d=0:n===i?d=(t-a)/c:t===i?d=2+(a-n)/c:a===i&&(d=4+(n-t)/c),d=Math.min(d*60,360),d<0&&(d+=360);let b=(l+i)/2;return i===l?g=0:b<=.5?g=c/(i+l):g=c/(2-i-l),[d,g*100,b*100]},u.rgb.hsv=function(e){let n,t,a,l,i,c=e[0]/255,d=e[1]/255,g=e[2]/255,b=Math.max(c,d,g),p=b-Math.min(c,d,g),m=function(w){return(b-w)/6/p+1/2};return p===0?(l=0,i=0):(i=p/b,n=m(c),t=m(d),a=m(g),c===b?l=a-t:d===b?l=1/3+n-a:g===b&&(l=2/3+t-n),l<0?l+=1:l>1&&(l-=1)),[l*360,i*100,b*100]},u.rgb.hwb=function(e){let n=e[0],t=e[1],a=e[2],l=u.rgb.hsl(e)[0],i=1/255*Math.min(n,Math.min(t,a));return a=1-1/255*Math.max(n,Math.max(t,a)),[l,i*100,a*100]},u.rgb.cmyk=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.min(1-n,1-t,1-a),i=(1-n-l)/(1-l)||0,c=(1-t-l)/(1-l)||0,d=(1-a-l)/(1-l)||0;return[i*100,c*100,d*100,l*100]};function f(e,n){return(e[0]-n[0])**2+(e[1]-n[1])**2+(e[2]-n[2])**2}u.rgb.keyword=function(e){let n=h[e];if(n)return n;let t=1/0,a;for(let l of Object.keys(s)){let i=s[l],c=f(e,i);c<t&&(t=c,a=l)}return a},u.keyword.rgb=function(e){return s[e]},u.rgb.xyz=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255;n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let l=n*.4124+t*.3576+a*.1805,i=n*.2126+t*.7152+a*.0722,c=n*.0193+t*.1192+a*.9505;return[l*100,i*100,c*100]},u.rgb.lab=function(e){let n=u.rgb.xyz(e),t=n[0],a=n[1],l=n[2];t/=95.047,a/=100,l/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,l=l>.008856?l**(1/3):7.787*l+16/116;let i=116*a-16,c=500*(t-a),d=200*(a-l);return[i,c,d]},u.hsl.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100,l,i,c;if(t===0)return c=a*255,[c,c,c];a<.5?l=a*(1+t):l=a+t-a*t;let d=2*a-l,g=[0,0,0];for(let b=0;b<3;b++)i=n+1/3*-(b-1),i<0&&i++,i>1&&i--,6*i<1?c=d+(l-d)*6*i:2*i<1?c=l:3*i<2?c=d+(l-d)*(2/3-i)*6:c=d,g[b]=c*255;return g},u.hsl.hsv=function(e){let n=e[0],t=e[1]/100,a=e[2]/100,l=t,i=Math.max(a,.01);a*=2,t*=a<=1?a:2-a,l*=i<=1?i:2-i;let c=(a+t)/2,d=a===0?2*l/(i+l):2*t/(a+t);return[n,d*100,c*100]},u.hsv.rgb=function(e){let n=e[0]/60,t=e[1]/100,a=e[2]/100,l=Math.floor(n)%6,i=n-Math.floor(n),c=255*a*(1-t),d=255*a*(1-t*i),g=255*a*(1-t*(1-i));switch(a*=255,l){case 0:return[a,g,c];case 1:return[d,a,c];case 2:return[c,a,g];case 3:return[c,d,a];case 4:return[g,c,a];case 5:return[a,c,d]}},u.hsv.hsl=function(e){let n=e[0],t=e[1]/100,a=e[2]/100,l=Math.max(a,.01),i,c;c=(2-t)*a;let d=(2-t)*l;return i=t*l,i/=d<=1?d:2-d,i=i||0,c/=2,[n,i*100,c*100]},u.hwb.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100,l=t+a,i;l>1&&(t/=l,a/=l);let c=Math.floor(6*n),d=1-a;i=6*n-c,(c&1)!==0&&(i=1-i);let g=t+i*(d-t),b,p,m;switch(c){default:case 6:case 0:b=d,p=g,m=t;break;case 1:b=g,p=d,m=t;break;case 2:b=t,p=d,m=g;break;case 3:b=t,p=g,m=d;break;case 4:b=g,p=t,m=d;break;case 5:b=d,p=t,m=g;break}return[b*255,p*255,m*255]},u.cmyk.rgb=function(e){let n=e[0]/100,t=e[1]/100,a=e[2]/100,l=e[3]/100,i=1-Math.min(1,n*(1-l)+l),c=1-Math.min(1,t*(1-l)+l),d=1-Math.min(1,a*(1-l)+l);return[i*255,c*255,d*255]},u.xyz.rgb=function(e){let n=e[0]/100,t=e[1]/100,a=e[2]/100,l,i,c;return l=n*3.2406+t*-1.5372+a*-.4986,i=n*-.9689+t*1.8758+a*.0415,c=n*.0557+t*-.204+a*1.057,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,l=Math.min(Math.max(0,l),1),i=Math.min(Math.max(0,i),1),c=Math.min(Math.max(0,c),1),[l*255,i*255,c*255]},u.xyz.lab=function(e){let n=e[0],t=e[1],a=e[2];n/=95.047,t/=100,a/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let l=116*t-16,i=500*(n-t),c=200*(t-a);return[l,i,c]},u.lab.xyz=function(e){let n=e[0],t=e[1],a=e[2],l,i,c;i=(n+16)/116,l=t/500+i,c=i-a/200;let d=i**3,g=l**3,b=c**3;return i=d>.008856?d:(i-16/116)/7.787,l=g>.008856?g:(l-16/116)/7.787,c=b>.008856?b:(c-16/116)/7.787,l*=95.047,i*=100,c*=108.883,[l,i,c]},u.lab.lch=function(e){let n=e[0],t=e[1],a=e[2],l;l=Math.atan2(a,t)*360/2/Math.PI,l<0&&(l+=360);let i=Math.sqrt(t*t+a*a);return[n,i,l]},u.lch.lab=function(e){let n=e[0],t=e[1],a=e[2]/360*2*Math.PI,l=t*Math.cos(a),i=t*Math.sin(a);return[n,l,i]},u.rgb.ansi16=function(e,n=null){let[t,a,l]=e,i=n===null?u.rgb.hsv(e)[2]:n;if(i=Math.round(i/50),i===0)return 30;let c=30+(Math.round(l/255)<<2|Math.round(a/255)<<1|Math.round(t/255));return i===2&&(c+=60),c},u.hsv.ansi16=function(e){return u.rgb.ansi16(u.hsv.rgb(e),e[2])},u.rgb.ansi256=function(e){let n=e[0],t=e[1],a=e[2];return n===t&&t===a?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(t/255*5)+Math.round(a/255*5)},u.ansi16.rgb=function(e){let n=e%10;if(n===0||n===7)return e>50&&(n+=3.5),n=n/10.5*255,[n,n,n];let t=(~~(e>50)+1)*.5,a=(n&1)*t*255,l=(n>>1&1)*t*255,i=(n>>2&1)*t*255;return[a,l,i]},u.ansi256.rgb=function(e){if(e>=232){let i=(e-232)*10+8;return[i,i,i]}e-=16;let n,t=Math.floor(e/36)/5*255,a=Math.floor((n=e%36)/6)/5*255,l=n%6/5*255;return[t,a,l]},u.rgb.hex=function(e){let n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n},u.hex.rgb=function(e){let n=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!n)return[0,0,0];let t=n[0];n[0].length===3&&(t=t.split("").map(d=>d+d).join(""));let a=parseInt(t,16),l=a>>16&255,i=a>>8&255,c=a&255;return[l,i,c]},u.rgb.hcg=function(e){let n=e[0]/255,t=e[1]/255,a=e[2]/255,l=Math.max(Math.max(n,t),a),i=Math.min(Math.min(n,t),a),c=l-i,d,g;return c<1?d=i/(1-c):d=0,c<=0?g=0:l===n?g=(t-a)/c%6:l===t?g=2+(a-n)/c:g=4+(n-t)/c,g/=6,g%=1,[g*360,c*100,d*100]},u.hsl.hcg=function(e){let n=e[1]/100,t=e[2]/100,a=t<.5?2*n*t:2*n*(1-t),l=0;return a<1&&(l=(t-.5*a)/(1-a)),[e[0],a*100,l*100]},u.hsv.hcg=function(e){let n=e[1]/100,t=e[2]/100,a=n*t,l=0;return a<1&&(l=(t-a)/(1-a)),[e[0],a*100,l*100]},u.hcg.rgb=function(e){let n=e[0]/360,t=e[1]/100,a=e[2]/100;if(t===0)return[a*255,a*255,a*255];let l=[0,0,0],i=n%1*6,c=i%1,d=1-c,g=0;switch(Math.floor(i)){case 0:l[0]=1,l[1]=c,l[2]=0;break;case 1:l[0]=d,l[1]=1,l[2]=0;break;case 2:l[0]=0,l[1]=1,l[2]=c;break;case 3:l[0]=0,l[1]=d,l[2]=1;break;case 4:l[0]=c,l[1]=0,l[2]=1;break;default:l[0]=1,l[1]=0,l[2]=d}return g=(1-t)*a,[(t*l[0]+g)*255,(t*l[1]+g)*255,(t*l[2]+g)*255]},u.hcg.hsv=function(e){let n=e[1]/100,t=e[2]/100,a=n+t*(1-n),l=0;return a>0&&(l=n/a),[e[0],l*100,a*100]},u.hcg.hsl=function(e){let n=e[1]/100,t=e[2]/100*(1-n)+.5*n,a=0;return t>0&&t<.5?a=n/(2*t):t>=.5&&t<1&&(a=n/(2*(1-t))),[e[0],a*100,t*100]},u.hcg.hwb=function(e){let n=e[1]/100,t=e[2]/100,a=n+t*(1-n);return[e[0],(a-n)*100,(1-a)*100]},u.hwb.hcg=function(e){let n=e[1]/100,t=1-e[2]/100,a=t-n,l=0;return a<1&&(l=(t-a)/(1-a)),[e[0],a*100,l*100]},u.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},u.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},u.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},u.gray.hsl=function(e){return[0,0,e[0]]},u.gray.hsv=u.gray.hsl,u.gray.hwb=function(e){return[0,100,e[0]]},u.gray.cmyk=function(e){return[0,0,0,e[0]]},u.gray.lab=function(e){return[e[0],0,0]},u.gray.hex=function(e){let n=Math.round(e[0]/100*255)&255,t=((n<<16)+(n<<8)+n).toString(16).toUpperCase();return"000000".substring(t.length)+t},u.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ve=P({"../../../node_modules/color-convert/route.js"(r,o){var s=Y();function h(){let n={},t=Object.keys(s);for(let a=t.length,l=0;l<a;l++)n[t[l]]={distance:-1,parent:null};return n}function u(n){let t=h(),a=[n];for(t[n].distance=0;a.length;){let l=a.pop(),i=Object.keys(s[l]);for(let c=i.length,d=0;d<c;d++){let g=i[d],b=t[g];b.distance===-1&&(b.distance=t[l].distance+1,b.parent=l,a.unshift(g))}}return t}function f(n,t){return function(a){return t(n(a))}}function e(n,t){let a=[t[n].parent,n],l=s[t[n].parent][n],i=t[n].parent;for(;t[i].parent;)a.unshift(t[i].parent),l=f(s[t[i].parent][i],l),i=t[i].parent;return l.conversion=a,l}o.exports=function(n){let t=u(n),a={},l=Object.keys(t);for(let i=l.length,c=0;c<i;c++){let d=l[c];t[d].parent!==null&&(a[d]=e(d,t))}return a}}}),me=P({"../../../node_modules/color-convert/index.js"(r,o){var s=Y(),h=ve(),u={},f=Object.keys(s);function e(t){let a=function(...l){let i=l[0];return i==null?i:(i.length>1&&(l=i),t(l))};return"conversion"in t&&(a.conversion=t.conversion),a}function n(t){let a=function(...l){let i=l[0];if(i==null)return i;i.length>1&&(l=i);let c=t(l);if(typeof c=="object")for(let d=c.length,g=0;g<d;g++)c[g]=Math.round(c[g]);return c};return"conversion"in t&&(a.conversion=t.conversion),a}f.forEach(t=>{u[t]={},Object.defineProperty(u[t],"channels",{value:s[t].channels}),Object.defineProperty(u[t],"labels",{value:s[t].labels});let a=h(t);Object.keys(a).forEach(l=>{let i=a[l];u[t][l]=n(i),u[t][l].raw=e(i)})}),o.exports=u}}),_=ge(me());function pe(r,o,{signal:s,edges:h}={}){let u,f=null,e=h!=null&&h.includes("leading"),n=h==null||h.includes("trailing"),t=()=>{f!==null&&(r.apply(u,f),u=void 0,f=null)},a=()=>{n&&t(),d()},l=null,i=()=>{l!=null&&clearTimeout(l),l=setTimeout(()=>{l=null,a()},o)},c=()=>{l!==null&&(clearTimeout(l),l=null)},d=()=>{c(),u=void 0,f=null},g=()=>{t()},b=function(...p){if(s?.aborted)return;u=this,f=p;let m=l==null;i(),e&&m&&t()};return b.schedule=i,b.cancel=d,b.flush=g,s?.addEventListener("abort",d,{once:!0}),b}function C(){return(C=Object.assign||function(r){for(var o=1;o<arguments.length;o++){var s=arguments[o];for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(r[h]=s[h])}return r}).apply(this,arguments)}function X(r,o){if(r==null)return{};var s,h,u={},f=Object.keys(r);for(h=0;h<f.length;h++)o.indexOf(s=f[h])>=0||(u[s]=r[s]);return u}function L(r){var o=y.useRef(r),s=y.useRef(function(h){o.current&&o.current(h)});return o.current=r,s.current}var S=function(r,o,s){return o===void 0&&(o=0),s===void 0&&(s=1),r>s?s:r<o?o:r},O=function(r){return"touches"in r},T=function(r){return r&&r.ownerDocument.defaultView||self},G=function(r,o,s){var h=r.getBoundingClientRect(),u=O(o)?(function(f,e){for(var n=0;n<f.length;n++)if(f[n].identifier===e)return f[n];return f[0]})(o.touches,s):o;return{left:S((u.pageX-(h.left+T(r).pageXOffset))/h.width),top:S((u.pageY-(h.top+T(r).pageYOffset))/h.height)}},A=function(r){!O(r)&&r.preventDefault()},F=v.memo(function(r){var o=r.onMove,s=r.onKey,h=X(r,["onMove","onKey"]),u=y.useRef(null),f=L(o),e=L(s),n=y.useRef(null),t=y.useRef(!1),a=y.useMemo(function(){var d=function(p){A(p),(O(p)?p.touches.length>0:p.buttons>0)&&u.current?f(G(u.current,p,n.current)):b(!1)},g=function(){return b(!1)};function b(p){var m=t.current,w=T(u.current),E=p?w.addEventListener:w.removeEventListener;E(m?"touchmove":"mousemove",d),E(m?"touchend":"mouseup",g)}return[function(p){var m=p.nativeEvent,w=u.current;if(w&&(A(m),!(function(k,j){return j&&!O(k)})(m,t.current)&&w)){if(O(m)){t.current=!0;var E=m.changedTouches||[];E.length&&(n.current=E[0].identifier)}w.focus(),f(G(w,m,n.current)),b(!0)}},function(p){var m=p.which||p.keyCode;m<37||m>40||(p.preventDefault(),e({left:m===39?.05:m===37?-.05:0,top:m===40?.05:m===38?-.05:0}))},b]},[e,f]),l=a[0],i=a[1],c=a[2];return y.useEffect(function(){return c},[c]),v.createElement("div",C({},h,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:u,onKeyDown:i,tabIndex:0,role:"slider"}))}),N=function(r){return r.filter(Boolean).join(" ")},D=function(r){var o=r.color,s=r.left,h=r.top,u=h===void 0?.5:h,f=N(["react-colorful__pointer",r.className]);return v.createElement("div",{className:f,style:{top:100*u+"%",left:100*s+"%"}},v.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:o}}))},x=function(r,o,s){return o===void 0&&(o=0),s===void 0&&(s=Math.pow(10,o)),Math.round(s*r)/s},ye={grad:.9,turn:360,rad:360/(2*Math.PI)},xe=function(r){return Z(B(r))},B=function(r){return r[0]==="#"&&(r=r.substring(1)),r.length<6?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?x(parseInt(r[3]+r[3],16)/255,2):1}:{r:parseInt(r.substring(0,2),16),g:parseInt(r.substring(2,4),16),b:parseInt(r.substring(4,6),16),a:r.length===8?x(parseInt(r.substring(6,8),16)/255,2):1}},we=function(r,o){return o===void 0&&(o="deg"),Number(r)*(ye[o]||1)},ke=function(r){var o=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return o?_e({h:we(o[1],o[2]),s:Number(o[3]),l:Number(o[4]),a:o[5]===void 0?1:Number(o[5])/(o[6]?100:1)}):{h:0,s:0,v:0,a:1}},_e=function(r){var o=r.s,s=r.l;return{h:r.h,s:(o*=(s<50?s:100-s)/100)>0?2*o/(s+o)*100:0,v:s+o,a:r.a}},Ee=function(r){return Ce(Q(r))},J=function(r){var o=r.s,s=r.v,h=r.a,u=(200-o)*s/100;return{h:x(r.h),s:x(u>0&&u<200?o*s/100/(u<=100?u:200-u)*100:0),l:x(u/2),a:x(h,2)}},K=function(r){var o=J(r);return"hsl("+o.h+", "+o.s+"%, "+o.l+"%)"},H=function(r){var o=J(r);return"hsla("+o.h+", "+o.s+"%, "+o.l+"%, "+o.a+")"},Q=function(r){var o=r.h,s=r.s,h=r.v,u=r.a;o=o/360*6,s/=100,h/=100;var f=Math.floor(o),e=h*(1-s),n=h*(1-(o-f)*s),t=h*(1-(1-o+f)*s),a=f%6;return{r:x(255*[h,n,e,e,t,h][a]),g:x(255*[t,h,h,n,e,e][a]),b:x(255*[e,e,t,h,h,n][a]),a:x(u,2)}},Me=function(r){var o=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(r);return o?Z({r:Number(o[1])/(o[2]?100/255:1),g:Number(o[3])/(o[4]?100/255:1),b:Number(o[5])/(o[6]?100/255:1),a:o[7]===void 0?1:Number(o[7])/(o[8]?100:1)}):{h:0,s:0,v:0,a:1}},R=function(r){var o=r.toString(16);return o.length<2?"0"+o:o},Ce=function(r){var o=r.r,s=r.g,h=r.b,u=r.a,f=u<1?R(x(255*u)):"";return"#"+R(o)+R(s)+R(h)+f},Z=function(r){var o=r.r,s=r.g,h=r.b,u=r.a,f=Math.max(o,s,h),e=f-Math.min(o,s,h),n=e?f===o?(s-h)/e:f===s?2+(h-o)/e:4+(o-s)/e:0;return{h:x(60*(n<0?n+6:n)),s:x(f?e/f*100:0),v:x(f/255*100),a:u}},ee=v.memo(function(r){var o=r.hue,s=r.onChange,h=N(["react-colorful__hue",r.className]);return v.createElement("div",{className:h},v.createElement(F,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:S(o+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":x(o),"aria-valuemax":"360","aria-valuemin":"0"},v.createElement(D,{className:"react-colorful__hue-pointer",left:o/360,color:K({h:o,s:100,v:100,a:1})})))}),re=v.memo(function(r){var o=r.hsva,s=r.onChange,h={backgroundColor:K({h:o.h,s:100,v:100,a:1})};return v.createElement("div",{className:"react-colorful__saturation",style:h},v.createElement(F,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:S(o.s+100*u.left,0,100),v:S(o.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+x(o.s)+"%, Brightness "+x(o.v)+"%"},v.createElement(D,{className:"react-colorful__saturation-pointer",top:1-o.v/100,left:o.s/100,color:K(o)})))}),te=function(r,o){if(r===o)return!0;for(var s in r)if(r[s]!==o[s])return!1;return!0},ne=function(r,o){return r.replace(/\s/g,"")===o.replace(/\s/g,"")},$e=function(r,o){return r.toLowerCase()===o.toLowerCase()||te(B(r),B(o))};function ae(r,o,s){var h=L(s),u=y.useState(function(){return r.toHsva(o)}),f=u[0],e=u[1],n=y.useRef({color:o,hsva:f});y.useEffect(function(){if(!r.equal(o,n.current.color)){var a=r.toHsva(o);n.current={hsva:a,color:o},e(a)}},[o,r]),y.useEffect(function(){var a;te(f,n.current.hsva)||r.equal(a=r.fromHsva(f),n.current.color)||(n.current={hsva:f,color:a},h(a))},[f,r,h]);var t=y.useCallback(function(a){e(function(l){return Object.assign({},l,a)})},[]);return[f,t]}var Se=typeof window<"u"?y.useLayoutEffect:y.useEffect,Oe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},W=new Map,le=function(r){Se(function(){var o=r.current?r.current.ownerDocument:document;if(o!==void 0&&!W.has(o)){var s=o.createElement("style");s.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(o,s);var h=Oe();h&&s.setAttribute("nonce",h),o.head.appendChild(s)}},[])},Ne=function(r){var o=r.className,s=r.colorModel,h=r.color,u=h===void 0?s.defaultColor:h,f=r.onChange,e=X(r,["className","colorModel","color","onChange"]),n=y.useRef(null);le(n);var t=ae(s,u,f),a=t[0],l=t[1],i=N(["react-colorful",o]);return v.createElement("div",C({},e,{ref:n,className:i}),v.createElement(re,{hsva:a,onChange:l}),v.createElement(ee,{hue:a.h,onChange:l,className:"react-colorful__last-control"}))},je={defaultColor:"000",toHsva:xe,fromHsva:function(r){return Ee({h:r.h,s:r.s,v:r.v,a:1})},equal:$e},Re=function(r){return v.createElement(Ne,C({},r,{colorModel:je}))},ze=function(r){var o=r.className,s=r.hsva,h=r.onChange,u={backgroundImage:"linear-gradient(90deg, "+H(Object.assign({},s,{a:0}))+", "+H(Object.assign({},s,{a:1}))+")"},f=N(["react-colorful__alpha",o]),e=x(100*s.a);return v.createElement("div",{className:f},v.createElement("div",{className:"react-colorful__alpha-gradient",style:u}),v.createElement(F,{onMove:function(n){h({a:n.left})},onKey:function(n){h({a:S(s.a+n.left)})},"aria-label":"Alpha","aria-valuetext":e+"%","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"100"},v.createElement(D,{className:"react-colorful__alpha-pointer",left:s.a,color:H(s)})))},oe=function(r){var o=r.className,s=r.colorModel,h=r.color,u=h===void 0?s.defaultColor:h,f=r.onChange,e=X(r,["className","colorModel","color","onChange"]),n=y.useRef(null);le(n);var t=ae(s,u,f),a=t[0],l=t[1],i=N(["react-colorful",o]);return v.createElement("div",C({},e,{ref:n,className:i}),v.createElement(re,{hsva:a,onChange:l}),v.createElement(ee,{hue:a.h,onChange:l}),v.createElement(ze,{hsva:a,onChange:l,className:"react-colorful__last-control"}))},He={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:ke,fromHsva:H,equal:ne},Ie=function(r){return v.createElement(oe,C({},r,{colorModel:He}))},Pe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Me,fromHsva:function(r){var o=Q(r);return"rgba("+o.r+", "+o.g+", "+o.b+", "+o.a+")"},equal:ne},qe=function(r){return v.createElement(oe,C({},r,{colorModel:Pe}))},Le=M.div({position:"relative",maxWidth:250}),Te=M.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"}}),Be=M.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),Ke=r=>`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity="0.05" fill="${r?"white":"black"}"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,ue=M(U)(({value:r,selected:o,theme:s})=>({width:16,height:16,boxShadow:o?`${s.appBorderColor} 0 0 0 1px inset, ${s.textMutedColor}50 0 0 0 4px`:`${s.appBorderColor} 0 0 0 1px inset`,border:"none",borderRadius:s.appBorderRadius,"&, &:hover":{background:"unset",backgroundColor:"unset",backgroundImage:`linear-gradient(${r}, ${r}), ${Ke(s.base==="dark")}`}})),Ve=M(fe.Input)(({theme:r})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:r.typography.fonts.base,'[aria-readonly="true"] > &':{background:r.base==="light"?r.color.lighter:"transparent"}})),Xe=M(ue)(({disabled:r})=>({position:"absolute",top:4,left:4,zIndex:1,cursor:r?"not-allowed":"pointer"})),Fe=M(U)(({theme:r})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:r.input.color})),ie=(r=>(r.RGB="rgb",r.HSL="hsl",r.HEX="hex",r))(ie||{}),q=Object.values(ie),De=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Ge=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Ae=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,V=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,We=/^\s*#?([0-9a-f]{3})\s*$/i,Ue={hex:Re,rgb:qe,hsl:Ie},z={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},se=r=>{let o=r?.match(De);if(!o)return[0,0,0,1];let[,s,h,u,f=1]=o;return[s,h,u,f].map(Number)},Ye=r=>{let[o,s,h,u]=se(r),[f,e,n]=_.default.rgb.hsl([o,s,h])||[0,0,0];return{valid:!0,value:r,keyword:_.default.rgb.keyword([o,s,h]),colorSpace:"rgb",rgb:r,hsl:`hsla(${f}, ${e}%, ${n}%, ${u})`,hex:`#${_.default.rgb.hex([o,s,h]).toLowerCase()}`}},Je=r=>{let[o,s,h,u]=se(r),[f,e,n]=_.default.hsl.rgb([o,s,h])||[0,0,0];return{valid:!0,value:r,keyword:_.default.hsl.keyword([o,s,h]),colorSpace:"hsl",rgb:`rgba(${f}, ${e}, ${n}, ${u})`,hsl:r,hex:`#${_.default.hsl.hex([o,s,h]).toLowerCase()}`}},Qe=r=>{let o=r.replace("#",""),s=_.default.keyword.rgb(o)||_.default.hex.rgb(o),h=_.default.rgb.hsl(s),u=r;/[^#a-f0-9]/i.test(r)?u=o:V.test(r)&&(u=`#${o}`);let f=!0;if(u.startsWith("#"))f=V.test(u);else try{_.default.keyword.hex(u)}catch{f=!1}return{valid:f,value:u,keyword:_.default.rgb.keyword(s),colorSpace:"hex",rgb:`rgba(${s[0]}, ${s[1]}, ${s[2]}, 1)`,hsl:`hsla(${h[0]}, ${h[1]}%, ${h[2]}%, 1)`,hex:u}},$=r=>{if(r)return Ge.test(r)?Ye(r):Ae.test(r)?Je(r):Qe(r)},Ze=(r,o,s)=>{if(!r||!o?.valid)return z[s];if(s!=="hex")return o?.[s]||z[s];if(!o.hex.startsWith("#"))try{return`#${_.default.keyword.hex(o.hex)}`}catch{return z.hex}let h=o.hex.match(We);if(!h)return V.test(o.hex)?o.hex:z.hex;let[u,f,e]=h[1].split("");return`#${u}${u}${f}${f}${e}${e}`},er=(r,o)=>{let[s,h]=y.useState(r||""),[u,f]=y.useState(()=>$(s)),[e,n]=y.useState(u?.colorSpace||"hex");y.useEffect(()=>{let i=r||"",c=$(i);h(i),f(c),n(c?.colorSpace||"hex")},[r]);let t=y.useMemo(()=>Ze(s,u,e).toLowerCase(),[s,u,e]),a=y.useCallback(i=>{let c=$(i),d=c?.value||i||"";h(d),d===""&&(f(void 0),o(void 0)),c&&(f(c),n(c.colorSpace),o(c.value))},[o]),l=y.useCallback(()=>{let i=(q.indexOf(e)+1)%q.length,c=q[i];n(c);let d=u?.[c]||"";h(d),o(d)},[u,e,o]);return{value:s,realValue:t,updateValue:a,color:u,colorSpace:e,cycleColorSpace:l}},I=r=>r.replace(/\s*/,"").toLowerCase(),rr=(r,o,s)=>{let[h,u]=y.useState(o?.valid?[o]:[]);y.useEffect(()=>{o===void 0&&u([])},[o]);let f=y.useMemo(()=>(r||[]).map(n=>typeof n=="string"?$(n):n.title?{...$(n.color),keyword:n.title}:$(n.color)).concat(h).filter(Boolean).slice(-27),[r,h]),e=y.useCallback(n=>{n?.valid&&(f.some(t=>t&&t[s]&&I(t[s]||"")===I(n[s]||""))||u(t=>t.concat(n)))},[s,f]);return{presets:f,addPreset:e}},tr=({name:r,value:o,onChange:s,onFocus:h,onBlur:u,presetColors:f,startOpen:e=!1,argType:n})=>{let t=y.useCallback(pe(s,200),[s]),{value:a,realValue:l,updateValue:i,color:c,colorSpace:d,cycleColorSpace:g}=er(o,t),{presets:b,addPreset:p}=rr(f??[],c,d),m=Ue[d],w=!!n?.table?.readonly,E=ce(r);return v.createElement(Le,null,v.createElement("label",{htmlFor:E,className:"sb-sr-only"},r),v.createElement(Ve,{id:E,value:a,onChange:k=>i(k.target.value),onFocus:k=>k.target.select(),readOnly:w,placeholder:"Choose color..."}),v.createElement(he,{defaultVisible:e,visible:w?!1:void 0,onVisibleChange:()=>c&&p(c),popover:v.createElement(Te,null,v.createElement(m,{color:l==="transparent"?"#000000":l,onChange:i,onFocus:h,onBlur:u}),b.length>0&&v.createElement(Be,null,b.map((k,j)=>v.createElement(ue,{key:`${k?.value||j}-${j}`,variant:"ghost",padding:"small",size:"small",ariaLabel:"Pick this color",tooltip:k?.keyword||k?.value||"",value:k?.value||"",selected:!!(c&&k&&k[d]&&I(k[d]||"")===I(c[d])),onClick:()=>k&&i(k.value||"")}))))},v.createElement(Xe,{variant:"ghost",padding:"small",size:"small",ariaLabel:"Open color picker",value:l,style:{margin:4},disabled:w})),a?v.createElement(Fe,{variant:"ghost",padding:"small",size:"small",ariaLabel:"Cycle through color spaces",disabled:w,onClick:w?void 0:g},v.createElement(de,null)):null)},or=tr;export{tr as ColorControl,or as default};
@@ -1,4 +1,4 @@
1
- import{x as a}from"./iframe-DpPeZoRd.js";import"./preload-helper-PPVm8Dsz.js";const b=c=>{const r=[...c.palette?.entries()??[]];return r.length>0&&r[0][1].includes("-gradient")?a`
1
+ import{x as a}from"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";const b=c=>{const r=[...c.palette?.entries()??[]];return r.length>0&&r[0][1].includes("-gradient")?a`
2
2
  <div class="my-10 flex flex-wrap gap-4">
3
3
  ${r.map(([e,d])=>a`
4
4
  <div class="w-[200px] overflow-clip rounded-lg bg-white shadow-md">
@@ -1,4 +1,4 @@
1
- import{x as i}from"./iframe-DpPeZoRd.js";import{b as d}from"./celebrate-KwPoF1K3.js";import{b as l}from"./ripple-DQbyyRUw.js";import{B as r}from"./Button-D8Sr8A-v.js";import"./preload-helper-PPVm8Dsz.js";import"./position-CFNQy3J6.js";const v={title:"Effects/Combined Effects",tags:["autodocs"],parameters:{docs:{subtitle:"Ripple + Sparkle via Houdini Paint API inside the View Transition",description:{component:"Triggers `btuRipple` with the `sparkle` option. When the CSS Paint API is available (Chrome/Edge), sparkle particles render directly on the View Transition pseudo-element via a paint worklet — synchronized with the ripple ring. Falls back to DOM-based `btuCelebrate` in other browsers."}},controls:{expanded:!0}},argTypes:{rippleDuration:{control:{type:"range",min:500,max:5e3,step:100},description:"Ripple animation duration (ms)"},ringWidth:{control:{type:"range",min:10,max:100,step:5},description:"Width of the hue-shifted band (px)"},feather:{control:{type:"range",min:10,max:120,step:5},description:"Feathered edge transition width (px)"},hueShift:{control:{type:"range",min:0,max:330,step:30},description:"OKLCH hue rotation (degrees)"},contrast:{control:{type:"range",min:.5,max:3,step:.1},description:"Contrast multiplier"},saturate:{control:{type:"range",min:0,max:5,step:.5},description:"Saturation multiplier"},sparkle:{control:"boolean",description:"Enable sparkle particles via CSS Paint API (Chrome/Edge). Falls back to DOM celebrate when off."},sparkleDuration:{control:{type:"range",min:500,max:5e3,step:100},description:"Sparkle animation duration (ms) — independent from ripple duration"},sparkleSize:{control:{type:"range",min:100,max:600,step:50},description:"Sparkle burst area size (px)"}},args:{rippleDuration:1200,ringWidth:40,feather:75,hueShift:0,contrast:1.8,saturate:1.5,sparkle:!0,sparkleDuration:2e3,sparkleSize:300}},s={args:{rippleDuration:1e3,ringWidth:35,hueShift:0,sparkleDuration:1300,sparkleSize:300,contrast:1.5,saturate:2.5,feather:115},render:e=>i`
1
+ import{x as i}from"./iframe-DUmd7GbF.js";import{b as d}from"./celebrate-KwPoF1K3.js";import{b as l}from"./ripple-DQbyyRUw.js";import{B as r}from"./Button-ffu9dnxC.js";import"./preload-helper-PPVm8Dsz.js";import"./position-CFNQy3J6.js";const v={title:"Effects/Combined Effects",tags:["autodocs"],parameters:{docs:{subtitle:"Ripple + Sparkle via Houdini Paint API inside the View Transition",description:{component:"Triggers `btuRipple` with the `sparkle` option. When the CSS Paint API is available (Chrome/Edge), sparkle particles render directly on the View Transition pseudo-element via a paint worklet — synchronized with the ripple ring. Falls back to DOM-based `btuCelebrate` in other browsers."}},controls:{expanded:!0}},argTypes:{rippleDuration:{control:{type:"range",min:500,max:5e3,step:100},description:"Ripple animation duration (ms)"},ringWidth:{control:{type:"range",min:10,max:100,step:5},description:"Width of the hue-shifted band (px)"},feather:{control:{type:"range",min:10,max:120,step:5},description:"Feathered edge transition width (px)"},hueShift:{control:{type:"range",min:0,max:330,step:30},description:"OKLCH hue rotation (degrees)"},contrast:{control:{type:"range",min:.5,max:3,step:.1},description:"Contrast multiplier"},saturate:{control:{type:"range",min:0,max:5,step:.5},description:"Saturation multiplier"},sparkle:{control:"boolean",description:"Enable sparkle particles via CSS Paint API (Chrome/Edge). Falls back to DOM celebrate when off."},sparkleDuration:{control:{type:"range",min:500,max:5e3,step:100},description:"Sparkle animation duration (ms) — independent from ripple duration"},sparkleSize:{control:{type:"range",min:100,max:600,step:50},description:"Sparkle burst area size (px)"}},args:{rippleDuration:1200,ringWidth:40,feather:75,hueShift:0,contrast:1.8,saturate:1.5,sparkle:!0,sparkleDuration:2e3,sparkleSize:300}},s={args:{rippleDuration:1e3,ringWidth:35,hueShift:0,sparkleDuration:1300,sparkleSize:300,contrast:1.5,saturate:2.5,feather:115},render:e=>i`
2
2
  <div @click=${async a=>{const{ready:t}=l({position:a,duration:e.rippleDuration,ringWidth:e.ringWidth,feather:e.feather,hueShift:e.hueShift,contrast:e.contrast,saturate:e.saturate,sparkle:e.sparkle?{size:e.sparkleSize,duration:e.sparkleDuration}:!1});e.sparkle||(await t,d({position:a,size:e.sparkleSize}))}} class="flex" style="min-height: 100vh;">
3
3
  <!-- Left Nav Rail -->
4
4
  <div class="flex w-16 flex-shrink-0 flex-col items-center gap-4 border-r border-gray-200 bg-white py-4">
@@ -1 +1 @@
1
- import"./iframe-DpPeZoRd.js";const a=t=>{class s extends t{constructor(){super(...arguments),this.internals=this.attachInternals(),this.states=this.internals.states}}return s};export{a as C};
1
+ import"./iframe-DUmd7GbF.js";const a=t=>{class s extends t{constructor(){super(...arguments),this.internals=this.attachInternals(),this.states=this.internals.states}}return s};export{a as C};
@@ -1,4 +1,4 @@
1
- import{x as c,i as g}from"./iframe-DpPeZoRd.js";import{t as m}from"./custom-element-UsVr97OX.js";import{C as u}from"./ComponentStatesMixin-Dj1V-e8c.js";import"./preload-helper-PPVm8Dsz.js";var r=Object.freeze,b=Object.defineProperty,h=Object.getOwnPropertyDescriptor,x=(e,o,p,d)=>{for(var t=d>1?void 0:d?h(o,p):o,s=e.length-1,n;s>=0;s--)(n=e[s])&&(t=n(t)||t);return t},f=(e,o)=>r(b(e,"raw",{value:r(e.slice())})),l;const C={title:"Mixins/Component States",tags:["autodocs"],parameters:{docs:{description:{component:`
1
+ import{x as c,i as g}from"./iframe-DUmd7GbF.js";import{t as m}from"./custom-element-UsVr97OX.js";import{C as u}from"./ComponentStatesMixin-CmZnizKN.js";import"./preload-helper-PPVm8Dsz.js";var r=Object.freeze,b=Object.defineProperty,h=Object.getOwnPropertyDescriptor,x=(e,o,p,d)=>{for(var t=d>1?void 0:d?h(o,p):o,s=e.length-1,n;s>=0;s--)(n=e[s])&&(t=n(t)||t);return t},f=(e,o)=>r(b(e,"raw",{value:r(e.slice())})),l;const C={title:"Mixins/Component States",tags:["autodocs"],parameters:{docs:{description:{component:`
2
2
  \`ComponentStatesMixin\` provides access to the **Custom State API** for managing component-specific states that can be styled with the \`:state()\` pseudo-class in CSS.
3
3
 
4
4
  Uses \`ElementInternals.states\` (\`CustomStateSet\`) to manage component states that are separate from attributes, providing better encapsulation and performance.
@@ -1,4 +1,4 @@
1
- import{g as s,x as i}from"./iframe-DpPeZoRd.js";import"./preload-helper-PPVm8Dsz.js";var r=Object.freeze,c=Object.defineProperty,p=(e,l)=>r(c(e,"raw",{value:r(l||e.slice())})),d;const{events:b,args:u,argTypes:a}=s("btu-copy-to-clipboard"),f={title:"Components/Copy to Clipboard",component:"btu-copy-to-clipboard",tags:["autodocs"],parameters:{docs:{subtitle:"btu-copy-to-clipboard",description:{component:`
1
+ import{g as s,x as i}from"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";var r=Object.freeze,c=Object.defineProperty,p=(e,l)=>r(c(e,"raw",{value:r(l||e.slice())})),d;const{events:b,args:u,argTypes:a}=s("btu-copy-to-clipboard"),f={title:"Components/Copy to Clipboard",component:"btu-copy-to-clipboard",tags:["autodocs"],parameters:{docs:{subtitle:"btu-copy-to-clipboard",description:{component:`
2
2
  A button component for copying text to the clipboard. The button becomes disabled and displays a success state for 3 seconds after copying.
3
3
 
4
4
  <h3>When to use:</h3>
@@ -1,4 +1,4 @@
1
- import{x as c}from"./iframe-DpPeZoRd.js";import"./preload-helper-PPVm8Dsz.js";function p(n,e){if(n<=0)return e;let t;return function(){clearTimeout(t),t=setTimeout(()=>{t=void 0,e.apply(this,[...arguments])},n)}}const h={title:"Utilities/Debounce",tags:["autodocs"],parameters:{docs:{subtitle:"The `debounce` utility delays function execution until a specified wait period has elapsed since the last invocation. Useful for search inputs, form validation, and window resize handlers."},controls:{expanded:!0}},argTypes:{wait:{control:{type:"number",min:0,max:2e3,step:50},description:"Debounce wait time in milliseconds"}},args:{wait:300}},o={render:n=>{const e=`debounce-${Math.random().toString(36).substring(2,9)}`;let t=0,i=0;const a=()=>{const d=document.getElementById(`${e}-normal-count`),r=document.getElementById(`${e}-debounced-count`);d&&(d.textContent=String(t)),r&&(r.textContent=String(i))},l=p(n.wait,()=>{i++,a()}),u=()=>{t++,a(),l()};return c`
1
+ import{x as c}from"./iframe-DUmd7GbF.js";import"./preload-helper-PPVm8Dsz.js";function p(n,e){if(n<=0)return e;let t;return function(){clearTimeout(t),t=setTimeout(()=>{t=void 0,e.apply(this,[...arguments])},n)}}const h={title:"Utilities/Debounce",tags:["autodocs"],parameters:{docs:{subtitle:"The `debounce` utility delays function execution until a specified wait period has elapsed since the last invocation. Useful for search inputs, form validation, and window resize handlers."},controls:{expanded:!0}},argTypes:{wait:{control:{type:"number",min:0,max:2e3,step:50},description:"Debounce wait time in milliseconds"}},args:{wait:300}},o={render:n=>{const e=`debounce-${Math.random().toString(36).substring(2,9)}`;let t=0,i=0;const a=()=>{const d=document.getElementById(`${e}-normal-count`),r=document.getElementById(`${e}-debounced-count`);d&&(d.textContent=String(t)),r&&(r.textContent=String(i))},l=p(n.wait,()=>{i++,a()}),u=()=>{t++,a(),l()};return c`
2
2
  <div class="space-y-4">
3
3
  <div class="text-base">
4
4
  <p class="mb-2">