@solostylist/ui-kit 1.0.225 → 1.0.226

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 (242) hide show
  1. package/dist/{ArrowUpward-BMKLosZj.js → ArrowUpward-DONVUi9Q.js} +1 -1
  2. package/dist/{ButtonBase-Bo6ysVGS.js → ButtonBase-BDefit5I.js} +100 -99
  3. package/dist/{ChevronRight-OLNOfW9P.js → ChevronRight-cBbrlMYh.js} +1 -1
  4. package/dist/{Close-Bj2HYB9Q.js → Close-DRS0T6Yu.js} +1 -1
  5. package/dist/{Collapse-CnXmaDqT.js → Collapse-Dtji6IrM.js} +4 -3
  6. package/dist/{ContentCopy-Br2p19dq.js → ContentCopy-C4mVqexq.js} +1 -1
  7. package/dist/{Download-BhSXOhCI.js → Download-D277qwl2.js} +1 -1
  8. package/dist/{ExpandMore-Bu7_1g6Q.js → ExpandMore-DIsT5FOp.js} +1 -1
  9. package/dist/{Favorite-BJSuHe0H.js → Favorite-CbvuQfe4.js} +1 -1
  10. package/dist/{FormControl-DYkaP-oD.js → FormControl-DMZWdEWz.js} +6 -6
  11. package/dist/{InfoOutlined-C1AW3f5V.js → InfoOutlined-BCzG-5py.js} +1 -1
  12. package/dist/{Menu-C-0KEauj.js → Menu-CbHevx8q.js} +20 -20
  13. package/dist/{MenuItem-DWivWkNb.js → MenuItem-CCClg9Si.js} +8 -8
  14. package/dist/{MenuList-5HOyYdgq.js → MenuList-5C2nFAWS.js} +45 -45
  15. package/dist/{Modal-C1VRVWBZ.js → Modal-Cu5Cgh-q.js} +109 -108
  16. package/dist/{Paper-BY4X6-u_.js → Paper-Cy7rReyx.js} +1 -1
  17. package/dist/{Typography-EsraKPZO.js → Typography-DqtTB0ZJ.js} +2 -2
  18. package/dist/{UnfoldMoreRounded-pz7NMMy3.js → UnfoldMoreRounded-Cbt8Oi8S.js} +1 -1
  19. package/dist/{autocomplete-qLj7AqcP.js → autocomplete-Du0flrk6.js} +1 -1
  20. package/dist/{avatar-BuMhUthq.js → avatar-DQtjHpOs.js} +2 -2
  21. package/dist/{checkbox-B95Vlykq.js → checkbox-BGA2cVbl.js} +17 -17
  22. package/dist/{createSvgIcon-BdNZIlKS.js → createSvgIcon-HW-tbFcL.js} +1 -1
  23. package/dist/{mergeSlotProps-DBBJwoun.js → mergeSlotProps-slENzJO5.js} +1 -1
  24. package/dist/monthCalendarClasses-C1jHkjgt.js +14 -0
  25. package/dist/s-accordion/index.js +1 -1
  26. package/dist/s-accordion/s-accordion.js +1 -1
  27. package/dist/{s-accordion-CXHBadZ_.js → s-accordion-D2VsBSgb.js} +7 -7
  28. package/dist/s-breadcrumbs/s-breadcrumbs.js +1 -1
  29. package/dist/s-carousel/index.js +1 -1
  30. package/dist/s-carousel/s-carousel.js +1 -1
  31. package/dist/{s-carousel-BUJYCigy.js → s-carousel-S6CRrrpW.js} +7 -9
  32. package/dist/s-category-card/s-category-card.js +0 -1
  33. package/dist/s-chat-input/index.js +1 -1
  34. package/dist/s-chat-input/s-chat-input.js +1 -1
  35. package/dist/s-chat-input-DNptuBb0.js +352 -0
  36. package/dist/s-chat-message/index.js +1 -1
  37. package/dist/s-chat-message/s-chat-message.js +1 -1
  38. package/dist/{s-chat-message-Cb1npIQO.js → s-chat-message-Bsvsh45G.js} +4 -6
  39. package/dist/s-chips/index.js +1 -1
  40. package/dist/s-chips/s-chips.js +1 -1
  41. package/dist/{s-chips-DelHx6zM.js → s-chips-CH0zKaz-.js} +1 -1
  42. package/dist/s-code-block/index.js +1 -1
  43. package/dist/s-code-block/s-code-block.js +1 -1
  44. package/dist/{s-code-block-sjt0AQb_.js → s-code-block-ByNQ4Zq5.js} +1 -1
  45. package/dist/s-comment-message/index.js +1 -1
  46. package/dist/s-comment-message/s-comment-message.js +1 -1
  47. package/dist/{s-comment-message-DzjXXLZQ.js → s-comment-message-DF580Qxk.js} +13 -19
  48. package/dist/s-copyable-text/s-copyable-text.js +1 -1
  49. package/dist/s-data-table/index.js +1 -1
  50. package/dist/s-data-table/s-data-table.js +1 -1
  51. package/dist/{s-data-table-TrCdKq9r.js → s-data-table-B8llaX-A.js} +9 -9
  52. package/dist/s-date-picker/index.js +1 -1
  53. package/dist/s-date-picker/picker-action-bar.d.ts +12 -0
  54. package/dist/s-date-picker/picker-action-bar.js +52 -0
  55. package/dist/s-date-picker/s-date-picker.d.ts +1 -4
  56. package/dist/s-date-picker/s-date-picker.js +1 -1
  57. package/dist/s-date-picker-CLncO3oo.js +640 -0
  58. package/dist/s-datetime-picker/index.js +1 -1
  59. package/dist/s-datetime-picker/s-datetime-picker.d.ts +1 -4
  60. package/dist/s-datetime-picker/s-datetime-picker.js +1 -1
  61. package/dist/{s-datetime-picker-rCWovez1.js → s-datetime-picker-Dy1fX3rI.js} +806 -799
  62. package/dist/s-dialog/s-dialog.js +2 -3
  63. package/dist/s-dialog-confirm/s-dialog-confirm.js +3 -4
  64. package/dist/s-dialog-message/s-dialog-message.js +3 -4
  65. package/dist/s-empty/s-empty.js +2 -5
  66. package/dist/s-error/s-error.js +1 -1
  67. package/dist/s-error-layout/s-error-layout.d.ts +1 -1
  68. package/dist/s-error-layout/s-error-layout.js +3 -2
  69. package/dist/s-file-dropzone/index.js +1 -1
  70. package/dist/s-file-dropzone/s-file-dropzone.d.ts +1 -4
  71. package/dist/s-file-dropzone/s-file-dropzone.js +1 -1
  72. package/dist/{s-file-dropzone-oaQoRV92.js → s-file-dropzone-CbaOf3_3.js} +47 -42
  73. package/dist/s-gallery/gallery-grid-item.d.ts +17 -0
  74. package/dist/s-gallery/gallery-grid-item.js +112 -0
  75. package/dist/s-gallery/gallery-layout.d.ts +16 -0
  76. package/dist/s-gallery/gallery-layout.js +50 -0
  77. package/dist/s-gallery/gallery-media-item.d.ts +15 -0
  78. package/dist/s-gallery/gallery-media-item.js +112 -0
  79. package/dist/s-gallery/index.d.ts +5 -2
  80. package/dist/s-gallery/index.js +2 -1
  81. package/dist/s-gallery/s-gallery.d.ts +1 -17
  82. package/dist/s-gallery/s-gallery.js +38 -284
  83. package/dist/s-image-comparison/s-image-comparison.js +46 -42
  84. package/dist/s-image-modal/default-media-item.d.ts +9 -0
  85. package/dist/s-image-modal/default-media-item.js +34 -0
  86. package/dist/s-image-modal/image-modal-thumbnail-dock.d.ts +11 -0
  87. package/dist/s-image-modal/image-modal-thumbnail-dock.js +102 -0
  88. package/dist/s-image-modal/index.d.ts +2 -2
  89. package/dist/s-image-modal/index.js +2 -1
  90. package/dist/s-image-modal/s-image-modal.d.ts +1 -58
  91. package/dist/s-image-modal/s-image-modal.js +2 -2
  92. package/dist/s-image-modal/types.d.ts +52 -0
  93. package/dist/s-image-modal/types.js +0 -0
  94. package/dist/s-image-modal/use-image-modal-navigation.d.ts +29 -0
  95. package/dist/s-image-modal/use-image-modal-navigation.js +57 -0
  96. package/dist/s-image-modal-hhRD4727.js +243 -0
  97. package/dist/s-label/s-label.js +1 -1
  98. package/dist/s-language-switcher/index.js +1 -1
  99. package/dist/s-language-switcher/s-language-switcher.js +1 -1
  100. package/dist/{s-language-switcher-vievp2VS.js → s-language-switcher-BKK0r8Kh.js} +4 -4
  101. package/dist/s-localization-provider/index.js +1 -1
  102. package/dist/s-localization-provider/s-localization-provider.js +1 -1
  103. package/dist/{s-localization-provider-YCsec18c.js → s-localization-provider-DDO9UEu_.js} +4 -4
  104. package/dist/s-nav-item/s-nav-item.js +1 -1
  105. package/dist/s-nav-items/s-nav-items.js +4 -7
  106. package/dist/s-pagination/s-pagination.js +12 -15
  107. package/dist/s-review/index.js +1 -1
  108. package/dist/s-review/s-review.js +1 -1
  109. package/dist/{s-review-DjvDY-h4.js → s-review-f0OI1oqM.js} +18 -27
  110. package/dist/s-scroll-reveal/s-scroll-reveal.js +1 -1
  111. package/dist/s-scroll-to-top/s-scroll-to-top.js +1 -1
  112. package/dist/s-select/index.js +1 -1
  113. package/dist/s-select/s-select.js +1 -1
  114. package/dist/{s-select-B-dEcddK.js → s-select-BqWS_5Bs.js} +1 -1
  115. package/dist/s-select-list/s-select-list.js +2 -11
  116. package/dist/s-spotlight-cursor/s-spotlight-cursor.js +23 -15
  117. package/dist/s-stripe/s-stripe-cvc.d.ts +1 -5
  118. package/dist/s-stripe/s-stripe-cvc.js +11 -11
  119. package/dist/s-stripe/s-stripe-expiry.d.ts +1 -5
  120. package/dist/s-stripe/s-stripe-expiry.js +11 -11
  121. package/dist/s-stripe/s-stripe-number.d.ts +1 -5
  122. package/dist/s-stripe/s-stripe-number.js +11 -11
  123. package/dist/s-stripe/s-stripe.d.ts +11 -4
  124. package/dist/s-stripe/s-stripe.js +19 -17
  125. package/dist/s-stripe/stripe-input.js +41 -32
  126. package/dist/s-text-editor/index.js +1 -1
  127. package/dist/s-text-editor/s-text-editor-toolbar.js +1 -1
  128. package/dist/s-text-editor/s-text-editor.d.ts +1 -4
  129. package/dist/s-text-editor/s-text-editor.js +21 -24
  130. package/dist/{s-text-editor-toolbar-DP0MkICo.js → s-text-editor-toolbar-DrQ8v-4J.js} +45 -44
  131. package/dist/s-text-field/index.js +1 -1
  132. package/dist/s-text-field/s-text-field.d.ts +1 -4
  133. package/dist/s-text-field/s-text-field.js +1 -1
  134. package/dist/{s-text-field-GqcwXwta.js → s-text-field-DLSDoq7u.js} +20 -19
  135. package/dist/s-theme-demo/index.js +1 -1
  136. package/dist/s-theme-demo/s-theme-demo.js +1 -1
  137. package/dist/{s-theme-demo-BpeyFRKt.js → s-theme-demo-DeY0K6MC.js} +4 -4
  138. package/dist/s-theme-provider/s-theme-provider.js +26 -25
  139. package/dist/s-theme-switch/index.js +1 -1
  140. package/dist/s-theme-switch/s-theme-switch.js +1 -1
  141. package/dist/{s-theme-switch-V3Q58mkG.js → s-theme-switch-B0KHb2wu.js} +1 -1
  142. package/dist/s-tip/index.js +1 -1
  143. package/dist/s-tip/s-tip.js +1 -1
  144. package/dist/{s-tip-Dwu5T2u0.js → s-tip-Beuy9MLR.js} +2 -2
  145. package/dist/s-tool-bar/index.d.ts +1 -1
  146. package/dist/s-tool-bar/index.js +1 -1
  147. package/dist/s-tool-bar/s-tool-bar.d.ts +1 -155
  148. package/dist/s-tool-bar/s-tool-bar.js +114 -2
  149. package/dist/s-tool-bar/tool-bar-action-buttons.d.ts +15 -0
  150. package/dist/s-tool-bar/tool-bar-action-buttons.js +2 -0
  151. package/dist/s-tool-bar/tool-bar-image-input.d.ts +8 -0
  152. package/dist/s-tool-bar/tool-bar-image-input.js +2 -0
  153. package/dist/s-tool-bar/tool-bar-inputs.d.ts +3 -0
  154. package/dist/s-tool-bar/tool-bar-inputs.js +139 -0
  155. package/dist/s-tool-bar/types.d.ts +170 -0
  156. package/dist/s-tool-bar/types.js +0 -0
  157. package/dist/s-tool-bar/utils.d.ts +10 -0
  158. package/dist/s-tool-bar/utils.js +22 -0
  159. package/dist/theme/components/accordion-summary.js +2 -2
  160. package/dist/theme/components/accordion.js +1 -1
  161. package/dist/theme/components/alert.d.ts +1 -1
  162. package/dist/theme/components/alert.js +1 -1
  163. package/dist/theme/components/autocomplete.js +1 -1
  164. package/dist/theme/components/avatar.d.ts +10 -1
  165. package/dist/theme/components/avatar.js +1 -1
  166. package/dist/theme/components/card.js +4 -4
  167. package/dist/theme/components/checkbox.js +1 -1
  168. package/dist/theme/components/chip.js +17 -6
  169. package/dist/theme/components/components.js +134 -118
  170. package/dist/theme/components/date-calendar.d.ts +13 -0
  171. package/dist/theme/components/date-calendar.js +7 -0
  172. package/dist/theme/components/day-calendar.d.ts +14 -1
  173. package/dist/theme/components/day-calendar.js +14 -1
  174. package/dist/theme/components/dialog-actions.js +1 -1
  175. package/dist/theme/components/dialog-content.d.ts +13 -0
  176. package/dist/theme/components/dialog-content.js +7 -0
  177. package/dist/theme/components/dialog-title.d.ts +21 -0
  178. package/dist/theme/components/dialog-title.js +7 -0
  179. package/dist/theme/components/form-label.js +1 -1
  180. package/dist/theme/components/icon-button.d.ts +5 -1
  181. package/dist/theme/components/icon-button.js +18 -24
  182. package/dist/theme/components/linear-progress.js +2 -2
  183. package/dist/theme/components/link.d.ts +1 -1
  184. package/dist/theme/components/link.js +2 -2
  185. package/dist/theme/components/list-item-button.js +2 -2
  186. package/dist/theme/components/list-item.js +3 -3
  187. package/dist/theme/components/month-calendar.d.ts +27 -0
  188. package/dist/theme/components/month-calendar.js +14 -0
  189. package/dist/theme/components/multi-section-digital-clock-section.js +25 -0
  190. package/dist/theme/components/outlined-input.js +6 -6
  191. package/dist/theme/components/picker-day.d.ts +16 -2
  192. package/dist/theme/components/picker-day.js +13 -1
  193. package/dist/theme/components/pickers-arrow-switcher.d.ts +12 -0
  194. package/dist/theme/components/pickers-arrow-switcher.js +4 -0
  195. package/dist/theme/components/pickers-calendar-header.d.ts +38 -0
  196. package/dist/theme/components/pickers-calendar-header.js +24 -0
  197. package/dist/theme/components/select.js +2 -2
  198. package/dist/theme/components/slider.d.ts +29 -2
  199. package/dist/theme/components/slider.js +14 -2
  200. package/dist/theme/components/step-connector.d.ts +1 -1
  201. package/dist/theme/components/step-connector.js +1 -1
  202. package/dist/theme/components/step-icon.js +1 -1
  203. package/dist/theme/components/tab.js +1 -1
  204. package/dist/theme/components/table-pagination.js +1 -1
  205. package/dist/theme/components/toggle-button-group.js +1 -1
  206. package/dist/theme/components/toggle-button.js +1 -1
  207. package/dist/theme/components/year-calendar.d.ts +36 -0
  208. package/dist/theme/components/year-calendar.js +17 -0
  209. package/dist/theme/theme-primitives.d.ts +36 -0
  210. package/dist/theme/theme-primitives.js +2 -2
  211. package/dist/{theme-primitives-D2vHHGiX.js → theme-primitives-7ruiI7gY.js} +10 -3
  212. package/dist/{toggle-button-group-ABwIhV4P.js → toggle-button-group-Dx9fvVok.js} +4 -4
  213. package/dist/{toggle-button-BUsRxHn0.js → toggle-button-j6VLaPoa.js} +3 -3
  214. package/dist/tool-bar-action-buttons-B4QhqdK_.js +50 -0
  215. package/dist/tool-bar-image-input-BKFAtyJ1.js +138 -0
  216. package/dist/{useControlled-DXKqhylj.js → useControlled-BtZNCHV0.js} +1 -1
  217. package/dist/useForkRef-yOYCJHzF.js +29 -0
  218. package/dist/{useMobilePicker-ujH2nH2-.js → useMobilePicker-C8toWhEP.js} +7657 -7674
  219. package/dist/{useSlot-Dkc1Mj31.js → useSlot-IwEDsR9t.js} +107 -133
  220. package/dist/{utils-CCnIUPad.js → utils-CU6O7jrX.js} +5 -5
  221. package/dist/{LocalizationProvider-BdaUKqz3.js → warning-CFMmJJnf.js} +51 -51
  222. package/dist/yearCalendarClasses-DypEe_Vn.js +14 -0
  223. package/package.json +1 -1
  224. package/dist/s-chat-input-cOCqPTUS.js +0 -299
  225. package/dist/s-date-picker-BkZIEZoz.js +0 -634
  226. package/dist/s-image-modal-Za71QD3d.js +0 -397
  227. package/dist/s-tool-bar-DaZ2wT09.js +0 -454
  228. /package/dist/{buttonBaseClasses-BLZbMisL.js → buttonBaseClasses-BVDyR-hz.js} +0 -0
  229. /package/dist/{checkboxClasses-DSyvUOsN.js → checkboxClasses-DPzQcJz-.js} +0 -0
  230. /package/dist/{createSimplePaletteValueFilter-GHK52GLU.js → createSimplePaletteValueFilter-5v48HHyU.js} +0 -0
  231. /package/dist/{extends-D8CDMpIy.js → extends-DM-C9PwL.js} +0 -0
  232. /package/dist/{formLabelClasses-Cv7W0Roi.js → formLabelClasses-BfRVjiBm.js} +0 -0
  233. /package/dist/{iconButtonClasses-9jjSQ9-U.js → iconButtonClasses-LyjwljJq.js} +0 -0
  234. /package/dist/{inputAdornmentClasses-VKwluNTs.js → inputAdornmentClasses-DHmz00nZ.js} +0 -0
  235. /package/dist/{objectWithoutPropertiesLoose-BpY-kC5L.js → objectWithoutPropertiesLoose-kj3TmhoA.js} +0 -0
  236. /package/dist/{outlinedInputClasses-Cz4pnn0X.js → outlinedInputClasses-Z5R6RJE3.js} +0 -0
  237. /package/dist/{selectClasses-DvT1febA.js → selectClasses-vjNpSSyQ.js} +0 -0
  238. /package/dist/{svgIconClasses-D46YUMKp.js → svgIconClasses-BtHvkhy5.js} +0 -0
  239. /package/dist/{tabClasses-KqPlYv0c.js → tabClasses-CmFw6sbs.js} +0 -0
  240. /package/dist/{typographyClasses-CFf0OFiD.js → typographyClasses-CspzYrIn.js} +0 -0
  241. /package/dist/{useControlled-2-C6cXjG.js → useControlled-DuSwFVhD.js} +0 -0
  242. /package/dist/{useFormControl-B4z6ONhx.js → useFormControl-bYnTwZE5.js} +0 -0
@@ -0,0 +1,102 @@
1
+ import { n as e } from "../theme-primitives-7ruiI7gY.js";
2
+ import { DefaultMediaItem as t } from "./default-media-item.js";
3
+ import "react";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ import { Box as i, Paper as a, Stack as o } from "@mui/material";
6
+ import { motion as s } from "framer-motion";
7
+ //#region lib/s-image-modal/image-modal-thumbnail-dock.tsx
8
+ var c = ({ mediaItems: c, selectedItem: l, onSelect: u, renderMediaItem: d }) => /* @__PURE__ */ n(i, {
9
+ sx: {
10
+ position: "fixed",
11
+ zIndex: 1502,
12
+ left: "50%",
13
+ bottom: 16,
14
+ transform: "translateX(-50%)"
15
+ },
16
+ children: /* @__PURE__ */ n(a, {
17
+ sx: {
18
+ position: "relative",
19
+ borderRadius: 1,
20
+ bgcolor: "background.paper",
21
+ border: "1px solid",
22
+ borderColor: "divider",
23
+ backdropFilter: "blur(12px)",
24
+ px: 1.5,
25
+ py: 1
26
+ },
27
+ children: /* @__PURE__ */ n(o, {
28
+ direction: "row",
29
+ spacing: -1.5,
30
+ sx: { alignItems: "center" },
31
+ children: c.map((a, o) => {
32
+ let f = l.id === a.id, p = o % 2 == 0 ? -15 : 15, m = () => u(a);
33
+ return /* @__PURE__ */ r(s.div, {
34
+ onClick: (e) => {
35
+ e.stopPropagation(), m();
36
+ },
37
+ style: {
38
+ position: "relative",
39
+ width: 40,
40
+ height: 40,
41
+ borderRadius: e.md,
42
+ overflow: "hidden",
43
+ flexShrink: 0,
44
+ zIndex: f ? 30 : c.length - o,
45
+ border: f ? "1px solid" : void 0,
46
+ borderColor: f ? "divider" : void 0,
47
+ cursor: "pointer"
48
+ },
49
+ initial: { rotate: p },
50
+ animate: {
51
+ scale: f ? 1.2 : 1,
52
+ rotate: f ? 0 : p,
53
+ y: f ? -8 : 0
54
+ },
55
+ whileHover: {
56
+ scale: 1.3,
57
+ rotate: 0,
58
+ y: -10,
59
+ transition: {
60
+ type: "spring",
61
+ stiffness: 400,
62
+ damping: 25
63
+ }
64
+ },
65
+ children: [
66
+ d ? d(a, m) : /* @__PURE__ */ n(t, {
67
+ item: a,
68
+ objectFit: "cover",
69
+ style: {
70
+ width: "100%",
71
+ height: "100%",
72
+ borderRadius: e.none,
73
+ pointerEvents: a.type === "video" ? "none" : "auto"
74
+ },
75
+ disableVideoControls: !0
76
+ }),
77
+ /* @__PURE__ */ n(i, { sx: {
78
+ position: "absolute",
79
+ inset: 0,
80
+ background: (e) => `linear-gradient(to bottom, transparent, ${(e.vars ?? e).palette.action.hover}, ${(e.vars ?? e).palette.action.selected})`,
81
+ pointerEvents: "none"
82
+ } }),
83
+ f && /* @__PURE__ */ n(s.div, {
84
+ layoutId: "activeGlow",
85
+ style: {
86
+ position: "absolute",
87
+ inset: -8,
88
+ background: "primary.main",
89
+ filter: "blur(16px)"
90
+ },
91
+ initial: { opacity: 0 },
92
+ animate: { opacity: 1 },
93
+ transition: { duration: .2 }
94
+ })
95
+ ]
96
+ }, a.id);
97
+ })
98
+ })
99
+ })
100
+ });
101
+ //#endregion
102
+ export { c as ImageModalThumbnailDock };
@@ -1,3 +1,3 @@
1
1
  export { default, default as SImageModal } from './s-image-modal';
2
- export type { SImageModalProps, MediaItemType } from './s-image-modal';
3
- export { DefaultMediaItem } from './s-image-modal';
2
+ export type { SImageModalProps, MediaItemType } from './types';
3
+ export { DefaultMediaItem } from './default-media-item';
@@ -1,2 +1,3 @@
1
- import { n as e, t } from "../s-image-modal-Za71QD3d.js";
1
+ import { t as e } from "../s-image-modal-hhRD4727.js";
2
+ import { DefaultMediaItem as t } from "./default-media-item.js";
2
3
  export { t as DefaultMediaItem, e as SImageModal, e as default };
@@ -1,61 +1,4 @@
1
1
  import { default as React } from 'react';
2
- import { ModalProps } from '@mui/material';
3
- /**
4
- * Interface for individual media items (images/videos) in the modal
5
- */
6
- export interface MediaItemType {
7
- /** Unique identifier for the media item */
8
- id: string;
9
- /** Type of media ('image' or 'video') */
10
- type: string;
11
- /** Optional title displayed in overlays */
12
- title?: string;
13
- /** Optional description displayed in overlays */
14
- desc?: string;
15
- /** URL source for the media */
16
- url: string;
17
- /** Grid column span for layout (defaults to 1) */
18
- colSpan?: number;
19
- /** Grid row span for layout (defaults to 2) */
20
- rowSpan?: number;
21
- }
22
- /**
23
- * Props for SImageModal component
24
- */
25
- export interface SImageModalProps {
26
- /** Currently selected media item to display */
27
- selectedItem?: MediaItemType | null;
28
- /** Whether the modal is open */
29
- isOpen: boolean;
30
- /** Function to close the modal */
31
- onClose: () => void;
32
- /** Function to change the selected item (for navigation) */
33
- onItemChange?: (item: MediaItemType) => void;
34
- /** Array of all media items for navigation (optional - if provided, enables prev/next navigation) */
35
- mediaItems?: MediaItemType[];
36
- /** Custom component to render media items */
37
- renderMediaItem?: (item: MediaItemType, onClick?: () => void) => React.ReactNode;
38
- /** Whether to show navigation arrows */
39
- showNavigation?: boolean;
40
- /** Whether to show the thumbnail dock */
41
- showThumbnailDock?: boolean;
42
- /** Whether to show the item counter */
43
- showCounter?: boolean;
44
- /** Custom modal styling */
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;
52
- }
53
- export declare const DefaultMediaItem: React.FC<{
54
- item: MediaItemType;
55
- onClick?: () => void;
56
- style?: React.CSSProperties;
57
- objectFit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
58
- disableVideoControls?: boolean;
59
- }>;
2
+ import { SImageModalProps } from './types';
60
3
  export declare const SImageModal: React.FC<SImageModalProps>;
61
4
  export default SImageModal;
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../s-image-modal-Za71QD3d.js";
2
- export { t as DefaultMediaItem, e as SImageModal, e as default };
1
+ import { t as e } from "../s-image-modal-hhRD4727.js";
2
+ export { e as SImageModal, e as default };
@@ -0,0 +1,52 @@
1
+ import { default as React } from 'react';
2
+ import { ModalProps } from '@mui/material';
3
+ /**
4
+ * Interface for individual media items (images/videos) in the modal
5
+ */
6
+ export interface MediaItemType {
7
+ /** Unique identifier for the media item */
8
+ id: string;
9
+ /** Type of media ('image' or 'video') */
10
+ type: string;
11
+ /** Optional title displayed in overlays */
12
+ title?: string;
13
+ /** Optional description displayed in overlays */
14
+ desc?: string;
15
+ /** URL source for the media */
16
+ url: string;
17
+ /** Grid column span for layout (defaults to 1) */
18
+ colSpan?: number;
19
+ /** Grid row span for layout (defaults to 2) */
20
+ rowSpan?: number;
21
+ }
22
+ /**
23
+ * Props for SImageModal component
24
+ */
25
+ export interface SImageModalProps {
26
+ /** Currently selected media item to display */
27
+ selectedItem?: MediaItemType | null;
28
+ /** Whether the modal is open */
29
+ isOpen: boolean;
30
+ /** Function to close the modal */
31
+ onClose: () => void;
32
+ /** Function to change the selected item (for navigation) */
33
+ onItemChange?: (item: MediaItemType) => void;
34
+ /** Array of all media items for navigation (optional - if provided, enables prev/next navigation) */
35
+ mediaItems?: MediaItemType[];
36
+ /** Custom component to render media items */
37
+ renderMediaItem?: (item: MediaItemType, onClick?: () => void) => React.ReactNode;
38
+ /** Whether to show navigation arrows */
39
+ showNavigation?: boolean;
40
+ /** Whether to show the thumbnail dock */
41
+ showThumbnailDock?: boolean;
42
+ /** Whether to show the item counter */
43
+ showCounter?: boolean;
44
+ /** Custom modal styling */
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;
52
+ }
File without changes
@@ -0,0 +1,29 @@
1
+ import { MediaItemType } from './types';
2
+ interface UseImageModalNavigationParams {
3
+ /** Currently selected media item (controlled) */
4
+ selectedItem?: MediaItemType | null;
5
+ /** Whether the modal is open */
6
+ isOpen: boolean;
7
+ /** Function to close the modal */
8
+ onClose: () => void;
9
+ /** Function to change the selected item (for controlled navigation) */
10
+ onItemChange?: (item: MediaItemType) => void;
11
+ /** Array of all media items for navigation */
12
+ mediaItems: MediaItemType[];
13
+ /** Whether navigation is enabled */
14
+ showNavigation: boolean;
15
+ }
16
+ /**
17
+ * Encapsulates the selection state and prev/next/keyboard navigation of SImageModal.
18
+ * Falls back to internal state when `onItemChange` is not provided (uncontrolled mode).
19
+ */
20
+ export declare function useImageModalNavigation({ selectedItem, isOpen, onClose, onItemChange, mediaItems, showNavigation, }: UseImageModalNavigationParams): {
21
+ currentSelectedItem: MediaItemType | null;
22
+ navigationEnabled: boolean;
23
+ currentIndex: number;
24
+ totalItems: number;
25
+ selectItem: (item: MediaItemType) => void;
26
+ goToPrevious: () => void;
27
+ goToNext: () => void;
28
+ };
29
+ export {};
@@ -0,0 +1,57 @@
1
+ import { useCallback as e, useEffect as t, useState as n } from "react";
2
+ //#region lib/s-image-modal/use-image-modal-navigation.ts
3
+ function r({ selectedItem: r, isOpen: i, onClose: a, onItemChange: o, mediaItems: s, showNavigation: c }) {
4
+ let [l, u] = n(r ?? null), d = r ?? l;
5
+ t(() => {
6
+ r && u(r);
7
+ }, [r]);
8
+ let f = !!(c && s.length > 1 && d), p = d ? s.findIndex((e) => e.id === d.id) : -1, m = s.length, h = e((e) => {
9
+ o ? o(e) : u(e);
10
+ }, [o]), g = e(() => {
11
+ f && p > 0 && h(s[p - 1]);
12
+ }, [
13
+ f,
14
+ p,
15
+ s,
16
+ h
17
+ ]), _ = e(() => {
18
+ f && p < m - 1 && h(s[p + 1]);
19
+ }, [
20
+ f,
21
+ p,
22
+ m,
23
+ s,
24
+ h
25
+ ]);
26
+ return t(() => {
27
+ let e = (e) => {
28
+ if (i) switch (e.key) {
29
+ case "ArrowLeft":
30
+ g();
31
+ break;
32
+ case "ArrowRight":
33
+ _();
34
+ break;
35
+ case "Escape":
36
+ a();
37
+ break;
38
+ }
39
+ };
40
+ return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
41
+ }, [
42
+ i,
43
+ g,
44
+ _,
45
+ a
46
+ ]), {
47
+ currentSelectedItem: d,
48
+ navigationEnabled: f,
49
+ currentIndex: p,
50
+ totalItems: m,
51
+ selectItem: h,
52
+ goToPrevious: g,
53
+ goToNext: _
54
+ };
55
+ }
56
+ //#endregion
57
+ export { r as useImageModalNavigation };
@@ -0,0 +1,243 @@
1
+ import { t as e } from "./createSvgIcon-HW-tbFcL.js";
2
+ import { t } from "./ChevronRight-cBbrlMYh.js";
3
+ import { t as n } from "./Close-DRS0T6Yu.js";
4
+ import { DefaultMediaItem as r } from "./s-image-modal/default-media-item.js";
5
+ import { ImageModalThumbnailDock as i } from "./s-image-modal/image-modal-thumbnail-dock.js";
6
+ import { useImageModalNavigation as a } from "./s-image-modal/use-image-modal-navigation.js";
7
+ import "react";
8
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ import { Box as l, IconButton as u, Modal as d, Paper as f, Typography as p } from "@mui/material";
10
+ import { AnimatePresence as m, motion as h } from "framer-motion";
11
+ //#region ../../node_modules/@mui/icons-material/ChevronLeft.mjs
12
+ var g = e(/* @__PURE__ */ s("path", { d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z" }), "ChevronLeft"), _ = ({ selectedItem: e, isOpen: _, onClose: v, onItemChange: y, mediaItems: b = [], renderMediaItem: x, showNavigation: S = !0, showThumbnailDock: C = !0, showCounter: w = !0, modalSx: T = {}, closeText: E = "Close", previousText: D = "Previous image", nextText: O = "Next image" }) => {
13
+ let { currentSelectedItem: k, navigationEnabled: A, currentIndex: j, totalItems: M, selectItem: N, goToPrevious: P, goToNext: F } = a({
14
+ selectedItem: e,
15
+ isOpen: _,
16
+ onClose: v,
17
+ onItemChange: y,
18
+ mediaItems: b,
19
+ showNavigation: S
20
+ });
21
+ return !_ || !k ? null : /* @__PURE__ */ s(d, {
22
+ open: _,
23
+ onClose: v,
24
+ sx: {
25
+ zIndex: (e) => e.zIndex.modal + 100,
26
+ ...T
27
+ },
28
+ slotProps: { backdrop: { sx: {
29
+ backdropFilter: "blur(8px)",
30
+ zIndex: (e) => e.zIndex.modal + 99
31
+ } } },
32
+ children: /* @__PURE__ */ c(l, { children: [/* @__PURE__ */ s(h.div, {
33
+ initial: { scale: .98 },
34
+ animate: { scale: 1 },
35
+ exit: { scale: .98 },
36
+ transition: {
37
+ type: "spring",
38
+ stiffness: 400,
39
+ damping: 30
40
+ },
41
+ children: /* @__PURE__ */ c(f, {
42
+ sx: {
43
+ position: "fixed",
44
+ inset: 0,
45
+ width: "100%",
46
+ minHeight: "100vh",
47
+ borderRadius: 0,
48
+ overflow: "hidden",
49
+ zIndex: (e) => e.zIndex.modal + 101
50
+ },
51
+ children: [
52
+ /* @__PURE__ */ s(l, {
53
+ sx: {
54
+ height: "100%",
55
+ display: "flex",
56
+ flexDirection: "column"
57
+ },
58
+ children: /* @__PURE__ */ s(l, {
59
+ sx: {
60
+ flex: 1,
61
+ p: {
62
+ xs: 1,
63
+ sm: 2,
64
+ md: 3
65
+ },
66
+ display: "flex",
67
+ alignItems: "center",
68
+ justifyContent: "center",
69
+ bgcolor: "background.default"
70
+ },
71
+ children: /* @__PURE__ */ s(m, {
72
+ mode: "wait",
73
+ children: /* @__PURE__ */ s(h.div, {
74
+ style: { position: "relative" },
75
+ initial: {
76
+ y: 20,
77
+ scale: .97
78
+ },
79
+ animate: {
80
+ y: 0,
81
+ scale: 1,
82
+ transition: {
83
+ type: "spring",
84
+ stiffness: 500,
85
+ damping: 30,
86
+ mass: .5
87
+ }
88
+ },
89
+ exit: {
90
+ y: 20,
91
+ scale: .97,
92
+ transition: { duration: .15 }
93
+ },
94
+ children: /* @__PURE__ */ c(f, {
95
+ onClick: (e) => e.stopPropagation(),
96
+ sx: {
97
+ position: "relative",
98
+ width: "100%",
99
+ aspectRatio: "16 / 9",
100
+ maxWidth: {
101
+ xs: "95%",
102
+ sm: "85%",
103
+ md: 960
104
+ },
105
+ height: "70vh",
106
+ borderRadius: 1,
107
+ border: "1px solid",
108
+ borderColor: "divider",
109
+ overflow: "hidden"
110
+ },
111
+ children: [x ? x(k) : /* @__PURE__ */ s(r, { item: k }), (k.title || k.desc) && /* @__PURE__ */ c(l, {
112
+ sx: {
113
+ position: "absolute",
114
+ left: 0,
115
+ right: 0,
116
+ bottom: 0,
117
+ p: {
118
+ xs: 1.5,
119
+ sm: 2,
120
+ md: 3
121
+ },
122
+ color: "common.white",
123
+ background: "linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.35) 45%, transparent)"
124
+ },
125
+ onClick: (e) => e.stopPropagation(),
126
+ children: [k.title && /* @__PURE__ */ s(p, {
127
+ variant: "h6",
128
+ sx: { fontSize: {
129
+ xs: 14,
130
+ sm: 18,
131
+ md: 20
132
+ } },
133
+ children: k.title
134
+ }), k.desc && /* @__PURE__ */ s(p, {
135
+ variant: "body2",
136
+ sx: { mt: .5 },
137
+ children: k.desc
138
+ })]
139
+ })]
140
+ })
141
+ }, k.id)
142
+ })
143
+ })
144
+ }),
145
+ /* @__PURE__ */ s(u, {
146
+ "aria-label": E,
147
+ onClick: v,
148
+ sx: {
149
+ position: "absolute",
150
+ top: {
151
+ xs: 8,
152
+ sm: 10,
153
+ md: 12
154
+ },
155
+ right: {
156
+ xs: 8,
157
+ sm: 10,
158
+ md: 12
159
+ },
160
+ zIndex: (e) => e.zIndex.modal + 102
161
+ },
162
+ children: /* @__PURE__ */ s(n, {})
163
+ }),
164
+ w && A && /* @__PURE__ */ c(l, {
165
+ sx: {
166
+ position: "absolute",
167
+ top: {
168
+ xs: 8,
169
+ sm: 10,
170
+ md: 12
171
+ },
172
+ left: {
173
+ xs: 8,
174
+ sm: 10,
175
+ md: 12
176
+ },
177
+ zIndex: (e) => e.zIndex.modal + 102,
178
+ padding: 1,
179
+ px: 2,
180
+ fontSize: {
181
+ xs: 14,
182
+ sm: 16
183
+ },
184
+ color: "text.primary"
185
+ },
186
+ children: [
187
+ j + 1,
188
+ " / ",
189
+ M
190
+ ]
191
+ }),
192
+ A && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(u, {
193
+ "aria-label": D,
194
+ onClick: (e) => {
195
+ e.stopPropagation(), P();
196
+ },
197
+ disabled: j === 0,
198
+ sx: {
199
+ position: "absolute",
200
+ left: {
201
+ xs: 8,
202
+ sm: 10,
203
+ md: 12
204
+ },
205
+ top: "50%",
206
+ transform: "translateY(-50%)",
207
+ zIndex: (e) => e.zIndex.modal + 102,
208
+ "&:disabled": { opacity: .5 }
209
+ },
210
+ children: /* @__PURE__ */ s(g, {})
211
+ }), /* @__PURE__ */ s(u, {
212
+ "aria-label": O,
213
+ onClick: (e) => {
214
+ e.stopPropagation(), F();
215
+ },
216
+ disabled: j === M - 1,
217
+ sx: {
218
+ position: "absolute",
219
+ right: {
220
+ xs: 8,
221
+ sm: 10,
222
+ md: 12
223
+ },
224
+ top: "50%",
225
+ transform: "translateY(-50%)",
226
+ zIndex: (e) => e.zIndex.modal + 102,
227
+ "&:disabled": { opacity: .5 }
228
+ },
229
+ children: /* @__PURE__ */ s(t, {})
230
+ })] })
231
+ ]
232
+ })
233
+ }), C && A && b.length > 1 && /* @__PURE__ */ s(i, {
234
+ mediaItems: b,
235
+ selectedItem: k,
236
+ onSelect: N,
237
+ renderMediaItem: x
238
+ })] })
239
+ });
240
+ };
241
+ _.displayName = "SImageModal";
242
+ //#endregion
243
+ export { _ as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../InfoOutlined-C1AW3f5V.js";
1
+ import { t as e } from "../InfoOutlined-BCzG-5py.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,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../s-language-switcher-vievp2VS.js";
1
+ import { n as e, r as t, t as n } from "../s-language-switcher-BKK0r8Kh.js";
2
2
  export { n as SLanguagePopover, e as SLanguageSwitcher, e as default, t as defaultLanguageOptions };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../s-language-switcher-vievp2VS.js";
1
+ import { n as e, r as t, t as n } from "../s-language-switcher-BKK0r8Kh.js";
2
2
  export { n as SLanguagePopover, e as SLanguageSwitcher, e as default, t as defaultLanguageOptions };
@@ -3,11 +3,11 @@ import { _ as t } from "./createTheme-Bnw5w28O.js";
3
3
  import { o as n, r, t as i } from "./memoTheme-QMocAblm.js";
4
4
  import { t as a } from "./clsx-Bv8WXdlr.js";
5
5
  import { t as o } from "./styled-BTDmdi4c.js";
6
- import { u as s } from "./Modal-C1VRVWBZ.js";
7
- import { t as c } from "./Menu-C-0KEauj.js";
8
- import { t as l } from "./Typography-EsraKPZO.js";
6
+ import { u as s } from "./Modal-Cu5Cgh-q.js";
7
+ import { t as c } from "./Menu-CbHevx8q.js";
8
+ import { t as l } from "./Typography-DqtTB0ZJ.js";
9
9
  import { SIconButton as u } from "./s-icon-button/s-icon-button.js";
10
- import { r as d, t as f } from "./MenuItem-DWivWkNb.js";
10
+ import { r as d, t as f } from "./MenuItem-CCClg9Si.js";
11
11
  import * as p from "react";
12
12
  import m, { createElement as h } from "react";
13
13
  import { jsx as g, jsxs as _ } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-localization-provider-YCsec18c.js";
1
+ import { t as e } from "../s-localization-provider-DDO9UEu_.js";
2
2
  export { e as SLocalizationProvider, e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-localization-provider-YCsec18c.js";
1
+ import { t as e } from "../s-localization-provider-DDO9UEu_.js";
2
2
  export { e as SLocalizationProvider, e as default };
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./chunk-C_CI6nMA.js";
2
- import { i as n, r, t as i } from "./LocalizationProvider-BdaUKqz3.js";
3
- import { t as a } from "./extends-D8CDMpIy.js";
2
+ import { i as n, n as r, t as i } from "./warning-CFMmJJnf.js";
3
+ import { t as a } from "./extends-DM-C9PwL.js";
4
4
  import o from "dayjs";
5
5
  import "react";
6
6
  import { jsx as s } from "react/jsx-runtime";
@@ -398,7 +398,7 @@ var S = class {
398
398
  };
399
399
  getLocaleFormats = () => {
400
400
  let e = o.Ls, t = e[this.locale || "en"];
401
- return t === void 0 && (process.env.NODE_ENV !== "production" && r([
401
+ return t === void 0 && (process.env.NODE_ENV !== "production" && i([
402
402
  "MUI X: Your locale has not been found.",
403
403
  "Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.",
404
404
  "Or you forget to import the locale from 'dayjs/locale/{localeUsed}'",
@@ -510,7 +510,7 @@ var S = class {
510
510
  for (; this.isBefore(a, r);) i.push(a), a = this.addYears(a, 1);
511
511
  return i;
512
512
  };
513
- }, C = ({ children: e }) => /* @__PURE__ */ s(i, {
513
+ }, C = ({ children: e }) => /* @__PURE__ */ s(r, {
514
514
  dateAdapter: S,
515
515
  children: e
516
516
  });
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "../Box-BlmynALm.js";
2
- import { t } from "../Typography-EsraKPZO.js";
2
+ import { t } from "../Typography-DqtTB0ZJ.js";
3
3
  import "react";
4
4
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
5
  //#region lib/s-nav-item/s-nav-item.tsx
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "../Box-BlmynALm.js";
2
2
  import { t } from "../Stack-BQkLmLFp.js";
3
- import { t as n } from "../Typography-EsraKPZO.js";
4
- import { t as r } from "../ExpandMore-Bu7_1g6Q.js";
3
+ import { t as n } from "../Typography-DqtTB0ZJ.js";
4
+ import { t as r } from "../ExpandMore-DIsT5FOp.js";
5
5
  import { SNavItem as i } from "../s-nav-item/s-nav-item.js";
6
- import { t as a } from "../Collapse-CnXmaDqT.js";
6
+ import { t as a } from "../Collapse-Dtji6IrM.js";
7
7
  import * as o from "react";
8
8
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
9
  //#region lib/s-nav-items/s-nav-items.tsx
@@ -93,10 +93,7 @@ function f({ item: t, pathname: l, depth: u, component: f }) {
93
93
  children: t.icon(y)
94
94
  }) : null, /* @__PURE__ */ s(n, {
95
95
  component: "span",
96
- sx: {
97
- fontWeight: 500,
98
- fontSize: "0.875rem"
99
- },
96
+ variant: "body1",
100
97
  children: t.title
101
98
  })]
102
99
  }), /* @__PURE__ */ s(e, {