@solostylist/ui-kit 1.0.170 → 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.
Files changed (31) hide show
  1. package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +2 -4
  2. package/dist/s-ai-tool-bar/s-ai-tool-bar.js +244 -277
  3. package/dist/s-blur-text/s-blur-text.js +19 -20
  4. package/dist/s-breadcrumbs/s-breadcrumbs.js +2 -2
  5. package/dist/s-button-link/s-button-link.js +2 -2
  6. package/dist/s-category-card/s-category-card.js +2 -2
  7. package/dist/s-chat-message/s-chat-message.js +77 -99
  8. package/dist/s-countdown/s-count-box.js +2 -2
  9. package/dist/s-countdown/s-count-down.js +2 -2
  10. package/dist/s-error-layout/s-error-layout.js +2 -2
  11. package/dist/s-glow-button/s-glow-button.js +4 -5
  12. package/dist/s-gradient-icon/s-gradient-icon.js +2 -2
  13. package/dist/s-moving-border/s-moving-border.d.ts +1 -1
  14. package/dist/s-moving-border/s-moving-border.js +34 -34
  15. package/dist/s-scroll-reveal/s-scroll-reveal.js +2 -2
  16. package/dist/s-stripe/s-stripe.js +2 -2
  17. package/dist/s-tabs/s-tab-panel.js +2 -2
  18. package/dist/s-text-shimmer/s-text-shimmer.d.ts +2 -2
  19. package/dist/s-text-shimmer/s-text-shimmer.js +13 -13
  20. package/dist/s-text-truncation/s-text-truncation.js +1 -1
  21. package/dist/s-theme-demo/s-theme-demo.js +51 -88
  22. package/dist/s-theme-provider/s-theme-provider.js +2 -2
  23. package/dist/s-theme-switch/s-theme-switch.js +1 -1
  24. package/dist/s-two-pane-layout/index.js +1 -1
  25. package/dist/s-two-pane-layout/s-two-pane-layout.js +2 -2
  26. package/dist/s-typewriter-text/s-typewriter-text.js +8 -8
  27. package/dist/s-zoom-image/index.js +1 -1
  28. package/dist/s-zoom-image/s-zoom-image.js +2 -2
  29. package/dist/theme/theme-primitives.d.ts +5 -0
  30. package/dist/theme/theme-primitives.js +22 -17
  31. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { j as y } from "../jsx-runtime-OVHDjVDe.js";
2
- import { useState as k, useRef as R, useEffect as E, useMemo as g } from "react";
3
- import { Typography as F } from "@mui/material";
4
- import { motion as M } from "framer-motion";
5
- const N = (r, o) => {
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
- component: q = "p",
24
- sx: T,
25
- ...C
23
+ sx: q,
24
+ ...T
26
25
  }) => {
27
- const i = s === "words" ? r.split(" ") : r.split(""), [_, S] = k(!1), u = R(null);
28
- E(() => {
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 && (S(!0), a.unobserve(u.current));
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 j = g(
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
- ), A = g(
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 ?? j, d = h ?? A, m = d.length + 1, D = x * (m - 1), I = Array.from({ length: m }, (a, t) => m === 1 ? 0 : t / (m - 1));
52
- return /* @__PURE__ */ y.jsx(F, { ref: u, variant: V, component: q, sx: T, ...C, children: i.map((a, t) => {
53
- const B = N(p, d), f = {
54
- duration: D,
55
- times: I,
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
- M.span,
58
+ F.span,
60
59
  {
61
60
  initial: p,
62
- animate: _ ? B : p,
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: '"bottom"' }, { value: '"top"' }] } }, threshold: { defaultValue: { value: "0.1" }, description: "Intersection observer threshold for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: { value: "0px" }, description: "Intersection observer root margin", name: "rootMargin", required: !1, type: { name: "string" } }, animationFrom: { defaultValue: null, description: "Custom starting animation state", name: "animationFrom", required: !1, type: { name: "Record<string, string | number>" } }, animationTo: { defaultValue: null, description: "Custom ending animation states (array for multi-step animations)", name: "animationTo", required: !1, type: { name: "Record<string, string | number>[]" } }, easing: { defaultValue: { value: "(t) => t" }, description: "Custom easing function for animation timing", name: "easing", required: !1, type: { name: "((t: number) => number)" } }, onAnimationComplete: { defaultValue: null, description: "Callback fired when animation completes", name: "onAnimationComplete", required: !1, type: { name: "(() => void)" } }, stepDuration: { defaultValue: { value: "0.35" }, description: "Duration of each animation step in seconds", name: "stepDuration", required: !1, type: { name: "number" } } } };
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 {
@@ -39,11 +39,11 @@ const l = b(
39
39
  );
40
40
  l.displayName = "SBreadcrumbs";
41
41
  try {
42
- l.displayName = "SBreadcrumbs", l.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "SBreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } } } };
42
+ l.displayName = "SBreadcrumbs", l.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "SBreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
43
43
  } catch {
44
44
  }
45
45
  try {
46
- sbreadcrumbs.displayName = "sbreadcrumbs", sbreadcrumbs.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "sbreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } } } };
46
+ sbreadcrumbs.displayName = "sbreadcrumbs", sbreadcrumbs.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "sbreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
47
47
  } catch {
48
48
  }
49
49
  export {
@@ -32,11 +32,11 @@ const t = ({
32
32
  ] });
33
33
  t.displayName = "SButtonLink";
34
34
  try {
35
- t.displayName = "SButtonLink", t.__docgenInfo = { description: "A flexible link component that combines text and a clickable link element.", displayName: "SButtonLink", props: { beforeText: { defaultValue: { value: "" }, description: "Text or element displayed before the main link", name: "beforeText", required: !1, type: { name: "ReactNode" } }, afterText: { defaultValue: { value: "" }, description: "Text or element displayed after the main link", name: "afterText", required: !1, type: { name: "ReactNode" } }, mainText: { defaultValue: { value: "" }, description: "The main clickable link text or element", name: "mainText", required: !1, type: { name: "ReactNode" } }, href: { defaultValue: { value: "#" }, description: "URL for the link (defaults to '#')", name: "href", required: !1, type: { name: "string" } }, component: { defaultValue: { value: "a" }, description: "Component to render the link as (e.g., RouterLink for client-side routing)", name: "component", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, target: { defaultValue: null, description: "Target attribute for the link (e.g., '_blank' for new tab)", name: "target", required: !1, type: { name: "string" } }, color: { defaultValue: { value: "text.secondary" }, description: "Color of the surrounding text", name: "color", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
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<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, linkColor: { defaultValue: { value: "undefined" }, description: "Color of the link itself (overrides default link color)", name: "linkColor", required: !1, type: { name: '(string & {}) | OverridableStringUnion<"error" | "primary" | "secondary" | "info" | "success" | "warning" | "textDisabled" | "textPrimary" | "textSecondary", TypographyPropsColorOverrides>' } }, lineHeight: { defaultValue: null, description: "Line height for the typography", name: "lineHeight", required: !1, type: { name: "ResponsiveStyleValue<LineHeight<string | number> | readonly NonNullable<LineHeight<string | number>>[]> | ((theme: Theme) => ResponsiveStyleValue<...>)" } }, variant: { defaultValue: { value: "body2" }, description: "Typography variant for the container text", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"inherit"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, onClick: { defaultValue: null, description: "Click handler for the link", name: "onClick", required: !1, type: { name: "MouseEventHandler<HTMLAnchorElement>" } } } };
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: '"bottom"' }, { value: '"top"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, titleColor: { defaultValue: null, description: "Color of the title text", name: "titleColor", required: !1, type: { name: "string" } }, titleBackgroundColor: { defaultValue: { value: "background.paper" }, description: "Background color of the title overlay", name: "titleBackgroundColor", required: !1, type: { name: "string" } }, titleOpacity: { defaultValue: { value: "1" }, description: "Opacity of the title overlay (0-1)", name: "titleOpacity", required: !1, type: { name: "number" } }, borderRadius: { defaultValue: { value: "2" }, description: "Border radius of the card and title overlay", name: "borderRadius", required: !1, type: { name: "string | number" } }, disableHoverEffect: { defaultValue: { value: "false" }, description: "Disable the hover zoom effect on the image", name: "disableHoverEffect", required: !1, type: { name: "boolean" } }, hoverScale: { defaultValue: { value: "1.1" }, description: "Scale factor for hover zoom effect", name: "hoverScale", required: !1, type: { name: "number" } }, onClick: { defaultValue: null, description: "Handler called when the card is clicked", name: "onClick", required: !1, type: { name: "((event: MouseEvent<HTMLDivElement, MouseEvent>) => void)" } }, sx: { defaultValue: null, description: "System prop for custom styling of the wrapper", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, titleSx: { defaultValue: null, description: "System prop for custom styling of the title overlay", name: "titleSx", required: !1, type: { name: "SxProps<Theme>" } }, imageSx: { defaultValue: null, description: "System prop for custom styling of the image", name: "imageSx", required: !1, type: { name: "SxProps<Theme>" } } } };
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: '"bottom"' }, { value: '"top"' }, { value: '"center"' }] } }, titleAlignment: { defaultValue: { value: "center" }, description: "Text alignment of the title", name: "titleAlignment", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { value: '"center"' }] } }, titleVariant: { defaultValue: { value: "body1" }, description: "Typography variant for the title text", name: "titleVariant", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"caption"' }, { value: '"h1"' }, { value: '"h2"' }, { value: '"h3"' }, { value: '"h4"' }, { value: '"h5"' }, { value: '"h6"' }, { value: '"body2"' }, { value: '"body1"' }, { value: '"subtitle1"' }, { value: '"subtitle2"' }, { value: '"overline"' }] } }, titleColor: { defaultValue: null, description: "Color of the title text", name: "titleColor", required: !1, type: { name: "string" } }, titleBackgroundColor: { defaultValue: { value: "background.paper" }, description: "Background color of the title overlay", name: "titleBackgroundColor", required: !1, type: { name: "string" } }, titleOpacity: { defaultValue: { value: "1" }, description: "Opacity of the title overlay (0-1)", name: "titleOpacity", required: !1, type: { name: "number" } }, borderRadius: { defaultValue: { value: "2" }, description: "Border radius of the card and title overlay", name: "borderRadius", required: !1, type: { name: "string | number" } }, disableHoverEffect: { defaultValue: { value: "false" }, description: "Disable the hover zoom effect on the image", name: "disableHoverEffect", required: !1, type: { name: "boolean" } }, hoverScale: { defaultValue: { value: "1.1" }, description: "Scale factor for hover zoom effect", name: "hoverScale", required: !1, type: { name: "number" } }, onClick: { defaultValue: null, description: "Handler called when the card is clicked", name: "onClick", required: !1, type: { name: "((event: MouseEvent<HTMLDivElement, MouseEvent>) => void)" } }, sx: { defaultValue: null, description: "System prop for custom styling of the wrapper", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, titleSx: { defaultValue: null, description: "System prop for custom styling of the title overlay", name: "titleSx", required: !1, type: { name: "SxProps<Theme>" } }, imageSx: { defaultValue: null, description: "System prop for custom styling of the image", name: "imageSx", required: !1, type: { name: "SxProps<Theme>" } } } };
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 {
@@ -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 i, Typography as r, Paper as E, IconButton as M } from "@mui/material";
4
- import { SAvatar as A } from "../s-avatar/s-avatar.js";
5
- import { SImageModal as L } from "../s-image-modal/s-image-modal.js";
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 s } from "../s-skeleton/s-skeleton.js";
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 y } from "../createSvgIcon-DxwgGAVe.js";
9
+ import { c as v } from "../createSvgIcon-DxwgGAVe.js";
10
10
  import { D as U } from "../Download-UsLvGg3y.js";
11
- const H = y(/* @__PURE__ */ e.jsx("path", {
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"), P = y(/* @__PURE__ */ e.jsx("path", {
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"), G = y(/* @__PURE__ */ e.jsx("path", {
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: T = "received",
20
- timestamp: v,
19
+ variant: A = "received",
20
+ timestamp: y,
21
21
  avatar: w,
22
- senderName: n,
22
+ senderName: r,
23
23
  showAvatar: o = !0,
24
24
  showTimestamp: b = !1,
25
25
  maxWidth: j = "70%",
26
- attachments: f = [],
26
+ attachments: g = [],
27
27
  onAttachmentClick: d,
28
28
  onDownload: m,
29
- hasError: g = !1,
30
- errorMessage: W = "Failed to send message",
31
- onRetry: k,
29
+ hasError: h = !1,
30
+ errorMessage: T = "Failed to send message",
31
+ onRetry: V,
32
32
  loading: _ = !1,
33
33
  sx: C,
34
- ...V
34
+ ...q
35
35
  }) => {
36
- const [c, q] = z(null), [D, S] = z(!1), t = T === "sent", R = (a) => (typeof a == "string" ? new Date(a) : a).toLocaleTimeString("en-US", {
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 p = ["Bytes", "KB", "MB", "GB"], u = Math.floor(Math.log(a) / Math.log(1024));
43
- return Math.round(a / Math.pow(1024, u) * 100) / 100 + " " + p[u];
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) : (q(a), S(!0));
45
+ d ? d(a) : (S(a), k(!0));
46
46
  }, B = (a) => {
47
47
  d ? d(a) : m && m(a);
48
- }, h = f.filter((a) => a.type === "image"), I = f.filter((a) => a.type === "file");
48
+ }, p = g.filter((a) => a.type === "image"), I = g.filter((a) => a.type === "file");
49
49
  return _ ? /* @__PURE__ */ e.jsxs(
50
- i,
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
- ...V,
62
+ ...q,
63
63
  children: [
64
- o && !t && /* @__PURE__ */ e.jsx(s, { component: "rounded-avatar", width: 36, height: 36 }),
64
+ o && !t && /* @__PURE__ */ e.jsx(i, { component: "rounded-avatar", width: 36, height: 36 }),
65
65
  /* @__PURE__ */ e.jsxs(
66
- i,
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
- n && !t && /* @__PURE__ */ e.jsx(s, { variant: "text", width: 100, height: 12, sx: { ml: 0.5 } }),
74
+ r && !t && /* @__PURE__ */ e.jsx(i, { variant: "text", width: 100, height: 12, sx: { ml: 0.5 } }),
75
75
  /* @__PURE__ */ e.jsxs(
76
- i,
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(s, { variant: "text", width: "100%", height: 16, sx: { mb: 0.5 } }),
87
- /* @__PURE__ */ e.jsx(s, { variant: "text", width: "85%", height: 16, sx: { mb: 0.5 } }),
88
- /* @__PURE__ */ e.jsx(s, { variant: "text", width: "70%", height: 16 })
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(s, { variant: "text", width: 60, height: 10, sx: { ml: t ? 0 : 0.5, mr: t ? 0.5 : 0 } })
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(s, { component: "rounded-avatar", width: 36, height: 36 })
96
+ o && t && /* @__PURE__ */ e.jsx(i, { component: "rounded-avatar", width: 36, height: 36 })
97
97
  ]
98
98
  }
99
99
  ) : /* @__PURE__ */ e.jsxs(
100
- i,
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
- ...V,
112
+ ...q,
113
113
  children: [
114
- o && !t && /* @__PURE__ */ e.jsx(A, { avatar: w, name: n, size: 36 }),
114
+ o && !t && /* @__PURE__ */ e.jsx(W, { avatar: w, name: r, size: 36 }),
115
115
  /* @__PURE__ */ e.jsxs(
116
- i,
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
- n && !t && /* @__PURE__ */ e.jsx(
125
- r,
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: n
134
+ children: r
135
135
  }
136
136
  ),
137
137
  /* @__PURE__ */ e.jsxs(
138
- i,
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
- backgroundColor: t ? "primary.main" : "",
146
- color: t ? "primary.contrastText" : "text.primary",
147
- border: t ? "none" : "1px solid",
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
- h.length > 0 && /* @__PURE__ */ e.jsx(
159
- i,
153
+ p.length > 0 && /* @__PURE__ */ e.jsx(
154
+ s,
160
155
  {
161
156
  sx: {
162
157
  display: "grid",
163
- gridTemplateColumns: h.length === 1 ? "1fr" : "repeat(2, 1fr)",
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: h.map((a) => /* @__PURE__ */ e.jsx(
169
- i,
163
+ children: p.map((a) => /* @__PURE__ */ e.jsx(
164
+ s,
170
165
  {
171
166
  sx: {
172
167
  position: "relative",
173
- paddingTop: h.length === 1 ? "66.67%" : "100%",
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(i, { sx: { p: 1.5 }, children: I.map((a, p) => /* @__PURE__ */ e.jsxs(
203
- E,
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: p > 0 ? 1 : 0,
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
- P,
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
- r,
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
- r,
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: (u) => {
262
- u.stopPropagation(), m(a);
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(i, { sx: { px: 2, py: 1.5, pt: f.length > 0 ? 0 : 1.5 }, children: /* @__PURE__ */ e.jsx(
275
- r,
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
- lineHeight: 1.4,
281
- whiteSpace: "pre-wrap"
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 && v && /* @__PURE__ */ e.jsx(
290
- r,
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(v)
277
+ children: R(y)
300
278
  }
301
279
  ),
302
- g && /* @__PURE__ */ e.jsxs(
303
- i,
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(H, { sx: { fontSize: "1rem" } }),
292
+ /* @__PURE__ */ e.jsx(P, { sx: { fontSize: "1rem" } }),
315
293
  /* @__PURE__ */ e.jsx(
316
- r,
294
+ n,
317
295
  {
318
296
  variant: "caption",
319
297
  sx: {
320
298
  fontSize: "0.875rem",
321
299
  fontWeight: 500
322
300
  },
323
- children: W
301
+ children: T
324
302
  }
325
303
  ),
326
- k && /* @__PURE__ */ e.jsx(M, { size: "small", onClick: k, children: /* @__PURE__ */ e.jsx(G, {}) })
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(A, { avatar: w, name: n, size: 36 }),
311
+ o && t && /* @__PURE__ */ e.jsx(W, { avatar: w, name: r, size: 36 }),
334
312
  c && /* @__PURE__ */ e.jsx(
335
- L,
313
+ E,
336
314
  {
337
315
  isOpen: D,
338
316
  onClose: () => {
339
- S(!1), q(null);
317
+ k(!1), S(null);
340
318
  },
341
319
  selectedItem: {
342
320
  id: c.id,