@solostylist/ui-kit 1.0.223 → 1.0.225

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/{checkbox-PlpiwQNi.js → checkbox-B95Vlykq.js} +1 -1
  2. package/dist/hooks/index.d.ts +1 -1
  3. package/dist/hooks/{use-count-down.d.ts → use-countdown.d.ts} +8 -8
  4. package/dist/hooks/{use-count-down.js → use-countdown.js} +1 -1
  5. package/dist/s-chat-input/index.js +1 -1
  6. package/dist/s-chat-input/s-chat-input.js +1 -1
  7. package/dist/{s-chat-input-DpCaY6gB.js → s-chat-input-cOCqPTUS.js} +98 -98
  8. package/dist/s-chat-message/index.js +1 -1
  9. package/dist/s-chat-message/s-chat-message.js +1 -1
  10. package/dist/{s-chat-message-ox4Sj6xh.js → s-chat-message-Cb1npIQO.js} +1 -1
  11. package/dist/s-countdown/index.d.ts +2 -2
  12. package/dist/s-countdown/index.js +1 -1
  13. package/dist/s-countdown/{s-count-down.d.ts → s-countdown.d.ts} +17 -17
  14. package/dist/s-countdown/{s-count-down.js → s-countdown.js} +2 -2
  15. package/dist/s-data-table/index.js +1 -1
  16. package/dist/s-data-table/s-data-table.js +1 -1
  17. package/dist/{s-data-table-Cb7CsYQf.js → s-data-table-TrCdKq9r.js} +12 -12
  18. package/dist/s-date-picker/index.js +1 -1
  19. package/dist/s-date-picker/s-date-picker.js +1 -1
  20. package/dist/s-date-picker-BkZIEZoz.js +634 -0
  21. package/dist/s-datetime-picker/index.js +1 -1
  22. package/dist/s-datetime-picker/s-datetime-picker.js +1 -1
  23. package/dist/{s-datetime-picker-D78dPyAo.js → s-datetime-picker-rCWovez1.js} +394 -394
  24. package/dist/s-dialog/s-dialog.d.ts +3 -3
  25. package/dist/s-dialog/s-dialog.js +6 -5
  26. package/dist/s-dialog-confirm/s-dialog-confirm.d.ts +7 -1
  27. package/dist/s-dialog-confirm/s-dialog-confirm.js +4 -4
  28. package/dist/s-gallery/s-gallery.js +1 -1
  29. package/dist/s-glow-button/s-glow-button.d.ts +1 -1
  30. package/dist/s-glow-button/s-glow-button.js +18 -19
  31. package/dist/s-image-modal/index.js +1 -1
  32. package/dist/s-image-modal/s-image-modal.d.ts +6 -0
  33. package/dist/s-image-modal/s-image-modal.js +1 -1
  34. package/dist/{s-image-modal-DA3DBNbv.js → s-image-modal-Za71QD3d.js} +43 -43
  35. package/dist/s-nav-item/index.d.ts +0 -1
  36. package/dist/s-nav-item/index.js +1 -2
  37. package/dist/s-nav-items/index.d.ts +2 -0
  38. package/dist/s-nav-items/index.js +2 -0
  39. package/dist/{s-nav-item → s-nav-items}/s-nav-items.d.ts +1 -1
  40. package/dist/{s-nav-item → s-nav-items}/s-nav-items.js +3 -3
  41. package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +1 -1
  42. package/dist/s-pixel-reveal/s-pixel-reveal.js +74 -69
  43. package/dist/s-review/index.js +1 -1
  44. package/dist/s-review/s-review.js +1 -1
  45. package/dist/{s-review-D4FBfBPF.js → s-review-DjvDY-h4.js} +1 -1
  46. package/dist/s-select/index.js +1 -1
  47. package/dist/s-select/s-select.d.ts +2 -0
  48. package/dist/s-select/s-select.js +1 -1
  49. package/dist/{s-select-b8CHbeCf.js → s-select-B-dEcddK.js} +20 -20
  50. package/dist/s-stripe/s-stripe.js +1 -1
  51. package/dist/s-text-editor/index.js +1 -1
  52. package/dist/s-text-editor/s-text-editor-toolbar.js +1 -1
  53. package/dist/s-text-editor/s-text-editor.js +30 -31
  54. package/dist/{s-text-editor-toolbar-CCK7yyNS.js → s-text-editor-toolbar-DP0MkICo.js} +1 -1
  55. package/dist/s-text-field/index.js +1 -1
  56. package/dist/s-text-field/s-text-field.d.ts +3 -1
  57. package/dist/s-text-field/s-text-field.js +1 -1
  58. package/dist/{s-text-field-Ck5QMhYI.js → s-text-field-GqcwXwta.js} +11 -11
  59. package/dist/s-theme-demo/index.js +1 -1
  60. package/dist/s-theme-demo/s-theme-demo.js +1 -1
  61. package/dist/{s-theme-demo-THHj5mFp.js → s-theme-demo-BpeyFRKt.js} +1 -1
  62. package/dist/s-theme-provider/s-theme-provider.d.ts +3 -3
  63. package/dist/s-theme-provider/s-theme-provider.js +32 -26
  64. package/dist/s-tool-bar/index.js +1 -1
  65. package/dist/s-tool-bar/s-tool-bar.js +1 -1
  66. package/dist/{s-tool-bar-B-v1I_Hy.js → s-tool-bar-DaZ2wT09.js} +142 -143
  67. package/dist/theme/components/accordion-summary.d.ts +385 -385
  68. package/dist/theme/components/accordion-summary.js +1 -1
  69. package/dist/theme/components/accordion.d.ts +2 -2
  70. package/dist/theme/components/alert.d.ts +1524 -1524
  71. package/dist/theme/components/alert.js +15 -22
  72. package/dist/theme/components/app-bar.d.ts +2 -2
  73. package/dist/theme/components/button.d.ts +2282 -2282
  74. package/dist/theme/components/button.js +40 -42
  75. package/dist/theme/components/card.d.ts +767 -767
  76. package/dist/theme/components/card.js +1 -1
  77. package/dist/theme/components/checkbox.d.ts +381 -381
  78. package/dist/theme/components/checkbox.js +1 -1
  79. package/dist/theme/components/chip.js +65 -52
  80. package/dist/theme/components/components.js +3 -3
  81. package/dist/theme/components/form-label.d.ts +2 -2
  82. package/dist/theme/components/icon-button.d.ts +2294 -2294
  83. package/dist/theme/components/icon-button.js +31 -29
  84. package/dist/theme/components/linear-progress.d.ts +382 -382
  85. package/dist/theme/components/linear-progress.js +1 -1
  86. package/dist/theme/components/link.d.ts +2 -2
  87. package/dist/theme/components/link.js +1 -1
  88. package/dist/theme/components/list-item-button.d.ts +2 -2
  89. package/dist/theme/components/list-item.d.ts +2 -2
  90. package/dist/theme/components/outlined-input.js +1 -1
  91. package/dist/theme/components/pagination-item.d.ts +385 -385
  92. package/dist/theme/components/step-icon.d.ts +383 -383
  93. package/dist/theme/components/step-icon.js +1 -1
  94. package/dist/theme/components/step-label.d.ts +384 -384
  95. package/dist/theme/components/tab.d.ts +384 -384
  96. package/dist/theme/components/tabs.d.ts +386 -386
  97. package/dist/theme/components/toggle-button-group.d.ts +383 -383
  98. package/dist/theme/components/toggle-button-group.js +1 -1
  99. package/dist/theme/components/toggle-button.d.ts +385 -385
  100. package/dist/theme/components/toggle-button.js +1 -1
  101. package/dist/theme/theme-primitives.d.ts +132 -0
  102. package/dist/theme/theme-primitives.js +1 -1
  103. package/dist/theme/utils.d.ts +11 -0
  104. package/dist/theme/utils.js +4 -0
  105. package/dist/{theme-primitives-OrQ-xFJR.js → theme-primitives-D2vHHGiX.js} +34 -10
  106. package/dist/{toggle-button-BgpxYWVw.js → toggle-button-BUsRxHn0.js} +1 -1
  107. package/dist/{toggle-button-group-l4hL1DLP.js → toggle-button-group-ABwIhV4P.js} +1 -1
  108. package/package.json +1 -1
  109. package/dist/s-date-picker-Mynq297P.js +0 -634
@@ -1,9 +1,9 @@
1
- import { Breakpoint } from '@mui/material';
1
+ import { Breakpoint, DialogProps } from '@mui/material';
2
2
  import * as React from 'react';
3
3
  /**
4
4
  * Props for the SDialog component.
5
5
  */
6
- export interface SDialogProps {
6
+ export interface SDialogProps extends Omit<DialogProps, 'title' | 'content' | 'onClose' | 'open' | 'maxWidth' | 'children'> {
7
7
  /** Dialog title - can be string or React element */
8
8
  title?: string | React.ReactNode;
9
9
  /** Dialog content - can be string (auto-wrapped in Typography) or React element */
@@ -23,5 +23,5 @@ export interface SDialogProps {
23
23
  /** Whether to show the close button in the title bar */
24
24
  showClose?: boolean;
25
25
  }
26
- export declare const SDialog: React.ForwardRefExoticComponent<SDialogProps & React.RefAttributes<HTMLDivElement>>;
26
+ export declare const SDialog: React.ForwardRefExoticComponent<Omit<SDialogProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
27
27
  export default SDialog;
@@ -3,9 +3,9 @@ import * as t from "react";
3
3
  import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
4
4
  import { Dialog as a, DialogActions as o, DialogContent as s, DialogTitle as c, IconButton as l, Stack as u, Typography as d } from "@mui/material";
5
5
  //#region lib/s-dialog/s-dialog.tsx
6
- var f = t.forwardRef(({ title: t, content: f, actions: p, onClose: m = () => {}, open: h = !1, maxWidth: g = "sm", useForm: _ = !1, onSubmit: v = () => {}, showClose: y = !0 }, b) => {
7
- let x = /* @__PURE__ */ i(n, { children: [f && /* @__PURE__ */ r(s, {
8
- ref: b,
6
+ var f = t.forwardRef(({ title: t, content: f, actions: p, onClose: m = () => {}, open: h = !1, maxWidth: g = "sm", useForm: _ = !1, onSubmit: v = () => {}, showClose: y = !0, ...b }, x) => {
7
+ let S = /* @__PURE__ */ i(n, { children: [f && /* @__PURE__ */ r(s, {
8
+ ref: x,
9
9
  children: typeof f == "string" ? /* @__PURE__ */ r(d, {
10
10
  variant: "body2",
11
11
  sx: { color: "text.secondary" },
@@ -17,6 +17,7 @@ var f = t.forwardRef(({ title: t, content: f, actions: p, onClose: m = () => {},
17
17
  maxWidth: g,
18
18
  onClose: m,
19
19
  open: h,
20
+ ...b,
20
21
  children: [t && /* @__PURE__ */ r(c, { children: /* @__PURE__ */ i(u, {
21
22
  direction: "row",
22
23
  spacing: 3,
@@ -34,8 +35,8 @@ var f = t.forwardRef(({ title: t, content: f, actions: p, onClose: m = () => {},
34
35
  })]
35
36
  }) }), _ ? /* @__PURE__ */ r("form", {
36
37
  onSubmit: v,
37
- children: x
38
- }) : x]
38
+ children: S
39
+ }) : S]
39
40
  });
40
41
  });
41
42
  f.displayName = "SDialog";
@@ -20,9 +20,15 @@ export interface SDialogConfirmProps {
20
20
  showClose?: boolean;
21
21
  /** Whether the dialog is in loading state (disables buttons) */
22
22
  loading?: boolean;
23
+ /** Text for the cancel button */
24
+ cancelText?: string;
25
+ /** Text for the confirm button */
26
+ confirmText?: string;
27
+ /** Accessible text for the close button */
28
+ closeText?: string;
23
29
  }
24
30
  export declare const SDialogConfirm: {
25
- ({ title, content, onConfirm, onClose, open, maxWidth, showClose, loading, }: SDialogConfirmProps): React.JSX.Element;
31
+ ({ title, content, onConfirm, onClose, open, maxWidth, showClose, loading, cancelText, confirmText, closeText, }: SDialogConfirmProps): React.JSX.Element;
26
32
  displayName: string;
27
33
  };
28
34
  export default SDialogConfirm;
@@ -5,7 +5,7 @@ import * as r from "react";
5
5
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
6
6
  import { Button as s, Dialog as c, DialogActions as l, DialogContent as u, DialogTitle as d, IconButton as f, Stack as p } from "@mui/material";
7
7
  //#region lib/s-dialog-confirm/s-dialog-confirm.tsx
8
- var m = ({ title: n, content: r, onConfirm: m = () => {}, onClose: h = () => {}, open: g = !1, maxWidth: _ = "sm", showClose: v = !0, loading: y = !1 }) => /* @__PURE__ */ o(c, {
8
+ var m = ({ title: n, content: r, onConfirm: m = () => {}, onClose: h = () => {}, open: g = !1, maxWidth: _ = "sm", showClose: v = !0, loading: y = !1, cancelText: b = "Cancel", confirmText: x = "Confirm", closeText: S = "Close" }) => /* @__PURE__ */ o(c, {
9
9
  fullWidth: !0,
10
10
  maxWidth: _,
11
11
  onClose: h,
@@ -20,9 +20,9 @@ var m = ({ title: n, content: r, onConfirm: m = () => {}, onClose: h = () => {},
20
20
  },
21
21
  children: [typeof n == "string" ? /* @__PURE__ */ a(e, {
22
22
  variant: "h5",
23
- sx: { textTransform: "capitalize" },
24
23
  children: n
25
24
  }) : /* @__PURE__ */ a("div", { children: n }), v && /* @__PURE__ */ a(f, {
25
+ "aria-label": S,
26
26
  onClick: h,
27
27
  children: /* @__PURE__ */ a(t, {})
28
28
  })]
@@ -36,11 +36,11 @@ var m = ({ title: n, content: r, onConfirm: m = () => {}, onClose: h = () => {},
36
36
  onClick: h,
37
37
  variant: "outlined",
38
38
  disabled: y,
39
- children: "Cancel"
39
+ children: b
40
40
  }), /* @__PURE__ */ a(s, {
41
41
  onClick: m,
42
42
  loading: y,
43
- children: "Confirm"
43
+ children: x
44
44
  })] }) })
45
45
  ]
46
46
  });
@@ -1,4 +1,4 @@
1
- import { n as e } from "../s-image-modal-DA3DBNbv.js";
1
+ import { n as e } from "../s-image-modal-Za71QD3d.js";
2
2
  import t from "../s-lazy-image/s-lazy-image.js";
3
3
  import { useEffect as n, useId as r, useRef as i, useState as a } from "react";
4
4
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
@@ -16,7 +16,7 @@ export interface SGlowButtonProps extends ButtonProps {
16
16
  height?: string;
17
17
  /** Size of the glow effect in pixels (defaults to 60) */
18
18
  glowSize?: number;
19
- /** Color of the glow effect (defaults to blue[500]) */
19
+ /** Color of the glow effect (defaults to the theme info color) */
20
20
  glowColor?: string;
21
21
  }
22
22
  /**
@@ -1,29 +1,28 @@
1
- import { a as e } from "../theme-primitives-OrQ-xFJR.js";
2
- import { SMovingBorder as t } from "../s-moving-border/s-moving-border.js";
1
+ import { SMovingBorder as e } from "../s-moving-border/s-moving-border.js";
3
2
  import "react";
4
- import { jsx as n } from "react/jsx-runtime";
5
- import { Button as r, hslToRgb as i } from "@mui/material";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { Button as n } from "@mui/material";
6
5
  //#region lib/s-glow-button/s-glow-button.tsx
7
- var a = ({ borderRadius: a = 12, children: o, duration: s = 3e3, width: c = "fit-content", height: l = "60px", glowSize: u = 60, glowColor: d = i(e[500]), ...f }) => /* @__PURE__ */ n(t, {
8
- width: c,
9
- height: l,
10
- duration: s,
11
- borderRadius: a,
12
- glowSize: u,
13
- glowColor: d,
6
+ var r = ({ borderRadius: r = 12, children: i, duration: a = 3e3, width: o = "fit-content", height: s = "60px", glowSize: c = 60, glowColor: l = "var(--s-palette-info-main)", ...u }) => /* @__PURE__ */ t(e, {
7
+ width: o,
8
+ height: s,
9
+ duration: a,
10
+ borderRadius: r,
11
+ glowSize: c,
12
+ glowColor: l,
14
13
  padding: .3,
15
- children: /* @__PURE__ */ n(r, {
14
+ children: /* @__PURE__ */ t(n, {
16
15
  sx: {
17
- borderRadius: a,
18
- width: c,
19
- height: l
16
+ borderRadius: r,
17
+ width: o,
18
+ height: s
20
19
  },
21
20
  disableRipple: !0,
22
- ...f,
21
+ ...u,
23
22
  fullWidth: !0,
24
- children: o
23
+ children: i
25
24
  })
26
25
  });
27
- a.displayName = "SGlowButton";
26
+ r.displayName = "SGlowButton";
28
27
  //#endregion
29
- export { a as default };
28
+ export { r as default };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../s-image-modal-DA3DBNbv.js";
1
+ import { n as e, t } from "../s-image-modal-Za71QD3d.js";
2
2
  export { t as DefaultMediaItem, e as SImageModal, e as default };
@@ -43,6 +43,12 @@ export interface SImageModalProps {
43
43
  showCounter?: boolean;
44
44
  /** Custom modal styling */
45
45
  modalSx?: ModalProps['sx'];
46
+ /** Accessible text for the close button */
47
+ closeText?: string;
48
+ /** Accessible text for the previous-image navigation button */
49
+ previousText?: string;
50
+ /** Accessible text for the next-image navigation button */
51
+ nextText?: string;
46
52
  }
47
53
  export declare const DefaultMediaItem: React.FC<{
48
54
  item: MediaItemType;
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../s-image-modal-DA3DBNbv.js";
1
+ import { n as e, t } from "../s-image-modal-Za71QD3d.js";
2
2
  export { t as DefaultMediaItem, e as SImageModal, e as default };
@@ -33,30 +33,30 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
33
33
  backgroundColor: "background.paper",
34
34
  ...n
35
35
  }
36
- }), b = ({ selectedItem: e, isOpen: r, onClose: b, onItemChange: x, mediaItems: S = [], renderMediaItem: C, showNavigation: w = !0, showThumbnailDock: T = !0, showCounter: E = !0, modalSx: D = {} }) => {
37
- let [O, k] = o(e ?? null), A = e ?? O;
36
+ }), b = ({ selectedItem: e, isOpen: r, onClose: b, onItemChange: x, mediaItems: S = [], renderMediaItem: C, showNavigation: w = !0, showThumbnailDock: T = !0, showCounter: E = !0, modalSx: D = {}, closeText: O = "Close", previousText: k = "Previous image", nextText: A = "Next image" }) => {
37
+ let [j, M] = o(e ?? null), N = e ?? j;
38
38
  a(() => {
39
- e && k(e);
39
+ e && M(e);
40
40
  }, [e]);
41
- let j = w && S.length > 1 && A, M = A ? S.findIndex((e) => e.id === A.id) : -1, N = S.length, P = i.useCallback(() => {
42
- if (j && M > 0) {
43
- let e = S[M - 1];
44
- x ? x(e) : k(e);
41
+ let P = w && S.length > 1 && N, F = N ? S.findIndex((e) => e.id === N.id) : -1, I = S.length, L = i.useCallback(() => {
42
+ if (P && F > 0) {
43
+ let e = S[F - 1];
44
+ x ? x(e) : M(e);
45
45
  }
46
46
  }, [
47
- j,
48
- M,
47
+ P,
48
+ F,
49
49
  S,
50
50
  x
51
- ]), F = i.useCallback(() => {
52
- if (j && M < N - 1) {
53
- let e = S[M + 1];
54
- x ? x(e) : k(e);
51
+ ]), R = i.useCallback(() => {
52
+ if (P && F < I - 1) {
53
+ let e = S[F + 1];
54
+ x ? x(e) : M(e);
55
55
  }
56
56
  }, [
57
- j,
58
- M,
59
- N,
57
+ P,
58
+ F,
59
+ I,
60
60
  S,
61
61
  x
62
62
  ]);
@@ -64,10 +64,10 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
64
64
  let e = (e) => {
65
65
  if (r) switch (e.key) {
66
66
  case "ArrowLeft":
67
- P();
67
+ L();
68
68
  break;
69
69
  case "ArrowRight":
70
- F();
70
+ R();
71
71
  break;
72
72
  case "Escape":
73
73
  b();
@@ -77,13 +77,13 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
77
77
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
78
78
  }, [
79
79
  r,
80
- M,
81
- N,
82
- j,
83
- P,
84
80
  F,
81
+ I,
82
+ P,
83
+ L,
84
+ R,
85
85
  b
86
- ]), !r || !A ? null : /* @__PURE__ */ c(f, {
86
+ ]), !r || !N ? null : /* @__PURE__ */ c(f, {
87
87
  open: r,
88
88
  onClose: b,
89
89
  sx: {
@@ -173,7 +173,7 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
173
173
  borderColor: "divider",
174
174
  overflow: "hidden"
175
175
  },
176
- children: [C ? C(A) : /* @__PURE__ */ c(y, { item: A }), (A.title || A.desc) && /* @__PURE__ */ l(u, {
176
+ children: [C ? C(N) : /* @__PURE__ */ c(y, { item: N }), (N.title || N.desc) && /* @__PURE__ */ l(u, {
177
177
  sx: {
178
178
  position: "absolute",
179
179
  left: 0,
@@ -188,27 +188,27 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
188
188
  background: "linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.35) 45%, transparent)"
189
189
  },
190
190
  onClick: (e) => e.stopPropagation(),
191
- children: [A.title && /* @__PURE__ */ c(h, {
191
+ children: [N.title && /* @__PURE__ */ c(h, {
192
192
  variant: "h6",
193
193
  sx: { fontSize: {
194
194
  xs: 14,
195
195
  sm: 18,
196
196
  md: 20
197
197
  } },
198
- children: A.title
199
- }), A.desc && /* @__PURE__ */ c(h, {
198
+ children: N.title
199
+ }), N.desc && /* @__PURE__ */ c(h, {
200
200
  variant: "body2",
201
201
  sx: { mt: .5 },
202
- children: A.desc
202
+ children: N.desc
203
203
  })]
204
204
  })]
205
205
  })
206
- }, A.id)
206
+ }, N.id)
207
207
  })
208
208
  })
209
209
  }),
210
210
  /* @__PURE__ */ c(d, {
211
- "aria-label": "Close",
211
+ "aria-label": O,
212
212
  onClick: b,
213
213
  sx: {
214
214
  position: "absolute",
@@ -226,7 +226,7 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
226
226
  },
227
227
  children: /* @__PURE__ */ c(n, {})
228
228
  }),
229
- E && j && /* @__PURE__ */ l(u, {
229
+ E && P && /* @__PURE__ */ l(u, {
230
230
  sx: {
231
231
  position: "absolute",
232
232
  top: {
@@ -249,17 +249,17 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
249
249
  color: "text.primary"
250
250
  },
251
251
  children: [
252
- M + 1,
252
+ F + 1,
253
253
  " / ",
254
- N
254
+ I
255
255
  ]
256
256
  }),
257
- j && /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(d, {
258
- "aria-label": "Previous image",
257
+ P && /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(d, {
258
+ "aria-label": k,
259
259
  onClick: (e) => {
260
- e.stopPropagation(), P();
260
+ e.stopPropagation(), L();
261
261
  },
262
- disabled: M === 0,
262
+ disabled: F === 0,
263
263
  sx: {
264
264
  position: "absolute",
265
265
  left: {
@@ -274,11 +274,11 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
274
274
  },
275
275
  children: /* @__PURE__ */ c(v, {})
276
276
  }), /* @__PURE__ */ c(d, {
277
- "aria-label": "Next image",
277
+ "aria-label": A,
278
278
  onClick: (e) => {
279
- e.stopPropagation(), F();
279
+ e.stopPropagation(), R();
280
280
  },
281
- disabled: M === N - 1,
281
+ disabled: F === I - 1,
282
282
  sx: {
283
283
  position: "absolute",
284
284
  right: {
@@ -295,7 +295,7 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
295
295
  })] })
296
296
  ]
297
297
  })
298
- }), T && j && S.length > 1 && /* @__PURE__ */ c(u, {
298
+ }), T && P && S.length > 1 && /* @__PURE__ */ c(u, {
299
299
  sx: {
300
300
  position: "fixed",
301
301
  zIndex: 1502,
@@ -319,8 +319,8 @@ var v = e(/* @__PURE__ */ c("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10
319
319
  spacing: -1.5,
320
320
  sx: { alignItems: "center" },
321
321
  children: S.map((e, t) => {
322
- let n = A.id === e.id, r = t % 2 == 0 ? -15 : 15, i = () => {
323
- x ? x(e) : k(e);
322
+ let n = N.id === e.id, r = t % 2 == 0 ? -15 : 15, i = () => {
323
+ x ? x(e) : M(e);
324
324
  };
325
325
  return /* @__PURE__ */ l(_.div, {
326
326
  onClick: (e) => {
@@ -1,3 +1,2 @@
1
1
  export { SNavItem, type SNavItemProps } from './s-nav-item';
2
- export { SNavItems, SNavGroupItem, type SNavItemConfig, type SNavItemsProps } from './s-nav-items';
3
2
  export { default } from './s-nav-item';
@@ -1,3 +1,2 @@
1
1
  import { SNavItem as e } from "./s-nav-item.js";
2
- import { SNavGroupItem as t, SNavItems as n } from "./s-nav-items.js";
3
- export { t as SNavGroupItem, e as SNavItem, e as default, n as SNavItems };
2
+ export { e as SNavItem, e as default };
@@ -0,0 +1,2 @@
1
+ export { SNavItems, SNavGroupItem, type SNavItemConfig, type SNavItemsProps } from './s-nav-items';
2
+ export { default } from './s-nav-items';
@@ -0,0 +1,2 @@
1
+ import { SNavGroupItem as e, SNavItems as t } from "./s-nav-items.js";
2
+ export { e as SNavGroupItem, t as SNavItems, t as default };
@@ -59,4 +59,4 @@ export declare function SNavItems({ items, pathname, depth, component }: Readonl
59
59
  export declare namespace SNavItems {
60
60
  var displayName: string;
61
61
  }
62
- export {};
62
+ export default SNavItems;
@@ -2,11 +2,11 @@ import { t as e } from "../Box-BlmynALm.js";
2
2
  import { t } from "../Stack-BQkLmLFp.js";
3
3
  import { t as n } from "../Typography-EsraKPZO.js";
4
4
  import { t as r } from "../ExpandMore-Bu7_1g6Q.js";
5
- import { SNavItem as i } from "./s-nav-item.js";
5
+ import { SNavItem as i } from "../s-nav-item/s-nav-item.js";
6
6
  import { t as a } from "../Collapse-CnXmaDqT.js";
7
7
  import * as o from "react";
8
8
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
- //#region lib/s-nav-item/s-nav-items.tsx
9
+ //#region lib/s-nav-items/s-nav-items.tsx
10
10
  function l(e, t) {
11
11
  return e.some((e) => e.href && (t === e.href || t.startsWith(e.href + "/")) ? !0 : e.items ? l(e.items, t) : !1);
12
12
  }
@@ -151,4 +151,4 @@ function p({ items: e, pathname: n = "", depth: r = 0, component: i }) {
151
151
  }
152
152
  p.displayName = "SNavItems";
153
153
  //#endregion
154
- export { f as SNavGroupItem, p as SNavItems };
154
+ export { f as SNavGroupItem, p as SNavItems, p as default };
@@ -7,7 +7,7 @@ export interface SPixelRevealProps extends Omit<React.HTMLAttributes<HTMLDivElem
7
7
  gap?: number;
8
8
  /** Animation speed multiplier (0-100) */
9
9
  speed?: number;
10
- /** Array of color values randomly assigned to pixels */
10
+ /** Array of color values randomly assigned to pixels (defaults to theme primary shades) */
11
11
  colors?: string[];
12
12
  /** Controls pixel animation state */
13
13
  loading?: boolean;
@@ -1,6 +1,6 @@
1
- import { o as e } from "../theme-primitives-OrQ-xFJR.js";
2
- import { forwardRef as t, useCallback as n, useEffect as r, useRef as i } from "react";
3
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
1
+ import { forwardRef as e, useCallback as t, useEffect as n, useRef as r } from "react";
2
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
3
+ import { useTheme as o } from "@mui/material";
4
4
  //#region lib/s-pixel-reveal/s-pixel-reveal.tsx
5
5
  var s = class {
6
6
  x;
@@ -47,100 +47,105 @@ function c({ x: e, y: t, gap: n, logicalWidth: r, logicalHeight: i, instant: a,
47
47
  let c = e + n / 2, l = t + n / 2, u = r / 2, d = i / 2;
48
48
  return Math.sqrt(s(c, l, u, d));
49
49
  }
50
- function l(e, t, n) {
50
+ function l(e, t) {
51
+ let n = /^var\((--[^),\s]+)\s*(?:,\s*([^)]+))?\)$/.exec(e.trim());
52
+ return n && (getComputedStyle(t).getPropertyValue(n[1]).trim() || n[2]?.trim()) || e;
53
+ }
54
+ function u(e, t, n) {
51
55
  e.has(t) || e.set(t, []), e.get(t)?.push(n);
52
56
  }
53
- var u = t(({ gap: t = 5, speed: u = 100, colors: d = [
54
- e[400],
55
- e[500],
56
- e[600]
57
- ], loading: f = !0, src: p, alt: m = "", style: h, children: g, instant: _ = !0, ...v }, y) => {
58
- let b = i(null), x = i(null), S = i(null), C = i(/* @__PURE__ */ new Map()), w = i(null), T = i(1e3 / 60), E = i(0), D = i(!1);
59
- r(() => {
60
- D.current = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
57
+ var d = e(({ gap: e = 5, speed: d = 100, colors: f, loading: p = !0, src: m, alt: h = "", style: g, children: _, instant: v = !0, ...y }, b) => {
58
+ let x = o(), S = r(null), C = r(null), w = r(null), T = r(/* @__PURE__ */ new Map()), E = r(null), D = r(1e3 / 60), O = r(0), k = r(!1);
59
+ n(() => {
60
+ k.current = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
61
61
  }, []);
62
- let O = n((e, t, n, r) => {
62
+ let A = t((e, t, n, r) => {
63
63
  let i = e - n, a = t - r;
64
64
  return i * i + a * a;
65
- }, []), k = n((e, n, r) => {
66
- w.current && cancelAnimationFrame(w.current), E.current = performance.now();
65
+ }, []), j = t((t, n, r) => {
66
+ E.current && cancelAnimationFrame(E.current), O.current = performance.now();
67
67
  let i = () => {
68
- w.current = requestAnimationFrame(i);
69
- let a = performance.now(), o = a - E.current;
70
- if (o < T.current) return;
71
- E.current = a - o % T.current, e.clearRect(0, 0, n, r);
68
+ E.current = requestAnimationFrame(i);
69
+ let a = performance.now(), o = a - O.current;
70
+ if (o < D.current) return;
71
+ O.current = a - o % D.current, t.clearRect(0, 0, n, r);
72
72
  let s = !1;
73
- C.current.forEach((n, r) => {
74
- e.fillStyle = r;
73
+ T.current.forEach((n, r) => {
74
+ t.fillStyle = r;
75
75
  for (let r of n) {
76
- if (f) {
77
- r.updateWhileLoading(), r.draw(e, t), s = !0;
76
+ if (p) {
77
+ r.updateWhileLoading(), r.draw(t, e), s = !0;
78
78
  continue;
79
79
  }
80
- r.updateWhileIdle() && (r.draw(e, t), s = !0);
80
+ r.updateWhileIdle() && (r.draw(t, e), s = !0);
81
81
  }
82
- }), !f && !s && w.current && (cancelAnimationFrame(w.current), w.current = null);
82
+ }), !p && !s && E.current && (cancelAnimationFrame(E.current), E.current = null);
83
83
  };
84
84
  i();
85
- }, [f, t]), A = n(() => {
86
- let e = b.current, n = e?.getContext("2d");
87
- if (!e || !n) return;
88
- C.current = /* @__PURE__ */ new Map();
89
- let r = D.current ? 0 : Math.max(0, Math.min(100, u)) * .001, i = window.devicePixelRatio ?? 1, a = e.width / i, o = e.height / i, f = .5, p = (a + o) * .01, m = a % t / 2, h = o % t / 2;
90
- for (let e = m; e < a; e += t) for (let n = h; n < o; n += t) {
91
- let i = d[Math.floor(Math.random() * d.length)], u = c({
92
- x: e,
85
+ }, [p, e]), M = t(() => {
86
+ let t = S.current, n = t?.getContext("2d");
87
+ if (!t || !n) return;
88
+ T.current = /* @__PURE__ */ new Map();
89
+ let r = k.current ? 0 : Math.max(0, Math.min(100, d)) * .001, i = (x.vars ?? x).palette, a = (f ?? [
90
+ i.primary[400],
91
+ i.primary[500],
92
+ i.primary[600]
93
+ ]).map((e) => l(e, t)), o = window.devicePixelRatio ?? 1, p = t.width / o, m = t.height / o, h = .5, g = (p + m) * .01, _ = p % e / 2, y = m % e / 2;
94
+ for (let t = _; t < p; t += e) for (let n = y; n < m; n += e) {
95
+ let i = a[Math.floor(Math.random() * a.length)], o = c({
96
+ x: t,
93
97
  y: n,
94
- gap: t,
95
- logicalWidth: a,
96
- logicalHeight: o,
97
- instant: _,
98
- reducedMotion: D.current,
99
- getDistanceSq: O
100
- }), m = Math.random() * 4 + p, h = Math.random() * (2 - f) + f;
101
- l(C.current, i, new s(e, n, i, r, u, m, h));
98
+ gap: e,
99
+ logicalWidth: p,
100
+ logicalHeight: m,
101
+ instant: v,
102
+ reducedMotion: k.current,
103
+ getDistanceSq: A
104
+ }), l = Math.random() * 4 + g, d = Math.random() * (2 - h) + h;
105
+ u(T.current, i, new s(t, n, i, r, o, l, d));
102
106
  }
103
- k(n, a, o);
107
+ j(n, p, m);
104
108
  }, [
105
- t,
106
- u,
109
+ e,
107
110
  d,
108
- _,
109
- O,
110
- k
111
- ]), j = n(() => {
112
- let e = b.current, t = x.current, n = e?.getContext("2d");
111
+ f,
112
+ x,
113
+ v,
114
+ A,
115
+ j
116
+ ]), N = t(() => {
117
+ let e = S.current, t = C.current, n = e?.getContext("2d");
113
118
  if (!e || !t || !n) return;
114
119
  let r = t.getBoundingClientRect();
115
120
  if (r.width === 0 || r.height === 0) return;
116
121
  let i = Math.floor(r.width), a = Math.floor(r.height), o = window.devicePixelRatio ?? 1;
117
- e.width = i * o, e.height = a * o, e.style.width = `${i}px`, e.style.height = `${a}px`, n.setTransform(1, 0, 0, 1, 0, 0), n.scale(o, o), A();
118
- }, [A]);
119
- return r(() => {
120
- j();
122
+ e.width = i * o, e.height = a * o, e.style.width = `${i}px`, e.style.height = `${a}px`, n.setTransform(1, 0, 0, 1, 0, 0), n.scale(o, o), M();
123
+ }, [M]);
124
+ return n(() => {
125
+ N();
121
126
  let e = new ResizeObserver(() => {
122
- requestAnimationFrame(() => j());
127
+ requestAnimationFrame(() => N());
123
128
  });
124
- return x.current && e.observe(x.current), () => {
125
- e.disconnect(), w.current && cancelAnimationFrame(w.current);
129
+ return C.current && e.observe(C.current), () => {
130
+ e.disconnect(), E.current && cancelAnimationFrame(E.current);
126
131
  };
127
- }, [j]), /* @__PURE__ */ o("div", {
132
+ }, [N]), /* @__PURE__ */ a("div", {
128
133
  ref: (e) => {
129
- x.current = e, typeof y == "function" ? y(e) : y && (y.current = e);
134
+ C.current = e, typeof b == "function" ? b(e) : b && (b.current = e);
130
135
  },
131
136
  style: {
132
137
  position: "relative",
133
138
  width: "100%",
134
139
  height: "100%",
135
140
  overflow: "hidden",
136
- ...h
141
+ ...g
137
142
  },
138
- ...v,
143
+ ...y,
139
144
  children: [
140
- p && /* @__PURE__ */ a("img", {
141
- ref: S,
142
- src: p,
143
- alt: m,
145
+ m && /* @__PURE__ */ i("img", {
146
+ ref: w,
147
+ src: m,
148
+ alt: h,
144
149
  style: {
145
150
  position: "absolute",
146
151
  inset: 0,
@@ -150,9 +155,9 @@ var u = t(({ gap: t = 5, speed: u = 100, colors: d = [
150
155
  display: "block"
151
156
  }
152
157
  }),
153
- g,
154
- /* @__PURE__ */ a("canvas", {
155
- ref: b,
158
+ _,
159
+ /* @__PURE__ */ i("canvas", {
160
+ ref: S,
156
161
  style: {
157
162
  position: "absolute",
158
163
  inset: 0,
@@ -166,6 +171,6 @@ var u = t(({ gap: t = 5, speed: u = 100, colors: d = [
166
171
  ]
167
172
  });
168
173
  });
169
- u.displayName = "SPixelReveal";
174
+ d.displayName = "SPixelReveal";
170
175
  //#endregion
171
- export { u as SPixelReveal, u as default };
176
+ export { d as SPixelReveal, d as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-review-D4FBfBPF.js";
1
+ import { t as e } from "../s-review-DjvDY-h4.js";
2
2
  export { e as SReview, e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-review-D4FBfBPF.js";
1
+ import { t as e } from "../s-review-DjvDY-h4.js";
2
2
  export { e as SReview, e as default };