@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
@@ -1,4 +1,4 @@
1
- import { t as e } from "../Close-Bj2HYB9Q.js";
1
+ import { t as e } from "../Close-DRS0T6Yu.js";
2
2
  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";
@@ -7,8 +7,7 @@ var f = t.forwardRef(({ title: t, content: f, actions: p, onClose: m = () => {},
7
7
  let S = /* @__PURE__ */ i(n, { children: [f && /* @__PURE__ */ r(s, {
8
8
  ref: x,
9
9
  children: typeof f == "string" ? /* @__PURE__ */ r(d, {
10
- variant: "body2",
11
- sx: { color: "text.secondary" },
10
+ variant: "body1",
12
11
  children: f
13
12
  }) : f
14
13
  }), p && /* @__PURE__ */ r(o, { children: p })] });
@@ -1,5 +1,5 @@
1
- import { t as e } from "../Typography-EsraKPZO.js";
2
- import { t } from "../Close-Bj2HYB9Q.js";
1
+ import { t as e } from "../Typography-DqtTB0ZJ.js";
2
+ import { t } from "../Close-DRS0T6Yu.js";
3
3
  import { useDialog as n } from "../hooks/use-dialog.js";
4
4
  import * as r from "react";
5
5
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
@@ -28,8 +28,7 @@ var m = ({ title: n, content: r, onConfirm: m = () => {}, onClose: h = () => {},
28
28
  })]
29
29
  }) }),
30
30
  r && /* @__PURE__ */ a(u, { children: typeof r == "string" ? /* @__PURE__ */ a(e, {
31
- variant: "body2",
32
- sx: { color: "text.secondary" },
31
+ variant: "body1",
33
32
  children: r
34
33
  }) : r }),
35
34
  /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o(i, { children: [/* @__PURE__ */ a(s, {
@@ -1,5 +1,5 @@
1
- import { t as e } from "../Typography-EsraKPZO.js";
2
- import { t } from "../Close-Bj2HYB9Q.js";
1
+ import { t as e } from "../Typography-DqtTB0ZJ.js";
2
+ import { t } from "../Close-DRS0T6Yu.js";
3
3
  import { useDialog as n } from "../hooks/use-dialog.js";
4
4
  import * as r from "react";
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -28,8 +28,7 @@ var p = ({ title: n, content: r, onClose: p = () => {}, onOk: m = () => {}, open
28
28
  })]
29
29
  }) }),
30
30
  r && /* @__PURE__ */ i(l, { children: typeof r == "string" ? /* @__PURE__ */ i(e, {
31
- variant: "body2",
32
- sx: { color: "text.secondary" },
31
+ variant: "body1",
33
32
  children: r
34
33
  }) : r }),
35
34
  /* @__PURE__ */ i(c, { children: /* @__PURE__ */ i(o, {
@@ -3,11 +3,8 @@ import { jsx as e } from "react/jsx-runtime";
3
3
  import { Typography as t } from "@mui/material";
4
4
  //#region lib/s-empty/s-empty.tsx
5
5
  var n = ({ title: n }) => /* @__PURE__ */ e(t, {
6
- variant: "body2",
7
- sx: {
8
- color: "text.secondary",
9
- my: 3
10
- },
6
+ variant: "body1",
7
+ sx: { my: 3 },
11
8
  children: n ?? "No data available."
12
9
  });
13
10
  n.displayName = "SEmpty";
@@ -23,7 +23,7 @@ var a = () => /* @__PURE__ */ t(r, {
23
23
  children: "500: Internal server error"
24
24
  }),
25
25
  /* @__PURE__ */ e(i, {
26
- variant: "body2",
26
+ variant: "body1",
27
27
  children: "We're sorry, but we encountered an error while trying to load the content. Please try again later."
28
28
  })
29
29
  ]
@@ -18,7 +18,7 @@ export interface SErrorLayoutProps {
18
18
  imageHeight?: string | number;
19
19
  /** Container max width. Default: 'lg' */
20
20
  maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
21
- /** Main container height. Default: '100vh' */
21
+ /** Main container minimum height. Default: '100dvh' */
22
22
  height?: string | number;
23
23
  /** Vertical padding. Default: 8 (64px) */
24
24
  py?: number | string;
@@ -3,7 +3,7 @@ import "react";
3
3
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
4
  import { Box as r, Button as i, Container as a, Stack as o, Typography as s } from "@mui/material";
5
5
  //#region lib/s-error-layout/s-error-layout.tsx
6
- var c = ({ imageSrc: c, imageAlt: l, title: u, description: d, buttonText: f, imageWidth: p = "200px", imageHeight: m = "auto", maxWidth: h = "lg", height: g = "100vh", py: _ = 8, spacing: v = 6, titleVariant: y = "h4", descriptionVariant: b = "body1", buttonVariant: x = "contained", buttonColor: S = "primary", containerSx: C, imageContainerSx: w, contentSx: T, titleSx: E, descriptionSx: D, buttonContainerSx: O, buttonProps: k, hideImage: A = !1, customActions: j }) => {
6
+ var c = ({ imageSrc: c, imageAlt: l, title: u, description: d, buttonText: f, imageWidth: p = "200px", imageHeight: m = "auto", maxWidth: h = "lg", height: g = "100dvh", py: _ = 8, spacing: v = 6, titleVariant: y = "h4", descriptionVariant: b = "body1", buttonVariant: x = "contained", buttonColor: S = "primary", containerSx: C, imageContainerSx: w, contentSx: T, titleSx: E, descriptionSx: D, buttonContainerSx: O, buttonProps: k, hideImage: A = !1, customActions: j }) => {
7
7
  let M = j ? /* @__PURE__ */ t(r, {
8
8
  sx: {
9
9
  display: "flex",
@@ -31,8 +31,9 @@ var c = ({ imageSrc: c, imageAlt: l, title: u, description: d, buttonText: f, im
31
31
  display: "flex",
32
32
  flexDirection: "column",
33
33
  justifyContent: "center",
34
+ boxSizing: "border-box",
35
+ minHeight: g,
34
36
  py: _,
35
- height: g,
36
37
  ...C
37
38
  },
38
39
  children: /* @__PURE__ */ t(a, {
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-file-dropzone-oaQoRV92.js";
1
+ import { t as e } from "../s-file-dropzone-CbaOf3_3.js";
2
2
  export { e as SFileDropzone, e as default };
@@ -30,8 +30,5 @@ export interface SFileDropzoneProps extends DropzoneOptions {
30
30
  /** Whether to show the 'Remove all' button */
31
31
  isShowBtnRemoveAll?: boolean;
32
32
  }
33
- export declare const SFileDropzone: {
34
- ({ hint, label, error, onRemoveAll, onRemove, required, isShowBtnRemoveAll, ...props }: SFileDropzoneProps): React.JSX.Element;
35
- displayName: string;
36
- };
33
+ export declare const SFileDropzone: React.ForwardRefExoticComponent<SFileDropzoneProps & React.RefAttributes<HTMLInputElement>>;
37
34
  export default SFileDropzone;
@@ -1,2 +1,2 @@
1
- import { t as e } from "../s-file-dropzone-oaQoRV92.js";
1
+ import { t as e } from "../s-file-dropzone-CbaOf3_3.js";
2
2
  export { e as SFileDropzone, e as default };
@@ -1,23 +1,25 @@
1
1
  import { t as e } from "./Box-BlmynALm.js";
2
2
  import { t } from "./Stack-BQkLmLFp.js";
3
3
  import { t as n } from "./utils-B5Rl6Zwv.js";
4
- import { t as r } from "./createSvgIcon-BdNZIlKS.js";
5
- import { t as i } from "./Typography-EsraKPZO.js";
6
- import { SForm as a } from "./s-form/s-form.js";
7
- import { SFileIcon as o } from "./s-file-icon/s-file-icon.js";
8
- import * as s from "react";
9
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
10
- import { Avatar as u, Button as d, IconButton as f, Tooltip as p } from "@mui/material";
11
- import { useDropzone as m } from "react-dropzone";
4
+ import { t as r } from "./useForkRef-yOYCJHzF.js";
5
+ import { t as i } from "./createSvgIcon-HW-tbFcL.js";
6
+ import { t as a } from "./Typography-DqtTB0ZJ.js";
7
+ import { SForm as o } from "./s-form/s-form.js";
8
+ import { SFileIcon as s } from "./s-file-icon/s-file-icon.js";
9
+ import * as c from "react";
10
+ import { forwardRef as l } from "react";
11
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
12
+ import { Avatar as f, Button as p, IconButton as m, Tooltip as h } from "@mui/material";
13
+ import { useDropzone as g } from "react-dropzone";
12
14
  //#region ../../node_modules/@mui/icons-material/CloseOutlined.mjs
13
- var h = r(/* @__PURE__ */ c("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }), "CloseOutlined"), g = r(/* @__PURE__ */ c("path", { d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3M8 13h2.55v3h2.9v-3H16l-4-4z" }), "CloudUploadOutlined"), _ = ({ hint: r, label: _ = "", error: v, onRemoveAll: y, onRemove: b, required: x = !1, isShowBtnRemoveAll: S = !1, ...C }) => {
14
- let { getRootProps: w, getInputProps: T, isDragActive: E } = m(C);
15
- return /* @__PURE__ */ l(s.Fragment, { children: [/* @__PURE__ */ c(a, {
16
- error: v,
17
- label: _,
18
- required: x,
19
- hint: r,
20
- children: /* @__PURE__ */ l(e, {
15
+ var _ = i(/* @__PURE__ */ u("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }), "CloseOutlined"), v = i(/* @__PURE__ */ u("path", { d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3M8 13h2.55v3h2.9v-3H16l-4-4z" }), "CloudUploadOutlined"), y = l(({ hint: i, label: l = "", error: y, onRemoveAll: b, onRemove: x, required: S = !1, isShowBtnRemoveAll: C = !1, ...w }, T) => {
16
+ let { getRootProps: E, getInputProps: D, isDragActive: O, inputRef: k } = g(w), A = r(T, k);
17
+ return /* @__PURE__ */ d(c.Fragment, { children: [/* @__PURE__ */ u(o, {
18
+ error: y,
19
+ label: l,
20
+ required: S,
21
+ hint: i,
22
+ children: /* @__PURE__ */ d(e, {
21
23
  sx: {
22
24
  alignItems: "center",
23
25
  border: "1px dashed",
@@ -29,32 +31,35 @@ var h = r(/* @__PURE__ */ c("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.4
29
31
  justifyContent: "center",
30
32
  outline: "none",
31
33
  p: 4,
32
- ...E && {
34
+ ...O && {
33
35
  bgcolor: "action.selected",
34
36
  opacity: .5
35
37
  },
36
- "&:hover": { ...!E && { bgcolor: "action.hover" } }
38
+ "&:hover": { ...!O && { bgcolor: "action.hover" } }
37
39
  },
38
- ...w(),
39
- children: [/* @__PURE__ */ c("input", { ...T() }), /* @__PURE__ */ l(t, {
40
+ ...E(),
41
+ children: [/* @__PURE__ */ u("input", {
42
+ ...D(),
43
+ ref: A
44
+ }), /* @__PURE__ */ d(t, {
40
45
  direction: "row",
41
46
  spacing: 1,
42
47
  sx: { alignItems: "center" },
43
- children: [/* @__PURE__ */ c(u, {
48
+ children: [/* @__PURE__ */ u(f, {
44
49
  sx: {
45
50
  border: "1px dashed",
46
51
  borderColor: "divider",
47
52
  color: "text.secondary",
48
53
  backgroundColor: "transparent"
49
54
  },
50
- children: /* @__PURE__ */ c(g, { fontSize: "small" })
51
- }), /* @__PURE__ */ c(t, {
55
+ children: /* @__PURE__ */ u(v, { fontSize: "small" })
56
+ }), /* @__PURE__ */ u(t, {
52
57
  spacing: 1,
53
- children: /* @__PURE__ */ l(i, {
58
+ children: /* @__PURE__ */ d(a, {
54
59
  variant: "body2",
55
60
  sx: { color: "text.secondary" },
56
61
  children: [
57
- /* @__PURE__ */ c(i, {
62
+ /* @__PURE__ */ u(a, {
58
63
  component: "span",
59
64
  sx: { textDecoration: "underline" },
60
65
  variant: "inherit",
@@ -67,10 +72,10 @@ var h = r(/* @__PURE__ */ c("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.4
67
72
  })]
68
73
  })]
69
74
  })
70
- }), C.files?.length ? /* @__PURE__ */ l(t, {
75
+ }), w.files?.length ? /* @__PURE__ */ d(t, {
71
76
  spacing: 1,
72
77
  sx: { mt: 1 },
73
- children: [/* @__PURE__ */ c(t, {
78
+ children: [/* @__PURE__ */ u(t, {
74
79
  component: "ul",
75
80
  spacing: 1,
76
81
  sx: {
@@ -78,7 +83,7 @@ var h = r(/* @__PURE__ */ c("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.4
78
83
  m: 0,
79
84
  p: 0
80
85
  },
81
- children: C.files?.map((r) => /* @__PURE__ */ l(t, {
86
+ children: w.files?.map((r) => /* @__PURE__ */ d(t, {
82
87
  component: "li",
83
88
  direction: "row",
84
89
  spacing: 2,
@@ -91,44 +96,44 @@ var h = r(/* @__PURE__ */ c("path", { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.4
91
96
  p: 1
92
97
  },
93
98
  children: [
94
- /* @__PURE__ */ c(o, { extension: r.name.split(".").pop() }),
95
- /* @__PURE__ */ l(e, {
99
+ /* @__PURE__ */ u(s, { extension: r.name.split(".").pop() }),
100
+ /* @__PURE__ */ d(e, {
96
101
  sx: { flex: "1 1 auto" },
97
- children: [/* @__PURE__ */ c(i, {
102
+ children: [/* @__PURE__ */ u(a, {
98
103
  variant: "subtitle2",
99
104
  children: r.name
100
- }), /* @__PURE__ */ c(i, {
105
+ }), /* @__PURE__ */ u(a, {
101
106
  variant: "body2",
102
107
  sx: { color: "text.secondary" },
103
108
  children: n(r.size)
104
109
  })]
105
110
  }),
106
- /* @__PURE__ */ c(p, {
111
+ /* @__PURE__ */ u(h, {
107
112
  title: "Remove",
108
- children: /* @__PURE__ */ c(f, {
113
+ children: /* @__PURE__ */ u(m, {
109
114
  onClick: () => {
110
- b?.(r);
115
+ x?.(r);
111
116
  },
112
- children: /* @__PURE__ */ c(h, {})
117
+ children: /* @__PURE__ */ u(_, {})
113
118
  })
114
119
  })
115
120
  ]
116
121
  }, r.size))
117
- }), /* @__PURE__ */ c(t, {
122
+ }), /* @__PURE__ */ u(t, {
118
123
  direction: "row",
119
124
  sx: {
120
125
  alignItems: "center",
121
126
  justifyContent: "flex-end"
122
127
  },
123
- children: S && /* @__PURE__ */ c(d, {
124
- onClick: y,
128
+ children: C && /* @__PURE__ */ u(p, {
129
+ onClick: b,
125
130
  type: "button",
126
131
  variant: "text",
127
132
  children: "Remove all"
128
133
  })
129
134
  })]
130
135
  }) : null] });
131
- };
132
- _.displayName = "SFileDropzone";
136
+ });
137
+ y.displayName = "SFileDropzone";
133
138
  //#endregion
134
- export { _ as t };
139
+ export { y as t };
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ import { MediaItemType } from '../s-image-modal';
3
+ /**
4
+ * Single draggable grid cell: media + hover overlay with title/desc
5
+ */
6
+ export declare const GalleryGridItem: React.FC<{
7
+ item: MediaItemType;
8
+ index: number;
9
+ /** Unique gallery instance id used to scope framer-motion layout ids */
10
+ instanceId: string;
11
+ /** Whether a drag is in progress anywhere in the gallery (suppresses clicks) */
12
+ isDragging: boolean;
13
+ onSelect: (item: MediaItemType) => void;
14
+ onDragStart: () => void;
15
+ /** Called on drag end with the combined x+y drag offset */
16
+ onDragEnd: (index: number, moveDistance: number) => void;
17
+ }>;
@@ -0,0 +1,112 @@
1
+ import { MediaItem as e } from "./gallery-media-item.js";
2
+ import "react";
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ import { Box as r, Paper as i, Typography as a } from "@mui/material";
5
+ import { motion as o } from "framer-motion";
6
+ //#region lib/s-gallery/gallery-grid-item.tsx
7
+ var s = ({ item: s, index: c, instanceId: l, isDragging: u, onSelect: d, onDragStart: f, onDragEnd: p }) => /* @__PURE__ */ t(o.div, {
8
+ layoutId: `media-${s.id}-${l}`,
9
+ onClick: () => !u && d(s),
10
+ variants: {
11
+ hidden: {
12
+ y: 50,
13
+ scale: .9,
14
+ opacity: 0
15
+ },
16
+ visible: {
17
+ y: 0,
18
+ scale: 1,
19
+ opacity: 1,
20
+ transition: {
21
+ type: "spring",
22
+ stiffness: 350,
23
+ damping: 25,
24
+ delay: c * .05
25
+ }
26
+ }
27
+ },
28
+ whileHover: {
29
+ filter: "brightness(1.1)",
30
+ zIndex: 10
31
+ },
32
+ drag: !0,
33
+ dragConstraints: {
34
+ left: 0,
35
+ right: 0,
36
+ top: 0,
37
+ bottom: 0
38
+ },
39
+ dragElastic: 1,
40
+ onDragStart: f,
41
+ onDragEnd: (e, t) => p(c, t.offset.x + t.offset.y),
42
+ style: {
43
+ position: "relative",
44
+ gridRow: s.rowSpan ? `span ${s.rowSpan}` : "span 2",
45
+ gridColumn: s.colSpan ? `span ${s.colSpan}` : "span 1"
46
+ },
47
+ children: /* @__PURE__ */ n(i, {
48
+ sx: {
49
+ position: "relative",
50
+ overflow: "hidden",
51
+ borderRadius: 1,
52
+ width: "100%",
53
+ height: "100%",
54
+ cursor: "grab",
55
+ "&:active": { cursor: "grabbing" },
56
+ "&:hover .hover-overlay": { opacity: 1 }
57
+ },
58
+ children: [/* @__PURE__ */ t(e, {
59
+ item: s,
60
+ sx: {
61
+ position: "absolute",
62
+ inset: 0,
63
+ width: "100%",
64
+ height: "100%"
65
+ },
66
+ onClick: () => !u && d(s)
67
+ }), (s.title || s.desc) && /* @__PURE__ */ n(r, {
68
+ className: "hover-overlay",
69
+ sx: {
70
+ position: "absolute",
71
+ inset: 0,
72
+ display: "flex",
73
+ flexDirection: "column",
74
+ justifyContent: "flex-end",
75
+ padding: 1.5,
76
+ pointerEvents: "none",
77
+ opacity: 0,
78
+ transition: "opacity 0.2s ease-in-out",
79
+ color: "common.white",
80
+ background: "linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.35) 45%, transparent)"
81
+ },
82
+ children: [s.title && /* @__PURE__ */ t(a, {
83
+ variant: "h6",
84
+ sx: {
85
+ position: "relative",
86
+ fontSize: {
87
+ xs: 14,
88
+ sm: 18,
89
+ md: 20
90
+ },
91
+ whiteSpace: "nowrap",
92
+ overflow: "hidden",
93
+ textOverflow: "ellipsis"
94
+ },
95
+ children: s.title
96
+ }), s.desc && /* @__PURE__ */ t(a, {
97
+ variant: "body2",
98
+ sx: {
99
+ position: "relative",
100
+ mt: .5,
101
+ display: "-webkit-box",
102
+ WebkitLineClamp: 2,
103
+ WebkitBoxOrient: "vertical",
104
+ overflow: "hidden"
105
+ },
106
+ children: s.desc
107
+ })]
108
+ })]
109
+ })
110
+ }, `${s.id}-${l}`);
111
+ //#endregion
112
+ export { s as GalleryGridItem };
@@ -0,0 +1,16 @@
1
+ import { MediaItemType } from '../s-image-modal';
2
+ /**
3
+ * Built-in layout variants for the gallery
4
+ */
5
+ export type GalleryLayoutVariant = 'masonry' | 'grid' | 'spotlight' | 'featured' | 'highlight' | 'custom';
6
+ /**
7
+ * Get layout dimensions for a specific index and variant
8
+ */
9
+ export declare const getLayoutDimensions: (index: number, variant: GalleryLayoutVariant) => {
10
+ colSpan: number;
11
+ rowSpan: number;
12
+ };
13
+ /**
14
+ * Apply layout variant to media items by setting colSpan and rowSpan
15
+ */
16
+ export declare const applyLayoutVariant: (items: MediaItemType[], variant: GalleryLayoutVariant) => MediaItemType[];
@@ -0,0 +1,50 @@
1
+ //#region lib/s-gallery/gallery-layout.ts
2
+ function e(e) {
3
+ return e % 3 == 0 ? 3 : e % 2 == 0 ? 2 : 4;
4
+ }
5
+ var t = (t, n) => {
6
+ switch (n) {
7
+ case "grid": return {
8
+ colSpan: 1,
9
+ rowSpan: 2
10
+ };
11
+ case "masonry": return {
12
+ colSpan: 1,
13
+ rowSpan: e(t)
14
+ };
15
+ case "spotlight": return t === 0 ? {
16
+ colSpan: 2,
17
+ rowSpan: 4
18
+ } : {
19
+ colSpan: 1,
20
+ rowSpan: 2
21
+ };
22
+ case "featured": return t === 0 ? {
23
+ colSpan: 2,
24
+ rowSpan: 6
25
+ } : {
26
+ colSpan: 1,
27
+ rowSpan: 2
28
+ };
29
+ case "highlight": return t === 0 ? {
30
+ colSpan: 3,
31
+ rowSpan: 6
32
+ } : {
33
+ colSpan: 1,
34
+ rowSpan: 2
35
+ };
36
+ case "custom": return {
37
+ colSpan: 1,
38
+ rowSpan: 2
39
+ };
40
+ }
41
+ }, n = (e, n) => n === "custom" ? e : e.map((e, r) => {
42
+ let { colSpan: i, rowSpan: a } = t(r, n);
43
+ return {
44
+ ...e,
45
+ colSpan: i,
46
+ rowSpan: a
47
+ };
48
+ });
49
+ //#endregion
50
+ export { n as applyLayoutVariant, t as getLayoutDimensions };
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ import { MediaItemType } from '../s-image-modal';
4
+ /**
5
+ * Props for individual MediaItem components
6
+ */
7
+ export type MediaItemProps = {
8
+ /** Media item data */
9
+ item: MediaItemType;
10
+ /** Custom styling */
11
+ sx?: SxProps<Theme>;
12
+ /** Click handler */
13
+ onClick?: () => void;
14
+ };
15
+ export declare const MediaItem: React.FC<MediaItemProps>;
@@ -0,0 +1,112 @@
1
+ import e from "../s-lazy-image/s-lazy-image.js";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import { Box as o } from "@mui/material";
5
+ //#region lib/s-gallery/gallery-media-item.tsx
6
+ function s(e) {
7
+ return new Promise((t) => {
8
+ let n = () => {
9
+ e.removeEventListener("canplay", n), t();
10
+ };
11
+ e.addEventListener("canplay", n, { once: !0 });
12
+ });
13
+ }
14
+ var c = ({ item: c, sx: l, onClick: u }) => {
15
+ let d = n(null), [f, p] = r(!1), [m, h] = r(!0);
16
+ if (t(() => {
17
+ let e = new IntersectionObserver((e) => {
18
+ e.forEach((e) => p(e.isIntersecting));
19
+ }, {
20
+ root: null,
21
+ rootMargin: "50px",
22
+ threshold: .1
23
+ }), t = d.current;
24
+ return t && e.observe(t), () => {
25
+ t && e.unobserve(t);
26
+ };
27
+ }, []), t(() => {
28
+ let e = !0, t = d.current;
29
+ return f ? (async () => {
30
+ if (!(!t || !f || !e)) try {
31
+ if (t.readyState < 3 && (h(!0), await s(t)), !e) return;
32
+ h(!1), await t.play();
33
+ } catch (e) {
34
+ console.warn("Video playback failed:", e);
35
+ }
36
+ })() : t && t.pause(), () => {
37
+ e = !1, t && (t.pause(), t.removeAttribute("src"), t.load());
38
+ };
39
+ }, [f]), c.type === "video") return /* @__PURE__ */ a(o, {
40
+ sx: {
41
+ position: "relative",
42
+ overflow: "hidden",
43
+ width: "100%",
44
+ height: "100%",
45
+ ...l
46
+ },
47
+ children: [/* @__PURE__ */ i(o, {
48
+ component: "video",
49
+ ref: d,
50
+ onClick: u,
51
+ playsInline: !0,
52
+ muted: !0,
53
+ loop: !0,
54
+ preload: "auto",
55
+ sx: {
56
+ width: "100%",
57
+ height: "100%",
58
+ objectFit: "cover",
59
+ opacity: m ? .8 : 1,
60
+ transition: "opacity 0.2s",
61
+ transform: "translateZ(0)",
62
+ willChange: "transform",
63
+ display: "block"
64
+ },
65
+ children: /* @__PURE__ */ i("source", {
66
+ src: c.url,
67
+ type: "video/mp4"
68
+ })
69
+ }), m && /* @__PURE__ */ i(o, {
70
+ sx: {
71
+ position: "absolute",
72
+ inset: 0,
73
+ display: "flex",
74
+ alignItems: "center",
75
+ justifyContent: "center",
76
+ bgcolor: "action.disabled"
77
+ },
78
+ children: /* @__PURE__ */ i(o, { sx: {
79
+ width: 24,
80
+ height: 24,
81
+ borderRadius: "50%",
82
+ border: "2px solid",
83
+ borderColor: "divider",
84
+ borderTopColor: "primary.main",
85
+ animation: "spin 0.8s linear infinite",
86
+ "@keyframes spin": { to: { transform: "rotate(360deg)" } }
87
+ } })
88
+ })]
89
+ });
90
+ let g = l && typeof l == "object" && "objectFit" in l && typeof l.objectFit == "string" ? l.objectFit : "cover";
91
+ return /* @__PURE__ */ i(o, {
92
+ onClick: u,
93
+ sx: {
94
+ width: "100%",
95
+ height: "100%",
96
+ ...l
97
+ },
98
+ children: /* @__PURE__ */ i(e, {
99
+ src: c.url,
100
+ alt: c.title ?? "",
101
+ style: {
102
+ objectFit: g,
103
+ cursor: u ? "pointer" : "default",
104
+ display: "block",
105
+ width: "100%",
106
+ height: "100%"
107
+ }
108
+ })
109
+ });
110
+ };
111
+ //#endregion
112
+ export { c as MediaItem };
@@ -1,2 +1,5 @@
1
- export { default, default as SGallery, MediaItem } from './s-gallery';
2
- export type { SGalleryProps, MediaItemProps, GalleryLayoutVariant } from './s-gallery';
1
+ export { default, default as SGallery } from './s-gallery';
2
+ export type { SGalleryProps } from './s-gallery';
3
+ export { MediaItem } from './gallery-media-item';
4
+ export type { MediaItemProps } from './gallery-media-item';
5
+ export type { GalleryLayoutVariant } from './gallery-layout';
@@ -1,2 +1,3 @@
1
- import { MediaItem as e, SGallery as t } from "./s-gallery.js";
1
+ import { MediaItem as e } from "./gallery-media-item.js";
2
+ import { SGallery as t } from "./s-gallery.js";
2
3
  export { e as MediaItem, t as SGallery, t as default };
@@ -1,22 +1,6 @@
1
1
  import { default as React } from 'react';
2
- import { SxProps, Theme } from '@mui/material';
3
2
  import { MediaItemType } from '../s-image-modal';
4
- /**
5
- * Props for individual MediaItem components
6
- */
7
- export type MediaItemProps = {
8
- /** Media item data */
9
- item: MediaItemType;
10
- /** Custom styling */
11
- sx?: SxProps<Theme>;
12
- /** Click handler */
13
- onClick?: () => void;
14
- };
15
- export declare const MediaItem: React.FC<MediaItemProps>;
16
- /**
17
- * Built-in layout variants for the gallery
18
- */
19
- export type GalleryLayoutVariant = 'masonry' | 'grid' | 'spotlight' | 'featured' | 'highlight' | 'custom';
3
+ import { GalleryLayoutVariant } from './gallery-layout';
20
4
  /**
21
5
  * Props for the SGallery component.
22
6
  */