@solostylist/ui-kit 1.0.168 → 1.0.170

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 (31) hide show
  1. package/dist/ContentCopy-7nFBtjhs.js +11 -0
  2. package/dist/main.d.ts +4 -0
  3. package/dist/main.js +110 -102
  4. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +2 -2
  5. package/dist/s-blur-text/s-blur-text.js +1 -1
  6. package/dist/s-breadcrumbs/s-breadcrumbs.js +2 -2
  7. package/dist/s-category-card/s-category-card.js +2 -2
  8. package/dist/s-code-block/index.d.ts +2 -0
  9. package/dist/s-code-block/index.js +4 -0
  10. package/dist/s-code-block/package.json +5 -0
  11. package/dist/s-code-block/s-code-block.d.ts +36 -0
  12. package/dist/s-code-block/s-code-block.js +1061 -0
  13. package/dist/s-copyable-text/s-copyable-text.js +17 -21
  14. package/dist/s-gradient-icon/s-gradient-icon.js +2 -2
  15. package/dist/s-scroll-reveal/s-scroll-reveal.js +2 -2
  16. package/dist/s-scroll-velocity/index.d.ts +6 -0
  17. package/dist/s-scroll-velocity/index.js +8 -0
  18. package/dist/s-scroll-velocity/package.json +5 -0
  19. package/dist/s-scroll-velocity/s-scroll-velocity.d.ts +24 -0
  20. package/dist/s-scroll-velocity/s-scroll-velocity.js +22 -0
  21. package/dist/s-scroll-velocity/scroll-velocity-container.d.ts +20 -0
  22. package/dist/s-scroll-velocity/scroll-velocity-container.js +40 -0
  23. package/dist/s-scroll-velocity/scroll-velocity-row.d.ts +27 -0
  24. package/dist/s-scroll-velocity/scroll-velocity-row.js +131 -0
  25. package/dist/s-stripe/s-stripe.js +2 -2
  26. package/dist/s-two-pane-layout/index.js +1 -1
  27. package/dist/s-two-pane-layout/s-two-pane-layout.js +2 -2
  28. package/dist/s-zoom-image/index.js +1 -1
  29. package/dist/s-zoom-image/s-zoom-image.js +2 -2
  30. package/dist/theme/theme-primitives.js +1 -1
  31. package/package.json +17 -3
@@ -0,0 +1,11 @@
1
+ import { j as o } from "./jsx-runtime-OVHDjVDe.js";
2
+ import { c } from "./createSvgIcon-DxwgGAVe.js";
3
+ const s = c(/* @__PURE__ */ o.jsx("path", {
4
+ d: "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
5
+ }), "Check"), a = c(/* @__PURE__ */ o.jsx("path", {
6
+ d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"
7
+ }), "ContentCopy");
8
+ export {
9
+ s as C,
10
+ a
11
+ };
package/dist/main.d.ts CHANGED
@@ -102,10 +102,14 @@ export { default as SPixelReveal } from './s-pixel-reveal/index';
102
102
  export type { SPixelRevealProps } from './s-pixel-reveal/index';
103
103
  export { default as SScrollReveal } from './s-scroll-reveal/index';
104
104
  export type { SScrollRevealProps } from './s-scroll-reveal/index';
105
+ export { default as SScrollVelocity, ScrollVelocityContainer, ScrollVelocityRow } from './s-scroll-velocity/index';
106
+ export type { SScrollVelocityProps, ScrollVelocityContainerProps, ScrollVelocityRowProps, } from './s-scroll-velocity/index';
105
107
  export { default as SSpotlightCursor } from './s-spotlight-cursor/index';
106
108
  export type { SSpotlightCursorProps, SpotlightConfig } from './s-spotlight-cursor/index';
107
109
  export { default as SCopyableText } from './s-copyable-text/index';
108
110
  export type { SCopyableTextProps } from './s-copyable-text/index';
111
+ export { default as SCodeBlock } from './s-code-block/index';
112
+ export type { SCodeBlockProps } from './s-code-block/index';
109
113
  export { default as SGallery, MediaItem } from './s-gallery/index';
110
114
  export type { SGalleryProps, MediaItemProps, GalleryLayoutVariant } from './s-gallery/index';
111
115
  export { default as SImageModal } from './s-image-modal/index';
package/dist/main.js CHANGED
@@ -1,21 +1,21 @@
1
- import { SAccordion as x } from "./s-accordion/s-accordion.js";
1
+ import { SAccordion as f } from "./s-accordion/s-accordion.js";
2
2
  import { SActionOverlay as i } from "./s-action-overlay/s-action-overlay.js";
3
3
  import { SAiToolBar as s, SAiToolBarInputType as n } from "./s-ai-tool-bar/s-ai-tool-bar.js";
4
4
  import { SAutocomplete as u } from "./s-autocomplete/s-autocomplete.js";
5
- import { SAvatar as c } from "./s-avatar/s-avatar.js";
6
- import { SBreadcrumbs as P } from "./s-breadcrumbs/s-breadcrumbs.js";
7
- import { SButton as v } from "./s-button/s-button.js";
8
- import { SButtonLink as y } from "./s-button-link/s-button-link.js";
5
+ import { SAvatar as d } from "./s-avatar/s-avatar.js";
6
+ import { SBreadcrumbs as C } from "./s-breadcrumbs/s-breadcrumbs.js";
7
+ import { SButton as y } from "./s-button/s-button.js";
8
+ import { SButtonLink as b } from "./s-button-link/s-button-link.js";
9
9
  import { SCarousel as D } from "./s-carousel/s-carousel.js";
10
10
  import { SChatInput as M } from "./s-chat-input/s-chat-input.js";
11
11
  import { SChatMessage as B } from "./s-chat-message/s-chat-message.js";
12
12
  import { SCommentMessage as A } from "./s-comment-message/s-comment-message.js";
13
- import { STextEditor as w } from "./s-text-editor/s-text-editor.js";
13
+ import { STextEditor as F } from "./s-text-editor/s-text-editor.js";
14
14
  import "./s-text-editor/s-text-editor-toolbar.js";
15
- import { SCheckbox as R } from "./s-checkbox/s-checkbox.js";
16
- import { SChip as G } from "./s-chip/s-chip.js";
17
- import { SChips as O } from "./s-chips/s-chips.js";
18
- import { SDataTable as V } from "./s-data-table/s-data-table.js";
15
+ import { SCheckbox as E } from "./s-checkbox/s-checkbox.js";
16
+ import { SChip as V } from "./s-chip/s-chip.js";
17
+ import { SChips as N } from "./s-chips/s-chips.js";
18
+ import { SDataTable as j } from "./s-data-table/s-data-table.js";
19
19
  import { DialogConfirmProvider as q, SDialogConfirm as H, useDialogConfirm as J } from "./s-dialog-confirm/s-dialog-confirm.js";
20
20
  import { DialogMessageProvider as Q, SDialogMessage as U, useDialogMessage as W } from "./s-dialog-message/s-dialog-message.js";
21
21
  import { SError as Y } from "./s-error/s-error.js";
@@ -24,22 +24,22 @@ import { SFlexBox as ro } from "./s-flex-box/s-flex-box.js";
24
24
  import "./s-two-pane-layout/index.js";
25
25
  import { SDialog as to } from "./s-dialog/s-dialog.js";
26
26
  import { SErrorLayout as po } from "./s-error-layout/s-error-layout.js";
27
- import { SFileDropzone as ao } from "./s-file-dropzone/s-file-dropzone.js";
28
- import { SFileIcon as fo } from "./s-file-icon/s-file-icon.js";
27
+ import { SFileDropzone as xo } from "./s-file-dropzone/s-file-dropzone.js";
28
+ import { SFileIcon as ao } from "./s-file-icon/s-file-icon.js";
29
29
  import { SI18nProvider as lo } from "./s-i18n-provider/s-i18n-provider.js";
30
30
  import { SIconButton as no } from "./s-icon-button/s-icon-button.js";
31
31
  import { SLabel as uo } from "./s-label/s-label.js";
32
32
  import { SMultiSelect as To } from "./s-multi-select/s-multi-select.js";
33
- import { SNoSsr as Co } from "./s-no-ssr/s-no-ssr.js";
34
- import { SOverlayScrollbar as bo } from "./s-overlay-scrollbar/s-overlay-scrollbar.js";
33
+ import { SNoSsr as Po } from "./s-no-ssr/s-no-ssr.js";
34
+ import { SOverlayScrollbar as vo } from "./s-overlay-scrollbar/s-overlay-scrollbar.js";
35
35
  import { STextField as Lo } from "./s-text-field/s-text-field.js";
36
36
  import { SPagination as Io } from "./s-pagination/s-pagination.js";
37
37
  import { SSelect as ho } from "./s-select/s-select.js";
38
38
  import { SSelectList as ko } from "./s-select-list/s-select-list.js";
39
- import { SSkeleton as Fo } from "./s-skeleton/s-skeleton.js";
40
- import { STip as Eo } from "./s-tip/s-tip.js";
39
+ import { SSkeleton as wo } from "./s-skeleton/s-skeleton.js";
40
+ import { STip as Ro } from "./s-tip/s-tip.js";
41
41
  import { STextTruncation as zo } from "./s-text-truncation/s-text-truncation.js";
42
- import { SSnackbarMessage as No, SnackbarMessageProvider as Oo, useSnackbarMessage as jo } from "./s-snackbar-message/s-snackbar-message.js";
42
+ import { SSnackbarMessage as Go, SnackbarMessageProvider as No, useSnackbarMessage as Oo } from "./s-snackbar-message/s-snackbar-message.js";
43
43
  import { SForm as Zo } from "./s-form/s-form.js";
44
44
  import { StripeTextField as Ho } from "./s-stripe/s-stripe.js";
45
45
  import { SStripeNumber as Ko } from "./s-stripe/s-stripe-number.js";
@@ -50,68 +50,73 @@ import { default as or } from "./s-theme-switch/s-theme-switch.js";
50
50
  import { SDateTimePicker as er } from "./s-datetime-picker/s-datetime-picker.js";
51
51
  import { SDatePicker as mr } from "./s-date-picker/s-date-picker.js";
52
52
  import { SLocalizationProvider as Sr } from "./s-localization-provider/s-localization-provider.js";
53
- import { SGradientIcon as xr } from "./s-gradient-icon/s-gradient-icon.js";
53
+ import { SGradientIcon as fr } from "./s-gradient-icon/s-gradient-icon.js";
54
54
  import { default as ir } from "./s-glow-button/s-glow-button.js";
55
55
  import { SMovingBorder as sr } from "./s-moving-border/s-moving-border.js";
56
56
  import { SPixelReveal as gr } from "./s-pixel-reveal/s-pixel-reveal.js";
57
- import { SScrollReveal as dr } from "./s-scroll-reveal/s-scroll-reveal.js";
58
- import { SSpotlightCursor as Tr } from "./s-spotlight-cursor/s-spotlight-cursor.js";
59
- import { SCopyableText as Cr } from "./s-copyable-text/s-copyable-text.js";
57
+ import { SScrollReveal as cr } from "./s-scroll-reveal/s-scroll-reveal.js";
58
+ import { SScrollVelocity as Tr } from "./s-scroll-velocity/s-scroll-velocity.js";
59
+ import { ScrollVelocityContainer as Pr } from "./s-scroll-velocity/scroll-velocity-container.js";
60
+ import { ScrollVelocityRow as vr } from "./s-scroll-velocity/scroll-velocity-row.js";
61
+ import { SSpotlightCursor as Lr } from "./s-spotlight-cursor/s-spotlight-cursor.js";
62
+ import { SCopyableText as Ir } from "./s-copyable-text/s-copyable-text.js";
63
+ import { SCodeBlock as hr } from "./s-code-block/s-code-block.js";
60
64
  import "./s-gallery/index.js";
61
- import { SImageModal as br } from "./s-image-modal/s-image-modal.js";
65
+ import { SImageModal as kr } from "./s-image-modal/s-image-modal.js";
62
66
  import "./s-lazy-image/index.js";
63
- import { default as Lr } from "./s-image-comparison/s-image-comparison.js";
67
+ import { default as wr } from "./s-image-comparison/s-image-comparison.js";
64
68
  import "./s-zoom-image/index.js";
65
- import { SItemNotFound as Ir } from "./s-item-not-found/s-item-not-found.js";
66
- import { SCategoryCard as hr } from "./s-category-card/s-category-card.js";
67
- import { SRadialPulseAnimate as kr } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
68
- import { SRating as Fr } from "./s-rating/s-rating.js";
69
- import { SReview as Er } from "./s-review/s-review.js";
70
- import { STabs as zr } from "./s-tabs/s-tabs.js";
71
- import { default as Nr } from "./s-tabs/s-tab.js";
72
- import { STabPanel as jr } from "./s-tabs/s-tab-panel.js";
73
- import { STextShimmer as Zr } from "./s-text-shimmer/s-text-shimmer.js";
74
- import { STypewriterText as Hr } from "./s-typewriter-text/s-typewriter-text.js";
75
- import { SLanguagePopover as Kr, SLanguageSwitcher as Qr, defaultLanguageOptions as Ur } from "./s-language-switcher/s-language-switcher.js";
76
- import { SScrollToTop as Xr } from "./s-scroll-to-top/s-scroll-to-top.js";
77
- import { useDialog as _r } from "./hooks/use-dialog.js";
78
- import { usePopover as oe } from "./hooks/use-popover.js";
69
+ import { SItemNotFound as Rr } from "./s-item-not-found/s-item-not-found.js";
70
+ import { SCategoryCard as zr } from "./s-category-card/s-category-card.js";
71
+ import { SRadialPulseAnimate as Gr } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
72
+ import { SRating as Or } from "./s-rating/s-rating.js";
73
+ import { SReview as Zr } from "./s-review/s-review.js";
74
+ import { STabs as Hr } from "./s-tabs/s-tabs.js";
75
+ import { default as Kr } from "./s-tabs/s-tab.js";
76
+ import { STabPanel as Ur } from "./s-tabs/s-tab-panel.js";
77
+ import { STextShimmer as Xr } from "./s-text-shimmer/s-text-shimmer.js";
78
+ import { STypewriterText as _r } from "./s-typewriter-text/s-typewriter-text.js";
79
+ import { SLanguagePopover as oe, SLanguageSwitcher as re, defaultLanguageOptions as ee } from "./s-language-switcher/s-language-switcher.js";
80
+ import { SScrollToTop as me } from "./s-scroll-to-top/s-scroll-to-top.js";
81
+ import { useDialog as Se } from "./hooks/use-dialog.js";
82
+ import { usePopover as fe } from "./hooks/use-popover.js";
79
83
  import "react";
80
- import { useScrollAnimation as ee } from "./hooks/use-scroll-animation.js";
81
- import { useIsPassedPosition as me } from "./hooks/use-is-passed-position.js";
82
- import { formatDatePosted as Se } from "./utils/dayjs.js";
83
- import { bytesToSize as xe } from "./utils/bytes-to-size.js";
84
- import { LogLevel as ie, Logger as le, createLogger as se, logger as ne } from "./utils/logger.js";
85
- import { STwoPaneLayout as ue } from "./s-two-pane-layout/s-two-pane-layout.js";
86
- import { MediaItem as ce, SGallery as Te } from "./s-gallery/s-gallery.js";
87
- import { default as Ce } from "./s-lazy-image/s-lazy-image.js";
88
- import { SZoomImage as be } from "./s-zoom-image/s-zoom-image.js";
89
- import { default as Le } from "dayjs";
84
+ import { useScrollAnimation as ie } from "./hooks/use-scroll-animation.js";
85
+ import { useIsPassedPosition as se } from "./hooks/use-is-passed-position.js";
86
+ import { formatDatePosted as ge } from "./utils/dayjs.js";
87
+ import { bytesToSize as ce } from "./utils/bytes-to-size.js";
88
+ import { LogLevel as Te, Logger as Ce, createLogger as Pe, logger as ye } from "./utils/logger.js";
89
+ import { STwoPaneLayout as be } from "./s-two-pane-layout/s-two-pane-layout.js";
90
+ import { MediaItem as De, SGallery as Ie } from "./s-gallery/s-gallery.js";
91
+ import { default as he } from "./s-lazy-image/s-lazy-image.js";
92
+ import { SZoomImage as ke } from "./s-zoom-image/s-zoom-image.js";
93
+ import { default as we } from "dayjs";
90
94
  export {
91
95
  q as DialogConfirmProvider,
92
96
  Q as DialogMessageProvider,
93
- ie as LogLevel,
94
- le as Logger,
95
- ce as MediaItem,
96
- x as SAccordion,
97
+ Te as LogLevel,
98
+ Ce as Logger,
99
+ De as MediaItem,
100
+ f as SAccordion,
97
101
  i as SActionOverlay,
98
102
  s as SAiToolBar,
99
103
  n as SAiToolBarInputType,
100
104
  u as SAutocomplete,
101
- c as SAvatar,
102
- P as SBreadcrumbs,
103
- v as SButton,
104
- y as SButtonLink,
105
+ d as SAvatar,
106
+ C as SBreadcrumbs,
107
+ y as SButton,
108
+ b as SButtonLink,
105
109
  D as SCarousel,
106
- hr as SCategoryCard,
110
+ zr as SCategoryCard,
107
111
  M as SChatInput,
108
112
  B as SChatMessage,
109
- R as SCheckbox,
110
- G as SChip,
111
- O as SChips,
113
+ E as SCheckbox,
114
+ V as SChip,
115
+ N as SChips,
116
+ hr as SCodeBlock,
112
117
  A as SCommentMessage,
113
- Cr as SCopyableText,
114
- V as SDataTable,
118
+ Ir as SCopyableText,
119
+ j as SDataTable,
115
120
  mr as SDatePicker,
116
121
  er as SDateTimePicker,
117
122
  to as SDialog,
@@ -120,68 +125,71 @@ export {
120
125
  $ as SEmpty,
121
126
  Y as SError,
122
127
  po as SErrorLayout,
123
- ao as SFileDropzone,
124
- fo as SFileIcon,
128
+ xo as SFileDropzone,
129
+ ao as SFileIcon,
125
130
  ro as SFlexBox,
126
131
  Zo as SForm,
127
- Te as SGallery,
132
+ Ie as SGallery,
128
133
  ir as SGlowButton,
129
- xr as SGradientIcon,
134
+ fr as SGradientIcon,
130
135
  lo as SI18nProvider,
131
136
  no as SIconButton,
132
- Lr as SImageComparison,
133
- br as SImageModal,
134
- Ir as SItemNotFound,
137
+ wr as SImageComparison,
138
+ kr as SImageModal,
139
+ Rr as SItemNotFound,
135
140
  uo as SLabel,
136
- Kr as SLanguagePopover,
137
- Qr as SLanguageSwitcher,
138
- Ce as SLazyImage,
141
+ oe as SLanguagePopover,
142
+ re as SLanguageSwitcher,
143
+ he as SLazyImage,
139
144
  Sr as SLocalizationProvider,
140
145
  sr as SMovingBorder,
141
146
  To as SMultiSelect,
142
- Co as SNoSsr,
143
- bo as SOverlayScrollbar,
147
+ Po as SNoSsr,
148
+ vo as SOverlayScrollbar,
144
149
  Io as SPagination,
145
150
  gr as SPixelReveal,
146
- kr as SRadialPulseAnimate,
147
- Fr as SRating,
148
- Er as SReview,
149
- dr as SScrollReveal,
150
- Xr as SScrollToTop,
151
+ Gr as SRadialPulseAnimate,
152
+ Or as SRating,
153
+ Zr as SReview,
154
+ cr as SScrollReveal,
155
+ me as SScrollToTop,
156
+ Tr as SScrollVelocity,
151
157
  ho as SSelect,
152
158
  ko as SSelectList,
153
- Fo as SSkeleton,
154
- No as SSnackbarMessage,
155
- Tr as SSpotlightCursor,
159
+ wo as SSkeleton,
160
+ Go as SSnackbarMessage,
161
+ Lr as SSpotlightCursor,
156
162
  Xo as SStripeCVC,
157
163
  Uo as SStripeExpiry,
158
164
  Ko as SStripeNumber,
159
- Nr as STab,
160
- jr as STabPanel,
161
- zr as STabs,
162
- w as STextEditor,
165
+ Kr as STab,
166
+ Ur as STabPanel,
167
+ Hr as STabs,
168
+ F as STextEditor,
163
169
  Lo as STextField,
164
- Zr as STextShimmer,
170
+ Xr as STextShimmer,
165
171
  zo as STextTruncation,
166
172
  _o as SThemeProvider,
167
173
  or as SThemeSwitch,
168
- Eo as STip,
169
- ue as STwoPaneLayout,
170
- Hr as STypewriterText,
171
- be as SZoomImage,
172
- Oo as SnackbarMessageProvider,
174
+ Ro as STip,
175
+ be as STwoPaneLayout,
176
+ _r as STypewriterText,
177
+ ke as SZoomImage,
178
+ Pr as ScrollVelocityContainer,
179
+ vr as ScrollVelocityRow,
180
+ No as SnackbarMessageProvider,
173
181
  Ho as StripeTextField,
174
- xe as bytesToSize,
175
- se as createLogger,
176
- Le as dayjs,
177
- Ur as defaultLanguageOptions,
178
- Se as formatDatePosted,
179
- ne as logger,
180
- _r as useDialog,
182
+ ce as bytesToSize,
183
+ Pe as createLogger,
184
+ we as dayjs,
185
+ ee as defaultLanguageOptions,
186
+ ge as formatDatePosted,
187
+ ye as logger,
188
+ Se as useDialog,
181
189
  J as useDialogConfirm,
182
190
  W as useDialogMessage,
183
- me as useIsPassedPosition,
184
- oe as usePopover,
185
- ee as useScrollAnimation,
186
- jo as useSnackbarMessage
191
+ se as useIsPassedPosition,
192
+ fe as usePopover,
193
+ ie as useScrollAnimation,
194
+ Oo as useSnackbarMessage
187
195
  };
@@ -545,13 +545,13 @@ try {
545
545
  try {
546
546
  U.displayName = "SAiToolBar", U.__docgenInfo = { description: `A dynamic floating toolbar for AI tools with expandable inputs and action buttons.
547
547
  Features smooth expand/collapse animations, multiple input types, built-in validation,
548
- and portal rendering for proper z-index handling.`, displayName: "SAiToolBar", props: { inputs: { defaultValue: { value: "[]" }, description: "Configuration for input fields", name: "inputs", required: !1, type: { name: "SAiToolBarInput[]" } }, onProcess: { defaultValue: null, description: "Callback when process button is clicked", name: "onProcess", required: !1, type: { name: "(() => void)" } }, onReset: { defaultValue: null, description: "Callback when reset button is clicked", name: "onReset", required: !1, type: { name: "(() => void)" } }, onDownload: { defaultValue: null, description: "Callback when download button is clicked", name: "onDownload", required: !1, type: { name: "(() => void)" } }, processing: { defaultValue: { value: "false" }, description: "Whether the toolbar is in processing state", name: "processing", required: !1, type: { name: "boolean" } }, uploading: { defaultValue: { value: "false" }, description: "Whether the toolbar is in uploading state", name: "uploading", required: !1, type: { name: "boolean" } }, inputValues: { defaultValue: { value: "{}" }, description: "Input values controlled externally", name: "inputValues", required: !1, type: { name: "Record<string, SAiToolBarValue>" } }, onInputChange: { defaultValue: null, description: "Callback when input values change", name: "onInputChange", required: !1, type: { name: "((key: string, value: SAiToolBarValue, file?: File) => void)" } }, customActionButtons: { defaultValue: null, description: "Custom action buttons between inputs and standard actions", name: "customActionButtons", required: !1, type: { name: "ReactNode" } }, hideProcessButton: { defaultValue: { value: "false" }, description: "Hide the main process button", name: "hideProcessButton", required: !1, type: { name: "boolean" } }, processButtonDisabled: { defaultValue: { value: "false" }, description: "Override to disable the process button", name: "processButtonDisabled", required: !1, type: { name: "boolean" } }, getInputDisabled: { defaultValue: null, description: "Function to check if an input should be disabled", name: "getInputDisabled", required: !1, type: { name: "((inputKey: string) => boolean)" } }, processTooltip: { defaultValue: { value: "Process" }, description: "Tooltip for process button", name: "processTooltip", required: !1, type: { name: "string" } }, downloadTooltip: { defaultValue: { value: "Download" }, description: "Tooltip for download button", name: "downloadTooltip", required: !1, type: { name: "string" } }, resetTooltip: { defaultValue: { value: "Reset" }, description: "Tooltip for reset button", name: "resetTooltip", required: !1, type: { name: "string" } }, infoTooltip: { defaultValue: { value: "Information" }, description: "Tooltip for info button", name: "infoTooltip", required: !1, type: { name: "string" } }, infoTitle: { defaultValue: { value: "Tool Information" }, description: "Info dialog title", name: "infoTitle", required: !1, type: { name: "string" } }, infoContent: { defaultValue: null, description: "Info dialog content", name: "infoContent", required: !1, type: { name: "ReactNode" } }, position: { defaultValue: { value: "bottom" }, description: "Position of the toolbar", name: "position", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }] } }, relative: { defaultValue: { value: "false" }, description: "Use relative positioning within container instead of fixed viewport positioning", name: "relative", required: !1, type: { name: "boolean" } } } };
548
+ and portal rendering for proper z-index handling.`, displayName: "SAiToolBar", props: { inputs: { defaultValue: { value: "[]" }, description: "Configuration for input fields", name: "inputs", required: !1, type: { name: "SAiToolBarInput[]" } }, onProcess: { defaultValue: null, description: "Callback when process button is clicked", name: "onProcess", required: !1, type: { name: "(() => void)" } }, onReset: { defaultValue: null, description: "Callback when reset button is clicked", name: "onReset", required: !1, type: { name: "(() => void)" } }, onDownload: { defaultValue: null, description: "Callback when download button is clicked", name: "onDownload", required: !1, type: { name: "(() => void)" } }, processing: { defaultValue: { value: "false" }, description: "Whether the toolbar is in processing state", name: "processing", required: !1, type: { name: "boolean" } }, uploading: { defaultValue: { value: "false" }, description: "Whether the toolbar is in uploading state", name: "uploading", required: !1, type: { name: "boolean" } }, inputValues: { defaultValue: { value: "{}" }, description: "Input values controlled externally", name: "inputValues", required: !1, type: { name: "Record<string, SAiToolBarValue>" } }, onInputChange: { defaultValue: null, description: "Callback when input values change", name: "onInputChange", required: !1, type: { name: "((key: string, value: SAiToolBarValue, file?: File) => void)" } }, customActionButtons: { defaultValue: null, description: "Custom action buttons between inputs and standard actions", name: "customActionButtons", required: !1, type: { name: "ReactNode" } }, hideProcessButton: { defaultValue: { value: "false" }, description: "Hide the main process button", name: "hideProcessButton", required: !1, type: { name: "boolean" } }, processButtonDisabled: { defaultValue: { value: "false" }, description: "Override to disable the process button", name: "processButtonDisabled", required: !1, type: { name: "boolean" } }, getInputDisabled: { defaultValue: null, description: "Function to check if an input should be disabled", name: "getInputDisabled", required: !1, type: { name: "((inputKey: string) => boolean)" } }, processTooltip: { defaultValue: { value: "Process" }, description: "Tooltip for process button", name: "processTooltip", required: !1, type: { name: "string" } }, downloadTooltip: { defaultValue: { value: "Download" }, description: "Tooltip for download button", name: "downloadTooltip", required: !1, type: { name: "string" } }, resetTooltip: { defaultValue: { value: "Reset" }, description: "Tooltip for reset button", name: "resetTooltip", required: !1, type: { name: "string" } }, infoTooltip: { defaultValue: { value: "Information" }, description: "Tooltip for info button", name: "infoTooltip", required: !1, type: { name: "string" } }, infoTitle: { defaultValue: { value: "Tool Information" }, description: "Info dialog title", name: "infoTitle", required: !1, type: { name: "string" } }, infoContent: { defaultValue: null, description: "Info dialog content", name: "infoContent", required: !1, type: { name: "ReactNode" } }, position: { defaultValue: { value: "bottom" }, description: "Position of the toolbar", name: "position", required: !1, type: { name: "enum", value: [{ value: '"bottom"' }, { value: '"top"' }] } }, relative: { defaultValue: { value: "false" }, description: "Use relative positioning within container instead of fixed viewport positioning", name: "relative", required: !1, type: { name: "boolean" } } } };
549
549
  } catch {
550
550
  }
551
551
  try {
552
552
  saitoolbar.displayName = "saitoolbar", saitoolbar.__docgenInfo = { description: `A dynamic floating toolbar for AI tools with expandable inputs and action buttons.
553
553
  Features smooth expand/collapse animations, multiple input types, built-in validation,
554
- and portal rendering for proper z-index handling.`, displayName: "saitoolbar", props: { inputs: { defaultValue: { value: "[]" }, description: "Configuration for input fields", name: "inputs", required: !1, type: { name: "SAiToolBarInput[]" } }, onProcess: { defaultValue: null, description: "Callback when process button is clicked", name: "onProcess", required: !1, type: { name: "(() => void)" } }, onReset: { defaultValue: null, description: "Callback when reset button is clicked", name: "onReset", required: !1, type: { name: "(() => void)" } }, onDownload: { defaultValue: null, description: "Callback when download button is clicked", name: "onDownload", required: !1, type: { name: "(() => void)" } }, processing: { defaultValue: { value: "false" }, description: "Whether the toolbar is in processing state", name: "processing", required: !1, type: { name: "boolean" } }, uploading: { defaultValue: { value: "false" }, description: "Whether the toolbar is in uploading state", name: "uploading", required: !1, type: { name: "boolean" } }, inputValues: { defaultValue: { value: "{}" }, description: "Input values controlled externally", name: "inputValues", required: !1, type: { name: "Record<string, SAiToolBarValue>" } }, onInputChange: { defaultValue: null, description: "Callback when input values change", name: "onInputChange", required: !1, type: { name: "((key: string, value: SAiToolBarValue, file?: File) => void)" } }, customActionButtons: { defaultValue: null, description: "Custom action buttons between inputs and standard actions", name: "customActionButtons", required: !1, type: { name: "ReactNode" } }, hideProcessButton: { defaultValue: { value: "false" }, description: "Hide the main process button", name: "hideProcessButton", required: !1, type: { name: "boolean" } }, processButtonDisabled: { defaultValue: { value: "false" }, description: "Override to disable the process button", name: "processButtonDisabled", required: !1, type: { name: "boolean" } }, getInputDisabled: { defaultValue: null, description: "Function to check if an input should be disabled", name: "getInputDisabled", required: !1, type: { name: "((inputKey: string) => boolean)" } }, processTooltip: { defaultValue: { value: "Process" }, description: "Tooltip for process button", name: "processTooltip", required: !1, type: { name: "string" } }, downloadTooltip: { defaultValue: { value: "Download" }, description: "Tooltip for download button", name: "downloadTooltip", required: !1, type: { name: "string" } }, resetTooltip: { defaultValue: { value: "Reset" }, description: "Tooltip for reset button", name: "resetTooltip", required: !1, type: { name: "string" } }, infoTooltip: { defaultValue: { value: "Information" }, description: "Tooltip for info button", name: "infoTooltip", required: !1, type: { name: "string" } }, infoTitle: { defaultValue: { value: "Tool Information" }, description: "Info dialog title", name: "infoTitle", required: !1, type: { name: "string" } }, infoContent: { defaultValue: null, description: "Info dialog content", name: "infoContent", required: !1, type: { name: "ReactNode" } }, position: { defaultValue: { value: "bottom" }, description: "Position of the toolbar", name: "position", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }] } }, relative: { defaultValue: { value: "false" }, description: "Use relative positioning within container instead of fixed viewport positioning", name: "relative", required: !1, type: { name: "boolean" } } } };
554
+ and portal rendering for proper z-index handling.`, displayName: "saitoolbar", props: { inputs: { defaultValue: { value: "[]" }, description: "Configuration for input fields", name: "inputs", required: !1, type: { name: "SAiToolBarInput[]" } }, onProcess: { defaultValue: null, description: "Callback when process button is clicked", name: "onProcess", required: !1, type: { name: "(() => void)" } }, onReset: { defaultValue: null, description: "Callback when reset button is clicked", name: "onReset", required: !1, type: { name: "(() => void)" } }, onDownload: { defaultValue: null, description: "Callback when download button is clicked", name: "onDownload", required: !1, type: { name: "(() => void)" } }, processing: { defaultValue: { value: "false" }, description: "Whether the toolbar is in processing state", name: "processing", required: !1, type: { name: "boolean" } }, uploading: { defaultValue: { value: "false" }, description: "Whether the toolbar is in uploading state", name: "uploading", required: !1, type: { name: "boolean" } }, inputValues: { defaultValue: { value: "{}" }, description: "Input values controlled externally", name: "inputValues", required: !1, type: { name: "Record<string, SAiToolBarValue>" } }, onInputChange: { defaultValue: null, description: "Callback when input values change", name: "onInputChange", required: !1, type: { name: "((key: string, value: SAiToolBarValue, file?: File) => void)" } }, customActionButtons: { defaultValue: null, description: "Custom action buttons between inputs and standard actions", name: "customActionButtons", required: !1, type: { name: "ReactNode" } }, hideProcessButton: { defaultValue: { value: "false" }, description: "Hide the main process button", name: "hideProcessButton", required: !1, type: { name: "boolean" } }, processButtonDisabled: { defaultValue: { value: "false" }, description: "Override to disable the process button", name: "processButtonDisabled", required: !1, type: { name: "boolean" } }, getInputDisabled: { defaultValue: null, description: "Function to check if an input should be disabled", name: "getInputDisabled", required: !1, type: { name: "((inputKey: string) => boolean)" } }, processTooltip: { defaultValue: { value: "Process" }, description: "Tooltip for process button", name: "processTooltip", required: !1, type: { name: "string" } }, downloadTooltip: { defaultValue: { value: "Download" }, description: "Tooltip for download button", name: "downloadTooltip", required: !1, type: { name: "string" } }, resetTooltip: { defaultValue: { value: "Reset" }, description: "Tooltip for reset button", name: "resetTooltip", required: !1, type: { name: "string" } }, infoTooltip: { defaultValue: { value: "Information" }, description: "Tooltip for info button", name: "infoTooltip", required: !1, type: { name: "string" } }, infoTitle: { defaultValue: { value: "Tool Information" }, description: "Info dialog title", name: "infoTitle", required: !1, type: { name: "string" } }, infoContent: { defaultValue: null, description: "Info dialog content", name: "infoContent", required: !1, type: { name: "ReactNode" } }, position: { defaultValue: { value: "bottom" }, description: "Position of the toolbar", name: "position", required: !1, type: { name: "enum", value: [{ value: '"bottom"' }, { value: '"top"' }] } }, relative: { defaultValue: { value: "false" }, description: "Use relative positioning within container instead of fixed viewport positioning", name: "relative", required: !1, type: { name: "boolean" } } } };
555
555
  } catch {
556
556
  }
557
557
  export {
@@ -77,7 +77,7 @@ const N = (r, o) => {
77
77
  };
78
78
  c.displayName = "SBlurText";
79
79
  try {
80
- c.displayName = "SBlurText", c.__docgenInfo = { description: "A Typography component that animates text with a blur effect when it comes into view.", displayName: "SBlurText", props: { text: { defaultValue: null, description: "The text content to animate", name: "text", required: !0, type: { name: "string" } }, delay: { defaultValue: { value: "100" }, description: "Delay between animating each segment in milliseconds", name: "delay", required: !1, type: { name: "number" } }, animateBy: { defaultValue: { value: "words" }, description: "Animation granularity - animate by words or individual letters", name: "animateBy", required: !1, type: { name: "enum", value: [{ value: '"words"' }, { value: '"letters"' }] } }, direction: { defaultValue: { value: "top" }, description: "Direction of the blur animation", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }] } }, threshold: { defaultValue: { value: "0.1" }, description: "Intersection observer threshold for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: { value: "0px" }, description: "Intersection observer root margin", name: "rootMargin", required: !1, type: { name: "string" } }, animationFrom: { defaultValue: null, description: "Custom starting animation state", name: "animationFrom", required: !1, type: { name: "Record<string, string | number>" } }, animationTo: { defaultValue: null, description: "Custom ending animation states (array for multi-step animations)", name: "animationTo", required: !1, type: { name: "Record<string, string | number>[]" } }, easing: { defaultValue: { value: "(t) => t" }, description: "Custom easing function for animation timing", name: "easing", required: !1, type: { name: "((t: number) => number)" } }, onAnimationComplete: { defaultValue: null, description: "Callback fired when animation completes", name: "onAnimationComplete", required: !1, type: { name: "(() => void)" } }, stepDuration: { defaultValue: { value: "0.35" }, description: "Duration of each animation step in seconds", name: "stepDuration", required: !1, type: { name: "number" } } } };
80
+ c.displayName = "SBlurText", c.__docgenInfo = { description: "A Typography component that animates text with a blur effect when it comes into view.", displayName: "SBlurText", props: { text: { defaultValue: null, description: "The text content to animate", name: "text", required: !0, type: { name: "string" } }, delay: { defaultValue: { value: "100" }, description: "Delay between animating each segment in milliseconds", name: "delay", required: !1, type: { name: "number" } }, animateBy: { defaultValue: { value: "words" }, description: "Animation granularity - animate by words or individual letters", name: "animateBy", required: !1, type: { name: "enum", value: [{ value: '"words"' }, { value: '"letters"' }] } }, direction: { defaultValue: { value: "top" }, description: "Direction of the blur animation", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"bottom"' }, { value: '"top"' }] } }, threshold: { defaultValue: { value: "0.1" }, description: "Intersection observer threshold for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: { value: "0px" }, description: "Intersection observer root margin", name: "rootMargin", required: !1, type: { name: "string" } }, animationFrom: { defaultValue: null, description: "Custom starting animation state", name: "animationFrom", required: !1, type: { name: "Record<string, string | number>" } }, animationTo: { defaultValue: null, description: "Custom ending animation states (array for multi-step animations)", name: "animationTo", required: !1, type: { name: "Record<string, string | number>[]" } }, easing: { defaultValue: { value: "(t) => t" }, description: "Custom easing function for animation timing", name: "easing", required: !1, type: { name: "((t: number) => number)" } }, onAnimationComplete: { defaultValue: null, description: "Callback fired when animation completes", name: "onAnimationComplete", required: !1, type: { name: "(() => void)" } }, stepDuration: { defaultValue: { value: "0.35" }, description: "Duration of each animation step in seconds", name: "stepDuration", required: !1, type: { name: "number" } } } };
81
81
  } catch {
82
82
  }
83
83
  export {
@@ -39,11 +39,11 @@ const l = b(
39
39
  );
40
40
  l.displayName = "SBreadcrumbs";
41
41
  try {
42
- l.displayName = "SBreadcrumbs", l.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "SBreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
42
+ l.displayName = "SBreadcrumbs", l.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "SBreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } } } };
43
43
  } catch {
44
44
  }
45
45
  try {
46
- sbreadcrumbs.displayName = "sbreadcrumbs", sbreadcrumbs.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "sbreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
46
+ sbreadcrumbs.displayName = "sbreadcrumbs", sbreadcrumbs.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "sbreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } } } };
47
47
  } catch {
48
48
  }
49
49
  export {
@@ -107,11 +107,11 @@ try {
107
107
  } catch {
108
108
  }
109
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>" } } } };
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: '"bottom"' }, { value: '"top"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { 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
111
  } catch {
112
112
  }
113
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>" } } } };
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: '"bottom"' }, { value: '"top"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { 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
115
  } catch {
116
116
  }
117
117
  export {
@@ -0,0 +1,2 @@
1
+ export { default } from './s-code-block';
2
+ export type { SCodeBlockProps } from './s-code-block';
@@ -0,0 +1,4 @@
1
+ import { SCodeBlock as a } from "./s-code-block.js";
2
+ export {
3
+ a as default
4
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Props interface for SCodeBlock component
3
+ */
4
+ export interface SCodeBlockProps {
5
+ /** The code content to display and copy */
6
+ code: string;
7
+ /**
8
+ * Programming language for syntax highlighting
9
+ * @default 'typescript'
10
+ */
11
+ language?: string;
12
+ /**
13
+ * Whether to show line numbers
14
+ * @default true
15
+ */
16
+ showLineNumbers?: boolean;
17
+ /**
18
+ * Whether to show copy button
19
+ * @default true
20
+ */
21
+ showCopyButton?: boolean;
22
+ /**
23
+ * Custom style for the code block
24
+ */
25
+ customStyle?: React.CSSProperties;
26
+ /** Callback function triggered after code is successfully copied */
27
+ onCopied?: () => void;
28
+ }
29
+ /**
30
+ * A code block component with syntax highlighting and built-in copy-to-clipboard functionality.
31
+ */
32
+ export declare const SCodeBlock: {
33
+ ({ code, language, showLineNumbers, showCopyButton, customStyle, onCopied, }: SCodeBlockProps): import("react/jsx-runtime").JSX.Element | null;
34
+ displayName: string;
35
+ };
36
+ export default SCodeBlock;