@solostylist/ui-kit 1.0.104 → 1.0.105

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.
package/dist/main.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { default as SAccordion } from './s-accordion/index';
2
2
  export type { SAccordionProps } from './s-accordion/index';
3
+ export { default as SActionOverlay } from './s-action-overlay/index';
4
+ export type { SActionOverlayProps, IActionOverlay } from './s-action-overlay/index';
3
5
  export { default as SAutocomplete } from './s-autocomplete/index';
4
6
  export type { SAutocompleteProps } from './s-autocomplete/index';
5
7
  export { default as SAvatar } from './s-avatar/index';
@@ -31,6 +33,8 @@ export type { DialogMessageContextProps, DialogMessageOpenOptions } from './s-di
31
33
  export { default as SError } from './s-error/index';
32
34
  export { default as SEmpty } from './s-empty/index';
33
35
  export type { SEmptyProps } from './s-empty/index';
36
+ export { default as SFlexBox } from './s-flex-box/index';
37
+ export type { SFlexBoxProps } from './s-flex-box/index';
34
38
  export { default as SDialog } from './s-dialog/index';
35
39
  export type { SDialogProps } from './s-dialog/index';
36
40
  export { default as SFileDropzone } from './s-file-dropzone/index';
package/dist/main.js CHANGED
@@ -1,144 +1,148 @@
1
1
  import { default as t } from "./s-accordion/s-accordion.js";
2
- import { default as f } from "./s-autocomplete/s-autocomplete.js";
3
- import { default as s } from "./s-avatar/s-avatar.js";
4
- import { default as p } from "./s-button/s-button.js";
5
- import { default as d } from "./s-button-link/s-button-link.js";
6
- import { default as u } from "./s-carousel/s-carousel.js";
7
- import { default as n } from "./s-chat-input/s-chat-input.js";
8
- import { default as c } from "./s-chat-message/s-chat-message.js";
9
- import { default as C } from "./s-text-editor/s-text-editor.js";
2
+ import { default as f } from "./s-action-overlay/s-action-overlay.js";
3
+ import { default as s } from "./s-autocomplete/s-autocomplete.js";
4
+ import { default as p } from "./s-avatar/s-avatar.js";
5
+ import { default as S } from "./s-button/s-button.js";
6
+ import { default as u } from "./s-button-link/s-button-link.js";
7
+ import { default as n } from "./s-carousel/s-carousel.js";
8
+ import { default as c } from "./s-chat-input/s-chat-input.js";
9
+ import { default as v } from "./s-chat-message/s-chat-message.js";
10
+ import { default as P } from "./s-text-editor/s-text-editor.js";
10
11
  import "./s-text-editor/s-text-editor-toolbar.js";
11
- import { default as P } from "./s-checkbox/s-checkbox.js";
12
- import { default as b } from "./s-chip/s-chip.js";
13
- import { default as I } from "./s-chips/s-chips.js";
14
- import { default as k } from "./s-data-table/s-data-table.js";
15
- import { DialogConfirmProvider as L, default as F, useDialogConfirm as B } from "./s-dialog-confirm/s-dialog-confirm.js";
16
- import { DialogMessageProvider as A, default as E, useDialogMessage as R } from "./s-dialog-message/s-dialog-message.js";
17
- import { default as G } from "./s-error/s-error.js";
18
- import { default as j } from "./s-empty/s-empty.js";
19
- import { default as V } from "./s-dialog/s-dialog.js";
20
- import { default as H } from "./s-file-dropzone/s-file-dropzone.js";
21
- import { default as O } from "./s-file-icon/s-file-icon.js";
22
- import { default as U } from "./s-i18n-provider/s-i18n-provider.js";
23
- import { default as X } from "./s-icon-button/s-icon-button.js";
24
- import { default as Z } from "./s-label/s-label.js";
25
- import { default as $ } from "./s-multi-select/s-multi-select.js";
26
- import { default as oe } from "./s-no-ssr/s-no-ssr.js";
27
- import { default as te } from "./s-text-field/s-text-field.js";
28
- import { default as fe } from "./s-pagination/s-pagination.js";
29
- import { default as se } from "./s-select/s-select.js";
30
- import { default as pe } from "./s-skeleton/s-skeleton.js";
31
- import { default as de } from "./s-tip/s-tip.js";
32
- import { default as ue } from "./s-text-truncation/s-text-truncation.js";
33
- import { default as ne, SnackbarMessageProvider as ge, useSnackbarMessage as ce } from "./s-snackbar-message/s-snackbar-message.js";
34
- import { default as Ce } from "./s-form/s-form.js";
35
- import { SSmartTextField as Pe } from "./s-smart-text-field/s-smart-text-field.js";
36
- import { SCopilotKitProvider as be } from "./s-copilot-kit-provider/s-copilot-kit-provider.js";
37
- import { SStripeCVC as Ie, SStripeExpiry as he, SStripeNumber as ke, StripeTextField as ye } from "./s-stripe/s-stripe.js";
38
- import { default as Fe } from "./s-theme-provider/s-theme-provider.js";
39
- import { default as ze } from "./s-datetime-picker/s-datetime-picker.js";
40
- import { default as Ee } from "./s-date-picker/s-date-picker.js";
41
- import { default as we } from "./s-localization-provider/s-localization-provider.js";
42
- import { default as Ne } from "./s-gradient-icon/s-gradient-icon.js";
43
- import { default as Ke } from "./s-glow-button/s-glow-button.js";
44
- import { default as qe } from "./s-moving-border/s-moving-border.js";
45
- import { default as Je } from "./s-scroll-reveal/s-scroll-reveal.js";
46
- import { default as Qe } from "./s-spotlight-cursor/s-spotlight-cursor.js";
47
- import { default as We } from "./s-copyable-text/s-copyable-text.js";
48
- import { MediaItem as Ye, default as Ze } from "./s-interactive-gallery/s-interactive-gallery.js";
49
- import { default as $e } from "./s-image-modal/s-image-modal.js";
50
- import { default as oo } from "./s-lazy-image/s-lazy-image.js";
51
- import { default as to } from "./s-image-comparison/s-image-comparison.js";
52
- import { default as fo } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
53
- import { default as so } from "./s-rating/s-rating.js";
54
- import { default as po } from "./s-review/s-review.js";
55
- import { default as xo } from "./s-tabs/s-tabs.js";
56
- import { default as io } from "./s-tabs/s-tab.js";
57
- import { default as go } from "./s-tabs/s-tab-panel.js";
58
- import { default as To } from "./s-text-shimmer/s-text-shimmer.js";
59
- import { default as vo } from "./s-typewriter-text/s-typewriter-text.js";
60
- import { useDialog as Do } from "./hooks/use-dialog.js";
61
- import { usePopover as Mo } from "./hooks/use-popover.js";
62
- import { formatDatePosted as ho } from "./utils/dayjs.js";
63
- import { bytesToSize as yo } from "./utils/bytes-to-size.js";
64
- import { LogLevel as Fo, Logger as Bo, createLogger as zo, logger as Ao } from "./utils/logger.js";
65
- import { default as Ro } from "dayjs";
12
+ import { default as b } from "./s-checkbox/s-checkbox.js";
13
+ import { default as I } from "./s-chip/s-chip.js";
14
+ import { default as h } from "./s-chips/s-chips.js";
15
+ import { default as L } from "./s-data-table/s-data-table.js";
16
+ import { DialogConfirmProvider as B, default as A, useDialogConfirm as z } from "./s-dialog-confirm/s-dialog-confirm.js";
17
+ import { DialogMessageProvider as R, default as w, useDialogMessage as G } from "./s-dialog-message/s-dialog-message.js";
18
+ import { default as j } from "./s-error/s-error.js";
19
+ import { default as O } from "./s-empty/s-empty.js";
20
+ import { default as q } from "./s-flex-box/s-flex-box.js";
21
+ import { default as J } from "./s-dialog/s-dialog.js";
22
+ import { default as U } from "./s-file-dropzone/s-file-dropzone.js";
23
+ import { default as X } from "./s-file-icon/s-file-icon.js";
24
+ import { default as Z } from "./s-i18n-provider/s-i18n-provider.js";
25
+ import { default as $ } from "./s-icon-button/s-icon-button.js";
26
+ import { default as oe } from "./s-label/s-label.js";
27
+ import { default as te } from "./s-multi-select/s-multi-select.js";
28
+ import { default as fe } from "./s-no-ssr/s-no-ssr.js";
29
+ import { default as se } from "./s-text-field/s-text-field.js";
30
+ import { default as pe } from "./s-pagination/s-pagination.js";
31
+ import { default as Se } from "./s-select/s-select.js";
32
+ import { default as ue } from "./s-skeleton/s-skeleton.js";
33
+ import { default as ne } from "./s-tip/s-tip.js";
34
+ import { default as ce } from "./s-text-truncation/s-text-truncation.js";
35
+ import { default as ve, SnackbarMessageProvider as Ce, useSnackbarMessage as Pe } from "./s-snackbar-message/s-snackbar-message.js";
36
+ import { default as be } from "./s-form/s-form.js";
37
+ import { SSmartTextField as Ie } from "./s-smart-text-field/s-smart-text-field.js";
38
+ import { SCopilotKitProvider as he } from "./s-copilot-kit-provider/s-copilot-kit-provider.js";
39
+ import { SStripeCVC as Le, SStripeExpiry as Fe, SStripeNumber as Be, StripeTextField as Ae } from "./s-stripe/s-stripe.js";
40
+ import { default as Ee } from "./s-theme-provider/s-theme-provider.js";
41
+ import { default as we } from "./s-datetime-picker/s-datetime-picker.js";
42
+ import { default as Ne } from "./s-date-picker/s-date-picker.js";
43
+ import { default as Ke } from "./s-localization-provider/s-localization-provider.js";
44
+ import { default as Ve } from "./s-gradient-icon/s-gradient-icon.js";
45
+ import { default as He } from "./s-glow-button/s-glow-button.js";
46
+ import { default as Qe } from "./s-moving-border/s-moving-border.js";
47
+ import { default as We } from "./s-scroll-reveal/s-scroll-reveal.js";
48
+ import { default as Ye } from "./s-spotlight-cursor/s-spotlight-cursor.js";
49
+ import { default as _e } from "./s-copyable-text/s-copyable-text.js";
50
+ import { MediaItem as eo, default as oo } from "./s-interactive-gallery/s-interactive-gallery.js";
51
+ import { default as to } from "./s-image-modal/s-image-modal.js";
52
+ import { default as fo } from "./s-lazy-image/s-lazy-image.js";
53
+ import { default as so } from "./s-image-comparison/s-image-comparison.js";
54
+ import { default as po } from "./s-radial-pulse-animate/s-radial-pulse-animate.js";
55
+ import { default as So } from "./s-rating/s-rating.js";
56
+ import { default as io } from "./s-review/s-review.js";
57
+ import { default as go } from "./s-tabs/s-tabs.js";
58
+ import { default as To } from "./s-tabs/s-tab.js";
59
+ import { default as Co } from "./s-tabs/s-tab-panel.js";
60
+ import { default as Do } from "./s-text-shimmer/s-text-shimmer.js";
61
+ import { default as Mo } from "./s-typewriter-text/s-typewriter-text.js";
62
+ import { useDialog as yo } from "./hooks/use-dialog.js";
63
+ import { usePopover as ko } from "./hooks/use-popover.js";
64
+ import { formatDatePosted as Fo } from "./utils/dayjs.js";
65
+ import { bytesToSize as Ao } from "./utils/bytes-to-size.js";
66
+ import { LogLevel as Eo, Logger as Ro, createLogger as wo, logger as Go } from "./utils/logger.js";
67
+ import { default as jo } from "dayjs";
66
68
  export {
67
- L as DialogConfirmProvider,
68
- A as DialogMessageProvider,
69
- Fo as LogLevel,
70
- Bo as Logger,
71
- Ye as MediaItem,
69
+ B as DialogConfirmProvider,
70
+ R as DialogMessageProvider,
71
+ Eo as LogLevel,
72
+ Ro as Logger,
73
+ eo as MediaItem,
72
74
  t as SAccordion,
73
- f as SAutocomplete,
74
- s as SAvatar,
75
- p as SButton,
76
- d as SButtonLink,
77
- u as SCarousel,
78
- n as SChatInput,
79
- c as SChatMessage,
80
- P as SCheckbox,
81
- b as SChip,
82
- I as SChips,
83
- be as SCopilotKitProvider,
84
- We as SCopyableText,
85
- k as SDataTable,
86
- Ee as SDatePicker,
87
- ze as SDateTimePicker,
88
- V as SDialog,
89
- F as SDialogConfirm,
90
- E as SDialogMessage,
91
- j as SEmpty,
92
- G as SError,
93
- H as SFileDropzone,
94
- O as SFileIcon,
95
- Ce as SForm,
96
- Ke as SGlowButton,
97
- Ne as SGradientIcon,
98
- U as SI18nProvider,
99
- X as SIconButton,
100
- to as SImageComparison,
101
- $e as SImageModal,
102
- Ze as SInteractiveGallery,
103
- Z as SLabel,
104
- oo as SLazyImage,
105
- we as SLocalizationProvider,
106
- qe as SMovingBorder,
107
- $ as SMultiSelect,
108
- oe as SNoSsr,
109
- fe as SPagination,
110
- fo as SRadialPulseAnimate,
111
- so as SRating,
112
- po as SReview,
113
- Je as SScrollReveal,
114
- se as SSelect,
115
- pe as SSkeleton,
116
- Pe as SSmartTextField,
117
- ne as SSnackbarMessage,
118
- Qe as SSpotlightCursor,
119
- Ie as SStripeCVC,
120
- he as SStripeExpiry,
121
- ke as SStripeNumber,
122
- io as STab,
123
- go as STabPanel,
124
- xo as STabs,
125
- C as STextEditor,
126
- te as STextField,
127
- To as STextShimmer,
128
- ue as STextTruncation,
129
- Fe as SThemeProvider,
130
- de as STip,
131
- vo as STypewriterText,
132
- ge as SnackbarMessageProvider,
133
- ye as StripeTextField,
134
- yo as bytesToSize,
135
- zo as createLogger,
136
- Ro as dayjs,
137
- ho as formatDatePosted,
138
- Ao as logger,
139
- Do as useDialog,
140
- B as useDialogConfirm,
141
- R as useDialogMessage,
142
- Mo as usePopover,
143
- ce as useSnackbarMessage
75
+ f as SActionOverlay,
76
+ s as SAutocomplete,
77
+ p as SAvatar,
78
+ S as SButton,
79
+ u as SButtonLink,
80
+ n as SCarousel,
81
+ c as SChatInput,
82
+ v as SChatMessage,
83
+ b as SCheckbox,
84
+ I as SChip,
85
+ h as SChips,
86
+ he as SCopilotKitProvider,
87
+ _e as SCopyableText,
88
+ L as SDataTable,
89
+ Ne as SDatePicker,
90
+ we as SDateTimePicker,
91
+ J as SDialog,
92
+ A as SDialogConfirm,
93
+ w as SDialogMessage,
94
+ O as SEmpty,
95
+ j as SError,
96
+ U as SFileDropzone,
97
+ X as SFileIcon,
98
+ q as SFlexBox,
99
+ be as SForm,
100
+ He as SGlowButton,
101
+ Ve as SGradientIcon,
102
+ Z as SI18nProvider,
103
+ $ as SIconButton,
104
+ so as SImageComparison,
105
+ to as SImageModal,
106
+ oo as SInteractiveGallery,
107
+ oe as SLabel,
108
+ fo as SLazyImage,
109
+ Ke as SLocalizationProvider,
110
+ Qe as SMovingBorder,
111
+ te as SMultiSelect,
112
+ fe as SNoSsr,
113
+ pe as SPagination,
114
+ po as SRadialPulseAnimate,
115
+ So as SRating,
116
+ io as SReview,
117
+ We as SScrollReveal,
118
+ Se as SSelect,
119
+ ue as SSkeleton,
120
+ Ie as SSmartTextField,
121
+ ve as SSnackbarMessage,
122
+ Ye as SSpotlightCursor,
123
+ Le as SStripeCVC,
124
+ Fe as SStripeExpiry,
125
+ Be as SStripeNumber,
126
+ To as STab,
127
+ Co as STabPanel,
128
+ go as STabs,
129
+ P as STextEditor,
130
+ se as STextField,
131
+ Do as STextShimmer,
132
+ ce as STextTruncation,
133
+ Ee as SThemeProvider,
134
+ ne as STip,
135
+ Mo as STypewriterText,
136
+ Ce as SnackbarMessageProvider,
137
+ Ae as StripeTextField,
138
+ Ao as bytesToSize,
139
+ wo as createLogger,
140
+ jo as dayjs,
141
+ Fo as formatDatePosted,
142
+ Go as logger,
143
+ yo as useDialog,
144
+ z as useDialogConfirm,
145
+ G as useDialogMessage,
146
+ ko as usePopover,
147
+ Pe as useSnackbarMessage
144
148
  };
@@ -0,0 +1,2 @@
1
+ export { default } from './s-action-overlay';
2
+ export type { SActionOverlayProps, IActionOverlay } from './s-action-overlay';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./s-action-overlay.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,29 @@
1
+ import { ReactNode } from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ import { SIconButtonProps } from '../s-icon-button';
4
+ export interface IActionOverlay {
5
+ icon: ReactNode;
6
+ tooltip: string;
7
+ onClick?: () => void;
8
+ isActive?: boolean;
9
+ disabled?: boolean;
10
+ color?: 'inherit' | 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning';
11
+ iconButtonProps?: SIconButtonProps;
12
+ }
13
+ export interface SActionOverlayProps {
14
+ actions: IActionOverlay[];
15
+ maxWidth?: number | string;
16
+ columns?: number;
17
+ children: ReactNode;
18
+ showOnHover?: boolean;
19
+ visible?: boolean;
20
+ position?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
21
+ backdropColor?: string;
22
+ backdropOpacity?: number;
23
+ blurAmount?: number;
24
+ borderRadius?: number | string;
25
+ overlaySx?: SxProps<Theme>;
26
+ onVisibilityChange?: (visible: boolean) => void;
27
+ }
28
+ declare const SActionOverlay: ({ actions, maxWidth, columns, children, showOnHover, visible: controlledVisible, position, backdropColor, backdropOpacity, blurAmount, borderRadius, overlaySx, onVisibilityChange, }: SActionOverlayProps) => import("react/jsx-runtime").JSX.Element;
29
+ export default SActionOverlay;
@@ -0,0 +1,112 @@
1
+ import { j as r } from "../jsx-runtime-DywqP_6a.js";
2
+ import { useState as _ } from "react";
3
+ import { Box as l, Grid as c } from "@mui/material";
4
+ import b from "../s-icon-button/s-icon-button.js";
5
+ const T = 40, B = 16, R = ({
6
+ actions: u,
7
+ maxWidth: d,
8
+ columns: s = 3,
9
+ children: p,
10
+ showOnHover: n = !0,
11
+ visible: o,
12
+ position: a = "center",
13
+ backdropColor: x = "divider",
14
+ backdropOpacity: m = 1,
15
+ blurAmount: j = 10,
16
+ borderRadius: v = 0,
17
+ overlaySx: g,
18
+ onVisibilityChange: e
19
+ }) => {
20
+ const [I, i] = _(!1), h = o !== void 0 ? o : n && I, y = () => {
21
+ n && o === void 0 && (i(!0), e == null || e(!0));
22
+ }, A = () => {
23
+ n && o === void 0 && (i(!1), e == null || e(!1));
24
+ }, E = () => {
25
+ switch (a) {
26
+ case "top-left":
27
+ return { justifyContent: "flex-start", alignItems: "flex-start" };
28
+ case "top-right":
29
+ return { justifyContent: "flex-end", alignItems: "flex-start" };
30
+ case "bottom-left":
31
+ return { justifyContent: "flex-start", alignItems: "flex-end" };
32
+ case "bottom-right":
33
+ return { justifyContent: "flex-end", alignItems: "flex-end" };
34
+ case "center":
35
+ default:
36
+ return { justifyContent: "center", alignItems: "center" };
37
+ }
38
+ }, M = () => {
39
+ switch (a) {
40
+ case "top-left":
41
+ return "flex-start";
42
+ case "top-right":
43
+ return "flex-end";
44
+ case "bottom-left":
45
+ return "flex-start";
46
+ case "bottom-right":
47
+ return "flex-end";
48
+ case "center":
49
+ default:
50
+ return "center";
51
+ }
52
+ }, k = () => {
53
+ let t = d;
54
+ return s && (t = s * T + (s - 1) * B + s * 16), t;
55
+ };
56
+ return (
57
+ // Main container with flex to center the children
58
+ /* @__PURE__ */ r.jsx(l, { display: "flex", children: /* @__PURE__ */ r.jsxs(l, { position: "relative", onMouseEnter: y, onMouseLeave: A, children: [
59
+ p,
60
+ h && /* @__PURE__ */ r.jsx(
61
+ l,
62
+ {
63
+ position: "absolute",
64
+ top: 0,
65
+ left: 0,
66
+ width: "100%",
67
+ height: "100%",
68
+ display: "flex",
69
+ bgcolor: x,
70
+ sx: {
71
+ opacity: m,
72
+ backdropFilter: `blur(${j}px)`,
73
+ transform: "translateZ(0)",
74
+ willChange: "transform",
75
+ transition: "opacity 0.2s ease-in-out",
76
+ ...E(),
77
+ ...g
78
+ },
79
+ borderRadius: v,
80
+ children: /* @__PURE__ */ r.jsx(c, { container: !0, spacing: 2, justifyContent: M(), maxWidth: k(), children: u.map((t, C) => {
81
+ var f;
82
+ return /* @__PURE__ */ r.jsx(c, { display: "flex", justifyContent: "center", children: /* @__PURE__ */ r.jsx(
83
+ b,
84
+ {
85
+ tooltipOptions: { title: t.tooltip, placement: "top" },
86
+ onClick: t.onClick,
87
+ disabled: t.disabled,
88
+ color: t.color,
89
+ size: "small",
90
+ sx: {
91
+ margin: 1,
92
+ backgroundColor: t.isActive ? "primary.main" : void 0,
93
+ transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
94
+ opacity: t.disabled ? 0.5 : 1,
95
+ "&:hover": {
96
+ backgroundColor: t.isActive ? "primary.dark" : void 0
97
+ },
98
+ ...(f = t.iconButtonProps) == null ? void 0 : f.sx
99
+ },
100
+ ...t.iconButtonProps,
101
+ children: t.icon
102
+ }
103
+ ) }, `${t.tooltip}-${C}`);
104
+ }) })
105
+ }
106
+ )
107
+ ] }) })
108
+ );
109
+ };
110
+ export {
111
+ R as default
112
+ };
@@ -4,27 +4,27 @@ import { Box as o, Typography as l, Paper as H, IconButton as D } from "@mui/mat
4
4
  import S from "../s-avatar/s-avatar.js";
5
5
  import L from "../s-image-modal/s-image-modal.js";
6
6
  import O from "../s-lazy-image/s-lazy-image.js";
7
- import { c as b } from "../createSvgIcon-DCQI9UV5.js";
8
- const R = b(/* @__PURE__ */ r.jsx("path", {
7
+ import { c as z } from "../createSvgIcon-DCQI9UV5.js";
8
+ const R = z(/* @__PURE__ */ r.jsx("path", {
9
9
  d: "M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"
10
- }), "Download"), U = b(/* @__PURE__ */ r.jsx("path", {
10
+ }), "Download"), U = z(/* @__PURE__ */ r.jsx("path", {
11
11
  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"), Q = ({
12
+ }), "InsertDriveFile"), J = ({
13
13
  message: m,
14
- variant: z = "received",
14
+ variant: b = "received",
15
15
  timestamp: f,
16
- avatar: g,
16
+ avatar: h,
17
17
  senderName: t,
18
- showAvatar: h = !0,
18
+ showAvatar: g = !0,
19
19
  showTimestamp: I = !1,
20
20
  maxWidth: w = "70%",
21
21
  attachments: x = [],
22
22
  onAttachmentClick: s,
23
23
  onDownload: n,
24
- sx: M,
25
- ...k
24
+ sx: k,
25
+ ...M
26
26
  }) => {
27
- const [a, u] = v(null), [C, j] = v(!1), i = z === "sent", T = (e) => (typeof e == "string" ? new Date(e) : e).toLocaleTimeString("en-US", {
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", {
28
28
  hour: "2-digit",
29
29
  minute: "2-digit",
30
30
  hour12: !0
@@ -48,11 +48,11 @@ const R = b(/* @__PURE__ */ r.jsx("path", {
48
48
  sx: {
49
49
  maxWidth: w,
50
50
  alignSelf: i ? "flex-end" : "flex-start",
51
- ...M
51
+ ...k
52
52
  },
53
- ...k,
53
+ ...M,
54
54
  children: [
55
- h && !i && /* @__PURE__ */ r.jsx(S, { avatar: g, name: t, size: 36 }),
55
+ g && !i && /* @__PURE__ */ r.jsx(S, { avatar: h, name: t, size: 36 }),
56
56
  /* @__PURE__ */ r.jsxs(
57
57
  o,
58
58
  {
@@ -148,9 +148,9 @@ const R = b(/* @__PURE__ */ r.jsx("path", {
148
148
  p: 1,
149
149
  mt: c > 0 ? 1 : 0,
150
150
  cursor: "pointer",
151
- backgroundColor: i ? "rgba(0,0,0,0.1)" : "background.paper",
151
+ backgroundColor: i ? "blackAlpha.zero" : "background.paper",
152
152
  "&:hover": {
153
- backgroundColor: i ? "rgba(0,0,0,0.2)" : "action.hover"
153
+ backgroundColor: i ? "blackAlpha.light" : "action.hover"
154
154
  }
155
155
  },
156
156
  onClick: () => W(e),
@@ -186,7 +186,7 @@ const R = b(/* @__PURE__ */ r.jsx("path", {
186
186
  variant: "caption",
187
187
  sx: {
188
188
  fontSize: "0.75rem",
189
- color: i ? "rgba(255,255,255,0.7)" : "text.secondary"
189
+ color: i ? "whiteAlpha.dark" : "text.secondary"
190
190
  },
191
191
  children: B(e.size)
192
192
  }
@@ -240,7 +240,7 @@ const R = b(/* @__PURE__ */ r.jsx("path", {
240
240
  ]
241
241
  }
242
242
  ),
243
- h && i && /* @__PURE__ */ r.jsx(S, { avatar: g, name: t, size: 36 }),
243
+ g && i && /* @__PURE__ */ r.jsx(S, { avatar: h, name: t, size: 36 }),
244
244
  a && /* @__PURE__ */ r.jsx(
245
245
  L,
246
246
  {
@@ -263,5 +263,5 @@ const R = b(/* @__PURE__ */ r.jsx("path", {
263
263
  );
264
264
  };
265
265
  export {
266
- Q as default
266
+ J as default
267
267
  };
@@ -0,0 +1,2 @@
1
+ export { default } from './s-flex-box';
2
+ export type { SFlexBoxProps } from './s-flex-box';
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./s-flex-box.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,5 @@
1
+ import { BoxProps } from '@mui/material/Box';
2
+ export interface SFlexBoxProps extends BoxProps {
3
+ }
4
+ declare const SFlexBox: ({ children, ...props }: SFlexBoxProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default SFlexBox;
@@ -0,0 +1,6 @@
1
+ import { j as s } from "../jsx-runtime-DywqP_6a.js";
2
+ import { B as t } from "../Box-Deehc8LF.js";
3
+ const a = ({ children: o, ...r }) => /* @__PURE__ */ s.jsx(t, { display: "flex", ...r, children: o });
4
+ export {
5
+ a as default
6
+ };
@@ -1,8 +1,8 @@
1
1
  import { j as n } from "../jsx-runtime-DywqP_6a.js";
2
- import { useRef as x, useEffect as y } from "react";
3
- import { keyframes as h, styled as l, Box as d } from "@mui/material";
2
+ import { useRef as x, useEffect as h } from "react";
3
+ import { keyframes as y, styled as l, Box as d } from "@mui/material";
4
4
  import b from "../s-text-shimmer/s-text-shimmer.js";
5
- const j = h`
5
+ const j = y`
6
6
  0% {
7
7
  width: 20%;
8
8
  height: 20%;
@@ -13,7 +13,7 @@ const j = h`
13
13
  height: 100%;
14
14
  opacity: 0;
15
15
  }
16
- `, g = l(d)(({ theme: e }) => ({
16
+ `, v = l(d)(({ theme: e }) => ({
17
17
  position: "relative",
18
18
  display: "flex",
19
19
  justifyContent: "center",
@@ -21,7 +21,7 @@ const j = h`
21
21
  borderRadius: e.shape.borderRadius,
22
22
  border: "1px solid",
23
23
  borderColor: e.palette.divider
24
- })), v = l(d)(() => ({
24
+ })), C = l(d)(() => ({
25
25
  position: "absolute",
26
26
  pointerEvents: "none"
27
27
  })), s = l(d)(({ theme: e }) => ({
@@ -43,14 +43,14 @@ const j = h`
43
43
  "@media (prefers-reduced-motion: reduce)": {
44
44
  animation: "none !important"
45
45
  }
46
- })), C = () => {
46
+ })), R = () => {
47
47
  const e = "s-radial-pulse-particles";
48
48
  if (document.getElementById(e)) return;
49
49
  const a = document.createElement("style");
50
50
  a.id = e, a.textContent = `
51
51
  .s-radial-pulse-particle {
52
52
  position: absolute;
53
- background: rgba(255, 255, 255, 0.8);
53
+ background: var(--s-palette-whiteAlpha-dark);
54
54
  border-radius: 50%;
55
55
  animation: s-radial-pulse-float 4s ease-in-out infinite;
56
56
  }
@@ -84,8 +84,8 @@ const j = h`
84
84
  particleSize: r = { min: 2, max: 6 }
85
85
  }) => {
86
86
  const o = x(null);
87
- return y(() => {
88
- C();
87
+ return h(() => {
88
+ R();
89
89
  const p = () => {
90
90
  if (!o.current) return;
91
91
  const i = o.current, t = document.createElement("div");
@@ -98,7 +98,7 @@ const j = h`
98
98
  for (let i = 0; i < 4; i++) setTimeout(p, i * 100);
99
99
  return () => clearInterval(f);
100
100
  }, [e, a, r]), /* @__PURE__ */ n.jsxs(
101
- g,
101
+ v,
102
102
  {
103
103
  ref: o,
104
104
  className: c,
@@ -108,7 +108,7 @@ const j = h`
108
108
  },
109
109
  children: [
110
110
  /* @__PURE__ */ n.jsxs(
111
- v,
111
+ C,
112
112
  {
113
113
  sx: {
114
114
  width: Math.min(e, a),
@@ -118,7 +118,6 @@ const u = l(/* @__PURE__ */ i.jsx("path", {
118
118
  fontWeight: 500,
119
119
  ...o.applyStyles("dark", {
120
120
  color: e[400],
121
- boxShadow: "0 4px 16px rgba(0, 0, 0, 0.5)",
122
121
  [`&.${g.selected}`]: {
123
122
  color: r[300]
124
123
  }
@@ -118,6 +118,32 @@ export declare const purple: {
118
118
  800: string;
119
119
  900: string;
120
120
  };
121
+ export declare const blackAlpha: {
122
+ 0: string;
123
+ 10: string;
124
+ 20: string;
125
+ 30: string;
126
+ 40: string;
127
+ 50: string;
128
+ 60: string;
129
+ 70: string;
130
+ 80: string;
131
+ 90: string;
132
+ 100: string;
133
+ };
134
+ export declare const whiteAlpha: {
135
+ 0: string;
136
+ 10: string;
137
+ 20: string;
138
+ 30: string;
139
+ 40: string;
140
+ 50: string;
141
+ 60: string;
142
+ 70: string;
143
+ 80: string;
144
+ 90: string;
145
+ 100: string;
146
+ };
121
147
  export declare const colorSchemes: {
122
148
  light: {
123
149
  palette: {
@@ -127,6 +153,20 @@ export declare const colorSchemes: {
127
153
  indigo: string;
128
154
  sky: string;
129
155
  };
156
+ blackAlpha: {
157
+ zero: string;
158
+ light: string;
159
+ medium: string;
160
+ dark: string;
161
+ full: string;
162
+ };
163
+ whiteAlpha: {
164
+ zero: string;
165
+ light: string;
166
+ medium: string;
167
+ dark: string;
168
+ full: string;
169
+ };
130
170
  ui: {
131
171
  pulse: {
132
172
  shadowLight: string;
@@ -201,6 +241,20 @@ export declare const colorSchemes: {
201
241
  indigo: string;
202
242
  sky: string;
203
243
  };
244
+ blackAlpha: {
245
+ zero: string;
246
+ light: string;
247
+ medium: string;
248
+ dark: string;
249
+ full: string;
250
+ };
251
+ whiteAlpha: {
252
+ zero: string;
253
+ light: string;
254
+ medium: string;
255
+ dark: string;
256
+ full: string;
257
+ };
204
258
  ui: {
205
259
  pulse: {
206
260
  shadowLight: string;
@@ -1,6 +1,6 @@
1
- import { a as n } from "../createTheme-YLBX8GSj.js";
2
- import { a as e } from "../colorManipulator-ep5lERxB.js";
3
- const t = n(), h = {
1
+ import { a as i } from "../createTheme-YLBX8GSj.js";
2
+ import { a as s } from "../colorManipulator-ep5lERxB.js";
3
+ const a = i(), r = {
4
4
  50: "hsl(210, 100%, 95%)",
5
5
  100: "hsl(210, 100%, 92%)",
6
6
  200: "hsl(210, 100%, 80%)",
@@ -11,7 +11,7 @@ const t = n(), h = {
11
11
  700: "hsl(210, 100%, 35%)",
12
12
  800: "hsl(210, 100%, 16%)",
13
13
  900: "hsl(210, 100%, 21%)"
14
- }, s = {
14
+ }, h = {
15
15
  50: "rgb(243, 246, 250)",
16
16
  // hsl(220, 35%, 97%)
17
17
  100: "rgb(235, 238, 244)",
@@ -32,7 +32,7 @@ const t = n(), h = {
32
32
  // hsl(220, 30%, 6%)
33
33
  900: "rgb(5, 7, 10)"
34
34
  // hsl(220, 35%, 3%)
35
- }, a = {
35
+ }, l = {
36
36
  50: "hsl(120, 80%, 98%)",
37
37
  100: "hsl(120, 75%, 94%)",
38
38
  200: "hsl(120, 75%, 87%)",
@@ -43,7 +43,7 @@ const t = n(), h = {
43
43
  700: "hsl(120, 75%, 16%)",
44
44
  800: "hsl(120, 84%, 10%)",
45
45
  900: "hsl(120, 87%, 6%)"
46
- }, r = {
46
+ }, o = {
47
47
  50: "hsl(45, 100%, 97%)",
48
48
  100: "hsl(45, 92%, 90%)",
49
49
  200: "hsl(45, 94%, 80%)",
@@ -65,7 +65,7 @@ const t = n(), h = {
65
65
  700: "hsl(210, 95%, 25%)",
66
66
  800: "hsl(210, 100%, 15%)",
67
67
  900: "hsl(210, 100%, 10%)"
68
- }, l = {
68
+ }, g = {
69
69
  50: "hsl(0, 100%, 97%)",
70
70
  100: "hsl(0, 92%, 90%)",
71
71
  200: "hsl(0, 94%, 80%)",
@@ -76,7 +76,7 @@ const t = n(), h = {
76
76
  700: "hsl(0, 94%, 18%)",
77
77
  800: "hsl(0, 95%, 12%)",
78
78
  900: "hsl(0, 93%, 6%)"
79
- }, c = {
79
+ }, y = {
80
80
  50: "hsl(270, 100%, 98%)",
81
81
  100: "hsl(270, 95%, 94%)",
82
82
  200: "hsl(270, 90%, 87%)",
@@ -87,7 +87,31 @@ const t = n(), h = {
87
87
  700: "hsl(270, 75%, 25%)",
88
88
  800: "hsl(270, 80%, 15%)",
89
89
  900: "hsl(270, 85%, 10%)"
90
- }, o = {
90
+ }, t = {
91
+ 0: "rgba(0,0,0,0)",
92
+ 10: "rgba(0,0,0,0.1)",
93
+ 20: "rgba(0,0,0,0.2)",
94
+ 30: "rgba(0,0,0,0.3)",
95
+ 40: "rgba(0,0,0,0.4)",
96
+ 50: "rgba(0,0,0,0.5)",
97
+ 60: "rgba(0,0,0,0.6)",
98
+ 70: "rgba(0,0,0,0.7)",
99
+ 80: "rgba(0,0,0,0.8)",
100
+ 90: "rgba(0,0,0,0.9)",
101
+ 100: "rgba(0,0,0,1)"
102
+ }, e = {
103
+ 0: "rgba(255,255,255,0)",
104
+ 10: "rgba(255,255,255,0.1)",
105
+ 20: "rgba(255,255,255,0.2)",
106
+ 30: "rgba(255,255,255,0.3)",
107
+ 40: "rgba(255,255,255,0.4)",
108
+ 50: "rgba(255,255,255,0.5)",
109
+ 60: "rgba(255,255,255,0.6)",
110
+ 70: "rgba(255,255,255,0.7)",
111
+ 80: "rgba(255,255,255,0.8)",
112
+ 90: "rgba(255,255,255,0.9)",
113
+ 100: "rgba(255,255,255,1)"
114
+ }, n = {
91
115
  palette: {
92
116
  gradient: {
93
117
  primary: "linear-gradient(90deg, #1469be 0%, #43ecff 100%);",
@@ -95,6 +119,30 @@ const t = n(), h = {
95
119
  indigo: "linear-gradient(to right, transparent, #6366f1, transparent)",
96
120
  sky: "linear-gradient(to right, transparent, #0ea5e9, transparent)"
97
121
  },
122
+ blackAlpha: {
123
+ zero: t[0],
124
+ // không có
125
+ light: t[10],
126
+ // nhẹ, subtle
127
+ medium: t[50],
128
+ // vừa, balanced
129
+ dark: t[80],
130
+ // đậm, mạnh
131
+ full: t[100]
132
+ // đầy đủ
133
+ },
134
+ whiteAlpha: {
135
+ zero: e[0],
136
+ // không có
137
+ light: e[10],
138
+ // nhẹ, subtle
139
+ medium: e[50],
140
+ // vừa, balanced
141
+ dark: e[80],
142
+ // đậm, mạnh
143
+ full: e[100]
144
+ // đầy đủ
145
+ },
98
146
  ui: {
99
147
  pulse: {
100
148
  shadowLight: "rgba(255, 255, 255, 0.3)",
@@ -105,111 +153,113 @@ const t = n(), h = {
105
153
  }
106
154
  },
107
155
  primary: {
108
- contrastText: h[50],
109
- light: h[300],
110
- main: h[400],
111
- dark: h[700],
156
+ contrastText: r[50],
157
+ light: r[300],
158
+ main: r[400],
159
+ dark: r[700],
112
160
  white: "#ffffff",
113
161
  black: "#000000"
114
162
  },
115
163
  info: {
116
- contrastText: h[300],
117
- light: h[500],
118
- main: h[700],
119
- dark: h[900]
164
+ contrastText: r[300],
165
+ light: r[500],
166
+ main: r[700],
167
+ dark: r[900]
120
168
  },
121
169
  warning: {
122
- light: r[400],
123
- main: r[500],
124
- dark: r[700]
170
+ light: o[400],
171
+ main: o[500],
172
+ dark: o[700]
125
173
  },
126
174
  error: {
175
+ light: g[400],
176
+ main: g[500],
177
+ dark: g[700]
178
+ },
179
+ success: {
127
180
  light: l[400],
128
181
  main: l[500],
129
182
  dark: l[700]
130
183
  },
131
- success: {
132
- light: a[400],
133
- main: a[500],
134
- dark: a[700]
135
- },
136
- grey: s,
137
- divider: e(s[700], 0.6),
184
+ grey: h,
185
+ divider: s(h[700], 0.6),
138
186
  background: {
139
- default: s[900],
187
+ default: h[900],
140
188
  paper: "hsl(220, 30%, 7%)"
141
189
  },
142
190
  text: {
143
191
  primary: "rgb(255, 255, 255)",
144
- secondary: s[400]
192
+ secondary: h[400]
145
193
  },
146
194
  action: {
147
- hover: e(s[600], 0.2),
148
- selected: e(s[600], 0.3)
195
+ hover: s(h[600], 0.2),
196
+ selected: s(h[600], 0.3)
149
197
  },
150
198
  baseShadow: "hsla(220, 30%, 5%, 0.7) 0px 4px 16px 0px, hsla(220, 25%, 10%, 0.8) 0px 8px 16px -5px"
151
199
  }
152
- }, i = o, y = { light: i, dark: o }, b = {
200
+ }, p = n, m = { light: p, dark: n }, x = {
153
201
  fontFamily: "Outfit, sans-serif",
154
202
  h1: {
155
- fontSize: t.typography.pxToRem(48),
203
+ fontSize: a.typography.pxToRem(48),
156
204
  fontWeight: 600,
157
205
  lineHeight: 1.2,
158
206
  letterSpacing: -0.5
159
207
  },
160
208
  h2: {
161
- fontSize: t.typography.pxToRem(36),
209
+ fontSize: a.typography.pxToRem(36),
162
210
  fontWeight: 600,
163
211
  lineHeight: 1.2
164
212
  },
165
213
  h3: {
166
- fontSize: t.typography.pxToRem(30),
214
+ fontSize: a.typography.pxToRem(30),
167
215
  lineHeight: 1.2
168
216
  },
169
217
  h4: {
170
- fontSize: t.typography.pxToRem(24),
218
+ fontSize: a.typography.pxToRem(24),
171
219
  fontWeight: 600,
172
220
  lineHeight: 1.5
173
221
  },
174
222
  h5: {
175
- fontSize: t.typography.pxToRem(20),
223
+ fontSize: a.typography.pxToRem(20),
176
224
  fontWeight: 600
177
225
  },
178
226
  h6: {
179
- fontSize: t.typography.pxToRem(18),
227
+ fontSize: a.typography.pxToRem(18),
180
228
  fontWeight: 600
181
229
  },
182
230
  subtitle1: {
183
- fontSize: t.typography.pxToRem(18)
231
+ fontSize: a.typography.pxToRem(18)
184
232
  },
185
233
  subtitle2: {
186
- fontSize: t.typography.pxToRem(14),
234
+ fontSize: a.typography.pxToRem(14),
187
235
  fontWeight: 500
188
236
  },
189
237
  body1: {
190
- fontSize: t.typography.pxToRem(14)
238
+ fontSize: a.typography.pxToRem(14)
191
239
  },
192
240
  body2: {
193
- fontSize: t.typography.pxToRem(14),
241
+ fontSize: a.typography.pxToRem(14),
194
242
  fontWeight: 400
195
243
  },
196
244
  caption: {
197
- fontSize: t.typography.pxToRem(12),
245
+ fontSize: a.typography.pxToRem(12),
198
246
  fontWeight: 400
199
247
  }
200
- }, m = {
248
+ }, u = {
201
249
  borderRadius: 8
202
- }, g = ["none", "var(--s-palette-baseShadow)", ...t.shadows.slice(2)], x = g;
250
+ }, b = ["none", "var(--s-palette-baseShadow)", ...a.shadows.slice(2)], S = b;
203
251
  export {
252
+ t as blackAlpha,
204
253
  f as blue,
205
- h as brand,
206
- y as colorSchemes,
207
- s as gray,
208
- a as green,
209
- r as orange,
210
- c as purple,
211
- l as red,
212
- x as shadows,
213
- m as shape,
214
- b as typography
254
+ r as brand,
255
+ m as colorSchemes,
256
+ h as gray,
257
+ l as green,
258
+ o as orange,
259
+ y as purple,
260
+ g as red,
261
+ S as shadows,
262
+ u as shape,
263
+ x as typography,
264
+ e as whiteAlpha
215
265
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "registry": "https://registry.npmjs.org"
5
5
  },
6
- "version": "1.0.104",
6
+ "version": "1.0.105",
7
7
  "description": "advanced ui kit for solostylist",
8
8
  "private": false,
9
9
  "type": "module",