@solostylist/ui-kit 1.0.211 → 1.0.213

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 (139) hide show
  1. package/dist/{ArrowUpward-BPZzNgi2.js → ArrowUpward-O4lRvSII.js} +1 -1
  2. package/dist/ButtonBase-1qqPHJym.js +609 -0
  3. package/dist/{ChevronLeft-DYoIZPzf.js → ChevronLeft-CJ94-qgQ.js} +1 -1
  4. package/dist/{ChevronRight-BecIE-H9.js → ChevronRight-CK4Iv1Xx.js} +1 -1
  5. package/dist/{Close-owIfEKhu.js → Close-CSIi_IPN.js} +1 -1
  6. package/dist/Collapse-CS2l0W42.js +264 -0
  7. package/dist/{ContentCopy-22z-lNLI.js → ContentCopy-SAMH7bs7.js} +1 -1
  8. package/dist/{Download-Dg9NBUSj.js → Download-BefdWd5q.js} +1 -1
  9. package/dist/{ExpandMore-BOF9F55V.js → ExpandMore-DZANUF9W.js} +1 -1
  10. package/dist/{Favorite-BVeoH6Jh.js → Favorite-BwMGKQJf.js} +1 -1
  11. package/dist/{LocalizationProvider-BURK_lV0.js → LocalizationProvider-C07_J3LH.js} +2 -1
  12. package/dist/{Menu-C1gbagw8.js → Menu-CGfkgDXQ.js} +606 -604
  13. package/dist/{MenuItem-DyhMKc_V.js → MenuItem-C0am2QZu.js} +7 -6
  14. package/dist/Paper-Sm1vMalk.js +135 -0
  15. package/dist/{Select-DdIw08Ux.js → Select-BrRoHcey.js} +40 -39
  16. package/dist/{Typography-BXFTm80G.js → Typography-Ci004UCT.js} +2 -2
  17. package/dist/{avatar-_TCe35VV.js → avatar-CKEYVp9W.js} +1 -1
  18. package/dist/{checkbox-Dt9Jyrbh.js → checkbox-CMvDozaV.js} +1 -1
  19. package/dist/{createSvgIcon-CMGRw0Lo.js → createSvgIcon-BfZYaiXo.js} +1 -1
  20. package/dist/{objectWithoutPropertiesLoose-D6aDjjWS.js → extends-DtvfmDTb.js} +1 -12
  21. package/dist/objectWithoutPropertiesLoose-Cq334jkZ.js +12 -0
  22. package/dist/s-accordion/index.js +1 -1
  23. package/dist/s-accordion/s-accordion.js +1 -1
  24. package/dist/s-accordion-z8VaU68k.js +462 -0
  25. package/dist/s-avatar/s-avatar.d.ts +1 -1
  26. package/dist/s-breadcrumbs/s-breadcrumbs.js +1 -1
  27. package/dist/s-carousel/index.js +1 -1
  28. package/dist/s-carousel/s-carousel.js +1 -1
  29. package/dist/{s-carousel-CGX87bjg.js → s-carousel-CR-JjoDx.js} +1 -1
  30. package/dist/s-chat-input/index.js +1 -1
  31. package/dist/s-chat-input/s-chat-input.js +1 -1
  32. package/dist/{s-chat-input-BXwhUdvm.js → s-chat-input-7fYcz8tL.js} +4 -4
  33. package/dist/s-chat-message/index.js +1 -1
  34. package/dist/s-chat-message/s-chat-message.js +1 -1
  35. package/dist/{s-chat-message-DU6sQjxx.js → s-chat-message-BT05O6Fa.js} +2 -2
  36. package/dist/s-chips/index.js +1 -1
  37. package/dist/s-chips/s-chips.js +1 -1
  38. package/dist/{s-chips-CosD17ng.js → s-chips-CMivbDg_.js} +1 -1
  39. package/dist/s-code-block/index.js +1 -1
  40. package/dist/s-code-block/s-code-block.js +1 -1
  41. package/dist/{s-code-block-qdU4tr3O.js → s-code-block-BrwHh2oS.js} +1 -1
  42. package/dist/s-comment-message/index.js +1 -1
  43. package/dist/s-comment-message/s-comment-message.js +1 -1
  44. package/dist/{s-comment-message-BNEmIOGv.js → s-comment-message-YSb11mDV.js} +3 -3
  45. package/dist/s-copyable-text/s-copyable-text.js +1 -1
  46. package/dist/s-data-table/index.js +1 -1
  47. package/dist/s-data-table/s-data-table.js +1 -1
  48. package/dist/{s-data-table-J8XJWWBV.js → s-data-table-DYjPSDPe.js} +17 -16
  49. package/dist/s-date-picker/index.js +1 -1
  50. package/dist/s-date-picker/s-date-picker.js +1 -1
  51. package/dist/{s-date-picker-DsVzH2z9.js → s-date-picker-DkmKLO4E.js} +5 -4
  52. package/dist/s-datetime-picker/index.js +1 -1
  53. package/dist/s-datetime-picker/s-datetime-picker.js +1 -1
  54. package/dist/{s-datetime-picker-Ba_hgXEo.js → s-datetime-picker-VHyJ6NUS.js} +303 -301
  55. package/dist/s-dialog/s-dialog.js +1 -1
  56. package/dist/s-dialog-confirm/s-dialog-confirm.js +2 -2
  57. package/dist/s-dialog-message/s-dialog-message.js +2 -2
  58. package/dist/s-file-dropzone/index.js +1 -1
  59. package/dist/s-file-dropzone/s-file-dropzone.js +1 -1
  60. package/dist/{s-file-dropzone-U--yIQ0o.js → s-file-dropzone-BFTqdCaX.js} +2 -2
  61. package/dist/s-image-comparison/s-image-comparison.js +2 -2
  62. package/dist/s-image-modal/s-image-modal.js +3 -3
  63. package/dist/s-label/index.js +1 -1
  64. package/dist/s-label/s-label.js +1 -1
  65. package/dist/{s-label-DSVEMOfm.js → s-label-BYT4eG6o.js} +1 -1
  66. package/dist/s-language-switcher/index.js +1 -1
  67. package/dist/s-language-switcher/s-language-switcher.js +1 -1
  68. package/dist/{s-language-switcher-CG1TfY0A.js → s-language-switcher-BojBckp0.js} +3 -3
  69. package/dist/s-localization-provider/index.js +1 -1
  70. package/dist/s-localization-provider/s-localization-provider.js +1 -1
  71. package/dist/{s-localization-provider-D3NT6y0c.js → s-localization-provider-CIACI235.js} +2 -2
  72. package/dist/s-multi-select/index.js +1 -1
  73. package/dist/s-multi-select/s-multi-select.js +1 -1
  74. package/dist/{s-multi-select-CTtWSr8-.js → s-multi-select-CRXew1KJ.js} +4 -4
  75. package/dist/s-nav-item/index.d.ts +3 -0
  76. package/dist/s-nav-item/index.js +4 -0
  77. package/dist/s-nav-item/s-nav-item.d.ts +36 -0
  78. package/dist/s-nav-item/s-nav-item.js +80 -0
  79. package/dist/s-nav-item/s-nav-items.d.ts +62 -0
  80. package/dist/s-nav-item/s-nav-items.js +137 -0
  81. package/dist/s-review/index.js +1 -1
  82. package/dist/s-review/s-review.js +1 -1
  83. package/dist/{s-review-BC1lHIm6.js → s-review-BMbUNSZR.js} +1 -1
  84. package/dist/s-scroll-to-top/s-scroll-to-top.js +1 -1
  85. package/dist/s-select/index.js +1 -1
  86. package/dist/s-select/s-select.js +1 -1
  87. package/dist/{s-select-C21R0N2u.js → s-select-GRyyPITy.js} +1 -1
  88. package/dist/s-stripe/s-stripe.js +1 -1
  89. package/dist/s-text-editor/index.js +1 -1
  90. package/dist/s-text-editor/s-text-editor-toolbar.js +1 -1
  91. package/dist/s-text-editor/s-text-editor.js +1 -1
  92. package/dist/{s-text-editor-toolbar-Cryg0LAh.js → s-text-editor-toolbar-DSjX1GXv.js} +4 -4
  93. package/dist/s-text-field/index.js +1 -1
  94. package/dist/s-text-field/s-text-field.js +1 -1
  95. package/dist/{s-text-field-D1IehXqm.js → s-text-field-UI_UjTUa.js} +1 -1
  96. package/dist/s-theme-demo/index.js +1 -1
  97. package/dist/s-theme-demo/s-theme-demo.js +1 -1
  98. package/dist/{s-theme-demo-zAOHpUI7.js → s-theme-demo-D3IF6lkI.js} +4 -4
  99. package/dist/s-theme-switch/index.js +1 -1
  100. package/dist/s-theme-switch/s-theme-switch.js +1 -1
  101. package/dist/{s-theme-switch-B9r8_N1i.js → s-theme-switch-COBORL4a.js} +1 -1
  102. package/dist/s-tip/index.js +1 -1
  103. package/dist/s-tip/s-tip.js +1 -1
  104. package/dist/{s-tip-C34wQGJ-.js → s-tip-BI58w2uh.js} +2 -2
  105. package/dist/s-tool-bar/index.js +1 -1
  106. package/dist/s-tool-bar/s-tool-bar.js +1 -1
  107. package/dist/{s-tool-bar-BciD39jt.js → s-tool-bar-DYFFybyj.js} +4 -4
  108. package/dist/{select-BcLqQ0sF.js → select-BT9USOXL.js} +1 -1
  109. package/dist/theme/components/avatar.js +1 -1
  110. package/dist/theme/components/checkbox.js +1 -1
  111. package/dist/theme/components/chip.js +1 -1
  112. package/dist/theme/components/components.js +5 -5
  113. package/dist/theme/components/list-item-button.js +1 -1
  114. package/dist/theme/components/list-item.js +3 -3
  115. package/dist/theme/components/outlined-input.js +1 -1
  116. package/dist/theme/components/select.js +1 -1
  117. package/dist/theme/components/tab.js +1 -1
  118. package/dist/theme/components/table-pagination.js +1 -1
  119. package/dist/theme/components/toggle-button-group.js +1 -1
  120. package/dist/theme/components/toggle-button.js +1 -1
  121. package/dist/{useMobilePicker-D6CIp1i2.js → useMobilePicker-CAMBlpgB.js} +74 -71
  122. package/dist/useSlot-BfqKgBbE.js +192 -0
  123. package/dist/utils-BqJ3HDtA.js +198 -0
  124. package/package.json +1 -1
  125. package/dist/Paper-BqlfdEtj.js +0 -326
  126. package/dist/s-accordion-DkA0dsLD.js +0 -712
  127. package/dist/useSlot-TsaoJMJN.js +0 -798
  128. /package/dist/{buttonBaseClasses-DOwL2wHr.js → buttonBaseClasses-D1dQFqBk.js} +0 -0
  129. /package/dist/{createSimplePaletteValueFilter-AnLSDyLU.js → createSimplePaletteValueFilter-D5kxdvJe.js} +0 -0
  130. /package/dist/{iconButtonClasses-DC67mWBJ.js → iconButtonClasses-UNZ6hKTU.js} +0 -0
  131. /package/dist/{mergeSlotProps-CsqK8tmH.js → mergeSlotProps-CVIr4jSm.js} +0 -0
  132. /package/dist/{outlinedInputClasses-Cmc2eWLD.js → outlinedInputClasses-ClI9bkEy.js} +0 -0
  133. /package/dist/{svgIconClasses-DrmLtTkP.js → svgIconClasses-BhRa1KyZ.js} +0 -0
  134. /package/dist/{tabClasses-ywhJ0fbh.js → tabClasses-Duc8s_po.js} +0 -0
  135. /package/dist/{toggle-button-2wwhzKdn.js → toggle-button-BtL4kaOZ.js} +0 -0
  136. /package/dist/{toggle-button-group-Dpe5CZL_.js → toggle-button-group-CTajBjl-.js} +0 -0
  137. /package/dist/{typographyClasses-C8Mm57es.js → typographyClasses-CBI3nZde.js} +0 -0
  138. /package/dist/{useControlled-DZYTbMHD.js → useControlled-8Zs5aelG.js} +0 -0
  139. /package/dist/{useFormControl-C-CuXT4Y.js → useFormControl-DvExOQVA.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../Close-owIfEKhu.js";
2
+ import { t as e } from "../Close-CSIi_IPN.js";
3
3
  import * as t from "react";
4
4
  import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  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";
@@ -1,6 +1,6 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../Typography-BXFTm80G.js";
3
- import { t } from "../Close-owIfEKhu.js";
2
+ import { t as e } from "../Typography-Ci004UCT.js";
3
+ import { t } from "../Close-CSIi_IPN.js";
4
4
  import { useDialog as n } from "../hooks/use-dialog.js";
5
5
  import * as r from "react";
6
6
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../Typography-BXFTm80G.js";
3
- import { t } from "../Close-owIfEKhu.js";
2
+ import { t as e } from "../Typography-Ci004UCT.js";
3
+ import { t } from "../Close-CSIi_IPN.js";
4
4
  import { useDialog as n } from "../hooks/use-dialog.js";
5
5
  import * as r from "react";
6
6
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-file-dropzone-U--yIQ0o.js";
2
+ import { t as e } from "../s-file-dropzone-BFTqdCaX.js";
3
3
  export { e as SFileDropzone, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-file-dropzone-U--yIQ0o.js";
2
+ import { t as e } from "../s-file-dropzone-BFTqdCaX.js";
3
3
  export { e as SFileDropzone, e as default };
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./Box-BQIZeo25.js";
2
2
  import { t } from "./Stack-BrIUVvqB.js";
3
3
  import { t as n } from "./utils-CKGB5_56.js";
4
- import { t as r } from "./createSvgIcon-CMGRw0Lo.js";
5
- import { t as i } from "./Typography-BXFTm80G.js";
4
+ import { t as r } from "./createSvgIcon-BfZYaiXo.js";
5
+ import { t as i } from "./Typography-Ci004UCT.js";
6
6
  import { SForm as a } from "./s-form/s-form.js";
7
7
  import { SFileIcon as o } from "./s-file-icon/s-file-icon.js";
8
8
  import * as s from "react";
@@ -1,6 +1,6 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../ChevronLeft-DYoIZPzf.js";
3
- import { t } from "../ChevronRight-BecIE-H9.js";
2
+ import { t as e } from "../ChevronLeft-CJ94-qgQ.js";
3
+ import { t } from "../ChevronRight-CK4Iv1Xx.js";
4
4
  import n from "../s-lazy-image/s-lazy-image.js";
5
5
  import * as r from "react";
6
6
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../ChevronLeft-DYoIZPzf.js";
3
- import { t } from "../ChevronRight-BecIE-H9.js";
4
- import { t as n } from "../Close-owIfEKhu.js";
2
+ import { t as e } from "../ChevronLeft-CJ94-qgQ.js";
3
+ import { t } from "../ChevronRight-CK4Iv1Xx.js";
4
+ import { t as n } from "../Close-CSIi_IPN.js";
5
5
  import r from "../s-lazy-image/s-lazy-image.js";
6
6
  import i, { useEffect as a, useState as o } from "react";
7
7
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-label-DSVEMOfm.js";
2
+ import { t as e } from "../s-label-BYT4eG6o.js";
3
3
  export { e as SLabel, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-label-DSVEMOfm.js";
2
+ import { t as e } from "../s-label-BYT4eG6o.js";
3
3
  export { e as SLabel, e as default };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createSvgIcon-CMGRw0Lo.js";
1
+ import { t as e } from "./createSvgIcon-BfZYaiXo.js";
2
2
  import "react";
3
3
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
4
  import { Stack as r, Tooltip as i, Typography as a } from "@mui/material";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { n as e, r as t, t as n } from "../s-language-switcher-CG1TfY0A.js";
2
+ import { n as e, r as t, t as n } from "../s-language-switcher-BojBckp0.js";
3
3
  export { n as SLanguagePopover, e as SLanguageSwitcher, e as default, t as defaultLanguageOptions };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { n as e, r as t, t as n } from "../s-language-switcher-CG1TfY0A.js";
2
+ import { n as e, r as t, t as n } from "../s-language-switcher-BojBckp0.js";
3
3
  export { n as SLanguagePopover, e as SLanguageSwitcher, e as default, t as defaultLanguageOptions };
@@ -3,9 +3,9 @@ import { _ as t } from "./createTheme-hnicUJQa.js";
3
3
  import { r as n, s as r, t as i } from "./memoTheme-DiKnacj0.js";
4
4
  import { t as a } from "./clsx-BTH_sxEO.js";
5
5
  import { t as o } from "./styled-C0_N3zFx.js";
6
- import { i as s, t as c } from "./Menu-C1gbagw8.js";
7
- import { t as l } from "./Typography-BXFTm80G.js";
8
- import { n as u, t as d } from "./MenuItem-DyhMKc_V.js";
6
+ import { i as s, t as c } from "./Menu-CGfkgDXQ.js";
7
+ import { t as l } from "./Typography-Ci004UCT.js";
8
+ import { n as u, t as d } from "./MenuItem-C0am2QZu.js";
9
9
  import { SIconButton as f } from "./s-icon-button/s-icon-button.js";
10
10
  import * as p from "react";
11
11
  import m, { createElement as h } from "react";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-localization-provider-D3NT6y0c.js";
2
+ import { t as e } from "../s-localization-provider-CIACI235.js";
3
3
  export { e as SLocalizationProvider, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-localization-provider-D3NT6y0c.js";
2
+ import { t as e } from "../s-localization-provider-CIACI235.js";
3
3
  export { e as SLocalizationProvider, e as default };
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./chunk-efA98nb6.js";
2
- import { r as n, t as r } from "./LocalizationProvider-BURK_lV0.js";
3
- import { n as i } from "./objectWithoutPropertiesLoose-D6aDjjWS.js";
2
+ import { r as n, t as r } from "./LocalizationProvider-C07_J3LH.js";
3
+ import { t as i } from "./extends-DtvfmDTb.js";
4
4
  import a from "dayjs";
5
5
  import "react";
6
6
  import { jsx as o } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-multi-select-CTtWSr8-.js";
2
+ import { t as e } from "../s-multi-select-CRXew1KJ.js";
3
3
  export { e as SMultiSelect, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-multi-select-CTtWSr8-.js";
2
+ import { t as e } from "../s-multi-select-CRXew1KJ.js";
3
3
  export { e as SMultiSelect, e as default };
@@ -1,7 +1,7 @@
1
- import { t as e } from "./Menu-C1gbagw8.js";
2
- import { t } from "./createSvgIcon-CMGRw0Lo.js";
3
- import { t as n } from "./s-chips-CosD17ng.js";
4
- import { t as r } from "./MenuItem-DyhMKc_V.js";
1
+ import { t as e } from "./Menu-CGfkgDXQ.js";
2
+ import { t } from "./createSvgIcon-BfZYaiXo.js";
3
+ import { t as n } from "./s-chips-CMivbDg_.js";
4
+ import { t as r } from "./MenuItem-C0am2QZu.js";
5
5
  import { usePopover as i } from "./hooks/use-popover.js";
6
6
  import * as a from "react";
7
7
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
@@ -0,0 +1,3 @@
1
+ export { SNavItem, type SNavItemProps } from './s-nav-item';
2
+ export { SNavItems, SNavGroupItem, type SNavItemConfig, type SNavItemsProps } from './s-nav-items';
3
+ export { default } from './s-nav-item';
@@ -0,0 +1,4 @@
1
+ import "../createTheme-hnicUJQa.js";
2
+ import { SNavItem as e } from "./s-nav-item.js";
3
+ import { SNavGroupItem as t, SNavItems as n } from "./s-nav-items.js";
4
+ export { t as SNavGroupItem, e as SNavItem, e as default, n as SNavItems };
@@ -0,0 +1,36 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
2
+ import * as React from 'react';
3
+ /**
4
+ * Props interface for SNavItem component
5
+ */
6
+ export interface SNavItemProps {
7
+ /** Text to display */
8
+ title?: React.ReactNode;
9
+ /** Link destination */
10
+ href?: string;
11
+ /** Active state. If true, highlighting is applied */
12
+ active?: boolean;
13
+ /** Icon shown on the left */
14
+ icon?: React.ReactNode;
15
+ /** Action node shown on the right */
16
+ rightAction?: React.ReactNode;
17
+ /** Used for onClick when href is not provided */
18
+ onClick?: () => void;
19
+ /** Disables the item */
20
+ disabled?: boolean;
21
+ /** Target link for external link */
22
+ external?: boolean;
23
+ /** Custom link component (e.g., React Router Link) for client-side navigation */
24
+ component?: React.ElementType;
25
+ /** Additional SX overrides for the outer list item */
26
+ sx?: SxProps<Theme>;
27
+ /** Additional SX overrides for the inner anchor/div (useful for padding-left on nested items) */
28
+ innerSx?: SxProps<Theme>;
29
+ /** Additional SX overrides for the title Typography */
30
+ titleSx?: SxProps<Theme>;
31
+ }
32
+ export declare const SNavItem: {
33
+ ({ active, disabled, external, href, icon, onClick, rightAction, title, component, sx, innerSx, titleSx, }: Readonly<SNavItemProps>): React.JSX.Element;
34
+ displayName: string;
35
+ };
36
+ export default SNavItem;
@@ -0,0 +1,80 @@
1
+ import "../createTheme-hnicUJQa.js";
2
+ import { t as e } from "../Box-BQIZeo25.js";
3
+ import { t } from "../Typography-Ci004UCT.js";
4
+ import "react";
5
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
6
+ //#region lib/s-nav-item/s-nav-item.tsx
7
+ var i = ({ active: i, disabled: a, external: o, href: s, icon: c, onClick: l, rightAction: u, title: d, component: f, sx: p, innerSx: m, titleSx: h }) => /* @__PURE__ */ n(e, {
8
+ component: "li",
9
+ sx: {
10
+ userSelect: "none",
11
+ display: "block",
12
+ ...p
13
+ },
14
+ children: /* @__PURE__ */ r(e, {
15
+ ...s ? {
16
+ component: o ? "a" : f ?? "a",
17
+ href: s,
18
+ target: o ? "_blank" : void 0,
19
+ rel: o ? "noreferrer" : void 0
20
+ } : {
21
+ role: "button",
22
+ onClick: l,
23
+ component: "div"
24
+ },
25
+ sx: {
26
+ alignItems: "center",
27
+ borderRadius: 1,
28
+ color: "var(--s-palette-text-secondary)",
29
+ cursor: a ? "not-allowed" : "pointer",
30
+ display: "flex",
31
+ flex: "0 0 auto",
32
+ gap: 1,
33
+ justifyContent: "space-between",
34
+ p: 1.5,
35
+ textDecoration: "none",
36
+ whiteSpace: "nowrap",
37
+ ...a && { color: "var(--s-palette-text-disabled)" },
38
+ ...i && {
39
+ bgcolor: "var(--s-palette-action-selected)",
40
+ color: "var(--s-palette-text-primary)"
41
+ },
42
+ "&:hover": { ...!i && !a && {
43
+ bgcolor: "var(--s-palette-action-hover)",
44
+ color: "var(--s-palette-text-primary)"
45
+ } },
46
+ ...m
47
+ },
48
+ tabIndex: 0,
49
+ children: [/* @__PURE__ */ r(e, {
50
+ sx: {
51
+ alignItems: "center",
52
+ display: "flex",
53
+ gap: 1
54
+ },
55
+ children: [c ? /* @__PURE__ */ n(e, {
56
+ component: "span",
57
+ sx: {
58
+ display: "flex",
59
+ alignItems: "center",
60
+ justifyContent: "center"
61
+ },
62
+ children: c
63
+ }) : null, /* @__PURE__ */ n(t, {
64
+ component: "span",
65
+ sx: { ...h },
66
+ children: d
67
+ })]
68
+ }), u ? /* @__PURE__ */ n(e, {
69
+ component: "span",
70
+ sx: {
71
+ display: "flex",
72
+ alignItems: "center"
73
+ },
74
+ children: u
75
+ }) : null]
76
+ })
77
+ });
78
+ i.displayName = "SNavItem";
79
+ //#endregion
80
+ export { i as SNavItem, i as default };
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Configuration for a single navigation item or group
4
+ */
5
+ export interface SNavItemConfig {
6
+ /** Unique key for the item */
7
+ key: string;
8
+ /** Display title */
9
+ title: React.ReactNode;
10
+ /** Link destination */
11
+ href?: string;
12
+ /** Icon renderer — receives active state */
13
+ icon?: (active: boolean) => React.ReactNode;
14
+ /** Disables the item */
15
+ disabled?: boolean;
16
+ /** Whether the link opens in a new tab */
17
+ external?: boolean;
18
+ /** Custom link component (e.g., React Router Link) */
19
+ component?: React.ElementType;
20
+ /** Sub-items to render as a collapsible submenu */
21
+ items?: SNavItemConfig[];
22
+ /** Whether a group item is open by default (defaults to false) */
23
+ defaultOpen?: boolean;
24
+ }
25
+ export interface SNavItemsProps {
26
+ /** List of nav item configurations */
27
+ items: SNavItemConfig[];
28
+ /**
29
+ * Current pathname used to determine the active item.
30
+ * Pass `window.location.pathname` or the value from your router (e.g., `useLocation().pathname`).
31
+ * Defaults to `''`.
32
+ */
33
+ pathname?: string;
34
+ /** Depth level, used internally for recursive rendering */
35
+ depth?: number;
36
+ /**
37
+ * Default link component for all items (e.g., React Router Link).
38
+ * Can be overridden per-item via `SNavItemConfig.component`.
39
+ */
40
+ component?: React.ElementType;
41
+ }
42
+ interface SNavGroupItemProps {
43
+ item: SNavItemConfig;
44
+ pathname: string;
45
+ depth: number;
46
+ component?: React.ElementType;
47
+ }
48
+ /**
49
+ * Renders a single navigation entry — either a leaf link or a collapsible group with children.
50
+ */
51
+ export declare function SNavGroupItem({ item, pathname, depth, component }: SNavGroupItemProps): React.JSX.Element;
52
+ export declare namespace SNavGroupItem {
53
+ var displayName: string;
54
+ }
55
+ /**
56
+ * Renders a list of navigation items, supporting nested collapsible groups.
57
+ */
58
+ export declare function SNavItems({ items, pathname, depth, component }: SNavItemsProps): React.JSX.Element;
59
+ export declare namespace SNavItems {
60
+ var displayName: string;
61
+ }
62
+ export {};
@@ -0,0 +1,137 @@
1
+ import "../createTheme-hnicUJQa.js";
2
+ import { t as e } from "../Box-BQIZeo25.js";
3
+ import { t } from "../Stack-BrIUVvqB.js";
4
+ import { t as n } from "../Typography-Ci004UCT.js";
5
+ import { t as r } from "../ExpandMore-DZANUF9W.js";
6
+ import { t as i } from "../Collapse-CS2l0W42.js";
7
+ import { SNavItem as a } from "./s-nav-item.js";
8
+ import * as o from "react";
9
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
10
+ //#region lib/s-nav-item/s-nav-items.tsx
11
+ function l(e, t) {
12
+ return e.some((e) => e.href && (t === e.href || t.startsWith(e.href + "/")) ? !0 : e.items ? l(e.items, t) : !1);
13
+ }
14
+ function u({ item: t, pathname: u, depth: f, component: p }) {
15
+ let m = !!(t.items && t.items.length > 0), h = t.href ? u === t.href || u.startsWith(t.href + "/") : !1, g = m ? l(t.items, u) : !1, [_, v] = o.useState(t.defaultOpen ?? g);
16
+ if (o.useEffect(() => {
17
+ g && v(!0);
18
+ }, [g]), !m) return /* @__PURE__ */ s(a, {
19
+ active: h,
20
+ disabled: t.disabled,
21
+ external: t.external,
22
+ href: t.href,
23
+ component: t.component ?? p,
24
+ icon: t.icon ? t.icon(h) : null,
25
+ title: t.title,
26
+ innerSx: f > 0 ? { pl: `${(f - 1) * 12 + 12}px` } : void 0
27
+ });
28
+ let y = h || g;
29
+ return /* @__PURE__ */ c(e, {
30
+ component: "li",
31
+ sx: {
32
+ userSelect: "none",
33
+ display: "block"
34
+ },
35
+ children: [/* @__PURE__ */ c(e, {
36
+ role: "button",
37
+ onClick: () => v((e) => !e),
38
+ sx: {
39
+ alignItems: "center",
40
+ borderRadius: 1,
41
+ color: y ? "var(--s-palette-text-primary)" : "var(--s-palette-text-secondary)",
42
+ cursor: t.disabled ? "not-allowed" : "pointer",
43
+ display: "flex",
44
+ flex: "0 0 auto",
45
+ gap: 1,
46
+ justifyContent: "space-between",
47
+ p: 1.5,
48
+ pl: f > 0 ? `${f * 12 + 12}px` : "12px",
49
+ textDecoration: "none",
50
+ whiteSpace: "nowrap",
51
+ ...t.disabled && { color: "var(--s-palette-text-disabled)" },
52
+ ...y && { bgcolor: "var(--s-palette-action-selected)" },
53
+ "&:hover": { ...!y && !t.disabled && {
54
+ bgcolor: "var(--s-palette-action-hover)",
55
+ color: "var(--s-palette-text-primary)"
56
+ } }
57
+ },
58
+ tabIndex: 0,
59
+ onKeyDown: (e) => {
60
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), v((e) => !e));
61
+ },
62
+ children: [/* @__PURE__ */ c(e, {
63
+ sx: {
64
+ alignItems: "center",
65
+ display: "flex",
66
+ gap: 1
67
+ },
68
+ children: [t.icon ? /* @__PURE__ */ s(e, {
69
+ component: "span",
70
+ sx: {
71
+ display: "flex",
72
+ alignItems: "center",
73
+ justifyContent: "center"
74
+ },
75
+ children: t.icon(y)
76
+ }) : null, /* @__PURE__ */ s(n, {
77
+ component: "span",
78
+ sx: {
79
+ fontWeight: 500,
80
+ fontSize: "inherit"
81
+ },
82
+ children: t.title
83
+ })]
84
+ }), /* @__PURE__ */ s(e, {
85
+ component: "span",
86
+ sx: {
87
+ display: "flex",
88
+ alignItems: "center",
89
+ color: "var(--s-palette-text-secondary)",
90
+ transition: "transform 200ms ease",
91
+ transform: _ ? "rotate(0deg)" : "rotate(-90deg)"
92
+ },
93
+ children: /* @__PURE__ */ s(r, {})
94
+ })]
95
+ }), /* @__PURE__ */ s(i, {
96
+ in: _,
97
+ timeout: 200,
98
+ unmountOnExit: !0,
99
+ children: /* @__PURE__ */ s(e, {
100
+ sx: {
101
+ borderLeft: "2px solid var(--s-palette-divider)",
102
+ ml: f > 0 ? `${f * 16 + 12}px` : "12px",
103
+ mt: 1,
104
+ mb: 1,
105
+ pl: 1
106
+ },
107
+ children: /* @__PURE__ */ s(d, {
108
+ items: t.items,
109
+ pathname: u,
110
+ depth: f + 1,
111
+ component: p
112
+ })
113
+ })
114
+ })]
115
+ });
116
+ }
117
+ u.displayName = "SNavGroupItem";
118
+ function d({ items: e, pathname: n = "", depth: r = 0, component: i }) {
119
+ return /* @__PURE__ */ s(t, {
120
+ component: "ul",
121
+ spacing: 1,
122
+ sx: {
123
+ listStyle: "none",
124
+ m: 0,
125
+ p: 0
126
+ },
127
+ children: e.map((e) => /* @__PURE__ */ s(u, {
128
+ item: e,
129
+ pathname: n,
130
+ depth: r,
131
+ component: i
132
+ }, e.key))
133
+ });
134
+ }
135
+ d.displayName = "SNavItems";
136
+ //#endregion
137
+ export { u as SNavGroupItem, d as SNavItems };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-review-BC1lHIm6.js";
2
+ import { t as e } from "../s-review-BMbUNSZR.js";
3
3
  export { e as SReview, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-review-BC1lHIm6.js";
2
+ import { t as e } from "../s-review-BMbUNSZR.js";
3
3
  export { e as SReview, e as default };
@@ -1,5 +1,5 @@
1
1
  import { i as e } from "./utils-CKGB5_56.js";
2
- import { t } from "./createSvgIcon-CMGRw0Lo.js";
2
+ import { t } from "./createSvgIcon-BfZYaiXo.js";
3
3
  import n from "./s-lazy-image/s-lazy-image.js";
4
4
  import { SSkeleton as r } from "./s-skeleton/s-skeleton.js";
5
5
  import { SAvatar as i } from "./s-avatar/s-avatar.js";
@@ -1,7 +1,7 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
2
  import { t as e } from "../Box-BQIZeo25.js";
3
3
  import { t } from "../styled-C0_N3zFx.js";
4
- import { t as n } from "../ArrowUpward-BPZzNgi2.js";
4
+ import { t as n } from "../ArrowUpward-O4lRvSII.js";
5
5
  import { useIsPassedPosition as r } from "../hooks/use-is-passed-position.js";
6
6
  import i from "react";
7
7
  import { jsx as a } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-select-C21R0N2u.js";
2
+ import { t as e } from "../s-select-GRyyPITy.js";
3
3
  export { e as SSelect, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-select-C21R0N2u.js";
2
+ import { t as e } from "../s-select-GRyyPITy.js";
3
3
  export { e as SSelect, e as default };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createSvgIcon-CMGRw0Lo.js";
1
+ import { t as e } from "./createSvgIcon-BfZYaiXo.js";
2
2
  import { SForm as t } from "./s-form/s-form.js";
3
3
  import { forwardRef as n, useState as r } from "react";
4
4
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-text-field-D1IehXqm.js";
2
+ import { t as e } from "../s-text-field-UI_UjTUa.js";
3
3
  import t from "./stripe-input.js";
4
4
  import { jsx as n } from "react/jsx-runtime";
5
5
  //#region lib/s-stripe/s-stripe.tsx
@@ -1,4 +1,4 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-text-editor-toolbar-Cryg0LAh.js";
2
+ import { t as e } from "../s-text-editor-toolbar-DSjX1GXv.js";
3
3
  import { STextEditor as t } from "./s-text-editor.js";
4
4
  export { t as STextEditor, t as default, e as STextEditorToolbar };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-text-editor-toolbar-Cryg0LAh.js";
2
+ import { t as e } from "../s-text-editor-toolbar-DSjX1GXv.js";
3
3
  export { e as STextEditorToolbar };
@@ -1,6 +1,6 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
2
  import { t as e } from "../Box-BQIZeo25.js";
3
- import { t } from "../s-text-editor-toolbar-Cryg0LAh.js";
3
+ import { t } from "../s-text-editor-toolbar-DSjX1GXv.js";
4
4
  import * as n from "react";
5
5
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  import { Link as a } from "@tiptap/extension-link";
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./Stack-BrIUVvqB.js";
2
- import { o as t } from "./Menu-C1gbagw8.js";
3
- import { i as n, s as r, t as i } from "./Select-DdIw08Ux.js";
4
- import { t as a } from "./createSvgIcon-CMGRw0Lo.js";
5
- import { t as o } from "./s-text-field-D1IehXqm.js";
2
+ import { o as t } from "./Menu-CGfkgDXQ.js";
3
+ import { i as n, s as r, t as i } from "./Select-BrRoHcey.js";
4
+ import { t as a } from "./createSvgIcon-BfZYaiXo.js";
5
+ import { t as o } from "./s-text-field-UI_UjTUa.js";
6
6
  import * as s from "react";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
8
  import { MenuItem as u } from "@mui/material";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-text-field-D1IehXqm.js";
2
+ import { t as e } from "../s-text-field-UI_UjTUa.js";
3
3
  export { e as STextField, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-text-field-D1IehXqm.js";
2
+ import { t as e } from "../s-text-field-UI_UjTUa.js";
3
3
  export { e as STextField, e as default };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createSvgIcon-CMGRw0Lo.js";
1
+ import { t as e } from "./createSvgIcon-BfZYaiXo.js";
2
2
  import { SForm as t } from "./s-form/s-form.js";
3
3
  import { useState as n } from "react";
4
4
  import { jsx as r } from "react/jsx-runtime";
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-theme-demo-zAOHpUI7.js";
2
+ import { t as e } from "../s-theme-demo-D3IF6lkI.js";
3
3
  export { e as SThemeDemo, e as default };
@@ -1,3 +1,3 @@
1
1
  import "../createTheme-hnicUJQa.js";
2
- import { t as e } from "../s-theme-demo-zAOHpUI7.js";
2
+ import { t as e } from "../s-theme-demo-D3IF6lkI.js";
3
3
  export { e as default };
@@ -1,7 +1,7 @@
1
- import { t as e } from "./createSvgIcon-CMGRw0Lo.js";
2
- import { t } from "./s-theme-switch-B9r8_N1i.js";
3
- import { t as n } from "./Favorite-BVeoH6Jh.js";
4
- import { t as r } from "./s-text-field-D1IehXqm.js";
1
+ import { t as e } from "./createSvgIcon-BfZYaiXo.js";
2
+ import { t } from "./s-theme-switch-COBORL4a.js";
3
+ import { t as n } from "./Favorite-BwMGKQJf.js";
4
+ import { t as r } from "./s-text-field-UI_UjTUa.js";
5
5
  import { SForm as i } from "./s-form/s-form.js";
6
6
  import { SButton as a } from "./s-button/s-button.js";
7
7
  import * as o from "react";