@solostylist/ui-kit 1.0.166 → 1.0.168

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 (241) hide show
  1. package/dist/{Typography-B7LOtCzI.js → Typography-C8jwvSWe.js} +1 -1
  2. package/dist/main.d.ts +5 -3
  3. package/dist/main.js +182 -172
  4. package/dist/s-accordion/index.js +2 -2
  5. package/dist/s-accordion/s-accordion.d.ts +17 -1
  6. package/dist/s-accordion/s-accordion.js +252 -238
  7. package/dist/s-action-overlay/index.js +1 -1
  8. package/dist/s-action-overlay/s-action-overlay.d.ts +34 -1
  9. package/dist/s-action-overlay/s-action-overlay.js +67 -55
  10. package/dist/s-ai-tool-bar/index.d.ts +2 -0
  11. package/dist/s-ai-tool-bar/index.js +3 -2
  12. package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +43 -22
  13. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +336 -255
  14. package/dist/s-autocomplete/index.js +2 -2
  15. package/dist/s-autocomplete/s-autocomplete.d.ts +13 -15
  16. package/dist/s-autocomplete/s-autocomplete.js +25 -17
  17. package/dist/s-avatar/index.js +2 -2
  18. package/dist/s-avatar/s-avatar.d.ts +16 -1
  19. package/dist/s-avatar/s-avatar.js +23 -10
  20. package/dist/s-blur-text/index.js +2 -2
  21. package/dist/s-blur-text/s-blur-text.d.ts +4 -13
  22. package/dist/s-blur-text/s-blur-text.js +57 -51
  23. package/dist/s-breadcrumbs/index.js +2 -2
  24. package/dist/s-breadcrumbs/s-breadcrumbs.d.ts +20 -1
  25. package/dist/s-breadcrumbs/s-breadcrumbs.js +39 -30
  26. package/dist/s-button/index.js +2 -2
  27. package/dist/s-button/s-button.d.ts +7 -1
  28. package/dist/s-button/s-button.js +15 -5
  29. package/dist/s-button-link/index.js +2 -2
  30. package/dist/s-button-link/s-button-link.d.ts +12 -26
  31. package/dist/s-button-link/s-button-link.js +36 -26
  32. package/dist/s-carousel/index.js +1 -1
  33. package/dist/s-carousel/s-carousel.d.ts +11 -1
  34. package/dist/s-carousel/s-carousel.js +233 -223
  35. package/dist/s-category-card/index.js +2 -2
  36. package/dist/s-category-card/s-category-card.d.ts +28 -1
  37. package/dist/s-category-card/s-category-card.js +77 -58
  38. package/dist/s-chat-input/index.js +2 -2
  39. package/dist/s-chat-input/s-chat-input.d.ts +12 -1
  40. package/dist/s-chat-input/s-chat-input.js +92 -82
  41. package/dist/s-chat-message/index.js +2 -2
  42. package/dist/s-chat-message/s-chat-message.d.ts +22 -1
  43. package/dist/s-chat-message/s-chat-message.js +144 -133
  44. package/dist/s-checkbox/index.js +2 -2
  45. package/dist/s-checkbox/s-checkbox.d.ts +2 -15
  46. package/dist/s-checkbox/s-checkbox.js +20 -10
  47. package/dist/s-chip/index.js +2 -2
  48. package/dist/s-chip/s-chip.d.ts +7 -1
  49. package/dist/s-chip/s-chip.js +15 -5
  50. package/dist/s-chips/index.js +2 -2
  51. package/dist/s-chips/s-chips.d.ts +5 -18
  52. package/dist/s-chips/s-chips.js +56 -41
  53. package/dist/s-comment-message/index.js +2 -2
  54. package/dist/s-comment-message/s-comment-message.d.ts +26 -1
  55. package/dist/s-comment-message/s-comment-message.js +95 -89
  56. package/dist/s-copyable-text/index.js +1 -1
  57. package/dist/s-copyable-text/s-copyable-text.d.ts +9 -36
  58. package/dist/s-copyable-text/s-copyable-text.js +31 -21
  59. package/dist/s-countdown/index.d.ts +3 -2
  60. package/dist/s-countdown/index.js +4 -3
  61. package/dist/s-countdown/s-count-box.d.ts +39 -0
  62. package/dist/s-countdown/s-count-box.js +112 -0
  63. package/dist/s-countdown/s-count-down.d.ts +6 -50
  64. package/dist/s-countdown/s-count-down.js +110 -175
  65. package/dist/s-data-table/index.js +2 -2
  66. package/dist/s-data-table/s-data-table.d.ts +9 -65
  67. package/dist/s-data-table/s-data-table.js +381 -371
  68. package/dist/s-date-picker/index.js +2 -2
  69. package/dist/s-date-picker/s-date-picker.d.ts +6 -17
  70. package/dist/s-date-picker/s-date-picker.js +124 -107
  71. package/dist/s-datetime-picker/index.js +2 -2
  72. package/dist/s-datetime-picker/s-datetime-picker.d.ts +5 -16
  73. package/dist/s-datetime-picker/s-datetime-picker.js +897 -887
  74. package/dist/s-dialog/index.js +2 -2
  75. package/dist/s-dialog/s-dialog.d.ts +3 -16
  76. package/dist/s-dialog/s-dialog.js +32 -23
  77. package/dist/s-dialog-confirm/index.js +3 -3
  78. package/dist/s-dialog-confirm/s-dialog-confirm.d.ts +5 -13
  79. package/dist/s-dialog-confirm/s-dialog-confirm.js +55 -48
  80. package/dist/s-dialog-message/index.js +4 -4
  81. package/dist/s-dialog-message/s-dialog-message.d.ts +5 -15
  82. package/dist/s-dialog-message/s-dialog-message.js +45 -38
  83. package/dist/s-empty/index.js +2 -2
  84. package/dist/s-empty/s-empty.d.ts +5 -20
  85. package/dist/s-empty/s-empty.js +14 -4
  86. package/dist/s-error/index.js +2 -2
  87. package/dist/s-error/s-error.d.ts +5 -20
  88. package/dist/s-error/s-error.js +16 -6
  89. package/dist/s-error-layout/index.js +2 -2
  90. package/dist/s-error-layout/s-error-layout.d.ts +6 -1
  91. package/dist/s-error-layout/s-error-layout.js +60 -51
  92. package/dist/s-file-dropzone/index.js +2 -2
  93. package/dist/s-file-dropzone/s-file-dropzone.d.ts +6 -51
  94. package/dist/s-file-dropzone/s-file-dropzone.js +64 -54
  95. package/dist/s-file-icon/index.js +2 -2
  96. package/dist/s-file-icon/s-file-icon.d.ts +5 -25
  97. package/dist/s-file-icon/s-file-icon.js +14 -8
  98. package/dist/s-flex-box/index.js +2 -2
  99. package/dist/s-flex-box/s-flex-box.d.ts +10 -1
  100. package/dist/s-flex-box/s-flex-box.js +14 -4
  101. package/dist/s-form/index.js +2 -2
  102. package/dist/s-form/s-form.d.ts +5 -14
  103. package/dist/s-form/s-form.js +19 -9
  104. package/dist/s-gallery/index.js +33 -3
  105. package/dist/s-gallery/s-gallery.d.ts +3 -36
  106. package/dist/s-gallery/s-gallery.js +108 -78
  107. package/dist/s-glow-button/s-glow-button.d.ts +6 -42
  108. package/dist/s-glow-button/s-glow-button.js +29 -47
  109. package/dist/s-gradient-icon/index.d.ts +1 -1
  110. package/dist/s-gradient-icon/index.js +1 -1
  111. package/dist/s-gradient-icon/s-gradient-icon.d.ts +8 -68
  112. package/dist/s-gradient-icon/s-gradient-icon.js +54 -44
  113. package/dist/s-i18n-provider/index.js +1 -1
  114. package/dist/s-i18n-provider/s-i18n-provider.d.ts +5 -33
  115. package/dist/s-i18n-provider/s-i18n-provider.js +25 -15
  116. package/dist/s-icon-button/index.js +2 -2
  117. package/dist/s-icon-button/s-icon-button.d.ts +6 -19
  118. package/dist/s-icon-button/s-icon-button.js +14 -4
  119. package/dist/s-image-comparison/s-image-comparison.js +50 -45
  120. package/dist/s-image-modal/index.js +3 -3
  121. package/dist/s-image-modal/s-image-modal.d.ts +4 -20
  122. package/dist/s-image-modal/s-image-modal.js +150 -135
  123. package/dist/s-item-not-found/index.js +2 -2
  124. package/dist/s-item-not-found/s-item-not-found.d.ts +14 -1
  125. package/dist/s-item-not-found/s-item-not-found.js +21 -10
  126. package/dist/s-label/index.js +2 -2
  127. package/dist/s-label/s-label.d.ts +9 -25
  128. package/dist/s-label/s-label.js +19 -9
  129. package/dist/s-language-switcher/index.js +3 -3
  130. package/dist/s-language-switcher/s-language-switcher.d.ts +20 -33
  131. package/dist/s-language-switcher/s-language-switcher.js +137 -115
  132. package/dist/s-lazy-image/index.js +10 -2
  133. package/dist/s-lazy-image/s-lazy-image.d.ts +12 -58
  134. package/dist/s-lazy-image/s-lazy-image.js +53 -58
  135. package/dist/s-localization-provider/index.js +2 -2
  136. package/dist/s-localization-provider/s-localization-provider.d.ts +6 -27
  137. package/dist/s-localization-provider/s-localization-provider.js +157 -149
  138. package/dist/s-moving-border/index.js +2 -2
  139. package/dist/s-moving-border/s-moving-border.d.ts +3 -33
  140. package/dist/s-moving-border/s-moving-border.js +65 -55
  141. package/dist/s-multi-select/index.js +2 -2
  142. package/dist/s-multi-select/s-multi-select.d.ts +5 -15
  143. package/dist/s-multi-select/s-multi-select.js +54 -45
  144. package/dist/s-no-ssr/index.js +2 -2
  145. package/dist/s-no-ssr/s-no-ssr.d.ts +5 -33
  146. package/dist/s-no-ssr/s-no-ssr.js +21 -11
  147. package/dist/s-overlay-scrollbar/index.js +2 -2
  148. package/dist/s-overlay-scrollbar/s-overlay-scrollbar.d.ts +10 -1
  149. package/dist/s-overlay-scrollbar/s-overlay-scrollbar.js +16 -11
  150. package/dist/s-pagination/index.js +2 -2
  151. package/dist/s-pagination/s-pagination.d.ts +5 -23
  152. package/dist/s-pagination/s-pagination.js +17 -11
  153. package/dist/s-pixel-reveal/index.d.ts +2 -0
  154. package/dist/s-pixel-reveal/index.js +4 -0
  155. package/dist/s-pixel-reveal/package.json +5 -0
  156. package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +27 -0
  157. package/dist/s-pixel-reveal/s-pixel-reveal.js +156 -0
  158. package/dist/s-radial-pulse-animate/index.js +2 -2
  159. package/dist/s-radial-pulse-animate/s-radial-pulse-animate.d.ts +12 -1
  160. package/dist/s-radial-pulse-animate/s-radial-pulse-animate.js +52 -42
  161. package/dist/s-rating/index.js +2 -2
  162. package/dist/s-rating/s-rating.d.ts +7 -1
  163. package/dist/s-rating/s-rating.js +15 -5
  164. package/dist/s-review/index.js +2 -2
  165. package/dist/s-review/s-review.d.ts +25 -1
  166. package/dist/s-review/s-review.js +104 -97
  167. package/dist/s-scroll-reveal/index.js +2 -2
  168. package/dist/s-scroll-reveal/s-scroll-reveal.d.ts +17 -36
  169. package/dist/s-scroll-reveal/s-scroll-reveal.js +43 -33
  170. package/dist/s-scroll-to-top/index.js +2 -2
  171. package/dist/s-scroll-to-top/s-scroll-to-top.d.ts +12 -17
  172. package/dist/s-scroll-to-top/s-scroll-to-top.js +20 -15
  173. package/dist/s-select/index.js +2 -2
  174. package/dist/s-select/s-select.d.ts +3 -22
  175. package/dist/s-select/s-select.js +76 -72
  176. package/dist/s-select-list/index.js +2 -2
  177. package/dist/s-select-list/s-select-list.d.ts +16 -19
  178. package/dist/s-select-list/s-select-list.js +33 -28
  179. package/dist/s-skeleton/index.js +2 -2
  180. package/dist/s-skeleton/s-skeleton.d.ts +6 -22
  181. package/dist/s-skeleton/s-skeleton.js +28 -18
  182. package/dist/s-snackbar-message/index.js +4 -4
  183. package/dist/s-snackbar-message/s-snackbar-message.d.ts +5 -23
  184. package/dist/s-snackbar-message/s-snackbar-message.js +38 -31
  185. package/dist/s-spotlight-cursor/index.js +2 -2
  186. package/dist/s-spotlight-cursor/s-spotlight-cursor.d.ts +10 -44
  187. package/dist/s-spotlight-cursor/s-spotlight-cursor.js +35 -29
  188. package/dist/s-stripe/index.d.ts +4 -1
  189. package/dist/s-stripe/index.js +7 -4
  190. package/dist/s-stripe/s-stripe-cvc.d.ts +8 -0
  191. package/dist/s-stripe/s-stripe-cvc.js +15 -0
  192. package/dist/s-stripe/s-stripe-expiry.d.ts +8 -0
  193. package/dist/s-stripe/s-stripe-expiry.js +15 -0
  194. package/dist/s-stripe/s-stripe-number.d.ts +8 -0
  195. package/dist/s-stripe/s-stripe-number.js +15 -0
  196. package/dist/s-stripe/s-stripe.d.ts +6 -85
  197. package/dist/s-stripe/s-stripe.js +24 -27
  198. package/dist/s-stripe/stripe-input.js +22 -18
  199. package/dist/s-tabs/index.js +6 -6
  200. package/dist/s-tabs/s-tab-panel.d.ts +11 -1
  201. package/dist/s-tabs/s-tab-panel.js +25 -16
  202. package/dist/s-tabs/s-tab.js +9 -5
  203. package/dist/s-tabs/s-tabs.d.ts +24 -3
  204. package/dist/s-tabs/s-tabs.js +34 -25
  205. package/dist/s-text-editor/index.js +3 -3
  206. package/dist/s-text-editor/s-text-editor-toolbar.js +91 -76
  207. package/dist/s-text-editor/s-text-editor.d.ts +13 -11
  208. package/dist/s-text-editor/s-text-editor.js +44 -30
  209. package/dist/s-text-field/index.js +2 -2
  210. package/dist/s-text-field/s-text-field.d.ts +6 -15
  211. package/dist/s-text-field/s-text-field.js +38 -28
  212. package/dist/s-text-shimmer/index.js +2 -2
  213. package/dist/s-text-shimmer/s-text-shimmer.d.ts +10 -1
  214. package/dist/s-text-shimmer/s-text-shimmer.js +27 -18
  215. package/dist/s-text-truncation/index.js +2 -2
  216. package/dist/s-text-truncation/s-text-truncation.d.ts +9 -38
  217. package/dist/s-text-truncation/s-text-truncation.js +34 -20
  218. package/dist/s-theme-demo/s-theme-demo.js +238 -223
  219. package/dist/s-theme-provider/index.js +1 -1
  220. package/dist/s-theme-provider/s-theme-provider.d.ts +5 -17
  221. package/dist/s-theme-provider/s-theme-provider.js +44 -34
  222. package/dist/s-theme-switch/s-theme-switch.js +23 -19
  223. package/dist/s-tip/index.js +2 -2
  224. package/dist/s-tip/s-tip.d.ts +5 -22
  225. package/dist/s-tip/s-tip.js +22 -12
  226. package/dist/s-two-pane-layout/index.js +10 -2
  227. package/dist/s-two-pane-layout/s-two-pane-layout.d.ts +7 -1
  228. package/dist/s-two-pane-layout/s-two-pane-layout.js +58 -48
  229. package/dist/s-typewriter-text/index.js +2 -2
  230. package/dist/s-typewriter-text/s-typewriter-text.d.ts +17 -1
  231. package/dist/s-typewriter-text/s-typewriter-text.js +37 -27
  232. package/dist/s-zoom-image/index.js +10 -2
  233. package/dist/s-zoom-image/s-zoom-image.d.ts +10 -42
  234. package/dist/s-zoom-image/s-zoom-image.js +62 -52
  235. package/dist/theme/components/alert.d.ts +1440 -1440
  236. package/dist/theme/components/button.d.ts +2156 -2156
  237. package/dist/theme/components/chip.d.ts +2 -2
  238. package/dist/theme/customizations/data-display.js +1 -1
  239. package/dist/{typographyClasses-C7fhAsUD.js → typographyClasses-DDyl9mok.js} +4 -4
  240. package/dist/{useMobilePicker-DgxcRrRB.js → useMobilePicker-C1RZZUWr.js} +1 -1
  241. package/package.json +10 -4
@@ -1,20 +1,41 @@
1
1
  import { default as React } from 'react';
2
2
  import { BoxProps, TabProps, TabsProps } from '@mui/material';
3
+ /**
4
+ * Props interface for STabs component
5
+ */
3
6
  export interface STabsProps extends Omit<TabsProps, 'children'> {
7
+ /** Array of tab configuration objects defining the tabs to display */
4
8
  tabs: STabItem[];
9
+ /** Index of the currently active tab. Set to false for uncontrolled mode */
5
10
  activeTab?: number | false;
6
- onTabChange?: (event: React.SyntheticEvent, value: any) => void;
11
+ /** Callback function called when a tab is selected */
12
+ onTabChange?: (event: React.SyntheticEvent, value: number) => void;
13
+ /** Tab panel content. Children are matched to tabs by index */
7
14
  children?: React.ReactNode;
15
+ /** Additional props passed to the tab panel wrapper Box component */
8
16
  tabPanelProps?: BoxProps;
9
17
  }
18
+ /**
19
+ * Configuration object interface for individual tabs in STabs
20
+ */
10
21
  export interface STabItem {
22
+ /** The content displayed in the tab */
11
23
  label: React.ReactNode;
12
- value?: any;
24
+ /** Custom value for the tab. If not provided, uses the tab index */
25
+ value?: number;
26
+ /** Whether the tab is disabled and cannot be selected */
13
27
  disabled?: boolean;
28
+ /** Icon element to display in the tab */
14
29
  icon?: React.ReactElement;
30
+ /** Position of the icon relative to the label */
15
31
  iconPosition?: 'start' | 'end' | 'top' | 'bottom';
32
+ /** Whether the tab label should wrap to multiple lines */
16
33
  wrapped?: boolean;
34
+ /** Additional props passed to the underlying Material-UI Tab component */
17
35
  tabProps?: Omit<TabProps, 'label' | 'value' | 'disabled' | 'icon' | 'iconPosition' | 'wrapped'>;
18
36
  }
19
- declare const STabs: React.ForwardRefExoticComponent<Omit<STabsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
37
+ /**
38
+ * A flexible tabs component system built on Material-UI Tabs.
39
+ */
40
+ export declare const STabs: React.ForwardRefExoticComponent<Omit<STabsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
41
  export default STabs;
@@ -1,34 +1,43 @@
1
- import { j as o } from "../jsx-runtime-OVHDjVDe.js";
2
- import i, { forwardRef as c } from "react";
3
- import { Tabs as x, Tab as j, Box as P } from "@mui/material";
4
- const R = c(
5
- ({ tabs: t, activeTab: e = 0, onTabChange: l, children: d, tabPanelProps: a, ...n }, m) => {
6
- const [p, f] = i.useState(e);
7
- i.useEffect(() => {
8
- e !== !1 && f(e);
9
- }, [e]);
10
- const u = (s, r) => {
11
- e === !1 && f(r), l == null || l(s, r);
1
+ import { j as n } from "../jsx-runtime-OVHDjVDe.js";
2
+ import o, { forwardRef as f } from "react";
3
+ import { Tabs as y, Tab as h, Box as _ } from "@mui/material";
4
+ const s = f(
5
+ ({ tabs: l, activeTab: a = 0, onTabChange: r, children: i, tabPanelProps: c, ...u }, b) => {
6
+ const [d, p] = o.useState(a);
7
+ o.useEffect(() => {
8
+ a !== !1 && p(a);
9
+ }, [a]);
10
+ const m = (e, t) => {
11
+ a === !1 && p(t), r == null || r(e, t);
12
12
  };
13
- return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
14
- /* @__PURE__ */ o.jsx(x, { ref: m, value: p, onChange: u, ...n, children: t.map((s, r) => /* @__PURE__ */ o.jsx(
15
- j,
13
+ return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
14
+ /* @__PURE__ */ n.jsx(y, { ref: b, value: d, onChange: m, ...u, children: l.map((e, t) => /* @__PURE__ */ n.jsx(
15
+ h,
16
16
  {
17
- label: s.label,
18
- value: s.value ?? r,
19
- disabled: s.disabled,
20
- icon: s.icon,
21
- iconPosition: s.iconPosition,
22
- wrapped: s.wrapped,
23
- ...s.tabProps
17
+ label: e.label,
18
+ value: e.value ?? t,
19
+ disabled: e.disabled,
20
+ icon: e.icon,
21
+ iconPosition: e.iconPosition,
22
+ wrapped: e.wrapped,
23
+ ...e.tabProps
24
24
  },
25
- r
25
+ t
26
26
  )) }),
27
- d && /* @__PURE__ */ o.jsx(P, { role: "tabpanel", padding: 2, ...a, children: i.Children.toArray(d)[p] })
27
+ i && /* @__PURE__ */ n.jsx(_, { role: "tabpanel", padding: 2, ...c, children: o.Children.toArray(i)[d] })
28
28
  ] });
29
29
  }
30
30
  );
31
- R.displayName = "STabs";
31
+ s.displayName = "STabs";
32
+ try {
33
+ s.displayName = "STabs", s.__docgenInfo = { description: "A flexible tabs component system built on Material-UI Tabs.", displayName: "STabs", props: { children: { defaultValue: null, description: "Tab panel content. Children are matched to tabs by index", name: "children", required: !1, type: { name: "ReactNode" } }, tabs: { defaultValue: null, description: "Array of tab configuration objects defining the tabs to display", name: "tabs", required: !0, type: { name: "STabItem[]" } }, activeTab: { defaultValue: { value: "0" }, description: "Index of the currently active tab. Set to false for uncontrolled mode", name: "activeTab", required: !1, type: { name: "number | false" } }, onTabChange: { defaultValue: null, description: "Callback function called when a tab is selected", name: "onTabChange", required: !1, type: { name: "((event: SyntheticEvent<Element, Event>, value: number) => void)" } }, tabPanelProps: { defaultValue: null, description: "Additional props passed to the tab panel wrapper Box component", name: "tabPanelProps", required: !1, type: { name: "BoxProps" } } } };
34
+ } catch {
35
+ }
36
+ try {
37
+ stabs.displayName = "stabs", stabs.__docgenInfo = { description: "A flexible tabs component system built on Material-UI Tabs.", displayName: "stabs", props: { children: { defaultValue: null, description: "Tab panel content. Children are matched to tabs by index", name: "children", required: !1, type: { name: "ReactNode" } }, tabs: { defaultValue: null, description: "Array of tab configuration objects defining the tabs to display", name: "tabs", required: !0, type: { name: "STabItem[]" } }, activeTab: { defaultValue: { value: "0" }, description: "Index of the currently active tab. Set to false for uncontrolled mode", name: "activeTab", required: !1, type: { name: "number | false" } }, onTabChange: { defaultValue: null, description: "Callback function called when a tab is selected", name: "onTabChange", required: !1, type: { name: "((event: SyntheticEvent<Element, Event>, value: number) => void)" } }, tabPanelProps: { defaultValue: null, description: "Additional props passed to the tab panel wrapper Box component", name: "tabPanelProps", required: !1, type: { name: "BoxProps" } } } };
38
+ } catch {
39
+ }
32
40
  export {
33
- R as default
41
+ s as STabs,
42
+ s as default
34
43
  };
@@ -1,6 +1,6 @@
1
- import { default as t } from "./s-text-editor.js";
2
- import { STextEditorToolbar as f } from "./s-text-editor-toolbar.js";
1
+ import { STextEditor as t } from "./s-text-editor.js";
2
+ import { STextEditorToolbar as x } from "./s-text-editor-toolbar.js";
3
3
  export {
4
- f as STextEditorToolbar,
4
+ x as STextEditorToolbar,
5
5
  t as default
6
6
  };
@@ -1,31 +1,31 @@
1
- import { j as c } from "../jsx-runtime-OVHDjVDe.js";
2
- import * as r from "react";
1
+ import { j as e } from "../jsx-runtime-OVHDjVDe.js";
2
+ import * as h from "react";
3
3
  import { c as i } from "../createSvgIcon-DxwgGAVe.js";
4
4
  import { MenuItem as u } from "@mui/material";
5
5
  import { usePopover as m } from "../hooks/use-popover.js";
6
- import p from "../s-text-field/s-text-field.js";
7
- import { I as f, S as x, F as d } from "../Select-DabtQlJT.js";
8
- import { S as v } from "../Stack-Cq2r2NmC.js";
6
+ import { STextField as g } from "../s-text-field/s-text-field.js";
7
+ import { I as f, S as x, F as b } from "../Select-DabtQlJT.js";
8
+ import { S as d } from "../Stack-Cq2r2NmC.js";
9
9
  import { P as j } from "../Menu-CWq-a1Wz.js";
10
- const k = i(/* @__PURE__ */ c.jsx("path", {
10
+ const k = i(/* @__PURE__ */ e.jsx("path", {
11
11
  d: "M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"
12
- }), "Code"), H = i(/* @__PURE__ */ c.jsx("path", {
12
+ }), "Code"), H = i(/* @__PURE__ */ e.jsx("path", {
13
13
  d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42M10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5"
14
- }), "FormatBold"), b = i(/* @__PURE__ */ c.jsx("path", {
14
+ }), "FormatBold"), L = i(/* @__PURE__ */ e.jsx("path", {
15
15
  d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"
16
- }), "FormatItalic"), L = i(/* @__PURE__ */ c.jsx("path", {
16
+ }), "FormatItalic"), C = i(/* @__PURE__ */ e.jsx("path", {
17
17
  d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5m0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5M7 19h14v-2H7zm0-6h14v-2H7zm0-8v2h14V5z"
18
- }), "FormatListBulleted"), C = i(/* @__PURE__ */ c.jsx("path", {
18
+ }), "FormatListBulleted"), I = i(/* @__PURE__ */ e.jsx("path", {
19
19
  d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2zm1-9h1V4H2v1h1zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2zm5-6v2h14V5zm0 14h14v-2H7zm0-6h14v-2H7z"
20
- }), "FormatListNumbered"), g = i(/* @__PURE__ */ c.jsx("path", {
20
+ }), "FormatListNumbered"), p = i(/* @__PURE__ */ e.jsx("path", {
21
21
  d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"
22
- }), "Link"), I = i(/* @__PURE__ */ c.jsx("path", {
22
+ }), "Link"), z = i(/* @__PURE__ */ e.jsx("path", {
23
23
  d: "M6.85 7.08C6.85 4.37 9.45 3 12.24 3c1.64 0 3 .49 3.9 1.28.77.65 1.46 1.73 1.46 3.24h-3.01c0-.31-.05-.59-.15-.85-.29-.86-1.2-1.28-2.25-1.28-1.86 0-2.34 1.02-2.34 1.7 0 .48.25.88.74 1.21.38.25.77.48 1.41.7H7.39c-.21-.34-.54-.89-.54-1.92M21 12v-2H3v2h9.62c1.15.45 1.96.75 1.96 1.97 0 1-.81 1.67-2.28 1.67-1.54 0-2.93-.54-2.93-2.51H6.4c0 .55.08 1.13.24 1.58.81 2.29 3.29 3.3 5.67 3.3 2.27 0 5.3-.89 5.3-4.05 0-.3-.01-1.16-.48-1.94H21z"
24
- }), "StrikethroughS"), N = ({ editor: n }) => {
25
- const e = m(), [o, t] = r.useState("");
26
- return /* @__PURE__ */ c.jsxs(r.Fragment, { children: [
27
- /* @__PURE__ */ c.jsx(
28
- v,
24
+ }), "StrikethroughS"), v = ({ editor: n }) => {
25
+ const a = m(), [l, s] = h.useState("");
26
+ return /* @__PURE__ */ e.jsxs(h.Fragment, { children: [
27
+ /* @__PURE__ */ e.jsx(
28
+ d,
29
29
  {
30
30
  className: "tiptap-toolbar",
31
31
  spacing: 1,
@@ -35,171 +35,186 @@ const k = i(/* @__PURE__ */ c.jsx("path", {
35
35
  p: "8px",
36
36
  minHeight: "57px"
37
37
  },
38
- children: n ? /* @__PURE__ */ c.jsxs(v, { direction: "row", spacing: 0.5, sx: { alignItems: "center", flexWrap: "wrap" }, children: [
39
- /* @__PURE__ */ c.jsxs(
38
+ children: n ? /* @__PURE__ */ e.jsxs(d, { direction: "row", spacing: 0.5, sx: { alignItems: "center", flexWrap: "wrap" }, children: [
39
+ /* @__PURE__ */ e.jsxs(
40
40
  x,
41
41
  {
42
- onChange: (s) => {
43
- const l = s.target.value;
44
- if (l) {
45
- if (l === "p") {
42
+ onChange: (t) => {
43
+ const o = t.target.value;
44
+ if (o) {
45
+ if (o === "p") {
46
46
  n.chain().focus().setParagraph().run();
47
47
  return;
48
48
  }
49
- if (l.startsWith("h")) {
50
- const h = parseInt(l.replace("h", ""));
51
- !isNaN(h) && h >= 1 && h <= 6 && n.chain().focus().setHeading({ level: h }).run();
49
+ if (o.startsWith("h")) {
50
+ const r = parseInt(o.replace("h", ""));
51
+ !isNaN(r) && r >= 1 && r <= 6 && n.chain().focus().setHeading({ level: r }).run();
52
52
  }
53
53
  }
54
54
  },
55
- value: z(n),
55
+ value: S(n),
56
56
  children: [
57
- /* @__PURE__ */ c.jsx(u, { disabled: !n.can().chain().focus().setParagraph().run(), value: "p", children: "Paragraph" }),
58
- [1, 2, 3, 4, 5, 6].map((s) => /* @__PURE__ */ c.jsxs(
57
+ /* @__PURE__ */ e.jsx(u, { disabled: !n.can().chain().focus().setParagraph().run(), value: "p", children: "Paragraph" }),
58
+ [1, 2, 3, 4, 5, 6].map((t) => /* @__PURE__ */ e.jsxs(
59
59
  u,
60
60
  {
61
- disabled: !n.can().chain().focus().setHeading({ level: s }).run(),
62
- value: `h${s}`,
61
+ disabled: !n.can().chain().focus().setHeading({ level: t }).run(),
62
+ value: `h${t}`,
63
63
  children: [
64
64
  "Heading ",
65
- s
65
+ t
66
66
  ]
67
67
  },
68
- s
68
+ t
69
69
  ))
70
70
  ]
71
71
  }
72
72
  ),
73
- /* @__PURE__ */ c.jsx(
74
- a,
73
+ /* @__PURE__ */ e.jsx(
74
+ c,
75
75
  {
76
76
  active: n.isActive("bold"),
77
77
  disabled: !n.can().chain().focus().toggleBold().run(),
78
78
  onClick: () => {
79
79
  n.chain().focus().toggleBold().run();
80
80
  },
81
- children: /* @__PURE__ */ c.jsx(H, {})
81
+ children: /* @__PURE__ */ e.jsx(H, {})
82
82
  }
83
83
  ),
84
- /* @__PURE__ */ c.jsx(
85
- a,
84
+ /* @__PURE__ */ e.jsx(
85
+ c,
86
86
  {
87
87
  active: n.isActive("italic"),
88
88
  disabled: !n.can().chain().focus().toggleItalic().run(),
89
89
  onClick: () => {
90
90
  n.chain().focus().toggleItalic().run();
91
91
  },
92
- children: /* @__PURE__ */ c.jsx(b, {})
92
+ children: /* @__PURE__ */ e.jsx(L, {})
93
93
  }
94
94
  ),
95
- /* @__PURE__ */ c.jsx(
96
- a,
95
+ /* @__PURE__ */ e.jsx(
96
+ c,
97
97
  {
98
98
  active: n.isActive("strike"),
99
99
  disabled: !n.can().chain().focus().toggleStrike().run(),
100
100
  onClick: () => {
101
101
  n.chain().focus().toggleStrike().run();
102
102
  },
103
- children: /* @__PURE__ */ c.jsx(I, {})
103
+ children: /* @__PURE__ */ e.jsx(z, {})
104
104
  }
105
105
  ),
106
- /* @__PURE__ */ c.jsx(
107
- a,
106
+ /* @__PURE__ */ e.jsx(
107
+ c,
108
108
  {
109
109
  active: n.isActive("codeBlock"),
110
110
  disabled: !n.can().chain().focus().toggleCodeBlock().run(),
111
111
  onClick: () => {
112
112
  n.chain().focus().toggleCodeBlock();
113
113
  },
114
- children: /* @__PURE__ */ c.jsx(k, {})
114
+ children: /* @__PURE__ */ e.jsx(k, {})
115
115
  }
116
116
  ),
117
- /* @__PURE__ */ c.jsx(
118
- a,
117
+ /* @__PURE__ */ e.jsx(
118
+ c,
119
119
  {
120
120
  active: n.isActive("bulletList"),
121
121
  disabled: !n.can().chain().focus().toggleBulletList().run(),
122
122
  onClick: () => {
123
123
  n.chain().focus().toggleBulletList().run();
124
124
  },
125
- children: /* @__PURE__ */ c.jsx(L, {})
125
+ children: /* @__PURE__ */ e.jsx(C, {})
126
126
  }
127
127
  ),
128
- /* @__PURE__ */ c.jsx(
129
- a,
128
+ /* @__PURE__ */ e.jsx(
129
+ c,
130
130
  {
131
131
  active: n.isActive("orderedList"),
132
132
  disabled: !n.can().chain().focus().toggleOrderedList().run(),
133
133
  onClick: () => {
134
134
  n.chain().focus().toggleOrderedList().run();
135
135
  },
136
- children: /* @__PURE__ */ c.jsx(C, {})
136
+ children: /* @__PURE__ */ e.jsx(I, {})
137
137
  }
138
138
  ),
139
- /* @__PURE__ */ c.jsx(
140
- a,
139
+ /* @__PURE__ */ e.jsx(
140
+ c,
141
141
  {
142
142
  onClick: () => {
143
- t(n.getAttributes("link").href ?? ""), e.handleOpen();
143
+ s(n.getAttributes("link").href ?? ""), a.handleOpen();
144
144
  },
145
- ref: e.anchorRef,
146
- children: /* @__PURE__ */ c.jsx(g, {})
145
+ ref: a.anchorRef,
146
+ children: /* @__PURE__ */ e.jsx(p, {})
147
147
  }
148
148
  ),
149
- /* @__PURE__ */ c.jsx(
150
- a,
149
+ /* @__PURE__ */ e.jsx(
150
+ c,
151
151
  {
152
152
  active: n.isActive("link"),
153
153
  disabled: !n.can().chain().focus().unsetLink().run(),
154
154
  onClick: () => {
155
155
  n.chain().focus().unsetLink().run();
156
156
  },
157
- children: /* @__PURE__ */ c.jsx(g, {})
157
+ children: /* @__PURE__ */ e.jsx(p, {})
158
158
  }
159
159
  )
160
160
  ] }) : null
161
161
  }
162
162
  ),
163
- /* @__PURE__ */ c.jsx(
163
+ /* @__PURE__ */ e.jsx(
164
164
  j,
165
165
  {
166
- anchorEl: e.anchorRef.current,
166
+ anchorEl: a.anchorRef.current,
167
167
  anchorOrigin: { horizontal: "left", vertical: "bottom" },
168
168
  onClose: () => {
169
- e.handleClose(), t("");
169
+ a.handleClose(), s("");
170
170
  },
171
- open: e.open,
171
+ open: a.open,
172
172
  slotProps: { paper: { sx: { p: 2 } } },
173
- children: /* @__PURE__ */ c.jsx(d, { children: /* @__PURE__ */ c.jsx(
174
- p,
173
+ children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(
174
+ g,
175
175
  {
176
176
  name: "url",
177
177
  label: "URL",
178
- onChange: (s) => {
179
- t(s.target.value);
178
+ onChange: (t) => {
179
+ s(t.target.value);
180
180
  },
181
- onKeyUp: (s) => {
182
- if (s.key === "Enter") {
183
- if (o === "") {
181
+ onKeyUp: (t) => {
182
+ if (t.key === "Enter") {
183
+ if (l === "") {
184
184
  n == null || n.chain().focus().extendMarkRange("link").unsetLink().run();
185
185
  return;
186
186
  }
187
- n == null || n.chain().focus().setLink({ href: o }).run(), e.handleClose(), t("");
187
+ n == null || n.chain().focus().setLink({ href: l }).run(), a.handleClose(), s("");
188
188
  }
189
189
  },
190
- value: o
190
+ value: l
191
191
  }
192
192
  ) })
193
193
  }
194
194
  )
195
195
  ] });
196
196
  };
197
- function z(n) {
197
+ function S(n) {
198
198
  return n.isActive("paragraph") ? "p" : n.isActive("heading", { level: 1 }) ? "h1" : n.isActive("heading", { level: 2 }) ? "h2" : n.isActive("heading", { level: 3 }) ? "h3" : n.isActive("heading", { level: 4 }) ? "h4" : n.isActive("heading", { level: 5 }) ? "h5" : n.isActive("heading", { level: 6 }) ? "h6" : "p";
199
199
  }
200
- const a = r.forwardRef(function({ active: e, children: o, disabled: t, onClick: s }, l) {
201
- return /* @__PURE__ */ c.jsx(f, { color: e ? "primary" : "inherit", disabled: t, onClick: s, ref: l, children: o });
200
+ const c = h.forwardRef(function({ active: a, children: l, disabled: s, onClick: t }, o) {
201
+ return /* @__PURE__ */ e.jsx(f, { color: a ? "primary" : "inherit", disabled: s, onClick: t, ref: o, children: l });
202
202
  });
203
+ try {
204
+ v.displayName = "STextEditorToolbar", v.__docgenInfo = { description: `Rich text editor toolbar component with comprehensive formatting controls
205
+
206
+ Provides a full-featured toolbar for text formatting including:
207
+ - Text styles: paragraph, headings (H1-H6)
208
+ - Format options: bold, italic, strikethrough
209
+ - Lists: bulleted and numbered
210
+ - Code blocks
211
+ - Link management with popover interface
212
+
213
+ The toolbar dynamically enables/disables controls based on editor capabilities
214
+ and current selection context. Link editing is handled through a popover with
215
+ URL input field.`, displayName: "STextEditorToolbar", props: { editor: { defaultValue: null, description: "The Tiptap editor instance - null when editor is not yet initialized", name: "editor", required: !0, type: { name: "Editor | null" } } } };
216
+ } catch {
217
+ }
203
218
  export {
204
- N as STextEditorToolbar
219
+ v as STextEditorToolbar
205
220
  };
@@ -1,23 +1,25 @@
1
1
  import { EditorOptions } from '@tiptap/react';
2
2
  import * as React from 'react';
3
+ /**
4
+ * Props interface for STextEditor component
5
+ */
3
6
  export interface STextEditorProps {
7
+ /** Initial content for the editor (HTML string or Tiptap JSON) */
4
8
  content: EditorOptions['content'];
9
+ /** Whether the editor content can be modified */
5
10
  editable?: EditorOptions['editable'];
11
+ /** Hide the formatting toolbar (useful for read-only displays) */
6
12
  hideToolbar?: boolean;
13
+ /** Callback fired when editor content changes */
7
14
  onUpdate?: EditorOptions['onUpdate'];
15
+ /** Placeholder text shown when editor is empty */
8
16
  placeholder?: string;
9
17
  }
10
18
  /**
11
- * A thin wrapper around tiptap.
12
- *
13
- * How to get the updated content:
14
- * ```ts
15
- * <TextEditor
16
- * onUpdate={({ editor }) => {
17
- * console.log(editor.getHTML());
18
- * }}
19
- * />
20
- * ```
19
+ * A powerful rich text editor built on Tiptap with an integrated toolbar.
21
20
  */
22
- declare const STextEditor: ({ content, editable, hideToolbar, onUpdate, placeholder, }: STextEditorProps) => React.JSX.Element;
21
+ export declare const STextEditor: {
22
+ ({ content, editable, hideToolbar, onUpdate, placeholder, }: STextEditorProps): React.JSX.Element;
23
+ displayName: string;
24
+ };
23
25
  export default STextEditor;
@@ -1,42 +1,42 @@
1
1
  import { j as o } from "../jsx-runtime-OVHDjVDe.js";
2
- import * as p from "react";
3
- import { Link as n } from "@tiptap/extension-link";
4
- import { Placeholder as m } from "@tiptap/extension-placeholder";
5
- import { useEditor as c, EditorContent as f } from "@tiptap/react";
6
- import { StarterKit as u } from "@tiptap/starter-kit";
7
- import { STextEditorToolbar as x } from "./s-text-editor-toolbar.js";
8
- import { B as d } from "../Box-Ha0cQ4KO.js";
9
- const C = ({
10
- content: r,
11
- editable: t = !0,
12
- hideToolbar: i,
13
- onUpdate: s = () => {
2
+ import * as s from "react";
3
+ import { Link as p } from "@tiptap/extension-link";
4
+ import { Placeholder as c } from "@tiptap/extension-placeholder";
5
+ import { useEditor as u, EditorContent as f } from "@tiptap/react";
6
+ import { StarterKit as m } from "@tiptap/starter-kit";
7
+ import { STextEditorToolbar as h } from "./s-text-editor-toolbar.js";
8
+ import { B as x } from "../Box-Ha0cQ4KO.js";
9
+ const r = ({
10
+ content: e,
11
+ editable: i = !0,
12
+ hideToolbar: a,
13
+ onUpdate: n = () => {
14
14
  },
15
- placeholder: a
15
+ placeholder: l
16
16
  }) => {
17
- const l = [
18
- u,
19
- m.configure({ emptyEditorClass: "is-editor-empty", placeholder: a }),
20
- n.configure({ openOnClick: !1, autolink: !0 })
21
- ], e = c({
22
- extensions: l,
23
- content: r,
24
- editable: t,
25
- onUpdate: s,
17
+ const d = [
18
+ m,
19
+ c.configure({ emptyEditorClass: "is-editor-empty", placeholder: l }),
20
+ p.configure({ openOnClick: !1, autolink: !0 })
21
+ ], t = u({
22
+ extensions: d,
23
+ content: e,
24
+ editable: i,
25
+ onUpdate: n,
26
26
  parseOptions: {
27
27
  preserveWhitespace: "full"
28
28
  }
29
29
  });
30
- return p.useEffect(() => {
31
- e == null || e.commands.setContent(r, !1, { preserveWhitespace: "full" });
32
- }, [r]), /* @__PURE__ */ o.jsxs(
33
- d,
30
+ return s.useEffect(() => {
31
+ t == null || t.commands.setContent(e, !1, { preserveWhitespace: "full" });
32
+ }, [e]), /* @__PURE__ */ o.jsxs(
33
+ x,
34
34
  {
35
35
  className: "tiptap-root",
36
36
  sx: {
37
37
  display: "flex",
38
38
  flexDirection: "column",
39
- ...t && {
39
+ ...i && {
40
40
  border: "1px solid",
41
41
  borderColor: "divider",
42
42
  borderRadius: 1
@@ -69,12 +69,26 @@ const C = ({
69
69
  }
70
70
  },
71
71
  children: [
72
- i ? /* @__PURE__ */ o.jsx("div", {}) : /* @__PURE__ */ o.jsx(x, { editor: e }),
73
- /* @__PURE__ */ o.jsx(f, { className: "tiptap-container", editor: e })
72
+ a ? /* @__PURE__ */ o.jsx("div", {}) : /* @__PURE__ */ o.jsx(h, { editor: t }),
73
+ /* @__PURE__ */ o.jsx(f, { className: "tiptap-container", editor: t })
74
74
  ]
75
75
  }
76
76
  );
77
77
  };
78
+ r.displayName = "STextEditor";
79
+ try {
80
+ r.displayName = "STextEditor", r.__docgenInfo = { description: "A powerful rich text editor built on Tiptap with an integrated toolbar.", displayName: "STextEditor", props: { content: { defaultValue: null, description: "Initial content for the editor (HTML string or Tiptap JSON)", name: "content", required: !0, type: { name: "Content" } }, editable: { defaultValue: { value: "true" }, description: "Whether the editor content can be modified", name: "editable", required: !1, type: { name: "boolean" } }, hideToolbar: { defaultValue: null, description: "Hide the formatting toolbar (useful for read-only displays)", name: "hideToolbar", required: !1, type: { name: "boolean" } }, onUpdate: { defaultValue: { value: `() => {
81
+ // noop
82
+ }` }, description: "Callback fired when editor content changes", name: "onUpdate", required: !1, type: { name: "((props: { editor: Editor; transaction: Transaction; }) => void)" } }, placeholder: { defaultValue: null, description: "Placeholder text shown when editor is empty", name: "placeholder", required: !1, type: { name: "string" } } } };
83
+ } catch {
84
+ }
85
+ try {
86
+ stexteditor.displayName = "stexteditor", stexteditor.__docgenInfo = { description: "A powerful rich text editor built on Tiptap with an integrated toolbar.", displayName: "stexteditor", props: { content: { defaultValue: null, description: "Initial content for the editor (HTML string or Tiptap JSON)", name: "content", required: !0, type: { name: "Content" } }, editable: { defaultValue: { value: "true" }, description: "Whether the editor content can be modified", name: "editable", required: !1, type: { name: "boolean" } }, hideToolbar: { defaultValue: null, description: "Hide the formatting toolbar (useful for read-only displays)", name: "hideToolbar", required: !1, type: { name: "boolean" } }, onUpdate: { defaultValue: { value: `() => {
87
+ // noop
88
+ }` }, description: "Callback fired when editor content changes", name: "onUpdate", required: !1, type: { name: "((props: { editor: Editor; transaction: Transaction; }) => void)" } }, placeholder: { defaultValue: null, description: "Placeholder text shown when editor is empty", name: "placeholder", required: !1, type: { name: "string" } } } };
89
+ } catch {
90
+ }
78
91
  export {
79
- C as default
92
+ r as STextEditor,
93
+ r as default
80
94
  };
@@ -1,4 +1,4 @@
1
- import { default as o } from "./s-text-field.js";
1
+ import { STextField as a } from "./s-text-field.js";
2
2
  export {
3
- o as default
3
+ a as default
4
4
  };
@@ -1,8 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { TextField } from '@mui/material';
3
3
  /**
4
- * Props for STextField component - extends Material-UI TextField props
5
- * but replaces the 'error' prop to use string messages instead of boolean
4
+ * Props interface for STextField component
6
5
  */
7
6
  export type STextFieldProps = Omit<React.ComponentProps<typeof TextField>, 'error'> & {
8
7
  /** Field label displayed above the input */
@@ -17,18 +16,10 @@ export type STextFieldProps = Omit<React.ComponentProps<typeof TextField>, 'erro
17
16
  hint?: string;
18
17
  };
19
18
  /**
20
- * STextField - A standardized text input component that wraps Material-UI TextField
21
- * with consistent form labeling, validation, and help text patterns.
22
- *
23
- * Key features:
24
- * - Integrates with SForm for consistent label and error handling
25
- * - Supports string-based error messages for better user experience
26
- * - Maintains full Material-UI TextField API compatibility
27
- * - Provides accessible form labeling with htmlFor/id association
28
- * - Includes help text tooltip functionality
29
- *
30
- * @param props - STextFieldProps with form integration and Material-UI TextField props
31
- * @returns JSX.Element - Wrapped TextField with form labeling and validation
19
+ * An enhanced text field component with integrated form labeling, error handling, and password visibility toggle.
32
20
  */
33
- declare const STextField: ({ label, required, error, type, htmlFor, hint, ...props }: STextFieldProps) => React.JSX.Element;
21
+ export declare const STextField: {
22
+ ({ label, required, error, type, htmlFor, hint, ...props }: STextFieldProps): React.JSX.Element;
23
+ displayName: string;
24
+ };
34
25
  export default STextField;