@sandurtech/sandui 0.0.1 → 0.0.2

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/sandui.js CHANGED
@@ -1,277 +1,312 @@
1
- import Oe, { forwardRef as b, useMemo as T, useState as ke, useCallback as I, useId as C, useRef as K, useEffect as Ie, createContext as Me, useContext as De } from "react";
2
- var U = { exports: {} }, D = {};
3
- var me;
4
- function Pe() {
5
- if (me) return D;
6
- me = 1;
7
- var d = /* @__PURE__ */ Symbol.for("react.transitional.element"), a = /* @__PURE__ */ Symbol.for("react.fragment");
8
- function n(r, t, c) {
9
- var o = null;
10
- if (c !== void 0 && (o = "" + c), t.key !== void 0 && (o = "" + t.key), "key" in t) {
11
- c = {};
12
- for (var u in t)
13
- u !== "key" && (c[u] = t[u]);
14
- } else c = t;
15
- return t = c.ref, {
16
- $$typeof: d,
17
- type: r,
18
- key: o,
19
- ref: t !== void 0 ? t : null,
20
- props: c
1
+ import ta, { forwardRef as f, useState as V, useId as I, useMemo as C, useCallback as q, useRef as de, useEffect as Oe, createContext as Pe, useContext as De, isValidElement as sa, cloneElement as ra } from "react";
2
+ import { createPortal as oa } from "react-dom";
3
+ var re = { exports: {} }, H = {};
4
+ var Ee;
5
+ function da() {
6
+ if (Ee) return H;
7
+ Ee = 1;
8
+ var s = /* @__PURE__ */ Symbol.for("react.transitional.element"), e = /* @__PURE__ */ Symbol.for("react.fragment");
9
+ function a(t, r, d) {
10
+ var c = null;
11
+ if (d !== void 0 && (c = "" + d), r.key !== void 0 && (c = "" + r.key), "key" in r) {
12
+ d = {};
13
+ for (var i in r)
14
+ i !== "key" && (d[i] = r[i]);
15
+ } else d = r;
16
+ return r = d.ref, {
17
+ $$typeof: s,
18
+ type: t,
19
+ key: c,
20
+ ref: r !== void 0 ? r : null,
21
+ props: d
21
22
  };
22
23
  }
23
- return D.Fragment = a, D.jsx = n, D.jsxs = n, D;
24
+ return H.Fragment = e, H.jsx = a, H.jsxs = a, H;
24
25
  }
25
- var P = {};
26
- var pe;
27
- function Fe() {
28
- return pe || (pe = 1, process.env.NODE_ENV !== "production" && (function() {
29
- function d(e) {
30
- if (e == null) return null;
31
- if (typeof e == "function")
32
- return e.$$typeof === Ce ? null : e.displayName || e.name || null;
33
- if (typeof e == "string") return e;
34
- switch (e) {
35
- case A:
26
+ var Y = {};
27
+ var $e;
28
+ function ca() {
29
+ return $e || ($e = 1, process.env.NODE_ENV !== "production" && (function() {
30
+ function s(o) {
31
+ if (o == null) return null;
32
+ if (typeof o == "function")
33
+ return o.$$typeof === ea ? null : o.displayName || o.name || null;
34
+ if (typeof o == "string") return o;
35
+ switch (o) {
36
+ case R:
36
37
  return "Fragment";
37
- case J:
38
+ case ie:
38
39
  return "Profiler";
39
- case V:
40
+ case g:
40
41
  return "StrictMode";
41
- case L:
42
+ case ae:
42
43
  return "Suspense";
43
- case Y:
44
+ case ne:
44
45
  return "SuspenseList";
45
- case Re:
46
+ case Qe:
46
47
  return "Activity";
47
48
  }
48
- if (typeof e == "object")
49
- switch (typeof e.tag == "number" && console.error(
49
+ if (typeof o == "object")
50
+ switch (typeof o.tag == "number" && console.error(
50
51
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
51
- ), e.$$typeof) {
52
- case g:
52
+ ), o.$$typeof) {
53
+ case T:
53
54
  return "Portal";
54
- case j:
55
- return e.displayName || "Context";
56
- case M:
57
- return (e._context.displayName || "Context") + ".Consumer";
58
- case R:
59
- var l = e.render;
60
- return e = e.displayName, e || (e = l.displayName || l.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
55
+ case w:
56
+ return o.displayName || "Context";
61
57
  case G:
62
- return l = e.displayName || null, l !== null ? l : d(e.type) || "Memo";
63
- case X:
64
- l = e._payload, e = e._init;
58
+ return (o._context.displayName || "Context") + ".Consumer";
59
+ case O:
60
+ var h = o.render;
61
+ return o = o.displayName, o || (o = h.displayName || h.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
62
+ case te:
63
+ return h = o.displayName || null, h !== null ? h : s(o.type) || "Memo";
64
+ case le:
65
+ h = o._payload, o = o._init;
65
66
  try {
66
- return d(e(l));
67
+ return s(o(h));
67
68
  } catch {
68
69
  }
69
70
  }
70
71
  return null;
71
72
  }
72
- function a(e) {
73
- return "" + e;
73
+ function e(o) {
74
+ return "" + o;
74
75
  }
75
- function n(e) {
76
+ function a(o) {
76
77
  try {
77
- a(e);
78
- var l = !1;
78
+ e(o);
79
+ var h = !1;
79
80
  } catch {
80
- l = !0;
81
+ h = !0;
81
82
  }
82
- if (l) {
83
- l = console;
84
- var p = l.error, k = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
85
- return p.call(
86
- l,
83
+ if (h) {
84
+ h = console;
85
+ var y = h.error, S = typeof Symbol == "function" && Symbol.toStringTag && o[Symbol.toStringTag] || o.constructor.name || "Object";
86
+ return y.call(
87
+ h,
87
88
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
88
- k
89
- ), a(e);
89
+ S
90
+ ), e(o);
90
91
  }
91
92
  }
92
- function r(e) {
93
- if (e === A) return "<>";
94
- if (typeof e == "object" && e !== null && e.$$typeof === X)
93
+ function t(o) {
94
+ if (o === R) return "<>";
95
+ if (typeof o == "object" && o !== null && o.$$typeof === le)
95
96
  return "<...>";
96
97
  try {
97
- var l = d(e);
98
- return l ? "<" + l + ">" : "<...>";
98
+ var h = s(o);
99
+ return h ? "<" + h + ">" : "<...>";
99
100
  } catch {
100
101
  return "<...>";
101
102
  }
102
103
  }
103
- function t() {
104
- var e = Z.A;
105
- return e === null ? null : e.getOwner();
104
+ function r() {
105
+ var o = ue.A;
106
+ return o === null ? null : o.getOwner();
106
107
  }
107
- function c() {
108
+ function d() {
108
109
  return Error("react-stack-top-frame");
109
110
  }
110
- function o(e) {
111
- if (le.call(e, "key")) {
112
- var l = Object.getOwnPropertyDescriptor(e, "key").get;
113
- if (l && l.isReactWarning) return !1;
111
+ function c(o) {
112
+ if (Se.call(o, "key")) {
113
+ var h = Object.getOwnPropertyDescriptor(o, "key").get;
114
+ if (h && h.isReactWarning) return !1;
114
115
  }
115
- return e.key !== void 0;
116
+ return o.key !== void 0;
116
117
  }
117
- function u(e, l) {
118
- function p() {
119
- ie || (ie = !0, console.error(
118
+ function i(o, h) {
119
+ function y() {
120
+ Ne || (Ne = !0, console.error(
120
121
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
121
- l
122
+ h
122
123
  ));
123
124
  }
124
- p.isReactWarning = !0, Object.defineProperty(e, "key", {
125
- get: p,
125
+ y.isReactWarning = !0, Object.defineProperty(o, "key", {
126
+ get: y,
126
127
  configurable: !0
127
128
  });
128
129
  }
129
- function f() {
130
- var e = d(this.type);
131
- return ue[e] || (ue[e] = !0, console.error(
130
+ function l() {
131
+ var o = s(this.type);
132
+ return je[o] || (je[o] = !0, console.error(
132
133
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
133
- )), e = this.props.ref, e !== void 0 ? e : null;
134
- }
135
- function h(e, l, p, k, H, ee) {
136
- var v = p.ref;
137
- return e = {
138
- $$typeof: N,
139
- type: e,
140
- key: l,
141
- props: p,
142
- _owner: k
143
- }, (v !== void 0 ? v : null) !== null ? Object.defineProperty(e, "ref", {
134
+ )), o = this.props.ref, o !== void 0 ? o : null;
135
+ }
136
+ function u(o, h, y, S, se, me) {
137
+ var N = y.ref;
138
+ return o = {
139
+ $$typeof: v,
140
+ type: o,
141
+ key: h,
142
+ props: y,
143
+ _owner: S
144
+ }, (N !== void 0 ? N : null) !== null ? Object.defineProperty(o, "ref", {
144
145
  enumerable: !1,
145
- get: f
146
- }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
146
+ get: l
147
+ }) : Object.defineProperty(o, "ref", { enumerable: !1, value: null }), o._store = {}, Object.defineProperty(o._store, "validated", {
147
148
  configurable: !1,
148
149
  enumerable: !1,
149
150
  writable: !0,
150
151
  value: 0
151
- }), Object.defineProperty(e, "_debugInfo", {
152
+ }), Object.defineProperty(o, "_debugInfo", {
152
153
  configurable: !1,
153
154
  enumerable: !1,
154
155
  writable: !0,
155
156
  value: null
156
- }), Object.defineProperty(e, "_debugStack", {
157
+ }), Object.defineProperty(o, "_debugStack", {
157
158
  configurable: !1,
158
159
  enumerable: !1,
159
160
  writable: !0,
160
- value: H
161
- }), Object.defineProperty(e, "_debugTask", {
161
+ value: se
162
+ }), Object.defineProperty(o, "_debugTask", {
162
163
  configurable: !1,
163
164
  enumerable: !1,
164
165
  writable: !0,
165
- value: ee
166
- }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
167
- }
168
- function _(e, l, p, k, H, ee) {
169
- var v = l.children;
170
- if (v !== void 0)
171
- if (k)
172
- if (Ae(v)) {
173
- for (k = 0; k < v.length; k++)
174
- m(v[k]);
175
- Object.freeze && Object.freeze(v);
166
+ value: me
167
+ }), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
168
+ }
169
+ function m(o, h, y, S, se, me) {
170
+ var N = h.children;
171
+ if (N !== void 0)
172
+ if (S)
173
+ if (aa(N)) {
174
+ for (S = 0; S < N.length; S++)
175
+ b(N[S]);
176
+ Object.freeze && Object.freeze(N);
176
177
  } else
177
178
  console.error(
178
179
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
179
180
  );
180
- else m(v);
181
- if (le.call(l, "key")) {
182
- v = d(e);
183
- var $ = Object.keys(l).filter(function($e) {
184
- return $e !== "key";
181
+ else b(N);
182
+ if (Se.call(h, "key")) {
183
+ N = s(o);
184
+ var D = Object.keys(h).filter(function(na) {
185
+ return na !== "key";
185
186
  });
186
- k = 0 < $.length ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}", fe[v + k] || ($ = 0 < $.length ? "{" + $.join(": ..., ") + ": ...}" : "{}", console.error(
187
+ S = 0 < D.length ? "{key: someKey, " + D.join(": ..., ") + ": ...}" : "{key: someKey}", Te[N + S] || (D = 0 < D.length ? "{" + D.join(": ..., ") + ": ...}" : "{}", console.error(
187
188
  `A props object containing a "key" prop is being spread into JSX:
188
189
  let props = %s;
189
190
  <%s {...props} />
190
191
  React keys must be passed directly to JSX without using spread:
191
192
  let props = %s;
192
193
  <%s key={someKey} {...props} />`,
193
- k,
194
- v,
195
- $,
196
- v
197
- ), fe[v + k] = !0);
194
+ S,
195
+ N,
196
+ D,
197
+ N
198
+ ), Te[N + S] = !0);
198
199
  }
199
- if (v = null, p !== void 0 && (n(p), v = "" + p), o(l) && (n(l.key), v = "" + l.key), "key" in l) {
200
- p = {};
201
- for (var ae in l)
202
- ae !== "key" && (p[ae] = l[ae]);
203
- } else p = l;
204
- return v && u(
205
- p,
206
- typeof e == "function" ? e.displayName || e.name || "Unknown" : e
207
- ), h(
208
- e,
209
- v,
210
- p,
211
- t(),
212
- H,
213
- ee
200
+ if (N = null, y !== void 0 && (a(y), N = "" + y), c(h) && (a(h.key), N = "" + h.key), "key" in h) {
201
+ y = {};
202
+ for (var fe in h)
203
+ fe !== "key" && (y[fe] = h[fe]);
204
+ } else y = h;
205
+ return N && i(
206
+ y,
207
+ typeof o == "function" ? o.displayName || o.name || "Unknown" : o
208
+ ), u(
209
+ o,
210
+ N,
211
+ y,
212
+ r(),
213
+ se,
214
+ me
214
215
  );
215
216
  }
216
- function m(e) {
217
- S(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === X && (e._payload.status === "fulfilled" ? S(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
217
+ function b(o) {
218
+ x(o) ? o._store && (o._store.validated = 1) : typeof o == "object" && o !== null && o.$$typeof === le && (o._payload.status === "fulfilled" ? x(o._payload.value) && o._payload.value._store && (o._payload.value._store.validated = 1) : o._store && (o._store.validated = 1));
218
219
  }
219
- function S(e) {
220
- return typeof e == "object" && e !== null && e.$$typeof === N;
220
+ function x(o) {
221
+ return typeof o == "object" && o !== null && o.$$typeof === v;
221
222
  }
222
- var y = Oe, N = /* @__PURE__ */ Symbol.for("react.transitional.element"), g = /* @__PURE__ */ Symbol.for("react.portal"), A = /* @__PURE__ */ Symbol.for("react.fragment"), V = /* @__PURE__ */ Symbol.for("react.strict_mode"), J = /* @__PURE__ */ Symbol.for("react.profiler"), M = /* @__PURE__ */ Symbol.for("react.consumer"), j = /* @__PURE__ */ Symbol.for("react.context"), R = /* @__PURE__ */ Symbol.for("react.forward_ref"), L = /* @__PURE__ */ Symbol.for("react.suspense"), Y = /* @__PURE__ */ Symbol.for("react.suspense_list"), G = /* @__PURE__ */ Symbol.for("react.memo"), X = /* @__PURE__ */ Symbol.for("react.lazy"), Re = /* @__PURE__ */ Symbol.for("react.activity"), Ce = /* @__PURE__ */ Symbol.for("react.client.reference"), Z = y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, le = Object.prototype.hasOwnProperty, Ae = Array.isArray, Q = console.createTask ? console.createTask : function() {
223
+ var p = ta, v = /* @__PURE__ */ Symbol.for("react.transitional.element"), T = /* @__PURE__ */ Symbol.for("react.portal"), R = /* @__PURE__ */ Symbol.for("react.fragment"), g = /* @__PURE__ */ Symbol.for("react.strict_mode"), ie = /* @__PURE__ */ Symbol.for("react.profiler"), G = /* @__PURE__ */ Symbol.for("react.consumer"), w = /* @__PURE__ */ Symbol.for("react.context"), O = /* @__PURE__ */ Symbol.for("react.forward_ref"), ae = /* @__PURE__ */ Symbol.for("react.suspense"), ne = /* @__PURE__ */ Symbol.for("react.suspense_list"), te = /* @__PURE__ */ Symbol.for("react.memo"), le = /* @__PURE__ */ Symbol.for("react.lazy"), Qe = /* @__PURE__ */ Symbol.for("react.activity"), ea = /* @__PURE__ */ Symbol.for("react.client.reference"), ue = p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Se = Object.prototype.hasOwnProperty, aa = Array.isArray, _e = console.createTask ? console.createTask : function() {
223
224
  return null;
224
225
  };
225
- y = {
226
- react_stack_bottom_frame: function(e) {
227
- return e();
226
+ p = {
227
+ react_stack_bottom_frame: function(o) {
228
+ return o();
228
229
  }
229
230
  };
230
- var ie, ue = {}, be = y.react_stack_bottom_frame.bind(
231
- y,
232
- c
233
- )(), _e = Q(r(c)), fe = {};
234
- P.Fragment = A, P.jsx = function(e, l, p) {
235
- var k = 1e4 > Z.recentlyCreatedOwnerStacks++;
236
- return _(
237
- e,
238
- l,
239
- p,
231
+ var Ne, je = {}, ke = p.react_stack_bottom_frame.bind(
232
+ p,
233
+ d
234
+ )(), we = _e(t(d)), Te = {};
235
+ Y.Fragment = R, Y.jsx = function(o, h, y) {
236
+ var S = 1e4 > ue.recentlyCreatedOwnerStacks++;
237
+ return m(
238
+ o,
239
+ h,
240
+ y,
240
241
  !1,
241
- k ? Error("react-stack-top-frame") : be,
242
- k ? Q(r(e)) : _e
242
+ S ? Error("react-stack-top-frame") : ke,
243
+ S ? _e(t(o)) : we
243
244
  );
244
- }, P.jsxs = function(e, l, p) {
245
- var k = 1e4 > Z.recentlyCreatedOwnerStacks++;
246
- return _(
247
- e,
248
- l,
249
- p,
245
+ }, Y.jsxs = function(o, h, y) {
246
+ var S = 1e4 > ue.recentlyCreatedOwnerStacks++;
247
+ return m(
248
+ o,
249
+ h,
250
+ y,
250
251
  !0,
251
- k ? Error("react-stack-top-frame") : be,
252
- k ? Q(r(e)) : _e
252
+ S ? Error("react-stack-top-frame") : ke,
253
+ S ? _e(t(o)) : we
253
254
  );
254
255
  };
255
- })()), P;
256
+ })()), Y;
257
+ }
258
+ var Ce;
259
+ function ia() {
260
+ return Ce || (Ce = 1, process.env.NODE_ENV === "production" ? re.exports = da() : re.exports = ca()), re.exports;
256
261
  }
257
- var he;
258
- function Be() {
259
- return he || (he = 1, process.env.NODE_ENV === "production" ? U.exports = Pe() : U.exports = Fe()), U.exports;
262
+ var n = ia();
263
+ function _(...s) {
264
+ return s.filter(Boolean).join(" ");
260
265
  }
261
- var s = Be();
262
- const ye = {
263
- "sand-badge": "_sand-badge_uye3i_1",
264
- "sand-badge-primary": "_sand-badge-primary_uye3i_14",
265
- "sand-badge-secondary": "_sand-badge-secondary_uye3i_19",
266
- "sand-badge-success": "_sand-badge-success_uye3i_24",
267
- "sand-badge-failed": "_sand-badge-failed_uye3i_30"
266
+ const la = {
267
+ none: "0",
268
+ "2xs": "var(--sand-space-1)",
269
+ xs: "var(--sand-space-2)",
270
+ sm: "var(--sand-space-3)",
271
+ md: "var(--sand-space-4)",
272
+ lg: "var(--sand-space-5)",
273
+ xl: "var(--sand-space-6)",
274
+ "2xl": "var(--sand-space-7)",
275
+ "3xl": "var(--sand-space-8)"
276
+ }, ua = {
277
+ sm: "var(--radius-sm)",
278
+ md: "var(--radius-md)",
279
+ lg: "var(--radius-lg)",
280
+ xl: "var(--radius-xl)",
281
+ full: "var(--radius-full)"
268
282
  };
269
- function i(...d) {
270
- return d.filter(Boolean).join(" ");
283
+ function X(s) {
284
+ if (s !== void 0)
285
+ return typeof s == "number" ? `${s}px` : la[s] ?? s;
286
+ }
287
+ function ze(s) {
288
+ if (s !== void 0)
289
+ return typeof s == "number" ? `${s}px` : ua[s] ?? s;
290
+ }
291
+ function j(s, e, a) {
292
+ return a === void 0 ? s : {
293
+ ...s,
294
+ [e]: a
295
+ };
271
296
  }
272
- function ze(d) {
297
+ function Be(s, e, a) {
298
+ if (a === void 0)
299
+ return s;
300
+ if (typeof a != "object" || a === null || Array.isArray(a))
301
+ return j(s, `--${e}`, String(a));
302
+ let t = s;
303
+ for (const [r, d] of Object.entries(a))
304
+ d !== void 0 && (t = j(t, `--${e}-${r}`, String(d)));
305
+ return t;
306
+ }
307
+ function _a(s) {
273
308
  return Array.from(
274
- d.querySelectorAll(
309
+ s.querySelectorAll(
275
310
  [
276
311
  "a[href]",
277
312
  "button:not([disabled])",
@@ -281,517 +316,923 @@ function ze(d) {
281
316
  '[tabindex]:not([tabindex="-1"])'
282
317
  ].join(",")
283
318
  )
284
- ).filter((a) => !a.hasAttribute("disabled") && !a.getAttribute("aria-hidden"));
319
+ ).filter((e) => !e.hasAttribute("disabled") && !e.getAttribute("aria-hidden"));
285
320
  }
286
- function ne(d, a, n, r) {
287
- if (n !== 0)
288
- switch (d.key) {
321
+ function ce(s, e, a, t) {
322
+ if (a !== 0)
323
+ switch (s.key) {
289
324
  case "ArrowRight":
290
325
  case "ArrowDown":
291
- d.preventDefault(), r((a + 1) % n);
326
+ s.preventDefault(), t((e + 1) % a);
292
327
  break;
293
328
  case "ArrowLeft":
294
329
  case "ArrowUp":
295
- d.preventDefault(), r((a - 1 + n) % n);
330
+ s.preventDefault(), t((e - 1 + a) % a);
296
331
  break;
297
332
  case "Home":
298
- d.preventDefault(), r(0);
333
+ s.preventDefault(), t(0);
299
334
  break;
300
335
  case "End":
301
- d.preventDefault(), r(n - 1);
336
+ s.preventDefault(), t(a - 1);
302
337
  break;
303
338
  }
304
339
  }
305
- const qe = b(function({ variant: a = "primary", className: n = "", ...r }, t) {
306
- const c = T(() => ye[`sand-badge-${a}`], [a]);
307
- return /* @__PURE__ */ s.jsx(
340
+ const L = f(function({ icon: e, size: a, fill: t, className: r, style: d, ...c }, i) {
341
+ if (typeof e == "function") {
342
+ const l = e;
343
+ return /* @__PURE__ */ n.jsx(
344
+ l,
345
+ {
346
+ ref: i,
347
+ width: a ?? 18,
348
+ height: a ?? 18,
349
+ className: _(r),
350
+ ...c
351
+ }
352
+ );
353
+ }
354
+ return /* @__PURE__ */ n.jsx(
308
355
  "span",
309
356
  {
310
- ref: t,
311
- className: i(ye["sand-badge"], c, n),
312
- ...r
357
+ ref: i,
358
+ className: _("material-symbols-rounded", r),
359
+ style: {
360
+ fontSize: a,
361
+ fontVariationSettings: t ? "'FILL' 1" : void 0,
362
+ display: "inline-flex",
363
+ alignItems: "center",
364
+ justifyContent: "center",
365
+ ...d
366
+ },
367
+ "aria-hidden": c["aria-label"] ? void 0 : !0,
368
+ ...c,
369
+ children: e
370
+ }
371
+ );
372
+ });
373
+ L.displayName = "SandIcon";
374
+ const ma = "_alert_f8qp0_1", fa = "_icon_f8qp0_13", pa = "_content_f8qp0_25", ba = "_title_f8qp0_30", ha = "_description_f8qp0_35", W = {
375
+ alert: ma,
376
+ icon: fa,
377
+ content: pa,
378
+ title: ba,
379
+ description: ha
380
+ }, xa = {
381
+ info: {
382
+ icon: "info",
383
+ color: "var(--color-info)",
384
+ soft: "var(--color-info-soft)"
385
+ },
386
+ success: {
387
+ icon: "check_circle",
388
+ color: "var(--color-success)",
389
+ soft: "var(--color-success-soft)"
390
+ },
391
+ warning: {
392
+ icon: "warning",
393
+ color: "var(--color-warning)",
394
+ soft: "var(--color-warning-soft)"
395
+ },
396
+ error: {
397
+ icon: "error",
398
+ color: "var(--color-error)",
399
+ soft: "var(--color-error-soft)"
400
+ }
401
+ }, va = f(function({ status: e = "info", title: a, description: t, className: r, style: d, children: c, ...i }, l) {
402
+ const u = xa[e];
403
+ return /* @__PURE__ */ n.jsxs(
404
+ "div",
405
+ {
406
+ ref: l,
407
+ role: "status",
408
+ className: _(W.alert, r),
409
+ style: {
410
+ "--sand-alert-border": u.color,
411
+ "--sand-alert-bg": `color-mix(in srgb, ${u.soft} 74%, var(--theme-surface))`,
412
+ "--sand-alert-soft": u.soft,
413
+ "--sand-alert-color": u.color,
414
+ ...d
415
+ },
416
+ ...i,
417
+ children: [
418
+ /* @__PURE__ */ n.jsx("span", { className: W.icon, children: /* @__PURE__ */ n.jsx(L, { icon: u.icon, size: 20 }) }),
419
+ /* @__PURE__ */ n.jsxs("div", { className: W.content, children: [
420
+ a && /* @__PURE__ */ n.jsx("div", { className: W.title, children: a }),
421
+ t && /* @__PURE__ */ n.jsx("div", { className: W.description, children: t }),
422
+ c
423
+ ] })
424
+ ]
425
+ }
426
+ );
427
+ });
428
+ va.displayName = "SandAlert";
429
+ const ya = "_accordion_rsxio_1", ga = "_item_rsxio_7", Sa = "_trigger_rsxio_26", Na = "_triggerMain_rsxio_40", ja = "_itemIcon_rsxio_48", ka = "_triggerText_rsxio_67", wa = "_title_rsxio_74", Ta = "_description_rsxio_82", Ea = "_content_rsxio_90", $a = "_contentOpen_rsxio_96", Ca = "_contentInner_rsxio_100", Ra = "_chevron_rsxio_108", Ia = "_chevronOpen_rsxio_114", $ = {
430
+ accordion: ya,
431
+ item: ga,
432
+ trigger: Sa,
433
+ triggerMain: Na,
434
+ itemIcon: ja,
435
+ triggerText: ka,
436
+ title: wa,
437
+ description: Ta,
438
+ content: Ea,
439
+ contentOpen: $a,
440
+ contentInner: Ca,
441
+ chevron: Ra,
442
+ chevronOpen: Ia
443
+ }, Aa = f(function({ items: e, defaultOpen: a, className: t, ...r }, d) {
444
+ const [c, i] = V(a), l = I();
445
+ return /* @__PURE__ */ n.jsx("div", { ref: d, className: _($.accordion, t), ...r, children: e.map((u) => {
446
+ const m = c === u.id, b = `${l}-trigger-${u.id}`, x = `${l}-content-${u.id}`;
447
+ return /* @__PURE__ */ n.jsxs("div", { className: $.item, "data-state": m ? "open" : "closed", children: [
448
+ /* @__PURE__ */ n.jsxs(
449
+ "button",
450
+ {
451
+ id: b,
452
+ type: "button",
453
+ className: $.trigger,
454
+ "aria-expanded": m,
455
+ "aria-controls": x,
456
+ onClick: () => i((p) => p === u.id ? void 0 : u.id),
457
+ children: [
458
+ /* @__PURE__ */ n.jsxs("div", { className: $.triggerMain, children: [
459
+ u.icon && /* @__PURE__ */ n.jsx(L, { icon: u.icon, className: $.itemIcon, size: 24, "aria-hidden": "true" }),
460
+ /* @__PURE__ */ n.jsxs("div", { className: $.triggerText, children: [
461
+ /* @__PURE__ */ n.jsx("span", { className: $.title, children: u.title }),
462
+ u.description && /* @__PURE__ */ n.jsx("span", { className: $.description, children: u.description })
463
+ ] })
464
+ ] }),
465
+ /* @__PURE__ */ n.jsx(
466
+ L,
467
+ {
468
+ icon: "expand_more",
469
+ className: _($.chevron, m && $.chevronOpen),
470
+ size: 20,
471
+ "aria-hidden": "true"
472
+ }
473
+ )
474
+ ]
475
+ }
476
+ ),
477
+ /* @__PURE__ */ n.jsx(
478
+ "div",
479
+ {
480
+ id: x,
481
+ "aria-labelledby": b,
482
+ className: _($.content, m && $.contentOpen),
483
+ role: "region",
484
+ children: /* @__PURE__ */ n.jsx("div", { className: $.contentInner, children: u.content })
485
+ }
486
+ )
487
+ ] }, u.id);
488
+ }) });
489
+ });
490
+ Aa.displayName = "SandAccordion";
491
+ const Re = {
492
+ "sand-badge": "_sand-badge_ezp2k_1",
493
+ "sand-badge-primary": "_sand-badge-primary_ezp2k_15",
494
+ "sand-badge-secondary": "_sand-badge-secondary_ezp2k_21",
495
+ "sand-badge-success": "_sand-badge-success_ezp2k_27",
496
+ "sand-badge-failed": "_sand-badge-failed_ezp2k_33"
497
+ }, Ma = f(function({ variant: e = "primary", className: a = "", ...t }, r) {
498
+ const d = C(() => Re[`sand-badge-${e}`], [e]);
499
+ return /* @__PURE__ */ n.jsx(
500
+ "span",
501
+ {
502
+ ref: r,
503
+ className: _(Re["sand-badge"], d, a),
504
+ ...t
313
505
  }
314
506
  );
315
507
  });
316
- qe.displayName = "SandBadge";
317
- const F = {
508
+ Ma.displayName = "SandBadge";
509
+ const K = {
318
510
  "sand-breadcrumbs": "_sand-breadcrumbs_1uxir_1",
319
511
  "sand-breadcrumb-item": "_sand-breadcrumb-item_1uxir_10",
320
512
  "sand-breadcrumb-link": "_sand-breadcrumb-link_1uxir_17",
321
513
  "sand-breadcrumb-current": "_sand-breadcrumb-current_1uxir_32",
322
514
  "sand-breadcrumb-separator": "_sand-breadcrumb-separator_1uxir_37"
323
- }, Le = b(function({ items: a, className: n = "", "aria-label": r = "Breadcrumb", ...t }, c) {
324
- const o = T(
325
- () => a.map((u, f) => {
326
- const h = f === a.length - 1;
327
- return /* @__PURE__ */ s.jsxs("li", { className: F["sand-breadcrumb-item"], children: [
328
- u.href && !h ? /* @__PURE__ */ s.jsx("a", { href: u.href, className: F["sand-breadcrumb-link"], children: u.label }) : /* @__PURE__ */ s.jsx(
515
+ }, Oa = f(function({ items: e, className: a = "", "aria-label": t = "Breadcrumb", ...r }, d) {
516
+ const c = C(
517
+ () => e.map((i, l) => {
518
+ const u = l === e.length - 1;
519
+ return /* @__PURE__ */ n.jsxs("li", { className: K["sand-breadcrumb-item"], children: [
520
+ i.href && !u ? /* @__PURE__ */ n.jsx("a", { href: i.href, className: K["sand-breadcrumb-link"], children: i.label }) : /* @__PURE__ */ n.jsx(
329
521
  "span",
330
522
  {
331
- "aria-current": h ? "page" : void 0,
332
- className: h ? F["sand-breadcrumb-current"] : void 0,
333
- children: u.label
523
+ "aria-current": u ? "page" : void 0,
524
+ className: u ? K["sand-breadcrumb-current"] : void 0,
525
+ children: i.label
334
526
  }
335
527
  ),
336
- !h && /* @__PURE__ */ s.jsx("span", { className: i(F["sand-breadcrumb-separator"], "material-symbols-rounded"), "aria-hidden": "true", children: "chevron_right" })
337
- ] }, `${String(u.label)}-${f}`);
528
+ !u && /* @__PURE__ */ n.jsx("span", { className: _(K["sand-breadcrumb-separator"], "material-symbols-rounded"), "aria-hidden": "true", children: "chevron_right" })
529
+ ] }, `${String(i.label)}-${l}`);
338
530
  }),
339
- [a]
531
+ [e]
340
532
  );
341
- return /* @__PURE__ */ s.jsx("nav", { ref: c, "aria-label": r, className: i(F["sand-breadcrumbs"], n), ...t, children: /* @__PURE__ */ s.jsx("ol", { children: o }) });
342
- });
343
- Le.displayName = "SandBreadcrumbs";
344
- const Se = {
345
- "sand-btn": "_sand-btn_9grrt_1",
346
- "sand-btn-primary": "_sand-btn-primary_9grrt_42",
347
- "sand-btn-secondary": "_sand-btn-secondary_9grrt_54",
348
- "sand-btn-outline": "_sand-btn-outline_9grrt_63",
349
- "sand-btn-success": "_sand-btn-success_9grrt_74",
350
- "sand-btn-failed": "_sand-btn-failed_9grrt_85"
351
- }, Ye = b(function({ variant: a = "primary", className: n = "", type: r = "button", ...t }, c) {
352
- const o = T(() => Se[`sand-btn-${a}`], [a]);
353
- return /* @__PURE__ */ s.jsx(
533
+ return /* @__PURE__ */ n.jsx("nav", { ref: d, "aria-label": t, className: _(K["sand-breadcrumbs"], a), ...r, children: /* @__PURE__ */ n.jsx("ol", { children: c }) });
534
+ });
535
+ Oa.displayName = "SandBreadcrumbs";
536
+ const Pa = "_box_t20vf_1", Da = "_surface_t20vf_19", za = "_inline_t20vf_27", Z = {
537
+ box: Pa,
538
+ surface: Da,
539
+ inline: za
540
+ }, Ba = {
541
+ stretch: "stretch",
542
+ start: "flex-start",
543
+ center: "center",
544
+ end: "flex-end",
545
+ baseline: "baseline"
546
+ }, Fa = {
547
+ start: "flex-start",
548
+ center: "center",
549
+ end: "flex-end",
550
+ between: "space-between",
551
+ around: "space-around",
552
+ evenly: "space-evenly"
553
+ }, qa = f(function({
554
+ as: e,
555
+ padding: a,
556
+ margin: t,
557
+ gap: r,
558
+ align: d,
559
+ justify: c,
560
+ surface: i,
561
+ inline: l,
562
+ width: u,
563
+ radius: m,
564
+ shadow: b = "none",
565
+ className: x,
566
+ style: p,
567
+ ...v
568
+ }, T) {
569
+ const R = e ?? "div";
570
+ let g = p;
571
+ return g = j(g, "--sand-padding", X(a)), g = j(g, "--sand-margin", X(t)), g = j(g, "--sand-gap", X(r)), g = j(g, "--sand-align", d ? Ba[d] : void 0), g = j(g, "--sand-justify", c ? Fa[c] : void 0), g = j(g, "--sand-width", typeof u == "number" ? `${u}px` : u), g = j(g, "--sand-box-radius", ze(m)), g = j(
572
+ g,
573
+ "--sand-box-shadow",
574
+ b === "none" ? "none" : `var(--shadow-${b})`
575
+ ), /* @__PURE__ */ n.jsx(
576
+ R,
577
+ {
578
+ ref: T,
579
+ className: _(Z.box, i && Z.surface, l && Z.inline, x),
580
+ style: g,
581
+ ...v
582
+ }
583
+ );
584
+ });
585
+ qa.displayName = "SandBox";
586
+ const Ie = {
587
+ "sand-btn": "_sand-btn_9p0tq_1",
588
+ "sand-btn-primary": "_sand-btn-primary_9p0tq_28",
589
+ "sand-btn-secondary": "_sand-btn-secondary_9p0tq_39",
590
+ "sand-btn-outline": "_sand-btn-outline_9p0tq_49",
591
+ "sand-btn-success": "_sand-btn-success_9p0tq_59",
592
+ "sand-btn-failed": "_sand-btn-failed_9p0tq_69"
593
+ }, La = f(function({ variant: e = "primary", className: a = "", type: t = "button", ...r }, d) {
594
+ const c = C(() => Ie[`sand-btn-${e}`], [e]);
595
+ return /* @__PURE__ */ n.jsx(
354
596
  "button",
355
597
  {
356
- ref: c,
357
- className: i(Se["sand-btn"], o, n),
358
- type: r,
359
- ...t
598
+ ref: d,
599
+ className: _(Ie["sand-btn"], c, a),
600
+ type: t,
601
+ ...r
360
602
  }
361
603
  );
362
604
  });
363
- Ye.displayName = "SandButton";
364
- const W = {
365
- "sand-card": "_sand-card_i3njl_1",
366
- "sand-card-header": "_sand-card-header_i3njl_15",
367
- "sand-card-body": "_sand-card-body_i3njl_22",
368
- "sand-card-footer": "_sand-card-footer_i3njl_26"
369
- }, Ge = b(function({ header: a, footer: n, children: r, className: t = "", ...c }, o) {
370
- return /* @__PURE__ */ s.jsxs("article", { ref: o, className: i(W["sand-card"], t), ...c, children: [
371
- a && /* @__PURE__ */ s.jsx("header", { className: W["sand-card-header"], children: a }),
372
- /* @__PURE__ */ s.jsx("div", { className: W["sand-card-body"], children: r }),
373
- n && /* @__PURE__ */ s.jsx("footer", { className: W["sand-card-footer"], children: n })
605
+ La.displayName = "SandButton";
606
+ const oe = {
607
+ "sand-card": "_sand-card_hf89l_1",
608
+ "sand-card-header": "_sand-card-header_hf89l_14",
609
+ "sand-card-body": "_sand-card-body_hf89l_22",
610
+ "sand-card-footer": "_sand-card-footer_hf89l_29"
611
+ }, Va = f(function({ header: e, footer: a, children: t, className: r = "", ...d }, c) {
612
+ return /* @__PURE__ */ n.jsxs("article", { ref: c, className: _(oe["sand-card"], r), ...d, children: [
613
+ e && /* @__PURE__ */ n.jsx("header", { className: oe["sand-card-header"], children: e }),
614
+ /* @__PURE__ */ n.jsx("div", { className: oe["sand-card-body"], children: t }),
615
+ a && /* @__PURE__ */ n.jsx("footer", { className: oe["sand-card-footer"], children: a })
374
616
  ] });
375
617
  });
376
- Ge.displayName = "SandCard";
377
- const He = "_active_197ic_77", O = {
378
- "sand-code-block": "_sand-code-block_197ic_1",
379
- "sand-copy-btn": "_sand-copy-btn_197ic_15",
380
- "sand-code-tabs": "_sand-code-tabs_197ic_41",
381
- "sand-tab-headers": "_sand-tab-headers_197ic_53",
382
- "sand-tab-btn": "_sand-tab-btn_197ic_60",
383
- active: He
384
- }, ve = b(function({ code: a, className: n = "", ...r }, t) {
385
- const [c, o] = ke(!1), u = I(() => {
386
- navigator.clipboard.writeText(a).then(() => {
387
- o(!0), setTimeout(() => o(!1), 2e3);
618
+ Va.displayName = "SandCard";
619
+ const Ga = "_active_1i66s_73", F = {
620
+ "sand-code-block": "_sand-code-block_1i66s_1",
621
+ "sand-copy-btn": "_sand-copy-btn_1i66s_20",
622
+ "sand-code-tabs": "_sand-code-tabs_1i66s_40",
623
+ "sand-tab-headers": "_sand-tab-headers_1i66s_51",
624
+ "sand-tab-btn": "_sand-tab-btn_1i66s_58",
625
+ active: Ga
626
+ };
627
+ function Ha(s) {
628
+ if (!s) return "";
629
+ let e = s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
630
+ const a = [], t = (r, d) => {
631
+ const c = `___TOKEN_${a.length}___`;
632
+ return a.push(`<span class="token-${d}">${r}</span>`), c;
633
+ };
634
+ return e = e.replace(/\/\/.*/g, (r) => t(r, "comment")), e = e.replace(/\/\*[\s\S]*?\*\//g, (r) => t(r, "comment")), e = e.replace(/(["'`])(?:\\.|[^\\])*?\1/g, (r) => t(r, "string")), e = e.replace(/\b(true|false|null|undefined)\b/g, (r) => t(r, "boolean")), e = e.replace(
635
+ /\b(const|let|var|function|return|if|else|for|while|import|export|from|default|class|extends|type|interface|enum|async|await|try|catch|finally|throw|new|this|super|public|private|protected|readonly|static|get|set|as|in|of|void|any|number|string|boolean|symbol|bigint)\b/g,
636
+ (r) => t(r, "keyword")
637
+ ), e = e.replace(
638
+ /\b(React|useState|useEffect|useMemo|useCallback|useId|useRef|forwardRef|ComponentPropsWithoutRef|ReactNode|FC|HTMLAttributes)\b/g,
639
+ (r) => t(r, "class")
640
+ ), e = e.replace(/\b([a-z_][a-z0-9_]*)(?=\s*\()/gi, (r) => t(r, "function")), e = e.replace(/&lt;[A-Z][a-zA-Z0-9]*/g, (r) => t(r, "component")), e = e.replace(/&lt;\/?[a-z][a-z0-9]*/g, (r) => t(r, "tag")), e = e.replace(/&lt;\/[a-zA-Z0-9]+&gt;/gi, (r) => t(r, "tag")), e = e.replace(/\b([a-z][a-zA-Z0-9]*)(?=\s*=\s*[{"])/g, (r) => t(r, "attr")), e = e.replace(/\b(\d+)\b/g, (r) => t(r, "number")), e = e.replace(/(=&gt;|===|==|=|\+|-|\*|\/|&amp;&amp;|\|\||!)/g, (r) => t(r, "operator")), a.forEach((r, d) => {
641
+ e = e.replace(`___TOKEN_${d}___`, r);
642
+ }), e;
643
+ }
644
+ const Fe = f(function({ code: e, className: a = "", ...t }, r) {
645
+ const [d, c] = V(!1), i = q(() => {
646
+ navigator.clipboard.writeText(e).then(() => {
647
+ c(!0), setTimeout(() => c(!1), 2e3);
388
648
  });
389
- }, [a]);
390
- return /* @__PURE__ */ s.jsxs("pre", { ref: t, className: i(O["sand-code-block"], n), ...r, children: [
391
- /* @__PURE__ */ s.jsx(
649
+ }, [e]), l = C(() => Ha(e), [e]);
650
+ return /* @__PURE__ */ n.jsxs("pre", { ref: r, className: _(F["sand-code-block"], a), ...t, children: [
651
+ /* @__PURE__ */ n.jsx(
392
652
  "button",
393
653
  {
394
- className: O["sand-copy-btn"],
395
- onClick: u,
654
+ className: F["sand-copy-btn"],
655
+ onClick: i,
396
656
  type: "button",
397
- "aria-label": c ? "Code copied to clipboard" : "Copy code to clipboard",
398
- children: c ? "Copied" : "Copy"
657
+ "aria-label": d ? "Code copied to clipboard" : "Copy code to clipboard",
658
+ children: d ? "Copied" : "Copy"
399
659
  }
400
660
  ),
401
- /* @__PURE__ */ s.jsx("code", { children: a })
661
+ /* @__PURE__ */ n.jsx("code", { dangerouslySetInnerHTML: { __html: l } })
402
662
  ] });
403
663
  });
404
- ve.displayName = "SandCodeBlock";
405
- const Ue = b(function({ tabs: a, defaultTab: n = 0, className: r = "", onTabChange: t }, c) {
406
- const [o, u] = ke(n), f = C(), h = K([]), _ = I(
407
- (S) => {
408
- u(S), t?.(S), h.current[S]?.focus();
664
+ Fe.displayName = "SandCodeBlock";
665
+ const Ya = f(function({ tabs: e, defaultTab: a = 0, className: t = "", onTabChange: r }, d) {
666
+ const [c, i] = V(a), l = I(), u = de([]), m = q(
667
+ (x) => {
668
+ i(x), r?.(x), u.current[x]?.focus();
409
669
  },
410
- [t]
411
- ), m = T(() => a[o]?.code ?? "", [o, a]);
412
- return /* @__PURE__ */ s.jsxs("div", { ref: c, className: i(O["sand-code-tabs"], r), children: [
413
- /* @__PURE__ */ s.jsx("div", { className: O["sand-tab-headers"], role: "tablist", "aria-label": "Code examples", children: a.map((S, y) => /* @__PURE__ */ s.jsx(
670
+ [r]
671
+ ), b = C(() => e[c]?.code ?? "", [c, e]);
672
+ return /* @__PURE__ */ n.jsxs("div", { ref: d, className: _(F["sand-code-tabs"], t), children: [
673
+ /* @__PURE__ */ n.jsx("div", { className: F["sand-tab-headers"], role: "tablist", "aria-label": "Code examples", children: e.map((x, p) => /* @__PURE__ */ n.jsx(
414
674
  "button",
415
675
  {
416
- ref: (N) => {
417
- h.current[y] = N;
676
+ ref: (v) => {
677
+ u.current[p] = v;
418
678
  },
419
- className: i(O["sand-tab-btn"], o === y && O.active),
679
+ className: _(F["sand-tab-btn"], c === p && F.active),
420
680
  type: "button",
421
681
  role: "tab",
422
- "aria-selected": o === y,
423
- "aria-controls": `${f}-code-panel-${y}`,
424
- id: `${f}-code-tab-${y}`,
425
- tabIndex: o === y ? 0 : -1,
426
- onClick: () => _(y),
427
- onKeyDown: (N) => ne(N, y, a.length, (g) => _(g)),
428
- children: S.name
682
+ "aria-selected": c === p,
683
+ "aria-controls": `${l}-code-panel-${p}`,
684
+ id: `${l}-code-tab-${p}`,
685
+ tabIndex: c === p ? 0 : -1,
686
+ onClick: () => m(p),
687
+ onKeyDown: (v) => ce(v, p, e.length, (T) => m(T)),
688
+ children: x.name
429
689
  },
430
- y
690
+ p
431
691
  )) }),
432
- /* @__PURE__ */ s.jsx(
692
+ /* @__PURE__ */ n.jsx(
433
693
  "div",
434
694
  {
435
695
  role: "tabpanel",
436
- id: `${f}-code-panel-${o}`,
437
- "aria-labelledby": `${f}-code-tab-${o}`,
438
- children: /* @__PURE__ */ s.jsx(ve, { code: m })
696
+ id: `${l}-code-panel-${c}`,
697
+ "aria-labelledby": `${l}-code-tab-${c}`,
698
+ children: /* @__PURE__ */ n.jsx(Fe, { code: b })
439
699
  }
440
700
  )
441
701
  ] });
442
702
  });
443
- Ue.displayName = "SandCodeTabs";
444
- const We = {
703
+ Ya.displayName = "SandCodeTabs";
704
+ const Wa = {
445
705
  "sand-divider": "_sand-divider_svs0p_1"
446
- }, Ke = b(function({ className: a = "", ...n }, r) {
447
- return /* @__PURE__ */ s.jsx("hr", { ref: r, className: i(We["sand-divider"], a), ...n });
448
- });
449
- Ke.displayName = "SandDivider";
450
- const E = {
451
- "sand-feedback": "_sand-feedback_1pp8i_1",
452
- "sand-feedback-toast": "_sand-feedback-toast_1pp8i_11",
453
- "sand-feedback-snackbar": "_sand-feedback-snackbar_1pp8i_24",
454
- "sand-feedback-row": "_sand-feedback-row_1pp8i_33",
455
- "sand-feedback-icon": "_sand-feedback-icon_1pp8i_39",
456
- "sand-feedback-content": "_sand-feedback-content_1pp8i_45",
457
- "sand-feedback-title": "_sand-feedback-title_1pp8i_52",
458
- "sand-feedback-message": "_sand-feedback-message_1pp8i_57",
459
- "sand-feedback-action": "_sand-feedback-action_1pp8i_64",
460
- "sand-feedback-success": "_sand-feedback-success_1pp8i_69",
461
- "sand-feedback-failed": "_sand-feedback-failed_1pp8i_81",
462
- "sand-feedback-info": "_sand-feedback-info_1pp8i_93"
463
- }, Ve = {
706
+ }, Ka = f(function({ className: e = "", ...a }, t) {
707
+ return /* @__PURE__ */ n.jsx("hr", { ref: t, className: _(Wa["sand-divider"], e), ...a });
708
+ });
709
+ Ka.displayName = "SandDivider";
710
+ const A = {
711
+ "sand-feedback": "_sand-feedback_1fyl0_1",
712
+ "sand-feedback-toast": "_sand-feedback-toast_1fyl0_12",
713
+ "sand-feedback-snackbar": "_sand-feedback-snackbar_1fyl0_18",
714
+ "sand-feedback-row": "_sand-feedback-row_1fyl0_28",
715
+ "sand-feedback-icon": "_sand-feedback-icon_1fyl0_34",
716
+ "sand-feedback-content": "_sand-feedback-content_1fyl0_41",
717
+ "sand-feedback-title": "_sand-feedback-title_1fyl0_49",
718
+ "sand-feedback-message": "_sand-feedback-message_1fyl0_55",
719
+ "sand-feedback-action": "_sand-feedback-action_1fyl0_61",
720
+ "sand-feedback-success": "_sand-feedback-success_1fyl0_65",
721
+ "sand-feedback-failed": "_sand-feedback-failed_1fyl0_72",
722
+ "sand-feedback-info": "_sand-feedback-info_1fyl0_79"
723
+ }, Ua = {
464
724
  info: "info",
465
725
  success: "check_circle",
466
726
  failed: "error"
467
- }, xe = b(function({ heading: a, message: n, action: r, variant: t = "info", className: c = "", mode: o, ...u }, f) {
468
- const h = T(() => Ve[t], [t]), _ = t === "failed" ? "alert" : "status";
469
- return /* @__PURE__ */ s.jsx(
727
+ }, qe = f(function({ heading: e, message: a, action: t, variant: r = "info", className: d = "", mode: c, ...i }, l) {
728
+ const u = C(() => Ua[r], [r]), m = r === "failed" ? "alert" : "status";
729
+ return /* @__PURE__ */ n.jsx(
470
730
  "div",
471
731
  {
472
- ref: f,
473
- role: _,
474
- "aria-live": t === "failed" ? "assertive" : "polite",
475
- className: i(
476
- E["sand-feedback"],
477
- E[`sand-feedback-${o}`],
478
- E[`sand-feedback-${t}`],
479
- c
732
+ ref: l,
733
+ role: m,
734
+ "aria-live": r === "failed" ? "assertive" : "polite",
735
+ className: _(
736
+ A["sand-feedback"],
737
+ A[`sand-feedback-${c}`],
738
+ A[`sand-feedback-${r}`],
739
+ d
480
740
  ),
481
- ...u,
482
- children: /* @__PURE__ */ s.jsxs("div", { className: E["sand-feedback-row"], children: [
483
- /* @__PURE__ */ s.jsx("span", { className: i(E["sand-feedback-icon"], "material-symbols-rounded"), "aria-hidden": "true", children: h }),
484
- /* @__PURE__ */ s.jsxs("div", { className: E["sand-feedback-content"], children: [
485
- a && /* @__PURE__ */ s.jsx("span", { className: E["sand-feedback-title"], children: a }),
486
- /* @__PURE__ */ s.jsx("span", { className: E["sand-feedback-message"], children: n })
741
+ ...i,
742
+ children: /* @__PURE__ */ n.jsxs("div", { className: A["sand-feedback-row"], children: [
743
+ /* @__PURE__ */ n.jsx("span", { className: _(A["sand-feedback-icon"], "material-symbols-rounded"), "aria-hidden": "true", children: u }),
744
+ /* @__PURE__ */ n.jsxs("div", { className: A["sand-feedback-content"], children: [
745
+ e && /* @__PURE__ */ n.jsx("span", { className: A["sand-feedback-title"], children: e }),
746
+ /* @__PURE__ */ n.jsx("span", { className: A["sand-feedback-message"], children: a })
487
747
  ] }),
488
- r && /* @__PURE__ */ s.jsx("div", { className: E["sand-feedback-action"], children: r })
748
+ t && /* @__PURE__ */ n.jsx("div", { className: A["sand-feedback-action"], children: t })
489
749
  ] })
490
750
  }
491
751
  );
492
- }), Je = b(function(a, n) {
493
- return /* @__PURE__ */ s.jsx(xe, { ref: n, mode: "toast", ...a });
494
- });
495
- Je.displayName = "SandToast";
496
- const Xe = b(function(a, n) {
497
- return /* @__PURE__ */ s.jsx(xe, { ref: n, mode: "snackbar", ...a });
498
- });
499
- Xe.displayName = "SandSnackbar";
500
- const z = {
501
- "sand-form-group": "_sand-form-group_fyw0t_1",
502
- "sand-label": "_sand-label_fyw0t_8",
503
- "sand-input": "_sand-input_fyw0t_17",
504
- "sand-input-error": "_sand-input-error_fyw0t_38",
505
- "sand-helper-text-error": "_sand-helper-text-error_fyw0t_47"
506
- }, je = b(function({ label: a, children: n, className: r = "", htmlFor: t, ...c }, o) {
507
- return /* @__PURE__ */ s.jsxs("div", { ref: o, className: i(z["sand-form-group"], r), ...c, children: [
508
- a && /* @__PURE__ */ s.jsx("label", { className: z["sand-label"], htmlFor: t, children: a }),
509
- n
752
+ }), Ja = f(function(e, a) {
753
+ return /* @__PURE__ */ n.jsx(qe, { ref: a, mode: "toast", ...e });
754
+ });
755
+ Ja.displayName = "SandToast";
756
+ const Xa = f(function(e, a) {
757
+ return /* @__PURE__ */ n.jsx(qe, { ref: a, mode: "snackbar", ...e });
758
+ });
759
+ Xa.displayName = "SandSnackbar";
760
+ const Za = "_grid_g8kr4_1", Qa = "_item_g8kr4_7", Le = {
761
+ grid: Za,
762
+ item: Qa
763
+ }, Ve = f(function({ columns: e = 12, gap: a = "md", className: t, style: r, ...d }, c) {
764
+ let i = r;
765
+ return i = Be(i, "sand-grid-columns", e), i = j(i, "--sand-grid-gap", X(a)), /* @__PURE__ */ n.jsx("div", { ref: c, className: _(Le.grid, t), style: i, ...d });
766
+ });
767
+ Ve.displayName = "SandGrid";
768
+ const Ge = f(function({ span: e = 1, className: a, style: t, ...r }, d) {
769
+ let c = t;
770
+ return c = Be(c, "sand-grid-span", e), /* @__PURE__ */ n.jsx("div", { ref: d, className: _(Le.item, a), style: c, ...r });
771
+ });
772
+ Ge.displayName = "SandGrid.Item";
773
+ const ft = Object.assign(Ve, {
774
+ Item: Ge
775
+ }), Q = {
776
+ "sand-form-group": "_sand-form-group_6kvlc_1",
777
+ "sand-label": "_sand-label_6kvlc_8",
778
+ "sand-input": "_sand-input_6kvlc_17",
779
+ "sand-input-error": "_sand-input-error_6kvlc_37",
780
+ "sand-helper-text-error": "_sand-helper-text-error_6kvlc_45"
781
+ }, He = f(function({ label: e, children: a, className: t = "", htmlFor: r, ...d }, c) {
782
+ return /* @__PURE__ */ n.jsxs("div", { ref: c, className: _(Q["sand-form-group"], t), ...d, children: [
783
+ e && /* @__PURE__ */ n.jsx("label", { className: Q["sand-label"], htmlFor: r, children: e }),
784
+ a
510
785
  ] });
511
786
  });
512
- je.displayName = "SandFormGroup";
513
- const Ne = b(function({ error: a, className: n = "", ...r }, t) {
514
- return /* @__PURE__ */ s.jsx(
787
+ He.displayName = "SandFormGroup";
788
+ const Ye = f(function({ error: e, className: a = "", ...t }, r) {
789
+ return /* @__PURE__ */ n.jsx(
515
790
  "input",
516
791
  {
517
- ref: t,
518
- className: i(z["sand-input"], a && z["sand-input-error"], n),
519
- "aria-invalid": a || r["aria-invalid"],
520
- ...r
792
+ ref: r,
793
+ className: _(Q["sand-input"], e && Q["sand-input-error"], a),
794
+ "aria-invalid": e || t["aria-invalid"],
795
+ ...t
521
796
  }
522
797
  );
523
798
  });
524
- Ne.displayName = "SandInput";
525
- const Ze = b(function({ label: a, helperText: n, error: r, groupClassName: t, className: c = "", "aria-describedby": o, ...u }, f) {
526
- const h = C(), _ = u.id ?? h, m = n ? `${_}-help` : void 0, S = T(
527
- () => [o, m].filter(Boolean).join(" ") || void 0,
528
- [o, m]
799
+ Ye.displayName = "SandInput";
800
+ const en = f(function({ label: e, helperText: a, error: t, groupClassName: r, className: d = "", "aria-describedby": c, ...i }, l) {
801
+ const u = I(), m = i.id ?? u, b = a ? `${m}-help` : void 0, x = C(
802
+ () => [c, b].filter(Boolean).join(" ") || void 0,
803
+ [c, b]
529
804
  );
530
- return /* @__PURE__ */ s.jsxs(je, { label: a, className: t, htmlFor: _, children: [
531
- /* @__PURE__ */ s.jsx(
532
- Ne,
805
+ return /* @__PURE__ */ n.jsxs(He, { label: e, className: r, htmlFor: m, children: [
806
+ /* @__PURE__ */ n.jsx(
807
+ Ye,
533
808
  {
534
- ref: f,
535
- id: _,
536
- error: r,
537
- className: c,
538
- "aria-describedby": S,
539
- ...u
809
+ ref: l,
810
+ id: m,
811
+ error: t,
812
+ className: d,
813
+ "aria-describedby": x,
814
+ ...i
540
815
  }
541
816
  ),
542
- n && /* @__PURE__ */ s.jsx("span", { id: m, className: r ? z["sand-helper-text-error"] : "", children: n })
817
+ a && /* @__PURE__ */ n.jsx("span", { id: b, className: t ? Q["sand-helper-text-error"] : "", children: a })
543
818
  ] });
544
819
  });
545
- Ze.displayName = "SandInputGroup";
546
- const Qe = {
820
+ en.displayName = "SandInputGroup";
821
+ const an = {
547
822
  "sand-kbd": "_sand-kbd_mo78g_1"
548
- }, ea = b(function({ className: a = "", ...n }, r) {
549
- return /* @__PURE__ */ s.jsx("kbd", { ref: r, className: i(Qe["sand-kbd"], a), ...n });
823
+ }, nn = f(function({ className: e = "", ...a }, t) {
824
+ return /* @__PURE__ */ n.jsx("kbd", { ref: t, className: _(an["sand-kbd"], e), ...a });
550
825
  });
551
- ea.displayName = "SandKBD";
552
- const q = {
826
+ nn.displayName = "SandKBD";
827
+ const tn = "_loader_1onos_1", sn = "_skeleton_1onos_10", We = {
828
+ loader: tn,
829
+ skeleton: sn
830
+ }, rn = f(function({ size: e = 40, className: a, style: t, ...r }, d) {
831
+ return /* @__PURE__ */ n.jsx(
832
+ "span",
833
+ {
834
+ ref: d,
835
+ className: _(We.loader, a),
836
+ style: { "--sand-loader-size": `${e}px`, ...t },
837
+ ...r
838
+ }
839
+ );
840
+ });
841
+ rn.displayName = "SandLoader";
842
+ const on = f(function({ width: e = "100%", height: a = 16, radius: t = "md", className: r, style: d, ...c }, i) {
843
+ return /* @__PURE__ */ n.jsx(
844
+ "div",
845
+ {
846
+ ref: i,
847
+ "aria-hidden": "true",
848
+ className: _(We.skeleton, r),
849
+ style: {
850
+ width: e,
851
+ height: a,
852
+ "--sand-skeleton-radius": ze(t),
853
+ ...d
854
+ },
855
+ ...c
856
+ }
857
+ );
858
+ });
859
+ on.displayName = "SandSkeleton";
860
+ const ee = {
553
861
  "sand-container": "_sand-container_174rd_1",
554
862
  "sand-header": "_sand-header_174rd_7",
555
863
  "sand-tool-layout": "_sand-tool-layout_174rd_17",
556
864
  "sand-tool-panel": "_sand-tool-panel_174rd_24",
557
865
  "sand-result-panel": "_sand-result-panel_174rd_34"
558
- }, aa = b(function({ className: a = "", ...n }, r) {
559
- return /* @__PURE__ */ s.jsx("div", { ref: r, className: i(q["sand-container"], a), ...n });
560
- });
561
- aa.displayName = "SandContainer";
562
- const na = b(function({ className: a = "", ...n }, r) {
563
- return /* @__PURE__ */ s.jsx("header", { ref: r, className: i(q["sand-header"], a), ...n });
564
- });
565
- na.displayName = "SandHeader";
566
- const ge = b(function({ className: a = "", ...n }, r) {
567
- return /* @__PURE__ */ s.jsx("div", { ref: r, className: i(q["sand-tool-layout"], a), ...n });
568
- });
569
- ge.displayName = "SandToolLayout";
570
- const sa = b(function({ className: a = "", ...n }, r) {
571
- return /* @__PURE__ */ s.jsx("aside", { ref: r, className: i(q["sand-tool-panel"], a), ...n });
572
- });
573
- sa.displayName = "SandToolPanel";
574
- const ra = b(function({ className: a = "", ...n }, r) {
575
- return /* @__PURE__ */ s.jsx("main", { ref: r, className: i(q["sand-result-panel"], a), ...n });
576
- });
577
- ra.displayName = "SandResultPanel";
578
- const ta = b(
579
- function({ header: a, panel: n, result: r }, t) {
580
- return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
581
- a,
582
- /* @__PURE__ */ s.jsxs(ge, { ref: t, children: [
583
- n,
584
- r
585
- ] })
586
- ] });
587
- }
588
- );
589
- ta.displayName = "SandMicroserviceLayout";
590
- const w = {
591
- "sand-modal-root": "_sand-modal-root_uryk1_1",
592
- "sand-modal-backdrop": "_sand-modal-backdrop_uryk1_11",
593
- "sand-modal-panel": "_sand-modal-panel_uryk1_18",
594
- "sand-modal-header": "_sand-modal-header_uryk1_29",
595
- "sand-modal-title": "_sand-modal-title_uryk1_38",
596
- "sand-modal-description": "_sand-modal-description_uryk1_44",
597
- "sand-modal-close": "_sand-modal-close_uryk1_51",
598
- "sand-modal-body": "_sand-modal-body_uryk1_73",
599
- "sand-modal-footer": "_sand-modal-footer_uryk1_77"
600
- }, Ee = Me(null);
601
- function we() {
602
- const d = De(Ee);
603
- if (!d)
866
+ }, dn = f(function({ className: e = "", ...a }, t) {
867
+ return /* @__PURE__ */ n.jsx("div", { ref: t, className: _(ee["sand-container"], e), ...a });
868
+ });
869
+ dn.displayName = "SandContainer";
870
+ const cn = f(function({ className: e = "", ...a }, t) {
871
+ return /* @__PURE__ */ n.jsx("header", { ref: t, className: _(ee["sand-header"], e), ...a });
872
+ });
873
+ cn.displayName = "SandHeader";
874
+ const ln = f(function({ className: e = "", ...a }, t) {
875
+ return /* @__PURE__ */ n.jsx("div", { ref: t, className: _(ee["sand-tool-layout"], e), ...a });
876
+ });
877
+ ln.displayName = "SandToolLayout";
878
+ const un = f(function({ className: e = "", ...a }, t) {
879
+ return /* @__PURE__ */ n.jsx("aside", { ref: t, className: _(ee["sand-tool-panel"], e), ...a });
880
+ });
881
+ un.displayName = "SandToolPanel";
882
+ const _n = f(function({ className: e = "", ...a }, t) {
883
+ return /* @__PURE__ */ n.jsx("main", { ref: t, className: _(ee["sand-result-panel"], e), ...a });
884
+ });
885
+ _n.displayName = "SandResultPanel";
886
+ const M = {
887
+ "sand-modal-root": "_sand-modal-root_1e60v_1",
888
+ "sand-modal-backdrop": "_sand-modal-backdrop_1e60v_11",
889
+ "sand-modal-panel": "_sand-modal-panel_1e60v_22",
890
+ "sand-modal-header": "_sand-modal-header_1e60v_36",
891
+ "sand-modal-title": "_sand-modal-title_1e60v_45",
892
+ "sand-modal-description": "_sand-modal-description_1e60v_52",
893
+ "sand-modal-close": "_sand-modal-close_1e60v_59",
894
+ "sand-modal-body": "_sand-modal-body_1e60v_78",
895
+ "sand-modal-footer": "_sand-modal-footer_1e60v_86"
896
+ }, Ke = Pe(null);
897
+ function Ue() {
898
+ const s = De(Ke);
899
+ if (!s)
604
900
  throw new Error("SandModal sub-components must be used within SandModal.");
605
- return d;
901
+ return s;
606
902
  }
607
- const se = b(function({ className: a = "", ...n }, r) {
608
- return /* @__PURE__ */ s.jsx("div", { ref: r, className: i(w["sand-modal-header"], a), ...n });
609
- });
610
- se.displayName = "SandModal.Header";
611
- const re = b(function({ className: a = "", ...n }, r) {
612
- return /* @__PURE__ */ s.jsx("div", { ref: r, className: i(w["sand-modal-body"], a), ...n });
613
- });
614
- re.displayName = "SandModal.Body";
615
- const te = b(function({ className: a = "", ...n }, r) {
616
- return /* @__PURE__ */ s.jsx("div", { ref: r, className: i(w["sand-modal-footer"], a), ...n });
617
- });
618
- te.displayName = "SandModal.Footer";
619
- const de = b(function({ className: a = "", ...n }, r) {
620
- const { titleId: t } = we();
621
- return /* @__PURE__ */ s.jsx("div", { ref: r, id: t, className: i(w["sand-modal-title"], a), ...n });
622
- });
623
- de.displayName = "SandModal.Title";
624
- const oe = b(function({ className: a = "", ...n }, r) {
625
- const { descriptionId: t } = we();
626
- return /* @__PURE__ */ s.jsx("div", { ref: r, id: t, className: i(w["sand-modal-description"], a), ...n });
627
- });
628
- oe.displayName = "SandModal.Description";
629
- const Te = b(function({
630
- open: a,
631
- onClose: n,
632
- title: r,
633
- description: t,
634
- footer: c,
635
- closeOnOverlay: o = !0,
636
- initialFocusRef: u,
637
- children: f,
638
- className: h = "",
639
- ..._
640
- }, m) {
641
- const S = C(), y = C(), N = K(null), g = K(null), A = K(null), V = T(
642
- () => ({ titleId: S, descriptionId: y }),
643
- [y, S]
644
- ), J = I(
645
- (j) => {
646
- g.current = j, typeof m == "function" ? m(j) : m && (m.current = j);
903
+ const pe = f(function({ className: e = "", ...a }, t) {
904
+ return /* @__PURE__ */ n.jsx("div", { ref: t, className: _(M["sand-modal-header"], e), ...a });
905
+ });
906
+ pe.displayName = "SandModal.Header";
907
+ const be = f(function({ className: e = "", ...a }, t) {
908
+ return /* @__PURE__ */ n.jsx("div", { ref: t, className: _(M["sand-modal-body"], e), ...a });
909
+ });
910
+ be.displayName = "SandModal.Body";
911
+ const he = f(function({ className: e = "", ...a }, t) {
912
+ return /* @__PURE__ */ n.jsx("div", { ref: t, className: _(M["sand-modal-footer"], e), ...a });
913
+ });
914
+ he.displayName = "SandModal.Footer";
915
+ const xe = f(function({ className: e = "", ...a }, t) {
916
+ const { titleId: r } = Ue();
917
+ return /* @__PURE__ */ n.jsx("div", { ref: t, id: r, className: _(M["sand-modal-title"], e), ...a });
918
+ });
919
+ xe.displayName = "SandModal.Title";
920
+ const ve = f(function({ className: e = "", ...a }, t) {
921
+ const { descriptionId: r } = Ue();
922
+ return /* @__PURE__ */ n.jsx("div", { ref: t, id: r, className: _(M["sand-modal-description"], e), ...a });
923
+ });
924
+ ve.displayName = "SandModal.Description";
925
+ const Je = f(function({
926
+ open: e,
927
+ onClose: a,
928
+ title: t,
929
+ description: r,
930
+ footer: d,
931
+ closeOnOverlay: c = !0,
932
+ initialFocusRef: i,
933
+ children: l,
934
+ className: u = "",
935
+ ...m
936
+ }, b) {
937
+ const x = I(), p = I(), v = de(null), T = de(null), R = de(null), g = C(
938
+ () => ({ titleId: x, descriptionId: p }),
939
+ [p, x]
940
+ ), ie = q(
941
+ (w) => {
942
+ T.current = w, typeof b == "function" ? b(w) : b && (b.current = w);
647
943
  },
648
- [m]
649
- ), M = I(
650
- (j) => {
651
- if (j.key === "Escape") {
652
- j.preventDefault(), n();
944
+ [b]
945
+ ), G = q(
946
+ (w) => {
947
+ if (w.key === "Escape") {
948
+ w.preventDefault(), a();
653
949
  return;
654
950
  }
655
- if (j.key !== "Tab" || !g.current)
951
+ if (w.key !== "Tab" || !T.current)
656
952
  return;
657
- const R = ze(g.current);
658
- if (R.length === 0) {
659
- j.preventDefault(), g.current.focus();
953
+ const O = _a(T.current);
954
+ if (O.length === 0) {
955
+ w.preventDefault(), T.current.focus();
660
956
  return;
661
957
  }
662
- const L = R[0], Y = R[R.length - 1], G = document.activeElement;
663
- j.shiftKey && G === L ? (j.preventDefault(), Y.focus()) : !j.shiftKey && G === Y && (j.preventDefault(), L.focus());
958
+ const ae = O[0], ne = O[O.length - 1], te = document.activeElement;
959
+ w.shiftKey && te === ae ? (w.preventDefault(), ne.focus()) : !w.shiftKey && te === ne && (w.preventDefault(), ae.focus());
664
960
  },
665
- [n]
961
+ [a]
666
962
  );
667
- return Ie(() => {
668
- if (!a) {
669
- A.current?.focus();
963
+ return Oe(() => {
964
+ if (!e) {
965
+ R.current?.focus();
670
966
  return;
671
967
  }
672
- A.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
673
- const j = document.body.style.overflow;
674
- return document.body.style.overflow = "hidden", (u?.current ?? N.current ?? g.current)?.focus(), window.addEventListener("keydown", M), () => {
675
- document.body.style.overflow = j, window.removeEventListener("keydown", M);
968
+ R.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
969
+ const w = document.body.style.overflow;
970
+ return document.body.style.overflow = "hidden", (i?.current ?? v.current ?? T.current)?.focus(), window.addEventListener("keydown", G), () => {
971
+ document.body.style.overflow = w, window.removeEventListener("keydown", G);
676
972
  };
677
- }, [M, u, a]), a ? /* @__PURE__ */ s.jsxs("div", { className: w["sand-modal-root"], children: [
678
- /* @__PURE__ */ s.jsx(
973
+ }, [G, i, e]), e ? /* @__PURE__ */ n.jsxs("div", { className: M["sand-modal-root"], children: [
974
+ /* @__PURE__ */ n.jsx(
679
975
  "button",
680
976
  {
681
977
  type: "button",
682
- className: w["sand-modal-backdrop"],
978
+ className: M["sand-modal-backdrop"],
683
979
  "aria-label": "Close dialog",
684
- onClick: o ? n : void 0
980
+ onClick: c ? a : void 0
685
981
  }
686
982
  ),
687
- /* @__PURE__ */ s.jsx(
983
+ /* @__PURE__ */ n.jsx(
688
984
  "div",
689
985
  {
690
- ref: J,
986
+ ref: ie,
691
987
  role: "dialog",
692
988
  "aria-modal": "true",
693
- "aria-labelledby": r ? S : void 0,
694
- "aria-describedby": t ? y : void 0,
695
- className: i(w["sand-modal-panel"], h),
989
+ "aria-labelledby": t ? x : void 0,
990
+ "aria-describedby": r ? p : void 0,
991
+ className: _(M["sand-modal-panel"], u),
696
992
  tabIndex: -1,
697
- ..._,
698
- children: /* @__PURE__ */ s.jsxs(Ee.Provider, { value: V, children: [
699
- (r || t) && /* @__PURE__ */ s.jsxs(se, { children: [
700
- /* @__PURE__ */ s.jsxs("div", { children: [
701
- r && /* @__PURE__ */ s.jsx(de, { children: r }),
702
- t && /* @__PURE__ */ s.jsx(oe, { children: t })
993
+ ...m,
994
+ children: /* @__PURE__ */ n.jsxs(Ke.Provider, { value: g, children: [
995
+ (t || r) && /* @__PURE__ */ n.jsxs(pe, { children: [
996
+ /* @__PURE__ */ n.jsxs("div", { children: [
997
+ t && /* @__PURE__ */ n.jsx(xe, { children: t }),
998
+ r && /* @__PURE__ */ n.jsx(ve, { children: r })
703
999
  ] }),
704
- /* @__PURE__ */ s.jsx(
1000
+ /* @__PURE__ */ n.jsx(
705
1001
  "button",
706
1002
  {
707
- ref: N,
1003
+ ref: v,
708
1004
  type: "button",
709
- className: w["sand-modal-close"],
710
- onClick: n,
1005
+ className: M["sand-modal-close"],
1006
+ onClick: a,
711
1007
  "aria-label": "Close dialog",
712
- children: /* @__PURE__ */ s.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "close" })
1008
+ children: /* @__PURE__ */ n.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "close" })
713
1009
  }
714
1010
  )
715
1011
  ] }),
716
- /* @__PURE__ */ s.jsx(re, { children: f }),
717
- c && /* @__PURE__ */ s.jsx(te, { children: c })
1012
+ /* @__PURE__ */ n.jsx(be, { children: l }),
1013
+ d && /* @__PURE__ */ n.jsx(he, { children: d })
718
1014
  ] })
719
1015
  }
720
1016
  )
721
1017
  ] }) : null;
722
1018
  });
723
- Te.displayName = "SandModal";
724
- const ba = Object.assign(Te, {
725
- Header: se,
726
- Body: re,
727
- Footer: te,
728
- Title: de,
729
- Description: oe
730
- }), B = {
1019
+ Je.displayName = "SandModal";
1020
+ const pt = Object.assign(Je, {
1021
+ Header: pe,
1022
+ Body: be,
1023
+ Footer: he,
1024
+ Title: xe,
1025
+ Description: ve
1026
+ }), mn = "_navbar_ce3ap_1", fn = "_container_ce3ap_11", pn = "_brand_ce3ap_20", bn = "_links_ce3ap_30", hn = "_link_ce3ap_30", xn = "_linkActive_ce3ap_55", vn = "_mobileToggle_ce3ap_64", yn = "_overlay_ce3ap_86", gn = "_overlayVisible_ce3ap_97", Sn = "_drawer_ce3ap_102", Nn = "_drawerOpen_ce3ap_118", jn = "_drawerHeader_ce3ap_122", kn = "_drawerTitle_ce3ap_130", wn = "_drawerClose_ce3ap_136", Tn = "_drawerContent_ce3ap_150", E = {
1027
+ navbar: mn,
1028
+ container: fn,
1029
+ brand: pn,
1030
+ links: bn,
1031
+ link: hn,
1032
+ linkActive: xn,
1033
+ mobileToggle: vn,
1034
+ overlay: yn,
1035
+ overlayVisible: gn,
1036
+ drawer: Sn,
1037
+ drawerOpen: Nn,
1038
+ drawerHeader: jn,
1039
+ drawerTitle: kn,
1040
+ drawerClose: wn,
1041
+ drawerContent: Tn
1042
+ }, bt = f(function({ brand: e, items: a = [], onMenuClick: t, className: r, children: d, ...c }, i) {
1043
+ return /* @__PURE__ */ n.jsx("nav", { ref: i, className: _(E.navbar, r), ...c, children: /* @__PURE__ */ n.jsxs("div", { className: E.container, children: [
1044
+ /* @__PURE__ */ n.jsx("div", { className: E.brand, children: e }),
1045
+ /* @__PURE__ */ n.jsxs("div", { className: E.links, children: [
1046
+ a.map((l) => /* @__PURE__ */ n.jsx(
1047
+ "a",
1048
+ {
1049
+ href: l.href,
1050
+ className: _(E.link, l.active && E.linkActive),
1051
+ children: l.label
1052
+ },
1053
+ l.href
1054
+ )),
1055
+ d
1056
+ ] }),
1057
+ /* @__PURE__ */ n.jsx(
1058
+ "button",
1059
+ {
1060
+ type: "button",
1061
+ className: E.mobileToggle,
1062
+ onClick: t,
1063
+ "aria-label": "Toggle menu",
1064
+ children: /* @__PURE__ */ n.jsx(L, { icon: "menu", size: 24 })
1065
+ }
1066
+ )
1067
+ ] }) });
1068
+ }), ht = f(function({ open: e, onClose: a, title: t, children: r, className: d, ...c }, i) {
1069
+ return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
1070
+ /* @__PURE__ */ n.jsx(
1071
+ "div",
1072
+ {
1073
+ className: _(E.overlay, e && E.overlayVisible),
1074
+ onClick: a,
1075
+ "aria-hidden": "true"
1076
+ }
1077
+ ),
1078
+ /* @__PURE__ */ n.jsxs(
1079
+ "div",
1080
+ {
1081
+ ref: i,
1082
+ className: _(E.drawer, e && E.drawerOpen, d),
1083
+ role: "dialog",
1084
+ "aria-modal": "true",
1085
+ ...c,
1086
+ children: [
1087
+ /* @__PURE__ */ n.jsxs("div", { className: E.drawerHeader, children: [
1088
+ /* @__PURE__ */ n.jsx("div", { className: E.drawerTitle, children: t }),
1089
+ /* @__PURE__ */ n.jsx(
1090
+ "button",
1091
+ {
1092
+ type: "button",
1093
+ className: E.drawerClose,
1094
+ onClick: a,
1095
+ "aria-label": "Close menu",
1096
+ children: /* @__PURE__ */ n.jsx(L, { icon: "close", size: 24 })
1097
+ }
1098
+ )
1099
+ ] }),
1100
+ /* @__PURE__ */ n.jsx("div", { className: E.drawerContent, children: r })
1101
+ ]
1102
+ }
1103
+ )
1104
+ ] });
1105
+ }), U = {
731
1106
  "sand-pagination": "_sand-pagination_cizv5_1",
732
1107
  "sand-page-btn": "_sand-page-btn_cizv5_8",
733
1108
  "sand-page-btn-active": "_sand-page-btn-active_cizv5_36"
734
- }, da = b(function({ currentPage: a, totalPages: n, onPageChange: r, className: t = "", ...c }, o) {
735
- const u = T(() => Array.from({ length: n }, (_, m) => m + 1), [n]), f = I(
736
- (_) => {
737
- _ < 1 || _ > n || _ === a || r?.(_);
1109
+ }, En = f(function({ currentPage: e, totalPages: a, onPageChange: t, className: r = "", ...d }, c) {
1110
+ const i = C(() => Array.from({ length: a }, (m, b) => b + 1), [a]), l = q(
1111
+ (m) => {
1112
+ m < 1 || m > a || m === e || t?.(m);
738
1113
  },
739
- [a, r, n]
740
- ), h = I(
741
- (_) => {
742
- ne(_, a - 1, n, (m) => f(m + 1));
1114
+ [e, t, a]
1115
+ ), u = q(
1116
+ (m) => {
1117
+ ce(m, e - 1, a, (b) => l(b + 1));
743
1118
  },
744
- [a, f, n]
1119
+ [e, l, a]
745
1120
  );
746
- return /* @__PURE__ */ s.jsxs(
1121
+ return /* @__PURE__ */ n.jsxs(
747
1122
  "nav",
748
1123
  {
749
- ref: o,
1124
+ ref: c,
750
1125
  "aria-label": "Pagination",
751
- className: i(B["sand-pagination"], t),
752
- onKeyDown: h,
753
- ...c,
1126
+ className: _(U["sand-pagination"], r),
1127
+ onKeyDown: u,
1128
+ ...d,
754
1129
  children: [
755
- /* @__PURE__ */ s.jsx(
1130
+ /* @__PURE__ */ n.jsx(
756
1131
  "button",
757
1132
  {
758
1133
  type: "button",
759
- className: B["sand-page-btn"],
760
- disabled: a === 1,
1134
+ className: U["sand-page-btn"],
1135
+ disabled: e === 1,
761
1136
  "aria-label": "Previous page",
762
- onClick: () => f(a - 1),
763
- children: /* @__PURE__ */ s.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "chevron_left" })
1137
+ onClick: () => l(e - 1),
1138
+ children: /* @__PURE__ */ n.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "chevron_left" })
764
1139
  }
765
1140
  ),
766
- u.map((_) => /* @__PURE__ */ s.jsx(
1141
+ i.map((m) => /* @__PURE__ */ n.jsx(
767
1142
  "button",
768
1143
  {
769
1144
  type: "button",
770
- "aria-current": _ === a ? "page" : void 0,
771
- "aria-label": `Page ${_}`,
772
- className: i(B["sand-page-btn"], _ === a && B["sand-page-btn-active"]),
773
- onClick: () => f(_),
774
- children: _
1145
+ "aria-current": m === e ? "page" : void 0,
1146
+ "aria-label": `Page ${m}`,
1147
+ className: _(U["sand-page-btn"], m === e && U["sand-page-btn-active"]),
1148
+ onClick: () => l(m),
1149
+ children: m
775
1150
  },
776
- _
1151
+ m
777
1152
  )),
778
- /* @__PURE__ */ s.jsx(
1153
+ /* @__PURE__ */ n.jsx(
779
1154
  "button",
780
1155
  {
781
1156
  type: "button",
782
- className: B["sand-page-btn"],
783
- disabled: a === n,
1157
+ className: U["sand-page-btn"],
1158
+ disabled: e === a,
784
1159
  "aria-label": "Next page",
785
- onClick: () => f(a + 1),
786
- children: /* @__PURE__ */ s.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "chevron_right" })
1160
+ onClick: () => l(e + 1),
1161
+ children: /* @__PURE__ */ n.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "chevron_right" })
787
1162
  }
788
1163
  )
789
1164
  ]
790
1165
  }
791
1166
  );
792
1167
  });
793
- da.displayName = "SandPagination";
794
- const x = {
1168
+ En.displayName = "SandPagination";
1169
+ const $n = "_track_1b1ni_1", Cn = "_bar_1b1ni_8", Rn = "_ring_1b1ni_15", In = "_ringTrack_1b1ni_19", An = "_ringValue_1b1ni_24", Mn = "_label_1b1ni_32", z = {
1170
+ track: $n,
1171
+ bar: Cn,
1172
+ ring: Rn,
1173
+ ringTrack: In,
1174
+ ringValue: An,
1175
+ label: Mn
1176
+ };
1177
+ function On(s, e) {
1178
+ return Math.min(Math.max(s, 0), e);
1179
+ }
1180
+ const Pn = f(function({ value: e, max: a = 100, size: t = 96, thickness: r = 8, variant: d = "linear", showValue: c, className: i, style: l, ...u }, m) {
1181
+ const b = On(e, a), x = b / a * 100;
1182
+ if (d === "circular") {
1183
+ const p = (t - r) / 2, v = 2 * Math.PI * p, T = v - x / 100 * v;
1184
+ return /* @__PURE__ */ n.jsxs(
1185
+ "div",
1186
+ {
1187
+ ref: m,
1188
+ role: "progressbar",
1189
+ "aria-valuemin": 0,
1190
+ "aria-valuemax": a,
1191
+ "aria-valuenow": b,
1192
+ className: _(i),
1193
+ style: { position: "relative", width: t, height: t, ...l },
1194
+ ...u,
1195
+ children: [
1196
+ /* @__PURE__ */ n.jsxs("svg", { className: z.ring, width: t, height: t, viewBox: `0 0 ${t} ${t}`, children: [
1197
+ /* @__PURE__ */ n.jsx("circle", { className: z.ringTrack, cx: t / 2, cy: t / 2, r: p, strokeWidth: r }),
1198
+ /* @__PURE__ */ n.jsx(
1199
+ "circle",
1200
+ {
1201
+ className: z.ringValue,
1202
+ cx: t / 2,
1203
+ cy: t / 2,
1204
+ r: p,
1205
+ strokeWidth: r,
1206
+ strokeDasharray: v,
1207
+ strokeDashoffset: T
1208
+ }
1209
+ )
1210
+ ] }),
1211
+ c && /* @__PURE__ */ n.jsxs("span", { className: z.label, children: [
1212
+ Math.round(x),
1213
+ "%"
1214
+ ] })
1215
+ ]
1216
+ }
1217
+ );
1218
+ }
1219
+ return /* @__PURE__ */ n.jsx(
1220
+ "div",
1221
+ {
1222
+ ref: m,
1223
+ role: "progressbar",
1224
+ "aria-valuemin": 0,
1225
+ "aria-valuemax": a,
1226
+ "aria-valuenow": b,
1227
+ className: _(z.track, i),
1228
+ style: { height: r, ...l },
1229
+ ...u,
1230
+ children: /* @__PURE__ */ n.jsx("div", { className: z.bar, style: { width: `${x}%` } })
1231
+ }
1232
+ );
1233
+ });
1234
+ Pn.displayName = "SandProgress";
1235
+ const k = {
795
1236
  "sand-choice-group": "_sand-choice-group_viqgz_1",
796
1237
  "sand-choice-row": "_sand-choice-row_viqgz_7",
797
1238
  "sand-choice-input": "_sand-choice-input_viqgz_16",
@@ -803,73 +1244,331 @@ const x = {
803
1244
  "sand-choice-content": "_sand-choice-content_viqgz_123",
804
1245
  "sand-choice-label": "_sand-choice-label_viqgz_129",
805
1246
  "sand-choice-description": "_sand-choice-description_viqgz_134"
806
- }, ce = ({ label: d, description: a }) => /* @__PURE__ */ s.jsxs("span", { className: x["sand-choice-content"], children: [
807
- /* @__PURE__ */ s.jsx("span", { className: x["sand-choice-label"], children: d }),
808
- a && /* @__PURE__ */ s.jsx("span", { className: x["sand-choice-description"], children: a })
809
- ] }), oa = b(function({ label: a, description: n, id: r, className: t = "", ...c }, o) {
810
- const u = C(), f = r ?? u;
811
- return /* @__PURE__ */ s.jsxs("label", { className: i(x["sand-choice-row"], t), htmlFor: f, children: [
812
- /* @__PURE__ */ s.jsx("input", { ref: o, id: f, type: "checkbox", className: x["sand-choice-input"], ...c }),
813
- /* @__PURE__ */ s.jsx("span", { className: i(x["sand-choice-control"], x["sand-checkbox"]), "aria-hidden": "true", children: /* @__PURE__ */ s.jsx("span", { className: i(x["sand-checkbox-icon"], "material-symbols-rounded"), children: "check" }) }),
814
- /* @__PURE__ */ s.jsx(ce, { label: a, description: n })
1247
+ }, ye = ({ label: s, description: e }) => /* @__PURE__ */ n.jsxs("span", { className: k["sand-choice-content"], children: [
1248
+ /* @__PURE__ */ n.jsx("span", { className: k["sand-choice-label"], children: s }),
1249
+ e && /* @__PURE__ */ n.jsx("span", { className: k["sand-choice-description"], children: e })
1250
+ ] }), Dn = f(function({ label: e, description: a, id: t, className: r = "", ...d }, c) {
1251
+ const i = I(), l = t ?? i;
1252
+ return /* @__PURE__ */ n.jsxs("label", { className: _(k["sand-choice-row"], r), htmlFor: l, children: [
1253
+ /* @__PURE__ */ n.jsx("input", { ref: c, id: l, type: "checkbox", className: k["sand-choice-input"], ...d }),
1254
+ /* @__PURE__ */ n.jsx("span", { className: _(k["sand-choice-control"], k["sand-checkbox"]), "aria-hidden": "true", children: /* @__PURE__ */ n.jsx("span", { className: _(k["sand-checkbox-icon"], "material-symbols-rounded"), children: "check" }) }),
1255
+ /* @__PURE__ */ n.jsx(ye, { label: e, description: a })
815
1256
  ] });
816
1257
  });
817
- oa.displayName = "SandCheckbox";
818
- const ca = b(function({ label: a, description: n, id: r, className: t = "", onKeyDown: c, ...o }, u) {
819
- const f = C(), h = r ?? f, _ = (m) => {
820
- if (c?.(m), m.defaultPrevented || !o.name)
1258
+ Dn.displayName = "SandCheckbox";
1259
+ const zn = f(function({ label: e, description: a, id: t, className: r = "", onKeyDown: d, ...c }, i) {
1260
+ const l = I(), u = t ?? l, m = (b) => {
1261
+ if (d?.(b), b.defaultPrevented || !c.name)
821
1262
  return;
822
- const S = Array.from(
823
- document.querySelectorAll(`input[type="radio"][name="${o.name}"]`)
824
- ), y = S.findIndex((N) => N.id === h);
825
- ne(m, y, S.length, (N) => {
826
- S[N]?.focus(), S[N]?.click();
1263
+ const x = Array.from(
1264
+ document.querySelectorAll(`input[type="radio"][name="${c.name}"]`)
1265
+ ), p = x.findIndex((v) => v.id === u);
1266
+ ce(b, p, x.length, (v) => {
1267
+ x[v]?.focus(), x[v]?.click();
827
1268
  });
828
1269
  };
829
- return /* @__PURE__ */ s.jsxs("label", { className: i(x["sand-choice-row"], t), htmlFor: h, children: [
830
- /* @__PURE__ */ s.jsx("input", { ref: u, id: h, type: "radio", className: x["sand-choice-input"], onKeyDown: _, ...o }),
831
- /* @__PURE__ */ s.jsx("span", { className: i(x["sand-choice-control"], x["sand-radio"]), "aria-hidden": "true" }),
832
- /* @__PURE__ */ s.jsx(ce, { label: a, description: n })
1270
+ return /* @__PURE__ */ n.jsxs("label", { className: _(k["sand-choice-row"], r), htmlFor: u, children: [
1271
+ /* @__PURE__ */ n.jsx("input", { ref: i, id: u, type: "radio", className: k["sand-choice-input"], onKeyDown: m, ...c }),
1272
+ /* @__PURE__ */ n.jsx("span", { className: _(k["sand-choice-control"], k["sand-radio"]), "aria-hidden": "true" }),
1273
+ /* @__PURE__ */ n.jsx(ye, { label: e, description: a })
833
1274
  ] });
834
1275
  });
835
- ca.displayName = "SandRadio";
836
- const la = b(function({ label: a, description: n, id: r, className: t = "", ...c }, o) {
837
- const u = C(), f = r ?? u;
838
- return /* @__PURE__ */ s.jsxs("label", { className: i(x["sand-choice-row"], t), htmlFor: f, children: [
839
- /* @__PURE__ */ s.jsx("input", { ref: o, id: f, type: "checkbox", role: "switch", className: x["sand-choice-input"], ...c }),
840
- /* @__PURE__ */ s.jsx("span", { className: i(x["sand-choice-control"], x["sand-switch"]), "aria-hidden": "true" }),
841
- /* @__PURE__ */ s.jsx(ce, { label: a, description: n })
1276
+ zn.displayName = "SandRadio";
1277
+ const Bn = f(function({ label: e, description: a, id: t, className: r = "", ...d }, c) {
1278
+ const i = I(), l = t ?? i;
1279
+ return /* @__PURE__ */ n.jsxs("label", { className: _(k["sand-choice-row"], r), htmlFor: l, children: [
1280
+ /* @__PURE__ */ n.jsx("input", { ref: c, id: l, type: "checkbox", role: "switch", className: k["sand-choice-input"], ...d }),
1281
+ /* @__PURE__ */ n.jsx("span", { className: _(k["sand-choice-control"], k["sand-switch"]), "aria-hidden": "true" }),
1282
+ /* @__PURE__ */ n.jsx(ye, { label: e, description: a })
842
1283
  ] });
843
1284
  });
844
- la.displayName = "SandSwitch";
845
- const ia = b(function({ className: a = "", label: n, ...r }, t) {
846
- return /* @__PURE__ */ s.jsx("div", { ref: t, role: "group", "aria-label": typeof n == "string" ? n : void 0, className: i(x["sand-choice-group"], a), ...r });
1285
+ Bn.displayName = "SandSwitch";
1286
+ const Fn = f(function({ className: e = "", label: a, ...t }, r) {
1287
+ return /* @__PURE__ */ n.jsx("div", { ref: r, role: "group", "aria-label": typeof a == "string" ? a : void 0, className: _(k["sand-choice-group"], e), ...t });
1288
+ });
1289
+ Fn.displayName = "SandChoiceGroup";
1290
+ const qn = f(function({ as: e, direction: a = "column", gap: t = "md", align: r, justify: d, wrap: c, surface: i, className: l, style: u, ...m }, b) {
1291
+ const x = e ?? "div";
1292
+ let p = u;
1293
+ return p = j(p, "--sand-display", "flex"), p = j(p, "--sand-gap", X(t)), p = j(p, "--sand-align", r), p = j(p, "--sand-justify", d), p = j(p, "--sand-stack-direction", a), p = j(p, "--sand-stack-wrap", c ? "wrap" : "nowrap"), /* @__PURE__ */ n.jsx(
1294
+ x,
1295
+ {
1296
+ ref: b,
1297
+ className: _(Z.box, i && Z.surface, l),
1298
+ style: {
1299
+ flexDirection: "var(--sand-stack-direction)",
1300
+ flexWrap: "var(--sand-stack-wrap)",
1301
+ ...p
1302
+ },
1303
+ ...m
1304
+ }
1305
+ );
1306
+ });
1307
+ qn.displayName = "SandStack";
1308
+ const Ln = "_wrapper_1142m_1", Vn = "_table_1142m_9", Gn = "_stickyHeader_1142m_36", Hn = "_striped_1142m_42", Yn = "_hoverable_1142m_50", J = {
1309
+ wrapper: Ln,
1310
+ table: Vn,
1311
+ stickyHeader: Gn,
1312
+ striped: Hn,
1313
+ hoverable: Yn
1314
+ }, Wn = f(function({ striped: e, hoverable: a = !0, stickyHeader: t, className: r, wrapperProps: d, ...c }, i) {
1315
+ return /* @__PURE__ */ n.jsx("div", { ...d, className: _(J.wrapper, d?.className), children: /* @__PURE__ */ n.jsx(
1316
+ "table",
1317
+ {
1318
+ ref: i,
1319
+ className: _(J.table, e && J.striped, a && J.hoverable, t && J.stickyHeader, r),
1320
+ ...c
1321
+ }
1322
+ ) });
847
1323
  });
848
- ia.displayName = "SandChoiceGroup";
1324
+ Wn.displayName = "SandTable";
1325
+ const Kn = "_root_yi163_1", Un = "_list_yi163_6", Jn = "_trigger_yi163_18", Xn = "_active_yi163_41", Zn = "_indicator_yi163_45", Qn = "_panel_yi163_57", B = {
1326
+ root: Kn,
1327
+ list: Un,
1328
+ trigger: Jn,
1329
+ active: Xn,
1330
+ indicator: Zn,
1331
+ panel: Qn
1332
+ };
1333
+ function xt({ items: s, defaultValue: e, className: a, ...t }) {
1334
+ const r = I(), [d, c] = V(e ?? s[0]?.id), i = Math.max(s.findIndex((m) => m.id === d), 0), l = s[i], u = C(
1335
+ () => ({
1336
+ "--sand-tabs-left": `calc(4px + ${i} * (100% - 8px) / ${Math.max(s.length, 1)})`,
1337
+ "--sand-tabs-width": `calc((100% - 8px) / ${Math.max(s.length, 1)})`
1338
+ }),
1339
+ [i, s.length]
1340
+ );
1341
+ return /* @__PURE__ */ n.jsxs("div", { className: _(B.root, a), ...t, children: [
1342
+ /* @__PURE__ */ n.jsxs("div", { role: "tablist", "aria-label": "Tabs", className: B.list, style: u, children: [
1343
+ /* @__PURE__ */ n.jsx("span", { "aria-hidden": "true", className: B.indicator }),
1344
+ s.map((m, b) => {
1345
+ const x = `${r}-tab-${m.id}`, p = `${r}-panel-${m.id}`, v = m.id === d;
1346
+ return /* @__PURE__ */ n.jsx(
1347
+ "button",
1348
+ {
1349
+ id: x,
1350
+ role: "tab",
1351
+ type: "button",
1352
+ tabIndex: v ? 0 : -1,
1353
+ "aria-selected": v,
1354
+ "aria-controls": p,
1355
+ className: _(B.trigger, v && B.active),
1356
+ onClick: () => c(m.id),
1357
+ onKeyDown: (T) => ce(T, b, s.length, (R) => c(s[R].id)),
1358
+ children: m.label
1359
+ },
1360
+ m.id
1361
+ );
1362
+ })
1363
+ ] }),
1364
+ l && /* @__PURE__ */ n.jsx(
1365
+ "div",
1366
+ {
1367
+ id: `${r}-panel-${l.id}`,
1368
+ role: "tabpanel",
1369
+ "aria-labelledby": `${r}-tab-${l.id}`,
1370
+ className: B.panel,
1371
+ children: l.content
1372
+ }
1373
+ )
1374
+ ] });
1375
+ }
1376
+ const Xe = Pe(null);
1377
+ function Ae(s) {
1378
+ return s !== "system" ? s : typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
1379
+ }
1380
+ function et(s) {
1381
+ if (!s)
1382
+ return;
1383
+ const e = {};
1384
+ return s.accent && (e["--sand-accent"] = s.accent), s.accentDark && (e["--sand-accent-dark"] = s.accentDark), s.surface && (e["--theme-surface"] = s.surface), s.surfaceVariant && (e["--theme-surface-variant"] = s.surfaceVariant), s.text && (e["--theme-text"] = s.text), s.textMuted && (e["--theme-text-muted"] = s.textMuted), s.border && (e["--theme-border"] = s.border), s.shadowSm && (e["--shadow-sm"] = s.shadowSm), s.shadowMd && (e["--shadow-md"] = s.shadowMd), s.shadowLg && (e["--shadow-lg"] = s.shadowLg), e;
1385
+ }
1386
+ function vt({
1387
+ children: s,
1388
+ defaultTheme: e = "system",
1389
+ theme: a,
1390
+ tokens: t,
1391
+ className: r,
1392
+ root: d = !1
1393
+ }) {
1394
+ const [c, i] = V(e), l = a ?? c, u = Ae(l);
1395
+ Oe(() => {
1396
+ !d || typeof document > "u" || (document.documentElement.dataset.theme = u);
1397
+ }, [u, d]);
1398
+ const m = C(
1399
+ () => ({
1400
+ theme: l,
1401
+ resolvedTheme: u,
1402
+ setTheme: i,
1403
+ toggleTheme: () => i((b) => Ae(b) === "dark" ? "light" : "dark")
1404
+ }),
1405
+ [u, l]
1406
+ );
1407
+ return /* @__PURE__ */ n.jsx(Xe.Provider, { value: m, children: /* @__PURE__ */ n.jsx("div", { className: r, "data-theme": u, style: et(t), children: s }) });
1408
+ }
1409
+ function yt() {
1410
+ const s = De(Xe);
1411
+ if (!s)
1412
+ throw new Error("useSandTheme must be used within SandThemeProvider.");
1413
+ return s;
1414
+ }
1415
+ const at = "_title_huapx_1", nt = "_text_huapx_8", tt = "_code_huapx_14", st = "_gradient_huapx_25", rt = "_muted_huapx_31", P = {
1416
+ title: at,
1417
+ text: nt,
1418
+ code: tt,
1419
+ gradient: st,
1420
+ muted: rt
1421
+ }, ge = {
1422
+ regular: 400,
1423
+ medium: 500,
1424
+ semibold: 600,
1425
+ bold: 700
1426
+ }, ot = {
1427
+ xs: "1rem",
1428
+ sm: "1.25rem",
1429
+ md: "1.5rem",
1430
+ lg: "2rem",
1431
+ xl: "2.75rem",
1432
+ display: "clamp(3rem, 6vw, 4.75rem)"
1433
+ }, Ze = {
1434
+ xs: "0.75rem",
1435
+ sm: "0.875rem",
1436
+ md: "1rem",
1437
+ lg: "1.125rem",
1438
+ xl: "1.25rem"
1439
+ }, dt = f(function({ as: e, level: a = 2, size: t = "lg", weight: r = "semibold", gradient: d, muted: c, className: i, style: l, ...u }, m) {
1440
+ const b = e ?? `h${a}`;
1441
+ return /* @__PURE__ */ n.jsx(
1442
+ b,
1443
+ {
1444
+ ref: m,
1445
+ className: _(P.title, d && P.gradient, c && P.muted, i),
1446
+ style: { fontSize: ot[t], fontWeight: ge[r], ...l },
1447
+ ...u
1448
+ }
1449
+ );
1450
+ });
1451
+ dt.displayName = "SandTitle";
1452
+ const ct = f(function({ as: e, size: a = "md", weight: t = "regular", gradient: r, muted: d, className: c, style: i, ...l }, u) {
1453
+ const m = e ?? "p";
1454
+ return /* @__PURE__ */ n.jsx(
1455
+ m,
1456
+ {
1457
+ ref: u,
1458
+ className: _(P.text, r && P.gradient, d && P.muted, c),
1459
+ style: { fontSize: Ze[a], fontWeight: ge[t], ...i },
1460
+ ...l
1461
+ }
1462
+ );
1463
+ });
1464
+ ct.displayName = "SandText";
1465
+ const it = f(function({ as: e, block: a, size: t = "sm", weight: r = "medium", className: d, style: c, ...i }, l) {
1466
+ const u = e ?? (a ? "pre" : "code");
1467
+ return /* @__PURE__ */ n.jsx(
1468
+ u,
1469
+ {
1470
+ ref: l,
1471
+ className: _(P.code, d),
1472
+ style: {
1473
+ fontSize: Ze[t],
1474
+ fontWeight: ge[r],
1475
+ display: a ? "block" : void 0,
1476
+ whiteSpace: a ? "pre-wrap" : void 0,
1477
+ ...c
1478
+ },
1479
+ ...i
1480
+ }
1481
+ );
1482
+ });
1483
+ it.displayName = "SandCode";
1484
+ const lt = "_trigger_ehjfy_1", ut = "_content_ehjfy_5", Me = {
1485
+ trigger: lt,
1486
+ content: ut
1487
+ };
1488
+ function gt({ content: s, children: e }) {
1489
+ const a = I(), [t, r] = V(null);
1490
+ if (!sa(e))
1491
+ return null;
1492
+ const d = (i) => {
1493
+ const l = i.getBoundingClientRect();
1494
+ r({
1495
+ top: l.bottom + 10,
1496
+ left: l.left + l.width / 2
1497
+ });
1498
+ }, c = ra(e, {
1499
+ "aria-describedby": a,
1500
+ onMouseEnter: (i) => {
1501
+ d(i.currentTarget), e.props.onMouseEnter?.(i);
1502
+ },
1503
+ onMouseLeave: (i) => {
1504
+ r(null), e.props.onMouseLeave?.(i);
1505
+ },
1506
+ onFocus: (i) => {
1507
+ d(i.currentTarget), e.props.onFocus?.(i);
1508
+ },
1509
+ onBlur: (i) => {
1510
+ r(null), e.props.onBlur?.(i);
1511
+ }
1512
+ });
1513
+ return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
1514
+ /* @__PURE__ */ n.jsx("span", { className: Me.trigger, children: c }),
1515
+ t && typeof document < "u" ? oa(
1516
+ /* @__PURE__ */ n.jsx(
1517
+ "div",
1518
+ {
1519
+ id: a,
1520
+ role: "tooltip",
1521
+ className: Me.content,
1522
+ style: { top: t.top, left: t.left, transform: "translateX(-50%)" },
1523
+ children: s
1524
+ }
1525
+ ),
1526
+ document.body
1527
+ ) : null
1528
+ ] });
1529
+ }
849
1530
  export {
850
- qe as SandBadge,
851
- Le as SandBreadcrumbs,
852
- Ye as SandButton,
853
- Ge as SandCard,
854
- oa as SandCheckbox,
855
- ia as SandChoiceGroup,
856
- ve as SandCodeBlock,
857
- Ue as SandCodeTabs,
858
- aa as SandContainer,
859
- Ke as SandDivider,
860
- je as SandFormGroup,
861
- na as SandHeader,
862
- Ne as SandInput,
863
- Ze as SandInputGroup,
864
- ea as SandKBD,
865
- ta as SandMicroserviceLayout,
866
- ba as SandModal,
867
- da as SandPagination,
868
- ca as SandRadio,
869
- ra as SandResultPanel,
870
- Xe as SandSnackbar,
871
- la as SandSwitch,
872
- Je as SandToast,
873
- ge as SandToolLayout,
874
- sa as SandToolPanel
1531
+ Aa as SandAccordion,
1532
+ va as SandAlert,
1533
+ Ma as SandBadge,
1534
+ qa as SandBox,
1535
+ Oa as SandBreadcrumbs,
1536
+ La as SandButton,
1537
+ Va as SandCard,
1538
+ Dn as SandCheckbox,
1539
+ Fn as SandChoiceGroup,
1540
+ it as SandCode,
1541
+ Fe as SandCodeBlock,
1542
+ Ya as SandCodeTabs,
1543
+ dn as SandContainer,
1544
+ Ka as SandDivider,
1545
+ ht as SandDrawer,
1546
+ He as SandFormGroup,
1547
+ ft as SandGrid,
1548
+ cn as SandHeader,
1549
+ L as SandIcon,
1550
+ Ye as SandInput,
1551
+ en as SandInputGroup,
1552
+ nn as SandKBD,
1553
+ rn as SandLoader,
1554
+ pt as SandModal,
1555
+ bt as SandNavbar,
1556
+ En as SandPagination,
1557
+ Pn as SandProgress,
1558
+ zn as SandRadio,
1559
+ _n as SandResultPanel,
1560
+ on as SandSkeleton,
1561
+ Xa as SandSnackbar,
1562
+ qn as SandStack,
1563
+ Bn as SandSwitch,
1564
+ Wn as SandTable,
1565
+ xt as SandTabs,
1566
+ ct as SandText,
1567
+ vt as SandThemeProvider,
1568
+ dt as SandTitle,
1569
+ Ja as SandToast,
1570
+ ln as SandToolLayout,
1571
+ un as SandToolPanel,
1572
+ gt as SandTooltip,
1573
+ yt as useSandTheme
875
1574
  };