@solostylist/ui-kit 1.0.174 → 1.0.176

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 (206) hide show
  1. package/dist/{ArrowUpward-DhTFpzoh.js → ArrowUpward-CEeqSc-C.js} +2 -2
  2. package/dist/{Box-Ha0cQ4KO.js → Box-CE3rycd-.js} +5 -5
  3. package/dist/ButtonBase-C_YYB9Ry.js +1099 -0
  4. package/dist/{ChevronLeft-CBuFk2Fh.js → ChevronLeft-6gdh4lRt.js} +2 -2
  5. package/dist/{ChevronRight-CnDWPrOm.js → ChevronRight-CC3l-wPC.js} +2 -2
  6. package/dist/{Close-BRlEKA2Q.js → Close-DOHlPcFK.js} +2 -2
  7. package/dist/{ContentCopy-7nFBtjhs.js → ContentCopy-2xxDThyB.js} +2 -2
  8. package/dist/DefaultPropsProvider-sk0uWcA6.js +64 -0
  9. package/dist/{Download-UsLvGg3y.js → Download-Chao5NQl.js} +2 -2
  10. package/dist/{ExpandMore-DTWX_mHf.js → ExpandMore-DIGPB4Mj.js} +2 -2
  11. package/dist/{Favorite-DS5Gpq2s.js → Favorite-wp65zwWq.js} +2 -2
  12. package/dist/{Menu-CWq-a1Wz.js → Menu-DZYzE2Mg.js} +908 -906
  13. package/dist/{MenuItem-DY_qFSPR.js → MenuItem-BXiIhfBS.js} +26 -25
  14. package/dist/Paper-DnctZB5U.js +689 -0
  15. package/dist/{Select-DabtQlJT.js → Select-DY7XGVsv.js} +2152 -2115
  16. package/dist/{Stack-Cq2r2NmC.js → Stack-BScsuyQy.js} +6 -6
  17. package/dist/{Typography-C8jwvSWe.js → Typography-9Kg27dDw.js} +84 -86
  18. package/dist/{_commonjsHelpers-B4e78b8K.js → _commonjsHelpers-ByX85dGu.js} +18 -13
  19. package/dist/assets/s-overlay-scrollbar.css +1 -9
  20. package/dist/createSvgIcon-BKymXuBG.js +242 -0
  21. package/dist/{createTheme-3Wd3hHrj.js → createTheme-f5g1s6ww.js} +859 -906
  22. package/dist/defaultTheme-LSr-S9un.js +5 -0
  23. package/dist/entries/carousel.d.ts +10 -0
  24. package/dist/entries/carousel.js +4 -0
  25. package/dist/entries/chat.d.ts +9 -0
  26. package/dist/entries/chat.js +4 -0
  27. package/dist/entries/code.d.ts +9 -0
  28. package/dist/entries/code.js +4 -0
  29. package/dist/entries/core.d.ts +100 -0
  30. package/dist/entries/core.js +122 -0
  31. package/dist/entries/dates.d.ts +16 -0
  32. package/dist/entries/dates.js +12 -0
  33. package/dist/entries/dropzone.d.ts +9 -0
  34. package/dist/entries/dropzone.js +4 -0
  35. package/dist/entries/editor.d.ts +12 -0
  36. package/dist/entries/editor.js +4 -0
  37. package/dist/entries/gallery.d.ts +17 -0
  38. package/dist/entries/gallery.js +13 -0
  39. package/dist/entries/i18n.d.ts +13 -0
  40. package/dist/entries/i18n.js +8 -0
  41. package/dist/entries/motion.d.ts +29 -0
  42. package/dist/entries/motion.js +28 -0
  43. package/dist/entries/scrollbar.d.ts +9 -0
  44. package/dist/entries/scrollbar.js +4 -0
  45. package/dist/entries/stripe.d.ts +10 -0
  46. package/dist/entries/stripe.js +10 -0
  47. package/dist/extendSxProp-DitxZ8We.js +36 -0
  48. package/dist/hooks/index.js +8 -9
  49. package/dist/hooks/use-is-passed-position.js +10 -10
  50. package/dist/{index-BGvzecIA.js → index-D3G5Rwl-.js} +0 -7
  51. package/dist/{index-CfKHZ86U.js → index-DtYP8YE7.js} +12 -13
  52. package/dist/{jsx-runtime-OVHDjVDe.js → jsx-runtime-tc70JA_2.js} +108 -128
  53. package/dist/main.d.ts +29 -145
  54. package/dist/main.js +187 -187
  55. package/dist/mergeSlotProps-CuzBQdlp.js +62 -0
  56. package/dist/resolveProps-BDH0VJjn.js +39 -0
  57. package/dist/s-accordion/package.json +5 -5
  58. package/dist/s-accordion/s-accordion.js +374 -358
  59. package/dist/s-action-overlay/package.json +5 -5
  60. package/dist/s-action-overlay/s-action-overlay.js +64 -79
  61. package/dist/s-ai-tool-bar/package.json +5 -5
  62. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +260 -275
  63. package/dist/s-autocomplete/s-autocomplete.js +19 -25
  64. package/dist/s-avatar/package.json +5 -5
  65. package/dist/s-avatar/s-avatar.js +14 -25
  66. package/dist/s-blur-text/package.json +5 -5
  67. package/dist/s-blur-text/s-blur-text.js +55 -59
  68. package/dist/s-breadcrumbs/package.json +5 -5
  69. package/dist/s-breadcrumbs/s-breadcrumbs.js +31 -39
  70. package/dist/s-button/package.json +5 -5
  71. package/dist/s-button/s-button.js +7 -15
  72. package/dist/s-button-link/s-button-link.js +28 -36
  73. package/dist/s-carousel/package.json +4 -4
  74. package/dist/s-carousel/s-carousel.js +267 -280
  75. package/dist/s-category-card/package.json +4 -4
  76. package/dist/s-category-card/s-category-card.js +60 -77
  77. package/dist/s-chat-input/package.json +5 -5
  78. package/dist/s-chat-input/s-chat-input.d.ts +4 -0
  79. package/dist/s-chat-input/s-chat-input.js +103 -109
  80. package/dist/s-chat-message/s-chat-message.js +111 -120
  81. package/dist/s-checkbox/s-checkbox.js +12 -20
  82. package/dist/s-chip/package.json +5 -5
  83. package/dist/s-chip/s-chip.js +7 -15
  84. package/dist/s-chips/s-chips.js +47 -56
  85. package/dist/s-code-block/package.json +5 -5
  86. package/dist/s-code-block/s-code-block.js +35 -43
  87. package/dist/s-comment-message/package.json +5 -5
  88. package/dist/s-comment-message/s-comment-message.js +90 -94
  89. package/dist/s-copyable-text/s-copyable-text.js +24 -32
  90. package/dist/s-countdown/s-count-box.js +42 -50
  91. package/dist/s-countdown/s-count-down.js +79 -107
  92. package/dist/s-data-table/s-data-table.js +374 -384
  93. package/dist/s-date-picker/s-date-picker.js +164 -164
  94. package/dist/s-datetime-picker/s-datetime-picker.js +1599 -1603
  95. package/dist/s-dialog/s-dialog.js +24 -32
  96. package/dist/s-dialog-confirm/s-dialog-confirm.js +46 -50
  97. package/dist/s-dialog-message/s-dialog-message.js +40 -44
  98. package/dist/s-empty/s-empty.js +6 -14
  99. package/dist/s-error/s-error.js +9 -17
  100. package/dist/s-error-layout/s-error-layout.js +38 -47
  101. package/dist/s-file-dropzone/s-file-dropzone.js +55 -64
  102. package/dist/s-file-icon/s-file-icon.js +9 -13
  103. package/dist/s-flex-box/s-flex-box.js +6 -14
  104. package/dist/s-form/s-form.js +11 -19
  105. package/dist/s-gallery/index.js +3 -33
  106. package/dist/s-gallery/s-gallery.js +91 -114
  107. package/dist/s-glow-button/s-glow-button.js +22 -26
  108. package/dist/s-gradient-icon/s-gradient-icon.js +49 -59
  109. package/dist/s-i18n-provider/s-i18n-provider.js +17 -25
  110. package/dist/s-icon-button/s-icon-button.js +6 -14
  111. package/dist/s-image-comparison/package.json +5 -5
  112. package/dist/s-image-comparison/s-image-comparison.js +48 -53
  113. package/dist/s-image-modal/package.json +5 -5
  114. package/dist/s-image-modal/s-image-modal.js +137 -150
  115. package/dist/s-item-not-found/s-item-not-found.js +13 -22
  116. package/dist/s-label/s-label.js +12 -20
  117. package/dist/s-language-switcher/s-language-switcher.js +119 -141
  118. package/dist/s-lazy-image/index.js +2 -10
  119. package/dist/s-lazy-image/s-lazy-image.js +33 -37
  120. package/dist/s-localization-provider/s-localization-provider.js +368 -380
  121. package/dist/s-moving-border/s-moving-border.js +52 -67
  122. package/dist/s-multi-select/s-multi-select.js +43 -51
  123. package/dist/s-no-ssr/s-no-ssr.js +13 -21
  124. package/dist/s-overlay-scrollbar/s-overlay-scrollbar.js +12 -16
  125. package/dist/s-pagination/s-pagination.js +13 -17
  126. package/dist/s-pixel-reveal/package.json +5 -5
  127. package/dist/s-pixel-reveal/s-pixel-reveal.js +92 -99
  128. package/dist/s-radial-pulse-animate/package.json +5 -5
  129. package/dist/s-radial-pulse-animate/s-radial-pulse-animate.js +40 -48
  130. package/dist/s-rating/package.json +5 -5
  131. package/dist/s-rating/s-rating.js +7 -15
  132. package/dist/s-review/package.json +5 -5
  133. package/dist/s-review/s-review.js +101 -106
  134. package/dist/s-scroll-reveal/package.json +5 -5
  135. package/dist/s-scroll-reveal/s-scroll-reveal.js +40 -48
  136. package/dist/s-scroll-to-top/package.json +5 -5
  137. package/dist/s-scroll-to-top/s-scroll-to-top.js +20 -30
  138. package/dist/s-scroll-velocity/package.json +5 -5
  139. package/dist/s-scroll-velocity/s-scroll-velocity.js +5 -19
  140. package/dist/s-scroll-velocity/scroll-velocity-container.js +18 -27
  141. package/dist/s-scroll-velocity/scroll-velocity-row.js +62 -71
  142. package/dist/s-select/s-select.js +67 -75
  143. package/dist/s-select-list/s-select-list.js +28 -32
  144. package/dist/s-skeleton/s-skeleton.js +20 -28
  145. package/dist/s-snackbar-message/s-snackbar-message.js +36 -40
  146. package/dist/s-spotlight-cursor/s-spotlight-cursor.js +31 -35
  147. package/dist/s-stripe/s-stripe-cvc.js +8 -12
  148. package/dist/s-stripe/s-stripe-expiry.js +8 -12
  149. package/dist/s-stripe/s-stripe-number.js +8 -12
  150. package/dist/s-stripe/s-stripe.d.ts +2 -2
  151. package/dist/s-stripe/s-stripe.js +17 -26
  152. package/dist/s-stripe/stripe-input.js +25 -29
  153. package/dist/s-tabs/package.json +3 -3
  154. package/dist/s-tabs/s-tab-panel.js +17 -25
  155. package/dist/s-tabs/s-tab.js +5 -9
  156. package/dist/s-tabs/s-tabs.js +19 -27
  157. package/dist/s-text-editor/s-text-editor-toolbar.js +73 -88
  158. package/dist/s-text-editor/s-text-editor.js +33 -45
  159. package/dist/s-text-field/s-text-field.js +31 -40
  160. package/dist/s-text-shimmer/package.json +4 -4
  161. package/dist/s-text-shimmer/s-text-shimmer.js +19 -27
  162. package/dist/s-text-truncation/s-text-truncation.js +24 -32
  163. package/dist/s-theme-demo/package.json +5 -5
  164. package/dist/s-theme-demo/s-theme-demo.js +219 -234
  165. package/dist/s-theme-provider/s-theme-provider.js +37 -45
  166. package/dist/s-theme-switch/package.json +4 -4
  167. package/dist/s-theme-switch/s-theme-switch.js +19 -23
  168. package/dist/s-tip/s-tip.js +14 -22
  169. package/dist/s-two-pane-layout/index.js +2 -10
  170. package/dist/s-two-pane-layout/s-two-pane-layout.js +47 -55
  171. package/dist/s-typewriter-text/package.json +5 -5
  172. package/dist/s-typewriter-text/s-typewriter-text.js +27 -35
  173. package/dist/s-zoom-image/index.js +2 -10
  174. package/dist/s-zoom-image/package.json +5 -5
  175. package/dist/s-zoom-image/s-zoom-image.js +53 -62
  176. package/dist/styled-B0KflPi-.js +203 -0
  177. package/dist/theme/components/alert.d.ts +484 -264
  178. package/dist/theme/components/avatar.js +2 -2
  179. package/dist/theme/components/button.d.ts +726 -396
  180. package/dist/theme/components/chip.js +2 -2
  181. package/dist/theme/components/components.js +14 -12
  182. package/dist/theme/components/icon-button.d.ts +6191 -0
  183. package/dist/theme/components/icon-button.js +90 -0
  184. package/dist/theme/customizations/data-display.js +1 -1
  185. package/dist/theme/customizations/inputs.js +2 -2
  186. package/dist/theme/customizations/navigation.js +2 -2
  187. package/dist/theme/theme-primitives.d.ts +8 -246
  188. package/dist/theme/theme-primitives.js +76 -87
  189. package/dist/{typographyClasses-DDyl9mok.js → typographyClasses-C7fhAsUD.js} +4 -4
  190. package/dist/{useMobilePicker-C1RZZUWr.js → useMobilePicker-C4AYe0Ch.js} +11249 -11231
  191. package/dist/{useTheme-B5czKfC4.js → useTheme-CtdhfT4P.js} +1 -1
  192. package/dist/{useThemeProps-DqA5BinV.js → useThemeProps-_apS-Aua.js} +2 -2
  193. package/dist/utils/dayjs.js +7 -7
  194. package/dist/utils/logger.js +29 -32
  195. package/dist/{warning-BCwEnWrE.js → warning-DnPRVtW6.js} +4 -4
  196. package/package.json +240 -81
  197. package/README.md +0 -13
  198. package/dist/ButtonBase-DfTfJ_ou.js +0 -1105
  199. package/dist/DefaultPropsProvider-CaCsvQaq.js +0 -78
  200. package/dist/Paper-hkbPWyBT.js +0 -553
  201. package/dist/createSvgIcon-DxwgGAVe.js +0 -247
  202. package/dist/defaultTheme-fEi1x1Gb.js +0 -5
  203. package/dist/extendSxProp-BKWjdW12.js +0 -37
  204. package/dist/mergeSlotProps-Dl_rJtoN.js +0 -62
  205. package/dist/resolveProps-61uUKnlS.js +0 -52
  206. package/dist/styled-B0Z4EDy9.js +0 -206
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
5
  }
@@ -1,9 +1,8 @@
1
- import { j as a } from "../jsx-runtime-OVHDjVDe.js";
2
- import { styled as d, Box as c, Typography as S } from "@mui/material";
3
- import "../s-lazy-image/index.js";
1
+ import { j as r } from "../jsx-runtime-tc70JA_2.js";
2
+ import { styled as i, Box as c, Typography as v } from "@mui/material";
4
3
  import C from "../s-lazy-image/s-lazy-image.js";
5
- const r = d(c)(
6
- ({ disableHoverEffect: e = !1, hoverScale: t = 1.1 }) => ({
4
+ const S = i(c)(
5
+ ({ disableHoverEffect: t = !1, hoverScale: o = 1.1 }) => ({
7
6
  height: "100%",
8
7
  cursor: "pointer",
9
8
  overflow: "hidden",
@@ -15,108 +14,92 @@ const r = d(c)(
15
14
  transition: "all 0.3s",
16
15
  objectPosition: "center center"
17
16
  },
18
- ...!e && {
17
+ ...!t && {
19
18
  ":hover": {
20
- img: { transform: `scale(${t})` }
19
+ img: { transform: `scale(${o})` }
21
20
  }
22
21
  }
23
22
  })
24
- ), l = d(c)(({ titlePosition: e = "bottom", titleAlignment: t = "center" }) => ({
23
+ ), F = i(c)(({ titlePosition: t = "bottom", titleAlignment: o = "center" }) => ({
25
24
  left: 10,
26
25
  right: 10,
27
26
  padding: 8,
28
- textAlign: t,
27
+ textAlign: o,
29
28
  position: "absolute",
30
29
  transition: "all 0.3s",
31
- ...e === "bottom" && { bottom: 10 },
32
- ...e === "top" && { top: 10 },
33
- ...e === "center" && {
30
+ ...t === "bottom" && { bottom: 10 },
31
+ ...t === "top" && { top: 10 },
32
+ ...t === "center" && {
34
33
  top: "50%",
35
34
  transform: "translateY(-50%)"
36
35
  }
37
- })), i = ({
38
- image: e,
39
- title: t,
40
- width: o = 250,
41
- height: n = 250,
42
- alt: p = "category",
43
- titlePosition: m = "bottom",
44
- titleAlignment: f = "center",
45
- titleVariant: y = "body1",
46
- titleColor: v,
47
- titleBackgroundColor: g = "background.paper",
48
- titleOpacity: h = 1,
49
- borderRadius: u = 2,
50
- disableHoverEffect: b = !1,
51
- hoverScale: V = 1.1,
52
- onClick: s,
53
- sx: x,
54
- titleSx: q,
55
- imageSx: _
56
- }) => /* @__PURE__ */ a.jsxs(
57
- r,
36
+ })), T = ({
37
+ image: t,
38
+ title: o,
39
+ width: e = 250,
40
+ height: a = 250,
41
+ alt: l = "category",
42
+ titlePosition: p = "bottom",
43
+ titleAlignment: m = "center",
44
+ titleVariant: d = "body1",
45
+ titleColor: g,
46
+ titleBackgroundColor: y = "background.paper",
47
+ titleOpacity: b = 1,
48
+ borderRadius: s = 2,
49
+ disableHoverEffect: f = !1,
50
+ hoverScale: x = 1.1,
51
+ onClick: n,
52
+ sx: j,
53
+ titleSx: h,
54
+ imageSx: u
55
+ }) => /* @__PURE__ */ r.jsxs(
56
+ S,
58
57
  {
59
- disableHoverEffect: b,
60
- hoverScale: V,
61
- onClick: s,
58
+ disableHoverEffect: f,
59
+ hoverScale: x,
60
+ onClick: n,
62
61
  sx: {
63
- borderRadius: u,
64
- cursor: s ? "pointer" : "default",
65
- width: o,
66
- height: n,
67
- ...x
62
+ borderRadius: s,
63
+ cursor: n ? "pointer" : "default",
64
+ width: e,
65
+ height: a,
66
+ ...j
68
67
  },
69
68
  children: [
70
- /* @__PURE__ */ a.jsx(
69
+ /* @__PURE__ */ r.jsx(
71
70
  C,
72
71
  {
73
- src: e,
74
- width: o,
75
- height: n,
76
- alt: p,
72
+ src: t,
73
+ width: e,
74
+ height: a,
75
+ alt: l,
77
76
  style: {
78
77
  objectFit: "cover",
79
- ..._
78
+ ...u
80
79
  }
81
80
  }
82
81
  ),
83
- /* @__PURE__ */ a.jsx(
84
- l,
82
+ /* @__PURE__ */ r.jsx(
83
+ F,
85
84
  {
86
- titlePosition: m,
87
- titleAlignment: f,
85
+ titlePosition: p,
86
+ titleAlignment: m,
88
87
  sx: {
89
- borderRadius: u,
90
- bgcolor: g,
91
- opacity: h,
92
- ...q
88
+ borderRadius: s,
89
+ bgcolor: y,
90
+ opacity: b,
91
+ ...h
93
92
  },
94
- children: /* @__PURE__ */ a.jsx(S, { variant: y, color: v, children: t })
93
+ children: /* @__PURE__ */ r.jsx(v, { variant: d, color: g, children: o })
95
94
  }
96
95
  )
97
96
  ]
98
97
  }
99
98
  );
100
- i.displayName = "SCategoryCard";
101
- try {
102
- r.displayName = "Wrapper", r.__docgenInfo = { description: "", displayName: "Wrapper", props: {} };
103
- } catch {
104
- }
105
- try {
106
- l.displayName = "CategoryTitle", l.__docgenInfo = { description: "", displayName: "CategoryTitle", props: {} };
107
- } catch {
108
- }
109
- try {
110
- i.displayName = "SCategoryCard", i.__docgenInfo = { description: "A stylish category card component that displays an image with an overlaid title.", displayName: "SCategoryCard", props: { image: { defaultValue: null, description: "URL or path to the category image source", name: "image", required: !0, type: { name: "string" } }, title: { defaultValue: null, description: "Display title for the category shown as overlay text", name: "title", required: !0, type: { name: "string" } }, width: { defaultValue: { value: "250" }, description: "Width of the category card", name: "width", required: !1, type: { name: "string | number" } }, height: { defaultValue: { value: "250" }, description: "Height of the category card", name: "height", required: !1, type: { name: "string | number" } }, alt: { defaultValue: { value: "category" }, description: "Alternative text for the image", name: "alt", required: !1, type: { name: "string" } }, titlePosition: { defaultValue: { value: "bottom" }, description: "Position of the title overlay on the image", name: "titlePosition", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"right"' }, { value: '"left"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, titleColor: { defaultValue: null, description: "Color of the title text", name: "titleColor", required: !1, type: { name: "string" } }, titleBackgroundColor: { defaultValue: { value: "background.paper" }, description: "Background color of the title overlay", name: "titleBackgroundColor", required: !1, type: { name: "string" } }, titleOpacity: { defaultValue: { value: "1" }, description: "Opacity of the title overlay (0-1)", name: "titleOpacity", required: !1, type: { name: "number" } }, borderRadius: { defaultValue: { value: "2" }, description: "Border radius of the card and title overlay", name: "borderRadius", required: !1, type: { name: "string | number" } }, disableHoverEffect: { defaultValue: { value: "false" }, description: "Disable the hover zoom effect on the image", name: "disableHoverEffect", required: !1, type: { name: "boolean" } }, hoverScale: { defaultValue: { value: "1.1" }, description: "Scale factor for hover zoom effect", name: "hoverScale", required: !1, type: { name: "number" } }, onClick: { defaultValue: null, description: "Handler called when the card is clicked", name: "onClick", required: !1, type: { name: "((event: MouseEvent<HTMLDivElement, MouseEvent>) => void)" } }, sx: { defaultValue: null, description: "System prop for custom styling of the wrapper", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, titleSx: { defaultValue: null, description: "System prop for custom styling of the title overlay", name: "titleSx", required: !1, type: { name: "SxProps<Theme>" } }, imageSx: { defaultValue: null, description: "System prop for custom styling of the image", name: "imageSx", required: !1, type: { name: "SxProps<Theme>" } } } };
111
- } catch {
112
- }
113
- try {
114
- scategorycard.displayName = "scategorycard", scategorycard.__docgenInfo = { description: "A stylish category card component that displays an image with an overlaid title.", displayName: "scategorycard", props: { image: { defaultValue: null, description: "URL or path to the category image source", name: "image", required: !0, type: { name: "string" } }, title: { defaultValue: null, description: "Display title for the category shown as overlay text", name: "title", required: !0, type: { name: "string" } }, width: { defaultValue: { value: "250" }, description: "Width of the category card", name: "width", required: !1, type: { name: "string | number" } }, height: { defaultValue: { value: "250" }, description: "Height of the category card", name: "height", required: !1, type: { name: "string | number" } }, alt: { defaultValue: { value: "category" }, description: "Alternative text for the image", name: "alt", required: !1, type: { name: "string" } }, titlePosition: { defaultValue: { value: "bottom" }, description: "Position of the title overlay on the image", name: "titlePosition", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"right"' }, { value: '"left"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, titleColor: { defaultValue: null, description: "Color of the title text", name: "titleColor", required: !1, type: { name: "string" } }, titleBackgroundColor: { defaultValue: { value: "background.paper" }, description: "Background color of the title overlay", name: "titleBackgroundColor", required: !1, type: { name: "string" } }, titleOpacity: { defaultValue: { value: "1" }, description: "Opacity of the title overlay (0-1)", name: "titleOpacity", required: !1, type: { name: "number" } }, borderRadius: { defaultValue: { value: "2" }, description: "Border radius of the card and title overlay", name: "borderRadius", required: !1, type: { name: "string | number" } }, disableHoverEffect: { defaultValue: { value: "false" }, description: "Disable the hover zoom effect on the image", name: "disableHoverEffect", required: !1, type: { name: "boolean" } }, hoverScale: { defaultValue: { value: "1.1" }, description: "Scale factor for hover zoom effect", name: "hoverScale", required: !1, type: { name: "number" } }, onClick: { defaultValue: null, description: "Handler called when the card is clicked", name: "onClick", required: !1, type: { name: "((event: MouseEvent<HTMLDivElement, MouseEvent>) => void)" } }, sx: { defaultValue: null, description: "System prop for custom styling of the wrapper", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, titleSx: { defaultValue: null, description: "System prop for custom styling of the title overlay", name: "titleSx", required: !1, type: { name: "SxProps<Theme>" } }, imageSx: { defaultValue: null, description: "System prop for custom styling of the image", name: "imageSx", required: !1, type: { name: "SxProps<Theme>" } } } };
115
- } catch {
116
- }
99
+ T.displayName = "SCategoryCard";
117
100
  export {
118
- l as CategoryTitle,
119
- i as SCategoryCard,
120
- r as Wrapper,
121
- i as default
101
+ F as CategoryTitle,
102
+ T as SCategoryCard,
103
+ S as Wrapper,
104
+ T as default
122
105
  };
@@ -1,5 +1,5 @@
1
- {
2
- "main": "./index.js",
3
- "types": "./index.d.ts",
4
- "sideEffects": false
5
- }
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -14,6 +14,10 @@ export interface SChatInputProps extends Omit<STextFieldProps, 'onSubmit'> {
14
14
  acceptedFileTypes?: string;
15
15
  /** Maximum file size in bytes for uploaded files */
16
16
  maxFileSize?: number;
17
+ /** Hide the emoji picker button */
18
+ hideEmojiPicker?: boolean;
19
+ /** Hide the file attachment button */
20
+ hideFileAttachment?: boolean;
17
21
  }
18
22
  /**
19
23
  * A chat input component with file attachment support, emoji picker, and multiline text input.
@@ -1,62 +1,62 @@
1
- import { j as r } from "../jsx-runtime-OVHDjVDe.js";
2
- import { forwardRef as A, useState as c, useRef as L, useId as O, useEffect as D } from "react";
3
- import { Box as i, outlinedInputClasses as K, Typography as I, Popper as B, ClickAwayListener as N } from "@mui/material";
4
- import W from "emoji-picker-react";
5
- import { SFileIcon as H } from "../s-file-icon/s-file-icon.js";
6
- import { SIconButton as p } from "../s-icon-button/s-icon-button.js";
1
+ import { j as r } from "../jsx-runtime-tc70JA_2.js";
2
+ import { forwardRef as V, useState as c, useRef as B, useId as D, useEffect as W } from "react";
3
+ import { Box as s, outlinedInputClasses as H, Typography as w, Popper as N, ClickAwayListener as _ } from "@mui/material";
4
+ import q from "emoji-picker-react";
7
5
  import { STextField as G } from "../s-text-field/s-text-field.js";
8
- import { C as J } from "../Close-BRlEKA2Q.js";
9
- import { c as S } from "../createSvgIcon-DxwgGAVe.js";
10
- import { A as Q } from "../ArrowUpward-DhTFpzoh.js";
11
- const X = S(/* @__PURE__ */ r.jsx("path", {
6
+ import { SFileIcon as J } from "../s-file-icon/s-file-icon.js";
7
+ import { SIconButton as d } from "../s-icon-button/s-icon-button.js";
8
+ import { C as Q } from "../Close-DOHlPcFK.js";
9
+ import { c as R } from "../createSvgIcon-BKymXuBG.js";
10
+ import { A as X } from "../ArrowUpward-CEeqSc-C.js";
11
+ const Y = R(/* @__PURE__ */ r.jsx("path", {
12
12
  d: "M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6z"
13
- }), "AttachFile"), Y = S(/* @__PURE__ */ r.jsx("path", {
13
+ }), "AttachFile"), Z = R(/* @__PURE__ */ r.jsx("path", {
14
14
  d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M8.5 8c.83 0 1.5.67 1.5 1.5S9.33 11 8.5 11 7 10.33 7 9.5 7.67 8 8.5 8M12 18c-2.28 0-4.22-1.66-5-4h10c-.78 2.34-2.72 4-5 4m3.5-7c-.83 0-1.5-.67-1.5-1.5S14.67 8 15.5 8s1.5.67 1.5 1.5-.67 1.5-1.5 1.5"
15
- }), "EmojiEmotions"), j = A(
16
- ({ onSubmit: l, onFileSelect: u, disabled: a, acceptedFileTypes: E, maxFileSize: v, ...z }, _) => {
17
- const [m, f] = c(""), [d, h] = c([]), [s, b] = c(/* @__PURE__ */ new Map()), [k, x] = c(!1), C = L(null), w = O(), g = (e) => e.type.startsWith("image/"), V = (e) => {
18
- const t = `${e.name}-${e.size}-${e.lastModified}`;
19
- if (s.has(t))
20
- return s.get(t);
21
- if (g(e)) {
15
+ }), "EmojiEmotions"), ee = V(
16
+ ({ onSubmit: I, onFileSelect: E, disabled: a, acceptedFileTypes: S, maxFileSize: b, hideEmojiPicker: M, hideFileAttachment: F, ...z }, U) => {
17
+ const [p, m] = c(""), [l, u] = c([]), [i, h] = c(/* @__PURE__ */ new Map()), [j, x] = c(!1), v = B(null), C = D(), f = (e) => e.type.startsWith("image/"), $ = (e) => {
18
+ const o = `${e.name}-${e.size}-${e.lastModified}`;
19
+ if (i.has(o))
20
+ return i.get(o);
21
+ if (f(e)) {
22
22
  const n = URL.createObjectURL(e);
23
- return b((o) => new Map(o).set(t, n)), n;
23
+ return h((t) => new Map(t).set(o, n)), n;
24
24
  }
25
25
  return "";
26
- }, M = (e) => {
27
- f(e.target.value);
28
- }, U = (e) => {
29
- f((t) => t + e.emoji), x(!1);
30
- }, $ = () => {
31
- x(!k);
32
- }, F = () => {
33
- a || m.trim().length === 0 && d.length === 0 || (l == null || l(m, d), f(""), s.forEach((e) => URL.revokeObjectURL(e)), b(/* @__PURE__ */ new Map()), h([]));
34
- }, q = (e) => {
35
- const n = Array.from(e.target.files || []).filter((o) => !(v && o.size > v));
36
- h((o) => [...o, ...n]), u == null || u(n), e.target.value = "";
37
26
  }, P = (e) => {
38
- const t = d[e];
39
- if (t && g(t)) {
40
- const n = `${t.name}-${t.size}-${t.lastModified}`, o = s.get(n);
41
- o && (URL.revokeObjectURL(o), b((y) => {
42
- const R = new Map(y);
43
- return R.delete(n), R;
27
+ m(e.target.value);
28
+ }, L = (e) => {
29
+ m((o) => o + e.emoji), x(!1);
30
+ }, A = () => {
31
+ x(!j);
32
+ }, k = () => {
33
+ a || p.trim().length === 0 && l.length === 0 || (I?.(p, l), m(""), i.forEach((e) => URL.revokeObjectURL(e)), h(/* @__PURE__ */ new Map()), u([]));
34
+ }, O = (e) => {
35
+ const n = Array.from(e.target.files || []).filter((t) => !(b && t.size > b));
36
+ u((t) => [...t, ...n]), E?.(n), e.target.value = "";
37
+ }, K = (e) => {
38
+ const o = l[e];
39
+ if (o && f(o)) {
40
+ const n = `${o.name}-${o.size}-${o.lastModified}`, t = i.get(n);
41
+ t && (URL.revokeObjectURL(t), h((g) => {
42
+ const y = new Map(g);
43
+ return y.delete(n), y;
44
44
  }));
45
45
  }
46
- h((n) => n.filter((o, y) => y !== e));
46
+ u((n) => n.filter((t, g) => g !== e));
47
47
  }, T = (e) => {
48
- e.key === "Enter" && !e.shiftKey && (e.preventDefault(), F());
48
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), k());
49
49
  };
50
- return D(() => () => {
51
- s.forEach((e) => URL.revokeObjectURL(e));
52
- }, [s]), /* @__PURE__ */ r.jsxs(i, { border: "1px solid", borderColor: "divider", borderRadius: 2, padding: "8px 12px", children: [
50
+ return W(() => () => {
51
+ i.forEach((e) => URL.revokeObjectURL(e));
52
+ }, [i]), /* @__PURE__ */ r.jsxs(s, { border: "1px solid", borderColor: "divider", borderRadius: 2, padding: "8px 12px", children: [
53
53
  /* @__PURE__ */ r.jsx(
54
54
  G,
55
55
  {
56
56
  placeholder: "Enter your message here...",
57
57
  disabled: a,
58
- value: m,
59
- onChange: M,
58
+ value: p,
59
+ onChange: P,
60
60
  onKeyDown: T,
61
61
  multiline: !0,
62
62
  minRows: 1,
@@ -64,7 +64,7 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
64
64
  size: "small",
65
65
  variant: "outlined",
66
66
  fullWidth: !0,
67
- inputRef: _,
67
+ inputRef: U,
68
68
  slotProps: {
69
69
  input: {
70
70
  sx: {
@@ -72,7 +72,7 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
72
72
  backgroundColor: "transparent",
73
73
  border: "none",
74
74
  padding: 0,
75
- [`&.${K.focused}`]: {
75
+ [`&.${H.focused}`]: {
76
76
  outline: "none"
77
77
  },
78
78
  "& fieldset": {
@@ -90,10 +90,10 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
90
90
  ...z
91
91
  }
92
92
  ),
93
- d.length > 0 && /* @__PURE__ */ r.jsx(i, { mt: 1, children: d.map((e, t) => {
94
- const n = g(e), o = e.name.split(".").pop();
93
+ l.length > 0 && /* @__PURE__ */ r.jsx(s, { mt: 1, children: l.map((e, o) => {
94
+ const n = f(e), t = e.name.split(".").pop();
95
95
  return /* @__PURE__ */ r.jsxs(
96
- i,
96
+ s,
97
97
  {
98
98
  display: "flex",
99
99
  alignItems: "center",
@@ -107,12 +107,12 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
107
107
  mb: 0.5
108
108
  },
109
109
  children: [
110
- /* @__PURE__ */ r.jsxs(i, { display: "flex", alignItems: "center", gap: 1, children: [
110
+ /* @__PURE__ */ r.jsxs(s, { display: "flex", alignItems: "center", gap: 1, children: [
111
111
  n ? /* @__PURE__ */ r.jsx(
112
- i,
112
+ s,
113
113
  {
114
114
  component: "img",
115
- src: V(e),
115
+ src: $(e),
116
116
  alt: e.name,
117
117
  sx: {
118
118
  width: 40,
@@ -123,56 +123,58 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
123
123
  borderColor: "divider"
124
124
  }
125
125
  }
126
- ) : /* @__PURE__ */ r.jsx(H, { extension: o }),
127
- /* @__PURE__ */ r.jsxs(i, { display: "flex", flexDirection: "row", alignItems: "center", gap: 1, children: [
128
- /* @__PURE__ */ r.jsx(I, { variant: "subtitle2", textOverflow: "ellipsis", overflow: "hidden", whiteSpace: "nowrap", children: e.name }),
129
- /* @__PURE__ */ r.jsx("div", { children: /* @__PURE__ */ r.jsxs(I, { variant: "caption", children: [
126
+ ) : /* @__PURE__ */ r.jsx(J, { extension: t }),
127
+ /* @__PURE__ */ r.jsxs(s, { display: "flex", flexDirection: "row", alignItems: "center", gap: 1, children: [
128
+ /* @__PURE__ */ r.jsx(w, { variant: "subtitle2", textOverflow: "ellipsis", overflow: "hidden", whiteSpace: "nowrap", children: e.name }),
129
+ /* @__PURE__ */ r.jsx("div", { children: /* @__PURE__ */ r.jsxs(w, { variant: "caption", children: [
130
130
  "(",
131
131
  Math.round(e.size / 1024),
132
132
  " KB)"
133
133
  ] }) })
134
134
  ] })
135
135
  ] }),
136
- /* @__PURE__ */ r.jsx(p, { size: "small", onClick: () => P(t), sx: { minWidth: "auto", p: 0.5 }, children: /* @__PURE__ */ r.jsx(J, {}) })
136
+ /* @__PURE__ */ r.jsx(d, { size: "small", onClick: () => K(o), sx: { minWidth: "auto", p: 0.5 }, children: /* @__PURE__ */ r.jsx(Q, {}) })
137
137
  ]
138
138
  },
139
- `${e.name}-${t}`
139
+ `${e.name}-${o}`
140
140
  );
141
141
  }) }),
142
- /* @__PURE__ */ r.jsxs(i, { display: "flex", justifyContent: "space-between", alignItems: "center", mt: 1, children: [
143
- /* @__PURE__ */ r.jsxs(i, { display: "flex", gap: 1, children: [
144
- /* @__PURE__ */ r.jsx(
145
- "input",
146
- {
147
- type: "file",
148
- multiple: !0,
149
- accept: E,
150
- onChange: q,
151
- style: { display: "none" },
152
- id: `file-attachment-input-${w}`,
153
- disabled: a
154
- }
155
- ),
156
- /* @__PURE__ */ r.jsx("label", { htmlFor: `file-attachment-input-${w}`, children: /* @__PURE__ */ r.jsx(
157
- p,
158
- {
159
- component: "span",
160
- disabled: a,
161
- size: "small",
162
- sx: {
163
- transition: "transform 0.3s ease",
164
- "&:hover": {
165
- transform: "scale(1.1)"
166
- }
167
- },
168
- children: /* @__PURE__ */ r.jsx(X, {})
169
- }
170
- ) }),
171
- /* @__PURE__ */ r.jsx(
172
- p,
142
+ /* @__PURE__ */ r.jsxs(s, { display: "flex", justifyContent: "space-between", alignItems: "center", mt: 1, children: [
143
+ /* @__PURE__ */ r.jsxs(s, { display: "flex", gap: 1, children: [
144
+ !F && /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
145
+ /* @__PURE__ */ r.jsx(
146
+ "input",
147
+ {
148
+ type: "file",
149
+ multiple: !0,
150
+ accept: S,
151
+ onChange: O,
152
+ style: { display: "none" },
153
+ id: `file-attachment-input-${C}`,
154
+ disabled: a
155
+ }
156
+ ),
157
+ /* @__PURE__ */ r.jsx("label", { htmlFor: `file-attachment-input-${C}`, children: /* @__PURE__ */ r.jsx(
158
+ d,
159
+ {
160
+ component: "span",
161
+ disabled: a,
162
+ size: "small",
163
+ sx: {
164
+ transition: "transform 0.3s ease",
165
+ "&:hover": {
166
+ transform: "scale(1.1)"
167
+ }
168
+ },
169
+ children: /* @__PURE__ */ r.jsx(Y, {})
170
+ }
171
+ ) })
172
+ ] }),
173
+ !M && /* @__PURE__ */ r.jsx(
174
+ d,
173
175
  {
174
- ref: C,
175
- onClick: $,
176
+ ref: v,
177
+ onClick: A,
176
178
  disabled: a,
177
179
  size: "small",
178
180
  sx: {
@@ -181,14 +183,14 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
181
183
  transform: "scale(1.1)"
182
184
  }
183
185
  },
184
- children: /* @__PURE__ */ r.jsx(Y, {})
186
+ children: /* @__PURE__ */ r.jsx(Z, {})
185
187
  }
186
188
  )
187
189
  ] }),
188
190
  /* @__PURE__ */ r.jsx(
189
- p,
191
+ d,
190
192
  {
191
- onClick: F,
193
+ onClick: k,
192
194
  disabled: a,
193
195
  size: "small",
194
196
  sx: {
@@ -197,12 +199,12 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
197
199
  transform: "scale(1.2)"
198
200
  }
199
201
  },
200
- children: /* @__PURE__ */ r.jsx(Q, {})
202
+ children: /* @__PURE__ */ r.jsx(X, {})
201
203
  }
202
204
  )
203
205
  ] }),
204
- /* @__PURE__ */ r.jsx(B, { open: k, anchorEl: C.current, placement: "top-start", sx: { zIndex: 1300 }, children: /* @__PURE__ */ r.jsx(N, { onClickAway: () => x(!1), children: /* @__PURE__ */ r.jsx(
205
- i,
206
+ /* @__PURE__ */ r.jsx(N, { open: j, anchorEl: v.current, placement: "top-start", sx: { zIndex: 1300 }, children: /* @__PURE__ */ r.jsx(_, { onClickAway: () => x(!1), children: /* @__PURE__ */ r.jsx(
207
+ s,
206
208
  {
207
209
  sx: {
208
210
  border: "1px solid",
@@ -292,9 +294,9 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
292
294
  }
293
295
  },
294
296
  children: /* @__PURE__ */ r.jsx(
295
- W,
297
+ q,
296
298
  {
297
- onEmojiClick: U,
299
+ onEmojiClick: L,
298
300
  width: 300,
299
301
  height: 400,
300
302
  searchDisabled: !1,
@@ -307,16 +309,8 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
307
309
  ] });
308
310
  }
309
311
  );
310
- j.displayName = "SChatInput";
311
- try {
312
- j.displayName = "SChatInput", j.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "SChatInput", props: { onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
313
- } catch {
314
- }
315
- try {
316
- schatinput.displayName = "schatinput", schatinput.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "schatinput", props: { onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
317
- } catch {
318
- }
312
+ ee.displayName = "SChatInput";
319
313
  export {
320
- j as SChatInput,
321
- j as default
314
+ ee as SChatInput,
315
+ ee as default
322
316
  };