@goliapkg/gds 1.6.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/{gesture-irjS0hVM.js → gesture-I79dlTuS.js} +1 -1
  2. package/dist/{gesture-irjS0hVM.js.map → gesture-I79dlTuS.js.map} +1 -1
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +26 -26
  6. package/dist/l0-tokens/color-derive.d.ts +4 -0
  7. package/dist/l0-tokens/color-derive.d.ts.map +1 -1
  8. package/dist/l0-tokens/index.js +1 -1
  9. package/dist/l0-tokens/motion-system.d.ts +1 -0
  10. package/dist/l0-tokens/motion-system.d.ts.map +1 -1
  11. package/dist/l0-tokens/shadow-system.d.ts.map +1 -1
  12. package/dist/l1-systems/index.d.ts +2 -2
  13. package/dist/l1-systems/index.d.ts.map +1 -1
  14. package/dist/l1-systems/index.js +9 -9
  15. package/dist/l1-systems/theme.d.ts +28 -0
  16. package/dist/l1-systems/theme.d.ts.map +1 -1
  17. package/dist/l2-primitives/focus-ring.d.ts +9 -3
  18. package/dist/l2-primitives/focus-ring.d.ts.map +1 -1
  19. package/dist/l2-primitives/glow-effect.d.ts +8 -2
  20. package/dist/l2-primitives/glow-effect.d.ts.map +1 -1
  21. package/dist/l2-primitives/gradient-border.d.ts +8 -2
  22. package/dist/l2-primitives/gradient-border.d.ts.map +1 -1
  23. package/dist/l2-primitives/index.js +2 -2
  24. package/dist/l2-primitives/input.d.ts +16 -0
  25. package/dist/l2-primitives/input.d.ts.map +1 -1
  26. package/dist/l2-primitives/loading.d.ts +21 -6
  27. package/dist/l2-primitives/loading.d.ts.map +1 -1
  28. package/dist/l2-primitives/truncate.d.ts +8 -2
  29. package/dist/l2-primitives/truncate.d.ts.map +1 -1
  30. package/dist/{l2-primitives-Le0006ck.js → l2-primitives-DdQHMJRE.js} +57 -40
  31. package/dist/l2-primitives-DdQHMJRE.js.map +1 -0
  32. package/dist/l3-atoms/glow-dot.d.ts +4 -0
  33. package/dist/l3-atoms/glow-dot.d.ts.map +1 -1
  34. package/dist/l3-atoms/index.js +6 -6
  35. package/dist/{l3-atoms-LtIFAn9Y.js → l3-atoms-BGwlQvjl.js} +152 -189
  36. package/dist/l3-atoms-BGwlQvjl.js.map +1 -0
  37. package/dist/l4-molecules/accordion.d.ts.map +1 -1
  38. package/dist/l4-molecules/card.d.ts +9 -6
  39. package/dist/l4-molecules/card.d.ts.map +1 -1
  40. package/dist/l4-molecules/combobox-list.d.ts +4 -1
  41. package/dist/l4-molecules/combobox-list.d.ts.map +1 -1
  42. package/dist/l4-molecules/combobox.d.ts +5 -0
  43. package/dist/l4-molecules/combobox.d.ts.map +1 -1
  44. package/dist/l4-molecules/email-composer-field.d.ts +38 -0
  45. package/dist/l4-molecules/email-composer-field.d.ts.map +1 -0
  46. package/dist/l4-molecules/index.d.ts +6 -0
  47. package/dist/l4-molecules/index.d.ts.map +1 -1
  48. package/dist/l4-molecules/index.js +4 -4
  49. package/dist/l4-molecules/tab-group.d.ts +5 -1
  50. package/dist/l4-molecules/tab-group.d.ts.map +1 -1
  51. package/dist/l4-molecules/tabs.d.ts +4 -1
  52. package/dist/l4-molecules/tabs.d.ts.map +1 -1
  53. package/dist/l4-molecules/toast-provider.d.ts +10 -0
  54. package/dist/l4-molecules/toast-provider.d.ts.map +1 -0
  55. package/dist/l4-molecules/toast-store.d.ts +42 -0
  56. package/dist/l4-molecules/toast-store.d.ts.map +1 -0
  57. package/dist/{l4-molecules-Bnt38HxY.js → l4-molecules-HRbUopGS.js} +1400 -1211
  58. package/dist/l4-molecules-HRbUopGS.js.map +1 -0
  59. package/dist/l5-organisms/command-palette-list.d.ts +3 -1
  60. package/dist/l5-organisms/command-palette-list.d.ts.map +1 -1
  61. package/dist/l5-organisms/command-palette.d.ts +10 -1
  62. package/dist/l5-organisms/command-palette.d.ts.map +1 -1
  63. package/dist/l5-organisms/data-table/data-table-toolbar.d.ts +4 -1
  64. package/dist/l5-organisms/data-table/data-table-toolbar.d.ts.map +1 -1
  65. package/dist/l5-organisms/data-table/data-table-types.d.ts +7 -1
  66. package/dist/l5-organisms/data-table/data-table-types.d.ts.map +1 -1
  67. package/dist/l5-organisms/data-table/data-table.d.ts.map +1 -1
  68. package/dist/l5-organisms/email-composer.d.ts +118 -0
  69. package/dist/l5-organisms/email-composer.d.ts.map +1 -0
  70. package/dist/l5-organisms/email-thread.d.ts +85 -0
  71. package/dist/l5-organisms/email-thread.d.ts.map +1 -0
  72. package/dist/l5-organisms/index.d.ts +6 -0
  73. package/dist/l5-organisms/index.d.ts.map +1 -1
  74. package/dist/l5-organisms/index.js +2 -2
  75. package/dist/l5-organisms/markdown-preview.d.ts +6 -0
  76. package/dist/l5-organisms/markdown-preview.d.ts.map +1 -1
  77. package/dist/l5-organisms/rich-text-editor.d.ts +56 -0
  78. package/dist/l5-organisms/rich-text-editor.d.ts.map +1 -0
  79. package/dist/{l5-organisms-C7LXv0jT.js → l5-organisms-BA62NsFK.js} +2474 -1269
  80. package/dist/l5-organisms-BA62NsFK.js.map +1 -0
  81. package/dist/l6-charts/index.js +1 -1
  82. package/dist/{l6-charts-DPMj1m0E.js → l6-charts-DzRRfX8J.js} +1 -1
  83. package/dist/{l6-charts-DPMj1m0E.js.map → l6-charts-DzRRfX8J.js.map} +1 -1
  84. package/dist/l7-patterns/admin-layout.d.ts +6 -0
  85. package/dist/l7-patterns/admin-layout.d.ts.map +1 -1
  86. package/dist/l7-patterns/app-shell.d.ts +44 -0
  87. package/dist/l7-patterns/app-shell.d.ts.map +1 -0
  88. package/dist/l7-patterns/inbox-layout.d.ts +50 -3
  89. package/dist/l7-patterns/inbox-layout.d.ts.map +1 -1
  90. package/dist/l7-patterns/index.d.ts +6 -2
  91. package/dist/l7-patterns/index.d.ts.map +1 -1
  92. package/dist/l7-patterns/index.js +2 -2
  93. package/dist/l7-patterns/panel-group.d.ts +42 -0
  94. package/dist/l7-patterns/panel-group.d.ts.map +1 -0
  95. package/dist/l7-patterns/settings-layout.d.ts +6 -1
  96. package/dist/l7-patterns/settings-layout.d.ts.map +1 -1
  97. package/dist/l7-patterns/sidebar.d.ts +14 -0
  98. package/dist/l7-patterns/sidebar.d.ts.map +1 -1
  99. package/dist/{l7-patterns-8fc4b3eE.js → l7-patterns-Dn7X2pQC.js} +847 -544
  100. package/dist/l7-patterns-Dn7X2pQC.js.map +1 -0
  101. package/dist/loading-dots-Dz79qOGY.js +62 -0
  102. package/dist/loading-dots-Dz79qOGY.js.map +1 -0
  103. package/dist/sanitize-BF45M9xp.js +33 -0
  104. package/dist/sanitize-BF45M9xp.js.map +1 -0
  105. package/dist/{scales-C80FTPsL.js → scales-DlVrSOA2.js} +103 -96
  106. package/dist/scales-DlVrSOA2.js.map +1 -0
  107. package/dist/spinner-DyrwL4JQ.js +201 -0
  108. package/dist/spinner-DyrwL4JQ.js.map +1 -0
  109. package/dist/stepper-DKJuH1ws.js +199 -0
  110. package/dist/stepper-DKJuH1ws.js.map +1 -0
  111. package/dist/theme.css +1 -0
  112. package/dist/toast-DTuqMdrj.js +614 -0
  113. package/dist/toast-DTuqMdrj.js.map +1 -0
  114. package/dist/tokens.css +5 -0
  115. package/dist/{use-theme-C0aWVw70.js → use-theme-BI1t0nvJ.js} +59 -34
  116. package/dist/use-theme-BI1t0nvJ.js.map +1 -0
  117. package/dist/utils/index.d.ts +2 -0
  118. package/dist/utils/index.d.ts.map +1 -1
  119. package/dist/utils/index.js +3 -2
  120. package/dist/utils/sanitize.d.ts +7 -0
  121. package/dist/utils/sanitize.d.ts.map +1 -0
  122. package/dist/utils/tiptap.d.ts +12 -0
  123. package/dist/utils/tiptap.d.ts.map +1 -0
  124. package/package.json +42 -3
  125. package/dist/l2-primitives-Le0006ck.js.map +0 -1
  126. package/dist/l3-atoms-LtIFAn9Y.js.map +0 -1
  127. package/dist/l4-molecules-Bnt38HxY.js.map +0 -1
  128. package/dist/l5-organisms-C7LXv0jT.js.map +0 -1
  129. package/dist/l7-patterns-8fc4b3eE.js.map +0 -1
  130. package/dist/loading-dots-fB4X_Zh0.js +0 -24
  131. package/dist/loading-dots-fB4X_Zh0.js.map +0 -1
  132. package/dist/scales-C80FTPsL.js.map +0 -1
  133. package/dist/spinner-N7UNjdsQ.js +0 -144
  134. package/dist/spinner-N7UNjdsQ.js.map +0 -1
  135. package/dist/stepper-DWJfv7TA.js +0 -140
  136. package/dist/stepper-DWJfv7TA.js.map +0 -1
  137. package/dist/toast-DN5xANLM.js +0 -442
  138. package/dist/toast-DN5xANLM.js.map +0 -1
  139. package/dist/use-theme-C0aWVw70.js.map +0 -1
@@ -0,0 +1,614 @@
1
+ import { r as e, t } from "./glass-CQTlX7IO.js";
2
+ import { r as n } from "./motion-DUPegem-.js";
3
+ import { forwardRef as r, useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
4
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ //#region src/l4-molecules/audit-entry.tsx
6
+ var u = {
7
+ default: "text-fg",
8
+ success: "text-success",
9
+ warning: "text-warning",
10
+ danger: "text-danger"
11
+ }, d = r(function({ action: t, className: n, target: r, timestamp: i, user: a, variant: o = "default", ...s }, d) {
12
+ return /* @__PURE__ */ l("div", {
13
+ className: e("flex items-center justify-between gds-gap gds-text", n),
14
+ "data-component": "audit-entry",
15
+ ref: d,
16
+ ...s,
17
+ children: [/* @__PURE__ */ c("span", {
18
+ className: "shrink-0 text-xs text-fg-muted",
19
+ children: i
20
+ }), /* @__PURE__ */ l("span", {
21
+ className: "flex-1 truncate",
22
+ children: [
23
+ /* @__PURE__ */ c("span", {
24
+ className: "font-medium text-fg",
25
+ children: a
26
+ }),
27
+ " ",
28
+ /* @__PURE__ */ c("span", {
29
+ className: u[o],
30
+ children: t
31
+ }),
32
+ r !== void 0 && /* @__PURE__ */ l("span", {
33
+ className: "text-fg-muted",
34
+ children: [" ", r]
35
+ })
36
+ ]
37
+ })]
38
+ });
39
+ });
40
+ //#endregion
41
+ //#region src/l4-molecules/email-composer-field.tsx
42
+ function f(e) {
43
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
44
+ }
45
+ function p(e) {
46
+ let t = 0;
47
+ for (let n = 0; n < e.length; n++) t = e.charCodeAt(n) + ((t << 5) - t);
48
+ let n = [
49
+ "bg-palette-0/20 text-palette-0",
50
+ "bg-palette-1/20 text-palette-1",
51
+ "bg-palette-2/20 text-palette-2",
52
+ "bg-palette-3/20 text-palette-3",
53
+ "bg-palette-4/20 text-palette-4",
54
+ "bg-palette-5/20 text-palette-5",
55
+ "bg-palette-6/20 text-palette-6",
56
+ "bg-palette-7/20 text-palette-7"
57
+ ];
58
+ return n[Math.abs(t) % n.length];
59
+ }
60
+ function m({ contact: t, onRemove: n }) {
61
+ let r = t.name ?? t.email;
62
+ return /* @__PURE__ */ l("span", {
63
+ className: e("inline-flex items-center gap-1 rounded-full px-2 py-0.5 gds-text-label select-none", p(t.email)),
64
+ "data-component": "contact-chip",
65
+ children: [/* @__PURE__ */ c("span", {
66
+ className: "truncate max-w-[160px]",
67
+ children: r
68
+ }), /* @__PURE__ */ c("button", {
69
+ type: "button",
70
+ className: "shrink-0 rounded-full p-0.5 hover:bg-white/10 transition-colors",
71
+ onClick: n,
72
+ "aria-label": `Remove ${r}`,
73
+ tabIndex: -1,
74
+ children: /* @__PURE__ */ c("svg", {
75
+ width: "10",
76
+ height: "10",
77
+ viewBox: "0 0 10 10",
78
+ fill: "none",
79
+ stroke: "currentColor",
80
+ strokeWidth: "2",
81
+ strokeLinecap: "round",
82
+ children: /* @__PURE__ */ c("path", { d: "M2 2l6 6M8 2l-6 6" })
83
+ })
84
+ })]
85
+ });
86
+ }
87
+ function h({ results: t, activeIndex: n, onSelect: r }) {
88
+ return t.length === 0 ? null : /* @__PURE__ */ c("div", {
89
+ className: "absolute left-0 right-0 top-full mt-1 z-50 rounded-lg border border-border bg-bg-secondary shadow-lg overflow-hidden max-h-48 overflow-y-auto",
90
+ role: "listbox",
91
+ id: "email-composer-suggestions",
92
+ children: t.map((t, i) => /* @__PURE__ */ l("button", {
93
+ type: "button",
94
+ className: e("flex w-full items-center gap-2 px-3 py-2 text-left gds-text-body transition-colors", i === n ? "bg-accent/10 text-accent" : "text-fg hover:bg-white/[0.04]"),
95
+ onClick: () => r(t),
96
+ "data-active": i === n,
97
+ role: "option",
98
+ "aria-selected": i === n,
99
+ children: [/* @__PURE__ */ c("span", {
100
+ className: e("flex h-6 w-6 shrink-0 items-center justify-center rounded-full gds-text-caption font-medium", p(t.email)),
101
+ children: (t.name ?? t.email).charAt(0).toUpperCase()
102
+ }), /* @__PURE__ */ l("div", {
103
+ className: "min-w-0 flex-1",
104
+ children: [t.name !== void 0 && /* @__PURE__ */ c("div", {
105
+ className: "truncate text-fg",
106
+ children: t.name
107
+ }), /* @__PURE__ */ c("div", {
108
+ className: "truncate text-fg-muted gds-text-label",
109
+ children: t.email
110
+ })]
111
+ })]
112
+ }, t.email))
113
+ });
114
+ }
115
+ var g = r(function({ value: n, onChange: r, onSearch: u, suggestions: d, label: p, placeholder: g, glass: _, className: v, ...y }, b) {
116
+ let [x, S] = s(""), [C, w] = s([]), [T, E] = s(0), [D, O] = s(!1), k = o(null), A = o(void 0), j = o(0), M = o(void 0);
117
+ a(() => () => {
118
+ M.current !== void 0 && clearTimeout(M.current);
119
+ }, []), a(() => {
120
+ if (x.length < 1) {
121
+ w(d ?? []);
122
+ return;
123
+ }
124
+ A.current !== void 0 && clearTimeout(A.current);
125
+ let e = ++j.current;
126
+ return A.current = setTimeout(async () => {
127
+ let t = await u(x);
128
+ e === j.current && (w(t.filter((e) => !n.some((t) => t.email === e.email))), E(0));
129
+ }, 200), () => {
130
+ A.current !== void 0 && clearTimeout(A.current);
131
+ };
132
+ }, [
133
+ x,
134
+ u,
135
+ d,
136
+ n
137
+ ]);
138
+ let N = i((e) => {
139
+ n.some((t) => t.email === e.email) || (r([...n, e]), S(""), w([]), O(!1), k.current?.focus());
140
+ }, [n, r]), P = i((e) => {
141
+ let t = e.trim();
142
+ if (t === "") return;
143
+ let i = t.split(/[,;\n]+/).map((e) => e.trim()).filter((e) => e !== ""), a = [];
144
+ for (let e of i) f(e) && !n.some((t) => t.email === e) && a.push({ email: e });
145
+ a.length > 0 && (r([...n, ...a]), S(""));
146
+ }, [n, r]), F = i((e) => {
147
+ let t = [...n];
148
+ t.splice(e, 1), r(t);
149
+ }, [n, r]), I = i((e) => {
150
+ e.key === "ArrowDown" && D ? (e.preventDefault(), E((e) => (e + 1) % Math.max(C.length, 1))) : e.key === "ArrowUp" && D ? (e.preventDefault(), E((e) => (e - 1 + C.length) % Math.max(C.length, 1))) : e.key === "Enter" && D && C[T] !== void 0 ? (e.preventDefault(), N(C[T])) : e.key === "Enter" || e.key === "Tab" || e.key === "," ? x.trim() !== "" && (e.preventDefault(), P(x)) : e.key === "Backspace" && x === "" && n.length > 0 && F(n.length - 1);
151
+ }, [
152
+ D,
153
+ C,
154
+ T,
155
+ x,
156
+ n,
157
+ N,
158
+ P,
159
+ F
160
+ ]), L = i((e) => {
161
+ let t = e.clipboardData.getData("text");
162
+ (t.includes(",") || t.includes(";") || t.includes("\n")) && (e.preventDefault(), P(t));
163
+ }, [P]);
164
+ return /* @__PURE__ */ l("div", {
165
+ ...y,
166
+ ref: b,
167
+ className: e("relative", v),
168
+ "data-component": "email-composer-field",
169
+ children: [/* @__PURE__ */ l("div", {
170
+ className: e("flex flex-wrap items-center gap-1 min-h-[36px] px-2 py-1 border border-border gds-radius-input bg-bg transition-colors", "focus-within:ring-2 focus-within:ring-accent/30", _ === !0 && t(_), _ === !0 && "border-white/10 bg-bg/60"),
171
+ onClick: () => k.current?.focus(),
172
+ children: [
173
+ /* @__PURE__ */ c("span", {
174
+ className: "shrink-0 gds-text-label text-fg-muted select-none w-6",
175
+ children: p
176
+ }),
177
+ n.map((e, t) => /* @__PURE__ */ c(m, {
178
+ contact: e,
179
+ onRemove: () => F(t)
180
+ }, e.email)),
181
+ /* @__PURE__ */ c("input", {
182
+ ref: k,
183
+ type: "text",
184
+ value: x,
185
+ onChange: (e) => {
186
+ S(e.target.value), O(!0);
187
+ },
188
+ onKeyDown: I,
189
+ onPaste: L,
190
+ onFocus: () => O(!0),
191
+ role: "combobox",
192
+ "aria-expanded": D && C.length > 0,
193
+ "aria-autocomplete": "list",
194
+ "aria-controls": "email-composer-suggestions",
195
+ "aria-label": `${p} recipients`,
196
+ onBlur: () => {
197
+ M.current !== void 0 && clearTimeout(M.current), M.current = setTimeout(() => {
198
+ M.current = void 0, O(!1), x.trim() !== "" && P(x);
199
+ }, 200);
200
+ },
201
+ placeholder: n.length === 0 ? g ?? `${p.toLowerCase()}@example.com` : "",
202
+ className: "flex-1 min-w-[120px] bg-transparent gds-text-body text-fg placeholder:text-fg-muted/30 outline-none"
203
+ })
204
+ ]
205
+ }), D && C.length > 0 && /* @__PURE__ */ c(h, {
206
+ results: C,
207
+ activeIndex: T,
208
+ onSelect: N
209
+ })]
210
+ });
211
+ }), _ = /* @__PURE__ */ c("svg", {
212
+ width: "14",
213
+ height: "14",
214
+ viewBox: "0 0 14 14",
215
+ fill: "none",
216
+ stroke: "currentColor",
217
+ strokeWidth: "2",
218
+ strokeLinecap: "round",
219
+ strokeLinejoin: "round",
220
+ children: /* @__PURE__ */ c("path", { d: "M2.5 7.5l3 3 6-6.5" })
221
+ }), v = /* @__PURE__ */ c("svg", {
222
+ width: "14",
223
+ height: "14",
224
+ viewBox: "0 0 14 14",
225
+ fill: "none",
226
+ stroke: "currentColor",
227
+ strokeWidth: "2",
228
+ strokeLinecap: "round",
229
+ children: /* @__PURE__ */ c("path", { d: "M3 3l8 8M11 3l-8 8" })
230
+ }), y = /* @__PURE__ */ c("svg", {
231
+ width: "12",
232
+ height: "12",
233
+ viewBox: "0 0 12 12",
234
+ fill: "none",
235
+ stroke: "currentColor",
236
+ strokeWidth: "1.5",
237
+ strokeLinecap: "round",
238
+ strokeLinejoin: "round",
239
+ children: /* @__PURE__ */ c("path", { d: "M7 2l3 3-7 7H0V9z" })
240
+ }), b = r(function({ value: t, onSave: r, onCancel: a, validate: o, placeholder: u = "Click to edit", disabled: d, className: f }, p) {
241
+ let [m, h] = s(!1), [g, b] = s(t), [x, S] = s(null), C = i(() => {
242
+ d !== !0 && (b(t), S(null), h(!0));
243
+ }, [d, t]), w = i(() => {
244
+ if (o !== void 0) {
245
+ let e = o(g);
246
+ if (e !== null) {
247
+ S(e);
248
+ return;
249
+ }
250
+ }
251
+ h(!1), S(null), r(g);
252
+ }, [
253
+ g,
254
+ r,
255
+ o
256
+ ]), T = i(() => {
257
+ h(!1), b(t), S(null), a !== void 0 && a();
258
+ }, [a, t]), E = i((e) => {
259
+ e.key === "Enter" && w(), e.key === "Escape" && T();
260
+ }, [w, T]);
261
+ if (m) return /* @__PURE__ */ l("div", {
262
+ ref: p,
263
+ className: e("inline-flex flex-col", f),
264
+ "data-component": "inline-edit",
265
+ "data-state": "editing",
266
+ children: [/* @__PURE__ */ l("div", {
267
+ className: "flex items-center gap-1",
268
+ children: [
269
+ /* @__PURE__ */ c("input", {
270
+ autoFocus: !0,
271
+ className: e("bg-transparent gds-text-body text-fg outline-none border-b border-accent/50 px-0.5", x !== null && "border-danger/50", n),
272
+ onChange: (e) => {
273
+ b(e.target.value), S(null);
274
+ },
275
+ onKeyDown: E,
276
+ type: "text",
277
+ value: g
278
+ }),
279
+ /* @__PURE__ */ c("button", {
280
+ type: "button",
281
+ onClick: w,
282
+ className: e("shrink-0 p-0.5 text-success hover:text-success/80", n),
283
+ "aria-label": "Save",
284
+ children: _
285
+ }),
286
+ /* @__PURE__ */ c("button", {
287
+ type: "button",
288
+ onClick: T,
289
+ className: e("shrink-0 p-0.5 text-fg-muted hover:text-fg", n),
290
+ "aria-label": "Cancel",
291
+ children: v
292
+ })
293
+ ]
294
+ }), x !== null && /* @__PURE__ */ c("span", {
295
+ className: "mt-0.5 text-[10px] text-danger",
296
+ children: x
297
+ })]
298
+ });
299
+ let D = t === "";
300
+ return /* @__PURE__ */ l("div", {
301
+ ref: p,
302
+ className: e("group inline-flex cursor-pointer items-center gap-1", d === !0 && "pointer-events-none opacity-50", f),
303
+ "data-component": "inline-edit",
304
+ "data-state": "display",
305
+ onClick: C,
306
+ onKeyDown: (e) => {
307
+ (e.key === "Enter" || e.key === " ") && C();
308
+ },
309
+ role: "button",
310
+ tabIndex: d === !0 ? -1 : 0,
311
+ children: [/* @__PURE__ */ c("span", {
312
+ className: e("gds-text-body", D ? "text-fg-muted" : "text-fg", n),
313
+ children: D ? u : t
314
+ }), /* @__PURE__ */ c("span", {
315
+ className: "text-fg-muted/0 transition-colors group-hover:text-fg-muted/60",
316
+ children: y
317
+ })]
318
+ });
319
+ }), x = r(function({ icon: t, title: n, description: r, trailing: i, onClick: a, active: o, disabled: s, className: u }, d) {
320
+ let f = a !== void 0 && s !== !0;
321
+ return /* @__PURE__ */ l("div", {
322
+ ref: d,
323
+ role: f ? "button" : void 0,
324
+ tabIndex: f ? 0 : void 0,
325
+ onClick: f ? a : void 0,
326
+ onKeyDown: f ? (e) => {
327
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
328
+ } : void 0,
329
+ className: e("flex items-center gap-3 gds-pad-x gds-pad-y-sm gds-text-body select-none", f && "cursor-pointer hover:bg-bg-tertiary", o === !0 && "border-l-2 border-l-accent bg-accent/5", s === !0 && "pointer-events-none opacity-50", u),
330
+ "data-component": "list-item",
331
+ "data-state": o === !0 ? "active" : void 0,
332
+ children: [
333
+ t !== void 0 && /* @__PURE__ */ c("span", {
334
+ className: "shrink-0 text-fg-muted",
335
+ children: t
336
+ }),
337
+ /* @__PURE__ */ l("div", {
338
+ className: "min-w-0 flex-1",
339
+ children: [/* @__PURE__ */ c("div", {
340
+ className: "font-medium text-fg",
341
+ children: n
342
+ }), r !== void 0 && /* @__PURE__ */ c("div", {
343
+ className: "mt-0.5 text-fg-muted gds-text-caption",
344
+ children: r
345
+ })]
346
+ }),
347
+ i !== void 0 && /* @__PURE__ */ c("span", {
348
+ className: "shrink-0",
349
+ children: i
350
+ })
351
+ ]
352
+ });
353
+ }), S = {
354
+ info: "border-l-accent",
355
+ success: "border-l-success",
356
+ warning: "border-l-warning",
357
+ danger: "border-l-danger"
358
+ }, C = {
359
+ info: "bg-accent/5",
360
+ success: "bg-success/5",
361
+ warning: "bg-warning/5",
362
+ danger: "bg-danger/5"
363
+ }, w = {
364
+ info: "text-accent",
365
+ success: "text-success",
366
+ warning: "text-warning",
367
+ danger: "text-danger"
368
+ }, T = {
369
+ info: /* @__PURE__ */ l("svg", {
370
+ width: "16",
371
+ height: "16",
372
+ viewBox: "0 0 16 16",
373
+ fill: "none",
374
+ stroke: "currentColor",
375
+ strokeWidth: "1.5",
376
+ strokeLinecap: "round",
377
+ children: [/* @__PURE__ */ c("circle", {
378
+ cx: "8",
379
+ cy: "8",
380
+ r: "6.5"
381
+ }), /* @__PURE__ */ c("path", { d: "M8 5.5h.01M8 7.5v3" })]
382
+ }),
383
+ success: /* @__PURE__ */ l("svg", {
384
+ width: "16",
385
+ height: "16",
386
+ viewBox: "0 0 16 16",
387
+ fill: "none",
388
+ stroke: "currentColor",
389
+ strokeWidth: "1.5",
390
+ strokeLinecap: "round",
391
+ strokeLinejoin: "round",
392
+ children: [/* @__PURE__ */ c("circle", {
393
+ cx: "8",
394
+ cy: "8",
395
+ r: "6.5"
396
+ }), /* @__PURE__ */ c("path", { d: "M5.5 8l2 2 3-3.5" })]
397
+ }),
398
+ warning: /* @__PURE__ */ l("svg", {
399
+ width: "16",
400
+ height: "16",
401
+ viewBox: "0 0 16 16",
402
+ fill: "none",
403
+ stroke: "currentColor",
404
+ strokeWidth: "1.5",
405
+ strokeLinecap: "round",
406
+ children: [/* @__PURE__ */ c("path", { d: "M7.13 2.5l-5.5 10h11l-5.5-10z" }), /* @__PURE__ */ c("path", { d: "M7.63 6.5v2.5M7.63 11h.01" })]
407
+ }),
408
+ danger: /* @__PURE__ */ l("svg", {
409
+ width: "16",
410
+ height: "16",
411
+ viewBox: "0 0 16 16",
412
+ fill: "none",
413
+ stroke: "currentColor",
414
+ strokeWidth: "1.5",
415
+ strokeLinecap: "round",
416
+ children: [/* @__PURE__ */ c("circle", {
417
+ cx: "8",
418
+ cy: "8",
419
+ r: "6.5"
420
+ }), /* @__PURE__ */ c("path", { d: "M5.5 5.5l5 5M10.5 5.5l-5 5" })]
421
+ })
422
+ }, E = r(function({ title: n, description: r, variant: i = "info", action: a, onClose: o, glass: s, className: u, ...d }, f) {
423
+ let p = i ?? "info";
424
+ return /* @__PURE__ */ l("div", {
425
+ ref: f,
426
+ className: e("flex w-full items-start gds-gap gds-radius-popover border border-border border-l-2 gds-pad-x gds-pad-y", S[p], C[p], s === !0 && t(s), u),
427
+ "data-component": "notification",
428
+ "data-variant": p,
429
+ role: "alert",
430
+ ...d,
431
+ children: [
432
+ /* @__PURE__ */ c("span", {
433
+ className: e("mt-px shrink-0", w[p]),
434
+ children: T[p]
435
+ }),
436
+ /* @__PURE__ */ l("div", {
437
+ className: "min-w-0 flex-1",
438
+ children: [/* @__PURE__ */ c("p", {
439
+ className: "gds-text-body font-medium text-fg",
440
+ children: n
441
+ }), r !== void 0 && /* @__PURE__ */ c("p", {
442
+ className: "mt-0.5 gds-text-label text-fg-muted",
443
+ children: r
444
+ })]
445
+ }),
446
+ a !== void 0 && /* @__PURE__ */ c("div", {
447
+ className: "shrink-0",
448
+ children: a
449
+ }),
450
+ o !== void 0 && /* @__PURE__ */ c("button", {
451
+ type: "button",
452
+ onClick: o,
453
+ className: e("shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg"),
454
+ "aria-label": "Dismiss",
455
+ children: /* @__PURE__ */ c("svg", {
456
+ width: "12",
457
+ height: "12",
458
+ viewBox: "0 0 12 12",
459
+ fill: "none",
460
+ stroke: "currentColor",
461
+ strokeWidth: "2",
462
+ strokeLinecap: "round",
463
+ children: /* @__PURE__ */ c("path", { d: "M2 2l8 8M10 2l-8 8" })
464
+ })
465
+ })
466
+ ]
467
+ });
468
+ }), D = {
469
+ low: "bg-success/15 text-success",
470
+ medium: "bg-warning/15 text-warning",
471
+ high: "bg-danger/15 text-danger",
472
+ critical: "bg-danger text-white"
473
+ }, O = r(function({ className: t, completed: n = !1, dueDate: r, onToggle: i, priority: a, title: o, ...s }, u) {
474
+ return /* @__PURE__ */ l("div", {
475
+ className: e("flex items-center gap-2 rounded px-2 py-1.5 text-sm", t),
476
+ "data-component": "task-item",
477
+ "data-completed": n,
478
+ ref: u,
479
+ ...s,
480
+ children: [
481
+ /* @__PURE__ */ c("input", {
482
+ checked: n,
483
+ className: "shrink-0 accent-accent",
484
+ onChange: i,
485
+ type: "checkbox"
486
+ }),
487
+ /* @__PURE__ */ c("span", {
488
+ className: e("flex-1 truncate", n && "line-through text-fg-muted"),
489
+ children: o
490
+ }),
491
+ a !== void 0 && /* @__PURE__ */ c("span", {
492
+ className: e("rounded px-1.5 py-0.5 text-[10px] font-medium uppercase", D[a]),
493
+ children: a
494
+ }),
495
+ r !== void 0 && /* @__PURE__ */ c("span", {
496
+ className: "shrink-0 text-xs text-fg-muted",
497
+ children: r
498
+ })
499
+ ]
500
+ });
501
+ }), k = {
502
+ default: "border-l-accent",
503
+ success: "border-l-success",
504
+ warning: "border-l-warning",
505
+ danger: "border-l-danger"
506
+ }, A = {
507
+ default: /* @__PURE__ */ l("svg", {
508
+ width: "16",
509
+ height: "16",
510
+ viewBox: "0 0 16 16",
511
+ fill: "none",
512
+ stroke: "currentColor",
513
+ strokeWidth: "1.5",
514
+ strokeLinecap: "round",
515
+ children: [/* @__PURE__ */ c("circle", {
516
+ cx: "8",
517
+ cy: "8",
518
+ r: "6.5"
519
+ }), /* @__PURE__ */ c("path", { d: "M8 5.5h.01M8 7.5v3" })]
520
+ }),
521
+ success: /* @__PURE__ */ l("svg", {
522
+ width: "16",
523
+ height: "16",
524
+ viewBox: "0 0 16 16",
525
+ fill: "none",
526
+ stroke: "currentColor",
527
+ strokeWidth: "1.5",
528
+ strokeLinecap: "round",
529
+ strokeLinejoin: "round",
530
+ children: [/* @__PURE__ */ c("circle", {
531
+ cx: "8",
532
+ cy: "8",
533
+ r: "6.5"
534
+ }), /* @__PURE__ */ c("path", { d: "M5.5 8l2 2 3-3.5" })]
535
+ }),
536
+ warning: /* @__PURE__ */ l("svg", {
537
+ width: "16",
538
+ height: "16",
539
+ viewBox: "0 0 16 16",
540
+ fill: "none",
541
+ stroke: "currentColor",
542
+ strokeWidth: "1.5",
543
+ strokeLinecap: "round",
544
+ children: [/* @__PURE__ */ c("path", { d: "M7.13 2.5l-5.5 10h11l-5.5-10z" }), /* @__PURE__ */ c("path", { d: "M7.63 6.5v2.5M7.63 11h.01" })]
545
+ }),
546
+ danger: /* @__PURE__ */ l("svg", {
547
+ width: "16",
548
+ height: "16",
549
+ viewBox: "0 0 16 16",
550
+ fill: "none",
551
+ stroke: "currentColor",
552
+ strokeWidth: "1.5",
553
+ strokeLinecap: "round",
554
+ children: [/* @__PURE__ */ c("circle", {
555
+ cx: "8",
556
+ cy: "8",
557
+ r: "6.5"
558
+ }), /* @__PURE__ */ c("path", { d: "M5.5 5.5l5 5M10.5 5.5l-5 5" })]
559
+ })
560
+ }, j = {
561
+ default: "text-accent",
562
+ success: "text-success",
563
+ warning: "text-warning",
564
+ danger: "text-danger"
565
+ }, M = r(function({ title: t, description: n, variant: r = "default", onClose: i, action: a, className: o, ...s }, u) {
566
+ return /* @__PURE__ */ l("div", {
567
+ ref: u,
568
+ className: e("flex items-start gds-gap gds-radius-popover border border-border border-l-4 bg-surface gds-pad-x gds-pad-y gds-shadow-lg", k[r], o),
569
+ "data-component": "toast",
570
+ "data-variant": r,
571
+ role: "status",
572
+ ...s,
573
+ children: [
574
+ /* @__PURE__ */ c("span", {
575
+ className: e("mt-px shrink-0", j[r]),
576
+ children: A[r]
577
+ }),
578
+ /* @__PURE__ */ l("div", {
579
+ className: "min-w-0 flex-1",
580
+ children: [/* @__PURE__ */ c("p", {
581
+ className: "gds-text-body font-medium text-fg",
582
+ children: t
583
+ }), n !== void 0 && /* @__PURE__ */ c("p", {
584
+ className: "mt-0.5 gds-text-label text-fg-muted",
585
+ children: n
586
+ })]
587
+ }),
588
+ a !== void 0 && /* @__PURE__ */ c("div", {
589
+ className: "shrink-0",
590
+ children: a
591
+ }),
592
+ i !== void 0 && /* @__PURE__ */ c("button", {
593
+ type: "button",
594
+ onClick: i,
595
+ className: e("shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg"),
596
+ "aria-label": "Dismiss",
597
+ children: /* @__PURE__ */ c("svg", {
598
+ width: "12",
599
+ height: "12",
600
+ viewBox: "0 0 12 12",
601
+ fill: "none",
602
+ stroke: "currentColor",
603
+ strokeWidth: "2",
604
+ strokeLinecap: "round",
605
+ children: /* @__PURE__ */ c("path", { d: "M2 2l8 8M10 2l-8 8" })
606
+ })
607
+ })
608
+ ]
609
+ });
610
+ });
611
+ //#endregion
612
+ export { b as a, x as i, O as n, g as o, E as r, d as s, M as t };
613
+
614
+ //# sourceMappingURL=toast-DTuqMdrj.js.map