@solostylist/ui-kit 1.0.169 → 1.0.171
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/ContentCopy-7nFBtjhs.js +11 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +60 -58
- package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +2 -4
- package/dist/s-ai-tool-bar/s-ai-tool-bar.js +244 -277
- package/dist/s-blur-text/s-blur-text.js +19 -20
- package/dist/s-button-link/s-button-link.js +2 -2
- package/dist/s-category-card/s-category-card.js +2 -2
- package/dist/s-chat-input/s-chat-input.js +2 -2
- package/dist/s-chat-message/s-chat-message.js +77 -99
- package/dist/s-code-block/index.d.ts +2 -0
- package/dist/s-code-block/index.js +4 -0
- package/dist/s-code-block/package.json +5 -0
- package/dist/s-code-block/s-code-block.d.ts +36 -0
- package/dist/s-code-block/s-code-block.js +1061 -0
- package/dist/s-copyable-text/s-copyable-text.js +17 -21
- package/dist/s-countdown/s-count-box.js +2 -2
- package/dist/s-countdown/s-count-down.js +2 -2
- package/dist/s-error-layout/s-error-layout.js +2 -2
- package/dist/s-glow-button/s-glow-button.js +4 -5
- package/dist/s-gradient-icon/s-gradient-icon.js +2 -2
- package/dist/s-moving-border/s-moving-border.d.ts +1 -1
- package/dist/s-moving-border/s-moving-border.js +34 -34
- package/dist/s-scroll-reveal/s-scroll-reveal.js +2 -2
- package/dist/s-skeleton/s-skeleton.js +2 -2
- package/dist/s-stripe/s-stripe.js +5 -5
- package/dist/s-tabs/s-tab-panel.js +2 -2
- package/dist/s-text-shimmer/s-text-shimmer.d.ts +2 -2
- package/dist/s-text-shimmer/s-text-shimmer.js +13 -13
- package/dist/s-text-truncation/s-text-truncation.js +1 -1
- package/dist/s-theme-demo/s-theme-demo.js +51 -88
- package/dist/s-theme-provider/s-theme-provider.js +2 -2
- package/dist/s-theme-switch/s-theme-switch.js +1 -1
- package/dist/s-two-pane-layout/index.js +1 -1
- package/dist/s-two-pane-layout/s-two-pane-layout.js +2 -2
- package/dist/s-typewriter-text/s-typewriter-text.js +8 -8
- package/dist/s-zoom-image/index.js +1 -1
- package/dist/s-zoom-image/s-zoom-image.js +2 -2
- package/dist/theme/theme-primitives.d.ts +5 -0
- package/dist/theme/theme-primitives.js +23 -18
- package/package.json +4 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as y } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Typography as
|
|
4
|
-
import { motion as
|
|
5
|
-
const
|
|
2
|
+
import { useState as B, useRef as k, useEffect as R, useMemo as g } from "react";
|
|
3
|
+
import { Typography as E } from "@mui/material";
|
|
4
|
+
import { motion as F } from "framer-motion";
|
|
5
|
+
const M = (r, o) => {
|
|
6
6
|
const s = /* @__PURE__ */ new Set([...Object.keys(r), ...o.flatMap((e) => Object.keys(e))]), n = {};
|
|
7
7
|
return s.forEach((e) => {
|
|
8
8
|
n[e] = [r[e], ...o.map((l) => l[e])];
|
|
@@ -20,25 +20,24 @@ const N = (r, o) => {
|
|
|
20
20
|
onAnimationComplete: w,
|
|
21
21
|
stepDuration: x = 0.35,
|
|
22
22
|
variant: V = "body1",
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
...C
|
|
23
|
+
sx: q,
|
|
24
|
+
...T
|
|
26
25
|
}) => {
|
|
27
|
-
const i = s === "words" ? r.split(" ") : r.split(""), [
|
|
28
|
-
|
|
26
|
+
const i = s === "words" ? r.split(" ") : r.split(""), [C, _] = B(!1), u = k(null);
|
|
27
|
+
R(() => {
|
|
29
28
|
if (!u.current) return;
|
|
30
29
|
const a = new IntersectionObserver(
|
|
31
30
|
([t]) => {
|
|
32
|
-
t.isIntersecting && (
|
|
31
|
+
t.isIntersecting && (_(!0), a.unobserve(u.current));
|
|
33
32
|
},
|
|
34
33
|
{ threshold: e, rootMargin: l }
|
|
35
34
|
);
|
|
36
35
|
return a.observe(u.current), () => a.disconnect();
|
|
37
36
|
}, [e, l]);
|
|
38
|
-
const
|
|
37
|
+
const S = g(
|
|
39
38
|
() => n === "top" ? { filter: "blur(10px)", opacity: 0, y: -50 } : { filter: "blur(10px)", opacity: 0, y: 50 },
|
|
40
39
|
[n]
|
|
41
|
-
),
|
|
40
|
+
), j = g(
|
|
42
41
|
() => [
|
|
43
42
|
{
|
|
44
43
|
filter: "blur(5px)",
|
|
@@ -48,18 +47,18 @@ const N = (r, o) => {
|
|
|
48
47
|
{ filter: "blur(0px)", opacity: 1, y: 0 }
|
|
49
48
|
],
|
|
50
49
|
[n]
|
|
51
|
-
), p = b ??
|
|
52
|
-
return /* @__PURE__ */ y.jsx(
|
|
53
|
-
const
|
|
54
|
-
duration:
|
|
55
|
-
times:
|
|
50
|
+
), p = b ?? S, d = h ?? j, m = d.length + 1, A = x * (m - 1), D = Array.from({ length: m }, (a, t) => m === 1 ? 0 : t / (m - 1));
|
|
51
|
+
return /* @__PURE__ */ y.jsx(E, { ref: u, variant: V, sx: q, ...T, children: i.map((a, t) => {
|
|
52
|
+
const I = M(p, d), f = {
|
|
53
|
+
duration: A,
|
|
54
|
+
times: D,
|
|
56
55
|
delay: t * o / 1e3
|
|
57
56
|
};
|
|
58
57
|
return f.ease = v, /* @__PURE__ */ y.jsxs(
|
|
59
|
-
|
|
58
|
+
F.span,
|
|
60
59
|
{
|
|
61
60
|
initial: p,
|
|
62
|
-
animate:
|
|
61
|
+
animate: C ? I : p,
|
|
63
62
|
transition: f,
|
|
64
63
|
onAnimationComplete: t === i.length - 1 ? w : void 0,
|
|
65
64
|
style: {
|
|
@@ -77,7 +76,7 @@ const N = (r, o) => {
|
|
|
77
76
|
};
|
|
78
77
|
c.displayName = "SBlurText";
|
|
79
78
|
try {
|
|
80
|
-
c.displayName = "SBlurText", c.__docgenInfo = { description: "A Typography component that animates text with a blur effect when it comes into view.", displayName: "SBlurText", props: { text: { defaultValue: null, description: "The text content to animate", name: "text", required: !0, type: { name: "string" } }, delay: { defaultValue: { value: "100" }, description: "Delay between animating each segment in milliseconds", name: "delay", required: !1, type: { name: "number" } }, animateBy: { defaultValue: { value: "words" }, description: "Animation granularity - animate by words or individual letters", name: "animateBy", required: !1, type: { name: "enum", value: [{ value: '"words"' }, { value: '"letters"' }] } }, direction: { defaultValue: { value: "top" }, description: "Direction of the blur animation", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"
|
|
79
|
+
c.displayName = "SBlurText", c.__docgenInfo = { description: "A Typography component that animates text with a blur effect when it comes into view.", displayName: "SBlurText", props: { text: { defaultValue: null, description: "The text content to animate", name: "text", required: !0, type: { name: "string" } }, delay: { defaultValue: { value: "100" }, description: "Delay between animating each segment in milliseconds", name: "delay", required: !1, type: { name: "number" } }, animateBy: { defaultValue: { value: "words" }, description: "Animation granularity - animate by words or individual letters", name: "animateBy", required: !1, type: { name: "enum", value: [{ value: '"words"' }, { value: '"letters"' }] } }, direction: { defaultValue: { value: "top" }, description: "Direction of the blur animation", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }] } }, threshold: { defaultValue: { value: "0.1" }, description: "Intersection observer threshold for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: { value: "0px" }, description: "Intersection observer root margin", name: "rootMargin", required: !1, type: { name: "string" } }, animationFrom: { defaultValue: null, description: "Custom starting animation state", name: "animationFrom", required: !1, type: { name: "Record<string, string | number>" } }, animationTo: { defaultValue: null, description: "Custom ending animation states (array for multi-step animations)", name: "animationTo", required: !1, type: { name: "Record<string, string | number>[]" } }, easing: { defaultValue: { value: "(t) => t" }, description: "Custom easing function for animation timing", name: "easing", required: !1, type: { name: "((t: number) => number)" } }, onAnimationComplete: { defaultValue: null, description: "Callback fired when animation completes", name: "onAnimationComplete", required: !1, type: { name: "(() => void)" } }, stepDuration: { defaultValue: { value: "0.35" }, description: "Duration of each animation step in seconds", name: "stepDuration", required: !1, type: { name: "number" } } } };
|
|
81
80
|
} catch {
|
|
82
81
|
}
|
|
83
82
|
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<"
|
|
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<"primary" | "secondary" | "success" | "error" | "info" | "warning" | "textPrimary" | "textSecondary" | "textDisabled", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"primary" | "secondary" | "success" | "error" | "info" | "warning" | "textPrimary" | "textSecondary" | "textDisabled", 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>" } } } };
|
|
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<"
|
|
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<"primary" | "secondary" | "success" | "error" | "info" | "warning" | "textPrimary" | "textSecondary" | "textDisabled", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"primary" | "secondary" | "success" | "error" | "info" | "warning" | "textPrimary" | "textSecondary" | "textDisabled", 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>" } } } };
|
|
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: '"
|
|
110
|
+
i.displayName = "SCategoryCard", i.__docgenInfo = { description: "A stylish category card component that displays an image with an overlaid title.", displayName: "SCategoryCard", props: { image: { defaultValue: null, description: "URL or path to the category image source", name: "image", required: !0, type: { name: "string" } }, title: { defaultValue: null, description: "Display title for the category shown as overlay text", name: "title", required: !0, type: { name: "string" } }, width: { defaultValue: { value: "250" }, description: "Width of the category card", name: "width", required: !1, type: { name: "string | number" } }, height: { defaultValue: { value: "250" }, description: "Height of the category card", name: "height", required: !1, type: { name: "string | number" } }, alt: { defaultValue: { value: "category" }, description: "Alternative text for the image", name: "alt", required: !1, type: { name: "string" } }, titlePosition: { defaultValue: { value: "bottom" }, description: "Position of the title overlay on the image", name: "titlePosition", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"right"' }, { value: '"left"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"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>" } } } };
|
|
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: '"
|
|
114
|
+
scategorycard.displayName = "scategorycard", scategorycard.__docgenInfo = { description: "A stylish category card component that displays an image with an overlaid title.", displayName: "scategorycard", props: { image: { defaultValue: null, description: "URL or path to the category image source", name: "image", required: !0, type: { name: "string" } }, title: { defaultValue: null, description: "Display title for the category shown as overlay text", name: "title", required: !0, type: { name: "string" } }, width: { defaultValue: { value: "250" }, description: "Width of the category card", name: "width", required: !1, type: { name: "string | number" } }, height: { defaultValue: { value: "250" }, description: "Height of the category card", name: "height", required: !1, type: { name: "string | number" } }, alt: { defaultValue: { value: "category" }, description: "Alternative text for the image", name: "alt", required: !1, type: { name: "string" } }, titlePosition: { defaultValue: { value: "bottom" }, description: "Position of the title overlay on the image", name: "titlePosition", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"right"' }, { value: '"left"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"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>" } } } };
|
|
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: {
|
|
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: {
|
|
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 {
|
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import { j as e } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
2
|
import { useState as z } from "react";
|
|
3
|
-
import { Box as
|
|
4
|
-
import { SAvatar as
|
|
5
|
-
import { SImageModal as
|
|
3
|
+
import { Box as s, Typography as n, Paper as L, IconButton as M } from "@mui/material";
|
|
4
|
+
import { SAvatar as W } from "../s-avatar/s-avatar.js";
|
|
5
|
+
import { SImageModal as E } from "../s-image-modal/s-image-modal.js";
|
|
6
6
|
import "../s-lazy-image/index.js";
|
|
7
|
-
import { SSkeleton as
|
|
7
|
+
import { SSkeleton as i } from "../s-skeleton/s-skeleton.js";
|
|
8
8
|
import O from "../s-lazy-image/s-lazy-image.js";
|
|
9
|
-
import { c as
|
|
9
|
+
import { c as v } from "../createSvgIcon-DxwgGAVe.js";
|
|
10
10
|
import { D as U } from "../Download-UsLvGg3y.js";
|
|
11
|
-
const
|
|
11
|
+
const P = v(/* @__PURE__ */ e.jsx("path", {
|
|
12
12
|
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"
|
|
13
|
-
}), "ErrorOutline"),
|
|
13
|
+
}), "ErrorOutline"), G = v(/* @__PURE__ */ e.jsx("path", {
|
|
14
14
|
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"
|
|
15
|
-
}), "InsertDriveFile"),
|
|
15
|
+
}), "InsertDriveFile"), H = v(/* @__PURE__ */ e.jsx("path", {
|
|
16
16
|
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"
|
|
17
17
|
}), "Refresh"), x = ({
|
|
18
18
|
message: l,
|
|
19
|
-
variant:
|
|
20
|
-
timestamp:
|
|
19
|
+
variant: A = "received",
|
|
20
|
+
timestamp: y,
|
|
21
21
|
avatar: w,
|
|
22
|
-
senderName:
|
|
22
|
+
senderName: r,
|
|
23
23
|
showAvatar: o = !0,
|
|
24
24
|
showTimestamp: b = !1,
|
|
25
25
|
maxWidth: j = "70%",
|
|
26
|
-
attachments:
|
|
26
|
+
attachments: g = [],
|
|
27
27
|
onAttachmentClick: d,
|
|
28
28
|
onDownload: m,
|
|
29
|
-
hasError:
|
|
30
|
-
errorMessage:
|
|
31
|
-
onRetry:
|
|
29
|
+
hasError: h = !1,
|
|
30
|
+
errorMessage: T = "Failed to send message",
|
|
31
|
+
onRetry: V,
|
|
32
32
|
loading: _ = !1,
|
|
33
33
|
sx: C,
|
|
34
|
-
...
|
|
34
|
+
...q
|
|
35
35
|
}) => {
|
|
36
|
-
const [c,
|
|
36
|
+
const [c, S] = z(null), [D, k] = z(!1), t = A === "sent", R = (a) => (typeof a == "string" ? new Date(a) : a).toLocaleTimeString("en-US", {
|
|
37
37
|
hour: "2-digit",
|
|
38
38
|
minute: "2-digit",
|
|
39
39
|
hour12: !0
|
|
40
40
|
}), F = (a) => {
|
|
41
41
|
if (!a) return "";
|
|
42
|
-
const
|
|
43
|
-
return Math.round(a / Math.pow(1024,
|
|
42
|
+
const u = ["Bytes", "KB", "MB", "GB"], f = Math.floor(Math.log(a) / Math.log(1024));
|
|
43
|
+
return Math.round(a / Math.pow(1024, f) * 100) / 100 + " " + u[f];
|
|
44
44
|
}, N = (a) => {
|
|
45
|
-
d ? d(a) : (
|
|
45
|
+
d ? d(a) : (S(a), k(!0));
|
|
46
46
|
}, B = (a) => {
|
|
47
47
|
d ? d(a) : m && m(a);
|
|
48
|
-
},
|
|
48
|
+
}, p = g.filter((a) => a.type === "image"), I = g.filter((a) => a.type === "file");
|
|
49
49
|
return _ ? /* @__PURE__ */ e.jsxs(
|
|
50
|
-
|
|
50
|
+
s,
|
|
51
51
|
{
|
|
52
52
|
display: "flex",
|
|
53
53
|
flexDirection: t ? "row-reverse" : "row",
|
|
@@ -59,11 +59,11 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
59
59
|
alignSelf: t ? "flex-end" : "flex-start",
|
|
60
60
|
...C
|
|
61
61
|
},
|
|
62
|
-
...
|
|
62
|
+
...q,
|
|
63
63
|
children: [
|
|
64
|
-
o && !t && /* @__PURE__ */ e.jsx(
|
|
64
|
+
o && !t && /* @__PURE__ */ e.jsx(i, { component: "rounded-avatar", width: 36, height: 36 }),
|
|
65
65
|
/* @__PURE__ */ e.jsxs(
|
|
66
|
-
|
|
66
|
+
s,
|
|
67
67
|
{
|
|
68
68
|
display: "flex",
|
|
69
69
|
flexDirection: "column",
|
|
@@ -71,9 +71,9 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
71
71
|
gap: 0.5,
|
|
72
72
|
sx: { minWidth: 0 },
|
|
73
73
|
children: [
|
|
74
|
-
|
|
74
|
+
r && !t && /* @__PURE__ */ e.jsx(i, { variant: "text", width: 100, height: 12, sx: { ml: 0.5 } }),
|
|
75
75
|
/* @__PURE__ */ e.jsxs(
|
|
76
|
-
|
|
76
|
+
s,
|
|
77
77
|
{
|
|
78
78
|
sx: {
|
|
79
79
|
display: "inline-block",
|
|
@@ -83,21 +83,21 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
83
83
|
ml: 0.5
|
|
84
84
|
},
|
|
85
85
|
children: [
|
|
86
|
-
/* @__PURE__ */ e.jsx(
|
|
87
|
-
/* @__PURE__ */ e.jsx(
|
|
88
|
-
/* @__PURE__ */ e.jsx(
|
|
86
|
+
/* @__PURE__ */ e.jsx(i, { variant: "text", width: "100%", height: 16, sx: { mb: 0.5 } }),
|
|
87
|
+
/* @__PURE__ */ e.jsx(i, { variant: "text", width: "85%", height: 16, sx: { mb: 0.5 } }),
|
|
88
|
+
/* @__PURE__ */ e.jsx(i, { variant: "text", width: "70%", height: 16 })
|
|
89
89
|
]
|
|
90
90
|
}
|
|
91
91
|
),
|
|
92
|
-
b && /* @__PURE__ */ e.jsx(
|
|
92
|
+
b && /* @__PURE__ */ e.jsx(i, { variant: "text", width: 60, height: 10, sx: { ml: t ? 0 : 0.5, mr: t ? 0.5 : 0 } })
|
|
93
93
|
]
|
|
94
94
|
}
|
|
95
95
|
),
|
|
96
|
-
o && t && /* @__PURE__ */ e.jsx(
|
|
96
|
+
o && t && /* @__PURE__ */ e.jsx(i, { component: "rounded-avatar", width: 36, height: 36 })
|
|
97
97
|
]
|
|
98
98
|
}
|
|
99
99
|
) : /* @__PURE__ */ e.jsxs(
|
|
100
|
-
|
|
100
|
+
s,
|
|
101
101
|
{
|
|
102
102
|
display: "flex",
|
|
103
103
|
flexDirection: t ? "row-reverse" : "row",
|
|
@@ -109,11 +109,11 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
109
109
|
alignSelf: t ? "flex-end" : "flex-start",
|
|
110
110
|
...C
|
|
111
111
|
},
|
|
112
|
-
...
|
|
112
|
+
...q,
|
|
113
113
|
children: [
|
|
114
|
-
o && !t && /* @__PURE__ */ e.jsx(
|
|
114
|
+
o && !t && /* @__PURE__ */ e.jsx(W, { avatar: w, name: r, size: 36 }),
|
|
115
115
|
/* @__PURE__ */ e.jsxs(
|
|
116
|
-
|
|
116
|
+
s,
|
|
117
117
|
{
|
|
118
118
|
display: "flex",
|
|
119
119
|
flexDirection: "column",
|
|
@@ -121,8 +121,8 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
121
121
|
gap: 0.5,
|
|
122
122
|
sx: { minWidth: 0 },
|
|
123
123
|
children: [
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
r && !t && /* @__PURE__ */ e.jsx(
|
|
125
|
+
n,
|
|
126
126
|
{
|
|
127
127
|
variant: "caption",
|
|
128
128
|
sx: {
|
|
@@ -131,46 +131,41 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
131
131
|
fontWeight: 500,
|
|
132
132
|
ml: 0.5
|
|
133
133
|
},
|
|
134
|
-
children:
|
|
134
|
+
children: r
|
|
135
135
|
}
|
|
136
136
|
),
|
|
137
137
|
/* @__PURE__ */ e.jsxs(
|
|
138
|
-
|
|
138
|
+
s,
|
|
139
139
|
{
|
|
140
140
|
sx: {
|
|
141
141
|
display: "inline-block",
|
|
142
142
|
borderRadius: 2,
|
|
143
143
|
wordBreak: "break-word",
|
|
144
144
|
maxWidth: "100%",
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
borderColor: g ? "error.main" : "divider",
|
|
149
|
-
...t && {
|
|
150
|
-
backgroundColor: "primary.dark"
|
|
151
|
-
},
|
|
152
|
-
...g && {
|
|
145
|
+
border: "1px solid",
|
|
146
|
+
borderColor: h ? "error.main" : "divider",
|
|
147
|
+
...h && {
|
|
153
148
|
opacity: 0.7
|
|
154
149
|
},
|
|
155
150
|
overflow: "hidden"
|
|
156
151
|
},
|
|
157
152
|
children: [
|
|
158
|
-
|
|
159
|
-
|
|
153
|
+
p.length > 0 && /* @__PURE__ */ e.jsx(
|
|
154
|
+
s,
|
|
160
155
|
{
|
|
161
156
|
sx: {
|
|
162
157
|
display: "grid",
|
|
163
|
-
gridTemplateColumns:
|
|
158
|
+
gridTemplateColumns: p.length === 1 ? "1fr" : "repeat(2, 1fr)",
|
|
164
159
|
gap: 0.5,
|
|
165
160
|
p: 0.5
|
|
166
161
|
},
|
|
167
162
|
minWidth: 200,
|
|
168
|
-
children:
|
|
169
|
-
|
|
163
|
+
children: p.map((a) => /* @__PURE__ */ e.jsx(
|
|
164
|
+
s,
|
|
170
165
|
{
|
|
171
166
|
sx: {
|
|
172
167
|
position: "relative",
|
|
173
|
-
paddingTop:
|
|
168
|
+
paddingTop: p.length === 1 ? "66.67%" : "100%",
|
|
174
169
|
cursor: "pointer",
|
|
175
170
|
borderRadius: 1.5,
|
|
176
171
|
overflow: "hidden",
|
|
@@ -199,8 +194,8 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
199
194
|
))
|
|
200
195
|
}
|
|
201
196
|
),
|
|
202
|
-
I.length > 0 && /* @__PURE__ */ e.jsx(
|
|
203
|
-
|
|
197
|
+
I.length > 0 && /* @__PURE__ */ e.jsx(s, { sx: { p: 1.5 }, children: I.map((a, u) => /* @__PURE__ */ e.jsxs(
|
|
198
|
+
L,
|
|
204
199
|
{
|
|
205
200
|
variant: "outlined",
|
|
206
201
|
sx: {
|
|
@@ -208,27 +203,15 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
208
203
|
alignItems: "center",
|
|
209
204
|
gap: 1.5,
|
|
210
205
|
p: 1,
|
|
211
|
-
mt:
|
|
212
|
-
cursor: "pointer"
|
|
213
|
-
backgroundColor: t ? "blackAlpha.zero" : "background.paper",
|
|
214
|
-
"&:hover": {
|
|
215
|
-
backgroundColor: t ? "blackAlpha.light" : "action.hover"
|
|
216
|
-
}
|
|
206
|
+
mt: u > 0 ? 1 : 0,
|
|
207
|
+
cursor: "pointer"
|
|
217
208
|
},
|
|
218
209
|
onClick: () => B(a),
|
|
219
210
|
children: [
|
|
220
|
-
/* @__PURE__ */ e.jsx(
|
|
221
|
-
|
|
222
|
-
{
|
|
223
|
-
sx: {
|
|
224
|
-
fontSize: 32,
|
|
225
|
-
color: t ? "primary.contrastText" : "action.active"
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
),
|
|
229
|
-
/* @__PURE__ */ e.jsxs(i, { sx: { flex: 1, minWidth: 0 }, children: [
|
|
211
|
+
/* @__PURE__ */ e.jsx(G, { sx: { fontSize: 32 } }),
|
|
212
|
+
/* @__PURE__ */ e.jsxs(s, { sx: { flex: 1, minWidth: 0 }, children: [
|
|
230
213
|
/* @__PURE__ */ e.jsx(
|
|
231
|
-
|
|
214
|
+
n,
|
|
232
215
|
{
|
|
233
216
|
variant: "body2",
|
|
234
217
|
sx: {
|
|
@@ -236,19 +219,17 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
236
219
|
fontWeight: 500,
|
|
237
220
|
overflow: "hidden",
|
|
238
221
|
textOverflow: "ellipsis",
|
|
239
|
-
whiteSpace: "nowrap"
|
|
240
|
-
color: t ? "inherit" : "text.primary"
|
|
222
|
+
whiteSpace: "nowrap"
|
|
241
223
|
},
|
|
242
224
|
children: a.name || "Unnamed File"
|
|
243
225
|
}
|
|
244
226
|
),
|
|
245
227
|
a.size && /* @__PURE__ */ e.jsx(
|
|
246
|
-
|
|
228
|
+
n,
|
|
247
229
|
{
|
|
248
230
|
variant: "caption",
|
|
249
231
|
sx: {
|
|
250
|
-
fontSize: "0.75rem"
|
|
251
|
-
color: t ? "whiteAlpha.dark" : "text.secondary"
|
|
232
|
+
fontSize: "0.75rem"
|
|
252
233
|
},
|
|
253
234
|
children: F(a.size)
|
|
254
235
|
}
|
|
@@ -258,11 +239,8 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
258
239
|
M,
|
|
259
240
|
{
|
|
260
241
|
size: "small",
|
|
261
|
-
onClick: (
|
|
262
|
-
|
|
263
|
-
},
|
|
264
|
-
sx: {
|
|
265
|
-
color: t ? "primary.contrastText" : "action.active"
|
|
242
|
+
onClick: (f) => {
|
|
243
|
+
f.stopPropagation(), m(a);
|
|
266
244
|
},
|
|
267
245
|
children: /* @__PURE__ */ e.jsx(U, { fontSize: "small" })
|
|
268
246
|
}
|
|
@@ -271,14 +249,14 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
271
249
|
},
|
|
272
250
|
a.id
|
|
273
251
|
)) }),
|
|
274
|
-
l && /* @__PURE__ */ e.jsx(
|
|
275
|
-
|
|
252
|
+
l && /* @__PURE__ */ e.jsx(s, { sx: { px: 2, py: 1.5, pt: g.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ e.jsx(
|
|
253
|
+
n,
|
|
276
254
|
{
|
|
277
255
|
variant: "body2",
|
|
278
256
|
sx: {
|
|
279
257
|
fontSize: "0.875rem",
|
|
280
|
-
|
|
281
|
-
|
|
258
|
+
whiteSpace: "pre-wrap",
|
|
259
|
+
color: h ? "error.main" : "inherit"
|
|
282
260
|
},
|
|
283
261
|
children: l
|
|
284
262
|
}
|
|
@@ -286,8 +264,8 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
286
264
|
]
|
|
287
265
|
}
|
|
288
266
|
),
|
|
289
|
-
b &&
|
|
290
|
-
|
|
267
|
+
b && y && /* @__PURE__ */ e.jsx(
|
|
268
|
+
n,
|
|
291
269
|
{
|
|
292
270
|
variant: "caption",
|
|
293
271
|
sx: {
|
|
@@ -296,11 +274,11 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
296
274
|
ml: t ? 0 : 0.5,
|
|
297
275
|
mr: t ? 0.5 : 0
|
|
298
276
|
},
|
|
299
|
-
children: R(
|
|
277
|
+
children: R(y)
|
|
300
278
|
}
|
|
301
279
|
),
|
|
302
|
-
|
|
303
|
-
|
|
280
|
+
h && /* @__PURE__ */ e.jsxs(
|
|
281
|
+
s,
|
|
304
282
|
{
|
|
305
283
|
display: "flex",
|
|
306
284
|
alignItems: "center",
|
|
@@ -311,32 +289,32 @@ const H = y(/* @__PURE__ */ e.jsx("path", {
|
|
|
311
289
|
mr: t ? 0.5 : 0
|
|
312
290
|
},
|
|
313
291
|
children: [
|
|
314
|
-
/* @__PURE__ */ e.jsx(
|
|
292
|
+
/* @__PURE__ */ e.jsx(P, { sx: { fontSize: "1rem" } }),
|
|
315
293
|
/* @__PURE__ */ e.jsx(
|
|
316
|
-
|
|
294
|
+
n,
|
|
317
295
|
{
|
|
318
296
|
variant: "caption",
|
|
319
297
|
sx: {
|
|
320
298
|
fontSize: "0.875rem",
|
|
321
299
|
fontWeight: 500
|
|
322
300
|
},
|
|
323
|
-
children:
|
|
301
|
+
children: T
|
|
324
302
|
}
|
|
325
303
|
),
|
|
326
|
-
|
|
304
|
+
V && /* @__PURE__ */ e.jsx(M, { size: "small", onClick: V, children: /* @__PURE__ */ e.jsx(H, {}) })
|
|
327
305
|
]
|
|
328
306
|
}
|
|
329
307
|
)
|
|
330
308
|
]
|
|
331
309
|
}
|
|
332
310
|
),
|
|
333
|
-
o && t && /* @__PURE__ */ e.jsx(
|
|
311
|
+
o && t && /* @__PURE__ */ e.jsx(W, { avatar: w, name: r, size: 36 }),
|
|
334
312
|
c && /* @__PURE__ */ e.jsx(
|
|
335
|
-
|
|
313
|
+
E,
|
|
336
314
|
{
|
|
337
315
|
isOpen: D,
|
|
338
316
|
onClose: () => {
|
|
339
|
-
|
|
317
|
+
k(!1), S(null);
|
|
340
318
|
},
|
|
341
319
|
selectedItem: {
|
|
342
320
|
id: c.id,
|