storybook 10.0.0-beta.4 → 10.0.0-beta.5

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 (97) hide show
  1. package/dist/_browser-chunks/Color-KPLIACXP.js +1569 -0
  2. package/dist/_browser-chunks/{chunk-YY5GICNT.js → chunk-6E2SHJSL.js} +175 -32
  3. package/dist/_browser-chunks/{chunk-MZNYTCNT.js → chunk-AM4PZYVQ.js} +10 -63
  4. package/dist/_browser-chunks/{chunk-YWDKX534.js → chunk-FA42P6MO.js} +49 -4
  5. package/dist/_browser-chunks/chunk-G33S6YM3.js +521 -0
  6. package/dist/_browser-chunks/chunk-GJ67EE65.js +67 -0
  7. package/dist/_browser-chunks/{chunk-4QPX7WIQ.js → chunk-JJZMHC3A.js} +57 -166
  8. package/dist/_browser-chunks/{chunk-MD2FTHCZ.js → chunk-JVSKG4YS.js} +3 -16
  9. package/dist/_browser-chunks/{chunk-E7VLET3C.js → chunk-KSCAWCCE.js} +3947 -4291
  10. package/dist/_browser-chunks/chunk-QK3L5AXO.js +372 -0
  11. package/dist/_browser-chunks/chunk-VUAFL5XK.js +20 -0
  12. package/dist/_browser-chunks/{chunk-T7RCAJIX.js → chunk-Y3M7TW6K.js} +43 -47
  13. package/dist/_browser-chunks/{chunk-PYK5ZTFK.js → chunk-YQV3EGQ5.js} +5 -5
  14. package/dist/_browser-chunks/{syntaxhighlighter-YYAA4CS4.js → syntaxhighlighter-RJW7FE3A.js} +3 -2
  15. package/dist/_node-chunks/{builder-manager-IKHPPPFE.js → builder-manager-ZTS4EIKQ.js} +18 -13
  16. package/dist/_node-chunks/camelcase-K3BM7RII.js +18 -0
  17. package/dist/_node-chunks/{chunk-MOO2Y4GI.js → chunk-2VMDKLSW.js} +6 -6
  18. package/dist/_node-chunks/{chunk-7IIAUEWB.js → chunk-3VVGIILJ.js} +8 -8
  19. package/dist/_node-chunks/{chunk-SF2IETZ2.js → chunk-4KRR46V2.js} +36 -23
  20. package/dist/_node-chunks/{chunk-4VGW2SQA.js → chunk-4VDRH7SM.js} +7 -7
  21. package/dist/_node-chunks/chunk-7LG5CLCT.js +18 -0
  22. package/dist/_node-chunks/{chunk-AC3BNULF.js → chunk-ACUNHBEO.js} +22 -22
  23. package/dist/_node-chunks/{camelcase-O2O7JODG.js → chunk-AK5PHLUA.js} +9 -8
  24. package/dist/_node-chunks/{chunk-4FMOVB65.js → chunk-D7SDB4XE.js} +223 -243
  25. package/dist/_node-chunks/chunk-DWJ7TV2O.js +62 -0
  26. package/dist/_node-chunks/{chunk-JSSBBVU5.js → chunk-DZJNLBBL.js} +7 -7
  27. package/dist/_node-chunks/{chunk-YRPXGWKW.js → chunk-EIHJ5J3O.js} +8 -8
  28. package/dist/_node-chunks/{chunk-HAVE6SGK.js → chunk-F3WE3456.js} +7 -7
  29. package/dist/_node-chunks/{chunk-TTQRDWDJ.js → chunk-F7YW5W6B.js} +12 -12
  30. package/dist/_node-chunks/{chunk-AXFNB3AN.js → chunk-H52PBBSK.js} +7 -7
  31. package/dist/_node-chunks/{chunk-OL2HWCBH.js → chunk-J3DQMIO4.js} +7 -7
  32. package/dist/_node-chunks/{chunk-XT6O5CVI.js → chunk-K4YETNYJ.js} +30 -21
  33. package/dist/_node-chunks/{chunk-TBAIXCHN.js → chunk-KU3JBNPY.js} +8 -8
  34. package/dist/_node-chunks/{chunk-6COBULLV.js → chunk-KZB7ELL6.js} +162 -103
  35. package/dist/_node-chunks/{chunk-JECCFKKM.js → chunk-OC3TVLYU.js} +7 -7
  36. package/dist/_node-chunks/{chunk-N3GFXZDP.js → chunk-P3TWEOO5.js} +7 -7
  37. package/dist/_node-chunks/{chunk-NOSGJ5PL.js → chunk-P7YMEOXF.js} +7 -7
  38. package/dist/_node-chunks/{chunk-IB5AEYPX.js → chunk-PIKDGR3O.js} +7 -7
  39. package/dist/_node-chunks/{chunk-FWFQ2GU7.js → chunk-QHIU5I7C.js} +6 -6
  40. package/dist/_node-chunks/{chunk-NF3GXIEK.js → chunk-SW3VZAH7.js} +9 -9
  41. package/dist/_node-chunks/{chunk-XA4TAMUS.js → chunk-TBWOUVTA.js} +10 -9
  42. package/dist/_node-chunks/{chunk-YJHXEN7U.js → chunk-TKN5TEZV.js} +583 -180
  43. package/dist/_node-chunks/{chunk-JP4LEAXM.js → chunk-TVKUJ3SE.js} +623 -750
  44. package/dist/_node-chunks/{chunk-TYGVOW7L.js → chunk-UTCFHTQH.js} +8 -8
  45. package/dist/_node-chunks/{chunk-DCHFG5TX.js → chunk-VQN4WAIA.js} +7 -7
  46. package/dist/_node-chunks/{chunk-USDZSU5L.js → chunk-VWSUFVUF.js} +7 -7
  47. package/dist/_node-chunks/{chunk-3J7DQ6TI.js → chunk-VX5P3IYA.js} +7 -7
  48. package/dist/_node-chunks/{chunk-5OILJTZE.js → chunk-WCSHG2QT.js} +7 -7
  49. package/dist/_node-chunks/{default-browser-id-J4OIAAJ5.js → default-browser-id-4RZZMHJE.js} +7 -7
  50. package/dist/_node-chunks/{dist-BMKSKYDI.js → dist-OGRBL76N.js} +9 -9
  51. package/dist/_node-chunks/{globby-DASPUXWI.js → globby-65LOULA6.js} +9 -9
  52. package/dist/_node-chunks/{lib-L6BIH4EV.js → lib-TF7JCT3A.js} +36 -12
  53. package/dist/_node-chunks/{mdx-N42X6CFJ-2COTUDSL.js → mdx-N42X6CFJ-6ZJEUZMZ.js} +8 -8
  54. package/dist/_node-chunks/{p-limit-HVR3I7TJ.js → p-limit-PF7JSPDT.js} +7 -7
  55. package/dist/_node-chunks/{plugin-2XPSFYWZ.js → plugin-A6XAWMXN.js} +10 -10
  56. package/dist/_node-chunks/{plugin-FZOHPRK7.js → plugin-LGHGAC6J.js} +10 -10
  57. package/dist/_node-chunks/{webpack-inject-mocker-runtime-plugin-FGQM2EPC.js → webpack-inject-mocker-runtime-plugin-HDSEOU3Z.js} +1307 -847
  58. package/dist/_node-chunks/{webpack-mock-plugin-4HOAIYSX.js → webpack-mock-plugin-ZJJVMJUS.js} +9 -9
  59. package/dist/babel/index.d.ts +1 -1
  60. package/dist/babel/index.js +11 -11
  61. package/dist/bin/core.js +638 -187
  62. package/dist/bin/dispatcher.js +11 -11
  63. package/dist/bin/loader.js +8 -8
  64. package/dist/cli/index.d.ts +61 -74
  65. package/dist/cli/index.js +50 -43
  66. package/dist/common/index.js +21 -21
  67. package/dist/components/index.js +24 -20
  68. package/dist/core-server/index.js +3541 -3216
  69. package/dist/core-server/presets/common-manager.js +440 -720
  70. package/dist/core-server/presets/common-override-preset.js +9 -9
  71. package/dist/core-server/presets/common-preset.js +22 -22
  72. package/dist/core-server/presets/webpack/loaders/storybook-mock-transform-loader.js +9 -9
  73. package/dist/core-server/presets/webpack/loaders/webpack-automock-loader.js +10 -10
  74. package/dist/csf/index.js +6 -6
  75. package/dist/csf-tools/index.js +9 -9
  76. package/dist/docs-tools/index.js +4 -4
  77. package/dist/instrumenter/index.js +1 -1
  78. package/dist/manager/globals-runtime.js +8910 -18107
  79. package/dist/manager/runtime.js +3256 -2945
  80. package/dist/manager-api/index.js +23 -20
  81. package/dist/node-logger/index.d.ts +1 -1
  82. package/dist/node-logger/index.js +1136 -661
  83. package/dist/preview/runtime.js +12061 -21584
  84. package/dist/preview-api/index.d.ts +68 -67
  85. package/dist/preview-api/index.js +6 -6
  86. package/dist/router/index.js +2 -2
  87. package/dist/server-errors.js +10 -10
  88. package/dist/telemetry/index.js +24 -24
  89. package/dist/test/index.js +1872 -4023
  90. package/dist/theming/index.d.ts +2 -2
  91. package/dist/theming/index.js +6 -6
  92. package/package.json +3 -3
  93. package/dist/_browser-chunks/Color-SFYJJKWL.js +0 -605
  94. package/dist/_browser-chunks/chunk-DHO2SA6L.js +0 -12
  95. package/dist/_browser-chunks/chunk-WPHPDNUA.js +0 -974
  96. package/dist/_node-chunks/chunk-CHJLO2LV.js +0 -62
  97. package/dist/_node-chunks/chunk-MNG223PY.js +0 -18
@@ -1,605 +0,0 @@
1
- import {
2
- getControlId
3
- } from "./chunk-DHO2SA6L.js";
4
- import {
5
- require_color_convert
6
- } from "./chunk-WPHPDNUA.js";
7
- import {
8
- debounce
9
- } from "./chunk-E7VLET3C.js";
10
- import "./chunk-4QPX7WIQ.js";
11
- import {
12
- __name,
13
- __toESM
14
- } from "./chunk-MM7DTO55.js";
15
-
16
- // ../addons/docs/src/blocks/controls/Color.tsx
17
- var import_color_convert = __toESM(require_color_convert(), 1);
18
- import React, { useCallback, useEffect, useMemo, useState } from "react";
19
- import { Form, TooltipNote, WithTooltip } from "storybook/internal/components";
20
- import { MarkupIcon } from "@storybook/icons";
21
-
22
- // ../node_modules/react-colorful/dist/index.mjs
23
- import e, { useRef as r, useMemo as t, useEffect as n, useState as o, useCallback as a, useLayoutEffect as l } from "react";
24
- function u() {
25
- return (u = Object.assign || function(e2) {
26
- for (var r2 = 1; r2 < arguments.length; r2++) {
27
- var t2 = arguments[r2];
28
- for (var n2 in t2) Object.prototype.hasOwnProperty.call(t2, n2) && (e2[n2] = t2[n2]);
29
- }
30
- return e2;
31
- }).apply(this, arguments);
32
- }
33
- __name(u, "u");
34
- function c(e2, r2) {
35
- if (null == e2) return {};
36
- var t2, n2, o2 = {}, a2 = Object.keys(e2);
37
- for (n2 = 0; n2 < a2.length; n2++) r2.indexOf(t2 = a2[n2]) >= 0 || (o2[t2] = e2[t2]);
38
- return o2;
39
- }
40
- __name(c, "c");
41
- function i(e2) {
42
- var t2 = r(e2), n2 = r(function(e3) {
43
- t2.current && t2.current(e3);
44
- });
45
- return t2.current = e2, n2.current;
46
- }
47
- __name(i, "i");
48
- var s = /* @__PURE__ */ __name(function(e2, r2, t2) {
49
- return void 0 === r2 && (r2 = 0), void 0 === t2 && (t2 = 1), e2 > t2 ? t2 : e2 < r2 ? r2 : e2;
50
- }, "s");
51
- var f = /* @__PURE__ */ __name(function(e2) {
52
- return "touches" in e2;
53
- }, "f");
54
- var v = /* @__PURE__ */ __name(function(e2) {
55
- return e2 && e2.ownerDocument.defaultView || self;
56
- }, "v");
57
- var d = /* @__PURE__ */ __name(function(e2, r2, t2) {
58
- var n2 = e2.getBoundingClientRect(), o2 = f(r2) ? function(e3, r3) {
59
- for (var t3 = 0; t3 < e3.length; t3++) if (e3[t3].identifier === r3) return e3[t3];
60
- return e3[0];
61
- }(r2.touches, t2) : r2;
62
- return { left: s((o2.pageX - (n2.left + v(e2).pageXOffset)) / n2.width), top: s((o2.pageY - (n2.top + v(e2).pageYOffset)) / n2.height) };
63
- }, "d");
64
- var h = /* @__PURE__ */ __name(function(e2) {
65
- !f(e2) && e2.preventDefault();
66
- }, "h");
67
- var m = e.memo(function(o2) {
68
- 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(false), x2 = t(function() {
69
- var e2 = /* @__PURE__ */ __name(function(e3) {
70
- h(e3), (f(e3) ? e3.touches.length > 0 : e3.buttons > 0) && m2.current ? g2(d(m2.current, e3, b2.current)) : t2(false);
71
- }, "e"), r2 = /* @__PURE__ */ __name(function() {
72
- return t2(false);
73
- }, "r");
74
- function t2(t3) {
75
- var n2 = _2.current, o3 = v(m2.current), a3 = t3 ? o3.addEventListener : o3.removeEventListener;
76
- a3(n2 ? "touchmove" : "mousemove", e2), a3(n2 ? "touchend" : "mouseup", r2);
77
- }
78
- __name(t2, "t");
79
- return [function(e3) {
80
- var r3 = e3.nativeEvent, n2 = m2.current;
81
- if (n2 && (h(r3), !function(e4, r4) {
82
- return r4 && !f(e4);
83
- }(r3, _2.current) && n2)) {
84
- if (f(r3)) {
85
- _2.current = true;
86
- var o3 = r3.changedTouches || [];
87
- o3.length && (b2.current = o3[0].identifier);
88
- }
89
- n2.focus(), g2(d(n2, r3, b2.current)), t2(true);
90
- }
91
- }, function(e3) {
92
- var r3 = e3.which || e3.keyCode;
93
- r3 < 37 || r3 > 40 || (e3.preventDefault(), p2({ left: 39 === r3 ? 0.05 : 37 === r3 ? -0.05 : 0, top: 40 === r3 ? 0.05 : 38 === r3 ? -0.05 : 0 }));
94
- }, t2];
95
- }, [p2, g2]), C2 = x2[0], E2 = x2[1], H2 = x2[2];
96
- return n(function() {
97
- return H2;
98
- }, [H2]), e.createElement("div", u({}, s2, { onTouchStart: C2, onMouseDown: C2, className: "react-colorful__interactive", ref: m2, onKeyDown: E2, tabIndex: 0, role: "slider" }));
99
- });
100
- var g = /* @__PURE__ */ __name(function(e2) {
101
- return e2.filter(Boolean).join(" ");
102
- }, "g");
103
- var p = /* @__PURE__ */ __name(function(r2) {
104
- var t2 = r2.color, n2 = r2.left, o2 = r2.top, a2 = void 0 === o2 ? 0.5 : o2, l2 = g(["react-colorful__pointer", r2.className]);
105
- return e.createElement("div", { className: l2, style: { top: 100 * a2 + "%", left: 100 * n2 + "%" } }, e.createElement("div", { className: "react-colorful__pointer-fill", style: { backgroundColor: t2 } }));
106
- }, "p");
107
- var b = /* @__PURE__ */ __name(function(e2, r2, t2) {
108
- return void 0 === r2 && (r2 = 0), void 0 === t2 && (t2 = Math.pow(10, r2)), Math.round(t2 * e2) / t2;
109
- }, "b");
110
- var _ = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) };
111
- var x = /* @__PURE__ */ __name(function(e2) {
112
- return L(C(e2));
113
- }, "x");
114
- var C = /* @__PURE__ */ __name(function(e2) {
115
- 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: 4 === e2.length ? 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: 8 === e2.length ? b(parseInt(e2.substring(6, 8), 16) / 255, 2) : 1 };
116
- }, "C");
117
- var E = /* @__PURE__ */ __name(function(e2, r2) {
118
- return void 0 === r2 && (r2 = "deg"), Number(e2) * (_[r2] || 1);
119
- }, "E");
120
- var H = /* @__PURE__ */ __name(function(e2) {
121
- var r2 = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);
122
- return r2 ? N({ h: E(r2[1], r2[2]), s: Number(r2[3]), l: Number(r2[4]), a: void 0 === r2[5] ? 1 : Number(r2[5]) / (r2[6] ? 100 : 1) }) : { h: 0, s: 0, v: 0, a: 1 };
123
- }, "H");
124
- var N = /* @__PURE__ */ __name(function(e2) {
125
- var r2 = e2.s, t2 = e2.l;
126
- 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 };
127
- }, "N");
128
- var w = /* @__PURE__ */ __name(function(e2) {
129
- return K(I(e2));
130
- }, "w");
131
- var y = /* @__PURE__ */ __name(function(e2) {
132
- var r2 = e2.s, t2 = e2.v, n2 = e2.a, o2 = (200 - r2) * t2 / 100;
133
- 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) };
134
- }, "y");
135
- var q = /* @__PURE__ */ __name(function(e2) {
136
- var r2 = y(e2);
137
- return "hsl(" + r2.h + ", " + r2.s + "%, " + r2.l + "%)";
138
- }, "q");
139
- var k = /* @__PURE__ */ __name(function(e2) {
140
- var r2 = y(e2);
141
- return "hsla(" + r2.h + ", " + r2.s + "%, " + r2.l + "%, " + r2.a + ")";
142
- }, "k");
143
- var I = /* @__PURE__ */ __name(function(e2) {
144
- var r2 = e2.h, t2 = e2.s, n2 = e2.v, o2 = e2.a;
145
- r2 = r2 / 360 * 6, t2 /= 100, n2 /= 100;
146
- 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;
147
- 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) };
148
- }, "I");
149
- var z = /* @__PURE__ */ __name(function(e2) {
150
- var r2 = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);
151
- 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: void 0 === r2[7] ? 1 : Number(r2[7]) / (r2[8] ? 100 : 1) }) : { h: 0, s: 0, v: 0, a: 1 };
152
- }, "z");
153
- var D = /* @__PURE__ */ __name(function(e2) {
154
- var r2 = e2.toString(16);
155
- return r2.length < 2 ? "0" + r2 : r2;
156
- }, "D");
157
- var K = /* @__PURE__ */ __name(function(e2) {
158
- var r2 = e2.r, t2 = e2.g, n2 = e2.b, o2 = e2.a, a2 = o2 < 1 ? D(b(255 * o2)) : "";
159
- return "#" + D(r2) + D(t2) + D(n2) + a2;
160
- }, "K");
161
- var L = /* @__PURE__ */ __name(function(e2) {
162
- 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;
163
- return { h: b(60 * (u2 < 0 ? u2 + 6 : u2)), s: b(a2 ? l2 / a2 * 100 : 0), v: b(a2 / 255 * 100), a: o2 };
164
- }, "L");
165
- var S = e.memo(function(r2) {
166
- var t2 = r2.hue, n2 = r2.onChange, o2 = g(["react-colorful__hue", r2.className]);
167
- return e.createElement("div", { className: o2 }, e.createElement(m, { onMove: /* @__PURE__ */ __name(function(e2) {
168
- n2({ h: 360 * e2.left });
169
- }, "onMove"), onKey: /* @__PURE__ */ __name(function(e2) {
170
- n2({ h: s(t2 + 360 * e2.left, 0, 360) });
171
- }, "onKey"), "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 }) })));
172
- });
173
- var T = e.memo(function(r2) {
174
- var t2 = r2.hsva, n2 = r2.onChange, o2 = { backgroundColor: q({ h: t2.h, s: 100, v: 100, a: 1 }) };
175
- return e.createElement("div", { className: "react-colorful__saturation", style: o2 }, e.createElement(m, { onMove: /* @__PURE__ */ __name(function(e2) {
176
- n2({ s: 100 * e2.left, v: 100 - 100 * e2.top });
177
- }, "onMove"), onKey: /* @__PURE__ */ __name(function(e2) {
178
- n2({ s: s(t2.s + 100 * e2.left, 0, 100), v: s(t2.v - 100 * e2.top, 0, 100) });
179
- }, "onKey"), "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) })));
180
- });
181
- var F = /* @__PURE__ */ __name(function(e2, r2) {
182
- if (e2 === r2) return true;
183
- for (var t2 in e2) if (e2[t2] !== r2[t2]) return false;
184
- return true;
185
- }, "F");
186
- var P = /* @__PURE__ */ __name(function(e2, r2) {
187
- return e2.replace(/\s/g, "") === r2.replace(/\s/g, "");
188
- }, "P");
189
- var X = /* @__PURE__ */ __name(function(e2, r2) {
190
- return e2.toLowerCase() === r2.toLowerCase() || F(C(e2), C(r2));
191
- }, "X");
192
- function Y(e2, t2, l2) {
193
- var u2 = i(l2), c2 = o(function() {
194
- return e2.toHsva(t2);
195
- }), s2 = c2[0], f2 = c2[1], v2 = r({ color: t2, hsva: s2 });
196
- n(function() {
197
- if (!e2.equal(t2, v2.current.color)) {
198
- var r2 = e2.toHsva(t2);
199
- v2.current = { hsva: r2, color: t2 }, f2(r2);
200
- }
201
- }, [t2, e2]), n(function() {
202
- var r2;
203
- F(s2, v2.current.hsva) || e2.equal(r2 = e2.fromHsva(s2), v2.current.color) || (v2.current = { hsva: s2, color: r2 }, u2(r2));
204
- }, [s2, e2, u2]);
205
- var d2 = a(function(e3) {
206
- f2(function(r2) {
207
- return Object.assign({}, r2, e3);
208
- });
209
- }, []);
210
- return [s2, d2];
211
- }
212
- __name(Y, "Y");
213
- var R;
214
- var V = "undefined" != typeof window ? l : n;
215
- var $ = /* @__PURE__ */ __name(function() {
216
- return R || ("undefined" != typeof __webpack_nonce__ ? __webpack_nonce__ : void 0);
217
- }, "$");
218
- var J = /* @__PURE__ */ new Map();
219
- var Q = /* @__PURE__ */ __name(function(e2) {
220
- V(function() {
221
- var r2 = e2.current ? e2.current.ownerDocument : document;
222
- if (void 0 !== r2 && !J.has(r2)) {
223
- var t2 = r2.createElement("style");
224
- 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);
225
- var n2 = $();
226
- n2 && t2.setAttribute("nonce", n2), r2.head.appendChild(t2);
227
- }
228
- }, []);
229
- }, "Q");
230
- var U = /* @__PURE__ */ __name(function(t2) {
231
- var n2 = t2.className, o2 = t2.colorModel, a2 = t2.color, l2 = void 0 === a2 ? o2.defaultColor : a2, i2 = t2.onChange, s2 = c(t2, ["className", "colorModel", "color", "onChange"]), f2 = r(null);
232
- Q(f2);
233
- var v2 = Y(o2, l2, i2), d2 = v2[0], h2 = v2[1], m2 = g(["react-colorful", n2]);
234
- 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" }));
235
- }, "U");
236
- var W = { defaultColor: "000", toHsva: x, fromHsva: /* @__PURE__ */ __name(function(e2) {
237
- return w({ h: e2.h, s: e2.s, v: e2.v, a: 1 });
238
- }, "fromHsva"), equal: X };
239
- var Z = /* @__PURE__ */ __name(function(r2) {
240
- return e.createElement(U, u({}, r2, { colorModel: W }));
241
- }, "Z");
242
- var ee = /* @__PURE__ */ __name(function(r2) {
243
- 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);
244
- return e.createElement("div", { className: l2 }, e.createElement("div", { className: "react-colorful__alpha-gradient", style: a2 }), e.createElement(m, { onMove: /* @__PURE__ */ __name(function(e2) {
245
- o2({ a: e2.left });
246
- }, "onMove"), onKey: /* @__PURE__ */ __name(function(e2) {
247
- o2({ a: s(n2.a + e2.left) });
248
- }, "onKey"), "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) })));
249
- }, "ee");
250
- var re = /* @__PURE__ */ __name(function(t2) {
251
- var n2 = t2.className, o2 = t2.colorModel, a2 = t2.color, l2 = void 0 === a2 ? o2.defaultColor : a2, i2 = t2.onChange, s2 = c(t2, ["className", "colorModel", "color", "onChange"]), f2 = r(null);
252
- Q(f2);
253
- var v2 = Y(o2, l2, i2), d2 = v2[0], h2 = v2[1], m2 = g(["react-colorful", n2]);
254
- 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" }));
255
- }, "re");
256
- var le = { defaultColor: "hsla(0, 0%, 0%, 1)", toHsva: H, fromHsva: k, equal: P };
257
- var ue = /* @__PURE__ */ __name(function(r2) {
258
- return e.createElement(re, u({}, r2, { colorModel: le }));
259
- }, "ue");
260
- var Ee = { defaultColor: "rgba(0, 0, 0, 1)", toHsva: z, fromHsva: /* @__PURE__ */ __name(function(e2) {
261
- var r2 = I(e2);
262
- return "rgba(" + r2.r + ", " + r2.g + ", " + r2.b + ", " + r2.a + ")";
263
- }, "fromHsva"), equal: P };
264
- var He = /* @__PURE__ */ __name(function(r2) {
265
- return e.createElement(re, u({}, r2, { colorModel: Ee }));
266
- }, "He");
267
-
268
- // ../addons/docs/src/blocks/controls/Color.tsx
269
- import { styled } from "storybook/theming";
270
- var Wrapper = styled.div({
271
- position: "relative",
272
- maxWidth: 250,
273
- '&[aria-readonly="true"]': {
274
- opacity: 0.5
275
- }
276
- });
277
- var PickerTooltip = styled(WithTooltip)({
278
- position: "absolute",
279
- zIndex: 1,
280
- top: 4,
281
- left: 4,
282
- "[aria-readonly=true] &": {
283
- cursor: "not-allowed"
284
- }
285
- });
286
- var TooltipContent = styled.div({
287
- width: 200,
288
- margin: 5,
289
- ".react-colorful__saturation": {
290
- borderRadius: "4px 4px 0 0"
291
- },
292
- ".react-colorful__hue": {
293
- boxShadow: "inset 0 0 0 1px rgb(0 0 0 / 5%)"
294
- },
295
- ".react-colorful__last-control": {
296
- borderRadius: "0 0 4px 4px"
297
- }
298
- });
299
- var Note = styled(TooltipNote)(({ theme }) => ({
300
- fontFamily: theme.typography.fonts.base
301
- }));
302
- var Swatches = styled.div({
303
- display: "grid",
304
- gridTemplateColumns: "repeat(9, 16px)",
305
- gap: 6,
306
- padding: 3,
307
- marginTop: 5,
308
- width: 200
309
- });
310
- var SwatchColor = styled.div(({ theme, active }) => ({
311
- width: 16,
312
- height: 16,
313
- boxShadow: active ? `${theme.appBorderColor} 0 0 0 1px inset, ${theme.textMutedColor}50 0 0 0 4px` : `${theme.appBorderColor} 0 0 0 1px inset`,
314
- borderRadius: theme.appBorderRadius
315
- }));
316
- var swatchBackground = `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>')`;
317
- var Swatch = /* @__PURE__ */ __name(({ value, style, ...props }) => {
318
- const backgroundImage = `linear-gradient(${value}, ${value}), ${swatchBackground}, linear-gradient(#fff, #fff)`;
319
- return React.createElement(SwatchColor, { ...props, style: { ...style, backgroundImage } });
320
- }, "Swatch");
321
- var Input = styled(Form.Input)(({ theme, readOnly }) => ({
322
- width: "100%",
323
- paddingLeft: 30,
324
- paddingRight: 30,
325
- boxSizing: "border-box",
326
- fontFamily: theme.typography.fonts.base
327
- }));
328
- var ToggleIcon = styled(MarkupIcon)(({ theme }) => ({
329
- position: "absolute",
330
- zIndex: 1,
331
- top: 6,
332
- right: 7,
333
- width: 20,
334
- height: 20,
335
- padding: 4,
336
- boxSizing: "border-box",
337
- cursor: "pointer",
338
- color: theme.input.color
339
- }));
340
- var ColorSpace = /* @__PURE__ */ ((ColorSpace2) => {
341
- ColorSpace2["RGB"] = "rgb";
342
- ColorSpace2["HSL"] = "hsl";
343
- ColorSpace2["HEX"] = "hex";
344
- return ColorSpace2;
345
- })(ColorSpace || {});
346
- var COLOR_SPACES = Object.values(ColorSpace);
347
- var COLOR_REGEXP = /\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/;
348
- var RGB_REGEXP = /^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i;
349
- var HSL_REGEXP = /^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i;
350
- var HEX_REGEXP = /^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i;
351
- var SHORTHEX_REGEXP = /^\s*#?([0-9a-f]{3})\s*$/i;
352
- var ColorPicker = {
353
- ["hex" /* HEX */]: Z,
354
- ["rgb" /* RGB */]: He,
355
- ["hsl" /* HSL */]: ue
356
- };
357
- var fallbackColor = {
358
- ["hex" /* HEX */]: "transparent",
359
- ["rgb" /* RGB */]: "rgba(0, 0, 0, 0)",
360
- ["hsl" /* HSL */]: "hsla(0, 0%, 0%, 0)"
361
- };
362
- var stringToArgs = /* @__PURE__ */ __name((value) => {
363
- const match = value?.match(COLOR_REGEXP);
364
- if (!match) {
365
- return [0, 0, 0, 1];
366
- }
367
- const [, x2, y2, z2, a2 = 1] = match;
368
- return [x2, y2, z2, a2].map(Number);
369
- }, "stringToArgs");
370
- var parseRgb = /* @__PURE__ */ __name((value) => {
371
- const [r2, g2, b2, a2] = stringToArgs(value);
372
- const [h2, s2, l2] = import_color_convert.default.rgb.hsl([r2, g2, b2]) || [0, 0, 0];
373
- return {
374
- valid: true,
375
- value,
376
- keyword: import_color_convert.default.rgb.keyword([r2, g2, b2]),
377
- colorSpace: "rgb" /* RGB */,
378
- ["rgb" /* RGB */]: value,
379
- ["hsl" /* HSL */]: `hsla(${h2}, ${s2}%, ${l2}%, ${a2})`,
380
- ["hex" /* HEX */]: `#${import_color_convert.default.rgb.hex([r2, g2, b2]).toLowerCase()}`
381
- };
382
- }, "parseRgb");
383
- var parseHsl = /* @__PURE__ */ __name((value) => {
384
- const [h2, s2, l2, a2] = stringToArgs(value);
385
- const [r2, g2, b2] = import_color_convert.default.hsl.rgb([h2, s2, l2]) || [0, 0, 0];
386
- return {
387
- valid: true,
388
- value,
389
- keyword: import_color_convert.default.hsl.keyword([h2, s2, l2]),
390
- colorSpace: "hsl" /* HSL */,
391
- ["rgb" /* RGB */]: `rgba(${r2}, ${g2}, ${b2}, ${a2})`,
392
- ["hsl" /* HSL */]: value,
393
- ["hex" /* HEX */]: `#${import_color_convert.default.hsl.hex([h2, s2, l2]).toLowerCase()}`
394
- };
395
- }, "parseHsl");
396
- var parseHexOrKeyword = /* @__PURE__ */ __name((value) => {
397
- const plain = value.replace("#", "");
398
- const rgb = import_color_convert.default.keyword.rgb(plain) || import_color_convert.default.hex.rgb(plain);
399
- const hsl = import_color_convert.default.rgb.hsl(rgb);
400
- let mapped = value;
401
- if (/[^#a-f0-9]/i.test(value)) {
402
- mapped = plain;
403
- } else if (HEX_REGEXP.test(value)) {
404
- mapped = `#${plain}`;
405
- }
406
- let valid = true;
407
- if (mapped.startsWith("#")) {
408
- valid = HEX_REGEXP.test(mapped);
409
- } else {
410
- try {
411
- import_color_convert.default.keyword.hex(mapped);
412
- } catch (e2) {
413
- valid = false;
414
- }
415
- }
416
- return {
417
- valid,
418
- value: mapped,
419
- keyword: import_color_convert.default.rgb.keyword(rgb),
420
- colorSpace: "hex" /* HEX */,
421
- ["rgb" /* RGB */]: `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, 1)`,
422
- ["hsl" /* HSL */]: `hsla(${hsl[0]}, ${hsl[1]}%, ${hsl[2]}%, 1)`,
423
- ["hex" /* HEX */]: mapped
424
- };
425
- }, "parseHexOrKeyword");
426
- var parseValue = /* @__PURE__ */ __name((value) => {
427
- if (!value) {
428
- return void 0;
429
- }
430
- if (RGB_REGEXP.test(value)) {
431
- return parseRgb(value);
432
- }
433
- if (HSL_REGEXP.test(value)) {
434
- return parseHsl(value);
435
- }
436
- return parseHexOrKeyword(value);
437
- }, "parseValue");
438
- var getRealValue = /* @__PURE__ */ __name((value, color, colorSpace) => {
439
- if (!value || !color?.valid) {
440
- return fallbackColor[colorSpace];
441
- }
442
- if (colorSpace !== "hex" /* HEX */) {
443
- return color?.[colorSpace] || fallbackColor[colorSpace];
444
- }
445
- if (!color.hex.startsWith("#")) {
446
- try {
447
- return `#${import_color_convert.default.keyword.hex(color.hex)}`;
448
- } catch (e2) {
449
- return fallbackColor.hex;
450
- }
451
- }
452
- const short = color.hex.match(SHORTHEX_REGEXP);
453
- if (!short) {
454
- return HEX_REGEXP.test(color.hex) ? color.hex : fallbackColor.hex;
455
- }
456
- const [r2, g2, b2] = short[1].split("");
457
- return `#${r2}${r2}${g2}${g2}${b2}${b2}`;
458
- }, "getRealValue");
459
- var useColorInput = /* @__PURE__ */ __name((initialValue, onChange) => {
460
- const [value, setValue] = useState(initialValue || "");
461
- const [color, setColor] = useState(() => parseValue(value));
462
- const [colorSpace, setColorSpace] = useState(color?.colorSpace || "hex" /* HEX */);
463
- useEffect(() => {
464
- const nextValue = initialValue || "";
465
- const nextColor = parseValue(nextValue);
466
- setValue(nextValue);
467
- setColor(nextColor);
468
- setColorSpace(nextColor?.colorSpace || "hex" /* HEX */);
469
- }, [initialValue]);
470
- const realValue = useMemo(
471
- () => getRealValue(value, color, colorSpace).toLowerCase(),
472
- [value, color, colorSpace]
473
- );
474
- const updateValue = useCallback(
475
- (update) => {
476
- const parsed = parseValue(update);
477
- const v2 = parsed?.value || update || "";
478
- setValue(v2);
479
- if (v2 === "") {
480
- setColor(void 0);
481
- onChange(void 0);
482
- }
483
- if (!parsed) {
484
- return;
485
- }
486
- setColor(parsed);
487
- setColorSpace(parsed.colorSpace);
488
- onChange(parsed.value);
489
- },
490
- [onChange]
491
- );
492
- const cycleColorSpace = useCallback(() => {
493
- const currentIndex = COLOR_SPACES.indexOf(colorSpace);
494
- const nextIndex = (currentIndex + 1) % COLOR_SPACES.length;
495
- const nextSpace = COLOR_SPACES[nextIndex];
496
- setColorSpace(nextSpace);
497
- const updatedValue = color?.[nextSpace] || "";
498
- setValue(updatedValue);
499
- onChange(updatedValue);
500
- }, [color, colorSpace, onChange]);
501
- return { value, realValue, updateValue, color, colorSpace, cycleColorSpace };
502
- }, "useColorInput");
503
- var id = /* @__PURE__ */ __name((value) => value.replace(/\s*/, "").toLowerCase(), "id");
504
- var usePresets = /* @__PURE__ */ __name((presetColors, currentColor, colorSpace) => {
505
- const [selectedColors, setSelectedColors] = useState(currentColor?.valid ? [currentColor] : []);
506
- useEffect(() => {
507
- if (currentColor !== void 0) {
508
- return;
509
- }
510
- setSelectedColors([]);
511
- }, [currentColor]);
512
- const presets = useMemo(() => {
513
- const initialPresets = (presetColors || []).map((preset) => {
514
- if (typeof preset === "string") {
515
- return parseValue(preset);
516
- }
517
- if (preset.title) {
518
- return { ...parseValue(preset.color), keyword: preset.title };
519
- }
520
- return parseValue(preset.color);
521
- });
522
- return initialPresets.concat(selectedColors).filter(Boolean).slice(-27);
523
- }, [presetColors, selectedColors]);
524
- const addPreset = useCallback(
525
- (color) => {
526
- if (!color?.valid) {
527
- return;
528
- }
529
- if (presets.some(
530
- (preset) => preset && preset[colorSpace] && id(preset[colorSpace] || "") === id(color[colorSpace] || "")
531
- )) {
532
- return;
533
- }
534
- setSelectedColors((arr) => arr.concat(color));
535
- },
536
- [colorSpace, presets]
537
- );
538
- return { presets, addPreset };
539
- }, "usePresets");
540
- var ColorControl = /* @__PURE__ */ __name(({
541
- name,
542
- value: initialValue,
543
- onChange,
544
- onFocus,
545
- onBlur,
546
- presetColors,
547
- startOpen = false,
548
- argType
549
- }) => {
550
- const debouncedOnChange = useCallback(debounce(onChange, 200), [onChange]);
551
- const { value, realValue, updateValue, color, colorSpace, cycleColorSpace } = useColorInput(
552
- initialValue,
553
- debouncedOnChange
554
- );
555
- const { presets, addPreset } = usePresets(presetColors ?? [], color, colorSpace);
556
- const Picker = ColorPicker[colorSpace];
557
- const readonly = !!argType?.table?.readonly;
558
- return React.createElement(Wrapper, { "aria-readonly": readonly }, React.createElement(
559
- PickerTooltip,
560
- {
561
- startOpen,
562
- trigger: readonly ? null : void 0,
563
- closeOnOutsideClick: true,
564
- onVisibleChange: () => color && addPreset(color),
565
- tooltip: React.createElement(TooltipContent, null, React.createElement(
566
- Picker,
567
- {
568
- color: realValue === "transparent" ? "#000000" : realValue,
569
- ...{ onChange: updateValue, onFocus, onBlur }
570
- }
571
- ), presets.length > 0 && React.createElement(Swatches, null, presets.map((preset, index) => React.createElement(
572
- WithTooltip,
573
- {
574
- key: `${preset?.value || index}-${index}`,
575
- hasChrome: false,
576
- tooltip: React.createElement(Note, { note: preset?.keyword || preset?.value || "" })
577
- },
578
- React.createElement(
579
- Swatch,
580
- {
581
- value: preset?.[colorSpace] || "",
582
- active: !!(color && preset && preset[colorSpace] && id(preset[colorSpace] || "") === id(color[colorSpace])),
583
- onClick: () => preset && updateValue(preset.value || "")
584
- }
585
- )
586
- ))))
587
- },
588
- React.createElement(Swatch, { value: realValue, style: { margin: 4 } })
589
- ), React.createElement(
590
- Input,
591
- {
592
- id: getControlId(name),
593
- value,
594
- onChange: (e2) => updateValue(e2.target.value),
595
- onFocus: (e2) => e2.target.select(),
596
- readOnly: readonly,
597
- placeholder: "Choose color..."
598
- }
599
- ), value ? React.createElement(ToggleIcon, { onClick: cycleColorSpace }) : null);
600
- }, "ColorControl");
601
- var Color_default = ColorControl;
602
- export {
603
- ColorControl,
604
- Color_default as default
605
- };
@@ -1,12 +0,0 @@
1
- import {
2
- __name
3
- } from "./chunk-MM7DTO55.js";
4
-
5
- // ../addons/docs/src/blocks/controls/helpers.ts
6
- var getControlId = /* @__PURE__ */ __name((value) => `control-${value.replace(/\s+/g, "-")}`, "getControlId");
7
- var getControlSetterButtonId = /* @__PURE__ */ __name((value) => `set-${value.replace(/\s+/g, "-")}`, "getControlSetterButtonId");
8
-
9
- export {
10
- getControlId,
11
- getControlSetterButtonId
12
- };