@goliapkg/gds 0.9.3 → 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 (126) 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 -18594
  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.d.ts +0 -14
  37. package/dist/l3-atoms/index.d.ts.map +1 -1
  38. package/dist/l3-atoms/index.js +6 -0
  39. package/dist/l3-atoms/keyboard-shortcut.d.ts +1 -1
  40. package/dist/l3-atoms/keyboard-shortcut.d.ts.map +1 -1
  41. package/dist/l3-atoms/sparkle.d.ts +1 -1
  42. package/dist/l3-atoms/sparkle.d.ts.map +1 -1
  43. package/dist/l3-atoms-CsN9IA9J.js +1794 -0
  44. package/dist/l3-atoms-CsN9IA9J.js.map +1 -0
  45. package/dist/l4-molecules/dialog.d.ts.map +1 -1
  46. package/dist/l4-molecules/editable.d.ts.map +1 -0
  47. package/dist/l4-molecules/index.d.ts +12 -4
  48. package/dist/l4-molecules/index.d.ts.map +1 -1
  49. package/dist/l4-molecules/index.js +4 -0
  50. package/dist/l4-molecules/overflow-menu.d.ts.map +1 -0
  51. package/dist/l4-molecules/pin-input.d.ts.map +1 -0
  52. package/dist/l4-molecules/popover.d.ts.map +1 -0
  53. package/dist/l4-molecules/split-button.d.ts.map +1 -0
  54. package/dist/l4-molecules/tag-input.d.ts.map +1 -0
  55. package/dist/l4-molecules-DCc074MJ.js +4048 -0
  56. package/dist/l4-molecules-DCc074MJ.js.map +1 -0
  57. package/dist/l5-organisms/command-palette.d.ts.map +1 -1
  58. package/dist/l5-organisms/confetti.d.ts.map +1 -1
  59. package/dist/l5-organisms/cookie-banner.d.ts.map +1 -1
  60. package/dist/l5-organisms/image-preview.d.ts.map +1 -1
  61. package/dist/l5-organisms/index.d.ts +2 -0
  62. package/dist/l5-organisms/index.d.ts.map +1 -1
  63. package/dist/l5-organisms/index.js +2 -0
  64. package/dist/l5-organisms/notification-toast.d.ts.map +1 -1
  65. package/dist/{l4-molecules → l5-organisms}/sortable-table.d.ts.map +1 -1
  66. package/dist/l5-organisms-8KB_8a-H.js +3798 -0
  67. package/dist/l5-organisms-8KB_8a-H.js.map +1 -0
  68. package/dist/l6-charts/candlestick-chart.d.ts.map +1 -1
  69. package/dist/l6-charts/index.js +2 -0
  70. package/dist/l6-charts-DYnr5B9X.js +1743 -0
  71. package/dist/l6-charts-DYnr5B9X.js.map +1 -0
  72. package/dist/l7-patterns/index.js +2 -0
  73. package/dist/l7-patterns-DZXveS4Y.js +1826 -0
  74. package/dist/l7-patterns-DZXveS4Y.js.map +1 -0
  75. package/dist/loading-dots-fB4X_Zh0.js +24 -0
  76. package/dist/loading-dots-fB4X_Zh0.js.map +1 -0
  77. package/dist/motion-DUPegem-.js +22 -0
  78. package/dist/motion-DUPegem-.js.map +1 -0
  79. package/dist/portal-Bbl6F_Wj.js +9 -0
  80. package/dist/portal-Bbl6F_Wj.js.map +1 -0
  81. package/dist/progress-wAKN3Czz.js +44 -0
  82. package/dist/progress-wAKN3Czz.js.map +1 -0
  83. package/dist/resize-handle-CktEYqwi.js +77 -0
  84. package/dist/resize-handle-CktEYqwi.js.map +1 -0
  85. package/dist/scales-C80FTPsL.js +1299 -0
  86. package/dist/scales-C80FTPsL.js.map +1 -0
  87. package/dist/separator-Dqs23A9D.js +65 -0
  88. package/dist/separator-Dqs23A9D.js.map +1 -0
  89. package/dist/skeleton-C9FFZSYN.js +43 -0
  90. package/dist/skeleton-C9FFZSYN.js.map +1 -0
  91. package/dist/spinner-D8Ti-TFe.js +101 -0
  92. package/dist/spinner-D8Ti-TFe.js.map +1 -0
  93. package/dist/stepper-DhpGORX8.js +140 -0
  94. package/dist/stepper-DhpGORX8.js.map +1 -0
  95. package/dist/switch-DC85Os9r.js +130 -0
  96. package/dist/switch-DC85Os9r.js.map +1 -0
  97. package/dist/textarea-BJCl_aH2.js +40 -0
  98. package/dist/textarea-BJCl_aH2.js.map +1 -0
  99. package/dist/toast-DN5xANLM.js +442 -0
  100. package/dist/toast-DN5xANLM.js.map +1 -0
  101. package/dist/use-theme-C0aWVw70.js +203 -0
  102. package/dist/use-theme-C0aWVw70.js.map +1 -0
  103. package/dist/utils/index.d.ts +1 -0
  104. package/dist/utils/index.d.ts.map +1 -1
  105. package/dist/utils/index.js +7 -0
  106. package/dist/utils/portal.d.ts +3 -0
  107. package/dist/utils/portal.d.ts.map +1 -0
  108. package/package.json +37 -1
  109. package/dist/index.js.map +0 -1
  110. package/dist/l3-atoms/editable.d.ts.map +0 -1
  111. package/dist/l3-atoms/overflow-menu.d.ts.map +0 -1
  112. package/dist/l3-atoms/pin-input.d.ts.map +0 -1
  113. package/dist/l3-atoms/popover.d.ts.map +0 -1
  114. package/dist/l3-atoms/split-button.d.ts.map +0 -1
  115. package/dist/l3-atoms/tag-input.d.ts.map +0 -1
  116. package/dist/l3-atoms/time-since.d.ts +0 -9
  117. package/dist/l3-atoms/time-since.d.ts.map +0 -1
  118. package/dist/l4-molecules/otp-input.d.ts +0 -11
  119. package/dist/l4-molecules/otp-input.d.ts.map +0 -1
  120. /package/dist/{l3-atoms → l4-molecules}/editable.d.ts +0 -0
  121. /package/dist/{l3-atoms → l4-molecules}/overflow-menu.d.ts +0 -0
  122. /package/dist/{l3-atoms → l4-molecules}/pin-input.d.ts +0 -0
  123. /package/dist/{l3-atoms → l4-molecules}/popover.d.ts +0 -0
  124. /package/dist/{l3-atoms → l4-molecules}/split-button.d.ts +0 -0
  125. /package/dist/{l3-atoms → l4-molecules}/tag-input.d.ts +0 -0
  126. /package/dist/{l4-molecules → l5-organisms}/sortable-table.d.ts +0 -0
@@ -0,0 +1,1826 @@
1
+ import { r as e, t } from "./glass-CQTlX7IO.js";
2
+ import { t as n } from "./button-avu-rQU4.js";
3
+ import { r, t as i } from "./separator-Dqs23A9D.js";
4
+ import { i as a, r as o, t as s } from "./spinner-D8Ti-TFe.js";
5
+ import { t as c } from "./progress-wAKN3Czz.js";
6
+ import { t as l } from "./skeleton-C9FFZSYN.js";
7
+ import { t as u } from "./avatar-By0U5Vts.js";
8
+ import { n as d, t as f } from "./resize-handle-CktEYqwi.js";
9
+ import { i as p, n as m, r as h, t as g } from "./stepper-DhpGORX8.js";
10
+ import { Children as _, forwardRef as v, useCallback as y, useEffect as b, useRef as x, useState as S } from "react";
11
+ import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
12
+ //#region src/l7-patterns/action-bar.tsx
13
+ var ee = {
14
+ between: "justify-between",
15
+ center: "justify-center",
16
+ end: "justify-end",
17
+ start: "justify-start"
18
+ }, te = v(function({ children: n, className: r, glass: i = !0, justify: a = "end", position: o = "bottom" }, s) {
19
+ return /* @__PURE__ */ w("div", {
20
+ ref: s,
21
+ className: e("sticky z-10 flex items-center gds-pad-x-lg gds-pad-y", o === "bottom" ? "bottom-0 border-t" : "top-0 border-b", ee[a], i === !0 ? e(t(i), "border-white/10 bg-bg/60") : "border-border bg-surface", r),
22
+ "data-component": "action-bar",
23
+ children: n
24
+ });
25
+ }), ne = v(function({ sidebar: t, topbar: n, children: r, sidebarWidth: i = 240, className: a }, o) {
26
+ return /* @__PURE__ */ T("div", {
27
+ ref: o,
28
+ className: e("flex h-screen min-h-0 bg-bg", a),
29
+ "data-component": "admin-layout",
30
+ children: [/* @__PURE__ */ w("aside", {
31
+ className: "shrink-0 overflow-y-auto border-r border-border bg-surface",
32
+ style: { width: i },
33
+ children: t
34
+ }), /* @__PURE__ */ T("div", {
35
+ className: "flex flex-1 flex-col min-w-0",
36
+ children: [n !== void 0 && /* @__PURE__ */ w("header", {
37
+ className: "sticky top-0 z-10 shrink-0 border-b border-border bg-surface/80 backdrop-blur-sm",
38
+ children: n
39
+ }), /* @__PURE__ */ w("main", {
40
+ className: "flex-1 overflow-auto",
41
+ children: r
42
+ })]
43
+ })]
44
+ });
45
+ }), re = v(function({ charts: t, className: n, data: r, metrics: i }, a) {
46
+ return /* @__PURE__ */ T("div", {
47
+ className: e("flex flex-col gds-gap", n),
48
+ "data-component": "analytics-dashboard",
49
+ ref: a,
50
+ children: [
51
+ i !== void 0 && /* @__PURE__ */ w("section", {
52
+ className: "flex flex-wrap gds-gap",
53
+ "data-slot": "metrics",
54
+ children: i
55
+ }),
56
+ t !== void 0 && /* @__PURE__ */ w("section", {
57
+ className: "flex flex-col gds-gap",
58
+ "data-slot": "charts",
59
+ children: t
60
+ }),
61
+ r !== void 0 && /* @__PURE__ */ w("section", {
62
+ className: "flex flex-col gds-gap",
63
+ "data-slot": "data",
64
+ children: r
65
+ })
66
+ ]
67
+ });
68
+ }), E = {
69
+ sm: "gds-gap-sm",
70
+ default: "gds-gap",
71
+ lg: "gds-gap-lg"
72
+ }, D = (e) => ({
73
+ 1: "grid-cols-1",
74
+ 2: "grid-cols-2",
75
+ 3: "grid-cols-3",
76
+ 4: "grid-cols-4",
77
+ 5: "grid-cols-5",
78
+ 6: "grid-cols-6"
79
+ })[e] ?? `grid-cols-${e}`, O = v(function({ children: t, columns: n = 4, gap: r = "default", className: i }, a) {
80
+ return /* @__PURE__ */ w("div", {
81
+ ref: a,
82
+ className: e("grid auto-rows-[minmax(120px,auto)]", D(n), E[r], i),
83
+ "data-component": "bento-grid",
84
+ children: t
85
+ });
86
+ }), k = [
87
+ "Sun",
88
+ "Mon",
89
+ "Tue",
90
+ "Wed",
91
+ "Thu",
92
+ "Fri",
93
+ "Sat"
94
+ ], A = v(function({ className: t, events: n = [], month: r, onDateClick: i, year: a, ...o }, s) {
95
+ let c = new Date(a, r - 1, 1).getDay(), l = new Date(a, r, 0).getDate(), u = [];
96
+ for (let e = 0; e < c; e++) u.push(null);
97
+ for (let e = 1; e <= l; e++) u.push(e);
98
+ let d = /* @__PURE__ */ new Map();
99
+ for (let e of n) {
100
+ let t = d.get(e.date) ?? [];
101
+ d.set(e.date, [...t, e]);
102
+ }
103
+ return /* @__PURE__ */ w("div", {
104
+ className: e("flex flex-col gap-1", t),
105
+ "data-component": "calendar-view",
106
+ ref: s,
107
+ ...o,
108
+ children: /* @__PURE__ */ T("div", {
109
+ className: "grid grid-cols-7 gap-1",
110
+ children: [k.map((e) => /* @__PURE__ */ w("div", {
111
+ className: "py-1 text-center text-xs font-medium text-fg-muted",
112
+ children: e
113
+ }, e)), u.map((t, n) => {
114
+ let r = t === null ? [] : d.get(t) ?? [];
115
+ return /* @__PURE__ */ T("div", {
116
+ className: e("flex min-h-[36px] flex-col items-center rounded p-1 text-xs", t !== null && "cursor-pointer text-fg hover:bg-accent/10", t === null && "pointer-events-none"),
117
+ onClick: () => {
118
+ t !== null && i !== void 0 && i(t);
119
+ },
120
+ children: [t !== null && /* @__PURE__ */ w("span", { children: t }), r.length > 0 && /* @__PURE__ */ w("div", {
121
+ className: "mt-0.5 flex gap-0.5",
122
+ children: r.slice(0, 3).map((e, t) => /* @__PURE__ */ w("span", {
123
+ className: "h-1 w-1 rounded-full",
124
+ style: { backgroundColor: e.color ?? "var(--color-accent)" },
125
+ title: e.label
126
+ }, t))
127
+ })]
128
+ }, n);
129
+ })]
130
+ })
131
+ });
132
+ });
133
+ //#endregion
134
+ //#region src/l7-patterns/comparison-table.tsx
135
+ function j({ features: t, plans: n, highlightColumn: r, glass: i, className: a }) {
136
+ return /* @__PURE__ */ w("div", {
137
+ "data-component": "comparison-table",
138
+ className: e("overflow-hidden gds-radius-card border border-border", i === !0 && "bg-white/5 backdrop-blur-md", a),
139
+ children: /* @__PURE__ */ T("table", {
140
+ className: "w-full text-sm",
141
+ children: [/* @__PURE__ */ w("thead", { children: /* @__PURE__ */ T("tr", {
142
+ className: "border-b border-border bg-bg-tertiary/30",
143
+ children: [/* @__PURE__ */ w("th", {
144
+ className: "px-4 py-3 text-left text-xs font-medium text-fg-muted",
145
+ children: "Feature"
146
+ }), n.map((t, n) => /* @__PURE__ */ w("th", {
147
+ className: e("px-4 py-3 text-center text-xs font-semibold text-fg", n === r && "bg-accent/5"),
148
+ children: t.name
149
+ }, t.name))]
150
+ }) }), /* @__PURE__ */ w("tbody", { children: t.map((i, a) => /* @__PURE__ */ T("tr", {
151
+ className: e(a < t.length - 1 && "border-b border-border/50"),
152
+ children: [/* @__PURE__ */ w("td", {
153
+ className: "px-4 py-2.5 text-xs text-fg",
154
+ children: i
155
+ }), n.map((t, n) => {
156
+ let i = t.values[a];
157
+ return /* @__PURE__ */ w("td", {
158
+ className: e("px-4 py-2.5 text-center", n === r && "bg-accent/5"),
159
+ children: typeof i == "boolean" ? i === !0 ? /* @__PURE__ */ w("svg", {
160
+ className: "mx-auto text-success",
161
+ width: "16",
162
+ height: "16",
163
+ viewBox: "0 0 24 24",
164
+ fill: "none",
165
+ stroke: "currentColor",
166
+ strokeWidth: "2.5",
167
+ strokeLinecap: "round",
168
+ strokeLinejoin: "round",
169
+ "data-icon": "check",
170
+ children: /* @__PURE__ */ w("polyline", { points: "20 6 9 17 4 12" })
171
+ }) : /* @__PURE__ */ w("svg", {
172
+ className: "mx-auto text-fg-muted/40",
173
+ width: "16",
174
+ height: "16",
175
+ viewBox: "0 0 24 24",
176
+ fill: "none",
177
+ stroke: "currentColor",
178
+ strokeWidth: "2",
179
+ strokeLinecap: "round",
180
+ "data-icon": "dash",
181
+ children: /* @__PURE__ */ w("line", {
182
+ x1: "5",
183
+ y1: "12",
184
+ x2: "19",
185
+ y2: "12"
186
+ })
187
+ }) : /* @__PURE__ */ w("span", {
188
+ className: "text-xs text-fg",
189
+ children: i
190
+ })
191
+ }, t.name);
192
+ })]
193
+ }, i)) })]
194
+ })
195
+ });
196
+ }
197
+ //#endregion
198
+ //#region src/l7-patterns/composition-pattern.tsx
199
+ var M = v(function({ header: n, sidebar: r, content: i, footer: a, sidebarPosition: o = "left", sidebarWidth: s = 240, glass: c, className: l }, u) {
200
+ let d = typeof s == "number" ? `${s}px` : s, f = o === "right", p = r === void 0 ? null : /* @__PURE__ */ w("div", {
201
+ className: e("shrink-0 overflow-auto", f ? "border-l border-border" : "border-r border-border"),
202
+ style: { width: d },
203
+ children: r
204
+ });
205
+ return /* @__PURE__ */ T("div", {
206
+ ref: u,
207
+ className: e("gds-ctx flex h-full flex-col", t(c), l),
208
+ "data-component": "composition-pattern",
209
+ children: [
210
+ n !== void 0 && /* @__PURE__ */ w("div", {
211
+ className: "shrink-0 border-b border-border",
212
+ children: n
213
+ }),
214
+ /* @__PURE__ */ T("div", {
215
+ className: "flex min-h-0 flex-1",
216
+ children: [
217
+ f ? null : p,
218
+ /* @__PURE__ */ w("div", {
219
+ className: "flex-1 overflow-auto",
220
+ children: i
221
+ }),
222
+ f ? p : null
223
+ ]
224
+ }),
225
+ a !== void 0 && /* @__PURE__ */ w("div", {
226
+ className: "shrink-0 border-t border-border",
227
+ children: a
228
+ })
229
+ ]
230
+ });
231
+ }), N = v(function({ title: n, description: r, actions: i, variant: a = "default", glass: o, className: s }, c) {
232
+ return /* @__PURE__ */ T("div", {
233
+ ref: c,
234
+ className: e("gds-ctx gds-radius-card gds-pad-x-lg gds-pad-y-lg w-full text-center", a === "accent" ? "bg-accent text-accent-fg" : a === "gradient" ? "bg-gradient-to-r from-accent to-success text-accent-fg" : o === !0 ? e(t(o), "border border-white/10 bg-bg/60") : "border border-border bg-surface", s),
235
+ "data-component": "cta-banner",
236
+ "data-variant": a,
237
+ children: [
238
+ /* @__PURE__ */ w("h2", {
239
+ className: e("text-xl font-bold", a === "default" && "text-fg"),
240
+ children: n
241
+ }),
242
+ r !== void 0 && /* @__PURE__ */ w("p", {
243
+ className: e("mt-2 gds-text-body", a === "default" ? "text-fg-muted" : "opacity-80"),
244
+ children: r
245
+ }),
246
+ /* @__PURE__ */ w("div", {
247
+ className: "mt-4 flex items-center justify-center gap-3",
248
+ children: i
249
+ })
250
+ ]
251
+ });
252
+ }), P = v(function({ sidebar: t, header: n, children: r, sidebarWidth: i = 240, className: a }, o) {
253
+ return /* @__PURE__ */ T("div", {
254
+ ref: o,
255
+ className: e("flex h-full min-h-0 bg-bg", a),
256
+ "data-component": "dashboard-layout",
257
+ children: [/* @__PURE__ */ w("aside", {
258
+ className: "shrink-0 overflow-y-auto border-r border-border bg-surface",
259
+ style: { width: i },
260
+ children: t
261
+ }), /* @__PURE__ */ T("div", {
262
+ className: "flex flex-1 flex-col min-w-0",
263
+ children: [n !== void 0 && /* @__PURE__ */ w("header", {
264
+ className: "sticky top-0 z-10 shrink-0 border-b border-border bg-surface/80 backdrop-blur-sm",
265
+ children: n
266
+ }), /* @__PURE__ */ w("main", {
267
+ className: "flex-1 overflow-auto",
268
+ children: r
269
+ })]
270
+ })]
271
+ });
272
+ }), F = v(function({ formats: t, onExport: r, title: i = "Export Data", className: a, ...o }, s) {
273
+ let [c, l] = S(t[0] ?? ""), [u, d] = S(""), [f, p] = S("");
274
+ function m() {
275
+ r(c, u !== "" && f !== "" ? {
276
+ from: u,
277
+ to: f
278
+ } : void 0);
279
+ }
280
+ return /* @__PURE__ */ T("div", {
281
+ ref: s,
282
+ className: e("gds-ctx rounded-lg border border-border bg-surface gds-pad gds-shadow", a),
283
+ "data-component": "data-export-card",
284
+ ...o,
285
+ children: [/* @__PURE__ */ w("h3", {
286
+ className: "select-none font-medium gds-heading text-fg mb-3",
287
+ children: i
288
+ }), /* @__PURE__ */ T("div", {
289
+ className: "flex flex-col gap-3",
290
+ children: [
291
+ /* @__PURE__ */ T("div", {
292
+ className: "flex flex-col gap-1",
293
+ children: [/* @__PURE__ */ w("label", {
294
+ className: "select-none text-xs text-fg-muted",
295
+ children: "Format"
296
+ }), /* @__PURE__ */ w("select", {
297
+ value: c,
298
+ onChange: (e) => l(e.target.value),
299
+ className: "rounded border border-border bg-bg px-2 py-1.5 gds-text-body text-fg",
300
+ children: t.map((e) => /* @__PURE__ */ w("option", {
301
+ value: e,
302
+ children: e
303
+ }, e))
304
+ })]
305
+ }),
306
+ /* @__PURE__ */ T("div", {
307
+ className: "flex gap-2",
308
+ children: [/* @__PURE__ */ T("div", {
309
+ className: "flex flex-1 flex-col gap-1",
310
+ children: [/* @__PURE__ */ w("label", {
311
+ className: "select-none text-xs text-fg-muted",
312
+ children: "From"
313
+ }), /* @__PURE__ */ w("input", {
314
+ type: "date",
315
+ value: u,
316
+ onChange: (e) => d(e.target.value),
317
+ className: "rounded border border-border bg-bg px-2 py-1.5 gds-text-body text-fg"
318
+ })]
319
+ }), /* @__PURE__ */ T("div", {
320
+ className: "flex flex-1 flex-col gap-1",
321
+ children: [/* @__PURE__ */ w("label", {
322
+ className: "select-none text-xs text-fg-muted",
323
+ children: "To"
324
+ }), /* @__PURE__ */ w("input", {
325
+ type: "date",
326
+ value: f,
327
+ onChange: (e) => p(e.target.value),
328
+ className: "rounded border border-border bg-bg px-2 py-1.5 gds-text-body text-fg"
329
+ })]
330
+ })]
331
+ }),
332
+ /* @__PURE__ */ w(n, {
333
+ type: "button",
334
+ onClick: m,
335
+ className: "mt-1",
336
+ children: "Export"
337
+ })
338
+ ]
339
+ })]
340
+ });
341
+ }), I = v(function({ activeTab: t, children: n, className: r, onTabChange: i, statusBar: a, tabs: o, ...s }, c) {
342
+ return /* @__PURE__ */ T("div", {
343
+ className: e("flex h-full flex-col", r),
344
+ "data-component": "devops-layout",
345
+ ref: c,
346
+ ...s,
347
+ children: [
348
+ /* @__PURE__ */ w("div", {
349
+ className: "flex items-center gap-1 border-b border-border px-2",
350
+ children: o.map((n) => /* @__PURE__ */ w("button", {
351
+ className: e("px-3 py-2 gds-text-label font-medium transition-colors", n.id === t ? "border-b-2 border-accent text-accent" : "text-fg-muted hover:text-fg"),
352
+ onClick: () => i(n.id),
353
+ type: "button",
354
+ children: n.label
355
+ }, n.id))
356
+ }),
357
+ a !== void 0 && /* @__PURE__ */ w("div", {
358
+ className: "border-b border-border px-3 py-2",
359
+ children: a
360
+ }),
361
+ /* @__PURE__ */ w("div", {
362
+ className: "flex-1 overflow-auto",
363
+ children: n
364
+ })
365
+ ]
366
+ });
367
+ }), L = v(function({ title: t, description: n, icon: r, action: i, className: a }, o) {
368
+ return /* @__PURE__ */ T("div", {
369
+ ref: o,
370
+ className: e("flex flex-col items-center justify-center py-12", a),
371
+ "data-component": "empty-state",
372
+ children: [
373
+ r !== void 0 && /* @__PURE__ */ w("div", {
374
+ className: "mb-3 flex h-12 w-12 items-center justify-center text-fg-muted/20",
375
+ children: r
376
+ }),
377
+ /* @__PURE__ */ w("p", {
378
+ className: "gds-text-body font-medium text-fg",
379
+ children: t
380
+ }),
381
+ n !== void 0 && /* @__PURE__ */ w("p", {
382
+ className: "mt-1 gds-text-body text-fg-muted",
383
+ children: n
384
+ }),
385
+ i !== void 0 && /* @__PURE__ */ w("div", {
386
+ className: "mt-4",
387
+ children: i
388
+ })
389
+ ]
390
+ });
391
+ }), R = v(function({ items: n, title: r = "FAQ", glass: i, className: a }, o) {
392
+ return /* @__PURE__ */ T("div", {
393
+ ref: o,
394
+ className: e("gds-ctx gds-radius-card border gds-pad-x-lg gds-pad-y-lg", i === !0 ? e(t(i), "border-white/10 bg-bg/60") : "border-border bg-surface", a),
395
+ "data-component": "faq",
396
+ children: [/* @__PURE__ */ w("h2", {
397
+ className: "gds-heading font-semibold text-fg mb-4",
398
+ children: r
399
+ }), /* @__PURE__ */ w(h, {
400
+ type: "single",
401
+ children: n.map((e, t) => /* @__PURE__ */ w(p, {
402
+ id: `faq-${t}`,
403
+ title: e.question,
404
+ children: e.answer
405
+ }, t))
406
+ })]
407
+ });
408
+ }), z = v(function({ icon: n, title: r, description: i, action: a, glass: o, className: s }, c) {
409
+ return /* @__PURE__ */ T("div", {
410
+ ref: c,
411
+ className: e("gds-ctx gds-radius-card border gds-pad-x-lg gds-pad-y-lg flex flex-col", o === !0 ? e(t(o), "border-white/10 bg-bg/60") : "border-border bg-surface", s),
412
+ "data-component": "feature-card",
413
+ children: [
414
+ n !== void 0 && /* @__PURE__ */ w("div", {
415
+ className: "mb-3 text-accent",
416
+ children: n
417
+ }),
418
+ /* @__PURE__ */ w("p", {
419
+ className: "font-semibold text-fg",
420
+ children: r
421
+ }),
422
+ i !== void 0 && /* @__PURE__ */ w("p", {
423
+ className: "mt-1 gds-text-body text-fg-muted",
424
+ children: i
425
+ }),
426
+ a !== void 0 && /* @__PURE__ */ w("div", {
427
+ className: "mt-auto pt-4",
428
+ children: a
429
+ })
430
+ ]
431
+ });
432
+ }), B = v(function({ columns: n, copyright: r, logo: i, glass: a, className: o }, s) {
433
+ return /* @__PURE__ */ T("footer", {
434
+ ref: s,
435
+ className: e("w-full py-10", a && t(!0), o),
436
+ "data-component": "footer",
437
+ children: [n !== void 0 && n.length > 0 && /* @__PURE__ */ w("div", {
438
+ className: "grid grid-cols-2 gap-8 sm:grid-cols-3 lg:grid-cols-4",
439
+ children: n.map((e) => /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
440
+ className: "text-sm font-semibold text-fg",
441
+ children: e.title
442
+ }), /* @__PURE__ */ w("ul", {
443
+ className: "mt-3 space-y-2",
444
+ children: e.links.map((e) => /* @__PURE__ */ w("li", { children: /* @__PURE__ */ w("a", {
445
+ href: e.href,
446
+ className: "text-sm text-fg-muted hover:text-fg",
447
+ children: e.label
448
+ }) }, e.href))
449
+ })] }, e.title))
450
+ }), /* @__PURE__ */ T("div", {
451
+ className: e("flex items-center gap-3 border-t border-border pt-6", n !== void 0 && n.length > 0 && "mt-8"),
452
+ children: [i !== void 0 && /* @__PURE__ */ w("div", { children: i }), r !== void 0 && /* @__PURE__ */ w("p", {
453
+ className: "text-xs text-fg-muted",
454
+ children: r
455
+ })]
456
+ })]
457
+ });
458
+ }), V = v(function({ title: t, description: n, children: r, actions: i, className: a }, o) {
459
+ let s = t !== void 0 || n !== void 0;
460
+ return /* @__PURE__ */ T("div", {
461
+ ref: o,
462
+ className: e("flex flex-col", a),
463
+ "data-component": "form-layout",
464
+ children: [
465
+ s && /* @__PURE__ */ T("div", {
466
+ className: "mb-4",
467
+ children: [t !== void 0 && /* @__PURE__ */ w("h2", {
468
+ className: "gds-text-body font-semibold text-fg",
469
+ children: t
470
+ }), n !== void 0 && /* @__PURE__ */ w("p", {
471
+ className: "mt-0.5 gds-text-body text-fg-muted",
472
+ children: n
473
+ })]
474
+ }),
475
+ /* @__PURE__ */ w("div", {
476
+ className: "flex flex-col gds-gap-lg",
477
+ children: r
478
+ }),
479
+ i !== void 0 && /* @__PURE__ */ w("div", {
480
+ className: "mt-6 flex justify-end gds-gap-sm",
481
+ children: i
482
+ })
483
+ ]
484
+ });
485
+ }), H = v(function({ title: n, description: r, sections: a, actions: o, glass: s, className: c }, l) {
486
+ return /* @__PURE__ */ T("div", {
487
+ ref: l,
488
+ className: e("gds-ctx flex flex-col gds-pad gds-radius-card", t(s), c),
489
+ "data-component": "form-pattern",
490
+ children: [
491
+ (n !== void 0 || r !== void 0) && /* @__PURE__ */ T("div", {
492
+ className: "mb-4",
493
+ children: [n !== void 0 && /* @__PURE__ */ w("h2", {
494
+ className: "gds-heading font-semibold text-fg",
495
+ children: n
496
+ }), r !== void 0 && /* @__PURE__ */ w("p", {
497
+ className: "mt-1 gds-text-body text-fg-muted",
498
+ children: r
499
+ })]
500
+ }),
501
+ a.map((e, t) => /* @__PURE__ */ T("div", { children: [t > 0 && /* @__PURE__ */ w(i, { className: "my-4" }), /* @__PURE__ */ T("div", {
502
+ className: "flex flex-col gds-gap",
503
+ children: [/* @__PURE__ */ w("h3", {
504
+ className: "gds-text-body font-medium text-fg",
505
+ children: e.title
506
+ }), e.fields]
507
+ })] }, e.title)),
508
+ o !== void 0 && /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(i, { className: "my-4" }), /* @__PURE__ */ w("div", {
509
+ className: "flex justify-end gds-gap-sm",
510
+ children: o
511
+ })] })
512
+ ]
513
+ });
514
+ }), U = {
515
+ none: "",
516
+ sm: "gds-pad-x gds-pad-y",
517
+ default: "gds-pad-x-lg gds-pad-y-lg",
518
+ lg: "p-6"
519
+ }, W = {
520
+ sm: "sm",
521
+ default: !0,
522
+ lg: "lg"
523
+ }, G = v(function({ children: n, blur: r = "default", padding: i = "default", className: a }, o) {
524
+ return /* @__PURE__ */ w("div", {
525
+ ref: o,
526
+ className: e("gds-ctx gds-radius-card border border-white/10", t(W[r]), U[i], a),
527
+ "data-component": "glass-panel",
528
+ children: n
529
+ });
530
+ }), K = {
531
+ sm: "gds-gap-sm",
532
+ default: "gds-gap",
533
+ lg: "gds-gap-lg"
534
+ }, q = (e) => ({
535
+ 1: "grid-cols-1",
536
+ 2: "grid-cols-2",
537
+ 3: "grid-cols-3",
538
+ 4: "grid-cols-4",
539
+ 5: "grid-cols-5",
540
+ 6: "grid-cols-6"
541
+ })[e] ?? `grid-cols-${e}`, J = (e, t) => ({
542
+ 1: `${e}:grid-cols-1`,
543
+ 2: `${e}:grid-cols-2`,
544
+ 3: `${e}:grid-cols-3`,
545
+ 4: `${e}:grid-cols-4`,
546
+ 5: `${e}:grid-cols-5`,
547
+ 6: `${e}:grid-cols-6`
548
+ })[t] ?? `${e}:grid-cols-${t}`;
549
+ function Y(e) {
550
+ if (typeof e == "number") return q(e);
551
+ let t = [];
552
+ return e.sm !== void 0 && t.push(J("sm", e.sm)), e.md !== void 0 && t.push(J("md", e.md)), e.lg !== void 0 && t.push(J("lg", e.lg)), e.xl !== void 0 && t.push(J("xl", e.xl)), t.length > 0 && t.unshift("grid-cols-1"), t.join(" ");
553
+ }
554
+ var X = v(function({ children: t, columns: n = {
555
+ sm: 1,
556
+ md: 2,
557
+ lg: 3
558
+ }, gap: r = "default", className: i }, a) {
559
+ return /* @__PURE__ */ w("div", {
560
+ ref: a,
561
+ className: e("grid", Y(n), K[r], i),
562
+ "data-component": "grid-layout",
563
+ children: t
564
+ });
565
+ }), ie = v(function({ title: n, subtitle: r, actions: i, media: a, align: o = "center", glass: s, className: c }, l) {
566
+ let u = o === "center";
567
+ return /* @__PURE__ */ T("section", {
568
+ ref: l,
569
+ className: e("w-full py-16", u ? "text-center" : "flex items-center gap-12", s && t(!0), c),
570
+ "data-component": "hero",
571
+ "data-variant": o,
572
+ children: [/* @__PURE__ */ T("div", {
573
+ className: e(u ? "mx-auto max-w-2xl" : "flex-1"),
574
+ children: [
575
+ /* @__PURE__ */ w("h1", {
576
+ className: "text-4xl font-bold text-fg",
577
+ children: n
578
+ }),
579
+ r !== void 0 && /* @__PURE__ */ w("p", {
580
+ className: "mt-3 text-lg text-fg-muted",
581
+ children: r
582
+ }),
583
+ i !== void 0 && /* @__PURE__ */ w("div", {
584
+ className: "mt-6",
585
+ children: i
586
+ }),
587
+ u && a !== void 0 && /* @__PURE__ */ w("div", {
588
+ className: "mt-8",
589
+ children: a
590
+ })
591
+ ]
592
+ }), !u && a !== void 0 && /* @__PURE__ */ w("div", {
593
+ className: "flex-1",
594
+ children: a
595
+ })]
596
+ });
597
+ }), ae = v(function({ className: t, departments: n, onboarding: r, stats: i, ...a }, o) {
598
+ return /* @__PURE__ */ T("div", {
599
+ className: e("gds-ctx flex flex-col gds-gap", t),
600
+ "data-component": "hr-dashboard",
601
+ ref: o,
602
+ ...a,
603
+ children: [i !== void 0 && /* @__PURE__ */ w("div", {
604
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
605
+ children: i
606
+ }), /* @__PURE__ */ T("div", {
607
+ className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
608
+ children: [r !== void 0 && /* @__PURE__ */ w("div", {
609
+ className: "gds-radius-card border border-border bg-surface gds-pad",
610
+ children: r
611
+ }), n !== void 0 && /* @__PURE__ */ w("div", {
612
+ className: "gds-radius-card border border-border bg-surface gds-pad",
613
+ children: n
614
+ })]
615
+ })]
616
+ });
617
+ }), oe = v(function({ list: t, detail: n, listWidth: r = 360, className: i }, a) {
618
+ return /* @__PURE__ */ T("div", {
619
+ ref: a,
620
+ className: e("flex h-full overflow-hidden", i),
621
+ "data-component": "inbox-layout",
622
+ children: [/* @__PURE__ */ w("div", {
623
+ className: "shrink-0 overflow-y-auto border-r border-border",
624
+ style: { width: r },
625
+ children: t
626
+ }), /* @__PURE__ */ w("div", {
627
+ className: "min-w-0 flex-1 overflow-y-auto",
628
+ children: n
629
+ })]
630
+ });
631
+ }), Z = v(function({ title: n, value: r, change: i, changeLabel: a, icon: o, glass: s, className: c }, l) {
632
+ let u = i !== void 0 && i >= 0;
633
+ return /* @__PURE__ */ T("div", {
634
+ ref: l,
635
+ className: e("relative gds-radius-card border gds-pad-x-lg gds-pad-y-lg", s === !0 ? e(t(s), "border-white/10 bg-bg/60") : "border-border bg-surface", c),
636
+ "data-component": "metric-card",
637
+ children: [
638
+ o !== void 0 && /* @__PURE__ */ w("div", {
639
+ className: "absolute right-4 top-4 text-fg-muted/40",
640
+ children: o
641
+ }),
642
+ /* @__PURE__ */ w("p", {
643
+ className: "gds-text-body text-fg-muted",
644
+ children: n
645
+ }),
646
+ /* @__PURE__ */ w("p", {
647
+ className: "mt-1 text-2xl font-bold text-fg",
648
+ children: r
649
+ }),
650
+ i !== void 0 && /* @__PURE__ */ T("p", {
651
+ className: e("mt-1 gds-text-body", u ? "text-success" : "text-danger"),
652
+ children: [
653
+ u ? "+" : "",
654
+ i,
655
+ "%",
656
+ a === void 0 ? "" : ` ${a}`
657
+ ]
658
+ })
659
+ ]
660
+ });
661
+ }), se = v(function({ title: n, metrics: r, chart: i, table: a, glass: o, className: s }, c) {
662
+ return /* @__PURE__ */ T("div", {
663
+ ref: c,
664
+ className: e("gds-ctx flex flex-col gds-gap", s),
665
+ "data-component": "kpi-dashboard",
666
+ children: [
667
+ n !== void 0 && /* @__PURE__ */ w("h2", {
668
+ className: "gds-heading font-semibold text-fg",
669
+ children: n
670
+ }),
671
+ r !== void 0 && r.length > 0 && /* @__PURE__ */ w("div", {
672
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",
673
+ children: r.map((e) => /* @__PURE__ */ w(Z, {
674
+ change: e.change,
675
+ glass: o,
676
+ title: e.title,
677
+ value: e.value
678
+ }, e.title))
679
+ }),
680
+ i !== void 0 && /* @__PURE__ */ w("div", {
681
+ className: e("gds-radius-card border gds-pad", o === !0 ? e(t(o), "border-white/10 bg-bg/60") : "border-border bg-surface"),
682
+ children: i
683
+ }),
684
+ a !== void 0 && /* @__PURE__ */ w("div", {
685
+ className: e("gds-radius-card border gds-pad", o === !0 ? e(t(o), "border-white/10 bg-bg/60") : "border-border bg-surface"),
686
+ children: a
687
+ })
688
+ ]
689
+ });
690
+ });
691
+ //#endregion
692
+ //#region src/l7-patterns/loading-states.tsx
693
+ function ce({ message: n, glass: r, className: i }) {
694
+ return /* @__PURE__ */ T("div", {
695
+ className: e("flex min-h-[200px] flex-col items-center justify-center gap-3", t(r), i),
696
+ children: [/* @__PURE__ */ w(s, { size: "lg" }), n !== void 0 && /* @__PURE__ */ w("p", {
697
+ className: "gds-text-body text-fg-muted",
698
+ children: n
699
+ })]
700
+ });
701
+ }
702
+ function le({ message: t, className: n }) {
703
+ return /* @__PURE__ */ T("div", {
704
+ className: e("inline-flex items-center gap-2", n),
705
+ children: [/* @__PURE__ */ w(s, { size: "sm" }), t !== void 0 && /* @__PURE__ */ w("span", {
706
+ className: "gds-text-body text-fg-muted",
707
+ children: t
708
+ })]
709
+ });
710
+ }
711
+ function ue({ message: e, className: t }) {
712
+ return /* @__PURE__ */ w("div", {
713
+ className: t,
714
+ children: /* @__PURE__ */ w(n, {
715
+ loading: !0,
716
+ disabled: !0,
717
+ children: e ?? "Loading..."
718
+ })
719
+ });
720
+ }
721
+ function de({ message: n, glass: r, className: i }) {
722
+ return /* @__PURE__ */ T("div", {
723
+ className: e("absolute inset-0 flex flex-col items-center justify-center gap-3", r === !0 ? t(r) : "bg-bg/80", i),
724
+ children: [/* @__PURE__ */ w(s, { size: "lg" }), n !== void 0 && /* @__PURE__ */ w("p", {
725
+ className: "gds-text-body text-fg-muted",
726
+ children: n
727
+ })]
728
+ });
729
+ }
730
+ var fe = {
731
+ page: ce,
732
+ inline: le,
733
+ button: ue,
734
+ overlay: de
735
+ }, pe = v(function({ variant: e, message: t, glass: n, className: r }, i) {
736
+ return /* @__PURE__ */ w("div", {
737
+ ref: i,
738
+ "data-component": "loading-states",
739
+ "data-variant": e,
740
+ children: fe[e]({
741
+ message: t,
742
+ glass: n,
743
+ className: r
744
+ })
745
+ });
746
+ }), me = v(function({ onSubmit: r, title: i = "Sign in", error: s, loading: c = !1, glass: l = !1, className: u, ...f }, p) {
747
+ let [m, h] = S(""), [g, _] = S(""), [v, y] = S(!1);
748
+ function b(e) {
749
+ e.preventDefault(), r({
750
+ email: m,
751
+ password: g,
752
+ remember: v
753
+ });
754
+ }
755
+ return /* @__PURE__ */ T("form", {
756
+ ref: p,
757
+ className: e("flex w-full max-w-sm flex-col gap-4 rounded-lg border border-border p-6", t(l), !l && "bg-bg", u),
758
+ "data-component": "login-form",
759
+ onSubmit: b,
760
+ ...f,
761
+ children: [
762
+ /* @__PURE__ */ w("h2", {
763
+ className: "text-center font-semibold text-fg gds-heading",
764
+ children: i
765
+ }),
766
+ s !== void 0 && /* @__PURE__ */ w("div", {
767
+ className: "rounded-md bg-danger/10 px-3 py-2 text-xs text-danger",
768
+ children: s
769
+ }),
770
+ /* @__PURE__ */ T("div", {
771
+ className: "flex flex-col gap-1",
772
+ children: [/* @__PURE__ */ w(o, { children: "Email" }), /* @__PURE__ */ w(a, {
773
+ type: "email",
774
+ value: m,
775
+ onChange: (e) => h(e.target.value),
776
+ placeholder: "you@example.com",
777
+ required: !0
778
+ })]
779
+ }),
780
+ /* @__PURE__ */ T("div", {
781
+ className: "flex flex-col gap-1",
782
+ children: [/* @__PURE__ */ w(o, { children: "Password" }), /* @__PURE__ */ w(a, {
783
+ type: "password",
784
+ value: g,
785
+ onChange: (e) => _(e.target.value),
786
+ placeholder: "••••••••",
787
+ required: !0
788
+ })]
789
+ }),
790
+ /* @__PURE__ */ w(d, {
791
+ checked: v,
792
+ onChange: y,
793
+ label: "Remember me"
794
+ }),
795
+ /* @__PURE__ */ w(n, {
796
+ type: "submit",
797
+ disabled: c,
798
+ className: "w-full",
799
+ children: c ? "Signing in..." : "Sign in"
800
+ })
801
+ ]
802
+ });
803
+ }), he = v(function({ onSend: t, defaultTo: n, className: r }, i) {
804
+ let a = x(null), o = x(null), s = x(null), c = y((e) => {
805
+ e.preventDefault(), t({
806
+ to: a.current?.value ?? "",
807
+ subject: o.current?.value ?? "",
808
+ body: s.current?.value ?? ""
809
+ });
810
+ }, [t]), l = "w-full rounded-md border border-border bg-transparent px-3 py-2 gds-text-body text-fg placeholder:text-fg-muted/40 focus:border-accent focus:outline-none";
811
+ return /* @__PURE__ */ T("form", {
812
+ ref: i,
813
+ className: e("flex flex-col gap-3", r),
814
+ "data-component": "mail-composer",
815
+ onSubmit: c,
816
+ children: [
817
+ /* @__PURE__ */ w("input", {
818
+ ref: a,
819
+ type: "email",
820
+ placeholder: "To",
821
+ defaultValue: n ?? "",
822
+ className: l
823
+ }),
824
+ /* @__PURE__ */ w("input", {
825
+ ref: o,
826
+ type: "text",
827
+ placeholder: "Subject",
828
+ className: l
829
+ }),
830
+ /* @__PURE__ */ w("textarea", {
831
+ ref: s,
832
+ placeholder: "Body",
833
+ rows: 6,
834
+ className: e(l, "resize-none")
835
+ }),
836
+ /* @__PURE__ */ w("div", {
837
+ className: "flex justify-end",
838
+ children: /* @__PURE__ */ w("button", {
839
+ type: "submit",
840
+ className: "rounded-md bg-accent px-4 py-2 gds-text-body font-medium text-accent-fg hover:bg-accent/90 transition-colors",
841
+ children: "Send"
842
+ })
843
+ })
844
+ ]
845
+ });
846
+ }), ge = v(function({ children: t, columns: n = 3, gap: r = 16, className: i }, a) {
847
+ let o = {
848
+ columnCount: n,
849
+ columnGap: `${r}px`
850
+ }, s = {
851
+ breakInside: "avoid",
852
+ marginBottom: `${r}px`
853
+ };
854
+ return /* @__PURE__ */ w("div", {
855
+ ref: a,
856
+ className: e(i),
857
+ style: o,
858
+ "data-component": "masonry",
859
+ children: _.map(t, (e) => e == null ? null : /* @__PURE__ */ w("div", {
860
+ style: s,
861
+ children: e
862
+ }))
863
+ });
864
+ }), _e = {
865
+ default: "gds-gap",
866
+ lg: "gds-gap-lg",
867
+ sm: "gds-gap-sm"
868
+ };
869
+ function ve(e) {
870
+ if (typeof e == "number") return `grid-cols-${e}`;
871
+ let t = ["grid-cols-1"];
872
+ return e.sm !== void 0 && t.push(`sm:grid-cols-${e.sm}`), e.md !== void 0 && t.push(`md:grid-cols-${e.md}`), e.lg !== void 0 && t.push(`lg:grid-cols-${e.lg}`), t.join(" ");
873
+ }
874
+ var ye = v(function({ aspectRatio: t = 1, children: n, className: i, columns: a = {
875
+ sm: 2,
876
+ md: 3,
877
+ lg: 4
878
+ }, gap: o = "default" }, s) {
879
+ return /* @__PURE__ */ w("div", {
880
+ ref: s,
881
+ className: e("grid", ve(a), _e[o], i),
882
+ "data-component": "media-grid",
883
+ children: _.map(n, (e) => /* @__PURE__ */ w(r, {
884
+ ratio: t,
885
+ className: "overflow-hidden rounded-lg",
886
+ children: e
887
+ }))
888
+ });
889
+ }), be = v(function({ title: n, children: r, glass: i, className: a }, o) {
890
+ return /* @__PURE__ */ T("div", {
891
+ ref: o,
892
+ className: e("gds-ctx gds-radius-card border", i === !0 ? e(t(i), "border-white/10 bg-bg/60") : "border-border bg-surface", "gds-pad-x-lg gds-pad-y-lg", a),
893
+ "data-component": "mini-dashboard",
894
+ children: [n !== void 0 && /* @__PURE__ */ w("h2", {
895
+ className: "mb-3 gds-text-body font-semibold text-fg",
896
+ children: n
897
+ }), r]
898
+ });
899
+ }), xe = v(function({ children: t, columns: n, className: r }, i) {
900
+ return /* @__PURE__ */ w("div", {
901
+ ref: i,
902
+ className: e("grid gds-gap", n === void 0 ? "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4" : `grid-cols-${n}`, r),
903
+ "data-component": "monitor-grid",
904
+ children: t
905
+ });
906
+ }), Se = v(function({ logo: n, links: r, actions: i, sticky: a = !0, glass: o = !0, className: s }, c) {
907
+ return /* @__PURE__ */ T("nav", {
908
+ ref: c,
909
+ className: e("flex w-full items-center justify-between px-6 py-3", a && "sticky top-0 z-40", o && t(!0), s),
910
+ "data-component": "nav-bar",
911
+ children: [
912
+ n !== void 0 && /* @__PURE__ */ w("div", {
913
+ className: "flex-shrink-0",
914
+ children: n
915
+ }),
916
+ r !== void 0 && r.length > 0 && /* @__PURE__ */ w("div", {
917
+ className: "flex items-center gap-6",
918
+ children: r.map((t) => /* @__PURE__ */ w("a", {
919
+ href: t.href,
920
+ className: e("text-sm transition-colors", t.active ? "text-accent font-medium" : "text-fg-muted hover:text-fg"),
921
+ children: t.label
922
+ }, t.href))
923
+ }),
924
+ i !== void 0 && /* @__PURE__ */ w("div", {
925
+ className: "flex items-center gap-3",
926
+ children: i
927
+ })
928
+ ]
929
+ });
930
+ }), Ce = v(function({ className: t, notifications: n, onRead: r, onReadAll: i, ...a }, o) {
931
+ return /* @__PURE__ */ T("div", {
932
+ className: e("gds-ctx gds-radius-card border border-border bg-surface", t),
933
+ "data-component": "notification-list",
934
+ ref: o,
935
+ ...a,
936
+ children: [/* @__PURE__ */ T("div", {
937
+ className: "flex items-center justify-between border-b border-border px-4 py-2.5",
938
+ children: [/* @__PURE__ */ w("span", {
939
+ className: "text-sm font-semibold text-fg",
940
+ children: "Notifications"
941
+ }), i !== void 0 && /* @__PURE__ */ w("button", {
942
+ className: "text-xs text-accent hover:underline",
943
+ onClick: i,
944
+ type: "button",
945
+ children: "Mark all read"
946
+ })]
947
+ }), n.length === 0 ? /* @__PURE__ */ w("div", {
948
+ className: "px-4 py-6 text-center text-xs text-fg-muted",
949
+ children: "No notifications"
950
+ }) : /* @__PURE__ */ w("div", {
951
+ className: "divide-y divide-border",
952
+ children: n.map((t) => /* @__PURE__ */ w("div", {
953
+ className: e("flex gap-3 px-4 py-2.5", t.read !== !0 && "border-l-2 border-l-accent", r !== void 0 && "cursor-pointer hover:bg-bg-tertiary"),
954
+ onClick: r === void 0 ? void 0 : () => r(t.id),
955
+ children: /* @__PURE__ */ T("div", {
956
+ className: "min-w-0 flex-1",
957
+ children: [
958
+ /* @__PURE__ */ w("div", {
959
+ className: "text-xs font-medium text-fg",
960
+ children: t.title
961
+ }),
962
+ t.message !== void 0 && /* @__PURE__ */ w("div", {
963
+ className: "mt-0.5 text-xs text-fg-muted",
964
+ children: t.message
965
+ }),
966
+ /* @__PURE__ */ w("div", {
967
+ className: "mt-1 text-[10px] text-fg-muted",
968
+ children: t.timestamp
969
+ })
970
+ ]
971
+ })
972
+ }, t.id))
973
+ })]
974
+ });
975
+ }), we = v(function({ className: t, steps: n, title: r = "Getting Started", ...i }, a) {
976
+ let o = n.filter((e) => e.completed).length, s = n.length > 0 ? Math.round(o / n.length * 100) : 0;
977
+ return /* @__PURE__ */ T("div", {
978
+ className: e("gds-ctx rounded-lg border border-border bg-surface gds-pad", t),
979
+ "data-component": "onboarding-card",
980
+ ref: a,
981
+ ...i,
982
+ children: [
983
+ /* @__PURE__ */ T("div", {
984
+ className: "mb-3 flex items-center justify-between",
985
+ children: [/* @__PURE__ */ w("h3", {
986
+ className: "gds-heading font-semibold text-fg",
987
+ children: r
988
+ }), /* @__PURE__ */ T("span", {
989
+ className: "gds-text-label text-fg-muted",
990
+ children: [
991
+ o,
992
+ "/",
993
+ n.length
994
+ ]
995
+ })]
996
+ }),
997
+ /* @__PURE__ */ w("div", {
998
+ className: "mb-4 h-1.5 w-full overflow-hidden rounded-full bg-border",
999
+ children: /* @__PURE__ */ w("div", {
1000
+ className: "h-full rounded-full bg-accent transition-all",
1001
+ style: { width: `${s}%` }
1002
+ })
1003
+ }),
1004
+ /* @__PURE__ */ w("ul", {
1005
+ className: "flex flex-col gds-gap",
1006
+ children: n.map((t, n) => /* @__PURE__ */ T("li", {
1007
+ className: "flex items-center justify-between gds-gap",
1008
+ children: [/* @__PURE__ */ T("div", {
1009
+ className: "flex items-center gds-gap-sm",
1010
+ children: [/* @__PURE__ */ w("span", {
1011
+ className: e("flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-xs", t.completed ? "bg-success text-white" : "border border-border text-fg-muted"),
1012
+ children: t.completed ? "✓" : n + 1
1013
+ }), /* @__PURE__ */ w("span", {
1014
+ className: e("text-sm", t.completed ? "text-fg-muted line-through" : "text-fg"),
1015
+ children: t.label
1016
+ })]
1017
+ }), t.action !== void 0 && !t.completed && t.action]
1018
+ }, n))
1019
+ })
1020
+ ]
1021
+ });
1022
+ }), Te = /* @__PURE__ */ w("svg", {
1023
+ width: "12",
1024
+ height: "12",
1025
+ viewBox: "0 0 12 12",
1026
+ fill: "none",
1027
+ stroke: "currentColor",
1028
+ strokeWidth: "1.5",
1029
+ strokeLinecap: "round",
1030
+ children: /* @__PURE__ */ w("path", { d: "M4.5 3l3 3-3 3" })
1031
+ }), Ee = v(function({ actions: t, breadcrumb: n, className: r, subtitle: i, title: a }, o) {
1032
+ return /* @__PURE__ */ T("div", {
1033
+ ref: o,
1034
+ className: e("flex flex-col gds-gap-sm", r),
1035
+ "data-component": "page-header",
1036
+ children: [n !== void 0 && n.length > 0 && /* @__PURE__ */ w("nav", {
1037
+ "aria-label": "Breadcrumb",
1038
+ children: /* @__PURE__ */ w("ol", {
1039
+ className: "flex items-center gds-gap-sm text-[11px] text-fg-muted",
1040
+ children: n.map((e, t) => /* @__PURE__ */ T("li", {
1041
+ className: "flex items-center gds-gap-sm",
1042
+ children: [t > 0 && /* @__PURE__ */ w("span", {
1043
+ className: "text-fg-muted/50",
1044
+ "aria-hidden": "true",
1045
+ children: Te
1046
+ }), e.href === void 0 ? /* @__PURE__ */ w("span", { children: e.label }) : /* @__PURE__ */ w("a", {
1047
+ href: e.href,
1048
+ className: "transition-colors hover:text-fg",
1049
+ children: e.label
1050
+ })]
1051
+ }, t))
1052
+ })
1053
+ }), /* @__PURE__ */ T("div", {
1054
+ className: "flex items-center justify-between gds-gap",
1055
+ children: [/* @__PURE__ */ T("div", {
1056
+ className: "min-w-0",
1057
+ children: [/* @__PURE__ */ w("h1", {
1058
+ className: "gds-heading font-semibold text-fg",
1059
+ children: a
1060
+ }), i !== void 0 && /* @__PURE__ */ w("p", {
1061
+ className: "mt-0.5 gds-text-body text-fg-muted",
1062
+ children: i
1063
+ })]
1064
+ }), t !== void 0 && /* @__PURE__ */ w("div", {
1065
+ className: "flex shrink-0 items-center gds-gap-sm",
1066
+ children: t
1067
+ })]
1068
+ })]
1069
+ });
1070
+ }), De = v(function({ chart: t, className: n, metrics: r, transactions: i, ...a }, o) {
1071
+ return /* @__PURE__ */ T("div", {
1072
+ className: e("gds-ctx flex flex-col gds-gap", n),
1073
+ "data-component": "payroll-dashboard",
1074
+ ref: o,
1075
+ ...a,
1076
+ children: [r !== void 0 && /* @__PURE__ */ w("div", {
1077
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
1078
+ children: r
1079
+ }), /* @__PURE__ */ T("div", {
1080
+ className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
1081
+ children: [t !== void 0 && /* @__PURE__ */ w("div", {
1082
+ className: "gds-radius-card border border-border bg-surface gds-pad",
1083
+ children: t
1084
+ }), i !== void 0 && /* @__PURE__ */ w("div", {
1085
+ className: "gds-radius-card border border-border bg-surface gds-pad",
1086
+ children: i
1087
+ })]
1088
+ })]
1089
+ });
1090
+ }), Oe = v(function({ name: n, price: r, period: i = "/month", features: a, action: o, highlighted: s, glass: c, className: l }, u) {
1091
+ return /* @__PURE__ */ T("div", {
1092
+ ref: u,
1093
+ className: e("gds-ctx gds-radius-card border gds-pad-x-lg gds-pad-y-lg flex flex-col", s === !0 && "border-accent ring-1 ring-accent", s !== !0 && (c === !0 ? e(t(c), "border-white/10 bg-bg/60") : "border-border bg-surface"), c === !0 && s === !0 && e(t(c), "bg-bg/60"), l),
1094
+ "data-component": "pricing-card",
1095
+ "data-highlighted": s === !0 ? "true" : void 0,
1096
+ children: [
1097
+ /* @__PURE__ */ w("p", {
1098
+ className: "font-semibold text-fg",
1099
+ children: n
1100
+ }),
1101
+ /* @__PURE__ */ T("div", {
1102
+ className: "mt-2 flex items-baseline gap-1",
1103
+ children: [/* @__PURE__ */ w("span", {
1104
+ className: "text-3xl font-bold text-fg",
1105
+ children: r
1106
+ }), /* @__PURE__ */ w("span", {
1107
+ className: "gds-text-body text-fg-muted",
1108
+ children: i
1109
+ })]
1110
+ }),
1111
+ a.length > 0 && /* @__PURE__ */ w("ul", {
1112
+ className: "mt-4 flex flex-col gap-2",
1113
+ children: a.map((e) => /* @__PURE__ */ T("li", {
1114
+ className: "flex items-center gap-2 gds-text-body text-fg-muted",
1115
+ children: [/* @__PURE__ */ w("svg", {
1116
+ className: "h-4 w-4 shrink-0 text-success",
1117
+ viewBox: "0 0 16 16",
1118
+ fill: "none",
1119
+ children: /* @__PURE__ */ w("path", {
1120
+ d: "M3 8l3 3 7-7",
1121
+ stroke: "currentColor",
1122
+ strokeWidth: "2",
1123
+ strokeLinecap: "round",
1124
+ strokeLinejoin: "round"
1125
+ })
1126
+ }), e]
1127
+ }, e))
1128
+ }),
1129
+ o !== void 0 && /* @__PURE__ */ w("div", {
1130
+ className: "mt-auto pt-4",
1131
+ children: o
1132
+ })
1133
+ ]
1134
+ });
1135
+ }), ke = v(function({ actions: n, avatar: r, className: i, glass: a, name: o, role: s, stats: c }, l) {
1136
+ return /* @__PURE__ */ T("div", {
1137
+ ref: l,
1138
+ className: e("gds-ctx flex flex-col items-center gds-pad gds-radius-card border", a === !0 ? e(t(a), "border-white/10 bg-bg/60") : "border-border bg-surface", i),
1139
+ "data-component": "profile-card",
1140
+ children: [
1141
+ /* @__PURE__ */ w(u, {
1142
+ name: o,
1143
+ src: r,
1144
+ size: "lg"
1145
+ }),
1146
+ /* @__PURE__ */ w("p", {
1147
+ className: "mt-3 text-sm font-semibold text-fg",
1148
+ children: o
1149
+ }),
1150
+ s !== void 0 && /* @__PURE__ */ w("p", {
1151
+ className: "mt-0.5 text-xs text-fg-muted",
1152
+ children: s
1153
+ }),
1154
+ c !== void 0 && c.length > 0 && /* @__PURE__ */ w("div", {
1155
+ className: "mt-3 flex w-full justify-center gds-gap",
1156
+ children: c.map((e) => /* @__PURE__ */ T("div", {
1157
+ className: "flex flex-col items-center",
1158
+ children: [/* @__PURE__ */ w("span", {
1159
+ className: "text-sm font-bold text-fg",
1160
+ children: e.value
1161
+ }), /* @__PURE__ */ w("span", {
1162
+ className: "text-[10px] text-fg-muted",
1163
+ children: e.label
1164
+ })]
1165
+ }, e.label))
1166
+ }),
1167
+ n !== void 0 && /* @__PURE__ */ w("div", {
1168
+ className: "mt-3 flex w-full justify-center gds-gap",
1169
+ children: n
1170
+ })
1171
+ ]
1172
+ });
1173
+ }), Ae = v(function({ activity: t, className: n, progress: r, tasks: i, team: a }, o) {
1174
+ return /* @__PURE__ */ T("div", {
1175
+ className: e("grid grid-cols-2 gds-gap", n),
1176
+ "data-component": "project-dashboard",
1177
+ ref: o,
1178
+ children: [
1179
+ r !== void 0 && /* @__PURE__ */ w("section", {
1180
+ "data-slot": "progress",
1181
+ children: r
1182
+ }),
1183
+ a !== void 0 && /* @__PURE__ */ w("section", {
1184
+ "data-slot": "team",
1185
+ children: a
1186
+ }),
1187
+ t !== void 0 && /* @__PURE__ */ w("section", {
1188
+ "data-slot": "activity",
1189
+ children: t
1190
+ }),
1191
+ i !== void 0 && /* @__PURE__ */ w("section", {
1192
+ "data-slot": "tasks",
1193
+ children: i
1194
+ })
1195
+ ]
1196
+ });
1197
+ }), je = v(function({ mobile: t, tablet: n, desktop: r, className: i }, a) {
1198
+ let o = n ?? t;
1199
+ return /* @__PURE__ */ T("div", {
1200
+ ref: a,
1201
+ className: e(i),
1202
+ "data-component": "responsive-container",
1203
+ children: [
1204
+ /* @__PURE__ */ w("div", {
1205
+ className: "block sm:hidden",
1206
+ children: t
1207
+ }),
1208
+ /* @__PURE__ */ w("div", {
1209
+ className: "hidden sm:block lg:hidden",
1210
+ children: o
1211
+ }),
1212
+ /* @__PURE__ */ w("div", {
1213
+ className: "hidden lg:block",
1214
+ children: r
1215
+ })
1216
+ ]
1217
+ });
1218
+ });
1219
+ //#endregion
1220
+ //#region src/l7-patterns/server-overview.tsx
1221
+ function Me(e) {
1222
+ return e >= 90 ? "danger" : e >= 70 ? "warning" : "success";
1223
+ }
1224
+ var Ne = "flex items-center gap-2", Pe = "w-8 text-[10px] text-fg-muted", Fe = "w-8 text-right text-[10px] font-mono text-fg-muted";
1225
+ function Q({ label: e, value: t }) {
1226
+ return /* @__PURE__ */ T("div", {
1227
+ className: Ne,
1228
+ children: [
1229
+ /* @__PURE__ */ w("span", {
1230
+ className: Pe,
1231
+ children: e
1232
+ }),
1233
+ /* @__PURE__ */ w(c, {
1234
+ value: t,
1235
+ variant: Me(t),
1236
+ size: "sm"
1237
+ }),
1238
+ /* @__PURE__ */ T("span", {
1239
+ className: Fe,
1240
+ children: [t, "%"]
1241
+ })
1242
+ ]
1243
+ });
1244
+ }
1245
+ var Ie = v(function({ className: t, servers: n, ...r }, i) {
1246
+ return /* @__PURE__ */ w("div", {
1247
+ className: e("grid gap-3 sm:grid-cols-2 lg:grid-cols-3", t),
1248
+ "data-component": "server-overview",
1249
+ ref: i,
1250
+ ...r,
1251
+ children: n.map((t) => /* @__PURE__ */ T("div", {
1252
+ className: "rounded-lg border border-border bg-surface p-3 gds-ctx",
1253
+ children: [
1254
+ /* @__PURE__ */ T("div", {
1255
+ className: "flex items-center justify-between mb-2",
1256
+ children: [/* @__PURE__ */ w("span", {
1257
+ className: "gds-text-label font-medium text-fg",
1258
+ children: t.name
1259
+ }), /* @__PURE__ */ T("span", {
1260
+ className: "inline-flex items-center gap-1.5",
1261
+ children: [/* @__PURE__ */ w("span", { className: e("h-2 w-2 rounded-full", t.status === "online" ? "bg-success" : "bg-danger") }), /* @__PURE__ */ w("span", {
1262
+ className: "text-xs text-fg-muted",
1263
+ children: t.status
1264
+ })]
1265
+ })]
1266
+ }),
1267
+ /* @__PURE__ */ w("div", {
1268
+ className: "text-xs text-fg-muted mb-2",
1269
+ children: t.location
1270
+ }),
1271
+ t.metrics !== void 0 && /* @__PURE__ */ T("div", {
1272
+ className: "flex flex-col gap-1.5",
1273
+ children: [
1274
+ /* @__PURE__ */ w(Q, {
1275
+ label: "CPU",
1276
+ value: t.metrics.cpu
1277
+ }),
1278
+ /* @__PURE__ */ w(Q, {
1279
+ label: "MEM",
1280
+ value: t.metrics.mem
1281
+ }),
1282
+ /* @__PURE__ */ w(Q, {
1283
+ label: "DISK",
1284
+ value: t.metrics.disk
1285
+ })
1286
+ ]
1287
+ })
1288
+ ]
1289
+ }, t.name))
1290
+ });
1291
+ });
1292
+ //#endregion
1293
+ //#region src/l7-patterns/settings-layout.tsx
1294
+ function Le({ className: t, defaultSection: n, sections: r }) {
1295
+ let [i, a] = S(n ?? r[0]?.id ?? ""), o = r.find((e) => e.id === i);
1296
+ return /* @__PURE__ */ T("div", {
1297
+ className: e("flex gap-6", t),
1298
+ "data-component": "settings-layout",
1299
+ children: [/* @__PURE__ */ w("nav", {
1300
+ className: "w-48 shrink-0",
1301
+ children: /* @__PURE__ */ w("ul", {
1302
+ className: "flex flex-col gap-0.5",
1303
+ role: "list",
1304
+ children: r.map((t) => /* @__PURE__ */ w("li", { children: /* @__PURE__ */ w("button", {
1305
+ type: "button",
1306
+ className: e("w-full rounded-md px-3 py-2 text-left gds-text-body transition-colors", t.id === i ? "bg-accent/10 font-medium text-accent" : "text-fg-muted hover:bg-bg-tertiary hover:text-fg"),
1307
+ onClick: () => a(t.id),
1308
+ children: t.label
1309
+ }) }, t.id))
1310
+ })
1311
+ }), /* @__PURE__ */ w("div", {
1312
+ className: "min-w-0 flex-1",
1313
+ children: o === void 0 ? null : o.content
1314
+ })]
1315
+ });
1316
+ }
1317
+ //#endregion
1318
+ //#region src/l7-patterns/sidebar.tsx
1319
+ var Re = v(function({ children: n, collapsed: r = !1, onCollapse: i, width: a = 240, collapsedWidth: o = 56, position: s = "left", glass: c, className: l }, u) {
1320
+ let d = r ? o : a;
1321
+ return /* @__PURE__ */ T("div", {
1322
+ ref: u,
1323
+ className: e("flex flex-col overflow-hidden transition-[width] duration-200", s === "left" ? "border-r" : "border-l", c === !0 ? e(t(c), "border-white/10 bg-bg/60") : "border-border bg-surface", l),
1324
+ "data-collapsed": r,
1325
+ "data-component": "sidebar",
1326
+ style: { width: d },
1327
+ children: [/* @__PURE__ */ w("div", {
1328
+ className: "flex-1 overflow-hidden",
1329
+ children: n
1330
+ }), i !== void 0 && /* @__PURE__ */ w("button", {
1331
+ className: "flex h-10 items-center justify-center border-t border-border/50 text-fg-muted hover:text-fg transition-colors",
1332
+ type: "button",
1333
+ onClick: () => i(!r),
1334
+ children: /* @__PURE__ */ w("svg", {
1335
+ className: e("transition-transform duration-200", r && "rotate-180", s === "right" && "rotate-180", r && s === "right" && "rotate-0"),
1336
+ fill: "none",
1337
+ height: "14",
1338
+ stroke: "currentColor",
1339
+ strokeWidth: "2",
1340
+ viewBox: "0 0 24 24",
1341
+ width: "14",
1342
+ children: /* @__PURE__ */ w("polyline", { points: "15 18 9 12 15 6" })
1343
+ })
1344
+ })]
1345
+ });
1346
+ });
1347
+ //#endregion
1348
+ //#region src/l7-patterns/skeleton-pattern.tsx
1349
+ function ze() {
1350
+ return /* @__PURE__ */ T("div", {
1351
+ className: "flex flex-col gds-gap gds-ctx gds-pad gds-radius-card",
1352
+ children: [
1353
+ /* @__PURE__ */ w(l, {
1354
+ variant: "rect",
1355
+ height: 120
1356
+ }),
1357
+ /* @__PURE__ */ w(l, {
1358
+ variant: "text",
1359
+ width: "60%"
1360
+ }),
1361
+ /* @__PURE__ */ w(l, {
1362
+ variant: "text",
1363
+ lines: 2
1364
+ })
1365
+ ]
1366
+ });
1367
+ }
1368
+ function Be() {
1369
+ return /* @__PURE__ */ T("div", {
1370
+ className: "flex items-center gap-3",
1371
+ children: [/* @__PURE__ */ w(l, { variant: "circle" }), /* @__PURE__ */ T("div", {
1372
+ className: "flex flex-1 flex-col gap-2",
1373
+ children: [/* @__PURE__ */ w(l, {
1374
+ variant: "text",
1375
+ width: "40%"
1376
+ }), /* @__PURE__ */ w(l, {
1377
+ variant: "text",
1378
+ width: "80%"
1379
+ })]
1380
+ })]
1381
+ });
1382
+ }
1383
+ function Ve() {
1384
+ return /* @__PURE__ */ T("div", {
1385
+ className: "flex flex-col items-center gds-gap gds-ctx gds-pad",
1386
+ children: [
1387
+ /* @__PURE__ */ w(l, {
1388
+ variant: "circle",
1389
+ width: 64,
1390
+ height: 64
1391
+ }),
1392
+ /* @__PURE__ */ w(l, {
1393
+ variant: "text",
1394
+ width: "30%"
1395
+ }),
1396
+ /* @__PURE__ */ w(l, {
1397
+ variant: "text",
1398
+ lines: 3
1399
+ })
1400
+ ]
1401
+ });
1402
+ }
1403
+ function $({ rows: e }) {
1404
+ return /* @__PURE__ */ T("div", {
1405
+ className: "flex flex-col gap-2",
1406
+ children: [/* @__PURE__ */ T("div", {
1407
+ className: "flex gap-4",
1408
+ children: [
1409
+ /* @__PURE__ */ w(l, {
1410
+ variant: "text",
1411
+ width: "25%"
1412
+ }),
1413
+ /* @__PURE__ */ w(l, {
1414
+ variant: "text",
1415
+ width: "25%"
1416
+ }),
1417
+ /* @__PURE__ */ w(l, {
1418
+ variant: "text",
1419
+ width: "25%"
1420
+ }),
1421
+ /* @__PURE__ */ w(l, {
1422
+ variant: "text",
1423
+ width: "25%"
1424
+ })
1425
+ ]
1426
+ }), Array.from({ length: e }, (e, t) => /* @__PURE__ */ T("div", {
1427
+ className: "flex gap-4",
1428
+ children: [
1429
+ /* @__PURE__ */ w(l, {
1430
+ variant: "text",
1431
+ width: "25%"
1432
+ }),
1433
+ /* @__PURE__ */ w(l, {
1434
+ variant: "text",
1435
+ width: "25%"
1436
+ }),
1437
+ /* @__PURE__ */ w(l, {
1438
+ variant: "text",
1439
+ width: "25%"
1440
+ }),
1441
+ /* @__PURE__ */ w(l, {
1442
+ variant: "text",
1443
+ width: "25%"
1444
+ })
1445
+ ]
1446
+ }, t))]
1447
+ });
1448
+ }
1449
+ var He = v(function({ variant: t, count: n = 1, glass: r, className: i }, a) {
1450
+ let o = r ? "backdrop-blur-md bg-white/5" : void 0;
1451
+ return t === "card" ? /* @__PURE__ */ w("div", {
1452
+ ref: a,
1453
+ className: e("gds-ctx gds-radius-card", o, i),
1454
+ "data-component": "skeleton-pattern",
1455
+ "data-variant": "card",
1456
+ children: /* @__PURE__ */ w(ze, {})
1457
+ }) : t === "list" ? /* @__PURE__ */ w("div", {
1458
+ ref: a,
1459
+ className: e("flex flex-col gds-gap gds-ctx gds-pad", o, i),
1460
+ "data-component": "skeleton-pattern",
1461
+ "data-variant": "list",
1462
+ children: Array.from({ length: n }, (e, t) => /* @__PURE__ */ w(Be, {}, t))
1463
+ }) : t === "profile" ? /* @__PURE__ */ w("div", {
1464
+ ref: a,
1465
+ className: e(o, i),
1466
+ "data-component": "skeleton-pattern",
1467
+ "data-variant": "profile",
1468
+ children: /* @__PURE__ */ w(Ve, {})
1469
+ }) : /* @__PURE__ */ w("div", {
1470
+ ref: a,
1471
+ className: e("gds-ctx gds-pad", o, i),
1472
+ "data-component": "skeleton-pattern",
1473
+ "data-variant": "table",
1474
+ children: /* @__PURE__ */ w($, { rows: n })
1475
+ });
1476
+ });
1477
+ //#endregion
1478
+ //#region src/l7-patterns/splash-screen.tsx
1479
+ function Ue() {
1480
+ return /* @__PURE__ */ T("svg", {
1481
+ className: "h-5 w-5 animate-spin text-accent",
1482
+ fill: "none",
1483
+ viewBox: "0 0 24 24",
1484
+ children: [/* @__PURE__ */ w("circle", {
1485
+ className: "opacity-25",
1486
+ cx: "12",
1487
+ cy: "12",
1488
+ r: "10",
1489
+ stroke: "currentColor",
1490
+ strokeWidth: "4"
1491
+ }), /* @__PURE__ */ w("path", {
1492
+ className: "opacity-75",
1493
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z",
1494
+ fill: "currentColor"
1495
+ })]
1496
+ });
1497
+ }
1498
+ var We = v(function({ className: t, logo: n, message: r, title: i, visible: a, ...o }, s) {
1499
+ return /* @__PURE__ */ T("div", {
1500
+ ref: s,
1501
+ className: e("fixed inset-0 z-[9999] flex flex-col items-center justify-center bg-bg transition-opacity duration-300", a === !0 ? "opacity-100" : "pointer-events-none opacity-0", t),
1502
+ "data-component": "splash-screen",
1503
+ "data-visible": a,
1504
+ ...o,
1505
+ children: [
1506
+ n !== void 0 && /* @__PURE__ */ w("div", {
1507
+ className: "mb-6",
1508
+ children: n
1509
+ }),
1510
+ i !== void 0 && /* @__PURE__ */ w("h1", {
1511
+ className: "mb-2 text-lg font-semibold text-fg",
1512
+ children: i
1513
+ }),
1514
+ r !== void 0 && /* @__PURE__ */ w("p", {
1515
+ className: "mb-8 text-sm text-fg-muted",
1516
+ children: r
1517
+ }),
1518
+ /* @__PURE__ */ w(Ue, {})
1519
+ ]
1520
+ });
1521
+ }), Ge = v(function({ className: t, defaultSplit: n = 50, left: r, minLeft: i = 20, minRight: a = 20, right: o, ...s }, c) {
1522
+ let [l, u] = S(n), d = x(null), p = y((e) => {
1523
+ let t = d.current;
1524
+ if (t === null) return;
1525
+ let n = t.offsetWidth;
1526
+ if (n === 0) return;
1527
+ let r = e / n * 100;
1528
+ u((e) => {
1529
+ let t = e + r;
1530
+ return t < i ? i : t > 100 - a ? 100 - a : t;
1531
+ });
1532
+ }, [i, a]);
1533
+ return /* @__PURE__ */ T("div", {
1534
+ className: e("flex h-full w-full", t),
1535
+ "data-component": "split-view",
1536
+ ref: (e) => {
1537
+ d.current = e, typeof c == "function" ? c(e) : c != null && (c.current = e);
1538
+ },
1539
+ ...s,
1540
+ children: [
1541
+ /* @__PURE__ */ w("div", {
1542
+ className: "overflow-auto",
1543
+ style: { width: `${l}%` },
1544
+ children: r
1545
+ }),
1546
+ /* @__PURE__ */ w(f, {
1547
+ orientation: "vertical",
1548
+ onResize: p
1549
+ }),
1550
+ /* @__PURE__ */ w("div", {
1551
+ className: "overflow-auto",
1552
+ style: { width: `${100 - l}%` },
1553
+ children: o
1554
+ })
1555
+ ]
1556
+ });
1557
+ }), Ke = {
1558
+ 2: "grid-cols-2",
1559
+ 3: "grid-cols-3",
1560
+ 4: "grid-cols-4"
1561
+ }, qe = v(function({ children: t, columns: n = 3, className: r }, i) {
1562
+ return /* @__PURE__ */ w("div", {
1563
+ ref: i,
1564
+ className: e("grid gds-gap-lg", Ke[n], r),
1565
+ "data-component": "stat-grid",
1566
+ children: t
1567
+ });
1568
+ });
1569
+ //#endregion
1570
+ //#region src/l7-patterns/stats-card.tsx
1571
+ function Je({ data: e }) {
1572
+ if (e.length < 2) return null;
1573
+ let t = Math.max(...e), n = Math.min(...e), r = t - n;
1574
+ return /* @__PURE__ */ w("svg", {
1575
+ className: "mt-2",
1576
+ height: 24,
1577
+ viewBox: "0 0 64 24",
1578
+ width: 64,
1579
+ children: /* @__PURE__ */ w("polyline", {
1580
+ fill: "none",
1581
+ points: e.map((t, i) => `${i / (e.length - 1) * 64},${r > 0 ? 24 - (t - n) / r * 24 : 24 / 2}`).join(" "),
1582
+ stroke: "var(--gds-accent)",
1583
+ strokeWidth: 1.5
1584
+ })
1585
+ });
1586
+ }
1587
+ var Ye = v(function({ icon: n, label: r, value: i, trend: a, sparkData: o, glass: s, className: c }, l) {
1588
+ let u = a !== void 0 && a >= 0;
1589
+ return /* @__PURE__ */ T("div", {
1590
+ ref: l,
1591
+ className: e("relative gds-ctx gds-radius-card border gds-pad-x-lg gds-pad-y-lg", s === !0 ? e(t(s), "border-white/10 bg-bg/60") : "border-border bg-surface", c),
1592
+ "data-component": "stats-card",
1593
+ children: [
1594
+ /* @__PURE__ */ T("div", {
1595
+ className: "flex items-start justify-between",
1596
+ children: [/* @__PURE__ */ T("div", {
1597
+ className: "flex items-center gap-2",
1598
+ children: [n !== void 0 && /* @__PURE__ */ w("div", {
1599
+ className: "text-fg-muted/50",
1600
+ children: n
1601
+ }), /* @__PURE__ */ w("p", {
1602
+ className: "gds-text-body text-fg-muted",
1603
+ children: r
1604
+ })]
1605
+ }), a !== void 0 && /* @__PURE__ */ T("span", {
1606
+ className: e("inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium", u ? "bg-success/10 text-success" : "bg-danger/10 text-danger"),
1607
+ children: [
1608
+ u ? "↑" : "↓",
1609
+ u ? "+" : "",
1610
+ a,
1611
+ "%"
1612
+ ]
1613
+ })]
1614
+ }),
1615
+ /* @__PURE__ */ w("p", {
1616
+ className: "mt-1 text-2xl font-bold text-fg",
1617
+ children: i
1618
+ }),
1619
+ o !== void 0 && o.length >= 2 && /* @__PURE__ */ w(Je, { data: o })
1620
+ ]
1621
+ });
1622
+ }), Xe = v(function({ code: t, title: n, description: r, action: i, secondaryAction: a, illustration: o, className: s }, c) {
1623
+ return /* @__PURE__ */ T("div", {
1624
+ ref: c,
1625
+ className: e("flex min-h-[60vh] flex-col items-center justify-center gap-4 text-center", s),
1626
+ "data-component": "status-page",
1627
+ children: [
1628
+ o !== void 0 && /* @__PURE__ */ w("div", {
1629
+ className: "mb-2",
1630
+ children: o
1631
+ }),
1632
+ t !== void 0 && /* @__PURE__ */ w("p", {
1633
+ className: "text-6xl font-bold text-fg-muted/10",
1634
+ children: t
1635
+ }),
1636
+ /* @__PURE__ */ w("h1", {
1637
+ className: "text-xl font-semibold text-fg",
1638
+ children: n
1639
+ }),
1640
+ r !== void 0 && /* @__PURE__ */ w("p", {
1641
+ className: "max-w-md text-fg-muted",
1642
+ children: r
1643
+ }),
1644
+ (i !== void 0 || a !== void 0) && /* @__PURE__ */ T("div", {
1645
+ className: "mt-2 flex items-center gap-3",
1646
+ children: [i, a]
1647
+ })
1648
+ ]
1649
+ });
1650
+ }), Ze = v(function({ steps: t, onComplete: r, completeLabel: i = "Complete", glass: a = !1, className: o, ...s }, c) {
1651
+ let [l, u] = S(0), d = l === 0, f = l === t.length - 1, p = t.map((e) => ({
1652
+ label: e.title,
1653
+ description: e.description
1654
+ }));
1655
+ return /* @__PURE__ */ T("div", {
1656
+ ref: c,
1657
+ className: e("flex flex-col rounded-lg border border-border p-6", a ? "bg-bg/80 backdrop-blur-xl" : "bg-bg-secondary", o),
1658
+ "data-component": "stepper-form",
1659
+ ...s,
1660
+ children: [
1661
+ /* @__PURE__ */ w(g, {
1662
+ steps: p,
1663
+ current: l,
1664
+ className: "mb-6"
1665
+ }),
1666
+ /* @__PURE__ */ w("div", {
1667
+ className: "min-h-[120px] flex-1",
1668
+ children: t[l]?.content
1669
+ }),
1670
+ /* @__PURE__ */ T("div", {
1671
+ className: "mt-6 flex items-center justify-between",
1672
+ children: [/* @__PURE__ */ w(n, {
1673
+ variant: "secondary",
1674
+ size: "sm",
1675
+ disabled: d,
1676
+ onClick: () => u((e) => e - 1),
1677
+ children: "Previous"
1678
+ }), f ? /* @__PURE__ */ w(n, {
1679
+ size: "sm",
1680
+ onClick: r,
1681
+ children: i
1682
+ }) : /* @__PURE__ */ w(n, {
1683
+ size: "sm",
1684
+ onClick: () => u((e) => e + 1),
1685
+ children: "Next"
1686
+ })]
1687
+ })
1688
+ ]
1689
+ });
1690
+ }), Qe = v(function({ children: n, className: r, glass: i = !0, threshold: a = 0, ...o }, s) {
1691
+ let [c, l] = S(!1);
1692
+ return b(() => {
1693
+ function e() {
1694
+ l(window.scrollY > a);
1695
+ }
1696
+ return window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
1697
+ }, [a]), /* @__PURE__ */ w("div", {
1698
+ className: e("sticky top-0 z-40 transition-[background-color,box-shadow] duration-200", c && "shadow-md bg-bg/80", c && i && t(!0), r),
1699
+ "data-component": "sticky-header",
1700
+ "data-sticky": c,
1701
+ ref: s,
1702
+ ...o,
1703
+ children: n
1704
+ });
1705
+ }), $e = v(function({ quote: n, author: r, role: i, avatar: a, rating: o, glass: s, className: c }, l) {
1706
+ return /* @__PURE__ */ T("div", {
1707
+ ref: l,
1708
+ className: e("gds-ctx gds-radius-card border gds-pad-x-lg gds-pad-y-lg", s === !0 ? e(t(s), "border-white/10 bg-bg/60") : "border-border bg-surface", c),
1709
+ "data-component": "testimonial",
1710
+ children: [
1711
+ /* @__PURE__ */ w("svg", {
1712
+ className: "mb-3 h-6 w-6 text-fg-muted opacity-30",
1713
+ viewBox: "0 0 24 24",
1714
+ fill: "currentColor",
1715
+ children: /* @__PURE__ */ w("path", { d: "M4.583 17.321C3.553 16.227 3 15 3 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378C7.06 7.752 6.14 9.87 5.94 11.501c.26-.058.527-.088.8-.088 1.656 0 2.96 1.283 2.96 2.87 0 1.586-1.304 2.87-2.96 2.87-.83 0-1.572-.358-2.157-.832zM14.583 17.321C13.553 16.227 13 15 13 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-2.863 1.551-3.783 3.669-3.983 5.3.26-.058.527-.088.8-.088 1.656 0 2.96 1.283 2.96 2.87 0 1.586-1.304 2.87-2.96 2.87-.83 0-1.572-.358-2.157-.832z" })
1716
+ }),
1717
+ /* @__PURE__ */ w("p", {
1718
+ className: "gds-text-body italic text-fg",
1719
+ children: n
1720
+ }),
1721
+ o !== void 0 && /* @__PURE__ */ w("div", {
1722
+ className: "mt-3 flex gap-0.5",
1723
+ children: Array.from({ length: 5 }, (t, n) => /* @__PURE__ */ w("svg", {
1724
+ className: e("h-4 w-4", n < o ? "text-warning" : "text-fg-muted/30"),
1725
+ viewBox: "0 0 20 20",
1726
+ fill: "currentColor",
1727
+ children: /* @__PURE__ */ w("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" })
1728
+ }, n))
1729
+ }),
1730
+ /* @__PURE__ */ T("div", {
1731
+ className: "mt-4 flex items-center gap-3",
1732
+ children: [a !== void 0 && /* @__PURE__ */ w("img", {
1733
+ src: a,
1734
+ alt: r,
1735
+ className: "h-10 w-10 rounded-full object-cover"
1736
+ }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
1737
+ className: "text-sm font-medium text-fg",
1738
+ children: r
1739
+ }), i !== void 0 && /* @__PURE__ */ w("p", {
1740
+ className: "text-xs text-fg-muted",
1741
+ children: i
1742
+ })] })]
1743
+ })
1744
+ ]
1745
+ });
1746
+ });
1747
+ //#endregion
1748
+ //#region src/l7-patterns/timeline-steps.tsx
1749
+ function et({ steps: t, className: n }) {
1750
+ return /* @__PURE__ */ w("div", {
1751
+ "data-component": "timeline-steps",
1752
+ className: e("flex items-start", n),
1753
+ children: t.map((n, r) => /* @__PURE__ */ T("div", {
1754
+ className: "flex flex-1 items-start",
1755
+ children: [/* @__PURE__ */ T("div", {
1756
+ className: "flex flex-col items-center",
1757
+ children: [/* @__PURE__ */ w("div", {
1758
+ "data-status": n.status,
1759
+ className: e("flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-xs font-semibold", n.status === "completed" && "bg-success text-white", n.status === "current" && "bg-accent text-accent-fg animate-pulse", n.status === "upcoming" && "bg-bg-tertiary text-fg-muted"),
1760
+ children: n.status === "completed" ? /* @__PURE__ */ w("svg", {
1761
+ width: "14",
1762
+ height: "14",
1763
+ viewBox: "0 0 24 24",
1764
+ fill: "none",
1765
+ stroke: "currentColor",
1766
+ strokeWidth: "3",
1767
+ strokeLinecap: "round",
1768
+ strokeLinejoin: "round",
1769
+ children: /* @__PURE__ */ w("polyline", { points: "20 6 9 17 4 12" })
1770
+ }) : r + 1
1771
+ }), /* @__PURE__ */ T("div", {
1772
+ className: "mt-2 text-center",
1773
+ children: [/* @__PURE__ */ w("div", {
1774
+ className: "text-xs font-medium text-fg",
1775
+ children: n.label
1776
+ }), n.description !== void 0 && /* @__PURE__ */ w("div", {
1777
+ className: "mt-0.5 text-[10px] text-fg-muted",
1778
+ children: n.description
1779
+ })]
1780
+ })]
1781
+ }), r < t.length - 1 && /* @__PURE__ */ w("div", { className: e("mt-4 h-0.5 flex-1 mx-2", n.status === "completed" ? "bg-success" : "bg-border") })]
1782
+ }, n.label))
1783
+ });
1784
+ }
1785
+ //#endregion
1786
+ //#region src/l7-patterns/toolbar.tsx
1787
+ var tt = v(function({ children: n, className: r, glass: i, position: a = "top", ...o }, s) {
1788
+ let c = a === "floating", l = i ?? c;
1789
+ return /* @__PURE__ */ w("div", {
1790
+ ref: s,
1791
+ className: e("flex items-center gds-gap-sm gds-pad-x gds-pad-y-sm", a === "top" && "border-b border-border", a === "bottom" && "border-t border-border", c && "rounded-full gds-shadow-lg", l === !0 ? e(t(l), "border-white/10 bg-bg/60") : !c && "bg-surface", c && l !== !0 && "border border-border bg-surface", r),
1792
+ "data-component": "toolbar",
1793
+ "data-position": a,
1794
+ role: "toolbar",
1795
+ ...o,
1796
+ children: n
1797
+ });
1798
+ }), nt = v(function({ steps: t, currentStep: n, children: r, actions: i, className: a, ...o }, s) {
1799
+ return /* @__PURE__ */ T("div", {
1800
+ ref: s,
1801
+ className: e("flex min-h-0 flex-1 flex-col gds-gap", a),
1802
+ "data-component": "wizard-layout",
1803
+ ...o,
1804
+ children: [
1805
+ /* @__PURE__ */ w("div", {
1806
+ className: "shrink-0 gds-pad-x",
1807
+ children: /* @__PURE__ */ w(m, {
1808
+ steps: t,
1809
+ current: n
1810
+ })
1811
+ }),
1812
+ /* @__PURE__ */ w("div", {
1813
+ className: "min-h-0 flex-1 overflow-auto gds-pad-x",
1814
+ children: r
1815
+ }),
1816
+ i !== void 0 && /* @__PURE__ */ w("div", {
1817
+ className: "flex shrink-0 items-center justify-end gds-gap gds-pad-x gds-pad-y border-t border-border",
1818
+ children: i
1819
+ })
1820
+ ]
1821
+ });
1822
+ });
1823
+ //#endregion
1824
+ export { re as $, me as A, V as B, Ce as C, ye as D, be as E, ae as F, I as G, z as H, ie as I, N as J, F as K, X as L, se as M, Z as N, ge as O, oe as P, O as Q, G as R, we as S, xe as T, R as U, B as V, L as W, j as X, M as Y, A as Z, Ae as _, Qe as a, De as b, Ye as c, We as d, ne as et, He as f, je as g, Ie as h, $e as i, pe as j, he as k, qe as l, Le as m, tt as n, Ze as o, Re as p, P as q, et as r, Xe as s, nt as t, te as tt, Ge as u, ke as v, Se as w, Ee as x, Oe as y, H as z };
1825
+
1826
+ //# sourceMappingURL=l7-patterns-DZXveS4Y.js.map