@sandurtech/sandui 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sandui.js DELETED
@@ -1,875 +0,0 @@
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
21
- };
22
- }
23
- return D.Fragment = a, D.jsx = n, D.jsxs = n, D;
24
- }
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:
36
- return "Fragment";
37
- case J:
38
- return "Profiler";
39
- case V:
40
- return "StrictMode";
41
- case L:
42
- return "Suspense";
43
- case Y:
44
- return "SuspenseList";
45
- case Re:
46
- return "Activity";
47
- }
48
- if (typeof e == "object")
49
- switch (typeof e.tag == "number" && console.error(
50
- "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
51
- ), e.$$typeof) {
52
- case g:
53
- 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;
61
- 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;
65
- try {
66
- return d(e(l));
67
- } catch {
68
- }
69
- }
70
- return null;
71
- }
72
- function a(e) {
73
- return "" + e;
74
- }
75
- function n(e) {
76
- try {
77
- a(e);
78
- var l = !1;
79
- } catch {
80
- l = !0;
81
- }
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,
87
- "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);
90
- }
91
- }
92
- function r(e) {
93
- if (e === A) return "<>";
94
- if (typeof e == "object" && e !== null && e.$$typeof === X)
95
- return "<...>";
96
- try {
97
- var l = d(e);
98
- return l ? "<" + l + ">" : "<...>";
99
- } catch {
100
- return "<...>";
101
- }
102
- }
103
- function t() {
104
- var e = Z.A;
105
- return e === null ? null : e.getOwner();
106
- }
107
- function c() {
108
- return Error("react-stack-top-frame");
109
- }
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;
114
- }
115
- return e.key !== void 0;
116
- }
117
- function u(e, l) {
118
- function p() {
119
- ie || (ie = !0, console.error(
120
- "%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
- ));
123
- }
124
- p.isReactWarning = !0, Object.defineProperty(e, "key", {
125
- get: p,
126
- configurable: !0
127
- });
128
- }
129
- function f() {
130
- var e = d(this.type);
131
- return ue[e] || (ue[e] = !0, console.error(
132
- "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", {
144
- enumerable: !1,
145
- get: f
146
- }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
147
- configurable: !1,
148
- enumerable: !1,
149
- writable: !0,
150
- value: 0
151
- }), Object.defineProperty(e, "_debugInfo", {
152
- configurable: !1,
153
- enumerable: !1,
154
- writable: !0,
155
- value: null
156
- }), Object.defineProperty(e, "_debugStack", {
157
- configurable: !1,
158
- enumerable: !1,
159
- writable: !0,
160
- value: H
161
- }), Object.defineProperty(e, "_debugTask", {
162
- configurable: !1,
163
- enumerable: !1,
164
- 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);
176
- } else
177
- console.error(
178
- "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
- 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";
185
- });
186
- k = 0 < $.length ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}", fe[v + k] || ($ = 0 < $.length ? "{" + $.join(": ..., ") + ": ...}" : "{}", console.error(
187
- `A props object containing a "key" prop is being spread into JSX:
188
- let props = %s;
189
- <%s {...props} />
190
- React keys must be passed directly to JSX without using spread:
191
- let props = %s;
192
- <%s key={someKey} {...props} />`,
193
- k,
194
- v,
195
- $,
196
- v
197
- ), fe[v + k] = !0);
198
- }
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
214
- );
215
- }
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));
218
- }
219
- function S(e) {
220
- return typeof e == "object" && e !== null && e.$$typeof === N;
221
- }
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
- return null;
224
- };
225
- y = {
226
- react_stack_bottom_frame: function(e) {
227
- return e();
228
- }
229
- };
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,
240
- !1,
241
- k ? Error("react-stack-top-frame") : be,
242
- k ? Q(r(e)) : _e
243
- );
244
- }, P.jsxs = function(e, l, p) {
245
- var k = 1e4 > Z.recentlyCreatedOwnerStacks++;
246
- return _(
247
- e,
248
- l,
249
- p,
250
- !0,
251
- k ? Error("react-stack-top-frame") : be,
252
- k ? Q(r(e)) : _e
253
- );
254
- };
255
- })()), P;
256
- }
257
- var he;
258
- function Be() {
259
- return he || (he = 1, process.env.NODE_ENV === "production" ? U.exports = Pe() : U.exports = Fe()), U.exports;
260
- }
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"
268
- };
269
- function i(...d) {
270
- return d.filter(Boolean).join(" ");
271
- }
272
- function ze(d) {
273
- return Array.from(
274
- d.querySelectorAll(
275
- [
276
- "a[href]",
277
- "button:not([disabled])",
278
- "textarea:not([disabled])",
279
- "input:not([disabled])",
280
- "select:not([disabled])",
281
- '[tabindex]:not([tabindex="-1"])'
282
- ].join(",")
283
- )
284
- ).filter((a) => !a.hasAttribute("disabled") && !a.getAttribute("aria-hidden"));
285
- }
286
- function ne(d, a, n, r) {
287
- if (n !== 0)
288
- switch (d.key) {
289
- case "ArrowRight":
290
- case "ArrowDown":
291
- d.preventDefault(), r((a + 1) % n);
292
- break;
293
- case "ArrowLeft":
294
- case "ArrowUp":
295
- d.preventDefault(), r((a - 1 + n) % n);
296
- break;
297
- case "Home":
298
- d.preventDefault(), r(0);
299
- break;
300
- case "End":
301
- d.preventDefault(), r(n - 1);
302
- break;
303
- }
304
- }
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(
308
- "span",
309
- {
310
- ref: t,
311
- className: i(ye["sand-badge"], c, n),
312
- ...r
313
- }
314
- );
315
- });
316
- qe.displayName = "SandBadge";
317
- const F = {
318
- "sand-breadcrumbs": "_sand-breadcrumbs_1uxir_1",
319
- "sand-breadcrumb-item": "_sand-breadcrumb-item_1uxir_10",
320
- "sand-breadcrumb-link": "_sand-breadcrumb-link_1uxir_17",
321
- "sand-breadcrumb-current": "_sand-breadcrumb-current_1uxir_32",
322
- "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(
329
- "span",
330
- {
331
- "aria-current": h ? "page" : void 0,
332
- className: h ? F["sand-breadcrumb-current"] : void 0,
333
- children: u.label
334
- }
335
- ),
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}`);
338
- }),
339
- [a]
340
- );
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(
354
- "button",
355
- {
356
- ref: c,
357
- className: i(Se["sand-btn"], o, n),
358
- type: r,
359
- ...t
360
- }
361
- );
362
- });
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 })
374
- ] });
375
- });
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);
388
- });
389
- }, [a]);
390
- return /* @__PURE__ */ s.jsxs("pre", { ref: t, className: i(O["sand-code-block"], n), ...r, children: [
391
- /* @__PURE__ */ s.jsx(
392
- "button",
393
- {
394
- className: O["sand-copy-btn"],
395
- onClick: u,
396
- type: "button",
397
- "aria-label": c ? "Code copied to clipboard" : "Copy code to clipboard",
398
- children: c ? "Copied" : "Copy"
399
- }
400
- ),
401
- /* @__PURE__ */ s.jsx("code", { children: a })
402
- ] });
403
- });
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();
409
- },
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(
414
- "button",
415
- {
416
- ref: (N) => {
417
- h.current[y] = N;
418
- },
419
- className: i(O["sand-tab-btn"], o === y && O.active),
420
- type: "button",
421
- 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
429
- },
430
- y
431
- )) }),
432
- /* @__PURE__ */ s.jsx(
433
- "div",
434
- {
435
- role: "tabpanel",
436
- id: `${f}-code-panel-${o}`,
437
- "aria-labelledby": `${f}-code-tab-${o}`,
438
- children: /* @__PURE__ */ s.jsx(ve, { code: m })
439
- }
440
- )
441
- ] });
442
- });
443
- Ue.displayName = "SandCodeTabs";
444
- const We = {
445
- "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 = {
464
- info: "info",
465
- success: "check_circle",
466
- 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(
470
- "div",
471
- {
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
480
- ),
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 })
487
- ] }),
488
- r && /* @__PURE__ */ s.jsx("div", { className: E["sand-feedback-action"], children: r })
489
- ] })
490
- }
491
- );
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
510
- ] });
511
- });
512
- je.displayName = "SandFormGroup";
513
- const Ne = b(function({ error: a, className: n = "", ...r }, t) {
514
- return /* @__PURE__ */ s.jsx(
515
- "input",
516
- {
517
- ref: t,
518
- className: i(z["sand-input"], a && z["sand-input-error"], n),
519
- "aria-invalid": a || r["aria-invalid"],
520
- ...r
521
- }
522
- );
523
- });
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]
529
- );
530
- return /* @__PURE__ */ s.jsxs(je, { label: a, className: t, htmlFor: _, children: [
531
- /* @__PURE__ */ s.jsx(
532
- Ne,
533
- {
534
- ref: f,
535
- id: _,
536
- error: r,
537
- className: c,
538
- "aria-describedby": S,
539
- ...u
540
- }
541
- ),
542
- n && /* @__PURE__ */ s.jsx("span", { id: m, className: r ? z["sand-helper-text-error"] : "", children: n })
543
- ] });
544
- });
545
- Ze.displayName = "SandInputGroup";
546
- const Qe = {
547
- "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 });
550
- });
551
- ea.displayName = "SandKBD";
552
- const q = {
553
- "sand-container": "_sand-container_174rd_1",
554
- "sand-header": "_sand-header_174rd_7",
555
- "sand-tool-layout": "_sand-tool-layout_174rd_17",
556
- "sand-tool-panel": "_sand-tool-panel_174rd_24",
557
- "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)
604
- throw new Error("SandModal sub-components must be used within SandModal.");
605
- return d;
606
- }
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);
647
- },
648
- [m]
649
- ), M = I(
650
- (j) => {
651
- if (j.key === "Escape") {
652
- j.preventDefault(), n();
653
- return;
654
- }
655
- if (j.key !== "Tab" || !g.current)
656
- return;
657
- const R = ze(g.current);
658
- if (R.length === 0) {
659
- j.preventDefault(), g.current.focus();
660
- return;
661
- }
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());
664
- },
665
- [n]
666
- );
667
- return Ie(() => {
668
- if (!a) {
669
- A.current?.focus();
670
- return;
671
- }
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);
676
- };
677
- }, [M, u, a]), a ? /* @__PURE__ */ s.jsxs("div", { className: w["sand-modal-root"], children: [
678
- /* @__PURE__ */ s.jsx(
679
- "button",
680
- {
681
- type: "button",
682
- className: w["sand-modal-backdrop"],
683
- "aria-label": "Close dialog",
684
- onClick: o ? n : void 0
685
- }
686
- ),
687
- /* @__PURE__ */ s.jsx(
688
- "div",
689
- {
690
- ref: J,
691
- role: "dialog",
692
- "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),
696
- 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 })
703
- ] }),
704
- /* @__PURE__ */ s.jsx(
705
- "button",
706
- {
707
- ref: N,
708
- type: "button",
709
- className: w["sand-modal-close"],
710
- onClick: n,
711
- "aria-label": "Close dialog",
712
- children: /* @__PURE__ */ s.jsx("span", { className: "material-symbols-rounded", "aria-hidden": "true", children: "close" })
713
- }
714
- )
715
- ] }),
716
- /* @__PURE__ */ s.jsx(re, { children: f }),
717
- c && /* @__PURE__ */ s.jsx(te, { children: c })
718
- ] })
719
- }
720
- )
721
- ] }) : null;
722
- });
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 = {
731
- "sand-pagination": "_sand-pagination_cizv5_1",
732
- "sand-page-btn": "_sand-page-btn_cizv5_8",
733
- "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?.(_);
738
- },
739
- [a, r, n]
740
- ), h = I(
741
- (_) => {
742
- ne(_, a - 1, n, (m) => f(m + 1));
743
- },
744
- [a, f, n]
745
- );
746
- return /* @__PURE__ */ s.jsxs(
747
- "nav",
748
- {
749
- ref: o,
750
- "aria-label": "Pagination",
751
- className: i(B["sand-pagination"], t),
752
- onKeyDown: h,
753
- ...c,
754
- children: [
755
- /* @__PURE__ */ s.jsx(
756
- "button",
757
- {
758
- type: "button",
759
- className: B["sand-page-btn"],
760
- disabled: a === 1,
761
- "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" })
764
- }
765
- ),
766
- u.map((_) => /* @__PURE__ */ s.jsx(
767
- "button",
768
- {
769
- 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: _
775
- },
776
- _
777
- )),
778
- /* @__PURE__ */ s.jsx(
779
- "button",
780
- {
781
- type: "button",
782
- className: B["sand-page-btn"],
783
- disabled: a === n,
784
- "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" })
787
- }
788
- )
789
- ]
790
- }
791
- );
792
- });
793
- da.displayName = "SandPagination";
794
- const x = {
795
- "sand-choice-group": "_sand-choice-group_viqgz_1",
796
- "sand-choice-row": "_sand-choice-row_viqgz_7",
797
- "sand-choice-input": "_sand-choice-input_viqgz_16",
798
- "sand-choice-control": "_sand-choice-control_viqgz_22",
799
- "sand-checkbox": "_sand-checkbox_viqgz_41",
800
- "sand-checkbox-icon": "_sand-checkbox-icon_viqgz_59",
801
- "sand-radio": "_sand-radio_viqgz_76",
802
- "sand-switch": "_sand-switch_viqgz_94",
803
- "sand-choice-content": "_sand-choice-content_viqgz_123",
804
- "sand-choice-label": "_sand-choice-label_viqgz_129",
805
- "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 })
815
- ] });
816
- });
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)
821
- 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();
827
- });
828
- };
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 })
833
- ] });
834
- });
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 })
842
- ] });
843
- });
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 });
847
- });
848
- ia.displayName = "SandChoiceGroup";
849
- 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
875
- };