storybook 10.2.0-alpha.0 → 10.2.0-alpha.2

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 (108) hide show
  1. package/dist/_browser-chunks/Color-E5XDEOX4.js +484 -0
  2. package/dist/_browser-chunks/{WithTooltip-IO6J4KBT.js → WithTooltip-65CFNBJE.js} +70 -70
  3. package/dist/_browser-chunks/{chunk-45UGUKRX.js → chunk-242VQQM5.js} +1 -1
  4. package/dist/_browser-chunks/chunk-2NDLAB5X.js +363 -0
  5. package/dist/_browser-chunks/{chunk-JP7NCOJX.js → chunk-3LY4VQVK.js} +1 -1
  6. package/dist/_browser-chunks/{chunk-XJNX76GA.js → chunk-54PNNATT.js} +3 -20
  7. package/dist/_browser-chunks/{chunk-VYJQ7RU5.js → chunk-6QKNWBQB.js} +17 -17
  8. package/dist/_browser-chunks/chunk-CLSHX4VX.js +4140 -0
  9. package/dist/_browser-chunks/{chunk-2XZMBGTA.js → chunk-DOSERVNW.js} +1 -1
  10. package/dist/_browser-chunks/chunk-HPYUT3WS.js +199 -0
  11. package/dist/_browser-chunks/{chunk-BRX2HXH7.js → chunk-IH6QJILI.js} +1 -1
  12. package/dist/_browser-chunks/{chunk-AS2HQEYC.js → chunk-IWQGIXJS.js} +1 -1
  13. package/dist/_browser-chunks/{chunk-UD6FQLAF.js → chunk-JK6U3MQW.js} +3 -3
  14. package/dist/_browser-chunks/{chunk-CHUV5WSW.js → chunk-LE2LTDW3.js} +1 -1
  15. package/dist/_browser-chunks/{chunk-RP5RXKFU.js → chunk-MOYJJEXA.js} +38 -29
  16. package/dist/_browser-chunks/chunk-NZMVUW5T.js +7 -0
  17. package/dist/_browser-chunks/{chunk-AXG2BOBL.js → chunk-S6TK43XQ.js} +10 -10
  18. package/dist/_browser-chunks/{chunk-H6XK3RSC.js → chunk-UAYGIC3L.js} +6 -6
  19. package/dist/_browser-chunks/{chunk-YKE5S47A.js → chunk-V2VKKSMQ.js} +18 -18
  20. package/dist/_browser-chunks/chunk-VIJ7SQRO.js +568 -0
  21. package/dist/_browser-chunks/chunk-XCZK5QUJ.js +0 -0
  22. package/dist/_browser-chunks/{chunk-3OXGAGBE.js → chunk-XLJZ7AOP.js} +14 -14
  23. package/dist/_browser-chunks/{chunk-SS2NHR7W.js → chunk-Y6HZAT53.js} +10 -12
  24. package/dist/_browser-chunks/{chunk-P4F4UVXX.js → chunk-YKABRMAI.js} +15 -15
  25. package/dist/_browser-chunks/{chunk-WJYERY3R.js → chunk-ZCFV7BZB.js} +2 -2
  26. package/dist/_browser-chunks/{formatter-QJ4M4OGQ.js → formatter-EIJCOSYU.js} +2 -2
  27. package/dist/_browser-chunks/{syntaxhighlighter-IQDEPFLK.js → syntaxhighlighter-ED5Y7EFY.js} +119 -119
  28. package/dist/_node-chunks/{builder-manager-7Y5SBM27.js → builder-manager-ZK4QXZNX.js} +22 -22
  29. package/dist/_node-chunks/{camelcase-VIOG5GUK.js → camelcase-QWQG7I72.js} +8 -8
  30. package/dist/_node-chunks/{chunk-G2SSRQRU.js → chunk-2AFVBCGF.js} +6 -6
  31. package/dist/_node-chunks/{chunk-YS4ZBVQ2.js → chunk-5VZMCPTH.js} +18 -18
  32. package/dist/_node-chunks/{chunk-RZYKYZNC.js → chunk-6OZRMRVO.js} +31 -31
  33. package/dist/_node-chunks/chunk-CLCLRZYL.js +61 -0
  34. package/dist/_node-chunks/{chunk-6I6BDAIH.js → chunk-CW7HJRCY.js} +9 -9
  35. package/dist/_node-chunks/chunk-DF3QP62W.js +18 -0
  36. package/dist/_node-chunks/{chunk-RQYJV7HO.js → chunk-DWVHBQGR.js} +165 -191
  37. package/dist/_node-chunks/chunk-EVBCPGQO.js +20 -0
  38. package/dist/_node-chunks/{chunk-NSWP6O57.js → chunk-EXZXVBZO.js} +8 -8
  39. package/dist/_node-chunks/{chunk-46UKK4ME.js → chunk-FZFZ5TOM.js} +9 -9
  40. package/dist/_node-chunks/{chunk-IIAWDLTX.js → chunk-GKEAARBQ.js} +10 -10
  41. package/dist/_node-chunks/{chunk-RFI7ULWH.js → chunk-HMFROKHU.js} +19 -19
  42. package/dist/_node-chunks/{chunk-KKTHRW4D.js → chunk-I5TOD3AY.js} +66 -72
  43. package/dist/_node-chunks/{chunk-MTAECA6H.js → chunk-KVNLJSAB.js} +619 -148
  44. package/dist/_node-chunks/{chunk-DGCZNDMZ.js → chunk-NKOHF7TQ.js} +10 -10
  45. package/dist/_node-chunks/{chunk-4APIDVTW.js → chunk-OV2CP4VV.js} +7 -7
  46. package/dist/_node-chunks/chunk-PCMFKXWQ.js +23 -0
  47. package/dist/_node-chunks/{chunk-T3T35CKM.js → chunk-Q5ZQH2OQ.js} +15 -15
  48. package/dist/_node-chunks/{chunk-VMPPKUVU.js → chunk-QFSK4B7R.js} +8 -8
  49. package/dist/_node-chunks/{chunk-WOPURGV3.js → chunk-R2J3OB3H.js} +6 -6
  50. package/dist/_node-chunks/{chunk-UCXU3VCO.js → chunk-RGQC4G3L.js} +165 -21
  51. package/dist/_node-chunks/{chunk-KX2RIBIP.js → chunk-TOXVUAH2.js} +6 -6
  52. package/dist/_node-chunks/{chunk-XE4QTYSE.js → chunk-URBB5EGY.js} +8 -8
  53. package/dist/_node-chunks/{chunk-XCRYZZCA.js → chunk-UWJ4BOOL.js} +597 -593
  54. package/dist/_node-chunks/{chunk-RTFXQIIL.js → chunk-VJPI73BB.js} +230 -236
  55. package/dist/_node-chunks/{chunk-I7HQSEQK.js → chunk-WOS3OQVT.js} +6 -6
  56. package/dist/_node-chunks/{chunk-UGZX6OPP.js → chunk-WUKWNPSQ.js} +17 -17
  57. package/dist/_node-chunks/{chunk-2265F7MI.js → chunk-XFU23B4C.js} +9 -9
  58. package/dist/_node-chunks/{dist-GV3REIPT.js → dist-UBFMIJZC.js} +10 -10
  59. package/dist/_node-chunks/{globby-QE4LR4PT.js → globby-VD3CGPVI.js} +154 -154
  60. package/dist/_node-chunks/{lib-NXQ5B2WJ.js → lib-MMJB47J3.js} +16 -16
  61. package/dist/_node-chunks/{mdx-N42X6CFJ-IGCQXXC5.js → mdx-N42X6CFJ-3J2G7NZZ.js} +11 -11
  62. package/dist/_node-chunks/{p-limit-S2V3UH5Q.js → p-limit-SOBWTEVH.js} +8 -8
  63. package/dist/babel/index.js +10 -10
  64. package/dist/bin/core.js +28 -28
  65. package/dist/bin/dispatcher.js +11 -11
  66. package/dist/bin/loader.js +14 -11
  67. package/dist/channels/index.js +3 -3
  68. package/dist/cli/index.d.ts +2 -1
  69. package/dist/cli/index.js +18 -18
  70. package/dist/common/index.js +19 -19
  71. package/dist/components/index.d.ts +9 -2
  72. package/dist/components/index.js +327 -311
  73. package/dist/core-server/index.js +127 -127
  74. package/dist/core-server/presets/common-manager.css +2 -2
  75. package/dist/core-server/presets/common-manager.js +43 -38
  76. package/dist/core-server/presets/common-override-preset.js +9 -9
  77. package/dist/core-server/presets/common-preset.js +4390 -173
  78. package/dist/csf/index.js +39 -35
  79. package/dist/csf-tools/index.js +9 -9
  80. package/dist/docs-tools/index.js +6 -5
  81. package/dist/instrumenter/index.js +1 -1
  82. package/dist/manager/globals-runtime.js +18956 -12602
  83. package/dist/manager/runtime.js +148 -132
  84. package/dist/manager-api/index.js +31 -22
  85. package/dist/mocking-utils/index.js +14 -14
  86. package/dist/node-logger/index.d.ts +2 -2
  87. package/dist/node-logger/index.js +9 -9
  88. package/dist/preview/runtime.js +30784 -24388
  89. package/dist/preview-api/index.js +12 -11
  90. package/dist/preview-errors.js +2 -2
  91. package/dist/router/index.js +12 -13
  92. package/dist/server-errors.js +11 -11
  93. package/dist/telemetry/index.d.ts +1 -1
  94. package/dist/telemetry/index.js +23 -23
  95. package/dist/test/index.js +3104 -1604
  96. package/dist/theming/create.js +3 -3
  97. package/dist/theming/index.js +38 -38
  98. package/package.json +2 -8
  99. package/dist/_browser-chunks/Color-TNPFN3FC.js +0 -1097
  100. package/dist/_browser-chunks/chunk-3IAH5M2U.js +0 -171
  101. package/dist/_browser-chunks/chunk-AIOS4NGK.js +0 -252
  102. package/dist/_browser-chunks/chunk-EZSQOHRI.js +0 -18
  103. package/dist/_browser-chunks/chunk-GFLS4VP3.js +0 -64
  104. package/dist/_browser-chunks/chunk-QKODTO7K.js +0 -7
  105. package/dist/_node-chunks/chunk-5JSWIKE2.js +0 -18
  106. package/dist/_node-chunks/chunk-BJMYJWGF.js +0 -20
  107. package/dist/_node-chunks/chunk-BYYI4JA6.js +0 -61
  108. package/dist/_node-chunks/chunk-RQ4GZHOA.js +0 -23
@@ -1,1097 +0,0 @@
1
- import {
2
- getControlId
3
- } from "./chunk-2FRVAXCZ.js";
4
- import "./chunk-QKODTO7K.js";
5
- import {
6
- __commonJS,
7
- __toESM
8
- } from "./chunk-A242L54C.js";
9
-
10
- // ../node_modules/color-name/index.js
11
- var require_color_name = __commonJS({
12
- "../node_modules/color-name/index.js"(exports, module) {
13
- "use strict";
14
- module.exports = {
15
- aliceblue: [240, 248, 255],
16
- antiquewhite: [250, 235, 215],
17
- aqua: [0, 255, 255],
18
- aquamarine: [127, 255, 212],
19
- azure: [240, 255, 255],
20
- beige: [245, 245, 220],
21
- bisque: [255, 228, 196],
22
- black: [0, 0, 0],
23
- blanchedalmond: [255, 235, 205],
24
- blue: [0, 0, 255],
25
- blueviolet: [138, 43, 226],
26
- brown: [165, 42, 42],
27
- burlywood: [222, 184, 135],
28
- cadetblue: [95, 158, 160],
29
- chartreuse: [127, 255, 0],
30
- chocolate: [210, 105, 30],
31
- coral: [255, 127, 80],
32
- cornflowerblue: [100, 149, 237],
33
- cornsilk: [255, 248, 220],
34
- crimson: [220, 20, 60],
35
- cyan: [0, 255, 255],
36
- darkblue: [0, 0, 139],
37
- darkcyan: [0, 139, 139],
38
- darkgoldenrod: [184, 134, 11],
39
- darkgray: [169, 169, 169],
40
- darkgreen: [0, 100, 0],
41
- darkgrey: [169, 169, 169],
42
- darkkhaki: [189, 183, 107],
43
- darkmagenta: [139, 0, 139],
44
- darkolivegreen: [85, 107, 47],
45
- darkorange: [255, 140, 0],
46
- darkorchid: [153, 50, 204],
47
- darkred: [139, 0, 0],
48
- darksalmon: [233, 150, 122],
49
- darkseagreen: [143, 188, 143],
50
- darkslateblue: [72, 61, 139],
51
- darkslategray: [47, 79, 79],
52
- darkslategrey: [47, 79, 79],
53
- darkturquoise: [0, 206, 209],
54
- darkviolet: [148, 0, 211],
55
- deeppink: [255, 20, 147],
56
- deepskyblue: [0, 191, 255],
57
- dimgray: [105, 105, 105],
58
- dimgrey: [105, 105, 105],
59
- dodgerblue: [30, 144, 255],
60
- firebrick: [178, 34, 34],
61
- floralwhite: [255, 250, 240],
62
- forestgreen: [34, 139, 34],
63
- fuchsia: [255, 0, 255],
64
- gainsboro: [220, 220, 220],
65
- ghostwhite: [248, 248, 255],
66
- gold: [255, 215, 0],
67
- goldenrod: [218, 165, 32],
68
- gray: [128, 128, 128],
69
- green: [0, 128, 0],
70
- greenyellow: [173, 255, 47],
71
- grey: [128, 128, 128],
72
- honeydew: [240, 255, 240],
73
- hotpink: [255, 105, 180],
74
- indianred: [205, 92, 92],
75
- indigo: [75, 0, 130],
76
- ivory: [255, 255, 240],
77
- khaki: [240, 230, 140],
78
- lavender: [230, 230, 250],
79
- lavenderblush: [255, 240, 245],
80
- lawngreen: [124, 252, 0],
81
- lemonchiffon: [255, 250, 205],
82
- lightblue: [173, 216, 230],
83
- lightcoral: [240, 128, 128],
84
- lightcyan: [224, 255, 255],
85
- lightgoldenrodyellow: [250, 250, 210],
86
- lightgray: [211, 211, 211],
87
- lightgreen: [144, 238, 144],
88
- lightgrey: [211, 211, 211],
89
- lightpink: [255, 182, 193],
90
- lightsalmon: [255, 160, 122],
91
- lightseagreen: [32, 178, 170],
92
- lightskyblue: [135, 206, 250],
93
- lightslategray: [119, 136, 153],
94
- lightslategrey: [119, 136, 153],
95
- lightsteelblue: [176, 196, 222],
96
- lightyellow: [255, 255, 224],
97
- lime: [0, 255, 0],
98
- limegreen: [50, 205, 50],
99
- linen: [250, 240, 230],
100
- magenta: [255, 0, 255],
101
- maroon: [128, 0, 0],
102
- mediumaquamarine: [102, 205, 170],
103
- mediumblue: [0, 0, 205],
104
- mediumorchid: [186, 85, 211],
105
- mediumpurple: [147, 112, 219],
106
- mediumseagreen: [60, 179, 113],
107
- mediumslateblue: [123, 104, 238],
108
- mediumspringgreen: [0, 250, 154],
109
- mediumturquoise: [72, 209, 204],
110
- mediumvioletred: [199, 21, 133],
111
- midnightblue: [25, 25, 112],
112
- mintcream: [245, 255, 250],
113
- mistyrose: [255, 228, 225],
114
- moccasin: [255, 228, 181],
115
- navajowhite: [255, 222, 173],
116
- navy: [0, 0, 128],
117
- oldlace: [253, 245, 230],
118
- olive: [128, 128, 0],
119
- olivedrab: [107, 142, 35],
120
- orange: [255, 165, 0],
121
- orangered: [255, 69, 0],
122
- orchid: [218, 112, 214],
123
- palegoldenrod: [238, 232, 170],
124
- palegreen: [152, 251, 152],
125
- paleturquoise: [175, 238, 238],
126
- palevioletred: [219, 112, 147],
127
- papayawhip: [255, 239, 213],
128
- peachpuff: [255, 218, 185],
129
- peru: [205, 133, 63],
130
- pink: [255, 192, 203],
131
- plum: [221, 160, 221],
132
- powderblue: [176, 224, 230],
133
- purple: [128, 0, 128],
134
- rebeccapurple: [102, 51, 153],
135
- red: [255, 0, 0],
136
- rosybrown: [188, 143, 143],
137
- royalblue: [65, 105, 225],
138
- saddlebrown: [139, 69, 19],
139
- salmon: [250, 128, 114],
140
- sandybrown: [244, 164, 96],
141
- seagreen: [46, 139, 87],
142
- seashell: [255, 245, 238],
143
- sienna: [160, 82, 45],
144
- silver: [192, 192, 192],
145
- skyblue: [135, 206, 235],
146
- slateblue: [106, 90, 205],
147
- slategray: [112, 128, 144],
148
- slategrey: [112, 128, 144],
149
- snow: [255, 250, 250],
150
- springgreen: [0, 255, 127],
151
- steelblue: [70, 130, 180],
152
- tan: [210, 180, 140],
153
- teal: [0, 128, 128],
154
- thistle: [216, 191, 216],
155
- tomato: [255, 99, 71],
156
- turquoise: [64, 224, 208],
157
- violet: [238, 130, 238],
158
- wheat: [245, 222, 179],
159
- white: [255, 255, 255],
160
- whitesmoke: [245, 245, 245],
161
- yellow: [255, 255, 0],
162
- yellowgreen: [154, 205, 50]
163
- };
164
- }
165
- });
166
-
167
- // ../node_modules/color-convert/conversions.js
168
- var require_conversions = __commonJS({
169
- "../node_modules/color-convert/conversions.js"(exports, module) {
170
- var cssKeywords = require_color_name(), reverseKeywords = {};
171
- for (let key of Object.keys(cssKeywords))
172
- reverseKeywords[cssKeywords[key]] = key;
173
- var convert2 = {
174
- rgb: { channels: 3, labels: "rgb" },
175
- hsl: { channels: 3, labels: "hsl" },
176
- hsv: { channels: 3, labels: "hsv" },
177
- hwb: { channels: 3, labels: "hwb" },
178
- cmyk: { channels: 4, labels: "cmyk" },
179
- xyz: { channels: 3, labels: "xyz" },
180
- lab: { channels: 3, labels: "lab" },
181
- lch: { channels: 3, labels: "lch" },
182
- hex: { channels: 1, labels: ["hex"] },
183
- keyword: { channels: 1, labels: ["keyword"] },
184
- ansi16: { channels: 1, labels: ["ansi16"] },
185
- ansi256: { channels: 1, labels: ["ansi256"] },
186
- hcg: { channels: 3, labels: ["h", "c", "g"] },
187
- apple: { channels: 3, labels: ["r16", "g16", "b16"] },
188
- gray: { channels: 1, labels: ["gray"] }
189
- };
190
- module.exports = convert2;
191
- for (let model of Object.keys(convert2)) {
192
- if (!("channels" in convert2[model]))
193
- throw new Error("missing channels property: " + model);
194
- if (!("labels" in convert2[model]))
195
- throw new Error("missing channel labels property: " + model);
196
- if (convert2[model].labels.length !== convert2[model].channels)
197
- throw new Error("channel and label counts mismatch: " + model);
198
- let { channels, labels } = convert2[model];
199
- delete convert2[model].channels, delete convert2[model].labels, Object.defineProperty(convert2[model], "channels", { value: channels }), Object.defineProperty(convert2[model], "labels", { value: labels });
200
- }
201
- convert2.rgb.hsl = function(rgb) {
202
- let r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255, min = Math.min(r2, g2, b2), max = Math.max(r2, g2, b2), delta = max - min, h2, s2;
203
- max === min ? h2 = 0 : r2 === max ? h2 = (g2 - b2) / delta : g2 === max ? h2 = 2 + (b2 - r2) / delta : b2 === max && (h2 = 4 + (r2 - g2) / delta), h2 = Math.min(h2 * 60, 360), h2 < 0 && (h2 += 360);
204
- let l2 = (min + max) / 2;
205
- return max === min ? s2 = 0 : l2 <= 0.5 ? s2 = delta / (max + min) : s2 = delta / (2 - max - min), [h2, s2 * 100, l2 * 100];
206
- };
207
- convert2.rgb.hsv = function(rgb) {
208
- let rdif, gdif, bdif, h2, s2, r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255, v2 = Math.max(r2, g2, b2), diff = v2 - Math.min(r2, g2, b2), diffc = function(c2) {
209
- return (v2 - c2) / 6 / diff + 1 / 2;
210
- };
211
- return diff === 0 ? (h2 = 0, s2 = 0) : (s2 = diff / v2, rdif = diffc(r2), gdif = diffc(g2), bdif = diffc(b2), r2 === v2 ? h2 = bdif - gdif : g2 === v2 ? h2 = 1 / 3 + rdif - bdif : b2 === v2 && (h2 = 2 / 3 + gdif - rdif), h2 < 0 ? h2 += 1 : h2 > 1 && (h2 -= 1)), [
212
- h2 * 360,
213
- s2 * 100,
214
- v2 * 100
215
- ];
216
- };
217
- convert2.rgb.hwb = function(rgb) {
218
- let r2 = rgb[0], g2 = rgb[1], b2 = rgb[2], h2 = convert2.rgb.hsl(rgb)[0], w2 = 1 / 255 * Math.min(r2, Math.min(g2, b2));
219
- return b2 = 1 - 1 / 255 * Math.max(r2, Math.max(g2, b2)), [h2, w2 * 100, b2 * 100];
220
- };
221
- convert2.rgb.cmyk = function(rgb) {
222
- let r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255, k2 = Math.min(1 - r2, 1 - g2, 1 - b2), c2 = (1 - r2 - k2) / (1 - k2) || 0, m2 = (1 - g2 - k2) / (1 - k2) || 0, y2 = (1 - b2 - k2) / (1 - k2) || 0;
223
- return [c2 * 100, m2 * 100, y2 * 100, k2 * 100];
224
- };
225
- function comparativeDistance(x2, y2) {
226
- return (x2[0] - y2[0]) ** 2 + (x2[1] - y2[1]) ** 2 + (x2[2] - y2[2]) ** 2;
227
- }
228
- convert2.rgb.keyword = function(rgb) {
229
- let reversed = reverseKeywords[rgb];
230
- if (reversed)
231
- return reversed;
232
- let currentClosestDistance = 1 / 0, currentClosestKeyword;
233
- for (let keyword of Object.keys(cssKeywords)) {
234
- let value = cssKeywords[keyword], distance = comparativeDistance(rgb, value);
235
- distance < currentClosestDistance && (currentClosestDistance = distance, currentClosestKeyword = keyword);
236
- }
237
- return currentClosestKeyword;
238
- };
239
- convert2.keyword.rgb = function(keyword) {
240
- return cssKeywords[keyword];
241
- };
242
- convert2.rgb.xyz = function(rgb) {
243
- let r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255;
244
- r2 = r2 > 0.04045 ? ((r2 + 0.055) / 1.055) ** 2.4 : r2 / 12.92, g2 = g2 > 0.04045 ? ((g2 + 0.055) / 1.055) ** 2.4 : g2 / 12.92, b2 = b2 > 0.04045 ? ((b2 + 0.055) / 1.055) ** 2.4 : b2 / 12.92;
245
- let x2 = r2 * 0.4124 + g2 * 0.3576 + b2 * 0.1805, y2 = r2 * 0.2126 + g2 * 0.7152 + b2 * 0.0722, z2 = r2 * 0.0193 + g2 * 0.1192 + b2 * 0.9505;
246
- return [x2 * 100, y2 * 100, z2 * 100];
247
- };
248
- convert2.rgb.lab = function(rgb) {
249
- let xyz = convert2.rgb.xyz(rgb), x2 = xyz[0], y2 = xyz[1], z2 = xyz[2];
250
- x2 /= 95.047, y2 /= 100, z2 /= 108.883, x2 = x2 > 8856e-6 ? x2 ** (1 / 3) : 7.787 * x2 + 16 / 116, y2 = y2 > 8856e-6 ? y2 ** (1 / 3) : 7.787 * y2 + 16 / 116, z2 = z2 > 8856e-6 ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116;
251
- let l2 = 116 * y2 - 16, a2 = 500 * (x2 - y2), b2 = 200 * (y2 - z2);
252
- return [l2, a2, b2];
253
- };
254
- convert2.hsl.rgb = function(hsl) {
255
- let h2 = hsl[0] / 360, s2 = hsl[1] / 100, l2 = hsl[2] / 100, t2, t3, val;
256
- if (s2 === 0)
257
- return val = l2 * 255, [val, val, val];
258
- l2 < 0.5 ? t2 = l2 * (1 + s2) : t2 = l2 + s2 - l2 * s2;
259
- let t1 = 2 * l2 - t2, rgb = [0, 0, 0];
260
- for (let i2 = 0; i2 < 3; i2++)
261
- t3 = h2 + 1 / 3 * -(i2 - 1), t3 < 0 && t3++, t3 > 1 && t3--, 6 * t3 < 1 ? val = t1 + (t2 - t1) * 6 * t3 : 2 * t3 < 1 ? val = t2 : 3 * t3 < 2 ? val = t1 + (t2 - t1) * (2 / 3 - t3) * 6 : val = t1, rgb[i2] = val * 255;
262
- return rgb;
263
- };
264
- convert2.hsl.hsv = function(hsl) {
265
- let h2 = hsl[0], s2 = hsl[1] / 100, l2 = hsl[2] / 100, smin = s2, lmin = Math.max(l2, 0.01);
266
- l2 *= 2, s2 *= l2 <= 1 ? l2 : 2 - l2, smin *= lmin <= 1 ? lmin : 2 - lmin;
267
- let v2 = (l2 + s2) / 2, sv = l2 === 0 ? 2 * smin / (lmin + smin) : 2 * s2 / (l2 + s2);
268
- return [h2, sv * 100, v2 * 100];
269
- };
270
- convert2.hsv.rgb = function(hsv) {
271
- let h2 = hsv[0] / 60, s2 = hsv[1] / 100, v2 = hsv[2] / 100, hi = Math.floor(h2) % 6, f2 = h2 - Math.floor(h2), p2 = 255 * v2 * (1 - s2), q2 = 255 * v2 * (1 - s2 * f2), t2 = 255 * v2 * (1 - s2 * (1 - f2));
272
- switch (v2 *= 255, hi) {
273
- case 0:
274
- return [v2, t2, p2];
275
- case 1:
276
- return [q2, v2, p2];
277
- case 2:
278
- return [p2, v2, t2];
279
- case 3:
280
- return [p2, q2, v2];
281
- case 4:
282
- return [t2, p2, v2];
283
- case 5:
284
- return [v2, p2, q2];
285
- }
286
- };
287
- convert2.hsv.hsl = function(hsv) {
288
- let h2 = hsv[0], s2 = hsv[1] / 100, v2 = hsv[2] / 100, vmin = Math.max(v2, 0.01), sl, l2;
289
- l2 = (2 - s2) * v2;
290
- let lmin = (2 - s2) * vmin;
291
- return sl = s2 * vmin, sl /= lmin <= 1 ? lmin : 2 - lmin, sl = sl || 0, l2 /= 2, [h2, sl * 100, l2 * 100];
292
- };
293
- convert2.hwb.rgb = function(hwb) {
294
- let h2 = hwb[0] / 360, wh = hwb[1] / 100, bl = hwb[2] / 100, ratio = wh + bl, f2;
295
- ratio > 1 && (wh /= ratio, bl /= ratio);
296
- let i2 = Math.floor(6 * h2), v2 = 1 - bl;
297
- f2 = 6 * h2 - i2, (i2 & 1) !== 0 && (f2 = 1 - f2);
298
- let n2 = wh + f2 * (v2 - wh), r2, g2, b2;
299
- switch (i2) {
300
- default:
301
- case 6:
302
- case 0:
303
- r2 = v2, g2 = n2, b2 = wh;
304
- break;
305
- case 1:
306
- r2 = n2, g2 = v2, b2 = wh;
307
- break;
308
- case 2:
309
- r2 = wh, g2 = v2, b2 = n2;
310
- break;
311
- case 3:
312
- r2 = wh, g2 = n2, b2 = v2;
313
- break;
314
- case 4:
315
- r2 = n2, g2 = wh, b2 = v2;
316
- break;
317
- case 5:
318
- r2 = v2, g2 = wh, b2 = n2;
319
- break;
320
- }
321
- return [r2 * 255, g2 * 255, b2 * 255];
322
- };
323
- convert2.cmyk.rgb = function(cmyk) {
324
- let c2 = cmyk[0] / 100, m2 = cmyk[1] / 100, y2 = cmyk[2] / 100, k2 = cmyk[3] / 100, r2 = 1 - Math.min(1, c2 * (1 - k2) + k2), g2 = 1 - Math.min(1, m2 * (1 - k2) + k2), b2 = 1 - Math.min(1, y2 * (1 - k2) + k2);
325
- return [r2 * 255, g2 * 255, b2 * 255];
326
- };
327
- convert2.xyz.rgb = function(xyz) {
328
- let x2 = xyz[0] / 100, y2 = xyz[1] / 100, z2 = xyz[2] / 100, r2, g2, b2;
329
- return r2 = x2 * 3.2406 + y2 * -1.5372 + z2 * -0.4986, g2 = x2 * -0.9689 + y2 * 1.8758 + z2 * 0.0415, b2 = x2 * 0.0557 + y2 * -0.204 + z2 * 1.057, r2 = r2 > 31308e-7 ? 1.055 * r2 ** (1 / 2.4) - 0.055 : r2 * 12.92, g2 = g2 > 31308e-7 ? 1.055 * g2 ** (1 / 2.4) - 0.055 : g2 * 12.92, b2 = b2 > 31308e-7 ? 1.055 * b2 ** (1 / 2.4) - 0.055 : b2 * 12.92, r2 = Math.min(Math.max(0, r2), 1), g2 = Math.min(Math.max(0, g2), 1), b2 = Math.min(Math.max(0, b2), 1), [r2 * 255, g2 * 255, b2 * 255];
330
- };
331
- convert2.xyz.lab = function(xyz) {
332
- let x2 = xyz[0], y2 = xyz[1], z2 = xyz[2];
333
- x2 /= 95.047, y2 /= 100, z2 /= 108.883, x2 = x2 > 8856e-6 ? x2 ** (1 / 3) : 7.787 * x2 + 16 / 116, y2 = y2 > 8856e-6 ? y2 ** (1 / 3) : 7.787 * y2 + 16 / 116, z2 = z2 > 8856e-6 ? z2 ** (1 / 3) : 7.787 * z2 + 16 / 116;
334
- let l2 = 116 * y2 - 16, a2 = 500 * (x2 - y2), b2 = 200 * (y2 - z2);
335
- return [l2, a2, b2];
336
- };
337
- convert2.lab.xyz = function(lab) {
338
- let l2 = lab[0], a2 = lab[1], b2 = lab[2], x2, y2, z2;
339
- y2 = (l2 + 16) / 116, x2 = a2 / 500 + y2, z2 = y2 - b2 / 200;
340
- let y22 = y2 ** 3, x22 = x2 ** 3, z22 = z2 ** 3;
341
- return y2 = y22 > 8856e-6 ? y22 : (y2 - 16 / 116) / 7.787, x2 = x22 > 8856e-6 ? x22 : (x2 - 16 / 116) / 7.787, z2 = z22 > 8856e-6 ? z22 : (z2 - 16 / 116) / 7.787, x2 *= 95.047, y2 *= 100, z2 *= 108.883, [x2, y2, z2];
342
- };
343
- convert2.lab.lch = function(lab) {
344
- let l2 = lab[0], a2 = lab[1], b2 = lab[2], h2;
345
- h2 = Math.atan2(b2, a2) * 360 / 2 / Math.PI, h2 < 0 && (h2 += 360);
346
- let c2 = Math.sqrt(a2 * a2 + b2 * b2);
347
- return [l2, c2, h2];
348
- };
349
- convert2.lch.lab = function(lch) {
350
- let l2 = lch[0], c2 = lch[1], hr = lch[2] / 360 * 2 * Math.PI, a2 = c2 * Math.cos(hr), b2 = c2 * Math.sin(hr);
351
- return [l2, a2, b2];
352
- };
353
- convert2.rgb.ansi16 = function(args, saturation = null) {
354
- let [r2, g2, b2] = args, value = saturation === null ? convert2.rgb.hsv(args)[2] : saturation;
355
- if (value = Math.round(value / 50), value === 0)
356
- return 30;
357
- let ansi = 30 + (Math.round(b2 / 255) << 2 | Math.round(g2 / 255) << 1 | Math.round(r2 / 255));
358
- return value === 2 && (ansi += 60), ansi;
359
- };
360
- convert2.hsv.ansi16 = function(args) {
361
- return convert2.rgb.ansi16(convert2.hsv.rgb(args), args[2]);
362
- };
363
- convert2.rgb.ansi256 = function(args) {
364
- let r2 = args[0], g2 = args[1], b2 = args[2];
365
- return r2 === g2 && g2 === b2 ? r2 < 8 ? 16 : r2 > 248 ? 231 : Math.round((r2 - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(r2 / 255 * 5) + 6 * Math.round(g2 / 255 * 5) + Math.round(b2 / 255 * 5);
366
- };
367
- convert2.ansi16.rgb = function(args) {
368
- let color = args % 10;
369
- if (color === 0 || color === 7)
370
- return args > 50 && (color += 3.5), color = color / 10.5 * 255, [color, color, color];
371
- let mult = (~~(args > 50) + 1) * 0.5, r2 = (color & 1) * mult * 255, g2 = (color >> 1 & 1) * mult * 255, b2 = (color >> 2 & 1) * mult * 255;
372
- return [r2, g2, b2];
373
- };
374
- convert2.ansi256.rgb = function(args) {
375
- if (args >= 232) {
376
- let c2 = (args - 232) * 10 + 8;
377
- return [c2, c2, c2];
378
- }
379
- args -= 16;
380
- let rem, r2 = Math.floor(args / 36) / 5 * 255, g2 = Math.floor((rem = args % 36) / 6) / 5 * 255, b2 = rem % 6 / 5 * 255;
381
- return [r2, g2, b2];
382
- };
383
- convert2.rgb.hex = function(args) {
384
- let string = (((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255)).toString(16).toUpperCase();
385
- return "000000".substring(string.length) + string;
386
- };
387
- convert2.hex.rgb = function(args) {
388
- let match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
389
- if (!match)
390
- return [0, 0, 0];
391
- let colorString = match[0];
392
- match[0].length === 3 && (colorString = colorString.split("").map((char) => char + char).join(""));
393
- let integer = parseInt(colorString, 16), r2 = integer >> 16 & 255, g2 = integer >> 8 & 255, b2 = integer & 255;
394
- return [r2, g2, b2];
395
- };
396
- convert2.rgb.hcg = function(rgb) {
397
- let r2 = rgb[0] / 255, g2 = rgb[1] / 255, b2 = rgb[2] / 255, max = Math.max(Math.max(r2, g2), b2), min = Math.min(Math.min(r2, g2), b2), chroma = max - min, grayscale, hue;
398
- return chroma < 1 ? grayscale = min / (1 - chroma) : grayscale = 0, chroma <= 0 ? hue = 0 : max === r2 ? hue = (g2 - b2) / chroma % 6 : max === g2 ? hue = 2 + (b2 - r2) / chroma : hue = 4 + (r2 - g2) / chroma, hue /= 6, hue %= 1, [hue * 360, chroma * 100, grayscale * 100];
399
- };
400
- convert2.hsl.hcg = function(hsl) {
401
- let s2 = hsl[1] / 100, l2 = hsl[2] / 100, c2 = l2 < 0.5 ? 2 * s2 * l2 : 2 * s2 * (1 - l2), f2 = 0;
402
- return c2 < 1 && (f2 = (l2 - 0.5 * c2) / (1 - c2)), [hsl[0], c2 * 100, f2 * 100];
403
- };
404
- convert2.hsv.hcg = function(hsv) {
405
- let s2 = hsv[1] / 100, v2 = hsv[2] / 100, c2 = s2 * v2, f2 = 0;
406
- return c2 < 1 && (f2 = (v2 - c2) / (1 - c2)), [hsv[0], c2 * 100, f2 * 100];
407
- };
408
- convert2.hcg.rgb = function(hcg) {
409
- let h2 = hcg[0] / 360, c2 = hcg[1] / 100, g2 = hcg[2] / 100;
410
- if (c2 === 0)
411
- return [g2 * 255, g2 * 255, g2 * 255];
412
- let pure = [0, 0, 0], hi = h2 % 1 * 6, v2 = hi % 1, w2 = 1 - v2, mg = 0;
413
- switch (Math.floor(hi)) {
414
- case 0:
415
- pure[0] = 1, pure[1] = v2, pure[2] = 0;
416
- break;
417
- case 1:
418
- pure[0] = w2, pure[1] = 1, pure[2] = 0;
419
- break;
420
- case 2:
421
- pure[0] = 0, pure[1] = 1, pure[2] = v2;
422
- break;
423
- case 3:
424
- pure[0] = 0, pure[1] = w2, pure[2] = 1;
425
- break;
426
- case 4:
427
- pure[0] = v2, pure[1] = 0, pure[2] = 1;
428
- break;
429
- default:
430
- pure[0] = 1, pure[1] = 0, pure[2] = w2;
431
- }
432
- return mg = (1 - c2) * g2, [
433
- (c2 * pure[0] + mg) * 255,
434
- (c2 * pure[1] + mg) * 255,
435
- (c2 * pure[2] + mg) * 255
436
- ];
437
- };
438
- convert2.hcg.hsv = function(hcg) {
439
- let c2 = hcg[1] / 100, g2 = hcg[2] / 100, v2 = c2 + g2 * (1 - c2), f2 = 0;
440
- return v2 > 0 && (f2 = c2 / v2), [hcg[0], f2 * 100, v2 * 100];
441
- };
442
- convert2.hcg.hsl = function(hcg) {
443
- let c2 = hcg[1] / 100, l2 = hcg[2] / 100 * (1 - c2) + 0.5 * c2, s2 = 0;
444
- return l2 > 0 && l2 < 0.5 ? s2 = c2 / (2 * l2) : l2 >= 0.5 && l2 < 1 && (s2 = c2 / (2 * (1 - l2))), [hcg[0], s2 * 100, l2 * 100];
445
- };
446
- convert2.hcg.hwb = function(hcg) {
447
- let c2 = hcg[1] / 100, g2 = hcg[2] / 100, v2 = c2 + g2 * (1 - c2);
448
- return [hcg[0], (v2 - c2) * 100, (1 - v2) * 100];
449
- };
450
- convert2.hwb.hcg = function(hwb) {
451
- let w2 = hwb[1] / 100, v2 = 1 - hwb[2] / 100, c2 = v2 - w2, g2 = 0;
452
- return c2 < 1 && (g2 = (v2 - c2) / (1 - c2)), [hwb[0], c2 * 100, g2 * 100];
453
- };
454
- convert2.apple.rgb = function(apple) {
455
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
456
- };
457
- convert2.rgb.apple = function(rgb) {
458
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
459
- };
460
- convert2.gray.rgb = function(args) {
461
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
462
- };
463
- convert2.gray.hsl = function(args) {
464
- return [0, 0, args[0]];
465
- };
466
- convert2.gray.hsv = convert2.gray.hsl;
467
- convert2.gray.hwb = function(gray) {
468
- return [0, 100, gray[0]];
469
- };
470
- convert2.gray.cmyk = function(gray) {
471
- return [0, 0, 0, gray[0]];
472
- };
473
- convert2.gray.lab = function(gray) {
474
- return [gray[0], 0, 0];
475
- };
476
- convert2.gray.hex = function(gray) {
477
- let val = Math.round(gray[0] / 100 * 255) & 255, string = ((val << 16) + (val << 8) + val).toString(16).toUpperCase();
478
- return "000000".substring(string.length) + string;
479
- };
480
- convert2.rgb.gray = function(rgb) {
481
- return [(rgb[0] + rgb[1] + rgb[2]) / 3 / 255 * 100];
482
- };
483
- }
484
- });
485
-
486
- // ../node_modules/color-convert/route.js
487
- var require_route = __commonJS({
488
- "../node_modules/color-convert/route.js"(exports, module) {
489
- var conversions = require_conversions();
490
- function buildGraph() {
491
- let graph = {}, models = Object.keys(conversions);
492
- for (let len = models.length, i2 = 0; i2 < len; i2++)
493
- graph[models[i2]] = {
494
- // http://jsperf.com/1-vs-infinity
495
- // micro-opt, but this is simple.
496
- distance: -1,
497
- parent: null
498
- };
499
- return graph;
500
- }
501
- function deriveBFS(fromModel) {
502
- let graph = buildGraph(), queue = [fromModel];
503
- for (graph[fromModel].distance = 0; queue.length; ) {
504
- let current = queue.pop(), adjacents = Object.keys(conversions[current]);
505
- for (let len = adjacents.length, i2 = 0; i2 < len; i2++) {
506
- let adjacent = adjacents[i2], node = graph[adjacent];
507
- node.distance === -1 && (node.distance = graph[current].distance + 1, node.parent = current, queue.unshift(adjacent));
508
- }
509
- }
510
- return graph;
511
- }
512
- function link(from, to) {
513
- return function(args) {
514
- return to(from(args));
515
- };
516
- }
517
- function wrapConversion(toModel, graph) {
518
- let path = [graph[toModel].parent, toModel], fn = conversions[graph[toModel].parent][toModel], cur = graph[toModel].parent;
519
- for (; graph[cur].parent; )
520
- path.unshift(graph[cur].parent), fn = link(conversions[graph[cur].parent][cur], fn), cur = graph[cur].parent;
521
- return fn.conversion = path, fn;
522
- }
523
- module.exports = function(fromModel) {
524
- let graph = deriveBFS(fromModel), conversion = {}, models = Object.keys(graph);
525
- for (let len = models.length, i2 = 0; i2 < len; i2++) {
526
- let toModel = models[i2];
527
- graph[toModel].parent !== null && (conversion[toModel] = wrapConversion(toModel, graph));
528
- }
529
- return conversion;
530
- };
531
- }
532
- });
533
-
534
- // ../node_modules/color-convert/index.js
535
- var require_color_convert = __commonJS({
536
- "../node_modules/color-convert/index.js"(exports, module) {
537
- var conversions = require_conversions(), route = require_route(), convert2 = {}, models = Object.keys(conversions);
538
- function wrapRaw(fn) {
539
- let wrappedFn = function(...args) {
540
- let arg0 = args[0];
541
- return arg0 == null ? arg0 : (arg0.length > 1 && (args = arg0), fn(args));
542
- };
543
- return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn;
544
- }
545
- function wrapRounded(fn) {
546
- let wrappedFn = function(...args) {
547
- let arg0 = args[0];
548
- if (arg0 == null)
549
- return arg0;
550
- arg0.length > 1 && (args = arg0);
551
- let result = fn(args);
552
- if (typeof result == "object")
553
- for (let len = result.length, i2 = 0; i2 < len; i2++)
554
- result[i2] = Math.round(result[i2]);
555
- return result;
556
- };
557
- return "conversion" in fn && (wrappedFn.conversion = fn.conversion), wrappedFn;
558
- }
559
- models.forEach((fromModel) => {
560
- convert2[fromModel] = {}, Object.defineProperty(convert2[fromModel], "channels", { value: conversions[fromModel].channels }), Object.defineProperty(convert2[fromModel], "labels", { value: conversions[fromModel].labels });
561
- let routes = route(fromModel);
562
- Object.keys(routes).forEach((toModel) => {
563
- let fn = routes[toModel];
564
- convert2[fromModel][toModel] = wrapRounded(fn), convert2[fromModel][toModel].raw = wrapRaw(fn);
565
- });
566
- });
567
- module.exports = convert2;
568
- }
569
- });
570
-
571
- // ../addons/docs/src/blocks/controls/Color.tsx
572
- var import_color_convert = __toESM(require_color_convert(), 1);
573
- import React, { useCallback, useEffect, useMemo, useState } from "react";
574
- import { Button, Form, PopoverProvider } from "storybook/internal/components";
575
- import { MarkupIcon } from "@storybook/icons";
576
-
577
- // ../node_modules/es-toolkit/dist/function/debounce.mjs
578
- function debounce(func, debounceMs, { signal, edges } = {}) {
579
- let pendingThis, pendingArgs = null, leading = edges != null && edges.includes("leading"), trailing = edges == null || edges.includes("trailing"), invoke = () => {
580
- pendingArgs !== null && (func.apply(pendingThis, pendingArgs), pendingThis = void 0, pendingArgs = null);
581
- }, onTimerEnd = () => {
582
- trailing && invoke(), cancel();
583
- }, timeoutId = null, schedule = () => {
584
- timeoutId != null && clearTimeout(timeoutId), timeoutId = setTimeout(() => {
585
- timeoutId = null, onTimerEnd();
586
- }, debounceMs);
587
- }, cancelTimer = () => {
588
- timeoutId !== null && (clearTimeout(timeoutId), timeoutId = null);
589
- }, cancel = () => {
590
- cancelTimer(), pendingThis = void 0, pendingArgs = null;
591
- }, flush = () => {
592
- invoke();
593
- }, debounced = function(...args) {
594
- if (signal?.aborted)
595
- return;
596
- pendingThis = this, pendingArgs = args;
597
- let isFirstCall = timeoutId == null;
598
- schedule(), leading && isFirstCall && invoke();
599
- };
600
- return debounced.schedule = schedule, debounced.cancel = cancel, debounced.flush = flush, signal?.addEventListener("abort", cancel, { once: !0 }), debounced;
601
- }
602
-
603
- // ../node_modules/es-toolkit/dist/function/partial.mjs
604
- function partial(func, ...partialArgs) {
605
- return partialImpl(func, placeholderSymbol, ...partialArgs);
606
- }
607
- function partialImpl(func, placeholder, ...partialArgs) {
608
- let partialed = function(...providedArgs) {
609
- let providedArgsIndex = 0, substitutedArgs = partialArgs.slice().map((arg) => arg === placeholder ? providedArgs[providedArgsIndex++] : arg), remainingArgs = providedArgs.slice(providedArgsIndex);
610
- return func.apply(this, substitutedArgs.concat(remainingArgs));
611
- };
612
- return func.prototype && (partialed.prototype = Object.create(func.prototype)), partialed;
613
- }
614
- var placeholderSymbol = Symbol("partial.placeholder");
615
- partial.placeholder = placeholderSymbol;
616
-
617
- // ../node_modules/es-toolkit/dist/function/partialRight.mjs
618
- function partialRight(func, ...partialArgs) {
619
- return partialRightImpl(func, placeholderSymbol2, ...partialArgs);
620
- }
621
- function partialRightImpl(func, placeholder, ...partialArgs) {
622
- let partialedRight = function(...providedArgs) {
623
- let placeholderLength = partialArgs.filter((arg) => arg === placeholder).length, rangeLength = Math.max(providedArgs.length - placeholderLength, 0), remainingArgs = providedArgs.slice(0, rangeLength), providedArgsIndex = rangeLength, substitutedArgs = partialArgs.slice().map((arg) => arg === placeholder ? providedArgs[providedArgsIndex++] : arg);
624
- return func.apply(this, remainingArgs.concat(substitutedArgs));
625
- };
626
- return func.prototype && (partialedRight.prototype = Object.create(func.prototype)), partialedRight;
627
- }
628
- var placeholderSymbol2 = Symbol("partialRight.placeholder");
629
- partialRight.placeholder = placeholderSymbol2;
630
-
631
- // ../node_modules/es-toolkit/dist/function/retry.mjs
632
- var DEFAULT_RETRIES = Number.POSITIVE_INFINITY;
633
-
634
- // ../node_modules/react-colorful/dist/index.mjs
635
- import e, { useRef as r, useMemo as t, useEffect as n, useState as o, useCallback as a, useLayoutEffect as l } from "react";
636
- function u() {
637
- return (u = Object.assign || function(e2) {
638
- for (var r2 = 1; r2 < arguments.length; r2++) {
639
- var t2 = arguments[r2];
640
- for (var n2 in t2) Object.prototype.hasOwnProperty.call(t2, n2) && (e2[n2] = t2[n2]);
641
- }
642
- return e2;
643
- }).apply(this, arguments);
644
- }
645
- function c(e2, r2) {
646
- if (e2 == null) return {};
647
- var t2, n2, o2 = {}, a2 = Object.keys(e2);
648
- for (n2 = 0; n2 < a2.length; n2++) r2.indexOf(t2 = a2[n2]) >= 0 || (o2[t2] = e2[t2]);
649
- return o2;
650
- }
651
- function i(e2) {
652
- var t2 = r(e2), n2 = r(function(e3) {
653
- t2.current && t2.current(e3);
654
- });
655
- return t2.current = e2, n2.current;
656
- }
657
- var s = function(e2, r2, t2) {
658
- return r2 === void 0 && (r2 = 0), t2 === void 0 && (t2 = 1), e2 > t2 ? t2 : e2 < r2 ? r2 : e2;
659
- }, f = function(e2) {
660
- return "touches" in e2;
661
- }, v = function(e2) {
662
- return e2 && e2.ownerDocument.defaultView || self;
663
- }, d = function(e2, r2, t2) {
664
- var n2 = e2.getBoundingClientRect(), o2 = f(r2) ? (function(e3, r3) {
665
- for (var t3 = 0; t3 < e3.length; t3++) if (e3[t3].identifier === r3) return e3[t3];
666
- return e3[0];
667
- })(r2.touches, t2) : r2;
668
- return { left: s((o2.pageX - (n2.left + v(e2).pageXOffset)) / n2.width), top: s((o2.pageY - (n2.top + v(e2).pageYOffset)) / n2.height) };
669
- }, h = function(e2) {
670
- !f(e2) && e2.preventDefault();
671
- }, m = e.memo(function(o2) {
672
- var a2 = o2.onMove, l2 = o2.onKey, s2 = c(o2, ["onMove", "onKey"]), m2 = r(null), g2 = i(a2), p2 = i(l2), b2 = r(null), _2 = r(!1), x2 = t(function() {
673
- var e2 = function(e3) {
674
- h(e3), (f(e3) ? e3.touches.length > 0 : e3.buttons > 0) && m2.current ? g2(d(m2.current, e3, b2.current)) : t2(!1);
675
- }, r2 = function() {
676
- return t2(!1);
677
- };
678
- function t2(t3) {
679
- var n2 = _2.current, o3 = v(m2.current), a3 = t3 ? o3.addEventListener : o3.removeEventListener;
680
- a3(n2 ? "touchmove" : "mousemove", e2), a3(n2 ? "touchend" : "mouseup", r2);
681
- }
682
- return [function(e3) {
683
- var r3 = e3.nativeEvent, n2 = m2.current;
684
- if (n2 && (h(r3), !(function(e4, r4) {
685
- return r4 && !f(e4);
686
- })(r3, _2.current) && n2)) {
687
- if (f(r3)) {
688
- _2.current = !0;
689
- var o3 = r3.changedTouches || [];
690
- o3.length && (b2.current = o3[0].identifier);
691
- }
692
- n2.focus(), g2(d(n2, r3, b2.current)), t2(!0);
693
- }
694
- }, function(e3) {
695
- var r3 = e3.which || e3.keyCode;
696
- r3 < 37 || r3 > 40 || (e3.preventDefault(), p2({ left: r3 === 39 ? 0.05 : r3 === 37 ? -0.05 : 0, top: r3 === 40 ? 0.05 : r3 === 38 ? -0.05 : 0 }));
697
- }, t2];
698
- }, [p2, g2]), C2 = x2[0], E2 = x2[1], H2 = x2[2];
699
- return n(function() {
700
- return H2;
701
- }, [H2]), e.createElement("div", u({}, s2, { onTouchStart: C2, onMouseDown: C2, className: "react-colorful__interactive", ref: m2, onKeyDown: E2, tabIndex: 0, role: "slider" }));
702
- }), g = function(e2) {
703
- return e2.filter(Boolean).join(" ");
704
- }, p = function(r2) {
705
- var t2 = r2.color, n2 = r2.left, o2 = r2.top, a2 = o2 === void 0 ? 0.5 : o2, l2 = g(["react-colorful__pointer", r2.className]);
706
- return e.createElement("div", { className: l2, style: { top: 100 * a2 + "%", left: 100 * n2 + "%" } }, e.createElement("div", { className: "react-colorful__pointer-fill", style: { backgroundColor: t2 } }));
707
- }, b = function(e2, r2, t2) {
708
- return r2 === void 0 && (r2 = 0), t2 === void 0 && (t2 = Math.pow(10, r2)), Math.round(t2 * e2) / t2;
709
- }, _ = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, x = function(e2) {
710
- return L(C(e2));
711
- }, C = function(e2) {
712
- return e2[0] === "#" && (e2 = e2.substring(1)), e2.length < 6 ? { r: parseInt(e2[0] + e2[0], 16), g: parseInt(e2[1] + e2[1], 16), b: parseInt(e2[2] + e2[2], 16), a: e2.length === 4 ? b(parseInt(e2[3] + e2[3], 16) / 255, 2) : 1 } : { r: parseInt(e2.substring(0, 2), 16), g: parseInt(e2.substring(2, 4), 16), b: parseInt(e2.substring(4, 6), 16), a: e2.length === 8 ? b(parseInt(e2.substring(6, 8), 16) / 255, 2) : 1 };
713
- }, E = function(e2, r2) {
714
- return r2 === void 0 && (r2 = "deg"), Number(e2) * (_[r2] || 1);
715
- }, H = function(e2) {
716
- var r2 = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);
717
- return r2 ? N({ h: E(r2[1], r2[2]), s: Number(r2[3]), l: Number(r2[4]), a: r2[5] === void 0 ? 1 : Number(r2[5]) / (r2[6] ? 100 : 1) }) : { h: 0, s: 0, v: 0, a: 1 };
718
- };
719
- var N = function(e2) {
720
- var r2 = e2.s, t2 = e2.l;
721
- return { h: e2.h, s: (r2 *= (t2 < 50 ? t2 : 100 - t2) / 100) > 0 ? 2 * r2 / (t2 + r2) * 100 : 0, v: t2 + r2, a: e2.a };
722
- }, w = function(e2) {
723
- return K(I(e2));
724
- }, y = function(e2) {
725
- var r2 = e2.s, t2 = e2.v, n2 = e2.a, o2 = (200 - r2) * t2 / 100;
726
- return { h: b(e2.h), s: b(o2 > 0 && o2 < 200 ? r2 * t2 / 100 / (o2 <= 100 ? o2 : 200 - o2) * 100 : 0), l: b(o2 / 2), a: b(n2, 2) };
727
- }, q = function(e2) {
728
- var r2 = y(e2);
729
- return "hsl(" + r2.h + ", " + r2.s + "%, " + r2.l + "%)";
730
- }, k = function(e2) {
731
- var r2 = y(e2);
732
- return "hsla(" + r2.h + ", " + r2.s + "%, " + r2.l + "%, " + r2.a + ")";
733
- }, I = function(e2) {
734
- var r2 = e2.h, t2 = e2.s, n2 = e2.v, o2 = e2.a;
735
- r2 = r2 / 360 * 6, t2 /= 100, n2 /= 100;
736
- var a2 = Math.floor(r2), l2 = n2 * (1 - t2), u2 = n2 * (1 - (r2 - a2) * t2), c2 = n2 * (1 - (1 - r2 + a2) * t2), i2 = a2 % 6;
737
- return { r: b(255 * [n2, u2, l2, l2, c2, n2][i2]), g: b(255 * [c2, n2, n2, u2, l2, l2][i2]), b: b(255 * [l2, l2, c2, n2, n2, u2][i2]), a: b(o2, 2) };
738
- };
739
- var z = function(e2) {
740
- var r2 = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);
741
- return r2 ? L({ r: Number(r2[1]) / (r2[2] ? 100 / 255 : 1), g: Number(r2[3]) / (r2[4] ? 100 / 255 : 1), b: Number(r2[5]) / (r2[6] ? 100 / 255 : 1), a: r2[7] === void 0 ? 1 : Number(r2[7]) / (r2[8] ? 100 : 1) }) : { h: 0, s: 0, v: 0, a: 1 };
742
- };
743
- var D = function(e2) {
744
- var r2 = e2.toString(16);
745
- return r2.length < 2 ? "0" + r2 : r2;
746
- }, K = function(e2) {
747
- var r2 = e2.r, t2 = e2.g, n2 = e2.b, o2 = e2.a, a2 = o2 < 1 ? D(b(255 * o2)) : "";
748
- return "#" + D(r2) + D(t2) + D(n2) + a2;
749
- }, L = function(e2) {
750
- var r2 = e2.r, t2 = e2.g, n2 = e2.b, o2 = e2.a, a2 = Math.max(r2, t2, n2), l2 = a2 - Math.min(r2, t2, n2), u2 = l2 ? a2 === r2 ? (t2 - n2) / l2 : a2 === t2 ? 2 + (n2 - r2) / l2 : 4 + (r2 - t2) / l2 : 0;
751
- return { h: b(60 * (u2 < 0 ? u2 + 6 : u2)), s: b(a2 ? l2 / a2 * 100 : 0), v: b(a2 / 255 * 100), a: o2 };
752
- };
753
- var S = e.memo(function(r2) {
754
- var t2 = r2.hue, n2 = r2.onChange, o2 = g(["react-colorful__hue", r2.className]);
755
- return e.createElement("div", { className: o2 }, e.createElement(m, { onMove: function(e2) {
756
- n2({ h: 360 * e2.left });
757
- }, onKey: function(e2) {
758
- n2({ h: s(t2 + 360 * e2.left, 0, 360) });
759
- }, "aria-label": "Hue", "aria-valuenow": b(t2), "aria-valuemax": "360", "aria-valuemin": "0" }, e.createElement(p, { className: "react-colorful__hue-pointer", left: t2 / 360, color: q({ h: t2, s: 100, v: 100, a: 1 }) })));
760
- }), T = e.memo(function(r2) {
761
- var t2 = r2.hsva, n2 = r2.onChange, o2 = { backgroundColor: q({ h: t2.h, s: 100, v: 100, a: 1 }) };
762
- return e.createElement("div", { className: "react-colorful__saturation", style: o2 }, e.createElement(m, { onMove: function(e2) {
763
- n2({ s: 100 * e2.left, v: 100 - 100 * e2.top });
764
- }, onKey: function(e2) {
765
- n2({ s: s(t2.s + 100 * e2.left, 0, 100), v: s(t2.v - 100 * e2.top, 0, 100) });
766
- }, "aria-label": "Color", "aria-valuetext": "Saturation " + b(t2.s) + "%, Brightness " + b(t2.v) + "%" }, e.createElement(p, { className: "react-colorful__saturation-pointer", top: 1 - t2.v / 100, left: t2.s / 100, color: q(t2) })));
767
- }), F = function(e2, r2) {
768
- if (e2 === r2) return !0;
769
- for (var t2 in e2) if (e2[t2] !== r2[t2]) return !1;
770
- return !0;
771
- }, P = function(e2, r2) {
772
- return e2.replace(/\s/g, "") === r2.replace(/\s/g, "");
773
- }, X = function(e2, r2) {
774
- return e2.toLowerCase() === r2.toLowerCase() || F(C(e2), C(r2));
775
- };
776
- function Y(e2, t2, l2) {
777
- var u2 = i(l2), c2 = o(function() {
778
- return e2.toHsva(t2);
779
- }), s2 = c2[0], f2 = c2[1], v2 = r({ color: t2, hsva: s2 });
780
- n(function() {
781
- if (!e2.equal(t2, v2.current.color)) {
782
- var r2 = e2.toHsva(t2);
783
- v2.current = { hsva: r2, color: t2 }, f2(r2);
784
- }
785
- }, [t2, e2]), n(function() {
786
- var r2;
787
- F(s2, v2.current.hsva) || e2.equal(r2 = e2.fromHsva(s2), v2.current.color) || (v2.current = { hsva: s2, color: r2 }, u2(r2));
788
- }, [s2, e2, u2]);
789
- var d2 = a(function(e3) {
790
- f2(function(r2) {
791
- return Object.assign({}, r2, e3);
792
- });
793
- }, []);
794
- return [s2, d2];
795
- }
796
- var R, V = typeof window < "u" ? l : n, $ = function() {
797
- return R || (typeof __webpack_nonce__ < "u" ? __webpack_nonce__ : void 0);
798
- };
799
- var J = /* @__PURE__ */ new Map(), Q = function(e2) {
800
- V(function() {
801
- var r2 = e2.current ? e2.current.ownerDocument : document;
802
- if (r2 !== void 0 && !J.has(r2)) {
803
- var t2 = r2.createElement("style");
804
- t2.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}`, J.set(r2, t2);
805
- var n2 = $();
806
- n2 && t2.setAttribute("nonce", n2), r2.head.appendChild(t2);
807
- }
808
- }, []);
809
- }, U = function(t2) {
810
- var n2 = t2.className, o2 = t2.colorModel, a2 = t2.color, l2 = a2 === void 0 ? o2.defaultColor : a2, i2 = t2.onChange, s2 = c(t2, ["className", "colorModel", "color", "onChange"]), f2 = r(null);
811
- Q(f2);
812
- var v2 = Y(o2, l2, i2), d2 = v2[0], h2 = v2[1], m2 = g(["react-colorful", n2]);
813
- return e.createElement("div", u({}, s2, { ref: f2, className: m2 }), e.createElement(T, { hsva: d2, onChange: h2 }), e.createElement(S, { hue: d2.h, onChange: h2, className: "react-colorful__last-control" }));
814
- }, W = { defaultColor: "000", toHsva: x, fromHsva: function(e2) {
815
- return w({ h: e2.h, s: e2.s, v: e2.v, a: 1 });
816
- }, equal: X }, Z = function(r2) {
817
- return e.createElement(U, u({}, r2, { colorModel: W }));
818
- }, ee = function(r2) {
819
- var t2 = r2.className, n2 = r2.hsva, o2 = r2.onChange, a2 = { backgroundImage: "linear-gradient(90deg, " + k(Object.assign({}, n2, { a: 0 })) + ", " + k(Object.assign({}, n2, { a: 1 })) + ")" }, l2 = g(["react-colorful__alpha", t2]), u2 = b(100 * n2.a);
820
- return e.createElement("div", { className: l2 }, e.createElement("div", { className: "react-colorful__alpha-gradient", style: a2 }), e.createElement(m, { onMove: function(e2) {
821
- o2({ a: e2.left });
822
- }, onKey: function(e2) {
823
- o2({ a: s(n2.a + e2.left) });
824
- }, "aria-label": "Alpha", "aria-valuetext": u2 + "%", "aria-valuenow": u2, "aria-valuemin": "0", "aria-valuemax": "100" }, e.createElement(p, { className: "react-colorful__alpha-pointer", left: n2.a, color: k(n2) })));
825
- }, re = function(t2) {
826
- var n2 = t2.className, o2 = t2.colorModel, a2 = t2.color, l2 = a2 === void 0 ? o2.defaultColor : a2, i2 = t2.onChange, s2 = c(t2, ["className", "colorModel", "color", "onChange"]), f2 = r(null);
827
- Q(f2);
828
- var v2 = Y(o2, l2, i2), d2 = v2[0], h2 = v2[1], m2 = g(["react-colorful", n2]);
829
- return e.createElement("div", u({}, s2, { ref: f2, className: m2 }), e.createElement(T, { hsva: d2, onChange: h2 }), e.createElement(S, { hue: d2.h, onChange: h2 }), e.createElement(ee, { hsva: d2, onChange: h2, className: "react-colorful__last-control" }));
830
- };
831
- var le = { defaultColor: "hsla(0, 0%, 0%, 1)", toHsva: H, fromHsva: k, equal: P }, ue = function(r2) {
832
- return e.createElement(re, u({}, r2, { colorModel: le }));
833
- };
834
- var Ee = { defaultColor: "rgba(0, 0, 0, 1)", toHsva: z, fromHsva: function(e2) {
835
- var r2 = I(e2);
836
- return "rgba(" + r2.r + ", " + r2.g + ", " + r2.b + ", " + r2.a + ")";
837
- }, equal: P }, He = function(r2) {
838
- return e.createElement(re, u({}, r2, { colorModel: Ee }));
839
- };
840
-
841
- // ../addons/docs/src/blocks/controls/Color.tsx
842
- import { styled } from "storybook/theming";
843
- var Wrapper = styled.div({
844
- position: "relative",
845
- maxWidth: 250
846
- }), TooltipContent = styled.div({
847
- width: 200,
848
- margin: 5,
849
- ".react-colorful__saturation": {
850
- borderRadius: "4px 4px 0 0"
851
- },
852
- ".react-colorful__hue": {
853
- boxShadow: "inset 0 0 0 1px rgb(0 0 0 / 5%)"
854
- },
855
- ".react-colorful__last-control": {
856
- borderRadius: "0 0 4px 4px"
857
- }
858
- }), Swatches = styled.div({
859
- display: "grid",
860
- gridTemplateColumns: "repeat(9, 16px)",
861
- gap: 6,
862
- padding: 3,
863
- marginTop: 5,
864
- width: 200
865
- }), swatchBackground = (isDark) => `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="${isDark ? "white" : "black"}"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`, SwatchColor = styled(Button)(
866
- ({ value, selected, theme }) => ({
867
- width: 16,
868
- height: 16,
869
- boxShadow: selected ? `${theme.appBorderColor} 0 0 0 1px inset, ${theme.textMutedColor}50 0 0 0 4px` : `${theme.appBorderColor} 0 0 0 1px inset`,
870
- border: "none",
871
- borderRadius: theme.appBorderRadius,
872
- "&, &:hover": {
873
- background: "unset",
874
- backgroundColor: "unset",
875
- backgroundImage: `linear-gradient(${value}, ${value}), ${swatchBackground(theme.base === "dark")}`
876
- }
877
- })
878
- ), Input = styled(Form.Input)(({ theme }) => ({
879
- width: "100%",
880
- paddingLeft: 30,
881
- paddingRight: 30,
882
- boxSizing: "border-box",
883
- fontFamily: theme.typography.fonts.base,
884
- '[aria-readonly="true"] > &': {
885
- background: theme.base === "light" ? theme.color.lighter : "transparent"
886
- }
887
- })), PopoverTrigger = styled(SwatchColor)(({ disabled }) => ({
888
- position: "absolute",
889
- top: 4,
890
- left: 4,
891
- zIndex: 1,
892
- cursor: disabled ? "not-allowed" : "pointer"
893
- })), CycleColorSpaceButton = styled(Button)(({ theme }) => ({
894
- position: "absolute",
895
- zIndex: 1,
896
- top: 6,
897
- right: 7,
898
- width: 20,
899
- height: 20,
900
- padding: 4,
901
- boxSizing: "border-box",
902
- cursor: "pointer",
903
- color: theme.input.color
904
- })), ColorSpace = /* @__PURE__ */ ((ColorSpace2) => (ColorSpace2.RGB = "rgb", ColorSpace2.HSL = "hsl", ColorSpace2.HEX = "hex", ColorSpace2))(ColorSpace || {}), COLOR_SPACES = Object.values(ColorSpace), COLOR_REGEXP = /\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/, RGB_REGEXP = /^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i, HSL_REGEXP = /^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i, HEX_REGEXP = /^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i, SHORTHEX_REGEXP = /^\s*#?([0-9a-f]{3})\s*$/i, ColorPicker = {
905
- hex: Z,
906
- rgb: He,
907
- hsl: ue
908
- }, fallbackColor = {
909
- hex: "transparent",
910
- rgb: "rgba(0, 0, 0, 0)",
911
- hsl: "hsla(0, 0%, 0%, 0)"
912
- }, stringToArgs = (value) => {
913
- let match = value?.match(COLOR_REGEXP);
914
- if (!match)
915
- return [0, 0, 0, 1];
916
- let [, x2, y2, z2, a2 = 1] = match;
917
- return [x2, y2, z2, a2].map(Number);
918
- }, parseRgb = (value) => {
919
- let [r2, g2, b2, a2] = stringToArgs(value), [h2, s2, l2] = import_color_convert.default.rgb.hsl([r2, g2, b2]) || [0, 0, 0];
920
- return {
921
- valid: !0,
922
- value,
923
- keyword: import_color_convert.default.rgb.keyword([r2, g2, b2]),
924
- colorSpace: "rgb" /* RGB */,
925
- rgb: value,
926
- hsl: `hsla(${h2}, ${s2}%, ${l2}%, ${a2})`,
927
- hex: `#${import_color_convert.default.rgb.hex([r2, g2, b2]).toLowerCase()}`
928
- };
929
- }, parseHsl = (value) => {
930
- let [h2, s2, l2, a2] = stringToArgs(value), [r2, g2, b2] = import_color_convert.default.hsl.rgb([h2, s2, l2]) || [0, 0, 0];
931
- return {
932
- valid: !0,
933
- value,
934
- keyword: import_color_convert.default.hsl.keyword([h2, s2, l2]),
935
- colorSpace: "hsl" /* HSL */,
936
- rgb: `rgba(${r2}, ${g2}, ${b2}, ${a2})`,
937
- hsl: value,
938
- hex: `#${import_color_convert.default.hsl.hex([h2, s2, l2]).toLowerCase()}`
939
- };
940
- }, parseHexOrKeyword = (value) => {
941
- let plain = value.replace("#", ""), rgb = import_color_convert.default.keyword.rgb(plain) || import_color_convert.default.hex.rgb(plain), hsl = import_color_convert.default.rgb.hsl(rgb), mapped = value;
942
- /[^#a-f0-9]/i.test(value) ? mapped = plain : HEX_REGEXP.test(value) && (mapped = `#${plain}`);
943
- let valid = !0;
944
- if (mapped.startsWith("#"))
945
- valid = HEX_REGEXP.test(mapped);
946
- else
947
- try {
948
- import_color_convert.default.keyword.hex(mapped);
949
- } catch {
950
- valid = !1;
951
- }
952
- return {
953
- valid,
954
- value: mapped,
955
- keyword: import_color_convert.default.rgb.keyword(rgb),
956
- colorSpace: "hex" /* HEX */,
957
- rgb: `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, 1)`,
958
- hsl: `hsla(${hsl[0]}, ${hsl[1]}%, ${hsl[2]}%, 1)`,
959
- hex: mapped
960
- };
961
- }, parseValue = (value) => {
962
- if (value)
963
- return RGB_REGEXP.test(value) ? parseRgb(value) : HSL_REGEXP.test(value) ? parseHsl(value) : parseHexOrKeyword(value);
964
- }, getRealValue = (value, color, colorSpace) => {
965
- if (!value || !color?.valid)
966
- return fallbackColor[colorSpace];
967
- if (colorSpace !== "hex" /* HEX */)
968
- return color?.[colorSpace] || fallbackColor[colorSpace];
969
- if (!color.hex.startsWith("#"))
970
- try {
971
- return `#${import_color_convert.default.keyword.hex(color.hex)}`;
972
- } catch {
973
- return fallbackColor.hex;
974
- }
975
- let short = color.hex.match(SHORTHEX_REGEXP);
976
- if (!short)
977
- return HEX_REGEXP.test(color.hex) ? color.hex : fallbackColor.hex;
978
- let [r2, g2, b2] = short[1].split("");
979
- return `#${r2}${r2}${g2}${g2}${b2}${b2}`;
980
- }, useColorInput = (initialValue, onChange) => {
981
- let [value, setValue] = useState(initialValue || ""), [color, setColor] = useState(() => parseValue(value)), [colorSpace, setColorSpace] = useState(color?.colorSpace || "hex" /* HEX */);
982
- useEffect(() => {
983
- let nextValue = initialValue || "", nextColor = parseValue(nextValue);
984
- setValue(nextValue), setColor(nextColor), setColorSpace(nextColor?.colorSpace || "hex" /* HEX */);
985
- }, [initialValue]);
986
- let realValue = useMemo(
987
- () => getRealValue(value, color, colorSpace).toLowerCase(),
988
- [value, color, colorSpace]
989
- ), updateValue = useCallback(
990
- (update) => {
991
- let parsed = parseValue(update), v2 = parsed?.value || update || "";
992
- setValue(v2), v2 === "" && (setColor(void 0), onChange(void 0)), parsed && (setColor(parsed), setColorSpace(parsed.colorSpace), onChange(parsed.value));
993
- },
994
- [onChange]
995
- ), cycleColorSpace = useCallback(() => {
996
- let nextIndex = (COLOR_SPACES.indexOf(colorSpace) + 1) % COLOR_SPACES.length, nextSpace = COLOR_SPACES[nextIndex];
997
- setColorSpace(nextSpace);
998
- let updatedValue = color?.[nextSpace] || "";
999
- setValue(updatedValue), onChange(updatedValue);
1000
- }, [color, colorSpace, onChange]);
1001
- return { value, realValue, updateValue, color, colorSpace, cycleColorSpace };
1002
- }, id = (value) => value.replace(/\s*/, "").toLowerCase(), usePresets = (presetColors, currentColor, colorSpace) => {
1003
- let [selectedColors, setSelectedColors] = useState(currentColor?.valid ? [currentColor] : []);
1004
- useEffect(() => {
1005
- currentColor === void 0 && setSelectedColors([]);
1006
- }, [currentColor]);
1007
- let presets = useMemo(() => (presetColors || []).map((preset) => typeof preset == "string" ? parseValue(preset) : preset.title ? { ...parseValue(preset.color), keyword: preset.title } : parseValue(preset.color)).concat(selectedColors).filter(Boolean).slice(-27), [presetColors, selectedColors]), addPreset = useCallback(
1008
- (color) => {
1009
- color?.valid && (presets.some(
1010
- (preset) => preset && preset[colorSpace] && id(preset[colorSpace] || "") === id(color[colorSpace] || "")
1011
- ) || setSelectedColors((arr) => arr.concat(color)));
1012
- },
1013
- [colorSpace, presets]
1014
- );
1015
- return { presets, addPreset };
1016
- }, ColorControl = ({
1017
- name,
1018
- value: initialValue,
1019
- onChange,
1020
- onFocus,
1021
- onBlur,
1022
- presetColors,
1023
- startOpen = !1,
1024
- argType
1025
- }) => {
1026
- let debouncedOnChange = useCallback(debounce(onChange, 200), [onChange]), { value, realValue, updateValue, color, colorSpace, cycleColorSpace } = useColorInput(
1027
- initialValue,
1028
- debouncedOnChange
1029
- ), { presets, addPreset } = usePresets(presetColors ?? [], color, colorSpace), Picker = ColorPicker[colorSpace], readOnly = !!argType?.table?.readonly, controlId = getControlId(name);
1030
- return React.createElement(Wrapper, null, React.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React.createElement(
1031
- Input,
1032
- {
1033
- id: controlId,
1034
- value,
1035
- onChange: (e2) => updateValue(e2.target.value),
1036
- onFocus: (e2) => e2.target.select(),
1037
- readOnly,
1038
- placeholder: "Choose color..."
1039
- }
1040
- ), React.createElement(
1041
- PopoverProvider,
1042
- {
1043
- defaultVisible: startOpen,
1044
- visible: readOnly ? !1 : void 0,
1045
- onVisibleChange: () => color && addPreset(color),
1046
- popover: React.createElement(TooltipContent, null, React.createElement(
1047
- Picker,
1048
- {
1049
- color: realValue === "transparent" ? "#000000" : realValue,
1050
- onChange: updateValue,
1051
- onFocus,
1052
- onBlur
1053
- }
1054
- ), presets.length > 0 && React.createElement(Swatches, null, presets.map((preset, index) => React.createElement(
1055
- SwatchColor,
1056
- {
1057
- key: `${preset?.value || index}-${index}`,
1058
- variant: "ghost",
1059
- padding: "small",
1060
- size: "small",
1061
- ariaLabel: "Pick this color",
1062
- tooltip: preset?.keyword || preset?.value || "",
1063
- value: preset?.value || "",
1064
- selected: !!(color && preset && preset[colorSpace] && id(preset[colorSpace] || "") === id(color[colorSpace])),
1065
- onClick: () => preset && updateValue(preset.value || "")
1066
- }
1067
- ))))
1068
- },
1069
- React.createElement(
1070
- PopoverTrigger,
1071
- {
1072
- variant: "ghost",
1073
- padding: "small",
1074
- size: "small",
1075
- ariaLabel: "Open color picker",
1076
- value: realValue,
1077
- style: { margin: 4 },
1078
- disabled: readOnly
1079
- }
1080
- )
1081
- ), value ? React.createElement(
1082
- CycleColorSpaceButton,
1083
- {
1084
- variant: "ghost",
1085
- padding: "small",
1086
- size: "small",
1087
- ariaLabel: "Cycle through color spaces",
1088
- disabled: readOnly,
1089
- onClick: readOnly ? void 0 : cycleColorSpace
1090
- },
1091
- React.createElement(MarkupIcon, null)
1092
- ) : null);
1093
- }, Color_default = ColorControl;
1094
- export {
1095
- ColorControl,
1096
- Color_default as default
1097
- };