@solostylist/ui-kit 1.0.169 → 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.
@@ -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
@@ -108,6 +108,8 @@ export { default as SSpotlightCursor } from './s-spotlight-cursor/index';
108
108
  export type { SSpotlightCursorProps, SpotlightConfig } from './s-spotlight-cursor/index';
109
109
  export { default as SCopyableText } from './s-copyable-text/index';
110
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';
111
113
  export { default as SGallery, MediaItem } from './s-gallery/index';
112
114
  export type { SGalleryProps, MediaItemProps, GalleryLayoutVariant } from './s-gallery/index';
113
115
  export { default as SImageModal } from './s-image-modal/index';
package/dist/main.js CHANGED
@@ -60,42 +60,43 @@ import { ScrollVelocityContainer as Pr } from "./s-scroll-velocity/scroll-veloci
60
60
  import { ScrollVelocityRow as vr } from "./s-scroll-velocity/scroll-velocity-row.js";
61
61
  import { SSpotlightCursor as Lr } from "./s-spotlight-cursor/s-spotlight-cursor.js";
62
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";
63
64
  import "./s-gallery/index.js";
64
- import { SImageModal as hr } from "./s-image-modal/s-image-modal.js";
65
+ import { SImageModal as kr } from "./s-image-modal/s-image-modal.js";
65
66
  import "./s-lazy-image/index.js";
66
- import { default as kr } from "./s-image-comparison/s-image-comparison.js";
67
+ import { default as wr } from "./s-image-comparison/s-image-comparison.js";
67
68
  import "./s-zoom-image/index.js";
68
- import { SItemNotFound as wr } from "./s-item-not-found/s-item-not-found.js";
69
- import { SCategoryCard as Rr } from "./s-category-card/s-category-card.js";
70
- import { SRadialPulseAnimate as zr } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
71
- import { SRating as Gr } from "./s-rating/s-rating.js";
72
- import { SReview as Or } from "./s-review/s-review.js";
73
- import { STabs as Zr } from "./s-tabs/s-tabs.js";
74
- import { default as Hr } from "./s-tabs/s-tab.js";
75
- import { STabPanel as Kr } from "./s-tabs/s-tab-panel.js";
76
- import { STextShimmer as Ur } from "./s-text-shimmer/s-text-shimmer.js";
77
- import { STypewriterText as Xr } from "./s-typewriter-text/s-typewriter-text.js";
78
- import { SLanguagePopover as _r, SLanguageSwitcher as $r, defaultLanguageOptions as oe } from "./s-language-switcher/s-language-switcher.js";
79
- import { SScrollToTop as ee } from "./s-scroll-to-top/s-scroll-to-top.js";
80
- import { useDialog as me } from "./hooks/use-dialog.js";
81
- import { usePopover as Se } 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";
82
83
  import "react";
83
- import { useScrollAnimation as fe } from "./hooks/use-scroll-animation.js";
84
- import { useIsPassedPosition as ie } from "./hooks/use-is-passed-position.js";
85
- import { formatDatePosted as se } from "./utils/dayjs.js";
86
- import { bytesToSize as ge } from "./utils/bytes-to-size.js";
87
- import { LogLevel as ce, Logger as de, createLogger as Te, logger as Ce } from "./utils/logger.js";
88
- import { STwoPaneLayout as ye } from "./s-two-pane-layout/s-two-pane-layout.js";
89
- import { MediaItem as be, SGallery as Le } from "./s-gallery/s-gallery.js";
90
- import { default as Ie } from "./s-lazy-image/s-lazy-image.js";
91
- import { SZoomImage as he } from "./s-zoom-image/s-zoom-image.js";
92
- import { default as ke } 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";
93
94
  export {
94
95
  q as DialogConfirmProvider,
95
96
  Q as DialogMessageProvider,
96
- ce as LogLevel,
97
- de as Logger,
98
- be as MediaItem,
97
+ Te as LogLevel,
98
+ Ce as Logger,
99
+ De as MediaItem,
99
100
  f as SAccordion,
100
101
  i as SActionOverlay,
101
102
  s as SAiToolBar,
@@ -106,12 +107,13 @@ export {
106
107
  y as SButton,
107
108
  b as SButtonLink,
108
109
  D as SCarousel,
109
- Rr as SCategoryCard,
110
+ zr as SCategoryCard,
110
111
  M as SChatInput,
111
112
  B as SChatMessage,
112
113
  E as SCheckbox,
113
114
  V as SChip,
114
115
  N as SChips,
116
+ hr as SCodeBlock,
115
117
  A as SCommentMessage,
116
118
  Ir as SCopyableText,
117
119
  j as SDataTable,
@@ -127,18 +129,18 @@ export {
127
129
  ao as SFileIcon,
128
130
  ro as SFlexBox,
129
131
  Zo as SForm,
130
- Le as SGallery,
132
+ Ie as SGallery,
131
133
  ir as SGlowButton,
132
134
  fr as SGradientIcon,
133
135
  lo as SI18nProvider,
134
136
  no as SIconButton,
135
- kr as SImageComparison,
136
- hr as SImageModal,
137
- wr as SItemNotFound,
137
+ wr as SImageComparison,
138
+ kr as SImageModal,
139
+ Rr as SItemNotFound,
138
140
  uo as SLabel,
139
- _r as SLanguagePopover,
140
- $r as SLanguageSwitcher,
141
- Ie as SLazyImage,
141
+ oe as SLanguagePopover,
142
+ re as SLanguageSwitcher,
143
+ he as SLazyImage,
142
144
  Sr as SLocalizationProvider,
143
145
  sr as SMovingBorder,
144
146
  To as SMultiSelect,
@@ -146,11 +148,11 @@ export {
146
148
  vo as SOverlayScrollbar,
147
149
  Io as SPagination,
148
150
  gr as SPixelReveal,
149
- zr as SRadialPulseAnimate,
150
- Gr as SRating,
151
- Or as SReview,
151
+ Gr as SRadialPulseAnimate,
152
+ Or as SRating,
153
+ Zr as SReview,
152
154
  cr as SScrollReveal,
153
- ee as SScrollToTop,
155
+ me as SScrollToTop,
154
156
  Tr as SScrollVelocity,
155
157
  ho as SSelect,
156
158
  ko as SSelectList,
@@ -160,34 +162,34 @@ export {
160
162
  Xo as SStripeCVC,
161
163
  Uo as SStripeExpiry,
162
164
  Ko as SStripeNumber,
163
- Hr as STab,
164
- Kr as STabPanel,
165
- Zr as STabs,
165
+ Kr as STab,
166
+ Ur as STabPanel,
167
+ Hr as STabs,
166
168
  F as STextEditor,
167
169
  Lo as STextField,
168
- Ur as STextShimmer,
170
+ Xr as STextShimmer,
169
171
  zo as STextTruncation,
170
172
  _o as SThemeProvider,
171
173
  or as SThemeSwitch,
172
174
  Ro as STip,
173
- ye as STwoPaneLayout,
174
- Xr as STypewriterText,
175
- he as SZoomImage,
175
+ be as STwoPaneLayout,
176
+ _r as STypewriterText,
177
+ ke as SZoomImage,
176
178
  Pr as ScrollVelocityContainer,
177
179
  vr as ScrollVelocityRow,
178
180
  No as SnackbarMessageProvider,
179
181
  Ho as StripeTextField,
180
- ge as bytesToSize,
181
- Te as createLogger,
182
- ke as dayjs,
183
- oe as defaultLanguageOptions,
184
- se as formatDatePosted,
185
- Ce as logger,
186
- me 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,
187
189
  J as useDialogConfirm,
188
190
  W as useDialogMessage,
189
- ie as useIsPassedPosition,
190
- Se as usePopover,
191
- fe as useScrollAnimation,
191
+ se as useIsPassedPosition,
192
+ fe as usePopover,
193
+ ie as useScrollAnimation,
192
194
  Oo as useSnackbarMessage
193
195
  };
@@ -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" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, 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" } } } };
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" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, 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" } } } };
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 {
@@ -32,11 +32,11 @@ const t = ({
32
32
  ] });
33
33
  t.displayName = "SButtonLink";
34
34
  try {
35
- t.displayName = "SButtonLink", t.__docgenInfo = { description: "A flexible link component that combines text and a clickable link element.", displayName: "SButtonLink", props: { beforeText: { defaultValue: { value: "" }, description: "Text or element displayed before the main link", name: "beforeText", required: !1, type: { name: "ReactNode" } }, afterText: { defaultValue: { value: "" }, description: "Text or element displayed after the main link", name: "afterText", required: !1, type: { name: "ReactNode" } }, mainText: { defaultValue: { value: "" }, description: "The main clickable link text or element", name: "mainText", required: !1, type: { name: "ReactNode" } }, href: { defaultValue: { value: "#" }, description: "URL for the link (defaults to '#')", name: "href", required: !1, type: { name: "string" } }, component: { defaultValue: { value: "a" }, description: "Component to render the link as (e.g., RouterLink for client-side routing)", name: "component", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, target: { defaultValue: null, description: "Target attribute for the link (e.g., '_blank' for new tab)", name: "target", required: !1, type: { name: "string" } }, color: { defaultValue: { value: "text.secondary" }, description: "Color of the surrounding text", name: "color", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"body1"' }, { value: '"body2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
35
+ t.displayName = "SButtonLink", t.__docgenInfo = { description: "A flexible link component that combines text and a clickable link element.", displayName: "SButtonLink", props: { beforeText: { defaultValue: { value: "" }, description: "Text or element displayed before the main link", name: "beforeText", required: !1, type: { name: "ReactNode" } }, afterText: { defaultValue: { value: "" }, description: "Text or element displayed after the main link", name: "afterText", required: !1, type: { name: "ReactNode" } }, mainText: { defaultValue: { value: "" }, description: "The main clickable link text or element", name: "mainText", required: !1, type: { name: "ReactNode" } }, href: { defaultValue: { value: "#" }, description: "URL for the link (defaults to '#')", name: "href", required: !1, type: { name: "string" } }, component: { defaultValue: { value: "a" }, description: "Component to render the link as (e.g., RouterLink for client-side routing)", name: "component", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, target: { defaultValue: null, description: "Target attribute for the link (e.g., '_blank' for new tab)", name: "target", required: !1, type: { name: "string" } }, color: { defaultValue: { value: "text.secondary" }, description: "Color of the surrounding text", name: "color", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
36
36
  } catch {
37
37
  }
38
38
  try {
39
- sbuttonlink.displayName = "sbuttonlink", sbuttonlink.__docgenInfo = { description: "A flexible link component that combines text and a clickable link element.", displayName: "sbuttonlink", props: { beforeText: { defaultValue: { value: "" }, description: "Text or element displayed before the main link", name: "beforeText", required: !1, type: { name: "ReactNode" } }, afterText: { defaultValue: { value: "" }, description: "Text or element displayed after the main link", name: "afterText", required: !1, type: { name: "ReactNode" } }, mainText: { defaultValue: { value: "" }, description: "The main clickable link text or element", name: "mainText", required: !1, type: { name: "ReactNode" } }, href: { defaultValue: { value: "#" }, description: "URL for the link (defaults to '#')", name: "href", required: !1, type: { name: "string" } }, component: { defaultValue: { value: "a" }, description: "Component to render the link as (e.g., RouterLink for client-side routing)", name: "component", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, target: { defaultValue: null, description: "Target attribute for the link (e.g., '_blank' for new tab)", name: "target", required: !1, type: { name: "string" } }, color: { defaultValue: { value: "text.secondary" }, description: "Color of the surrounding text", name: "color", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"body1"' }, { value: '"body2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
39
+ sbuttonlink.displayName = "sbuttonlink", sbuttonlink.__docgenInfo = { description: "A flexible link component that combines text and a clickable link element.", displayName: "sbuttonlink", props: { beforeText: { defaultValue: { value: "" }, description: "Text or element displayed before the main link", name: "beforeText", required: !1, type: { name: "ReactNode" } }, afterText: { defaultValue: { value: "" }, description: "Text or element displayed after the main link", name: "afterText", required: !1, type: { name: "ReactNode" } }, mainText: { defaultValue: { value: "" }, description: "The main clickable link text or element", name: "mainText", required: !1, type: { name: "ReactNode" } }, href: { defaultValue: { value: "#" }, description: "URL for the link (defaults to '#')", name: "href", required: !1, type: { name: "string" } }, component: { defaultValue: { value: "a" }, description: "Component to render the link as (e.g., RouterLink for client-side routing)", name: "component", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, target: { defaultValue: null, description: "Target attribute for the link (e.g., '_blank' for new tab)", name: "target", required: !1, type: { name: "string" } }, color: { defaultValue: { value: "text.secondary" }, description: "Color of the surrounding text", name: "color", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
40
40
  } catch {
41
41
  }
42
42
  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: '"center"' }, { value: '"bottom"' }, { value: '"top"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"center"' }, { value: '"left"' }, { value: '"right"' }] } }, 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: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"body1"' }, { value: '"body2"' }, { 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: '"center"' }, { value: '"bottom"' }, { value: '"top"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"center"' }, { value: '"left"' }, { value: '"right"' }] } }, 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: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"body1"' }, { value: '"body2"' }, { 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 {
@@ -309,11 +309,11 @@ const X = S(/* @__PURE__ */ r.jsx("path", {
309
309
  );
310
310
  j.displayName = "SChatInput";
311
311
  try {
312
- j.displayName = "SChatInput", j.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "SChatInput", props: { disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
312
+ j.displayName = "SChatInput", j.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "SChatInput", props: { onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
313
313
  } catch {
314
314
  }
315
315
  try {
316
- schatinput.displayName = "schatinput", schatinput.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "schatinput", props: { disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
316
+ schatinput.displayName = "schatinput", schatinput.__docgenInfo = { description: "A chat input component with file attachment support, emoji picker, and multiline text input.", displayName: "schatinput", props: { onSubmit: { defaultValue: null, description: "Callback function called when message is submitted with Enter key or submit button", name: "onSubmit", required: !1, type: { name: "((value: string, files?: File[]) => void)" } }, disabled: { defaultValue: null, description: "Disable the input and submission", name: "disabled", required: !1, type: { name: "boolean" } }, onFileSelect: { defaultValue: null, description: "Optional callback function called when files are selected", name: "onFileSelect", required: !1, type: { name: "((files: File[]) => void)" } }, acceptedFileTypes: { defaultValue: null, description: 'File types accepted for upload (e.g., "image/*,.pdf,.doc")', name: "acceptedFileTypes", required: !1, type: { name: "string" } }, maxFileSize: { defaultValue: null, description: "Maximum file size in bytes for uploaded files", name: "maxFileSize", required: !1, type: { name: "number" } } } };
317
317
  } catch {
318
318
  }
319
319
  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;