@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/index.js ADDED
@@ -0,0 +1,1064 @@
1
+ import { jsx as S, jsxs as q } from "react/jsx-runtime";
2
+ import Y, { useState as Ie, useEffect as re, useCallback as be, createContext as Ge, useMemo as Je, useContext as Xe } from "react";
3
+ const Ke = "_button_1vhs7_51", Qe = "_primary_1vhs7_81", Ze = "_secondary_1vhs7_92", er = "_ghost_1vhs7_103", Te = {
4
+ button: Ke,
5
+ primary: Qe,
6
+ secondary: Ze,
7
+ ghost: er
8
+ };
9
+ function rr(r) {
10
+ return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r;
11
+ }
12
+ var Q = { exports: {} }, Z = { exports: {} }, R = {};
13
+ var Se;
14
+ function nr() {
15
+ if (Se) return R;
16
+ Se = 1;
17
+ var r = typeof Symbol == "function" && Symbol.for, u = r ? /* @__PURE__ */ Symbol.for("react.element") : 60103, c = r ? /* @__PURE__ */ Symbol.for("react.portal") : 60106, s = r ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107, l = r ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108, o = r ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114, p = r ? /* @__PURE__ */ Symbol.for("react.provider") : 60109, f = r ? /* @__PURE__ */ Symbol.for("react.context") : 60110, d = r ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111, h = r ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111, v = r ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112, m = r ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113, C = r ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120, k = r ? /* @__PURE__ */ Symbol.for("react.memo") : 60115, L = r ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116, j = r ? /* @__PURE__ */ Symbol.for("react.block") : 60121, A = r ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117, D = r ? /* @__PURE__ */ Symbol.for("react.responder") : 60118, V = r ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
18
+ function I(a) {
19
+ if (typeof a == "object" && a !== null) {
20
+ var F = a.$$typeof;
21
+ switch (F) {
22
+ case u:
23
+ switch (a = a.type, a) {
24
+ case d:
25
+ case h:
26
+ case s:
27
+ case o:
28
+ case l:
29
+ case m:
30
+ return a;
31
+ default:
32
+ switch (a = a && a.$$typeof, a) {
33
+ case f:
34
+ case v:
35
+ case L:
36
+ case k:
37
+ case p:
38
+ return a;
39
+ default:
40
+ return F;
41
+ }
42
+ }
43
+ case c:
44
+ return F;
45
+ }
46
+ }
47
+ }
48
+ function N(a) {
49
+ return I(a) === h;
50
+ }
51
+ return R.AsyncMode = d, R.ConcurrentMode = h, R.ContextConsumer = f, R.ContextProvider = p, R.Element = u, R.ForwardRef = v, R.Fragment = s, R.Lazy = L, R.Memo = k, R.Portal = c, R.Profiler = o, R.StrictMode = l, R.Suspense = m, R.isAsyncMode = function(a) {
52
+ return N(a) || I(a) === d;
53
+ }, R.isConcurrentMode = N, R.isContextConsumer = function(a) {
54
+ return I(a) === f;
55
+ }, R.isContextProvider = function(a) {
56
+ return I(a) === p;
57
+ }, R.isElement = function(a) {
58
+ return typeof a == "object" && a !== null && a.$$typeof === u;
59
+ }, R.isForwardRef = function(a) {
60
+ return I(a) === v;
61
+ }, R.isFragment = function(a) {
62
+ return I(a) === s;
63
+ }, R.isLazy = function(a) {
64
+ return I(a) === L;
65
+ }, R.isMemo = function(a) {
66
+ return I(a) === k;
67
+ }, R.isPortal = function(a) {
68
+ return I(a) === c;
69
+ }, R.isProfiler = function(a) {
70
+ return I(a) === o;
71
+ }, R.isStrictMode = function(a) {
72
+ return I(a) === l;
73
+ }, R.isSuspense = function(a) {
74
+ return I(a) === m;
75
+ }, R.isValidElementType = function(a) {
76
+ return typeof a == "string" || typeof a == "function" || a === s || a === h || a === o || a === l || a === m || a === C || typeof a == "object" && a !== null && (a.$$typeof === L || a.$$typeof === k || a.$$typeof === p || a.$$typeof === f || a.$$typeof === v || a.$$typeof === A || a.$$typeof === D || a.$$typeof === V || a.$$typeof === j);
77
+ }, R.typeOf = I, R;
78
+ }
79
+ var O = {};
80
+ var Ee;
81
+ function tr() {
82
+ return Ee || (Ee = 1, process.env.NODE_ENV !== "production" && (function() {
83
+ var r = typeof Symbol == "function" && Symbol.for, u = r ? /* @__PURE__ */ Symbol.for("react.element") : 60103, c = r ? /* @__PURE__ */ Symbol.for("react.portal") : 60106, s = r ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107, l = r ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108, o = r ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114, p = r ? /* @__PURE__ */ Symbol.for("react.provider") : 60109, f = r ? /* @__PURE__ */ Symbol.for("react.context") : 60110, d = r ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111, h = r ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111, v = r ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112, m = r ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113, C = r ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120, k = r ? /* @__PURE__ */ Symbol.for("react.memo") : 60115, L = r ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116, j = r ? /* @__PURE__ */ Symbol.for("react.block") : 60121, A = r ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117, D = r ? /* @__PURE__ */ Symbol.for("react.responder") : 60118, V = r ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
84
+ function I(t) {
85
+ return typeof t == "string" || typeof t == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
86
+ t === s || t === h || t === o || t === l || t === m || t === C || typeof t == "object" && t !== null && (t.$$typeof === L || t.$$typeof === k || t.$$typeof === p || t.$$typeof === f || t.$$typeof === v || t.$$typeof === A || t.$$typeof === D || t.$$typeof === V || t.$$typeof === j);
87
+ }
88
+ function N(t) {
89
+ if (typeof t == "object" && t !== null) {
90
+ var B = t.$$typeof;
91
+ switch (B) {
92
+ case u:
93
+ var K = t.type;
94
+ switch (K) {
95
+ case d:
96
+ case h:
97
+ case s:
98
+ case o:
99
+ case l:
100
+ case m:
101
+ return K;
102
+ default:
103
+ var ge = K && K.$$typeof;
104
+ switch (ge) {
105
+ case f:
106
+ case v:
107
+ case L:
108
+ case k:
109
+ case p:
110
+ return ge;
111
+ default:
112
+ return B;
113
+ }
114
+ }
115
+ case c:
116
+ return B;
117
+ }
118
+ }
119
+ }
120
+ var a = d, F = h, ne = f, te = p, oe = u, ae = v, J = s, se = L, ie = k, U = c, ce = o, z = l, W = m, X = !1;
121
+ function le(t) {
122
+ return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), e(t) || N(t) === d;
123
+ }
124
+ function e(t) {
125
+ return N(t) === h;
126
+ }
127
+ function i(t) {
128
+ return N(t) === f;
129
+ }
130
+ function T(t) {
131
+ return N(t) === p;
132
+ }
133
+ function _(t) {
134
+ return typeof t == "object" && t !== null && t.$$typeof === u;
135
+ }
136
+ function y(t) {
137
+ return N(t) === v;
138
+ }
139
+ function E(t) {
140
+ return N(t) === s;
141
+ }
142
+ function b(t) {
143
+ return N(t) === L;
144
+ }
145
+ function g(t) {
146
+ return N(t) === k;
147
+ }
148
+ function w(t) {
149
+ return N(t) === c;
150
+ }
151
+ function P(t) {
152
+ return N(t) === o;
153
+ }
154
+ function x(t) {
155
+ return N(t) === l;
156
+ }
157
+ function M(t) {
158
+ return N(t) === m;
159
+ }
160
+ O.AsyncMode = a, O.ConcurrentMode = F, O.ContextConsumer = ne, O.ContextProvider = te, O.Element = oe, O.ForwardRef = ae, O.Fragment = J, O.Lazy = se, O.Memo = ie, O.Portal = U, O.Profiler = ce, O.StrictMode = z, O.Suspense = W, O.isAsyncMode = le, O.isConcurrentMode = e, O.isContextConsumer = i, O.isContextProvider = T, O.isElement = _, O.isForwardRef = y, O.isFragment = E, O.isLazy = b, O.isMemo = g, O.isPortal = w, O.isProfiler = P, O.isStrictMode = x, O.isSuspense = M, O.isValidElementType = I, O.typeOf = N;
161
+ })()), O;
162
+ }
163
+ var we;
164
+ function Ae() {
165
+ return we || (we = 1, process.env.NODE_ENV === "production" ? Z.exports = nr() : Z.exports = tr()), Z.exports;
166
+ }
167
+ var ue, xe;
168
+ function or() {
169
+ if (xe) return ue;
170
+ xe = 1;
171
+ var r = Object.getOwnPropertySymbols, u = Object.prototype.hasOwnProperty, c = Object.prototype.propertyIsEnumerable;
172
+ function s(o) {
173
+ if (o == null)
174
+ throw new TypeError("Object.assign cannot be called with null or undefined");
175
+ return Object(o);
176
+ }
177
+ function l() {
178
+ try {
179
+ if (!Object.assign)
180
+ return !1;
181
+ var o = new String("abc");
182
+ if (o[5] = "de", Object.getOwnPropertyNames(o)[0] === "5")
183
+ return !1;
184
+ for (var p = {}, f = 0; f < 10; f++)
185
+ p["_" + String.fromCharCode(f)] = f;
186
+ var d = Object.getOwnPropertyNames(p).map(function(v) {
187
+ return p[v];
188
+ });
189
+ if (d.join("") !== "0123456789")
190
+ return !1;
191
+ var h = {};
192
+ return "abcdefghijklmnopqrst".split("").forEach(function(v) {
193
+ h[v] = v;
194
+ }), Object.keys(Object.assign({}, h)).join("") === "abcdefghijklmnopqrst";
195
+ } catch {
196
+ return !1;
197
+ }
198
+ }
199
+ return ue = l() ? Object.assign : function(o, p) {
200
+ for (var f, d = s(o), h, v = 1; v < arguments.length; v++) {
201
+ f = Object(arguments[v]);
202
+ for (var m in f)
203
+ u.call(f, m) && (d[m] = f[m]);
204
+ if (r) {
205
+ h = r(f);
206
+ for (var C = 0; C < h.length; C++)
207
+ c.call(f, h[C]) && (d[h[C]] = f[h[C]]);
208
+ }
209
+ }
210
+ return d;
211
+ }, ue;
212
+ }
213
+ var fe, Re;
214
+ function _e() {
215
+ if (Re) return fe;
216
+ Re = 1;
217
+ var r = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
218
+ return fe = r, fe;
219
+ }
220
+ var de, Oe;
221
+ function qe() {
222
+ return Oe || (Oe = 1, de = Function.call.bind(Object.prototype.hasOwnProperty)), de;
223
+ }
224
+ var pe, Pe;
225
+ function ar() {
226
+ if (Pe) return pe;
227
+ Pe = 1;
228
+ var r = function() {
229
+ };
230
+ if (process.env.NODE_ENV !== "production") {
231
+ var u = /* @__PURE__ */ _e(), c = {}, s = /* @__PURE__ */ qe();
232
+ r = function(o) {
233
+ var p = "Warning: " + o;
234
+ typeof console < "u" && console.error(p);
235
+ try {
236
+ throw new Error(p);
237
+ } catch {
238
+ }
239
+ };
240
+ }
241
+ function l(o, p, f, d, h) {
242
+ if (process.env.NODE_ENV !== "production") {
243
+ for (var v in o)
244
+ if (s(o, v)) {
245
+ var m;
246
+ try {
247
+ if (typeof o[v] != "function") {
248
+ var C = Error(
249
+ (d || "React class") + ": " + f + " type `" + v + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[v] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
250
+ );
251
+ throw C.name = "Invariant Violation", C;
252
+ }
253
+ m = o[v](p, v, d, f, null, u);
254
+ } catch (L) {
255
+ m = L;
256
+ }
257
+ if (m && !(m instanceof Error) && r(
258
+ (d || "React class") + ": type specification of " + f + " `" + v + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof m + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
259
+ ), m instanceof Error && !(m.message in c)) {
260
+ c[m.message] = !0;
261
+ var k = h ? h() : "";
262
+ r(
263
+ "Failed " + f + " type: " + m.message + (k ?? "")
264
+ );
265
+ }
266
+ }
267
+ }
268
+ }
269
+ return l.resetWarningCache = function() {
270
+ process.env.NODE_ENV !== "production" && (c = {});
271
+ }, pe = l, pe;
272
+ }
273
+ var ye, Ce;
274
+ function sr() {
275
+ if (Ce) return ye;
276
+ Ce = 1;
277
+ var r = Ae(), u = or(), c = /* @__PURE__ */ _e(), s = /* @__PURE__ */ qe(), l = /* @__PURE__ */ ar(), o = function() {
278
+ };
279
+ process.env.NODE_ENV !== "production" && (o = function(f) {
280
+ var d = "Warning: " + f;
281
+ typeof console < "u" && console.error(d);
282
+ try {
283
+ throw new Error(d);
284
+ } catch {
285
+ }
286
+ });
287
+ function p() {
288
+ return null;
289
+ }
290
+ return ye = function(f, d) {
291
+ var h = typeof Symbol == "function" && Symbol.iterator, v = "@@iterator";
292
+ function m(e) {
293
+ var i = e && (h && e[h] || e[v]);
294
+ if (typeof i == "function")
295
+ return i;
296
+ }
297
+ var C = "<<anonymous>>", k = {
298
+ array: D("array"),
299
+ bigint: D("bigint"),
300
+ bool: D("boolean"),
301
+ func: D("function"),
302
+ number: D("number"),
303
+ object: D("object"),
304
+ string: D("string"),
305
+ symbol: D("symbol"),
306
+ any: V(),
307
+ arrayOf: I,
308
+ element: N(),
309
+ elementType: a(),
310
+ instanceOf: F,
311
+ node: ae(),
312
+ objectOf: te,
313
+ oneOf: ne,
314
+ oneOfType: oe,
315
+ shape: se,
316
+ exact: ie
317
+ };
318
+ function L(e, i) {
319
+ return e === i ? e !== 0 || 1 / e === 1 / i : e !== e && i !== i;
320
+ }
321
+ function j(e, i) {
322
+ this.message = e, this.data = i && typeof i == "object" ? i : {}, this.stack = "";
323
+ }
324
+ j.prototype = Error.prototype;
325
+ function A(e) {
326
+ if (process.env.NODE_ENV !== "production")
327
+ var i = {}, T = 0;
328
+ function _(E, b, g, w, P, x, M) {
329
+ if (w = w || C, x = x || g, M !== c) {
330
+ if (d) {
331
+ var t = new Error(
332
+ "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
333
+ );
334
+ throw t.name = "Invariant Violation", t;
335
+ } else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
336
+ var B = w + ":" + g;
337
+ !i[B] && // Avoid spamming the console because they are often not actionable except for lib authors
338
+ T < 3 && (o(
339
+ "You are manually calling a React.PropTypes validation function for the `" + x + "` prop on `" + w + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
340
+ ), i[B] = !0, T++);
341
+ }
342
+ }
343
+ return b[g] == null ? E ? b[g] === null ? new j("The " + P + " `" + x + "` is marked as required " + ("in `" + w + "`, but its value is `null`.")) : new j("The " + P + " `" + x + "` is marked as required in " + ("`" + w + "`, but its value is `undefined`.")) : null : e(b, g, w, P, x);
344
+ }
345
+ var y = _.bind(null, !1);
346
+ return y.isRequired = _.bind(null, !0), y;
347
+ }
348
+ function D(e) {
349
+ function i(T, _, y, E, b, g) {
350
+ var w = T[_], P = z(w);
351
+ if (P !== e) {
352
+ var x = W(w);
353
+ return new j(
354
+ "Invalid " + E + " `" + b + "` of type " + ("`" + x + "` supplied to `" + y + "`, expected ") + ("`" + e + "`."),
355
+ { expectedType: e }
356
+ );
357
+ }
358
+ return null;
359
+ }
360
+ return A(i);
361
+ }
362
+ function V() {
363
+ return A(p);
364
+ }
365
+ function I(e) {
366
+ function i(T, _, y, E, b) {
367
+ if (typeof e != "function")
368
+ return new j("Property `" + b + "` of component `" + y + "` has invalid PropType notation inside arrayOf.");
369
+ var g = T[_];
370
+ if (!Array.isArray(g)) {
371
+ var w = z(g);
372
+ return new j("Invalid " + E + " `" + b + "` of type " + ("`" + w + "` supplied to `" + y + "`, expected an array."));
373
+ }
374
+ for (var P = 0; P < g.length; P++) {
375
+ var x = e(g, P, y, E, b + "[" + P + "]", c);
376
+ if (x instanceof Error)
377
+ return x;
378
+ }
379
+ return null;
380
+ }
381
+ return A(i);
382
+ }
383
+ function N() {
384
+ function e(i, T, _, y, E) {
385
+ var b = i[T];
386
+ if (!f(b)) {
387
+ var g = z(b);
388
+ return new j("Invalid " + y + " `" + E + "` of type " + ("`" + g + "` supplied to `" + _ + "`, expected a single ReactElement."));
389
+ }
390
+ return null;
391
+ }
392
+ return A(e);
393
+ }
394
+ function a() {
395
+ function e(i, T, _, y, E) {
396
+ var b = i[T];
397
+ if (!r.isValidElementType(b)) {
398
+ var g = z(b);
399
+ return new j("Invalid " + y + " `" + E + "` of type " + ("`" + g + "` supplied to `" + _ + "`, expected a single ReactElement type."));
400
+ }
401
+ return null;
402
+ }
403
+ return A(e);
404
+ }
405
+ function F(e) {
406
+ function i(T, _, y, E, b) {
407
+ if (!(T[_] instanceof e)) {
408
+ var g = e.name || C, w = le(T[_]);
409
+ return new j("Invalid " + E + " `" + b + "` of type " + ("`" + w + "` supplied to `" + y + "`, expected ") + ("instance of `" + g + "`."));
410
+ }
411
+ return null;
412
+ }
413
+ return A(i);
414
+ }
415
+ function ne(e) {
416
+ if (!Array.isArray(e))
417
+ return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
418
+ "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
419
+ ) : o("Invalid argument supplied to oneOf, expected an array.")), p;
420
+ function i(T, _, y, E, b) {
421
+ for (var g = T[_], w = 0; w < e.length; w++)
422
+ if (L(g, e[w]))
423
+ return null;
424
+ var P = JSON.stringify(e, function(M, t) {
425
+ var B = W(t);
426
+ return B === "symbol" ? String(t) : t;
427
+ });
428
+ return new j("Invalid " + E + " `" + b + "` of value `" + String(g) + "` " + ("supplied to `" + y + "`, expected one of " + P + "."));
429
+ }
430
+ return A(i);
431
+ }
432
+ function te(e) {
433
+ function i(T, _, y, E, b) {
434
+ if (typeof e != "function")
435
+ return new j("Property `" + b + "` of component `" + y + "` has invalid PropType notation inside objectOf.");
436
+ var g = T[_], w = z(g);
437
+ if (w !== "object")
438
+ return new j("Invalid " + E + " `" + b + "` of type " + ("`" + w + "` supplied to `" + y + "`, expected an object."));
439
+ for (var P in g)
440
+ if (s(g, P)) {
441
+ var x = e(g, P, y, E, b + "." + P, c);
442
+ if (x instanceof Error)
443
+ return x;
444
+ }
445
+ return null;
446
+ }
447
+ return A(i);
448
+ }
449
+ function oe(e) {
450
+ if (!Array.isArray(e))
451
+ return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), p;
452
+ for (var i = 0; i < e.length; i++) {
453
+ var T = e[i];
454
+ if (typeof T != "function")
455
+ return o(
456
+ "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(T) + " at index " + i + "."
457
+ ), p;
458
+ }
459
+ function _(y, E, b, g, w) {
460
+ for (var P = [], x = 0; x < e.length; x++) {
461
+ var M = e[x], t = M(y, E, b, g, w, c);
462
+ if (t == null)
463
+ return null;
464
+ t.data && s(t.data, "expectedType") && P.push(t.data.expectedType);
465
+ }
466
+ var B = P.length > 0 ? ", expected one of type [" + P.join(", ") + "]" : "";
467
+ return new j("Invalid " + g + " `" + w + "` supplied to " + ("`" + b + "`" + B + "."));
468
+ }
469
+ return A(_);
470
+ }
471
+ function ae() {
472
+ function e(i, T, _, y, E) {
473
+ return U(i[T]) ? null : new j("Invalid " + y + " `" + E + "` supplied to " + ("`" + _ + "`, expected a ReactNode."));
474
+ }
475
+ return A(e);
476
+ }
477
+ function J(e, i, T, _, y) {
478
+ return new j(
479
+ (e || "React class") + ": " + i + " type `" + T + "." + _ + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + y + "`."
480
+ );
481
+ }
482
+ function se(e) {
483
+ function i(T, _, y, E, b) {
484
+ var g = T[_], w = z(g);
485
+ if (w !== "object")
486
+ return new j("Invalid " + E + " `" + b + "` of type `" + w + "` " + ("supplied to `" + y + "`, expected `object`."));
487
+ for (var P in e) {
488
+ var x = e[P];
489
+ if (typeof x != "function")
490
+ return J(y, E, b, P, W(x));
491
+ var M = x(g, P, y, E, b + "." + P, c);
492
+ if (M)
493
+ return M;
494
+ }
495
+ return null;
496
+ }
497
+ return A(i);
498
+ }
499
+ function ie(e) {
500
+ function i(T, _, y, E, b) {
501
+ var g = T[_], w = z(g);
502
+ if (w !== "object")
503
+ return new j("Invalid " + E + " `" + b + "` of type `" + w + "` " + ("supplied to `" + y + "`, expected `object`."));
504
+ var P = u({}, T[_], e);
505
+ for (var x in P) {
506
+ var M = e[x];
507
+ if (s(e, x) && typeof M != "function")
508
+ return J(y, E, b, x, W(M));
509
+ if (!M)
510
+ return new j(
511
+ "Invalid " + E + " `" + b + "` key `" + x + "` supplied to `" + y + "`.\nBad object: " + JSON.stringify(T[_], null, " ") + `
512
+ Valid keys: ` + JSON.stringify(Object.keys(e), null, " ")
513
+ );
514
+ var t = M(g, x, y, E, b + "." + x, c);
515
+ if (t)
516
+ return t;
517
+ }
518
+ return null;
519
+ }
520
+ return A(i);
521
+ }
522
+ function U(e) {
523
+ switch (typeof e) {
524
+ case "number":
525
+ case "string":
526
+ case "undefined":
527
+ return !0;
528
+ case "boolean":
529
+ return !e;
530
+ case "object":
531
+ if (Array.isArray(e))
532
+ return e.every(U);
533
+ if (e === null || f(e))
534
+ return !0;
535
+ var i = m(e);
536
+ if (i) {
537
+ var T = i.call(e), _;
538
+ if (i !== e.entries) {
539
+ for (; !(_ = T.next()).done; )
540
+ if (!U(_.value))
541
+ return !1;
542
+ } else
543
+ for (; !(_ = T.next()).done; ) {
544
+ var y = _.value;
545
+ if (y && !U(y[1]))
546
+ return !1;
547
+ }
548
+ } else
549
+ return !1;
550
+ return !0;
551
+ default:
552
+ return !1;
553
+ }
554
+ }
555
+ function ce(e, i) {
556
+ return e === "symbol" ? !0 : i ? i["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && i instanceof Symbol : !1;
557
+ }
558
+ function z(e) {
559
+ var i = typeof e;
560
+ return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : ce(i, e) ? "symbol" : i;
561
+ }
562
+ function W(e) {
563
+ if (typeof e > "u" || e === null)
564
+ return "" + e;
565
+ var i = z(e);
566
+ if (i === "object") {
567
+ if (e instanceof Date)
568
+ return "date";
569
+ if (e instanceof RegExp)
570
+ return "regexp";
571
+ }
572
+ return i;
573
+ }
574
+ function X(e) {
575
+ var i = W(e);
576
+ switch (i) {
577
+ case "array":
578
+ case "object":
579
+ return "an " + i;
580
+ case "boolean":
581
+ case "date":
582
+ case "regexp":
583
+ return "a " + i;
584
+ default:
585
+ return i;
586
+ }
587
+ }
588
+ function le(e) {
589
+ return !e.constructor || !e.constructor.name ? C : e.constructor.name;
590
+ }
591
+ return k.checkPropTypes = l, k.resetWarningCache = l.resetWarningCache, k.PropTypes = k, k;
592
+ }, ye;
593
+ }
594
+ var me, je;
595
+ function ir() {
596
+ if (je) return me;
597
+ je = 1;
598
+ var r = /* @__PURE__ */ _e();
599
+ function u() {
600
+ }
601
+ function c() {
602
+ }
603
+ return c.resetWarningCache = u, me = function() {
604
+ function s(p, f, d, h, v, m) {
605
+ if (m !== r) {
606
+ var C = new Error(
607
+ "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
608
+ );
609
+ throw C.name = "Invariant Violation", C;
610
+ }
611
+ }
612
+ s.isRequired = s;
613
+ function l() {
614
+ return s;
615
+ }
616
+ var o = {
617
+ array: s,
618
+ bigint: s,
619
+ bool: s,
620
+ func: s,
621
+ number: s,
622
+ object: s,
623
+ string: s,
624
+ symbol: s,
625
+ any: s,
626
+ arrayOf: l,
627
+ element: s,
628
+ elementType: s,
629
+ instanceOf: l,
630
+ node: s,
631
+ objectOf: l,
632
+ oneOf: l,
633
+ oneOfType: l,
634
+ shape: l,
635
+ exact: l,
636
+ checkPropTypes: c,
637
+ resetWarningCache: u
638
+ };
639
+ return o.PropTypes = o, o;
640
+ }, me;
641
+ }
642
+ var $e;
643
+ function cr() {
644
+ if ($e) return Q.exports;
645
+ if ($e = 1, process.env.NODE_ENV !== "production") {
646
+ var r = Ae(), u = !0;
647
+ Q.exports = /* @__PURE__ */ sr()(r.isElement, u);
648
+ } else
649
+ Q.exports = /* @__PURE__ */ ir()();
650
+ return Q.exports;
651
+ }
652
+ var lr = /* @__PURE__ */ cr();
653
+ const n = /* @__PURE__ */ rr(lr), Me = Y.forwardRef(({
654
+ className: r,
655
+ variant: u = "primary",
656
+ children: c,
657
+ ...s
658
+ }, l) => {
659
+ const o = [
660
+ Te.button,
661
+ Te[u],
662
+ "sandui-globals",
663
+ r || ""
664
+ ].filter(Boolean).join(" ");
665
+ return /* @__PURE__ */ S("button", { ref: l, className: o, ...s, children: c });
666
+ });
667
+ Me.propTypes = {
668
+ /** Additional CSS class for external overrides */
669
+ className: n.string,
670
+ /** Visual style variant */
671
+ variant: n.oneOf(["primary", "secondary", "ghost"]),
672
+ /** Button content */
673
+ children: n.node.isRequired,
674
+ /** Disables the button */
675
+ disabled: n.bool
676
+ };
677
+ Me.displayName = "SandButton";
678
+ const ur = "_link_1xqus_1", fr = "_muted_1xqus_21", dr = "_accent_1xqus_28", ke = {
679
+ link: ur,
680
+ default: "_default_1xqus_17",
681
+ muted: fr,
682
+ accent: dr
683
+ }, Le = Y.forwardRef(({
684
+ className: r,
685
+ variant: u = "default",
686
+ external: c = !1,
687
+ children: s,
688
+ ...l
689
+ }, o) => {
690
+ const p = [ke.link, ke[u], r || ""].filter(Boolean).join(" ");
691
+ return /* @__PURE__ */ S("a", { ref: o, className: p, ...c ? { target: "_blank", rel: "noopener noreferrer" } : {}, ...l, children: s });
692
+ });
693
+ Le.propTypes = {
694
+ className: n.string,
695
+ variant: n.oneOf(["default", "muted", "accent"]),
696
+ external: n.bool,
697
+ href: n.string,
698
+ children: n.node.isRequired
699
+ };
700
+ Le.displayName = "SandLink";
701
+ const pr = "_badge_1432t_1", yr = "_info_1432t_20", mr = "_success_1432t_26", vr = "_warning_1432t_32", hr = "_error_1432t_38", Ne = {
702
+ badge: pr,
703
+ default: "_default_1432t_15",
704
+ info: yr,
705
+ success: mr,
706
+ warning: vr,
707
+ error: hr
708
+ }, De = Y.forwardRef(({ className: r, variant: u = "default", children: c, ...s }, l) => {
709
+ const o = [Ne.badge, Ne[u], r || ""].filter(Boolean).join(" ");
710
+ return /* @__PURE__ */ S("span", { ref: l, className: o, ...s, children: c });
711
+ });
712
+ De.propTypes = {
713
+ className: n.string,
714
+ variant: n.oneOf(["default", "success", "warning", "error"]),
715
+ children: n.node.isRequired
716
+ };
717
+ De.displayName = "SandBadge";
718
+ const H = Y.forwardRef(({ name: r, size: u = 20, filled: c = !0, className: s, style: l, ...o }, p) => /* @__PURE__ */ S(
719
+ "span",
720
+ {
721
+ ref: p,
722
+ className: `material-symbols-rounded ${s || ""}`,
723
+ style: {
724
+ fontSize: u,
725
+ fontVariationSettings: `'FILL' ${c ? 1 : 0}, 'wght' 400, 'GRAD' 0, 'opsz' ${u}`,
726
+ verticalAlign: "middle",
727
+ lineHeight: 1,
728
+ ...l
729
+ },
730
+ ...o,
731
+ children: r
732
+ }
733
+ ));
734
+ H.propTypes = {
735
+ name: n.string.isRequired,
736
+ size: n.number,
737
+ filled: n.bool,
738
+ className: n.string,
739
+ style: n.object
740
+ };
741
+ H.displayName = "SandIcon";
742
+ const br = "_wrapper_cf5v8_51", _r = "_label_cf5v8_59", gr = "_input_cf5v8_67", Tr = "_error_cf5v8_98", Sr = "_errorText_cf5v8_105", G = {
743
+ wrapper: br,
744
+ label: _r,
745
+ input: gr,
746
+ error: Tr,
747
+ errorText: Sr
748
+ }, Ye = Y.forwardRef(({
749
+ className: r,
750
+ label: u,
751
+ error: c,
752
+ ...s
753
+ }, l) => {
754
+ const o = Y.useId();
755
+ return /* @__PURE__ */ q("div", { className: `${G.wrapper} sandui-globals ${r || ""}`, children: [
756
+ u && /* @__PURE__ */ S("label", { htmlFor: o, className: G.label, children: u }),
757
+ /* @__PURE__ */ S("input", { id: o, ref: l, className: `${G.input} ${c ? G.error : ""}`, ...s }),
758
+ c && /* @__PURE__ */ S("span", { className: G.errorText, children: c })
759
+ ] });
760
+ });
761
+ Ye.propTypes = {
762
+ className: n.string,
763
+ label: n.string,
764
+ error: n.string,
765
+ placeholder: n.string,
766
+ type: n.string,
767
+ disabled: n.bool
768
+ };
769
+ Ye.displayName = "SandInput";
770
+ const Er = "_card_1oe83_51", wr = {
771
+ card: Er
772
+ }, ze = Y.forwardRef(({ className: r, children: u, ...c }, s) => /* @__PURE__ */ S(
773
+ "div",
774
+ {
775
+ ref: s,
776
+ className: `${wr.card} sandui-globals ${r || ""}`,
777
+ ...c,
778
+ children: u
779
+ }
780
+ ));
781
+ ze.propTypes = {
782
+ className: n.string,
783
+ children: n.node
784
+ };
785
+ ze.displayName = "SandCard";
786
+ const xr = "_box_160ue_51", Rr = {
787
+ box: xr
788
+ }, Be = Y.forwardRef(function({
789
+ as: u = "div",
790
+ className: c,
791
+ children: s,
792
+ p: l,
793
+ m: o,
794
+ style: p,
795
+ ...f
796
+ }, d) {
797
+ const h = u, v = {
798
+ ...l !== void 0 ? { padding: `${l * 8}px` } : {},
799
+ ...o !== void 0 ? { margin: `${o * 8}px` } : {},
800
+ ...p
801
+ };
802
+ return /* @__PURE__ */ S(
803
+ h,
804
+ {
805
+ ref: d,
806
+ className: `${Rr.box} sandui-globals ${c || ""}`,
807
+ style: v,
808
+ ...f,
809
+ children: s
810
+ }
811
+ );
812
+ });
813
+ Be.propTypes = {
814
+ as: n.elementType,
815
+ className: n.string,
816
+ children: n.node,
817
+ p: n.number,
818
+ m: n.number,
819
+ style: n.object
820
+ };
821
+ Be.displayName = "SandBox";
822
+ const Or = "_toast_oq8z7_1", Pr = "_slideIn_oq8z7_1", Cr = "_message_oq8z7_13", jr = "_close_oq8z7_17", $r = "_info_oq8z7_30", kr = "_success_oq8z7_37", Nr = "_warning_oq8z7_44", Ir = "_error_oq8z7_51", ee = {
823
+ toast: Or,
824
+ slideIn: Pr,
825
+ message: Cr,
826
+ close: jr,
827
+ info: $r,
828
+ success: kr,
829
+ warning: Nr,
830
+ error: Ir
831
+ }, Fe = ({ className: r, variant: u = "info", message: c, duration: s = 4e3, visible: l = !0, onClose: o, ...p }) => {
832
+ const [f, d] = Ie(l);
833
+ re(() => {
834
+ d(l);
835
+ }, [l]);
836
+ const h = be(() => {
837
+ d(!1), o?.();
838
+ }, [o]);
839
+ if (re(() => {
840
+ if (f && s > 0) {
841
+ const C = setTimeout(h, s);
842
+ return () => clearTimeout(C);
843
+ }
844
+ }, [f, s, h]), !f) return null;
845
+ const v = { info: "info", success: "check_circle", warning: "warning", error: "error" }, m = [ee.toast, ee[u], r || ""].filter(Boolean).join(" ");
846
+ return /* @__PURE__ */ q("div", { className: m, role: "alert", ...p, children: [
847
+ /* @__PURE__ */ S(H, { name: v[u], size: 18 }),
848
+ /* @__PURE__ */ S("span", { className: ee.message, children: c }),
849
+ /* @__PURE__ */ S("button", { className: ee.close, onClick: h, "aria-label": "Dismiss", children: /* @__PURE__ */ S(H, { name: "close", size: 16 }) })
850
+ ] });
851
+ };
852
+ Fe.propTypes = {
853
+ className: n.string,
854
+ variant: n.oneOf(["info", "success", "warning", "error"]),
855
+ message: n.string.isRequired,
856
+ duration: n.number,
857
+ visible: n.bool,
858
+ onClose: n.func
859
+ };
860
+ Fe.displayName = "SandToast";
861
+ const Ar = "_navbar_fpxv0_51", qr = "_fixed_fpxv0_66", Mr = "_logo_fpxv0_71", ve = {
862
+ navbar: Ar,
863
+ fixed: qr,
864
+ logo: Mr
865
+ }, We = Y.forwardRef(({
866
+ className: r,
867
+ title: u,
868
+ logo: c,
869
+ fixed: s = !1,
870
+ children: l,
871
+ ...o
872
+ }, p) => {
873
+ const f = [
874
+ ve.navbar,
875
+ s ? ve.fixed : "",
876
+ "sandui-globals",
877
+ r || ""
878
+ ].filter(Boolean).join(" ");
879
+ return /* @__PURE__ */ q("nav", { ref: p, className: f, ...o, children: [
880
+ /* @__PURE__ */ q("div", { className: ve.logo, children: [
881
+ c && /* @__PURE__ */ S("img", { src: c, alt: `${u || "SandUI"} logo` }),
882
+ u && /* @__PURE__ */ S("h1", { children: u })
883
+ ] }),
884
+ /* @__PURE__ */ S("div", { children: l })
885
+ ] });
886
+ });
887
+ We.propTypes = {
888
+ className: n.string,
889
+ title: n.string,
890
+ logo: n.string,
891
+ fixed: n.bool,
892
+ children: n.node
893
+ };
894
+ We.displayName = "SandNavbar";
895
+ const Lr = "_sidebar_12xgb_1", Dr = "_item_12xgb_10", Yr = "_active_12xgb_25", he = {
896
+ sidebar: Lr,
897
+ item: Dr,
898
+ active: Yr
899
+ }, Ue = Y.forwardRef(({ className: r, items: u = [], children: c, ...s }, l) => /* @__PURE__ */ q("aside", { ref: l, className: `${he.sidebar} sandui-globals ${r || ""}`, ...s, children: [
900
+ /* @__PURE__ */ S("nav", { children: u.map((o, p) => /* @__PURE__ */ q("a", { href: o.href || "#", className: `${he.item} ${o.active ? he.active : ""}`, children: [
901
+ o.icon && /* @__PURE__ */ S(H, { name: o.icon, size: 18 }),
902
+ /* @__PURE__ */ S("span", { children: o.label })
903
+ ] }, p)) }),
904
+ c
905
+ ] }));
906
+ Ue.propTypes = {
907
+ className: n.string,
908
+ items: n.arrayOf(n.shape({
909
+ icon: n.string,
910
+ label: n.string.isRequired,
911
+ href: n.string,
912
+ active: n.bool
913
+ })),
914
+ children: n.node
915
+ };
916
+ Ue.displayName = "SandSidebar";
917
+ const zr = "_footer_ujqx6_1", Br = "_main_ujqx6_8", Fr = "_brandCol_ujqx6_17", Wr = "_brandLink_ujqx6_23", Ur = "_brandLogoImage_ujqx6_30", Hr = "_brandName_ujqx6_37", Vr = "_brandAccent_ujqx6_44", Gr = "_description_ujqx6_48", Jr = "_linkCol_ujqx6_56", Xr = "_colTitle_ujqx6_62", Kr = "_footerLink_ujqx6_71", Qr = "_bottom_ujqx6_81", Zr = "_copyright_ujqx6_91", en = "_socials_ujqx6_104", rn = "_socialIcon_ujqx6_109", nn = "_watermark_ujqx6_127", $ = {
918
+ footer: zr,
919
+ main: Br,
920
+ brandCol: Fr,
921
+ brandLink: Wr,
922
+ brandLogoImage: Ur,
923
+ brandName: Hr,
924
+ brandAccent: Vr,
925
+ description: Gr,
926
+ linkCol: Jr,
927
+ colTitle: Xr,
928
+ footerLink: Kr,
929
+ bottom: Qr,
930
+ copyright: Zr,
931
+ socials: en,
932
+ socialIcon: rn,
933
+ watermark: nn
934
+ }, He = Y.forwardRef(({
935
+ className: r,
936
+ brandLogo: u,
937
+ brand: c = "SandurTech",
938
+ brandUrl: s = "https://sandurtech.vercel.app",
939
+ description: l = "SandurTech is a solo-venture project dedicated to creating lightweight, efficient, and user-centric microservices that solve everyday digital problems.",
940
+ navLinks: o = [
941
+ { label: "Home", href: "#" },
942
+ { label: "Products", href: "#" },
943
+ { label: "About", href: "#" },
944
+ { label: "Blog", href: "#" }
945
+ ],
946
+ supportLinks: p = [
947
+ { label: "Connect Directly", href: "https://www.linkedin.com/in/amogharajsandur/" },
948
+ { label: "Review on Google Business?", href: "#" }
949
+ ],
950
+ socials: f = [
951
+ { icon: "code", href: "https://github.com/amogharajsandur", label: "GitHub" },
952
+ { icon: "link", href: "https://www.linkedin.com/in/amogharajsandur/", label: "LinkedIn" },
953
+ { icon: "mail", href: "mailto:contact@sandurtech.com", label: "Email" }
954
+ ],
955
+ children: d,
956
+ ...h
957
+ }, v) => /* @__PURE__ */ q("footer", { ref: v, className: `${$.footer} ${r || ""}`, ...h, children: [
958
+ /* @__PURE__ */ q("div", { className: $.main, children: [
959
+ /* @__PURE__ */ q("div", { className: $.brandCol, children: [
960
+ /* @__PURE__ */ q("a", { href: s, target: "_blank", rel: "noopener noreferrer", className: $.brandLink, children: [
961
+ u && /* @__PURE__ */ S("img", { src: u, alt: c, className: $.brandLogoImage }),
962
+ /* @__PURE__ */ q("span", { className: $.brandName, children: [
963
+ /* @__PURE__ */ S("span", { className: $.brandAccent, children: "Sandur" }),
964
+ "Tech"
965
+ ] })
966
+ ] }),
967
+ /* @__PURE__ */ S("p", { className: $.description, children: l })
968
+ ] }),
969
+ /* @__PURE__ */ q("div", { className: $.linkCol, children: [
970
+ /* @__PURE__ */ S("h4", { className: $.colTitle, children: "Navigation" }),
971
+ o.map((m, C) => /* @__PURE__ */ S("a", { href: m.href, className: $.footerLink, target: "_blank", rel: "noopener noreferrer", children: m.label }, C))
972
+ ] }),
973
+ /* @__PURE__ */ q("div", { className: $.linkCol, children: [
974
+ /* @__PURE__ */ S("h4", { className: $.colTitle, children: "Legal & Support" }),
975
+ p.map((m, C) => /* @__PURE__ */ S("a", { href: m.href, className: $.footerLink, target: "_blank", rel: "noopener noreferrer", children: m.label }, C))
976
+ ] }),
977
+ d
978
+ ] }),
979
+ /* @__PURE__ */ q("div", { className: $.bottom, children: [
980
+ /* @__PURE__ */ q("span", { className: $.copyright, children: [
981
+ "© ",
982
+ (/* @__PURE__ */ new Date()).getFullYear(),
983
+ " ",
984
+ /* @__PURE__ */ S("a", { href: "https://www.linkedin.com/in/amogharajsandur/", target: "_blank", rel: "noopener noreferrer", children: "Amogha Raj Sandur" }),
985
+ " & ",
986
+ /* @__PURE__ */ S("a", { href: s, target: "_blank", rel: "noopener noreferrer", children: "SandurTech" }),
987
+ " (Sandur Technologies)."
988
+ ] }),
989
+ /* @__PURE__ */ S("div", { className: $.socials, children: f.map((m, C) => /* @__PURE__ */ S("a", { href: m.href, target: "_blank", rel: "noopener noreferrer", className: $.socialIcon, "aria-label": m.label, children: /* @__PURE__ */ S(H, { name: m.icon, size: 18 }) }, C)) })
990
+ ] }),
991
+ /* @__PURE__ */ S("div", { className: $.watermark, children: "SANDURTECH" })
992
+ ] }));
993
+ He.propTypes = {
994
+ className: n.string,
995
+ brand: n.string,
996
+ brandUrl: n.string,
997
+ description: n.string,
998
+ navLinks: n.arrayOf(n.shape({ label: n.string, href: n.string })),
999
+ supportLinks: n.arrayOf(n.shape({ label: n.string, href: n.string })),
1000
+ socials: n.arrayOf(n.shape({ icon: n.string, href: n.string, label: n.string })),
1001
+ children: n.node
1002
+ };
1003
+ He.displayName = "SandFooter";
1004
+ const Ve = Ge({
1005
+ theme: "light",
1006
+ toggleTheme: () => {
1007
+ },
1008
+ setTheme: () => {
1009
+ }
1010
+ });
1011
+ function tn({
1012
+ children: r,
1013
+ defaultTheme: u = "light",
1014
+ persist: c = !0
1015
+ }) {
1016
+ const [s, l] = Ie(() => {
1017
+ if (c && typeof window < "u") {
1018
+ const d = localStorage.getItem("sandui-theme");
1019
+ if (d === "light" || d === "dark") return d;
1020
+ }
1021
+ return typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : u;
1022
+ });
1023
+ re(() => {
1024
+ document.documentElement.setAttribute("data-theme", s), c && localStorage.setItem("sandui-theme", s);
1025
+ }, [s, c]), re(() => {
1026
+ if (typeof window > "u" || !window.matchMedia) return;
1027
+ const d = window.matchMedia("(prefers-color-scheme: dark)"), h = (v) => {
1028
+ c && localStorage.getItem("sandui-theme") || l(v.matches ? "dark" : "light");
1029
+ };
1030
+ return d.addEventListener("change", h), () => d.removeEventListener("change", h);
1031
+ }, [c]);
1032
+ const o = be((d) => {
1033
+ (d === "light" || d === "dark") && l(d);
1034
+ }, []), p = be(() => {
1035
+ l((d) => d === "light" ? "dark" : "light");
1036
+ }, []), f = Je(() => ({ theme: s, toggleTheme: p, setTheme: o }), [s, p, o]);
1037
+ return /* @__PURE__ */ S(Ve.Provider, { value: f, children: r });
1038
+ }
1039
+ tn.propTypes = {
1040
+ children: n.node.isRequired,
1041
+ defaultTheme: n.oneOf(["light", "dark"]),
1042
+ persist: n.bool
1043
+ };
1044
+ function sn() {
1045
+ const r = Xe(Ve);
1046
+ if (!r)
1047
+ throw new Error("useSandTheme must be used within a <SandThemeProvider>");
1048
+ return r;
1049
+ }
1050
+ export {
1051
+ De as SandBadge,
1052
+ Be as SandBox,
1053
+ Me as SandButton,
1054
+ ze as SandCard,
1055
+ He as SandFooter,
1056
+ H as SandIcon,
1057
+ Ye as SandInput,
1058
+ Le as SandLink,
1059
+ We as SandNavbar,
1060
+ Ue as SandSidebar,
1061
+ tn as SandThemeProvider,
1062
+ Fe as SandToast,
1063
+ sn as useSandTheme
1064
+ };