@goliapkg/gds 0.9.4 → 0.9.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 (96) hide show
  1. package/dist/avatar-By0U5Vts.js +74 -0
  2. package/dist/avatar-By0U5Vts.js.map +1 -0
  3. package/dist/badge-DTJq6AXr.js +59 -0
  4. package/dist/badge-DTJq6AXr.js.map +1 -0
  5. package/dist/button-avu-rQU4.js +99 -0
  6. package/dist/button-avu-rQU4.js.map +1 -0
  7. package/dist/dom-17XgfxMq.js +20 -0
  8. package/dist/dom-17XgfxMq.js.map +1 -0
  9. package/dist/gesture-BCGijGek.js +104 -0
  10. package/dist/gesture-BCGijGek.js.map +1 -0
  11. package/dist/gesture-system-v-bjvnCe.js +56 -0
  12. package/dist/gesture-system-v-bjvnCe.js.map +1 -0
  13. package/dist/glass-CQTlX7IO.js +1702 -0
  14. package/dist/glass-CQTlX7IO.js.map +1 -0
  15. package/dist/highlight-BAGZc-4h.js +28 -0
  16. package/dist/highlight-BAGZc-4h.js.map +1 -0
  17. package/dist/hooks-BE-_EmDI.js +87 -0
  18. package/dist/hooks-BE-_EmDI.js.map +1 -0
  19. package/dist/icon-button-YatlVZnz.js +44 -0
  20. package/dist/icon-button-YatlVZnz.js.map +1 -0
  21. package/dist/index.d.ts +8 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +32 -18495
  24. package/dist/l0-tokens/deps.d.ts +5 -0
  25. package/dist/l0-tokens/deps.d.ts.map +1 -1
  26. package/dist/l0-tokens/index.js +4 -0
  27. package/dist/l0-tokens-DZkyVlac.js +296 -0
  28. package/dist/l0-tokens-DZkyVlac.js.map +1 -0
  29. package/dist/l1-systems/index.js +2 -0
  30. package/dist/l2-primitives/index.js +11 -0
  31. package/dist/l2-primitives/screen-overlay.d.ts.map +1 -1
  32. package/dist/l2-primitives/truncate.d.ts +2 -1
  33. package/dist/l2-primitives/truncate.d.ts.map +1 -1
  34. package/dist/l2-primitives-CqrezrJ4.js +482 -0
  35. package/dist/l2-primitives-CqrezrJ4.js.map +1 -0
  36. package/dist/l3-atoms/index.js +6 -0
  37. package/dist/l3-atoms/keyboard-shortcut.d.ts +1 -1
  38. package/dist/l3-atoms/keyboard-shortcut.d.ts.map +1 -1
  39. package/dist/l3-atoms/sparkle.d.ts +1 -1
  40. package/dist/l3-atoms/sparkle.d.ts.map +1 -1
  41. package/dist/l3-atoms-CsN9IA9J.js +1794 -0
  42. package/dist/l3-atoms-CsN9IA9J.js.map +1 -0
  43. package/dist/l4-molecules/dialog.d.ts.map +1 -1
  44. package/dist/l4-molecules/index.js +4 -0
  45. package/dist/l4-molecules-DCc074MJ.js +4048 -0
  46. package/dist/l4-molecules-DCc074MJ.js.map +1 -0
  47. package/dist/l5-organisms/command-palette.d.ts.map +1 -1
  48. package/dist/l5-organisms/confetti.d.ts.map +1 -1
  49. package/dist/l5-organisms/cookie-banner.d.ts.map +1 -1
  50. package/dist/l5-organisms/image-preview.d.ts.map +1 -1
  51. package/dist/l5-organisms/index.js +2 -0
  52. package/dist/l5-organisms/notification-toast.d.ts.map +1 -1
  53. package/dist/l5-organisms-8KB_8a-H.js +3798 -0
  54. package/dist/l5-organisms-8KB_8a-H.js.map +1 -0
  55. package/dist/l6-charts/candlestick-chart.d.ts.map +1 -1
  56. package/dist/l6-charts/index.js +2 -0
  57. package/dist/l6-charts-DYnr5B9X.js +1743 -0
  58. package/dist/l6-charts-DYnr5B9X.js.map +1 -0
  59. package/dist/l7-patterns/index.js +2 -0
  60. package/dist/l7-patterns-DZXveS4Y.js +1826 -0
  61. package/dist/l7-patterns-DZXveS4Y.js.map +1 -0
  62. package/dist/loading-dots-fB4X_Zh0.js +24 -0
  63. package/dist/loading-dots-fB4X_Zh0.js.map +1 -0
  64. package/dist/motion-DUPegem-.js +22 -0
  65. package/dist/motion-DUPegem-.js.map +1 -0
  66. package/dist/portal-Bbl6F_Wj.js +9 -0
  67. package/dist/portal-Bbl6F_Wj.js.map +1 -0
  68. package/dist/progress-wAKN3Czz.js +44 -0
  69. package/dist/progress-wAKN3Czz.js.map +1 -0
  70. package/dist/resize-handle-CktEYqwi.js +77 -0
  71. package/dist/resize-handle-CktEYqwi.js.map +1 -0
  72. package/dist/scales-C80FTPsL.js +1299 -0
  73. package/dist/scales-C80FTPsL.js.map +1 -0
  74. package/dist/separator-Dqs23A9D.js +65 -0
  75. package/dist/separator-Dqs23A9D.js.map +1 -0
  76. package/dist/skeleton-C9FFZSYN.js +43 -0
  77. package/dist/skeleton-C9FFZSYN.js.map +1 -0
  78. package/dist/spinner-D8Ti-TFe.js +101 -0
  79. package/dist/spinner-D8Ti-TFe.js.map +1 -0
  80. package/dist/stepper-DhpGORX8.js +140 -0
  81. package/dist/stepper-DhpGORX8.js.map +1 -0
  82. package/dist/switch-DC85Os9r.js +130 -0
  83. package/dist/switch-DC85Os9r.js.map +1 -0
  84. package/dist/textarea-BJCl_aH2.js +40 -0
  85. package/dist/textarea-BJCl_aH2.js.map +1 -0
  86. package/dist/toast-DN5xANLM.js +442 -0
  87. package/dist/toast-DN5xANLM.js.map +1 -0
  88. package/dist/use-theme-C0aWVw70.js +203 -0
  89. package/dist/use-theme-C0aWVw70.js.map +1 -0
  90. package/dist/utils/index.d.ts +1 -0
  91. package/dist/utils/index.d.ts.map +1 -1
  92. package/dist/utils/index.js +7 -0
  93. package/dist/utils/portal.d.ts +3 -0
  94. package/dist/utils/portal.d.ts.map +1 -0
  95. package/package.json +37 -1
  96. package/dist/index.js.map +0 -1
@@ -0,0 +1,482 @@
1
+ import { r as e, t } from "./glass-CQTlX7IO.js";
2
+ import { r as n } from "./button-avu-rQU4.js";
3
+ import { i as r, r as i } from "./motion-DUPegem-.js";
4
+ import { t as a } from "./portal-Bbl6F_Wj.js";
5
+ import { forwardRef as o, useCallback as s } from "react";
6
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ //#region src/l2-primitives/anchor.tsx
8
+ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-colors hover:underline " + i, {
9
+ defaultVariants: { variant: "default" },
10
+ variants: { variant: {
11
+ default: "text-accent hover:text-accent/80",
12
+ muted: "text-fg-muted hover:text-fg"
13
+ } }
14
+ }), f = o(function({ children: t, className: n, external: r = !1, externalIcon: i, variant: a, ...o }, s) {
15
+ return /* @__PURE__ */ u("a", {
16
+ className: e(d({ variant: a }), n),
17
+ "data-component": "anchor",
18
+ ref: s,
19
+ ...r && {
20
+ rel: "noopener noreferrer",
21
+ target: "_blank"
22
+ },
23
+ ...o,
24
+ children: [t, r && i !== void 0 && /* @__PURE__ */ l("span", {
25
+ className: "gds-icon-child-xs",
26
+ children: i
27
+ })]
28
+ });
29
+ }), p = {
30
+ accent: "bg-accent",
31
+ danger: "bg-danger",
32
+ success: "bg-success"
33
+ }, m = o(function({ children: t, className: n, color: r = "danger", show: i = !0, ...a }, o) {
34
+ return /* @__PURE__ */ u("div", {
35
+ className: e("relative inline-flex", n),
36
+ "data-component": "badge-dot",
37
+ ref: o,
38
+ ...a,
39
+ children: [t, i && /* @__PURE__ */ l("span", { className: e("absolute -right-0.5 -top-0.5 h-1.5 w-1.5 rounded-full", p[r]) })]
40
+ });
41
+ }), h = n("mx-auto w-full px-4", {
42
+ defaultVariants: { size: "default" },
43
+ variants: { size: {
44
+ default: "max-w-screen-md",
45
+ full: "max-w-full",
46
+ lg: "max-w-screen-lg",
47
+ sm: "max-w-screen-sm",
48
+ xl: "max-w-screen-xl"
49
+ } }
50
+ }), g = o(function({ children: t, className: n, size: r, ...i }, a) {
51
+ return /* @__PURE__ */ l("div", {
52
+ className: e(h({ size: r }), n),
53
+ "data-component": "container",
54
+ ref: a,
55
+ ...i,
56
+ children: t
57
+ });
58
+ }), _ = o(function({ className: t, icon: n, orientation: r = "horizontal", ...i }, a) {
59
+ return r === "vertical" ? /* @__PURE__ */ l("div", {
60
+ className: e("inline-flex h-full flex-col items-center", n !== void 0 && "gds-gap-sm", t),
61
+ "data-component": "divider",
62
+ ref: a,
63
+ ...i,
64
+ children: n === void 0 ? /* @__PURE__ */ l("div", { className: "h-full border-l border-border" }) : /* @__PURE__ */ u(c, { children: [
65
+ /* @__PURE__ */ l("div", { className: "flex-1 border-l border-border" }),
66
+ /* @__PURE__ */ l("span", {
67
+ className: "shrink-0 text-fg-muted/50 gds-icon-child-sm",
68
+ children: n
69
+ }),
70
+ /* @__PURE__ */ l("div", { className: "flex-1 border-l border-border" })
71
+ ] })
72
+ }) : n === void 0 ? /* @__PURE__ */ l("div", {
73
+ className: e("h-px w-full bg-border/50", t),
74
+ "data-component": "divider",
75
+ ref: a,
76
+ ...i
77
+ }) : /* @__PURE__ */ u("div", {
78
+ className: e("flex items-center gds-gap-sm", t),
79
+ "data-component": "divider",
80
+ ref: a,
81
+ ...i,
82
+ children: [
83
+ /* @__PURE__ */ l("div", { className: "flex-1 border-t border-border" }),
84
+ /* @__PURE__ */ l("span", {
85
+ className: "shrink-0 text-fg-muted/50 gds-icon-child-sm",
86
+ children: n
87
+ }),
88
+ /* @__PURE__ */ l("div", { className: "flex-1 border-t border-border" })
89
+ ]
90
+ });
91
+ }), v = n("inline-block shrink-0 gds-radius-badge", {
92
+ defaultVariants: {
93
+ color: "accent",
94
+ size: "default"
95
+ },
96
+ variants: {
97
+ color: {
98
+ accent: "bg-accent",
99
+ danger: "bg-danger",
100
+ muted: "bg-fg-muted/30",
101
+ success: "bg-success",
102
+ warning: "bg-warning"
103
+ },
104
+ size: {
105
+ default: "h-2 w-2",
106
+ lg: "h-3 w-3",
107
+ sm: "h-1.5 w-1.5"
108
+ }
109
+ }
110
+ }), y = o(function({ className: t, color: n, label: r, pulse: i = !1, size: a, ...o }, s) {
111
+ return /* @__PURE__ */ u("span", {
112
+ className: e("relative inline-flex items-center", r !== void 0 && "gds-gap-sm", t),
113
+ "data-component": "dot",
114
+ ref: s,
115
+ ...o,
116
+ children: [
117
+ /* @__PURE__ */ l("span", { className: v({
118
+ color: n,
119
+ size: a
120
+ }) }),
121
+ i && /* @__PURE__ */ l("span", { className: e("absolute inset-0 animate-ping gds-radius-badge opacity-40", v({
122
+ color: n,
123
+ size: a
124
+ })) }),
125
+ r !== void 0 && /* @__PURE__ */ l("span", {
126
+ className: "gds-text-label text-fg-muted",
127
+ children: r
128
+ })
129
+ ]
130
+ });
131
+ }), b = o(function({ children: t, color: n = "var(--gds-accent)", width: r = 2, offset: i = 2, className: a }, o) {
132
+ let s = {
133
+ "--focus-ring-color": n,
134
+ "--focus-ring-width": `${r}px`,
135
+ "--focus-ring-offset": `${i}px`
136
+ };
137
+ return /* @__PURE__ */ l("span", {
138
+ ref: o,
139
+ className: e("relative inline-flex [&:focus-within]:outline [&:focus-within]:outline-[length:var(--focus-ring-width)] [&:focus-within]:outline-[color:var(--focus-ring-color)] [&:focus-within]:outline-offset-[var(--focus-ring-offset)]", a),
140
+ "data-component": "focus-ring",
141
+ style: s,
142
+ children: t
143
+ });
144
+ }), x = {
145
+ sm: "blur-lg opacity-20",
146
+ default: "blur-xl opacity-30",
147
+ lg: "blur-2xl opacity-40"
148
+ }, S = o(function({ children: t, color: n = "var(--gds-accent)", intensity: r = "default", className: i }, a) {
149
+ return /* @__PURE__ */ u("div", {
150
+ ref: a,
151
+ "data-component": "glow-effect",
152
+ className: e("relative", i),
153
+ children: [/* @__PURE__ */ l("div", {
154
+ className: e("absolute inset-0 -z-1 rounded-inherit", x[r]),
155
+ style: { backgroundColor: n },
156
+ "aria-hidden": !0
157
+ }), t]
158
+ });
159
+ }), C = o(function({ children: t, gradient: n = "linear-gradient(135deg, var(--gds-accent), var(--gds-success))", width: r = 1, radius: i = 12, className: a }, o) {
160
+ let s = Math.max(0, i - r);
161
+ return /* @__PURE__ */ l("div", {
162
+ ref: o,
163
+ "data-component": "gradient-border",
164
+ className: e(a),
165
+ style: {
166
+ background: n,
167
+ padding: r,
168
+ borderRadius: i
169
+ },
170
+ children: /* @__PURE__ */ l("div", {
171
+ className: "bg-bg",
172
+ style: { borderRadius: s },
173
+ children: t
174
+ })
175
+ });
176
+ }), w = {
177
+ default: {
178
+ container: "gap-1.5",
179
+ dot: "h-2 w-2"
180
+ },
181
+ lg: {
182
+ container: "gap-2",
183
+ dot: "h-3 w-3"
184
+ },
185
+ sm: {
186
+ container: "gap-1",
187
+ dot: "h-1.5 w-1.5"
188
+ }
189
+ }, T = {
190
+ default: {
191
+ bar: "w-1 h-4",
192
+ container: "gap-1 h-4"
193
+ },
194
+ lg: {
195
+ bar: "w-1.5 h-6",
196
+ container: "gap-1.5 h-6"
197
+ },
198
+ sm: {
199
+ bar: "w-0.5 h-3",
200
+ container: "gap-0.5 h-3"
201
+ }
202
+ }, E = {
203
+ default: "h-4 w-4",
204
+ lg: "h-6 w-6",
205
+ sm: "h-3 w-3"
206
+ }, D = {
207
+ default: "h-4 w-4 border-2",
208
+ lg: "h-6 w-6 border-[3px]",
209
+ sm: "h-3 w-3 border-[1.5px]"
210
+ };
211
+ o(function({ className: t, size: n = "default" }, r) {
212
+ let i = w[n];
213
+ return /* @__PURE__ */ l("div", {
214
+ className: e("inline-flex items-center", i.container, t),
215
+ "data-component": "loading-dots",
216
+ ref: r,
217
+ role: "status",
218
+ children: [
219
+ 0,
220
+ 1,
221
+ 2
222
+ ].map((t) => /* @__PURE__ */ l("span", {
223
+ className: e("rounded-full bg-accent", i.dot),
224
+ style: {
225
+ animation: "loading-dots 1.4s infinite ease-in-out both",
226
+ animationDelay: `${t * .16}s`
227
+ }
228
+ }, t))
229
+ });
230
+ });
231
+ var O = o(function({ className: t, size: n = "default" }, r) {
232
+ let i = T[n];
233
+ return /* @__PURE__ */ l("div", {
234
+ className: e("inline-flex items-center", i.container, t),
235
+ "data-component": "loading-bars",
236
+ ref: r,
237
+ role: "status",
238
+ children: [
239
+ 0,
240
+ 1,
241
+ 2,
242
+ 3,
243
+ 4
244
+ ].map((t) => /* @__PURE__ */ l("span", {
245
+ className: e("rounded-sm bg-accent", i.bar),
246
+ style: {
247
+ animation: "loading-bars 1.2s infinite ease-in-out",
248
+ animationDelay: `${t * .1}s`
249
+ }
250
+ }, t))
251
+ });
252
+ }), k = o(function({ className: t, size: n = "default" }, r) {
253
+ return /* @__PURE__ */ l("div", {
254
+ className: e("inline-flex items-center justify-center", t),
255
+ "data-component": "loading-pulse",
256
+ ref: r,
257
+ role: "status",
258
+ children: /* @__PURE__ */ l("span", {
259
+ className: e("rounded-full bg-accent", E[n]),
260
+ style: { animation: "loading-pulse 2s infinite ease-in-out" }
261
+ })
262
+ });
263
+ }), A = o(function({ className: t, size: n = "default" }, r) {
264
+ return /* @__PURE__ */ l("div", {
265
+ className: e("inline-flex items-center justify-center", t),
266
+ "data-component": "loading-ring",
267
+ ref: r,
268
+ role: "status",
269
+ children: /* @__PURE__ */ l("span", { className: e("animate-spin rounded-full border-accent border-t-transparent", D[n]) })
270
+ });
271
+ }), j = o(function({ className: t, size: n = "default" }, r) {
272
+ let i = w[n];
273
+ return /* @__PURE__ */ l("div", {
274
+ className: e("inline-flex items-end", i.container, t),
275
+ "data-component": "loading-wave",
276
+ ref: r,
277
+ role: "status",
278
+ children: [
279
+ 0,
280
+ 1,
281
+ 2,
282
+ 3,
283
+ 4
284
+ ].map((t) => /* @__PURE__ */ l("span", {
285
+ className: e("rounded-full bg-fg-muted", i.dot),
286
+ style: {
287
+ animation: "loading-wave 1.2s infinite ease-in-out",
288
+ animationDelay: `${t * .1}s`
289
+ }
290
+ }, t))
291
+ });
292
+ }), M = "flex items-center justify-center select-none px-2 text-fg-muted hover:text-fg hover:bg-bg-tertiary transition-colors disabled:cursor-not-allowed disabled:opacity-50", N = o(function({ direction: t, disabled: n, onClick: r }, i) {
293
+ let a = t === "decrement";
294
+ return /* @__PURE__ */ l("button", {
295
+ ref: i,
296
+ "aria-label": t,
297
+ className: e(M, a ? "rounded-l-[inherit] border-r border-border" : "rounded-r-[inherit] border-l border-border"),
298
+ disabled: n,
299
+ onClick: r,
300
+ tabIndex: -1,
301
+ type: "button",
302
+ children: a ? "-" : "+"
303
+ });
304
+ }), P = n("flex items-center gds-radius-input border bg-bg text-fg transition-colors [&:has(input:focus-visible)]:ring-2 [&:has(input:focus-visible)]:ring-accent [&:has(input:focus-visible)]:ring-offset-1 [&:has(input:focus-visible)]:ring-offset-bg", {
305
+ compoundVariants: [{
306
+ error: !0,
307
+ className: "[&:has(input:focus-visible)]:ring-danger"
308
+ }],
309
+ defaultVariants: {
310
+ error: !1,
311
+ inputSize: "default"
312
+ },
313
+ variants: {
314
+ error: {
315
+ false: "border-border hover:border-border-strong",
316
+ true: "border-danger"
317
+ },
318
+ inputSize: {
319
+ default: "gds-h gds-text-body",
320
+ sm: "gds-h-sm gds-text-label"
321
+ }
322
+ }
323
+ });
324
+ function F(e, t, n) {
325
+ let r = e;
326
+ return t !== void 0 && r < t && (r = t), n !== void 0 && r > n && (r = n), r;
327
+ }
328
+ var I = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o, max: c, min: d, onChange: f, placeholder: p, step: m = 1, value: h }, g) {
329
+ let _ = s(() => {
330
+ f(F((h ?? 0) - m, d, c));
331
+ }, [
332
+ h,
333
+ m,
334
+ d,
335
+ c,
336
+ f
337
+ ]), v = s(() => {
338
+ f(F((h ?? 0) + m, d, c));
339
+ }, [
340
+ h,
341
+ m,
342
+ d,
343
+ c,
344
+ f
345
+ ]), y = s((e) => {
346
+ let t = e.target.value;
347
+ if (t === "") {
348
+ f(null);
349
+ return;
350
+ }
351
+ let n = Number(t);
352
+ Number.isNaN(n) || f(F(n, d, c));
353
+ }, [
354
+ d,
355
+ c,
356
+ f
357
+ ]), b = s((e) => {
358
+ e.key === "ArrowUp" && (e.preventDefault(), v()), e.key === "ArrowDown" && (e.preventDefault(), _());
359
+ }, [v, _]);
360
+ return /* @__PURE__ */ u("div", {
361
+ className: e(P({
362
+ error: i,
363
+ inputSize: o
364
+ }), t(a), a === !0 && "border-white/10 bg-bg/60", r === !0 && "cursor-not-allowed opacity-50", n),
365
+ "data-component": "number-input",
366
+ children: [
367
+ /* @__PURE__ */ l(N, {
368
+ direction: "decrement",
369
+ disabled: r,
370
+ onClick: _
371
+ }),
372
+ /* @__PURE__ */ l("input", {
373
+ className: e("min-w-0 flex-1 bg-transparent text-center outline-none placeholder:text-fg-muted/50", "[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"),
374
+ disabled: r,
375
+ onChange: y,
376
+ onKeyDown: b,
377
+ placeholder: p,
378
+ ref: g,
379
+ type: "number",
380
+ value: h ?? ""
381
+ }),
382
+ /* @__PURE__ */ l(N, {
383
+ direction: "increment",
384
+ disabled: r,
385
+ onClick: v
386
+ })
387
+ ]
388
+ });
389
+ }), L = o(function({ visible: n, glass: r, onClick: i, className: a }, o) {
390
+ return n ? /* @__PURE__ */ l("div", {
391
+ className: e("fixed inset-0 z-40", r === !0 ? t(!0) : "bg-black/50", a),
392
+ "data-component": "screen-overlay",
393
+ onClick: i,
394
+ ref: o
395
+ }) : null;
396
+ }), R = o(function(e, t) {
397
+ return a(/* @__PURE__ */ l(L, {
398
+ ref: t,
399
+ ...e
400
+ }));
401
+ }), z = o(function({ children: t, className: n, maxHeight: r, orientation: i = "vertical", style: a, ...o }, s) {
402
+ return /* @__PURE__ */ l("div", {
403
+ className: e(i === "vertical" && "overflow-x-hidden overflow-y-auto", i === "horizontal" && "overflow-x-auto overflow-y-hidden", i === "both" && "overflow-auto", n),
404
+ "data-component": "scroll-area",
405
+ ref: s,
406
+ style: {
407
+ ...a,
408
+ maxHeight: r === void 0 ? void 0 : typeof r == "number" ? `${r}px` : r
409
+ },
410
+ ...o,
411
+ children: t
412
+ });
413
+ }), B = o(function({ className: t, height: n = "20px", rounded: r = !1, width: i = "100%", ...a }, o) {
414
+ return /* @__PURE__ */ l("div", {
415
+ className: e("relative overflow-hidden bg-fg-muted/10", r ? "rounded-full" : "rounded-md", t),
416
+ "data-component": "shimmer",
417
+ ref: o,
418
+ style: {
419
+ width: i,
420
+ height: n
421
+ },
422
+ ...a,
423
+ children: /* @__PURE__ */ l("div", { className: "absolute inset-0 animate-[shimmer_1.5s_ease-in-out_infinite] bg-gradient-to-r from-transparent via-fg-muted/5 to-transparent" })
424
+ });
425
+ }), V = o(function({ targetId: t = "main-content", label: n = "Skip to content", className: r }, i) {
426
+ return /* @__PURE__ */ l("a", {
427
+ ref: i,
428
+ className: e("absolute left-2 top-2 z-50 -translate-y-full rounded bg-accent px-3 py-2 text-sm font-medium text-accent-fg transition-transform focus:translate-y-0 focus:outline-none", r),
429
+ "data-component": "skip-nav",
430
+ href: `#${t}`,
431
+ children: n
432
+ });
433
+ }), H = o(function({ className: t, disabled: n = !1, max: r = 100, min: a = 0, onChange: o, step: s = 1, value: c = 0, ...d }, f) {
434
+ return /* @__PURE__ */ u("div", {
435
+ className: e("flex items-center gap-3", t),
436
+ "data-component": "slider",
437
+ ...d,
438
+ children: [/* @__PURE__ */ l("input", {
439
+ className: e("h-1.5 w-full cursor-pointer appearance-none rounded-full bg-bg-tertiary accent-accent", n && "cursor-not-allowed opacity-50", i),
440
+ disabled: n,
441
+ max: r,
442
+ min: a,
443
+ onChange: (e) => o?.(Number(e.target.value)),
444
+ ref: f,
445
+ step: s,
446
+ type: "range",
447
+ value: c
448
+ }), /* @__PURE__ */ l("span", {
449
+ className: "w-8 shrink-0 text-right font-mono text-xs text-fg-muted tabular-nums",
450
+ children: c
451
+ })]
452
+ });
453
+ }), U = o(function({ children: t, lines: n = 1, expanded: r = !1, onToggle: i, className: a }, o) {
454
+ let s = !r, c = n === 1, u = i !== void 0, d = !c && s ? {
455
+ display: "-webkit-box",
456
+ WebkitLineClamp: n,
457
+ WebkitBoxOrient: "vertical",
458
+ overflow: "hidden"
459
+ } : void 0;
460
+ return /* @__PURE__ */ l("div", {
461
+ ref: o,
462
+ className: e(c && s && "truncate", u && "cursor-pointer", a),
463
+ style: d,
464
+ onClick: u ? i : void 0,
465
+ "data-component": "truncate",
466
+ "data-expanded": r ? "true" : void 0,
467
+ role: u ? "button" : void 0,
468
+ tabIndex: u ? 0 : void 0,
469
+ children: t
470
+ });
471
+ }), W = o(function({ as: t = "span", children: n, className: i }, a) {
472
+ return /* @__PURE__ */ l(t, {
473
+ ref: a,
474
+ className: e(r, i),
475
+ "data-component": "visually-hidden",
476
+ children: n
477
+ });
478
+ });
479
+ //#endregion
480
+ export { f as C, m as S, y as _, B as a, g as b, I as c, k as d, A as f, b as g, S as h, V as i, P as l, C as m, U as n, z as o, j as p, H as r, R as s, W as t, O as u, v, d as w, h as x, _ as y };
481
+
482
+ //# sourceMappingURL=l2-primitives-CqrezrJ4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l2-primitives-CqrezrJ4.js","names":[],"sources":["../src/l2-primitives/anchor.tsx","../src/l2-primitives/badge-dot.tsx","../src/l2-primitives/container.tsx","../src/l2-primitives/divider.tsx","../src/l2-primitives/dot.tsx","../src/l2-primitives/focus-ring.tsx","../src/l2-primitives/glow-effect.tsx","../src/l2-primitives/gradient-border.tsx","../src/l2-primitives/loading.tsx","../src/l2-primitives/number-stepper.tsx","../src/l2-primitives/number-input.tsx","../src/l2-primitives/screen-overlay.tsx","../src/l2-primitives/scroll-area.tsx","../src/l2-primitives/shimmer.tsx","../src/l2-primitives/skip-nav.tsx","../src/l2-primitives/slider.tsx","../src/l2-primitives/truncate.tsx","../src/l2-primitives/visually-hidden.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst anchorVariants = cva(\n 'inline-flex items-center gds-gap-xs underline-offset-2 transition-colors hover:underline ' +\n focusCls,\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n default: 'text-accent hover:text-accent/80',\n muted: 'text-fg-muted hover:text-fg',\n },\n },\n },\n)\n\ntype AnchorProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n VariantProps<typeof anchorVariants> & {\n external?: boolean\n externalIcon?: ReactNode\n }\n\nexport const Anchor = forwardRef<HTMLAnchorElement, AnchorProps>(\n function Anchor(\n { children, className, external = false, externalIcon, variant, ...props },\n ref,\n ) {\n return (\n <a\n className={cx(anchorVariants({ variant }), className)}\n data-component=\"anchor\"\n ref={ref}\n {...(external && {\n rel: 'noopener noreferrer',\n target: '_blank',\n })}\n {...props}\n >\n {children}\n {external && externalIcon !== undefined && (\n <span className=\"gds-icon-child-xs\">{externalIcon}</span>\n )}\n </a>\n )\n },\n)\n\nexport { anchorVariants }\nexport type { AnchorProps }\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nconst colorMap = {\n accent: 'bg-accent',\n danger: 'bg-danger',\n success: 'bg-success',\n} as const\n\ntype BadgeDotProps = React.HTMLAttributes<HTMLDivElement> & {\n children: ReactNode\n color?: 'accent' | 'danger' | 'success'\n show?: boolean\n}\n\nexport const BadgeDot = forwardRef<HTMLDivElement, BadgeDotProps>(\n function BadgeDot({ children, className, color = 'danger', show = true, ...props }, ref) {\n return (\n <div\n className={cx('relative inline-flex', className)}\n data-component=\"badge-dot\"\n ref={ref}\n {...props}\n >\n {children}\n {show && (\n <span\n className={cx('absolute -right-0.5 -top-0.5 h-1.5 w-1.5 rounded-full', colorMap[color])}\n />\n )}\n </div>\n )\n },\n)\n\nexport type { BadgeDotProps }\n","// container — responsive max-width wrapper with size variants\nimport { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst containerVariants = cva('mx-auto w-full px-4', {\n defaultVariants: { size: 'default' },\n variants: {\n size: {\n default: 'max-w-screen-md',\n full: 'max-w-full',\n lg: 'max-w-screen-lg',\n sm: 'max-w-screen-sm',\n xl: 'max-w-screen-xl',\n },\n },\n})\n\ntype ContainerProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof containerVariants> & {\n children: ReactNode\n }\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n function Container({ children, className, size, ...props }, ref) {\n return (\n <div\n className={cx(containerVariants({ size }), className)}\n data-component=\"container\"\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n\nexport { containerVariants }\nexport type { ContainerProps }\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype DividerProps = React.HTMLAttributes<HTMLDivElement> & {\n icon?: ReactNode\n orientation?: 'horizontal' | 'vertical'\n}\n\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n function Divider({ className, icon, orientation = 'horizontal', ...props }, ref) {\n if (orientation === 'vertical') {\n return (\n <div\n className={cx('inline-flex h-full flex-col items-center', icon !== undefined && 'gds-gap-sm', className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n >\n {icon !== undefined ? (\n <>\n <div className=\"flex-1 border-l border-border\" />\n <span className=\"shrink-0 text-fg-muted/50 gds-icon-child-sm\">{icon}</span>\n <div className=\"flex-1 border-l border-border\" />\n </>\n ) : (\n <div className=\"h-full border-l border-border\" />\n )}\n </div>\n )\n }\n\n if (icon !== undefined) {\n return (\n <div\n className={cx('flex items-center gds-gap-sm', className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n >\n <div className=\"flex-1 border-t border-border\" />\n <span className=\"shrink-0 text-fg-muted/50 gds-icon-child-sm\">{icon}</span>\n <div className=\"flex-1 border-t border-border\" />\n </div>\n )\n }\n\n return (\n <div\n className={cx('h-px w-full bg-border/50', className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n />\n )\n },\n)\n\nexport type { DividerProps }\n","import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst dotVariants = cva('inline-block shrink-0 gds-radius-badge', {\n defaultVariants: {\n color: 'accent',\n size: 'default',\n },\n variants: {\n color: {\n accent: 'bg-accent',\n danger: 'bg-danger',\n muted: 'bg-fg-muted/30',\n success: 'bg-success',\n warning: 'bg-warning',\n },\n size: {\n default: 'h-2 w-2',\n lg: 'h-3 w-3',\n sm: 'h-1.5 w-1.5',\n },\n },\n})\n\ntype DotProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof dotVariants> & {\n label?: string\n pulse?: boolean\n }\n\nexport const Dot = forwardRef<HTMLSpanElement, DotProps>(\n function Dot({ className, color, label, pulse = false, size, ...props }, ref) {\n return (\n <span\n className={cx('relative inline-flex items-center', label !== undefined && 'gds-gap-sm', className)}\n data-component=\"dot\"\n ref={ref}\n {...props}\n >\n <span className={dotVariants({ color, size })} />\n {pulse && (\n <span\n className={cx(\n 'absolute inset-0 animate-ping gds-radius-badge opacity-40',\n dotVariants({ color, size }),\n )}\n />\n )}\n {label !== undefined && (\n <span className=\"gds-text-label text-fg-muted\">{label}</span>\n )}\n </span>\n )\n },\n)\n\nexport { dotVariants }\nexport type { DotProps }\n","import type { CSSProperties, ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype FocusRingProps = {\n children: ReactNode\n color?: string\n width?: number\n offset?: number\n className?: string\n}\n\nconst FocusRing = forwardRef<HTMLSpanElement, FocusRingProps>(function FocusRing(\n { children, color = 'var(--gds-accent)', width = 2, offset = 2, className },\n ref,\n) {\n const style: CSSProperties = {\n '--focus-ring-color': color,\n '--focus-ring-width': `${width}px`,\n '--focus-ring-offset': `${offset}px`,\n } as CSSProperties\n\n return (\n <span\n ref={ref}\n className={cx(\n 'relative inline-flex [&:focus-within]:outline [&:focus-within]:outline-[length:var(--focus-ring-width)] [&:focus-within]:outline-[color:var(--focus-ring-color)] [&:focus-within]:outline-offset-[var(--focus-ring-offset)]',\n className,\n )}\n data-component=\"focus-ring\"\n style={style}\n >\n {children}\n </span>\n )\n})\n\nexport { FocusRing }\nexport type { FocusRingProps }\n","// glow-effect — container that adds a colored glow/aura behind its content\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype GlowIntensity = 'sm' | 'default' | 'lg'\n\nconst intensityCls: Record<GlowIntensity, string> = {\n sm: 'blur-lg opacity-20',\n default: 'blur-xl opacity-30',\n lg: 'blur-2xl opacity-40',\n}\n\nexport type GlowEffectProps = {\n children: React.ReactNode\n color?: string\n intensity?: GlowIntensity\n className?: string\n}\n\nexport const GlowEffect = forwardRef<HTMLDivElement, GlowEffectProps>(\n function GlowEffect(\n { children, color = 'var(--gds-accent)', intensity = 'default', className },\n ref,\n ) {\n return (\n <div ref={ref} data-component=\"glow-effect\" className={cx('relative', className)}>\n <div\n className={cx('absolute inset-0 -z-1 rounded-inherit', intensityCls[intensity])}\n style={{ backgroundColor: color }}\n aria-hidden\n />\n {children}\n </div>\n )\n },\n)\n","// gradient-border — container with a gradient border via background-clip trick\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nexport type GradientBorderProps = {\n children: React.ReactNode\n gradient?: string\n width?: number\n radius?: number\n className?: string\n}\n\nexport const GradientBorder = forwardRef<HTMLDivElement, GradientBorderProps>(\n function GradientBorder(\n {\n children,\n gradient = 'linear-gradient(135deg, var(--gds-accent), var(--gds-success))',\n width = 1,\n radius = 12,\n className,\n },\n ref,\n ) {\n const innerRadius = Math.max(0, radius - width)\n\n return (\n <div\n ref={ref}\n data-component=\"gradient-border\"\n className={cx(className)}\n style={{ background: gradient, padding: width, borderRadius: radius }}\n >\n <div\n className=\"bg-bg\"\n style={{ borderRadius: innerRadius }}\n >\n {children}\n </div>\n </div>\n )\n },\n)\n","// loading — loading indicator variants (dots, bars, pulse, ring, wave)\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype LoadingSize = 'default' | 'lg' | 'sm'\n\ntype LoadingProps = {\n className?: string\n size?: LoadingSize\n}\n\nconst sizeClasses: Record<LoadingSize, { container: string; dot: string }> = {\n default: { container: 'gap-1.5', dot: 'h-2 w-2' },\n lg: { container: 'gap-2', dot: 'h-3 w-3' },\n sm: { container: 'gap-1', dot: 'h-1.5 w-1.5' },\n}\n\nconst barSizeClasses: Record<LoadingSize, { bar: string; container: string }> = {\n default: { bar: 'w-1 h-4', container: 'gap-1 h-4' },\n lg: { bar: 'w-1.5 h-6', container: 'gap-1.5 h-6' },\n sm: { bar: 'w-0.5 h-3', container: 'gap-0.5 h-3' },\n}\n\nconst pulseSizeClasses: Record<LoadingSize, string> = {\n default: 'h-4 w-4',\n lg: 'h-6 w-6',\n sm: 'h-3 w-3',\n}\n\nconst ringSizeClasses: Record<LoadingSize, string> = {\n default: 'h-4 w-4 border-2',\n lg: 'h-6 w-6 border-[3px]',\n sm: 'h-3 w-3 border-[1.5px]',\n}\n\nexport const LoadingDots = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingDots({ className, size = 'default' }, ref) {\n const s = sizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-center', s.container, className)}\n data-component=\"loading-dots\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2].map((i) => (\n <span\n className={cx('rounded-full bg-accent', s.dot)}\n key={i}\n style={{\n animation: 'loading-dots 1.4s infinite ease-in-out both',\n animationDelay: `${i * 0.16}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport const LoadingBars = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingBars({ className, size = 'default' }, ref) {\n const s = barSizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-center', s.container, className)}\n data-component=\"loading-bars\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2, 3, 4].map((i) => (\n <span\n className={cx('rounded-sm bg-accent', s.bar)}\n key={i}\n style={{\n animation: 'loading-bars 1.2s infinite ease-in-out',\n animationDelay: `${i * 0.1}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport const LoadingPulse = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingPulse({ className, size = 'default' }, ref) {\n return (\n <div\n className={cx('inline-flex items-center justify-center', className)}\n data-component=\"loading-pulse\"\n ref={ref}\n role=\"status\"\n >\n <span\n className={cx('rounded-full bg-accent', pulseSizeClasses[size])}\n style={{ animation: 'loading-pulse 2s infinite ease-in-out' }}\n />\n </div>\n )\n },\n)\n\nexport const LoadingRing = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingRing({ className, size = 'default' }, ref) {\n return (\n <div\n className={cx('inline-flex items-center justify-center', className)}\n data-component=\"loading-ring\"\n ref={ref}\n role=\"status\"\n >\n <span\n className={cx(\n 'animate-spin rounded-full border-accent border-t-transparent',\n ringSizeClasses[size],\n )}\n />\n </div>\n )\n },\n)\n\nexport const LoadingWave = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingWave({ className, size = 'default' }, ref) {\n const s = sizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-end', s.container, className)}\n data-component=\"loading-wave\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2, 3, 4].map((i) => (\n <span\n className={cx('rounded-full bg-fg-muted', s.dot)}\n key={i}\n style={{\n animation: 'loading-wave 1.2s infinite ease-in-out',\n animationDelay: `${i * 0.1}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport type { LoadingProps, LoadingSize }\n","// number-stepper — increment/decrement buttons for number-input\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype NumberStepperProps = {\n direction: 'decrement' | 'increment'\n disabled?: boolean\n onClick: () => void\n}\n\nconst btnBase =\n 'flex items-center justify-center select-none px-2 text-fg-muted hover:text-fg hover:bg-bg-tertiary transition-colors disabled:cursor-not-allowed disabled:opacity-50'\n\nconst NumberStepper = forwardRef<HTMLButtonElement, NumberStepperProps>(function NumberStepper(\n { direction, disabled, onClick },\n ref,\n) {\n const isDecrement = direction === 'decrement'\n return (\n <button\n ref={ref}\n aria-label={direction}\n className={cx(\n btnBase,\n isDecrement ? 'rounded-l-[inherit] border-r border-border' : 'rounded-r-[inherit] border-l border-border',\n )}\n disabled={disabled}\n onClick={onClick}\n tabIndex={-1}\n type=\"button\"\n >\n {isDecrement ? '-' : '+'}\n </button>\n )\n})\n\nexport { NumberStepper }\nexport type { NumberStepperProps }\n","import { cva } from 'class-variance-authority'\nimport { forwardRef, useCallback } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\nimport { NumberStepper } from './number-stepper'\n\nconst numberInputVariants = cva(\n 'flex items-center gds-radius-input border bg-bg text-fg transition-colors ' +\n '[&:has(input:focus-visible)]:ring-2 [&:has(input:focus-visible)]:ring-accent [&:has(input:focus-visible)]:ring-offset-1 [&:has(input:focus-visible)]:ring-offset-bg',\n {\n compoundVariants: [\n {\n error: true,\n className:\n '[&:has(input:focus-visible)]:ring-danger',\n },\n ],\n defaultVariants: {\n error: false,\n inputSize: 'default',\n },\n variants: {\n error: {\n false: 'border-border hover:border-border-strong',\n true: 'border-danger',\n },\n inputSize: {\n default: 'gds-h gds-text-body',\n sm: 'gds-h-sm gds-text-label',\n },\n },\n },\n)\n\ntype NumberInputProps = VariantProps<typeof numberInputVariants> & {\n className?: string\n disabled?: boolean\n glass?: boolean\n max?: number\n min?: number\n onChange: (value: number | null) => void\n placeholder?: string\n step?: number\n value: number | null\n}\n\nfunction clamp(val: number, min?: number, max?: number): number {\n let result = val\n if (min !== undefined && result < min) {\n result = min\n }\n if (max !== undefined && result > max) {\n result = max\n }\n return result\n}\n\nconst NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n function NumberInput(\n { className, disabled, error, glass, inputSize, max, min, onChange, placeholder, step = 1, value },\n ref,\n ) {\n const handleDecrement = useCallback(() => {\n const base = value ?? 0\n onChange(clamp(base - step, min, max))\n }, [value, step, min, max, onChange])\n\n const handleIncrement = useCallback(() => {\n const base = value ?? 0\n onChange(clamp(base + step, min, max))\n }, [value, step, min, max, onChange])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value\n if (raw === '') {\n onChange(null)\n return\n }\n const parsed = Number(raw)\n if (Number.isNaN(parsed)) {\n return\n }\n onChange(clamp(parsed, min, max))\n },\n [min, max, onChange],\n )\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n handleIncrement()\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n handleDecrement()\n }\n },\n [handleIncrement, handleDecrement],\n )\n\n return (\n <div\n className={cx(\n numberInputVariants({ error, inputSize }),\n glassClass(glass),\n glass === true && 'border-white/10 bg-bg/60',\n disabled === true && 'cursor-not-allowed opacity-50',\n className,\n )}\n data-component=\"number-input\"\n >\n <NumberStepper direction=\"decrement\" disabled={disabled} onClick={handleDecrement} />\n <input\n className={cx(\n 'min-w-0 flex-1 bg-transparent text-center outline-none placeholder:text-fg-muted/50',\n '[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none',\n )}\n disabled={disabled}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={ref}\n type=\"number\"\n value={value ?? ''}\n />\n <NumberStepper direction=\"increment\" disabled={disabled} onClick={handleIncrement} />\n </div>\n )\n },\n)\n\nexport { NumberInput,numberInputVariants }\nexport type { NumberInputProps }\n","import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport { renderPortal } from '../utils/portal'\n\ntype ScreenOverlayProps = {\n visible: boolean\n glass?: boolean\n onClick?: () => void\n className?: string\n}\n\nconst ScreenOverlayInner = forwardRef<HTMLDivElement, ScreenOverlayProps>(\n function ScreenOverlayInner({ visible, glass, onClick, className }, ref) {\n if (!visible) return null\n\n return (\n <div\n className={cx(\n 'fixed inset-0 z-40',\n glass === true ? glassClass(true) : 'bg-black/50',\n className,\n )}\n data-component=\"screen-overlay\"\n onClick={onClick}\n ref={ref}\n />\n )\n },\n)\n\nexport const ScreenOverlay = forwardRef<HTMLDivElement, ScreenOverlayProps>(\n function ScreenOverlay(props, ref) {\n return renderPortal(<ScreenOverlayInner ref={ref} {...props} />)\n },\n)\n\nexport type { ScreenOverlayProps }\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype ScrollAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n children: ReactNode\n maxHeight?: number | string\n orientation?: 'both' | 'horizontal' | 'vertical'\n}\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(\n function ScrollArea(\n { children, className, maxHeight, orientation = 'vertical', style, ...props },\n ref,\n ) {\n return (\n <div\n className={cx(\n orientation === 'vertical' && 'overflow-x-hidden overflow-y-auto',\n orientation === 'horizontal' && 'overflow-x-auto overflow-y-hidden',\n orientation === 'both' && 'overflow-auto',\n className,\n )}\n data-component=\"scroll-area\"\n ref={ref}\n style={{\n ...style,\n maxHeight:\n maxHeight !== undefined\n ? typeof maxHeight === 'number'\n ? `${maxHeight}px`\n : maxHeight\n : undefined,\n }}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n\nexport type { ScrollAreaProps }\n","// shimmer — skeleton shimmer placeholder effect\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype ShimmerProps = React.HTMLAttributes<HTMLDivElement> & {\n height?: string\n rounded?: boolean\n width?: string\n}\n\nexport const Shimmer = forwardRef<HTMLDivElement, ShimmerProps>(\n function Shimmer({ className, height = '20px', rounded = false, width = '100%', ...props }, ref) {\n return (\n <div\n className={cx(\n 'relative overflow-hidden bg-fg-muted/10',\n rounded ? 'rounded-full' : 'rounded-md',\n className,\n )}\n data-component=\"shimmer\"\n ref={ref}\n style={{ width, height }}\n {...props}\n >\n <div className=\"absolute inset-0 animate-[shimmer_1.5s_ease-in-out_infinite] bg-gradient-to-r from-transparent via-fg-muted/5 to-transparent\" />\n </div>\n )\n },\n)\n\nexport type { ShimmerProps }\n","import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype SkipNavProps = {\n targetId?: string\n label?: string\n className?: string\n}\n\nconst SkipNav = forwardRef<HTMLAnchorElement, SkipNavProps>(function SkipNav(\n { targetId = 'main-content', label = 'Skip to content', className },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={cx(\n 'absolute left-2 top-2 z-50 -translate-y-full rounded bg-accent px-3 py-2 text-sm font-medium text-accent-fg transition-transform focus:translate-y-0 focus:outline-none',\n className,\n )}\n data-component=\"skip-nav\"\n href={`#${targetId}`}\n >\n {label}\n </a>\n )\n})\n\nexport { SkipNav }\nexport type { SkipNavProps }\n","// slider — native range input with value display\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\ntype SliderProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> & {\n disabled?: boolean\n max?: number\n min?: number\n onChange?: (value: number) => void\n step?: number\n value?: number\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n function Slider(\n { className, disabled = false, max = 100, min = 0, onChange, step = 1, value = 0, ...props },\n ref,\n ) {\n return (\n <div className={cx('flex items-center gap-3', className)} data-component=\"slider\" {...props}>\n <input\n className={cx(\n 'h-1.5 w-full cursor-pointer appearance-none rounded-full bg-bg-tertiary accent-accent',\n disabled && 'cursor-not-allowed opacity-50',\n focusCls,\n )}\n disabled={disabled}\n max={max}\n min={min}\n onChange={(e) => onChange?.(Number(e.target.value))}\n ref={ref}\n step={step}\n type=\"range\"\n value={value}\n />\n <span className=\"w-8 shrink-0 text-right font-mono text-xs text-fg-muted tabular-nums\">\n {value}\n </span>\n </div>\n )\n },\n)\n\nexport type { SliderProps }\n","// truncate — text truncation with ellipsis, single or multi-line clamp\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nexport type TruncateProps = {\n children: ReactNode\n lines?: number\n expanded?: boolean\n onToggle?: () => void\n className?: string\n}\n\nexport const Truncate = forwardRef<HTMLDivElement, TruncateProps>(\n function Truncate(\n { children, lines = 1, expanded = false, onToggle, className },\n ref,\n ) {\n const shouldClamp = !expanded\n const isSingleLine = lines === 1\n const isInteractive = onToggle !== undefined\n\n const clampStyle = !isSingleLine && shouldClamp\n ? {\n display: '-webkit-box' as const,\n WebkitLineClamp: lines,\n WebkitBoxOrient: 'vertical' as const,\n overflow: 'hidden' as const,\n }\n : undefined\n\n return (\n <div\n ref={ref}\n className={cx(\n isSingleLine && shouldClamp && 'truncate',\n isInteractive && 'cursor-pointer',\n className,\n )}\n style={clampStyle}\n onClick={isInteractive ? onToggle : undefined}\n data-component=\"truncate\"\n data-expanded={expanded ? 'true' : undefined}\n role={isInteractive ? 'button' : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n >\n {children}\n </div>\n )\n },\n)\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { srOnly } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\ntype VisuallyHiddenProps = {\n as?: 'div' | 'span'\n children: ReactNode\n className?: string\n}\n\nconst VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(function VisuallyHidden(\n { as: Tag = 'span', children, className },\n ref,\n) {\n return (\n <Tag ref={ref as never} className={cx(srOnly, className)} data-component=\"visually-hidden\">\n {children}\n </Tag>\n )\n})\n\nexport { VisuallyHidden }\nexport type { VisuallyHiddenProps }\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, dt as P, et as F, f as I, ft as L, g as R, h as z, i as B, it as V, j as H, k as U, l as W, lt as G, m as K, mt as q, n as J, nt as Y, o as X, ot as Z, p as Q, pt as $, q as ee, r as te, rt as ne, s as re, st as ie, t as ae, tt as oe, u as se, ut as ce, v as le, w as ue, x as de, y as fe, z as pe } from "../l3-atoms-CsN9IA9J.js";
2
+ import { n as me, r as he, t as ge } from "../avatar-By0U5Vts.js";
3
+ import { n as _e, t as ve } from "../resize-handle-CktEYqwi.js";
4
+ import { a as ye, i as be, n as xe, r as Se, t as Ce } from "../switch-DC85Os9r.js";
5
+ import { t as we } from "../loading-dots-fB4X_Zh0.js";
6
+ export { q as AnimatedCounter, $ as AnimatedNumber, ge as Avatar, L as AvatarBadge, me as AvatarGroup, P as Barcode, ce as Blinking, G as BounceDot, _e as Checkbox, M as CheckboxGroup, be as Chip, Z as ColorSwatch, k as CopyButton, V as CountBadge, ne as CountUp, Y as Countdown, F as CountdownBadge, e as CursorFollow, _ as DiffIndicator, E as GlowDot, w as GradientText, T as HeatCell, u as Hotkey, d as InfoTip, s as KeyValue, C as KeyboardShortcut, x as LiveDot, we as LoadingDots, c as MagneticButton, S as Marquee, pe as Meter, v as OnlineIndicator, f as Percentage, l as PercentageCircle, o as Price, g as ProgressCircle, m as ProgressRing, p as PulseIndicator, H as PulseRing, t as QRCode, h as QuickAction, i as RadioGroup, Se as RangeSlider, a as Rating, b as RelativeTime, ve as ResizeHandle, ue as Ribbon, r as RibbonBanner, y as RippleEffect, de as ScrollProgress, A as ScrollToTop, fe as SegmentedControl, le as ShortcutDisplay, D as SkeletonGroup, R as Sparkle, z as StarRating, K as StatusBadge, Q as StatusDot, Ce as Switch, I as SwitchGroup, N as TextBadge, se as TextEffect, W as TextareaCounter, j as ThemeToggle, re as ToggleGroup, ee as Tooltip, X as TrendArrow, O as TruncatedList, B as Typewriter, te as VerifiedBadge, J as VisualCounter, ae as ZoomOnHover, he as avatarVariants, ye as chipVariants, ie as colorSwatchVariants, oe as countdownBadgeVariants, n as meterVariants, U as quickActionVariants, xe as switchVariants };
@@ -5,6 +5,6 @@ type KeyboardShortcutProps = {
5
5
  disabled?: boolean;
6
6
  className?: string;
7
7
  };
8
- export declare function KeyboardShortcut({ keys, onTrigger, showBadge, disabled, className, }: KeyboardShortcutProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare const KeyboardShortcut: import("react").ForwardRefExoticComponent<KeyboardShortcutProps & import("react").RefAttributes<HTMLSpanElement>>;
9
9
  export type { KeyboardShortcutProps };
10
10
  //# sourceMappingURL=keyboard-shortcut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-shortcut.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/keyboard-shortcut.tsx"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAwCD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,SAAS,EACT,SAAiB,EACjB,QAAgB,EAChB,SAAS,GACV,EAAE,qBAAqB,kDAmCvB;AAED,YAAY,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"keyboard-shortcut.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/keyboard-shortcut.tsx"],"names":[],"mappings":"AAMA,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAwCD,eAAO,MAAM,gBAAgB,mHAwC5B,CAAA;AAED,YAAY,EAAE,qBAAqB,EAAE,CAAA"}
@@ -5,5 +5,5 @@ export type SparkleProps = {
5
5
  color?: string;
6
6
  className?: string;
7
7
  };
8
- export declare function Sparkle({ children, active, count, color, className, }: SparkleProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare const Sparkle: import("react").ForwardRefExoticComponent<SparkleProps & import("react").RefAttributes<HTMLSpanElement>>;
9
9
  //# sourceMappingURL=sparkle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sparkle.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/sparkle.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAsBD,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,MAAa,EACb,KAAS,EACT,KAA2B,EAC3B,SAAS,GACV,EAAE,YAAY,2CA4Bd"}
1
+ {"version":3,"file":"sparkle.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/sparkle.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAsBD,eAAO,MAAM,OAAO,0GAiCnB,CAAA"}