@solostylist/ui-kit 1.0.134 → 1.0.136

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.
@@ -1,8 +1,8 @@
1
1
  import { j as o } from "./jsx-runtime-OVHDjVDe.js";
2
2
  import { c as t } from "./createSvgIcon-Dq42_0tn.js";
3
- const s = t(/* @__PURE__ */ o.jsx("path", {
3
+ const c = t(/* @__PURE__ */ o.jsx("path", {
4
4
  d: "m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54z"
5
5
  }), "Favorite");
6
6
  export {
7
- s as F
7
+ c as F
8
8
  };
package/dist/main.d.ts CHANGED
@@ -16,6 +16,8 @@ export { default as SChatInput } from './s-chat-input/index';
16
16
  export type { SChatInputProps } from './s-chat-input/index';
17
17
  export { default as SChatMessage } from './s-chat-message/index';
18
18
  export type { SChatMessageProps } from './s-chat-message/index';
19
+ export { default as SCommentMessage } from './s-comment-message/index';
20
+ export type { SCommentMessageProps } from './s-comment-message/index';
19
21
  export { default as STextEditor } from './s-text-editor/index';
20
22
  export type { STextEditorProps } from './s-text-editor/index';
21
23
  export { default as SCheckbox } from './s-checkbox/index';
@@ -105,6 +107,8 @@ export { default as SLazyImage } from './s-lazy-image/index';
105
107
  export type { SLazyImageProps } from './s-lazy-image/index';
106
108
  export { default as SImageComparison } from './s-image-comparison/index';
107
109
  export type { SImageComparisonProps } from './s-image-comparison/index';
110
+ export { default as SItemNotFound } from './s-item-not-found/index';
111
+ export type { SItemNotFoundProps } from './s-item-not-found/index';
108
112
  export { default as SCategoryCard } from './s-category-card/index';
109
113
  export type { SCategoryCardProps } from './s-category-card/index';
110
114
  export { default as SRadialPulseAnimate } from './s-radial-pulse-animate/index';
@@ -119,5 +123,7 @@ export { default as STextShimmer } from './s-text-shimmer/index';
119
123
  export type { STextShimmerProps } from './s-text-shimmer/index';
120
124
  export { default as STypewriterText } from './s-typewriter-text/index';
121
125
  export type { STypewriterTextProps } from './s-typewriter-text/index';
126
+ export { default as SLanguageSwitcher, SLanguagePopover, defaultLanguageOptions } from './s-language-switcher/index';
127
+ export type { SLanguageSwitcherProps, SLanguagePopoverProps, SLanguageOption } from './s-language-switcher/index';
122
128
  export * from './hooks';
123
129
  export * from './utils';
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- import { default as a } from "./s-accordion/s-accordion.js";
1
+ import { default as t } from "./s-accordion/s-accordion.js";
2
2
  import { default as l } from "./s-action-overlay/s-action-overlay.js";
3
3
  import { default as s } from "./s-autocomplete/s-autocomplete.js";
4
4
  import { default as S } from "./s-avatar/s-avatar.js";
@@ -7,151 +7,159 @@ import { default as i } from "./s-button-link/s-button-link.js";
7
7
  import { default as g } from "./s-carousel/s-carousel.js";
8
8
  import { default as T } from "./s-chat-input/s-chat-input.js";
9
9
  import { default as v } from "./s-chat-message/s-chat-message.js";
10
- import { default as b } from "./s-text-editor/s-text-editor.js";
10
+ import { default as b } from "./s-comment-message/s-comment-message.js";
11
+ import { default as M } from "./s-text-editor/s-text-editor.js";
11
12
  import "./s-text-editor/s-text-editor-toolbar.js";
12
13
  import { default as y } from "./s-checkbox/s-checkbox.js";
13
- import { default as h } from "./s-chip/s-chip.js";
14
- import { default as k } from "./s-chips/s-chips.js";
15
- import { default as F } from "./s-data-table/s-data-table.js";
16
- import { DialogConfirmProvider as B, default as w, useDialogConfirm as z } from "./s-dialog-confirm/s-dialog-confirm.js";
17
- import { DialogMessageProvider as R, default as G, useDialogMessage as N } from "./s-dialog-message/s-dialog-message.js";
18
- import { default as j } from "./s-error/s-error.js";
19
- import { default as V } from "./s-empty/s-empty.js";
20
- import { default as H } from "./s-flex-box/s-flex-box.js";
21
- import { default as Q } from "./s-dialog/s-dialog.js";
22
- import { default as W } from "./s-file-dropzone/s-file-dropzone.js";
23
- import { default as Y } from "./s-file-icon/s-file-icon.js";
24
- import { default as _ } from "./s-i18n-provider/s-i18n-provider.js";
25
- import { default as ee } from "./s-icon-button/s-icon-button.js";
26
- import { default as re } from "./s-label/s-label.js";
27
- import { default as ae } from "./s-multi-select/s-multi-select.js";
28
- import { default as le } from "./s-no-ssr/s-no-ssr.js";
29
- import { default as se } from "./s-overlay-scrollbar/s-overlay-scrollbar.js";
30
- import { default as Se } from "./s-text-field/s-text-field.js";
31
- import { default as de } from "./s-pagination/s-pagination.js";
32
- import { default as ie } from "./s-select/s-select.js";
33
- import { default as ge } from "./s-skeleton/s-skeleton.js";
34
- import { default as Te } from "./s-tip/s-tip.js";
35
- import { default as ve } from "./s-text-truncation/s-text-truncation.js";
36
- import { default as be, SnackbarMessageProvider as De, useSnackbarMessage as ye } from "./s-snackbar-message/s-snackbar-message.js";
37
- import { default as he } from "./s-form/s-form.js";
38
- import { SSmartTextField as ke } from "./s-smart-text-field/s-smart-text-field.js";
39
- import { SCopilotKitProvider as Fe } from "./s-copilot-kit-provider/s-copilot-kit-provider.js";
40
- import { SStripeCVC as Be, SStripeExpiry as we, SStripeNumber as ze, StripeTextField as Ee } from "./s-stripe/s-stripe.js";
41
- import { default as Ge } from "./s-theme-provider/s-theme-provider.js";
42
- import { default as Oe } from "./s-theme-switch/s-theme-switch.js";
43
- import { default as Ke } from "./s-datetime-picker/s-datetime-picker.js";
44
- import { default as qe } from "./s-date-picker/s-date-picker.js";
45
- import { default as Je } from "./s-localization-provider/s-localization-provider.js";
46
- import { default as Ue } from "./s-gradient-icon/s-gradient-icon.js";
47
- import { default as Xe } from "./s-glow-button/s-glow-button.js";
48
- import { default as Ze } from "./s-moving-border/s-moving-border.js";
49
- import { default as $e } from "./s-scroll-reveal/s-scroll-reveal.js";
50
- import { default as oo } from "./s-spotlight-cursor/s-spotlight-cursor.js";
51
- import { default as to } from "./s-copyable-text/s-copyable-text.js";
52
- import { MediaItem as fo, default as lo } from "./s-interactive-gallery/s-interactive-gallery.js";
53
- import { default as so } from "./s-image-modal/s-image-modal.js";
54
- import { default as So } from "./s-lazy-image/s-lazy-image.js";
55
- import { default as uo } from "./s-image-comparison/s-image-comparison.js";
56
- import { default as no } from "./s-category-card/s-category-card.js";
57
- import { default as co } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
58
- import { default as Co } from "./s-rating/s-rating.js";
59
- import { default as Po } from "./s-review/s-review.js";
60
- import { default as Do } from "./s-tabs/s-tabs.js";
61
- import { default as Mo } from "./s-tabs/s-tab.js";
62
- import { default as Io } from "./s-tabs/s-tab-panel.js";
63
- import { default as Lo } from "./s-text-shimmer/s-text-shimmer.js";
64
- import { default as Ao } from "./s-typewriter-text/s-typewriter-text.js";
65
- import { useDialog as wo } from "./hooks/use-dialog.js";
66
- import { usePopover as Eo } from "./hooks/use-popover.js";
14
+ import { default as L } from "./s-chip/s-chip.js";
15
+ import { default as F } from "./s-chips/s-chips.js";
16
+ import { default as B } from "./s-data-table/s-data-table.js";
17
+ import { DialogConfirmProvider as z, default as E, useDialogConfirm as R } from "./s-dialog-confirm/s-dialog-confirm.js";
18
+ import { DialogMessageProvider as N, default as O, useDialogMessage as j } from "./s-dialog-message/s-dialog-message.js";
19
+ import { default as V } from "./s-error/s-error.js";
20
+ import { default as H } from "./s-empty/s-empty.js";
21
+ import { default as Q } from "./s-flex-box/s-flex-box.js";
22
+ import { default as W } from "./s-dialog/s-dialog.js";
23
+ import { default as Y } from "./s-file-dropzone/s-file-dropzone.js";
24
+ import { default as _ } from "./s-file-icon/s-file-icon.js";
25
+ import { default as ee } from "./s-i18n-provider/s-i18n-provider.js";
26
+ import { default as re } from "./s-icon-button/s-icon-button.js";
27
+ import { default as te } from "./s-label/s-label.js";
28
+ import { default as le } from "./s-multi-select/s-multi-select.js";
29
+ import { default as se } from "./s-no-ssr/s-no-ssr.js";
30
+ import { default as Se } from "./s-overlay-scrollbar/s-overlay-scrollbar.js";
31
+ import { default as de } from "./s-text-field/s-text-field.js";
32
+ import { default as ie } from "./s-pagination/s-pagination.js";
33
+ import { default as ge } from "./s-select/s-select.js";
34
+ import { default as Te } from "./s-skeleton/s-skeleton.js";
35
+ import { default as ve } from "./s-tip/s-tip.js";
36
+ import { default as be } from "./s-text-truncation/s-text-truncation.js";
37
+ import { default as Me, SnackbarMessageProvider as he, useSnackbarMessage as ye } from "./s-snackbar-message/s-snackbar-message.js";
38
+ import { default as Le } from "./s-form/s-form.js";
39
+ import { SSmartTextField as Fe } from "./s-smart-text-field/s-smart-text-field.js";
40
+ import { SCopilotKitProvider as Be } from "./s-copilot-kit-provider/s-copilot-kit-provider.js";
41
+ import { SStripeCVC as ze, SStripeExpiry as Ee, SStripeNumber as Re, StripeTextField as Ge } from "./s-stripe/s-stripe.js";
42
+ import { default as Oe } from "./s-theme-provider/s-theme-provider.js";
43
+ import { default as Ke } from "./s-theme-switch/s-theme-switch.js";
44
+ import { default as qe } from "./s-datetime-picker/s-datetime-picker.js";
45
+ import { default as Je } from "./s-date-picker/s-date-picker.js";
46
+ import { default as Ue } from "./s-localization-provider/s-localization-provider.js";
47
+ import { default as Xe } from "./s-gradient-icon/s-gradient-icon.js";
48
+ import { default as Ze } from "./s-glow-button/s-glow-button.js";
49
+ import { default as $e } from "./s-moving-border/s-moving-border.js";
50
+ import { default as oo } from "./s-scroll-reveal/s-scroll-reveal.js";
51
+ import { default as ao } from "./s-spotlight-cursor/s-spotlight-cursor.js";
52
+ import { default as fo } from "./s-copyable-text/s-copyable-text.js";
53
+ import { MediaItem as mo, default as so } from "./s-interactive-gallery/s-interactive-gallery.js";
54
+ import { default as So } from "./s-image-modal/s-image-modal.js";
55
+ import { default as xo } from "./s-lazy-image/s-lazy-image.js";
56
+ import { default as no } from "./s-image-comparison/s-image-comparison.js";
57
+ import { default as co } from "./s-item-not-found/s-item-not-found.js";
58
+ import { default as Co } from "./s-category-card/s-category-card.js";
59
+ import { default as Po } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
60
+ import { default as Do } from "./s-rating/s-rating.js";
61
+ import { default as ho } from "./s-review/s-review.js";
62
+ import { default as Io } from "./s-tabs/s-tabs.js";
63
+ import { default as ko } from "./s-tabs/s-tab.js";
64
+ import { default as Ao } from "./s-tabs/s-tab-panel.js";
65
+ import { default as wo } from "./s-text-shimmer/s-text-shimmer.js";
66
+ import { default as Eo } from "./s-typewriter-text/s-typewriter-text.js";
67
+ import { SLanguagePopover as Go, default as No, defaultLanguageOptions as Oo } from "./s-language-switcher/s-language-switcher.js";
68
+ import { useDialog as Ko } from "./hooks/use-dialog.js";
69
+ import { usePopover as qo } from "./hooks/use-popover.js";
67
70
  import "react";
68
- import { useScrollAnimation as Go } from "./hooks/use-scroll-animation.js";
69
- import { formatDatePosted as Oo } from "./utils/dayjs.js";
70
- import { bytesToSize as Ko } from "./utils/bytes-to-size.js";
71
- import { LogLevel as qo, Logger as Ho, createLogger as Jo, logger as Qo } from "./utils/logger.js";
72
- import { default as Wo } from "dayjs";
71
+ import { useScrollAnimation as Jo } from "./hooks/use-scroll-animation.js";
72
+ import { formatDatePosted as Uo } from "./utils/dayjs.js";
73
+ import { bytesToSize as Xo } from "./utils/bytes-to-size.js";
74
+ import { LogLevel as Zo, Logger as _o, createLogger as $o, logger as er } from "./utils/logger.js";
75
+ import { default as rr } from "dayjs";
73
76
  export {
74
- B as DialogConfirmProvider,
75
- R as DialogMessageProvider,
76
- qo as LogLevel,
77
- Ho as Logger,
78
- fo as MediaItem,
79
- a as SAccordion,
77
+ z as DialogConfirmProvider,
78
+ N as DialogMessageProvider,
79
+ Zo as LogLevel,
80
+ _o as Logger,
81
+ mo as MediaItem,
82
+ t as SAccordion,
80
83
  l as SActionOverlay,
81
84
  s as SAutocomplete,
82
85
  S as SAvatar,
83
86
  d as SButton,
84
87
  i as SButtonLink,
85
88
  g as SCarousel,
86
- no as SCategoryCard,
89
+ Co as SCategoryCard,
87
90
  T as SChatInput,
88
91
  v as SChatMessage,
89
92
  y as SCheckbox,
90
- h as SChip,
91
- k as SChips,
92
- Fe as SCopilotKitProvider,
93
- to as SCopyableText,
94
- F as SDataTable,
95
- qe as SDatePicker,
96
- Ke as SDateTimePicker,
97
- Q as SDialog,
98
- w as SDialogConfirm,
99
- G as SDialogMessage,
100
- V as SEmpty,
101
- j as SError,
102
- W as SFileDropzone,
103
- Y as SFileIcon,
104
- H as SFlexBox,
105
- he as SForm,
106
- Xe as SGlowButton,
107
- Ue as SGradientIcon,
108
- _ as SI18nProvider,
109
- ee as SIconButton,
110
- uo as SImageComparison,
111
- so as SImageModal,
112
- lo as SInteractiveGallery,
113
- re as SLabel,
114
- So as SLazyImage,
115
- Je as SLocalizationProvider,
116
- Ze as SMovingBorder,
117
- ae as SMultiSelect,
118
- le as SNoSsr,
119
- se as SOverlayScrollbar,
120
- de as SPagination,
121
- co as SRadialPulseAnimate,
122
- Co as SRating,
123
- Po as SReview,
124
- $e as SScrollReveal,
125
- ie as SSelect,
126
- ge as SSkeleton,
127
- ke as SSmartTextField,
128
- be as SSnackbarMessage,
129
- oo as SSpotlightCursor,
130
- Be as SStripeCVC,
131
- we as SStripeExpiry,
132
- ze as SStripeNumber,
133
- Mo as STab,
134
- Io as STabPanel,
135
- Do as STabs,
136
- b as STextEditor,
137
- Se as STextField,
138
- Lo as STextShimmer,
139
- ve as STextTruncation,
140
- Ge as SThemeProvider,
141
- Oe as SThemeSwitch,
142
- Te as STip,
143
- Ao as STypewriterText,
144
- De as SnackbarMessageProvider,
145
- Ee as StripeTextField,
146
- Ko as bytesToSize,
147
- Jo as createLogger,
148
- Wo as dayjs,
149
- Oo as formatDatePosted,
150
- Qo as logger,
151
- wo as useDialog,
152
- z as useDialogConfirm,
153
- N as useDialogMessage,
154
- Eo as usePopover,
155
- Go as useScrollAnimation,
93
+ L as SChip,
94
+ F as SChips,
95
+ b as SCommentMessage,
96
+ Be as SCopilotKitProvider,
97
+ fo as SCopyableText,
98
+ B as SDataTable,
99
+ Je as SDatePicker,
100
+ qe as SDateTimePicker,
101
+ W as SDialog,
102
+ E as SDialogConfirm,
103
+ O as SDialogMessage,
104
+ H as SEmpty,
105
+ V as SError,
106
+ Y as SFileDropzone,
107
+ _ as SFileIcon,
108
+ Q as SFlexBox,
109
+ Le as SForm,
110
+ Ze as SGlowButton,
111
+ Xe as SGradientIcon,
112
+ ee as SI18nProvider,
113
+ re as SIconButton,
114
+ no as SImageComparison,
115
+ So as SImageModal,
116
+ so as SInteractiveGallery,
117
+ co as SItemNotFound,
118
+ te as SLabel,
119
+ Go as SLanguagePopover,
120
+ No as SLanguageSwitcher,
121
+ xo as SLazyImage,
122
+ Ue as SLocalizationProvider,
123
+ $e as SMovingBorder,
124
+ le as SMultiSelect,
125
+ se as SNoSsr,
126
+ Se as SOverlayScrollbar,
127
+ ie as SPagination,
128
+ Po as SRadialPulseAnimate,
129
+ Do as SRating,
130
+ ho as SReview,
131
+ oo as SScrollReveal,
132
+ ge as SSelect,
133
+ Te as SSkeleton,
134
+ Fe as SSmartTextField,
135
+ Me as SSnackbarMessage,
136
+ ao as SSpotlightCursor,
137
+ ze as SStripeCVC,
138
+ Ee as SStripeExpiry,
139
+ Re as SStripeNumber,
140
+ ko as STab,
141
+ Ao as STabPanel,
142
+ Io as STabs,
143
+ M as STextEditor,
144
+ de as STextField,
145
+ wo as STextShimmer,
146
+ be as STextTruncation,
147
+ Oe as SThemeProvider,
148
+ Ke as SThemeSwitch,
149
+ ve as STip,
150
+ Eo as STypewriterText,
151
+ he as SnackbarMessageProvider,
152
+ Ge as StripeTextField,
153
+ Xo as bytesToSize,
154
+ $o as createLogger,
155
+ rr as dayjs,
156
+ Oo as defaultLanguageOptions,
157
+ Uo as formatDatePosted,
158
+ er as logger,
159
+ Ko as useDialog,
160
+ R as useDialogConfirm,
161
+ j as useDialogMessage,
162
+ qo as usePopover,
163
+ Jo as useScrollAnimation,
156
164
  ye as useSnackbarMessage
157
165
  };
@@ -21,6 +21,9 @@ export interface SChatMessageProps extends Omit<BoxProps, 'children'> {
21
21
  attachments?: ChatAttachment[];
22
22
  onAttachmentClick?: (attachment: ChatAttachment) => void;
23
23
  onDownload?: (attachment: ChatAttachment) => void;
24
+ hasError?: boolean;
25
+ errorMessage?: string;
26
+ onRetry?: () => void;
24
27
  }
25
28
  declare const SChatMessage: React.FC<SChatMessageProps>;
26
29
  export default SChatMessage;
@@ -1,42 +1,49 @@
1
1
  import { j as r } from "../jsx-runtime-OVHDjVDe.js";
2
- import { useState as v } from "react";
3
- import { Box as o, Typography as l, Paper as H, IconButton as D } from "@mui/material";
4
- import S from "../s-avatar/s-avatar.js";
5
- import L from "../s-image-modal/s-image-modal.js";
6
- import O from "../s-lazy-image/s-lazy-image.js";
7
- import { c as z } from "../createSvgIcon-Dq42_0tn.js";
8
- const R = z(/* @__PURE__ */ r.jsx("path", {
2
+ import { useState as I } from "react";
3
+ import { Box as o, Typography as s, Paper as R, IconButton as b } from "@mui/material";
4
+ import k from "../s-avatar/s-avatar.js";
5
+ import V from "../s-image-modal/s-image-modal.js";
6
+ import U from "../s-lazy-image/s-lazy-image.js";
7
+ import { c as x } from "../createSvgIcon-Dq42_0tn.js";
8
+ const A = x(/* @__PURE__ */ r.jsx("path", {
9
9
  d: "M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"
10
- }), "Download"), U = z(/* @__PURE__ */ r.jsx("path", {
10
+ }), "Download"), P = x(/* @__PURE__ */ r.jsx("path", {
11
+ d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"
12
+ }), "ErrorOutline"), E = x(/* @__PURE__ */ r.jsx("path", {
11
13
  d: "M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"
12
- }), "InsertDriveFile"), J = ({
13
- message: m,
14
- variant: b = "received",
15
- timestamp: f,
16
- avatar: h,
17
- senderName: t,
18
- showAvatar: g = !0,
19
- showTimestamp: I = !1,
20
- maxWidth: w = "70%",
21
- attachments: x = [],
22
- onAttachmentClick: s,
14
+ }), "InsertDriveFile"), G = x(/* @__PURE__ */ r.jsx("path", {
15
+ d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"
16
+ }), "Refresh"), _ = ({
17
+ message: f,
18
+ variant: w = "received",
19
+ timestamp: g,
20
+ avatar: u,
21
+ senderName: l,
22
+ showAvatar: j = !0,
23
+ showTimestamp: M = !1,
24
+ maxWidth: C = "70%",
25
+ attachments: m = [],
26
+ onAttachmentClick: t,
23
27
  onDownload: n,
24
- sx: k,
25
- ...M
28
+ hasError: h = !1,
29
+ errorMessage: T = "Failed to send message",
30
+ onRetry: v,
31
+ sx: B,
32
+ ...F
26
33
  }) => {
27
- const [a, u] = v(null), [C, j] = v(!1), i = b === "sent", T = (e) => (typeof e == "string" ? new Date(e) : e).toLocaleTimeString("en-US", {
34
+ const [a, y] = I(null), [W, z] = I(!1), i = w === "sent", H = (e) => (typeof e == "string" ? new Date(e) : e).toLocaleTimeString("en-US", {
28
35
  hour: "2-digit",
29
36
  minute: "2-digit",
30
37
  hour12: !0
31
- }), B = (e) => {
38
+ }), L = (e) => {
32
39
  if (!e) return "";
33
- const c = ["Bytes", "KB", "MB", "GB"], p = Math.floor(Math.log(e) / Math.log(1024));
34
- return Math.round(e / Math.pow(1024, p) * 100) / 100 + " " + c[p];
35
- }, F = (e) => {
36
- s ? s(e) : (u(e), j(!0));
37
- }, W = (e) => {
38
- s ? s(e) : n && n(e);
39
- }, d = x.filter((e) => e.type === "image"), y = x.filter((e) => e.type === "file");
40
+ const d = ["Bytes", "KB", "MB", "GB"], p = Math.floor(Math.log(e) / Math.log(1024));
41
+ return Math.round(e / Math.pow(1024, p) * 100) / 100 + " " + d[p];
42
+ }, O = (e) => {
43
+ t ? t(e) : (y(e), z(!0));
44
+ }, D = (e) => {
45
+ t ? t(e) : n && n(e);
46
+ }, c = m.filter((e) => e.type === "image"), S = m.filter((e) => e.type === "file");
40
47
  return /* @__PURE__ */ r.jsxs(
41
48
  o,
42
49
  {
@@ -46,13 +53,13 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
46
53
  gap: 1,
47
54
  mb: 1,
48
55
  sx: {
49
- maxWidth: w,
56
+ maxWidth: C,
50
57
  alignSelf: i ? "flex-end" : "flex-start",
51
- ...k
58
+ ...B
52
59
  },
53
- ...M,
60
+ ...F,
54
61
  children: [
55
- g && !i && /* @__PURE__ */ r.jsx(S, { avatar: h, name: t, size: 36 }),
62
+ j && !i && /* @__PURE__ */ r.jsx(k, { avatar: u, name: l, size: 36 }),
56
63
  /* @__PURE__ */ r.jsxs(
57
64
  o,
58
65
  {
@@ -62,8 +69,8 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
62
69
  gap: 0.5,
63
70
  sx: { minWidth: 0 },
64
71
  children: [
65
- t && !i && /* @__PURE__ */ r.jsx(
66
- l,
72
+ l && !i && /* @__PURE__ */ r.jsx(
73
+ s,
67
74
  {
68
75
  variant: "caption",
69
76
  sx: {
@@ -72,7 +79,7 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
72
79
  fontWeight: 500,
73
80
  ml: 0.5
74
81
  },
75
- children: t
82
+ children: l
76
83
  }
77
84
  ),
78
85
  /* @__PURE__ */ r.jsxs(
@@ -86,29 +93,32 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
86
93
  backgroundColor: i ? "primary.main" : "",
87
94
  color: i ? "primary.contrastText" : "text.primary",
88
95
  border: i ? "none" : "1px solid",
89
- borderColor: "divider",
96
+ borderColor: h ? "error.main" : "divider",
90
97
  ...i && {
91
98
  backgroundColor: "primary.dark"
92
99
  },
100
+ ...h && {
101
+ opacity: 0.7
102
+ },
93
103
  overflow: "hidden"
94
104
  },
95
105
  children: [
96
- d.length > 0 && /* @__PURE__ */ r.jsx(
106
+ c.length > 0 && /* @__PURE__ */ r.jsx(
97
107
  o,
98
108
  {
99
109
  sx: {
100
110
  display: "grid",
101
- gridTemplateColumns: d.length === 1 ? "1fr" : "repeat(2, 1fr)",
111
+ gridTemplateColumns: c.length === 1 ? "1fr" : "repeat(2, 1fr)",
102
112
  gap: 0.5,
103
113
  p: 0.5
104
114
  },
105
115
  minWidth: 200,
106
- children: d.map((e) => /* @__PURE__ */ r.jsx(
116
+ children: c.map((e) => /* @__PURE__ */ r.jsx(
107
117
  o,
108
118
  {
109
119
  sx: {
110
120
  position: "relative",
111
- paddingTop: d.length === 1 ? "66.67%" : "100%",
121
+ paddingTop: c.length === 1 ? "66.67%" : "100%",
112
122
  cursor: "pointer",
113
123
  borderRadius: 1.5,
114
124
  overflow: "hidden",
@@ -116,9 +126,9 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
116
126
  opacity: 0.9
117
127
  }
118
128
  },
119
- onClick: () => F(e),
129
+ onClick: () => O(e),
120
130
  children: /* @__PURE__ */ r.jsx(
121
- O,
131
+ U,
122
132
  {
123
133
  src: e.thumbnailUrl || e.url,
124
134
  alt: e.name || "Image",
@@ -137,8 +147,8 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
137
147
  ))
138
148
  }
139
149
  ),
140
- y.length > 0 && /* @__PURE__ */ r.jsx(o, { sx: { p: 1.5 }, children: y.map((e, c) => /* @__PURE__ */ r.jsxs(
141
- H,
150
+ S.length > 0 && /* @__PURE__ */ r.jsx(o, { sx: { p: 1.5 }, children: S.map((e, d) => /* @__PURE__ */ r.jsxs(
151
+ R,
142
152
  {
143
153
  variant: "outlined",
144
154
  sx: {
@@ -146,17 +156,17 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
146
156
  alignItems: "center",
147
157
  gap: 1.5,
148
158
  p: 1,
149
- mt: c > 0 ? 1 : 0,
159
+ mt: d > 0 ? 1 : 0,
150
160
  cursor: "pointer",
151
161
  backgroundColor: i ? "blackAlpha.zero" : "background.paper",
152
162
  "&:hover": {
153
163
  backgroundColor: i ? "blackAlpha.light" : "action.hover"
154
164
  }
155
165
  },
156
- onClick: () => W(e),
166
+ onClick: () => D(e),
157
167
  children: [
158
168
  /* @__PURE__ */ r.jsx(
159
- U,
169
+ E,
160
170
  {
161
171
  sx: {
162
172
  fontSize: 32,
@@ -166,7 +176,7 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
166
176
  ),
167
177
  /* @__PURE__ */ r.jsxs(o, { sx: { flex: 1, minWidth: 0 }, children: [
168
178
  /* @__PURE__ */ r.jsx(
169
- l,
179
+ s,
170
180
  {
171
181
  variant: "body2",
172
182
  sx: {
@@ -181,19 +191,19 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
181
191
  }
182
192
  ),
183
193
  e.size && /* @__PURE__ */ r.jsx(
184
- l,
194
+ s,
185
195
  {
186
196
  variant: "caption",
187
197
  sx: {
188
198
  fontSize: "0.75rem",
189
199
  color: i ? "whiteAlpha.dark" : "text.secondary"
190
200
  },
191
- children: B(e.size)
201
+ children: L(e.size)
192
202
  }
193
203
  )
194
204
  ] }),
195
205
  n && /* @__PURE__ */ r.jsx(
196
- D,
206
+ b,
197
207
  {
198
208
  size: "small",
199
209
  onClick: (p) => {
@@ -202,15 +212,15 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
202
212
  sx: {
203
213
  color: i ? "primary.contrastText" : "action.active"
204
214
  },
205
- children: /* @__PURE__ */ r.jsx(R, { fontSize: "small" })
215
+ children: /* @__PURE__ */ r.jsx(A, { fontSize: "small" })
206
216
  }
207
217
  )
208
218
  ]
209
219
  },
210
220
  e.id
211
221
  )) }),
212
- m && /* @__PURE__ */ r.jsx(o, { sx: { px: 2, py: 1.5, pt: x.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ r.jsx(
213
- l,
222
+ f && /* @__PURE__ */ r.jsx(o, { sx: { px: 2, py: 1.5, pt: m.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ r.jsx(
223
+ s,
214
224
  {
215
225
  variant: "body2",
216
226
  sx: {
@@ -218,14 +228,14 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
218
228
  lineHeight: 1.4,
219
229
  whiteSpace: "pre-wrap"
220
230
  },
221
- children: m
231
+ children: f
222
232
  }
223
233
  ) })
224
234
  ]
225
235
  }
226
236
  ),
227
- I && f && /* @__PURE__ */ r.jsx(
228
- l,
237
+ M && g && /* @__PURE__ */ r.jsx(
238
+ s,
229
239
  {
230
240
  variant: "caption",
231
241
  sx: {
@@ -234,19 +244,61 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
234
244
  ml: i ? 0 : 0.5,
235
245
  mr: i ? 0.5 : 0
236
246
  },
237
- children: T(f)
247
+ children: H(g)
248
+ }
249
+ ),
250
+ h && /* @__PURE__ */ r.jsxs(
251
+ o,
252
+ {
253
+ display: "flex",
254
+ alignItems: "center",
255
+ gap: 0.5,
256
+ sx: {
257
+ color: "error.main",
258
+ ml: i ? 0 : 0.5,
259
+ mr: i ? 0.5 : 0
260
+ },
261
+ children: [
262
+ /* @__PURE__ */ r.jsx(P, { sx: { fontSize: "0.875rem" } }),
263
+ /* @__PURE__ */ r.jsx(
264
+ s,
265
+ {
266
+ variant: "caption",
267
+ sx: {
268
+ fontSize: "0.75rem",
269
+ fontWeight: 500
270
+ },
271
+ children: T
272
+ }
273
+ ),
274
+ v && /* @__PURE__ */ r.jsx(
275
+ b,
276
+ {
277
+ size: "small",
278
+ onClick: v,
279
+ sx: {
280
+ color: "error.main",
281
+ padding: 0.25,
282
+ "&:hover": {
283
+ backgroundColor: "error.light"
284
+ }
285
+ },
286
+ children: /* @__PURE__ */ r.jsx(G, { sx: { fontSize: "0.875rem" } })
287
+ }
288
+ )
289
+ ]
238
290
  }
239
291
  )
240
292
  ]
241
293
  }
242
294
  ),
243
- g && i && /* @__PURE__ */ r.jsx(S, { avatar: h, name: t, size: 36 }),
295
+ j && i && /* @__PURE__ */ r.jsx(k, { avatar: u, name: l, size: 36 }),
244
296
  a && /* @__PURE__ */ r.jsx(
245
- L,
297
+ V,
246
298
  {
247
- isOpen: C,
299
+ isOpen: W,
248
300
  onClose: () => {
249
- j(!1), u(null);
301
+ z(!1), y(null);
250
302
  },
251
303
  selectedItem: {
252
304
  id: a.id,
@@ -263,5 +315,5 @@ const R = z(/* @__PURE__ */ r.jsx("path", {
263
315
  );
264
316
  };
265
317
  export {
266
- J as default
318
+ _ as default
267
319
  };
@@ -2,7 +2,7 @@ import { j as t } from "../jsx-runtime-OVHDjVDe.js";
2
2
  import { useState as u, useEffect as w } from "react";
3
3
  import { Box as v, Stack as y, Typography as m, IconButton as W, Button as k, Collapse as H } from "@mui/material";
4
4
  import A from "../s-avatar/s-avatar.js";
5
- import { F as P } from "../Favorite-D-vTz4mw.js";
5
+ import { F as P } from "../Favorite-DmSF47XC.js";
6
6
  import { c as I } from "../createSvgIcon-Dq42_0tn.js";
7
7
  import { E as V } from "../ExpandMore-mZGpvXf6.js";
8
8
  const Y = I(/* @__PURE__ */ t.jsx("path", {
@@ -0,0 +1,2 @@
1
+ export { default } from './s-item-not-found';
2
+ export type { SItemNotFoundProps } from './s-item-not-found';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./s-item-not-found.js";
2
+ export {
3
+ o as default
4
+ };
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.js",
3
+ "types": "./index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,10 @@
1
+ import { BoxProps } from '@mui/material';
2
+ import { SLazyImageProps } from '../s-lazy-image';
3
+ export interface SItemNotFoundProps {
4
+ message: string;
5
+ image?: string;
6
+ boxProps?: BoxProps;
7
+ lazyImageProps?: Omit<SLazyImageProps, 'src'>;
8
+ }
9
+ declare const SItemNotFound: ({ message, image, boxProps, lazyImageProps }: SItemNotFoundProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default SItemNotFound;
@@ -0,0 +1,10 @@
1
+ import { j as t } from "../jsx-runtime-OVHDjVDe.js";
2
+ import { Box as n, Typography as i } from "@mui/material";
3
+ import a from "../s-lazy-image/s-lazy-image.js";
4
+ const c = ({ message: e, image: o = "/assets/not-found.svg", boxProps: r, lazyImageProps: s }) => /* @__PURE__ */ t.jsxs(n, { display: "flex", justifyContent: "center", alignItems: "center", flexDirection: "column", ...r, children: [
5
+ /* @__PURE__ */ t.jsx(a, { src: o, width: 220, height: 220, ...s }),
6
+ /* @__PURE__ */ t.jsx(i, { variant: "h6", color: "text.disabled", children: e })
7
+ ] });
8
+ export {
9
+ c as default
10
+ };
@@ -7,9 +7,11 @@ export interface SReviewProps {
7
7
  rating: number;
8
8
  reviewContent: string;
9
9
  datetime: Date | string;
10
+ images?: string[];
11
+ userHelpfulVote?: 'yes' | 'no' | null;
10
12
  helpfulYes?: number;
11
13
  helpfulNo?: number;
12
- onHelpfulVote?: (reviewId: string | number, vote: 'yes' | 'no') => void;
14
+ onHelpfulVote?: (reviewId: string | number, vote: 'yes' | 'no' | null) => void;
13
15
  showHelpfulSection?: boolean;
14
16
  avatarSize?: number;
15
17
  maxRating?: number;
@@ -1,86 +1,141 @@
1
1
  import { j as e } from "../jsx-runtime-OVHDjVDe.js";
2
- import { useState as y } from "react";
3
- import { Box as d, Stack as v, Typography as i, IconButton as I, Divider as $ } from "@mui/material";
4
- import C from "../s-avatar/s-avatar.js";
5
- import V from "../s-rating/s-rating.js";
6
- import { c as b } from "../createSvgIcon-Dq42_0tn.js";
7
- const L = b(/* @__PURE__ */ e.jsx("path", {
2
+ import { useState as g, useEffect as A } from "react";
3
+ import { Box as p, Stack as j, Typography as i, IconButton as T, Divider as F } from "@mui/material";
4
+ import N from "../s-avatar/s-avatar.js";
5
+ import q from "../s-image-modal/s-image-modal.js";
6
+ import G from "../s-lazy-image/s-lazy-image.js";
7
+ import J from "../s-rating/s-rating.js";
8
+ import { c as $ } from "../createSvgIcon-Dq42_0tn.js";
9
+ const K = $(/* @__PURE__ */ e.jsx("path", {
8
10
  d: "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2m4 0v12h4V3z"
9
- }), "ThumbDown"), R = b(/* @__PURE__ */ e.jsx("path", {
11
+ }), "ThumbDown"), P = $(/* @__PURE__ */ e.jsx("path", {
10
12
  d: "M1 21h4V9H1zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73z"
11
- }), "ThumbUp"), U = (a) => {
12
- const h = /* @__PURE__ */ new Date(), u = typeof a == "string" ? new Date(a) : a, p = h.getTime() - u.getTime(), x = Math.floor(p / 1e3), t = Math.floor(x / 60), n = Math.floor(t / 60), s = Math.floor(n / 24), r = Math.floor(s / 7), l = Math.floor(s / 30), m = Math.floor(s / 365);
13
- return x < 60 ? "just now" : t < 60 ? t === 1 ? "1 minute ago" : `${t} minutes ago` : n < 24 ? n === 1 ? "1 hour ago" : `${n} hours ago` : s < 7 ? s === 1 ? "1 day ago" : `${s} days ago` : r < 4 ? r === 1 ? "1 week ago" : `${r} weeks ago` : l < 12 ? l === 1 ? "1 month ago" : `${l} months ago` : m === 1 ? "1 year ago" : `${m} years ago`;
14
- }, q = ({
13
+ }), "ThumbUp"), Q = (a) => {
14
+ const c = /* @__PURE__ */ new Date(), y = typeof a == "string" ? new Date(a) : a, v = c.getTime() - y.getTime(), u = Math.floor(v / 1e3), l = Math.floor(u / 60), s = Math.floor(l / 60), r = Math.floor(s / 24), h = Math.floor(r / 7), m = Math.floor(r / 30), f = Math.floor(r / 365);
15
+ return u < 60 ? "just now" : l < 60 ? l === 1 ? "1 minute ago" : `${l} minutes ago` : s < 24 ? s === 1 ? "1 hour ago" : `${s} hours ago` : r < 7 ? r === 1 ? "1 day ago" : `${r} days ago` : h < 4 ? h === 1 ? "1 week ago" : `${h} weeks ago` : m < 12 ? m === 1 ? "1 month ago" : `${m} months ago` : f === 1 ? "1 year ago" : `${f} years ago`;
16
+ }, re = ({
15
17
  id: a = Date.now(),
16
- userName: h,
17
- userAvatar: u,
18
- rating: p,
19
- reviewContent: x,
20
- datetime: t,
21
- helpfulYes: n = 0,
22
- helpfulNo: s = 0,
23
- onHelpfulVote: r,
24
- showHelpfulSection: l = !0,
25
- avatarSize: m = 48,
26
- maxRating: z = 5,
27
- readOnly: S = !0,
28
- sx: T = {}
18
+ userName: c,
19
+ userAvatar: y,
20
+ rating: v,
21
+ reviewContent: u,
22
+ datetime: l,
23
+ images: s,
24
+ userHelpfulVote: r = null,
25
+ helpfulYes: h = 0,
26
+ helpfulNo: m = 0,
27
+ onHelpfulVote: f,
28
+ showHelpfulSection: k = !0,
29
+ avatarSize: z = 48,
30
+ maxRating: D = 5,
31
+ readOnly: H = !0,
32
+ sx: L = {}
29
33
  }) => {
30
- const [k, g] = y(n), [D, j] = y(s), [c, M] = y(null), w = (f) => {
31
- c === f ? (f === "yes" ? g((o) => Math.max(0, o - 1)) : j((o) => Math.max(0, o - 1)), M(null)) : (c === "yes" ? g((o) => Math.max(0, o - 1)) : c === "no" && j((o) => Math.max(0, o - 1)), f === "yes" ? g((o) => o + 1) : j((o) => o + 1), M(f)), r && r(a, f);
32
- }, H = U(t);
33
- return /* @__PURE__ */ e.jsxs(d, { sx: { py: 2, ...T }, children: [
34
- /* @__PURE__ */ e.jsxs(v, { direction: "row", spacing: 2, alignItems: "flex-start", children: [
35
- /* @__PURE__ */ e.jsx(C, { avatar: u, name: h, size: m }),
36
- /* @__PURE__ */ e.jsxs(d, { sx: { flex: 1 }, children: [
37
- /* @__PURE__ */ e.jsxs(v, { direction: "row", alignItems: "center", spacing: 2, mb: 1, children: [
38
- /* @__PURE__ */ e.jsx(i, { variant: "subtitle2", fontWeight: "600", children: h }),
39
- /* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: H }) })
34
+ const [R, w] = g(h), [V, I] = g(m), [d, M] = g(r), [W, C] = g(!1), [E, b] = g(null), S = (t) => {
35
+ let n = t;
36
+ d === t ? (t === "yes" ? w((o) => Math.max(0, o - 1)) : I((o) => Math.max(0, o - 1)), M(null), n = null) : (d === "yes" ? w((o) => Math.max(0, o - 1)) : d === "no" && I((o) => Math.max(0, o - 1)), t === "yes" ? w((o) => o + 1) : I((o) => o + 1), M(t), n = t), f && f(a, n);
37
+ }, x = (s == null ? void 0 : s.map((t, n) => ({
38
+ id: `review-${a}-image-${n}`,
39
+ type: "image",
40
+ url: t,
41
+ title: `Review image ${n + 1}`,
42
+ desc: `Image ${n + 1} from ${c}'s review`
43
+ }))) || [], O = (t) => {
44
+ const n = x[t];
45
+ n && (b(n), C(!0));
46
+ }, U = () => {
47
+ C(!1), b(null);
48
+ }, Y = (t) => {
49
+ b(t);
50
+ }, B = Q(l);
51
+ return A(() => {
52
+ M(r);
53
+ }, [r]), /* @__PURE__ */ e.jsxs(p, { sx: { py: 2, ...L }, children: [
54
+ /* @__PURE__ */ e.jsxs(j, { direction: "row", spacing: 2, alignItems: "flex-start", children: [
55
+ /* @__PURE__ */ e.jsx(N, { avatar: y, name: c, size: z }),
56
+ /* @__PURE__ */ e.jsxs(p, { sx: { flex: 1 }, children: [
57
+ /* @__PURE__ */ e.jsxs(j, { direction: "row", alignItems: "center", spacing: 2, mb: 1, children: [
58
+ /* @__PURE__ */ e.jsx(i, { variant: "subtitle2", fontWeight: "600", children: c }),
59
+ /* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: B }) })
40
60
  ] }),
41
- /* @__PURE__ */ e.jsx(d, { sx: { mb: 1 }, children: /* @__PURE__ */ e.jsx(V, { value: p, max: z, readOnly: S, size: "small" }) }),
42
- /* @__PURE__ */ e.jsx(i, { variant: "body2", sx: { mb: 2, lineHeight: 1.6 }, children: x }),
43
- l && /* @__PURE__ */ e.jsxs(d, { children: [
61
+ /* @__PURE__ */ e.jsx(p, { sx: { mb: 1 }, children: /* @__PURE__ */ e.jsx(J, { value: v, max: D, readOnly: H, size: "small" }) }),
62
+ /* @__PURE__ */ e.jsx(i, { variant: "body2", sx: { mb: 2, lineHeight: 1.6 }, children: u }),
63
+ s && s.length > 0 && /* @__PURE__ */ e.jsx(j, { direction: "row", spacing: 1, sx: { mb: 2, flexWrap: "wrap", gap: 1 }, children: s.map((t, n) => /* @__PURE__ */ e.jsx(
64
+ G,
65
+ {
66
+ src: t,
67
+ alt: `Review image ${n + 1}`,
68
+ width: 80,
69
+ height: 80,
70
+ variant: "rounded",
71
+ style: {
72
+ objectFit: "cover",
73
+ cursor: "pointer"
74
+ },
75
+ onClick: () => O(n),
76
+ onMouseEnter: (o) => {
77
+ o.currentTarget.style.opacity = "0.8";
78
+ },
79
+ onMouseLeave: (o) => {
80
+ o.currentTarget.style.opacity = "1";
81
+ }
82
+ },
83
+ n
84
+ )) }),
85
+ k && /* @__PURE__ */ e.jsxs(p, { children: [
44
86
  /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", sx: { mr: 2 }, children: "Was this review helpful?" }),
45
- /* @__PURE__ */ e.jsxs(v, { direction: "row", spacing: 1, sx: { display: "inline-flex", alignItems: "center" }, children: [
87
+ /* @__PURE__ */ e.jsxs(j, { direction: "row", spacing: 1, sx: { display: "inline-flex", alignItems: "center" }, children: [
46
88
  /* @__PURE__ */ e.jsx(
47
- I,
89
+ T,
48
90
  {
49
91
  size: "small",
50
- onClick: () => w("yes"),
92
+ onClick: () => S("yes"),
51
93
  sx: {
52
- color: c === "yes" ? "primary.main" : "text.secondary",
94
+ color: d === "yes" ? "primary.main" : "text.secondary",
53
95
  "&:hover": {
54
96
  backgroundColor: "action.hover"
55
97
  }
56
98
  },
57
- children: /* @__PURE__ */ e.jsx(R, { fontSize: "small" })
99
+ children: /* @__PURE__ */ e.jsx(P, { fontSize: "small" })
58
100
  }
59
101
  ),
60
- /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: k }),
102
+ /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: R }),
61
103
  /* @__PURE__ */ e.jsx(
62
- I,
104
+ T,
63
105
  {
64
106
  size: "small",
65
- onClick: () => w("no"),
107
+ onClick: () => S("no"),
66
108
  sx: {
67
- color: c === "no" ? "error.main" : "text.secondary",
109
+ color: d === "no" ? "error.main" : "text.secondary",
68
110
  ml: 1,
69
111
  "&:hover": {
70
112
  backgroundColor: "action.hover"
71
113
  }
72
114
  },
73
- children: /* @__PURE__ */ e.jsx(L, { fontSize: "small" })
115
+ children: /* @__PURE__ */ e.jsx(K, { fontSize: "small" })
74
116
  }
75
117
  ),
76
- /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: D })
118
+ /* @__PURE__ */ e.jsx(i, { variant: "caption", color: "text.secondary", children: V })
77
119
  ] })
78
120
  ] })
79
121
  ] })
80
122
  ] }),
81
- /* @__PURE__ */ e.jsx($, { sx: { mt: 2 } })
123
+ /* @__PURE__ */ e.jsx(F, { sx: { mt: 2 } }),
124
+ /* @__PURE__ */ e.jsx(
125
+ q,
126
+ {
127
+ isOpen: W,
128
+ onClose: U,
129
+ selectedItem: E,
130
+ onItemChange: Y,
131
+ mediaItems: x,
132
+ showNavigation: x.length > 1,
133
+ showThumbnailDock: x.length > 1,
134
+ showCounter: x.length > 1
135
+ }
136
+ )
82
137
  ] });
83
138
  };
84
139
  export {
85
- q as default
140
+ re as default
86
141
  };
@@ -6,7 +6,7 @@ import v from "../s-form/s-form.js";
6
6
  import u from "../s-text-field/s-text-field.js";
7
7
  import y from "../s-theme-switch/s-theme-switch.js";
8
8
  import { c as j } from "../createSvgIcon-Dq42_0tn.js";
9
- import { F as b } from "../Favorite-D-vTz4mw.js";
9
+ import { F as b } from "../Favorite-DmSF47XC.js";
10
10
  const f = j(/* @__PURE__ */ r.jsx("path", {
11
11
  d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"
12
12
  }), "Add"), S = j(/* @__PURE__ */ r.jsx("path", {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "registry": "https://registry.npmjs.org"
5
5
  },
6
- "version": "1.0.134",
6
+ "version": "1.0.136",
7
7
  "description": "advanced ui kit for solostylist",
8
8
  "private": false,
9
9
  "type": "module",