@goliapkg/gds 1.0.9 → 1.4.1
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.
- package/dist/{avatar-By0U5Vts.js → avatar-l3SaMCmU.js} +10 -10
- package/dist/avatar-l3SaMCmU.js.map +1 -0
- package/dist/index.js +25 -25
- package/dist/l2-primitives/divider.d.ts +11 -2
- package/dist/l2-primitives/divider.d.ts.map +1 -1
- package/dist/l2-primitives/index.d.ts +1 -1
- package/dist/l2-primitives/index.d.ts.map +1 -1
- package/dist/l2-primitives/index.js +10 -10
- package/dist/l2-primitives/input.d.ts +6 -0
- package/dist/l2-primitives/input.d.ts.map +1 -1
- package/dist/l2-primitives/number-input.d.ts +4 -0
- package/dist/l2-primitives/number-input.d.ts.map +1 -1
- package/dist/{l2-primitives-BIiL8hFH.js → l2-primitives-Le0006ck.js} +105 -81
- package/dist/l2-primitives-Le0006ck.js.map +1 -0
- package/dist/l3-atoms/avatar-badge.d.ts +1 -0
- package/dist/l3-atoms/avatar-badge.d.ts.map +1 -1
- package/dist/l3-atoms/avatar.d.ts +2 -0
- package/dist/l3-atoms/avatar.d.ts.map +1 -1
- package/dist/l3-atoms/checkbox.d.ts +7 -0
- package/dist/l3-atoms/checkbox.d.ts.map +1 -1
- package/dist/l3-atoms/index.d.ts +4 -4
- package/dist/l3-atoms/index.d.ts.map +1 -1
- package/dist/l3-atoms/index.js +6 -6
- package/dist/l3-atoms/status-badge.d.ts +8 -0
- package/dist/l3-atoms/status-badge.d.ts.map +1 -1
- package/dist/l3-atoms/status-dot.d.ts +4 -0
- package/dist/l3-atoms/status-dot.d.ts.map +1 -1
- package/dist/l3-atoms/toggle-group.d.ts +16 -2
- package/dist/l3-atoms/toggle-group.d.ts.map +1 -1
- package/dist/{l3-atoms-CsN9IA9J.js → l3-atoms-BxDg3rXt.js} +196 -189
- package/dist/{l3-atoms-CsN9IA9J.js.map → l3-atoms-BxDg3rXt.js.map} +1 -1
- package/dist/l4-molecules/dialog.d.ts +8 -2
- package/dist/l4-molecules/dialog.d.ts.map +1 -1
- package/dist/l4-molecules/index.d.ts +3 -3
- package/dist/l4-molecules/index.d.ts.map +1 -1
- package/dist/l4-molecules/index.js +3 -3
- package/dist/l4-molecules/tabs.d.ts +1 -2
- package/dist/l4-molecules/tabs.d.ts.map +1 -1
- package/dist/{l4-molecules-DXTNnybm.js → l4-molecules-8C6E6Ndl.js} +212 -202
- package/dist/l4-molecules-8C6E6Ndl.js.map +1 -0
- package/dist/l5-organisms/data-table/data-table-body.d.ts +31 -0
- package/dist/l5-organisms/data-table/data-table-body.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table-head.d.ts +22 -0
- package/dist/l5-organisms/data-table/data-table-head.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table-pagination.d.ts +13 -0
- package/dist/l5-organisms/data-table/data-table-pagination.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table-toolbar.d.ts +19 -0
- package/dist/l5-organisms/data-table/data-table-toolbar.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table-types.d.ts +88 -0
- package/dist/l5-organisms/data-table/data-table-types.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table-utils.d.ts +13 -0
- package/dist/l5-organisms/data-table/data-table-utils.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/data-table.d.ts +6 -0
- package/dist/l5-organisms/data-table/data-table.d.ts.map +1 -0
- package/dist/l5-organisms/data-table/index.d.ts +4 -0
- package/dist/l5-organisms/data-table/index.d.ts.map +1 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart-types.d.ts +52 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart-types.d.ts.map +1 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts +11 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts.map +1 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts +3 -0
- package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts.map +1 -0
- package/dist/l5-organisms/gantt-chart/index.d.ts +3 -0
- package/dist/l5-organisms/gantt-chart/index.d.ts.map +1 -0
- package/dist/l5-organisms/index.d.ts +4 -2
- package/dist/l5-organisms/index.d.ts.map +1 -1
- package/dist/l5-organisms/index.js +2 -2
- package/dist/l5-organisms/table.d.ts +12 -0
- package/dist/l5-organisms/table.d.ts.map +1 -1
- package/dist/{l5-organisms-z8mU4eoy.js → l5-organisms-Di1Bm_R6.js} +1352 -292
- package/dist/l5-organisms-Di1Bm_R6.js.map +1 -0
- package/dist/l6-charts/annotated-chart.d.ts +18 -0
- package/dist/l6-charts/annotated-chart.d.ts.map +1 -0
- package/dist/l6-charts/bullet-chart.d.ts +11 -0
- package/dist/l6-charts/bullet-chart.d.ts.map +1 -0
- package/dist/l6-charts/donut-gauge.d.ts +14 -0
- package/dist/l6-charts/donut-gauge.d.ts.map +1 -0
- package/dist/l6-charts/flame-chart.d.ts +13 -0
- package/dist/l6-charts/flame-chart.d.ts.map +1 -0
- package/dist/l6-charts/index.d.ts +12 -0
- package/dist/l6-charts/index.d.ts.map +1 -1
- package/dist/l6-charts/index.js +2 -2
- package/dist/l6-charts/realtime-chart.d.ts +13 -0
- package/dist/l6-charts/realtime-chart.d.ts.map +1 -0
- package/dist/l6-charts/waterfall-chart.d.ts +12 -0
- package/dist/l6-charts/waterfall-chart.d.ts.map +1 -0
- package/dist/l6-charts-Aou_NiQo.js +2139 -0
- package/dist/l6-charts-Aou_NiQo.js.map +1 -0
- package/dist/l7-patterns/index.js +1 -1
- package/dist/{l7-patterns-E9ls7Nw6.js → l7-patterns-BCpw0-CS.js} +4 -4
- package/dist/{l7-patterns-E9ls7Nw6.js.map → l7-patterns-BCpw0-CS.js.map} +1 -1
- package/dist/{resize-handle-CktEYqwi.js → resize-handle-ilSc7QRM.js} +6 -3
- package/dist/{resize-handle-CktEYqwi.js.map → resize-handle-ilSc7QRM.js.map} +1 -1
- package/dist/{spinner-D8Ti-TFe.js → spinner-N7UNjdsQ.js} +66 -23
- package/dist/spinner-N7UNjdsQ.js.map +1 -0
- package/package.json +1 -1
- package/dist/avatar-By0U5Vts.js.map +0 -1
- package/dist/l2-primitives-BIiL8hFH.js.map +0 -1
- package/dist/l4-molecules-DXTNnybm.js.map +0 -1
- package/dist/l5-organisms/data-table.d.ts +0 -24
- package/dist/l5-organisms/data-table.d.ts.map +0 -1
- package/dist/l5-organisms-z8mU4eoy.js.map +0 -1
- package/dist/l6-charts-DYnr5B9X.js +0 -1743
- package/dist/l6-charts-DYnr5B9X.js.map +0 -1
- package/dist/spinner-D8Ti-TFe.js.map +0 -1
|
@@ -55,40 +55,56 @@ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-col
|
|
|
55
55
|
...i,
|
|
56
56
|
children: t
|
|
57
57
|
});
|
|
58
|
-
}), _ =
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
}), _ = n("", {
|
|
59
|
+
variants: { variant: {
|
|
60
|
+
solid: "border-solid",
|
|
61
|
+
dashed: "border-dashed",
|
|
62
|
+
dotted: "border-dotted"
|
|
63
|
+
} },
|
|
64
|
+
defaultVariants: { variant: "solid" }
|
|
65
|
+
}), v = o(function({ className: t, icon: n, label: r, orientation: i = "horizontal", variant: a = "solid", ...o }, s) {
|
|
66
|
+
let d = _({ variant: a });
|
|
67
|
+
return i === "vertical" ? /* @__PURE__ */ l("div", {
|
|
68
|
+
className: e("inline-flex h-full flex-col items-center", (n !== void 0 || r !== void 0) && "gds-gap-sm", t),
|
|
61
69
|
"data-component": "divider",
|
|
62
|
-
ref:
|
|
63
|
-
...
|
|
64
|
-
children: n
|
|
65
|
-
/* @__PURE__ */ l("div", { className: "flex-1 border-l border-border" }),
|
|
66
|
-
/* @__PURE__ */ l("span", {
|
|
70
|
+
ref: s,
|
|
71
|
+
...o,
|
|
72
|
+
children: n !== void 0 || r !== void 0 ? /* @__PURE__ */ u(c, { children: [
|
|
73
|
+
/* @__PURE__ */ l("div", { className: e("flex-1 border-l border-border", d) }),
|
|
74
|
+
n !== void 0 && /* @__PURE__ */ l("span", {
|
|
67
75
|
className: "shrink-0 text-fg-muted/50 gds-icon-child-sm",
|
|
68
76
|
children: n
|
|
69
77
|
}),
|
|
70
|
-
/* @__PURE__ */ l("
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}) : /* @__PURE__ */ u("div", {
|
|
78
|
+
r !== void 0 && /* @__PURE__ */ l("span", {
|
|
79
|
+
className: "shrink-0 text-fg-muted/50 gds-text-caption",
|
|
80
|
+
children: r
|
|
81
|
+
}),
|
|
82
|
+
/* @__PURE__ */ l("div", { className: e("flex-1 border-l border-border", d) })
|
|
83
|
+
] }) : /* @__PURE__ */ l("div", { className: e("h-full border-l border-border", d) })
|
|
84
|
+
}) : n !== void 0 || r !== void 0 ? /* @__PURE__ */ u("div", {
|
|
78
85
|
className: e("flex items-center gds-gap-sm", t),
|
|
79
86
|
"data-component": "divider",
|
|
80
|
-
ref:
|
|
81
|
-
...
|
|
87
|
+
ref: s,
|
|
88
|
+
...o,
|
|
82
89
|
children: [
|
|
83
|
-
/* @__PURE__ */ l("div", { className: "flex-1 border-t border-border" }),
|
|
84
|
-
/* @__PURE__ */ l("span", {
|
|
90
|
+
/* @__PURE__ */ l("div", { className: e("flex-1 border-t border-border", d) }),
|
|
91
|
+
n !== void 0 && /* @__PURE__ */ l("span", {
|
|
85
92
|
className: "shrink-0 text-fg-muted/50 gds-icon-child-sm",
|
|
86
93
|
children: n
|
|
87
94
|
}),
|
|
88
|
-
/* @__PURE__ */ l("
|
|
95
|
+
r !== void 0 && /* @__PURE__ */ l("span", {
|
|
96
|
+
className: "shrink-0 text-fg-muted/50 gds-text-caption select-none",
|
|
97
|
+
children: r
|
|
98
|
+
}),
|
|
99
|
+
/* @__PURE__ */ l("div", { className: e("flex-1 border-t border-border", d) })
|
|
89
100
|
]
|
|
101
|
+
}) : /* @__PURE__ */ l("div", {
|
|
102
|
+
className: e("h-px w-full", a === "solid" ? "bg-border/50" : e("border-t border-border", d), t),
|
|
103
|
+
"data-component": "divider",
|
|
104
|
+
ref: s,
|
|
105
|
+
...o
|
|
90
106
|
});
|
|
91
|
-
}),
|
|
107
|
+
}), y = n("inline-block shrink-0 gds-radius-badge", {
|
|
92
108
|
defaultVariants: {
|
|
93
109
|
color: "accent",
|
|
94
110
|
size: "default"
|
|
@@ -107,18 +123,18 @@ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-col
|
|
|
107
123
|
sm: "h-1.5 w-1.5"
|
|
108
124
|
}
|
|
109
125
|
}
|
|
110
|
-
}),
|
|
126
|
+
}), b = o(function({ className: t, color: n, label: r, pulse: i = !1, size: a, ...o }, s) {
|
|
111
127
|
return /* @__PURE__ */ u("span", {
|
|
112
128
|
className: e("relative inline-flex items-center", r !== void 0 && "gds-gap-sm", t),
|
|
113
129
|
"data-component": "dot",
|
|
114
130
|
ref: s,
|
|
115
131
|
...o,
|
|
116
132
|
children: [
|
|
117
|
-
/* @__PURE__ */ l("span", { className:
|
|
133
|
+
/* @__PURE__ */ l("span", { className: y({
|
|
118
134
|
color: n,
|
|
119
135
|
size: a
|
|
120
136
|
}) }),
|
|
121
|
-
i && /* @__PURE__ */ l("span", { className: e("absolute inset-0 animate-ping gds-radius-badge opacity-40",
|
|
137
|
+
i && /* @__PURE__ */ l("span", { className: e("absolute inset-0 animate-ping gds-radius-badge opacity-40", y({
|
|
122
138
|
color: n,
|
|
123
139
|
size: a
|
|
124
140
|
})) }),
|
|
@@ -128,7 +144,7 @@ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-col
|
|
|
128
144
|
})
|
|
129
145
|
]
|
|
130
146
|
});
|
|
131
|
-
}),
|
|
147
|
+
}), x = o(function({ children: t, color: n = "var(--gds-accent)", width: r = 2, offset: i = 2, className: a }, o) {
|
|
132
148
|
let s = {
|
|
133
149
|
"--focus-ring-color": n,
|
|
134
150
|
"--focus-ring-width": `${r}px`,
|
|
@@ -141,7 +157,7 @@ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-col
|
|
|
141
157
|
style: s,
|
|
142
158
|
children: t
|
|
143
159
|
});
|
|
144
|
-
}),
|
|
160
|
+
}), S = {
|
|
145
161
|
sm: {
|
|
146
162
|
blur: 20,
|
|
147
163
|
opacity: 15,
|
|
@@ -158,22 +174,22 @@ var d = n("inline-flex items-center gds-gap-xs underline-offset-2 transition-col
|
|
|
158
174
|
spread: 12
|
|
159
175
|
}
|
|
160
176
|
};
|
|
161
|
-
function
|
|
177
|
+
function C(e, t) {
|
|
162
178
|
return `${`0 0 ${t.blur}px ${t.spread}px color-mix(in srgb, ${e} ${t.opacity}%, transparent)`}, ${`0 0 ${Math.round(t.blur * .4)}px ${Math.round(t.spread * .5)}px color-mix(in srgb, ${e} ${Math.round(t.opacity * 1.5)}%, transparent)`}`;
|
|
163
179
|
}
|
|
164
|
-
var
|
|
165
|
-
let s =
|
|
180
|
+
var w = o(function({ children: t, className: n, color: r = "var(--gds-accent)", intensity: i = "default", radius: a }, o) {
|
|
181
|
+
let s = S[i];
|
|
166
182
|
return /* @__PURE__ */ l("div", {
|
|
167
183
|
ref: o,
|
|
168
184
|
"data-component": "glow-effect",
|
|
169
185
|
className: e("relative", n),
|
|
170
186
|
style: {
|
|
171
187
|
borderRadius: a === void 0 ? void 0 : `${a}px`,
|
|
172
|
-
boxShadow:
|
|
188
|
+
boxShadow: C(r, s)
|
|
173
189
|
},
|
|
174
190
|
children: t
|
|
175
191
|
});
|
|
176
|
-
}),
|
|
192
|
+
}), T = o(function({ children: t, gradient: n = "linear-gradient(135deg, var(--gds-accent), var(--gds-success))", width: r = 1, radius: i = 12, className: a }, o) {
|
|
177
193
|
let s = Math.max(0, i - r);
|
|
178
194
|
return /* @__PURE__ */ l("div", {
|
|
179
195
|
ref: o,
|
|
@@ -190,7 +206,7 @@ var C = o(function({ children: t, className: n, color: r = "var(--gds-accent)",
|
|
|
190
206
|
children: t
|
|
191
207
|
})
|
|
192
208
|
});
|
|
193
|
-
}),
|
|
209
|
+
}), E = {
|
|
194
210
|
default: {
|
|
195
211
|
container: "gap-1.5",
|
|
196
212
|
dot: "h-2 w-2"
|
|
@@ -203,7 +219,7 @@ var C = o(function({ children: t, className: n, color: r = "var(--gds-accent)",
|
|
|
203
219
|
container: "gap-1",
|
|
204
220
|
dot: "h-1.5 w-1.5"
|
|
205
221
|
}
|
|
206
|
-
},
|
|
222
|
+
}, D = {
|
|
207
223
|
default: {
|
|
208
224
|
bar: "w-1 h-4",
|
|
209
225
|
container: "gap-1 h-4"
|
|
@@ -216,17 +232,17 @@ var C = o(function({ children: t, className: n, color: r = "var(--gds-accent)",
|
|
|
216
232
|
bar: "w-0.5 h-3",
|
|
217
233
|
container: "gap-0.5 h-3"
|
|
218
234
|
}
|
|
219
|
-
},
|
|
235
|
+
}, O = {
|
|
220
236
|
default: "h-4 w-4",
|
|
221
237
|
lg: "h-6 w-6",
|
|
222
238
|
sm: "h-3 w-3"
|
|
223
|
-
},
|
|
239
|
+
}, k = {
|
|
224
240
|
default: "h-4 w-4 border-2",
|
|
225
241
|
lg: "h-6 w-6 border-[3px]",
|
|
226
242
|
sm: "h-3 w-3 border-[1.5px]"
|
|
227
243
|
};
|
|
228
244
|
o(function({ className: t, size: n = "default" }, r) {
|
|
229
|
-
let i =
|
|
245
|
+
let i = E[n];
|
|
230
246
|
return /* @__PURE__ */ l("div", {
|
|
231
247
|
className: e("inline-flex items-center", i.container, t),
|
|
232
248
|
"data-component": "loading-dots",
|
|
@@ -245,8 +261,8 @@ o(function({ className: t, size: n = "default" }, r) {
|
|
|
245
261
|
}, t))
|
|
246
262
|
});
|
|
247
263
|
});
|
|
248
|
-
var
|
|
249
|
-
let i =
|
|
264
|
+
var A = o(function({ className: t, size: n = "default" }, r) {
|
|
265
|
+
let i = D[n];
|
|
250
266
|
return /* @__PURE__ */ l("div", {
|
|
251
267
|
className: e("inline-flex items-center", i.container, t),
|
|
252
268
|
"data-component": "loading-bars",
|
|
@@ -266,27 +282,27 @@ var k = o(function({ className: t, size: n = "default" }, r) {
|
|
|
266
282
|
}
|
|
267
283
|
}, t))
|
|
268
284
|
});
|
|
269
|
-
}),
|
|
285
|
+
}), j = o(function({ className: t, size: n = "default" }, r) {
|
|
270
286
|
return /* @__PURE__ */ l("div", {
|
|
271
287
|
className: e("inline-flex items-center justify-center", t),
|
|
272
288
|
"data-component": "loading-pulse",
|
|
273
289
|
ref: r,
|
|
274
290
|
role: "status",
|
|
275
291
|
children: /* @__PURE__ */ l("span", {
|
|
276
|
-
className: e("rounded-full bg-accent",
|
|
292
|
+
className: e("rounded-full bg-accent", O[n]),
|
|
277
293
|
style: { animation: "loading-pulse 2s infinite ease-in-out" }
|
|
278
294
|
})
|
|
279
295
|
});
|
|
280
|
-
}),
|
|
296
|
+
}), M = o(function({ className: t, size: n = "default" }, r) {
|
|
281
297
|
return /* @__PURE__ */ l("div", {
|
|
282
298
|
className: e("inline-flex items-center justify-center", t),
|
|
283
299
|
"data-component": "loading-ring",
|
|
284
300
|
ref: r,
|
|
285
301
|
role: "status",
|
|
286
|
-
children: /* @__PURE__ */ l("span", { className: e("animate-spin rounded-full border-accent border-t-transparent",
|
|
302
|
+
children: /* @__PURE__ */ l("span", { className: e("animate-spin rounded-full border-accent border-t-transparent", k[n]) })
|
|
287
303
|
});
|
|
288
|
-
}),
|
|
289
|
-
let i =
|
|
304
|
+
}), N = o(function({ className: t, size: n = "default" }, r) {
|
|
305
|
+
let i = E[n];
|
|
290
306
|
return /* @__PURE__ */ l("div", {
|
|
291
307
|
className: e("inline-flex items-end", i.container, t),
|
|
292
308
|
"data-component": "loading-wave",
|
|
@@ -306,19 +322,19 @@ var k = o(function({ className: t, size: n = "default" }, r) {
|
|
|
306
322
|
}
|
|
307
323
|
}, t))
|
|
308
324
|
});
|
|
309
|
-
}),
|
|
325
|
+
}), P = "flex items-center justify-center select-none px-2 text-fg-muted hover:text-fg hover:bg-bg-tertiary transition-colors disabled:cursor-not-allowed disabled:opacity-50", F = o(function({ direction: t, disabled: n, onClick: r }, i) {
|
|
310
326
|
let a = t === "decrement";
|
|
311
327
|
return /* @__PURE__ */ l("button", {
|
|
312
328
|
ref: i,
|
|
313
329
|
"aria-label": t,
|
|
314
|
-
className: e(
|
|
330
|
+
className: e(P, a ? "rounded-l-[inherit] border-r border-border" : "rounded-r-[inherit] border-l border-border"),
|
|
315
331
|
disabled: n,
|
|
316
332
|
onClick: r,
|
|
317
333
|
tabIndex: -1,
|
|
318
334
|
type: "button",
|
|
319
335
|
children: a ? "-" : "+"
|
|
320
336
|
});
|
|
321
|
-
}),
|
|
337
|
+
}), I = n("flex items-center gds-radius-input border bg-bg text-fg transition-colors [&:has(input:focus-visible)]:ring-2 [&:has(input:focus-visible)]:ring-accent [&:has(input:focus-visible)]:ring-offset-1 [&:has(input:focus-visible)]:ring-offset-bg", {
|
|
322
338
|
compoundVariants: [{
|
|
323
339
|
error: !0,
|
|
324
340
|
className: "[&:has(input:focus-visible)]:ring-danger"
|
|
@@ -338,84 +354,92 @@ var k = o(function({ className: t, size: n = "default" }, r) {
|
|
|
338
354
|
}
|
|
339
355
|
}
|
|
340
356
|
});
|
|
341
|
-
function
|
|
357
|
+
function L(e, t, n) {
|
|
342
358
|
let r = e;
|
|
343
359
|
return t !== void 0 && r < t && (r = t), n !== void 0 && r > n && (r = n), r;
|
|
344
360
|
}
|
|
345
|
-
var
|
|
346
|
-
let
|
|
347
|
-
f(
|
|
361
|
+
var R = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o, max: c, min: d, onChange: f, placeholder: p, prefix: m, step: h = 1, suffix: g, value: _ }, v) {
|
|
362
|
+
let y = s(() => {
|
|
363
|
+
f(L((_ ?? 0) - h, d, c));
|
|
348
364
|
}, [
|
|
365
|
+
_,
|
|
349
366
|
h,
|
|
350
|
-
m,
|
|
351
367
|
d,
|
|
352
368
|
c,
|
|
353
369
|
f
|
|
354
|
-
]),
|
|
355
|
-
f(
|
|
370
|
+
]), b = s(() => {
|
|
371
|
+
f(L((_ ?? 0) + h, d, c));
|
|
356
372
|
}, [
|
|
373
|
+
_,
|
|
357
374
|
h,
|
|
358
|
-
m,
|
|
359
375
|
d,
|
|
360
376
|
c,
|
|
361
377
|
f
|
|
362
|
-
]),
|
|
378
|
+
]), x = s((e) => {
|
|
363
379
|
let t = e.target.value;
|
|
364
380
|
if (t === "") {
|
|
365
381
|
f(null);
|
|
366
382
|
return;
|
|
367
383
|
}
|
|
368
384
|
let n = Number(t);
|
|
369
|
-
Number.isNaN(n) || f(
|
|
385
|
+
Number.isNaN(n) || f(L(n, d, c));
|
|
370
386
|
}, [
|
|
371
387
|
d,
|
|
372
388
|
c,
|
|
373
389
|
f
|
|
374
|
-
]),
|
|
375
|
-
e.key === "ArrowUp" && (e.preventDefault(),
|
|
376
|
-
}, [
|
|
390
|
+
]), S = s((e) => {
|
|
391
|
+
e.key === "ArrowUp" && (e.preventDefault(), b()), e.key === "ArrowDown" && (e.preventDefault(), y());
|
|
392
|
+
}, [b, y]);
|
|
377
393
|
return /* @__PURE__ */ u("div", {
|
|
378
|
-
className: e(
|
|
394
|
+
className: e(I({
|
|
379
395
|
error: i,
|
|
380
396
|
inputSize: o
|
|
381
397
|
}), t(a), a === !0 && "border-white/10 bg-bg/60", r === !0 && "cursor-not-allowed opacity-50", n),
|
|
382
398
|
"data-component": "number-input",
|
|
383
399
|
children: [
|
|
384
|
-
/* @__PURE__ */ l(
|
|
400
|
+
/* @__PURE__ */ l(F, {
|
|
385
401
|
direction: "decrement",
|
|
386
402
|
disabled: r,
|
|
387
|
-
onClick:
|
|
403
|
+
onClick: y
|
|
404
|
+
}),
|
|
405
|
+
m !== void 0 && /* @__PURE__ */ l("span", {
|
|
406
|
+
className: "shrink-0 select-none pl-1 text-fg-muted/50",
|
|
407
|
+
children: m
|
|
388
408
|
}),
|
|
389
409
|
/* @__PURE__ */ l("input", {
|
|
390
410
|
className: e("min-w-0 flex-1 bg-transparent text-center outline-none placeholder:text-fg-muted/50", "[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"),
|
|
391
411
|
disabled: r,
|
|
392
|
-
onChange:
|
|
393
|
-
onKeyDown:
|
|
412
|
+
onChange: x,
|
|
413
|
+
onKeyDown: S,
|
|
394
414
|
placeholder: p,
|
|
395
|
-
ref:
|
|
415
|
+
ref: v,
|
|
396
416
|
type: "number",
|
|
397
|
-
value:
|
|
417
|
+
value: _ ?? ""
|
|
418
|
+
}),
|
|
419
|
+
g !== void 0 && /* @__PURE__ */ l("span", {
|
|
420
|
+
className: "shrink-0 select-none pr-1 text-fg-muted/50",
|
|
421
|
+
children: g
|
|
398
422
|
}),
|
|
399
|
-
/* @__PURE__ */ l(
|
|
423
|
+
/* @__PURE__ */ l(F, {
|
|
400
424
|
direction: "increment",
|
|
401
425
|
disabled: r,
|
|
402
|
-
onClick:
|
|
426
|
+
onClick: b
|
|
403
427
|
})
|
|
404
428
|
]
|
|
405
429
|
});
|
|
406
|
-
}),
|
|
430
|
+
}), z = o(function({ visible: n, glass: r, onClick: i, className: a }, o) {
|
|
407
431
|
return n ? /* @__PURE__ */ l("div", {
|
|
408
432
|
className: e("fixed inset-0 z-40", r === !0 ? t(!0) : "bg-black/50", a),
|
|
409
433
|
"data-component": "screen-overlay",
|
|
410
434
|
onClick: i,
|
|
411
435
|
ref: o
|
|
412
436
|
}) : null;
|
|
413
|
-
}),
|
|
414
|
-
return a(/* @__PURE__ */ l(
|
|
437
|
+
}), B = o(function(e, t) {
|
|
438
|
+
return a(/* @__PURE__ */ l(z, {
|
|
415
439
|
ref: t,
|
|
416
440
|
...e
|
|
417
441
|
}));
|
|
418
|
-
}),
|
|
442
|
+
}), V = o(function({ children: t, className: n, maxHeight: r, orientation: i = "vertical", style: a, ...o }, s) {
|
|
419
443
|
return /* @__PURE__ */ l("div", {
|
|
420
444
|
className: e(i === "vertical" && "overflow-x-hidden overflow-y-auto", i === "horizontal" && "overflow-x-auto overflow-y-hidden", i === "both" && "overflow-auto", n),
|
|
421
445
|
"data-component": "scroll-area",
|
|
@@ -427,7 +451,7 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
427
451
|
...o,
|
|
428
452
|
children: t
|
|
429
453
|
});
|
|
430
|
-
}),
|
|
454
|
+
}), H = o(function({ className: t, height: n = "20px", rounded: r = !1, width: i = "100%", ...a }, o) {
|
|
431
455
|
return /* @__PURE__ */ l("div", {
|
|
432
456
|
className: e("relative overflow-hidden bg-fg-muted/10", r ? "rounded-full" : "rounded-md", t),
|
|
433
457
|
"data-component": "shimmer",
|
|
@@ -439,7 +463,7 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
439
463
|
...a,
|
|
440
464
|
children: /* @__PURE__ */ l("div", { className: "absolute inset-0 animate-[shimmer_1.5s_ease-in-out_infinite] bg-gradient-to-r from-transparent via-fg-muted/5 to-transparent" })
|
|
441
465
|
});
|
|
442
|
-
}),
|
|
466
|
+
}), U = o(function({ targetId: t = "main-content", label: n = "Skip to content", className: r }, i) {
|
|
443
467
|
return /* @__PURE__ */ l("a", {
|
|
444
468
|
ref: i,
|
|
445
469
|
className: e("absolute left-2 top-2 z-50 -translate-y-full rounded bg-accent px-3 py-2 text-sm font-medium text-accent-fg transition-transform focus:translate-y-0 focus:outline-none", r),
|
|
@@ -447,7 +471,7 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
447
471
|
href: `#${t}`,
|
|
448
472
|
children: n
|
|
449
473
|
});
|
|
450
|
-
}),
|
|
474
|
+
}), W = o(function({ className: t, disabled: n = !1, max: r = 100, min: a = 0, onChange: o, step: s = 1, value: c = 0, ...d }, f) {
|
|
451
475
|
return /* @__PURE__ */ u("div", {
|
|
452
476
|
className: e("flex items-center gap-3", t),
|
|
453
477
|
"data-component": "slider",
|
|
@@ -467,7 +491,7 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
467
491
|
children: c
|
|
468
492
|
})]
|
|
469
493
|
});
|
|
470
|
-
}),
|
|
494
|
+
}), G = o(function({ children: t, lines: n = 1, expanded: r = !1, onToggle: i, className: a }, o) {
|
|
471
495
|
let s = !r, c = n === 1, u = i !== void 0, d = !c && s ? {
|
|
472
496
|
display: "-webkit-box",
|
|
473
497
|
WebkitLineClamp: n,
|
|
@@ -485,7 +509,7 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
485
509
|
tabIndex: u ? 0 : void 0,
|
|
486
510
|
children: t
|
|
487
511
|
});
|
|
488
|
-
}),
|
|
512
|
+
}), K = o(function({ as: t = "span", children: n, className: i }, a) {
|
|
489
513
|
return /* @__PURE__ */ l(t, {
|
|
490
514
|
ref: a,
|
|
491
515
|
className: e(r, i),
|
|
@@ -494,6 +518,6 @@ var L = o(function({ className: n, disabled: r, error: i, glass: a, inputSize: o
|
|
|
494
518
|
});
|
|
495
519
|
});
|
|
496
520
|
//#endregion
|
|
497
|
-
export {
|
|
521
|
+
export { m as C, h as S, d as T, b as _, H as a, _ as b, R as c, j as d, M as f, x as g, w as h, U as i, I as l, T as m, G as n, V as o, N as p, W as r, B as s, K as t, A as u, y as v, f as w, g as x, v as y };
|
|
498
522
|
|
|
499
|
-
//# sourceMappingURL=l2-primitives-
|
|
523
|
+
//# sourceMappingURL=l2-primitives-Le0006ck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l2-primitives-Le0006ck.js","names":[],"sources":["../src/l2-primitives/anchor.tsx","../src/l2-primitives/badge-dot.tsx","../src/l2-primitives/container.tsx","../src/l2-primitives/divider.tsx","../src/l2-primitives/dot.tsx","../src/l2-primitives/focus-ring.tsx","../src/l2-primitives/glow-effect.tsx","../src/l2-primitives/gradient-border.tsx","../src/l2-primitives/loading.tsx","../src/l2-primitives/number-stepper.tsx","../src/l2-primitives/number-input.tsx","../src/l2-primitives/screen-overlay.tsx","../src/l2-primitives/scroll-area.tsx","../src/l2-primitives/shimmer.tsx","../src/l2-primitives/skip-nav.tsx","../src/l2-primitives/slider.tsx","../src/l2-primitives/truncate.tsx","../src/l2-primitives/visually-hidden.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst anchorVariants = cva(\n 'inline-flex items-center gds-gap-xs underline-offset-2 transition-colors hover:underline ' +\n focusCls,\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n default: 'text-accent hover:text-accent/80',\n muted: 'text-fg-muted hover:text-fg',\n },\n },\n },\n)\n\ntype AnchorProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n VariantProps<typeof anchorVariants> & {\n external?: boolean\n externalIcon?: ReactNode\n }\n\nexport const Anchor = forwardRef<HTMLAnchorElement, AnchorProps>(\n function Anchor(\n { children, className, external = false, externalIcon, variant, ...props },\n ref,\n ) {\n return (\n <a\n className={cx(anchorVariants({ variant }), className)}\n data-component=\"anchor\"\n ref={ref}\n {...(external && {\n rel: 'noopener noreferrer',\n target: '_blank',\n })}\n {...props}\n >\n {children}\n {external && externalIcon !== undefined && (\n <span className=\"gds-icon-child-xs\">{externalIcon}</span>\n )}\n </a>\n )\n },\n)\n\nexport { anchorVariants }\nexport type { AnchorProps }\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nconst colorMap = {\n accent: 'bg-accent',\n danger: 'bg-danger',\n success: 'bg-success',\n} as const\n\ntype BadgeDotProps = React.HTMLAttributes<HTMLDivElement> & {\n children: ReactNode\n color?: 'accent' | 'danger' | 'success'\n show?: boolean\n}\n\nexport const BadgeDot = forwardRef<HTMLDivElement, BadgeDotProps>(\n function BadgeDot({ children, className, color = 'danger', show = true, ...props }, ref) {\n return (\n <div\n className={cx('relative inline-flex', className)}\n data-component=\"badge-dot\"\n ref={ref}\n {...props}\n >\n {children}\n {show && (\n <span\n className={cx('absolute -right-0.5 -top-0.5 h-1.5 w-1.5 rounded-full', colorMap[color])}\n />\n )}\n </div>\n )\n },\n)\n\nexport type { BadgeDotProps }\n","// container — responsive max-width wrapper with size variants\nimport { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst containerVariants = cva('mx-auto w-full px-4', {\n defaultVariants: { size: 'default' },\n variants: {\n size: {\n default: 'max-w-screen-md',\n full: 'max-w-full',\n lg: 'max-w-screen-lg',\n sm: 'max-w-screen-sm',\n xl: 'max-w-screen-xl',\n },\n },\n})\n\ntype ContainerProps = React.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof containerVariants> & {\n children: ReactNode\n }\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n function Container({ children, className, size, ...props }, ref) {\n return (\n <div\n className={cx(containerVariants({ size }), className)}\n data-component=\"container\"\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n\nexport { containerVariants }\nexport type { ContainerProps }\n","import { cva } from 'class-variance-authority'\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst dividerVariants = cva('', {\n variants: {\n variant: {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n },\n defaultVariants: { variant: 'solid' },\n})\n\ntype DividerProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof dividerVariants> & {\n icon?: ReactNode\n label?: string\n orientation?: 'horizontal' | 'vertical'\n}\n\nconst Divider = forwardRef<HTMLDivElement, DividerProps>(\n function Divider({ className, icon, label, orientation = 'horizontal', variant = 'solid', ...props }, ref) {\n const variantCls = dividerVariants({ variant })\n\n if (orientation === 'vertical') {\n return (\n <div\n className={cx('inline-flex h-full flex-col items-center', (icon !== undefined || label !== undefined) && 'gds-gap-sm', className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n >\n {icon !== undefined || label !== undefined ? (\n <>\n <div className={cx('flex-1 border-l border-border', variantCls)} />\n {icon !== undefined && <span className=\"shrink-0 text-fg-muted/50 gds-icon-child-sm\">{icon}</span>}\n {label !== undefined && <span className=\"shrink-0 text-fg-muted/50 gds-text-caption\">{label}</span>}\n <div className={cx('flex-1 border-l border-border', variantCls)} />\n </>\n ) : (\n <div className={cx('h-full border-l border-border', variantCls)} />\n )}\n </div>\n )\n }\n\n if (icon !== undefined || label !== undefined) {\n return (\n <div\n className={cx('flex items-center gds-gap-sm', className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n >\n <div className={cx('flex-1 border-t border-border', variantCls)} />\n {icon !== undefined && <span className=\"shrink-0 text-fg-muted/50 gds-icon-child-sm\">{icon}</span>}\n {label !== undefined && <span className=\"shrink-0 text-fg-muted/50 gds-text-caption select-none\">{label}</span>}\n <div className={cx('flex-1 border-t border-border', variantCls)} />\n </div>\n )\n }\n\n return (\n <div\n className={cx('h-px w-full', variant === 'solid' ? 'bg-border/50' : cx('border-t border-border', variantCls), className)}\n data-component=\"divider\"\n ref={ref}\n {...props}\n />\n )\n },\n)\n\nexport { Divider, dividerVariants }\nexport type { DividerProps }\n","import { cva } from 'class-variance-authority'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport type { VariantProps } from '../utils/types'\n\nconst dotVariants = cva('inline-block shrink-0 gds-radius-badge', {\n defaultVariants: {\n color: 'accent',\n size: 'default',\n },\n variants: {\n color: {\n accent: 'bg-accent',\n danger: 'bg-danger',\n muted: 'bg-fg-muted/30',\n success: 'bg-success',\n warning: 'bg-warning',\n },\n size: {\n default: 'h-2 w-2',\n lg: 'h-3 w-3',\n sm: 'h-1.5 w-1.5',\n },\n },\n})\n\ntype DotProps = React.HTMLAttributes<HTMLSpanElement> &\n VariantProps<typeof dotVariants> & {\n label?: string\n pulse?: boolean\n }\n\nexport const Dot = forwardRef<HTMLSpanElement, DotProps>(\n function Dot({ className, color, label, pulse = false, size, ...props }, ref) {\n return (\n <span\n className={cx('relative inline-flex items-center', label !== undefined && 'gds-gap-sm', className)}\n data-component=\"dot\"\n ref={ref}\n {...props}\n >\n <span className={dotVariants({ color, size })} />\n {pulse && (\n <span\n className={cx(\n 'absolute inset-0 animate-ping gds-radius-badge opacity-40',\n dotVariants({ color, size }),\n )}\n />\n )}\n {label !== undefined && (\n <span className=\"gds-text-label text-fg-muted\">{label}</span>\n )}\n </span>\n )\n },\n)\n\nexport { dotVariants }\nexport type { DotProps }\n","import type { CSSProperties, ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype FocusRingProps = {\n children: ReactNode\n color?: string\n width?: number\n offset?: number\n className?: string\n}\n\nconst FocusRing = forwardRef<HTMLSpanElement, FocusRingProps>(function FocusRing(\n { children, color = 'var(--gds-accent)', width = 2, offset = 2, className },\n ref,\n) {\n const style: CSSProperties = {\n '--focus-ring-color': color,\n '--focus-ring-width': `${width}px`,\n '--focus-ring-offset': `${offset}px`,\n } as CSSProperties\n\n return (\n <span\n ref={ref}\n className={cx(\n 'relative inline-flex [&:focus-within]:outline [&:focus-within]:outline-[length:var(--focus-ring-width)] [&:focus-within]:outline-[color:var(--focus-ring-color)] [&:focus-within]:outline-offset-[var(--focus-ring-offset)]',\n className,\n )}\n data-component=\"focus-ring\"\n style={style}\n >\n {children}\n </span>\n )\n})\n\nexport { FocusRing }\nexport type { FocusRingProps }\n","// glow-effect — container that adds a colored glow/aura behind its content via box-shadow\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype GlowIntensity = 'sm' | 'default' | 'lg'\n\ntype IntensityConfig = {\n blur: number\n opacity: number\n spread: number\n}\n\nconst intensityMap: Record<GlowIntensity, IntensityConfig> = {\n sm: { blur: 20, opacity: 15, spread: 4 },\n default: { blur: 32, opacity: 18, spread: 8 },\n lg: { blur: 48, opacity: 25, spread: 12 },\n}\n\nfunction buildShadow(color: string, config: IntensityConfig): string {\n const outer = `0 0 ${config.blur}px ${config.spread}px color-mix(in srgb, ${color} ${config.opacity}%, transparent)`\n const innerBlur = Math.round(config.blur * 0.4)\n const innerSpread = Math.round(config.spread * 0.5)\n const innerOpacity = Math.round(config.opacity * 1.5)\n const inner = `0 0 ${innerBlur}px ${innerSpread}px color-mix(in srgb, ${color} ${innerOpacity}%, transparent)`\n return `${outer}, ${inner}`\n}\n\nexport type GlowEffectProps = {\n children: React.ReactNode\n className?: string\n color?: string\n intensity?: GlowIntensity\n radius?: number\n}\n\nexport const GlowEffect = forwardRef<HTMLDivElement, GlowEffectProps>(\n function GlowEffect(\n { children, className, color = 'var(--gds-accent)', intensity = 'default', radius },\n ref,\n ) {\n const config = intensityMap[intensity]\n return (\n <div\n ref={ref}\n data-component=\"glow-effect\"\n className={cx('relative', className)}\n style={{\n borderRadius: radius !== undefined ? `${radius}px` : undefined,\n boxShadow: buildShadow(color, config),\n }}\n >\n {children}\n </div>\n )\n },\n)\n","// gradient-border — container with a gradient border via background-clip trick\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nexport type GradientBorderProps = {\n children: React.ReactNode\n gradient?: string\n width?: number\n radius?: number\n className?: string\n}\n\nexport const GradientBorder = forwardRef<HTMLDivElement, GradientBorderProps>(\n function GradientBorder(\n {\n children,\n gradient = 'linear-gradient(135deg, var(--gds-accent), var(--gds-success))',\n width = 1,\n radius = 12,\n className,\n },\n ref,\n ) {\n const innerRadius = Math.max(0, radius - width)\n\n return (\n <div\n ref={ref}\n data-component=\"gradient-border\"\n className={cx(className)}\n style={{ background: gradient, padding: width, borderRadius: radius }}\n >\n <div\n className=\"bg-bg\"\n style={{ borderRadius: innerRadius }}\n >\n {children}\n </div>\n </div>\n )\n },\n)\n","// loading — loading indicator variants (dots, bars, pulse, ring, wave)\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype LoadingSize = 'default' | 'lg' | 'sm'\n\ntype LoadingProps = {\n className?: string\n size?: LoadingSize\n}\n\nconst sizeClasses: Record<LoadingSize, { container: string; dot: string }> = {\n default: { container: 'gap-1.5', dot: 'h-2 w-2' },\n lg: { container: 'gap-2', dot: 'h-3 w-3' },\n sm: { container: 'gap-1', dot: 'h-1.5 w-1.5' },\n}\n\nconst barSizeClasses: Record<LoadingSize, { bar: string; container: string }> = {\n default: { bar: 'w-1 h-4', container: 'gap-1 h-4' },\n lg: { bar: 'w-1.5 h-6', container: 'gap-1.5 h-6' },\n sm: { bar: 'w-0.5 h-3', container: 'gap-0.5 h-3' },\n}\n\nconst pulseSizeClasses: Record<LoadingSize, string> = {\n default: 'h-4 w-4',\n lg: 'h-6 w-6',\n sm: 'h-3 w-3',\n}\n\nconst ringSizeClasses: Record<LoadingSize, string> = {\n default: 'h-4 w-4 border-2',\n lg: 'h-6 w-6 border-[3px]',\n sm: 'h-3 w-3 border-[1.5px]',\n}\n\nexport const LoadingDots = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingDots({ className, size = 'default' }, ref) {\n const s = sizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-center', s.container, className)}\n data-component=\"loading-dots\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2].map((i) => (\n <span\n className={cx('rounded-full bg-accent', s.dot)}\n key={i}\n style={{\n animation: 'loading-dots 1.4s infinite ease-in-out both',\n animationDelay: `${i * 0.16}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport const LoadingBars = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingBars({ className, size = 'default' }, ref) {\n const s = barSizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-center', s.container, className)}\n data-component=\"loading-bars\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2, 3, 4].map((i) => (\n <span\n className={cx('rounded-sm bg-accent', s.bar)}\n key={i}\n style={{\n animation: 'loading-bars 1.2s infinite ease-in-out',\n animationDelay: `${i * 0.1}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport const LoadingPulse = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingPulse({ className, size = 'default' }, ref) {\n return (\n <div\n className={cx('inline-flex items-center justify-center', className)}\n data-component=\"loading-pulse\"\n ref={ref}\n role=\"status\"\n >\n <span\n className={cx('rounded-full bg-accent', pulseSizeClasses[size])}\n style={{ animation: 'loading-pulse 2s infinite ease-in-out' }}\n />\n </div>\n )\n },\n)\n\nexport const LoadingRing = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingRing({ className, size = 'default' }, ref) {\n return (\n <div\n className={cx('inline-flex items-center justify-center', className)}\n data-component=\"loading-ring\"\n ref={ref}\n role=\"status\"\n >\n <span\n className={cx(\n 'animate-spin rounded-full border-accent border-t-transparent',\n ringSizeClasses[size],\n )}\n />\n </div>\n )\n },\n)\n\nexport const LoadingWave = forwardRef<HTMLDivElement, LoadingProps>(\n function LoadingWave({ className, size = 'default' }, ref) {\n const s = sizeClasses[size]\n return (\n <div\n className={cx('inline-flex items-end', s.container, className)}\n data-component=\"loading-wave\"\n ref={ref}\n role=\"status\"\n >\n {[0, 1, 2, 3, 4].map((i) => (\n <span\n className={cx('rounded-full bg-fg-muted', s.dot)}\n key={i}\n style={{\n animation: 'loading-wave 1.2s infinite ease-in-out',\n animationDelay: `${i * 0.1}s`,\n }}\n />\n ))}\n </div>\n )\n },\n)\n\nexport type { LoadingProps, LoadingSize }\n","// number-stepper — increment/decrement buttons for number-input\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype NumberStepperProps = {\n direction: 'decrement' | 'increment'\n disabled?: boolean\n onClick: () => void\n}\n\nconst btnBase =\n 'flex items-center justify-center select-none px-2 text-fg-muted hover:text-fg hover:bg-bg-tertiary transition-colors disabled:cursor-not-allowed disabled:opacity-50'\n\nconst NumberStepper = forwardRef<HTMLButtonElement, NumberStepperProps>(function NumberStepper(\n { direction, disabled, onClick },\n ref,\n) {\n const isDecrement = direction === 'decrement'\n return (\n <button\n ref={ref}\n aria-label={direction}\n className={cx(\n btnBase,\n isDecrement ? 'rounded-l-[inherit] border-r border-border' : 'rounded-r-[inherit] border-l border-border',\n )}\n disabled={disabled}\n onClick={onClick}\n tabIndex={-1}\n type=\"button\"\n >\n {isDecrement ? '-' : '+'}\n </button>\n )\n})\n\nexport { NumberStepper }\nexport type { NumberStepperProps }\n","import { cva } from 'class-variance-authority'\nimport { forwardRef, useCallback } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport type { VariantProps } from '../utils/types'\nimport { NumberStepper } from './number-stepper'\n\nconst numberInputVariants = cva(\n 'flex items-center gds-radius-input border bg-bg text-fg transition-colors ' +\n '[&:has(input:focus-visible)]:ring-2 [&:has(input:focus-visible)]:ring-accent [&:has(input:focus-visible)]:ring-offset-1 [&:has(input:focus-visible)]:ring-offset-bg',\n {\n compoundVariants: [\n {\n error: true,\n className:\n '[&:has(input:focus-visible)]:ring-danger',\n },\n ],\n defaultVariants: {\n error: false,\n inputSize: 'default',\n },\n variants: {\n error: {\n false: 'border-border hover:border-border-strong',\n true: 'border-danger',\n },\n inputSize: {\n default: 'gds-h gds-text-body',\n sm: 'gds-h-sm gds-text-label',\n },\n },\n },\n)\n\ntype NumberInputProps = VariantProps<typeof numberInputVariants> & {\n className?: string\n disabled?: boolean\n glass?: boolean\n max?: number\n min?: number\n onChange: (value: number | null) => void\n placeholder?: string\n prefix?: string\n step?: number\n suffix?: string\n value: number | null\n}\n\nfunction clamp(val: number, min?: number, max?: number): number {\n let result = val\n if (min !== undefined && result < min) {\n result = min\n }\n if (max !== undefined && result > max) {\n result = max\n }\n return result\n}\n\nconst NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n function NumberInput(\n { className, disabled, error, glass, inputSize, max, min, onChange, placeholder, prefix, step = 1, suffix, value },\n ref,\n ) {\n const handleDecrement = useCallback(() => {\n const base = value ?? 0\n onChange(clamp(base - step, min, max))\n }, [value, step, min, max, onChange])\n\n const handleIncrement = useCallback(() => {\n const base = value ?? 0\n onChange(clamp(base + step, min, max))\n }, [value, step, min, max, onChange])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value\n if (raw === '') {\n onChange(null)\n return\n }\n const parsed = Number(raw)\n if (Number.isNaN(parsed)) {\n return\n }\n onChange(clamp(parsed, min, max))\n },\n [min, max, onChange],\n )\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n handleIncrement()\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n handleDecrement()\n }\n },\n [handleIncrement, handleDecrement],\n )\n\n return (\n <div\n className={cx(\n numberInputVariants({ error, inputSize }),\n glassClass(glass),\n glass === true && 'border-white/10 bg-bg/60',\n disabled === true && 'cursor-not-allowed opacity-50',\n className,\n )}\n data-component=\"number-input\"\n >\n <NumberStepper direction=\"decrement\" disabled={disabled} onClick={handleDecrement} />\n {prefix !== undefined && <span className=\"shrink-0 select-none pl-1 text-fg-muted/50\">{prefix}</span>}\n <input\n className={cx(\n 'min-w-0 flex-1 bg-transparent text-center outline-none placeholder:text-fg-muted/50',\n '[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none',\n )}\n disabled={disabled}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={ref}\n type=\"number\"\n value={value ?? ''}\n />\n {suffix !== undefined && <span className=\"shrink-0 select-none pr-1 text-fg-muted/50\">{suffix}</span>}\n <NumberStepper direction=\"increment\" disabled={disabled} onClick={handleIncrement} />\n </div>\n )\n },\n)\n\nexport { NumberInput,numberInputVariants }\nexport type { NumberInputProps }\n","import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\nimport { renderPortal } from '../utils/portal'\n\ntype ScreenOverlayProps = {\n visible: boolean\n glass?: boolean\n onClick?: () => void\n className?: string\n}\n\nconst ScreenOverlayInner = forwardRef<HTMLDivElement, ScreenOverlayProps>(\n function ScreenOverlayInner({ visible, glass, onClick, className }, ref) {\n if (!visible) return null\n\n return (\n <div\n className={cx(\n 'fixed inset-0 z-40',\n glass === true ? glassClass(true) : 'bg-black/50',\n className,\n )}\n data-component=\"screen-overlay\"\n onClick={onClick}\n ref={ref}\n />\n )\n },\n)\n\nexport const ScreenOverlay = forwardRef<HTMLDivElement, ScreenOverlayProps>(\n function ScreenOverlay(props, ref) {\n return renderPortal(<ScreenOverlayInner ref={ref} {...props} />)\n },\n)\n\nexport type { ScreenOverlayProps }\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype ScrollAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n children: ReactNode\n maxHeight?: number | string\n orientation?: 'both' | 'horizontal' | 'vertical'\n}\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(\n function ScrollArea(\n { children, className, maxHeight, orientation = 'vertical', style, ...props },\n ref,\n ) {\n return (\n <div\n className={cx(\n orientation === 'vertical' && 'overflow-x-hidden overflow-y-auto',\n orientation === 'horizontal' && 'overflow-x-auto overflow-y-hidden',\n orientation === 'both' && 'overflow-auto',\n className,\n )}\n data-component=\"scroll-area\"\n ref={ref}\n style={{\n ...style,\n maxHeight:\n maxHeight !== undefined\n ? typeof maxHeight === 'number'\n ? `${maxHeight}px`\n : maxHeight\n : undefined,\n }}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n\nexport type { ScrollAreaProps }\n","// shimmer — skeleton shimmer placeholder effect\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype ShimmerProps = React.HTMLAttributes<HTMLDivElement> & {\n height?: string\n rounded?: boolean\n width?: string\n}\n\nexport const Shimmer = forwardRef<HTMLDivElement, ShimmerProps>(\n function Shimmer({ className, height = '20px', rounded = false, width = '100%', ...props }, ref) {\n return (\n <div\n className={cx(\n 'relative overflow-hidden bg-fg-muted/10',\n rounded ? 'rounded-full' : 'rounded-md',\n className,\n )}\n data-component=\"shimmer\"\n ref={ref}\n style={{ width, height }}\n {...props}\n >\n <div className=\"absolute inset-0 animate-[shimmer_1.5s_ease-in-out_infinite] bg-gradient-to-r from-transparent via-fg-muted/5 to-transparent\" />\n </div>\n )\n },\n)\n\nexport type { ShimmerProps }\n","import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype SkipNavProps = {\n targetId?: string\n label?: string\n className?: string\n}\n\nconst SkipNav = forwardRef<HTMLAnchorElement, SkipNavProps>(function SkipNav(\n { targetId = 'main-content', label = 'Skip to content', className },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={cx(\n 'absolute left-2 top-2 z-50 -translate-y-full rounded bg-accent px-3 py-2 text-sm font-medium text-accent-fg transition-transform focus:translate-y-0 focus:outline-none',\n className,\n )}\n data-component=\"skip-nav\"\n href={`#${targetId}`}\n >\n {label}\n </a>\n )\n})\n\nexport { SkipNav }\nexport type { SkipNavProps }\n","// slider — native range input with value display\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\ntype SliderProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> & {\n disabled?: boolean\n max?: number\n min?: number\n onChange?: (value: number) => void\n step?: number\n value?: number\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n function Slider(\n { className, disabled = false, max = 100, min = 0, onChange, step = 1, value = 0, ...props },\n ref,\n ) {\n return (\n <div className={cx('flex items-center gap-3', className)} data-component=\"slider\" {...props}>\n <input\n className={cx(\n 'h-1.5 w-full cursor-pointer appearance-none rounded-full bg-bg-tertiary accent-accent',\n disabled && 'cursor-not-allowed opacity-50',\n focusCls,\n )}\n disabled={disabled}\n max={max}\n min={min}\n onChange={(e) => onChange?.(Number(e.target.value))}\n ref={ref}\n step={step}\n type=\"range\"\n value={value}\n />\n <span className=\"w-8 shrink-0 text-right font-mono text-xs text-fg-muted tabular-nums\">\n {value}\n </span>\n </div>\n )\n },\n)\n\nexport type { SliderProps }\n","// truncate — text truncation with ellipsis, single or multi-line clamp\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nexport type TruncateProps = {\n children: ReactNode\n lines?: number\n expanded?: boolean\n onToggle?: () => void\n className?: string\n}\n\nexport const Truncate = forwardRef<HTMLDivElement, TruncateProps>(\n function Truncate(\n { children, lines = 1, expanded = false, onToggle, className },\n ref,\n ) {\n const shouldClamp = !expanded\n const isSingleLine = lines === 1\n const isInteractive = onToggle !== undefined\n\n const clampStyle = !isSingleLine && shouldClamp\n ? {\n display: '-webkit-box' as const,\n WebkitLineClamp: lines,\n WebkitBoxOrient: 'vertical' as const,\n overflow: 'hidden' as const,\n }\n : undefined\n\n return (\n <div\n ref={ref}\n className={cx(\n isSingleLine && shouldClamp && 'truncate',\n isInteractive && 'cursor-pointer',\n className,\n )}\n style={clampStyle}\n onClick={isInteractive ? onToggle : undefined}\n data-component=\"truncate\"\n data-expanded={expanded ? 'true' : undefined}\n role={isInteractive ? 'button' : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n >\n {children}\n </div>\n )\n },\n)\n","import type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { srOnly } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\ntype VisuallyHiddenProps = {\n as?: 'div' | 'span'\n children: ReactNode\n className?: string\n}\n\nconst VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(function VisuallyHidden(\n { as: Tag = 'span', children, className },\n ref,\n) {\n return (\n <Tag ref={ref as never} className={cx(srOnly, className)} data-component=\"visually-hidden\">\n {children}\n </Tag>\n )\n})\n\nexport { VisuallyHidden }\nexport type { VisuallyHiddenProps }\n"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export declare const AvatarBadge: import("react").ForwardRefExoticComponent<impo
|
|
|
7
7
|
size?: "xs" | "sm" | "default" | "lg" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
9
9
|
glass?: boolean;
|
|
10
|
+
loading?: boolean;
|
|
10
11
|
name?: string;
|
|
11
12
|
src?: string;
|
|
12
13
|
status?: import("./avatar").AvatarStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar-badge.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/avatar-badge.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,gBAAgB,GAAG,WAAW,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"avatar-badge.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/avatar-badge.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,gBAAgB,GAAG,WAAW,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;YAJd,MAAM;eACH,MAAM;mDAoBlB,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -5,6 +5,7 @@ declare const avatarVariants: (props?: ({
|
|
|
5
5
|
type AvatarStatus = 'away' | 'busy' | 'offline' | 'online';
|
|
6
6
|
type AvatarProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof avatarVariants> & {
|
|
7
7
|
glass?: boolean;
|
|
8
|
+
loading?: boolean;
|
|
8
9
|
name?: string;
|
|
9
10
|
src?: string;
|
|
10
11
|
status?: AvatarStatus;
|
|
@@ -13,6 +14,7 @@ export declare const Avatar: import("react").ForwardRefExoticComponent<import("r
|
|
|
13
14
|
size?: "xs" | "sm" | "default" | "lg" | null | undefined;
|
|
14
15
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
15
16
|
glass?: boolean;
|
|
17
|
+
loading?: boolean;
|
|
16
18
|
name?: string;
|
|
17
19
|
src?: string;
|
|
18
20
|
status?: AvatarStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/avatar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,QAAA,MAAM,cAAc;;8EAanB,CAAA;AAmCD,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE1D,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GACtD,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAEH,eAAO,MAAM,MAAM;;;
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/avatar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,QAAA,MAAM,cAAc;;8EAanB,CAAA;AAmCD,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE1D,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GACtD,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAEH,eAAO,MAAM,MAAM;;;YAPP,OAAO;cACL,OAAO;WACV,MAAM;UACP,MAAM;aACH,YAAY;mDAwCxB,CAAA;AAED,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,WAAW;UAHhB,MAAM;kDAyBb,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -11,5 +11,12 @@ export declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<im
|
|
|
11
11
|
label?: string;
|
|
12
12
|
onChange?: (checked: boolean) => void;
|
|
13
13
|
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
14
|
+
declare const checkboxVariants: {
|
|
15
|
+
readonly state: {
|
|
16
|
+
readonly checked: "border-accent bg-accent";
|
|
17
|
+
readonly unchecked: "border-border bg-bg hover:border-accent/50";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export { checkboxVariants };
|
|
14
21
|
export type { CheckboxProps };
|
|
15
22
|
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,KAAK,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,GAAG;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACtC,CAAA;AAWD,eAAO,MAAM,QAAQ;cAfT,OAAO;gBACL,SAAS;YACb,MAAM;eACH,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;qDAqDtC,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/l3-atoms/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,KAAK,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,GAAG;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACtC,CAAA;AAWD,eAAO,MAAM,QAAQ;cAfT,OAAO;gBACL,SAAS;YACb,MAAM;eACH,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;qDAqDtC,CAAA;AAED,QAAA,MAAM,gBAAgB;;;;;CAKZ,CAAA;AAEV,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,YAAY,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/l3-atoms/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { Blinking } from './blinking';
|
|
|
13
13
|
export type { BounceDotProps } from './bounce-dot';
|
|
14
14
|
export { BounceDot } from './bounce-dot';
|
|
15
15
|
export type { CheckboxProps } from './checkbox';
|
|
16
|
-
export { Checkbox } from './checkbox';
|
|
16
|
+
export { Checkbox, checkboxVariants } from './checkbox';
|
|
17
17
|
export type { CheckboxGroupOption, CheckboxGroupProps } from './checkbox-group';
|
|
18
18
|
export { CheckboxGroup } from './checkbox-group';
|
|
19
19
|
export type { ChipProps } from './chip';
|
|
@@ -109,9 +109,9 @@ export { Sparkle } from './sparkle';
|
|
|
109
109
|
export type { StarRatingProps } from './star-rating';
|
|
110
110
|
export { StarRating } from './star-rating';
|
|
111
111
|
export type { StatusBadgeProps, StatusType } from './status-badge';
|
|
112
|
-
export { StatusBadge } from './status-badge';
|
|
112
|
+
export { StatusBadge, statusBadgeVariants } from './status-badge';
|
|
113
113
|
export type { StatusDotProps, StatusDotStatus } from './status-dot';
|
|
114
|
-
export { StatusDot } from './status-dot';
|
|
114
|
+
export { StatusDot, statusDotVariants } from './status-dot';
|
|
115
115
|
export type { SwitchProps } from './switch';
|
|
116
116
|
export { Switch, switchVariants } from './switch';
|
|
117
117
|
export type { SwitchGroupItem, SwitchGroupProps } from './switch-group';
|
|
@@ -125,7 +125,7 @@ export { TextareaCounter } from './textarea-counter';
|
|
|
125
125
|
export type { ThemeToggleProps } from './theme-toggle';
|
|
126
126
|
export { ThemeToggle } from './theme-toggle';
|
|
127
127
|
export type { ToggleGroupItem, ToggleGroupProps, ToggleGroupSize } from './toggle-group';
|
|
128
|
-
export { ToggleGroup } from './toggle-group';
|
|
128
|
+
export { ToggleGroup, toggleGroupVariants, toggleItemVariants } from './toggle-group';
|
|
129
129
|
export type { TooltipProps } from './tooltip';
|
|
130
130
|
export { Tooltip } from './tooltip';
|
|
131
131
|
export type { TrendArrowDirection, TrendArrowProps, TrendArrowSize } from './trend-arrow';
|