@solostylist/ui-kit 1.0.198 → 1.0.200

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 (97) hide show
  1. package/dist/entries/core.d.ts +2 -2
  2. package/dist/entries/core.js +28 -30
  3. package/dist/main.js +92 -94
  4. package/dist/s-blur-text/s-blur-text.js +25 -24
  5. package/dist/s-chat-message/s-chat-message.js +1 -1
  6. package/dist/s-comment-message/s-comment-message.js +1 -1
  7. package/dist/s-countdown/s-count-box.js +40 -37
  8. package/dist/s-countdown/s-count-down.js +73 -101
  9. package/dist/s-dialog-confirm/index.d.ts +1 -1
  10. package/dist/s-dialog-confirm/s-dialog-confirm.d.ts +1 -1
  11. package/dist/s-dialog-message/index.d.ts +1 -1
  12. package/dist/s-dialog-message/s-dialog-message.d.ts +1 -1
  13. package/dist/s-file-dropzone/s-file-dropzone.js +13 -13
  14. package/dist/s-pixel-reveal/s-pixel-reveal.js +28 -28
  15. package/dist/s-review/s-review.js +1 -1
  16. package/dist/s-snackbar-message/s-snackbar-message.js +18 -18
  17. package/dist/utils/index.d.ts +0 -1
  18. package/dist/utils/index.js +7 -9
  19. package/dist/{utils-CHdpkEZx.js → utils-D1UMIV0b.js} +13 -6
  20. package/package.json +10 -5
  21. package/dist/s-accordion/package.json +0 -5
  22. package/dist/s-action-overlay/package.json +0 -5
  23. package/dist/s-ai-tool-bar/package.json +0 -5
  24. package/dist/s-autocomplete/package.json +0 -5
  25. package/dist/s-avatar/package.json +0 -5
  26. package/dist/s-blur-text/package.json +0 -5
  27. package/dist/s-breadcrumbs/package.json +0 -5
  28. package/dist/s-button/package.json +0 -5
  29. package/dist/s-button-link/package.json +0 -5
  30. package/dist/s-carousel/package.json +0 -5
  31. package/dist/s-category-card/package.json +0 -5
  32. package/dist/s-chat-input/package.json +0 -5
  33. package/dist/s-chat-message/package.json +0 -5
  34. package/dist/s-checkbox/package.json +0 -5
  35. package/dist/s-chip/package.json +0 -5
  36. package/dist/s-chips/package.json +0 -5
  37. package/dist/s-code-block/package.json +0 -5
  38. package/dist/s-comment-message/package.json +0 -5
  39. package/dist/s-copyable-text/package.json +0 -5
  40. package/dist/s-countdown/package.json +0 -5
  41. package/dist/s-data-table/package.json +0 -5
  42. package/dist/s-date-picker/package.json +0 -5
  43. package/dist/s-datetime-picker/package.json +0 -5
  44. package/dist/s-dialog/package.json +0 -5
  45. package/dist/s-dialog-confirm/package.json +0 -5
  46. package/dist/s-dialog-message/package.json +0 -5
  47. package/dist/s-empty/package.json +0 -5
  48. package/dist/s-error/package.json +0 -5
  49. package/dist/s-error-layout/package.json +0 -5
  50. package/dist/s-file-dropzone/package.json +0 -5
  51. package/dist/s-file-icon/package.json +0 -5
  52. package/dist/s-flex-box/package.json +0 -5
  53. package/dist/s-form/package.json +0 -5
  54. package/dist/s-gallery/package.json +0 -5
  55. package/dist/s-glow-button/package.json +0 -5
  56. package/dist/s-gradient-icon/package.json +0 -5
  57. package/dist/s-i18n-provider/package.json +0 -5
  58. package/dist/s-icon-button/package.json +0 -5
  59. package/dist/s-image-comparison/package.json +0 -5
  60. package/dist/s-image-modal/package.json +0 -5
  61. package/dist/s-item-not-found/package.json +0 -5
  62. package/dist/s-label/package.json +0 -5
  63. package/dist/s-language-switcher/package.json +0 -5
  64. package/dist/s-lazy-image/package.json +0 -5
  65. package/dist/s-localization-provider/package.json +0 -5
  66. package/dist/s-moving-border/package.json +0 -5
  67. package/dist/s-multi-select/package.json +0 -5
  68. package/dist/s-no-ssr/package.json +0 -5
  69. package/dist/s-overlay-scrollbar/package.json +0 -5
  70. package/dist/s-pagination/package.json +0 -5
  71. package/dist/s-pixel-reveal/package.json +0 -5
  72. package/dist/s-radial-pulse-animate/package.json +0 -5
  73. package/dist/s-rating/package.json +0 -5
  74. package/dist/s-review/package.json +0 -5
  75. package/dist/s-scroll-reveal/package.json +0 -6
  76. package/dist/s-scroll-to-top/package.json +0 -5
  77. package/dist/s-scroll-velocity/package.json +0 -5
  78. package/dist/s-select/package.json +0 -5
  79. package/dist/s-select-list/package.json +0 -5
  80. package/dist/s-skeleton/package.json +0 -5
  81. package/dist/s-snackbar-message/package.json +0 -5
  82. package/dist/s-spotlight-cursor/package.json +0 -5
  83. package/dist/s-stripe/package.json +0 -5
  84. package/dist/s-tabs/package.json +0 -4
  85. package/dist/s-text-editor/package.json +0 -5
  86. package/dist/s-text-field/package.json +0 -5
  87. package/dist/s-text-shimmer/package.json +0 -5
  88. package/dist/s-text-truncation/package.json +0 -5
  89. package/dist/s-theme-demo/package.json +0 -5
  90. package/dist/s-theme-provider/package.json +0 -5
  91. package/dist/s-theme-switch/package.json +0 -5
  92. package/dist/s-tip/package.json +0 -5
  93. package/dist/s-two-pane-layout/package.json +0 -5
  94. package/dist/s-typewriter-text/package.json +0 -6
  95. package/dist/s-zoom-image/package.json +0 -5
  96. package/dist/utils/bytes-to-size.d.ts +0 -1
  97. package/dist/utils/bytes-to-size.js +0 -9
@@ -1,23 +1,23 @@
1
1
  import { j as t } from "../jsx-runtime-tc70JA_2.js";
2
- import { Typography as r, Fade as H, Slide as v } from "@mui/material";
3
- import { SFlexBox as c } from "../s-flex-box/s-flex-box.js";
4
- const B = ({
5
- digit: d = 0,
6
- title: m = "",
7
- size: x = "medium",
8
- color: l = "inherit",
9
- animation: o = "none",
2
+ import { Typography as l, Fade as v, Slide as B } from "@mui/material";
3
+ import { SFlexBox as d } from "../s-flex-box/s-flex-box.js";
4
+ const C = ({
5
+ digit: m = 0,
6
+ title: x = "",
7
+ size: f = "medium",
8
+ color: o = "inherit",
9
+ animation: s = "none",
10
10
  sx: g,
11
- digitSx: f,
12
- titleSx: p,
13
- showSeparator: h = !1,
14
- separator: u = ":",
15
- digitFormat: S = "default",
16
- hidden: j = !1
11
+ digitSx: p,
12
+ titleSx: h,
13
+ showSeparator: u = !1,
14
+ separator: S = ":",
15
+ digitFormat: j = "default",
16
+ hidden: y = !1
17
17
  }) => {
18
- if (j) return null;
19
- const y = (a) => S === "padded" ? a.toString().padStart(2, "0") : a.toString(), e = (() => {
20
- switch (x) {
18
+ if (y) return null;
19
+ const z = (c) => j === "padded" ? c.toString().padStart(2, "0") : c.toString(), e = (() => {
20
+ switch (f) {
21
21
  case "small":
22
22
  return {
23
23
  digit: { fontSize: "1.5rem", lineHeight: 1.2 },
@@ -34,22 +34,22 @@ const B = ({
34
34
  title: { fontSize: "0.875rem", letterSpacing: "0.08em" }
35
35
  };
36
36
  }
37
- })(), i = y(d), n = /* @__PURE__ */ t.jsx(
38
- r,
37
+ })(), i = z(m), n = /* @__PURE__ */ t.jsx(
38
+ l,
39
39
  {
40
40
  variant: "h3",
41
41
  component: "span",
42
42
  sx: {
43
43
  fontWeight: 700,
44
- color: l === "inherit" ? "text.primary" : `${l}.main`,
44
+ color: o === "inherit" ? "text.primary" : `${o}.main`,
45
45
  width: "70px",
46
46
  ...e.digit,
47
- ...f
47
+ ...p
48
48
  },
49
49
  children: i
50
50
  }
51
- ), z = /* @__PURE__ */ t.jsx(
52
- r,
51
+ ), H = /* @__PURE__ */ t.jsx(
52
+ l,
53
53
  {
54
54
  component: "span",
55
55
  sx: {
@@ -59,12 +59,15 @@ const B = ({
59
59
  display: "block",
60
60
  mt: 0.5,
61
61
  ...e.title,
62
- ...p
62
+ ...h
63
63
  },
64
- children: m
64
+ children: x
65
65
  }
66
- ), s = /* @__PURE__ */ t.jsxs(
67
- c,
66
+ );
67
+ let r = n;
68
+ s === "fade" ? r = /* @__PURE__ */ t.jsx(v, { in: !0, timeout: 300, children: /* @__PURE__ */ t.jsx("div", { children: n }) }, i) : s === "slide" && (r = /* @__PURE__ */ t.jsx(B, { in: !0, direction: "up", timeout: 300, children: /* @__PURE__ */ t.jsx("div", { children: n }) }, i));
69
+ const a = /* @__PURE__ */ t.jsxs(
70
+ d,
68
71
  {
69
72
  flexDirection: "column",
70
73
  alignItems: "center",
@@ -74,15 +77,15 @@ const B = ({
74
77
  ...g
75
78
  },
76
79
  children: [
77
- o === "fade" ? /* @__PURE__ */ t.jsx(H, { in: !0, timeout: 300, children: /* @__PURE__ */ t.jsx("div", { children: n }) }, i) : o === "slide" ? /* @__PURE__ */ t.jsx(v, { in: !0, direction: "up", timeout: 300, children: /* @__PURE__ */ t.jsx("div", { children: n }) }, i) : n,
78
- z
80
+ r,
81
+ H
79
82
  ]
80
83
  }
81
84
  );
82
- return h ? /* @__PURE__ */ t.jsxs(c, { alignItems: "center", children: [
83
- s,
85
+ return u ? /* @__PURE__ */ t.jsxs(d, { alignItems: "center", children: [
86
+ a,
84
87
  /* @__PURE__ */ t.jsx(
85
- r,
88
+ l,
86
89
  {
87
90
  variant: "h3",
88
91
  sx: {
@@ -92,13 +95,13 @@ const B = ({
92
95
  alignSelf: "flex-start",
93
96
  mt: 0.5
94
97
  },
95
- children: u
98
+ children: S
96
99
  }
97
100
  )
98
- ] }) : s;
101
+ ] }) : a;
99
102
  };
100
- B.displayName = "SCountBox";
103
+ C.displayName = "SCountBox";
101
104
  export {
102
- B as SCountBox,
103
- B as default
105
+ C as SCountBox,
106
+ C as default
104
107
  };
@@ -1,138 +1,110 @@
1
- import { j as a } from "../jsx-runtime-tc70JA_2.js";
2
- import { Typography as M } from "@mui/material";
3
- import A from "../hooks/use-count-down.js";
4
- import { SFlexBox as y } from "../s-flex-box/s-flex-box.js";
5
- import { SCountBox as N } from "./s-count-box.js";
6
- const R = ({
1
+ import { j as l } from "../jsx-runtime-tc70JA_2.js";
2
+ import { useTheme as N, useMediaQuery as m, Typography as R } from "@mui/material";
3
+ import W from "../hooks/use-count-down.js";
4
+ import { SFlexBox as p } from "../s-flex-box/s-flex-box.js";
5
+ import { SCountBox as F } from "./s-count-box.js";
6
+ const H = ({
7
7
  expireDate: x,
8
- size: e = "medium",
9
- color: l = "inherit",
10
- layout: u = "horizontal",
11
- animation: g = "none",
12
- showSeparators: d = !1,
13
- separator: p = ":",
14
- units: S = {
8
+ size: n = "medium",
9
+ color: u = "inherit",
10
+ layout: c = "horizontal",
11
+ animation: S = "none",
12
+ showSeparators: y = !1,
13
+ separator: k = ":",
14
+ units: b = {
15
15
  days: !0,
16
16
  hours: !0,
17
17
  minutes: !0,
18
18
  seconds: !0
19
19
  },
20
- labels: i = {
20
+ labels: r = {
21
21
  days: "DAYS",
22
22
  hours: "HOURS",
23
23
  minutes: "MINS",
24
24
  seconds: "SECS"
25
25
  },
26
- digitFormat: w = "default",
27
- onComplete: j,
28
- onTick: C,
29
- onStart: $,
30
- completedText: o = "Time is up!",
31
- autoHideZeroUnits: k = !1,
32
- sx: h,
33
- "aria-label": c = "Countdown timer",
34
- paused: b = !1,
35
- responsive: n
26
+ digitFormat: j = "default",
27
+ onComplete: C,
28
+ onTick: $,
29
+ onStart: w,
30
+ completedText: i = "Time is up!",
31
+ autoHideZeroUnits: v = !1,
32
+ sx: o,
33
+ "aria-label": f = "Countdown timer",
34
+ paused: I = !1,
35
+ responsive: s
36
36
  }) => {
37
- const { timeLeft: t, isExpired: v } = A({
37
+ const { timeLeft: e, isExpired: A } = W({
38
38
  expireDate: x,
39
- onComplete: j,
40
- onTick: C,
41
- onStart: $,
42
- paused: b
43
- });
44
- if (v && o)
45
- return /* @__PURE__ */ a.jsx(
46
- y,
39
+ onComplete: C,
40
+ onTick: $,
41
+ onStart: w,
42
+ paused: I
43
+ }), a = N(), D = m(a.breakpoints.only("xs")), U = m(a.breakpoints.only("sm")), B = m(a.breakpoints.only("md")), E = m(a.breakpoints.only("lg")), d = s ? D ? s.xs ?? n : U ? s.sm ?? n : B ? s.md ?? n : E ? s.lg ?? n : s.xl ?? n : n;
44
+ if (A && i)
45
+ return /* @__PURE__ */ l.jsx(
46
+ p,
47
47
  {
48
48
  justifyContent: "center",
49
49
  alignItems: "center",
50
- sx: { textAlign: "center", ...h },
50
+ sx: { textAlign: "center", ...o },
51
51
  role: "timer",
52
- "aria-label": `${c} - completed`,
53
- children: typeof o == "string" ? /* @__PURE__ */ a.jsx(
54
- M,
52
+ "aria-label": `${f} - completed`,
53
+ children: typeof i == "string" ? /* @__PURE__ */ l.jsx(
54
+ R,
55
55
  {
56
- variant: e === "large" ? "h4" : e === "small" ? "h6" : "h5",
57
- color: l === "inherit" ? "text.primary" : `${l}.main`,
56
+ variant: d === "large" ? "h4" : d === "small" ? "h6" : "h5",
57
+ color: u === "inherit" ? "text.primary" : `${u}.main`,
58
58
  sx: { fontWeight: 600 },
59
- children: o
59
+ children: i
60
60
  }
61
- ) : o
61
+ ) : i
62
62
  }
63
63
  );
64
- const m = [], I = [
65
- { key: "days", value: t.days, label: i.days },
66
- { key: "hours", value: t.hours, label: i.hours },
67
- { key: "minutes", value: t.minutes, label: i.minutes },
68
- { key: "seconds", value: t.seconds, label: i.seconds }
69
- ], D = (r) => S[r.key] && (!k || r.value > 0 || r.key === "seconds"), f = I.filter(D);
70
- f.forEach((r, U) => {
71
- const B = d && U < f.length - 1;
72
- m.push(
73
- /* @__PURE__ */ a.jsx(
74
- N,
75
- {
76
- digit: r.value,
77
- title: r.label ?? "",
78
- size: e,
79
- color: l,
80
- animation: g,
81
- digitFormat: w,
82
- showSeparator: B,
83
- separator: p
84
- },
85
- r.key
86
- )
87
- );
88
- });
89
- const E = () => u === "vertical" ? { flexDirection: "column", gap: 2, alignItems: "center" } : u === "grid" ? {
64
+ const h = [
65
+ { key: "days", value: e.days, label: r.days },
66
+ { key: "hours", value: e.hours, label: r.hours },
67
+ { key: "minutes", value: e.minutes, label: r.minutes },
68
+ { key: "seconds", value: e.seconds, label: r.seconds }
69
+ ].filter(
70
+ (t) => b[t.key] && (!v || t.value > 0 || t.key === "seconds")
71
+ ), g = h.map((t, L) => /* @__PURE__ */ l.jsx(
72
+ F,
73
+ {
74
+ digit: t.value,
75
+ title: t.label ?? "",
76
+ size: d,
77
+ color: u,
78
+ animation: S,
79
+ digitFormat: j,
80
+ showSeparator: y && L < h.length - 1,
81
+ separator: k
82
+ },
83
+ t.key
84
+ )), M = () => c === "vertical" ? { flexDirection: "column", gap: 2, alignItems: "center" } : c === "grid" ? {
90
85
  display: "grid",
91
- gridTemplateColumns: `repeat(${m.length}, 1fr)`,
86
+ gridTemplateColumns: `repeat(${g.length}, 1fr)`,
92
87
  gap: 2,
93
88
  justifyItems: "center"
94
89
  } : {
95
90
  flexDirection: "row",
96
- gap: d ? 0 : 2,
91
+ gap: y ? 0 : 2,
97
92
  alignItems: "center",
98
93
  justifyContent: "center",
99
94
  flexWrap: "wrap"
100
- }, s = n ? {
101
- xs: n.xs ?? e,
102
- sm: n.sm ?? e,
103
- md: n.md ?? e,
104
- lg: n.lg ?? e,
105
- xl: n.xl ?? e
106
- } : void 0;
107
- return /* @__PURE__ */ a.jsx(
108
- y,
95
+ };
96
+ return /* @__PURE__ */ l.jsx(
97
+ p,
109
98
  {
110
- sx: {
111
- width: "fit-content",
112
- ...E(),
113
- ...h,
114
- ...s && {
115
- // Apply responsive sizing if provided
116
- "@media (max-width: 600px)": {
117
- "& .MuiTypography-h3": {
118
- fontSize: s.xs === "small" ? "1.5rem" : s.xs === "large" ? "3.5rem" : "2.5rem"
119
- }
120
- },
121
- "@media (min-width: 600px) and (max-width: 960px)": {
122
- "& .MuiTypography-h3": {
123
- fontSize: s.sm === "small" ? "1.5rem" : s.sm === "large" ? "3.5rem" : "2.5rem"
124
- }
125
- }
126
- }
127
- },
99
+ sx: [{ width: "fit-content" }, M() ?? {}, ...Array.isArray(o) ? o : [o]],
128
100
  role: "timer",
129
- "aria-label": `${c} - ${t.days} days, ${t.hours} hours, ${t.minutes} minutes, ${t.seconds} seconds remaining`,
130
- children: m
101
+ "aria-label": `${f} - ${e.days} days, ${e.hours} hours, ${e.minutes} minutes, ${e.seconds} seconds remaining`,
102
+ children: g
131
103
  }
132
104
  );
133
105
  };
134
- R.displayName = "SCountdown";
106
+ H.displayName = "SCountdown";
135
107
  export {
136
- R as SCountdown,
137
- R as default
108
+ H as SCountdown,
109
+ H as default
138
110
  };
@@ -1,2 +1,2 @@
1
1
  export { default, DialogConfirmProvider, useDialogConfirm } from './s-dialog-confirm';
2
- export type { DialogConfirmContextProps, DialogConfirmOpenOptions } from './s-dialog-confirm';
2
+ export type { DialogConfirmContextProps, DialogConfirmOpenOptions, SDialogConfirmProps } from './s-dialog-confirm';
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  /**
4
4
  * Props interface for SDialogConfirm component
5
5
  */
6
- interface SDialogConfirmProps {
6
+ export interface SDialogConfirmProps {
7
7
  /** Dialog title - can be string or React element */
8
8
  title?: string | React.ReactNode;
9
9
  /** Dialog content - can be string (auto-wrapped in Typography) or React element */
@@ -1,2 +1,2 @@
1
1
  export { default, DialogMessageProvider, useDialogMessage } from './s-dialog-message';
2
- export type { DialogMessageOpenOptions, DialogMessageContextProps } from './s-dialog-message';
2
+ export type { DialogMessageOpenOptions, DialogMessageContextProps, SDialogMessageProps } from './s-dialog-message';
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  /**
4
4
  * Props interface for SDialogMessage component
5
5
  */
6
- interface SDialogMessageProps {
6
+ export interface SDialogMessageProps {
7
7
  /** Dialog title - can be string or React element */
8
8
  title?: string | React.ReactNode;
9
9
  /** Dialog content - can be string (auto-wrapped in Typography) or React element */
@@ -1,21 +1,21 @@
1
1
  import { j as o } from "../jsx-runtime-tc70JA_2.js";
2
2
  import * as g from "react";
3
3
  import { c as l } from "../createSvgIcon-BkbeLOhM.js";
4
- import { Avatar as v, Tooltip as b, IconButton as y, Button as C } from "@mui/material";
4
+ import { Avatar as b, Tooltip as v, IconButton as y, Button as C } from "@mui/material";
5
5
  import { useDropzone as I } from "react-dropzone";
6
6
  import { SFileIcon as S } from "../s-file-icon/s-file-icon.js";
7
7
  import { SForm as z } from "../s-form/s-form.js";
8
- import { bytesToSize as R } from "../utils/bytes-to-size.js";
9
- import { B as s } from "../Box-BkXoTbe8.js";
8
+ import { B as i } from "../Box-BkXoTbe8.js";
10
9
  import { S as e } from "../Stack-Dfjnuorw.js";
11
10
  import { T as t } from "../Typography-PcmlIqm1.js";
11
+ import { b as R } from "../utils-D1UMIV0b.js";
12
12
  const k = l(/* @__PURE__ */ o.jsx("path", {
13
13
  d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
14
14
  }), "CloseOutlined"), D = l(/* @__PURE__ */ o.jsx("path", {
15
15
  d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3M8 13h2.55v3h2.9v-3H16l-4-4z"
16
16
  }), "CloudUploadOutlined"), F = ({
17
- hint: c,
18
- label: a = "",
17
+ hint: a,
18
+ label: c = "",
19
19
  error: d,
20
20
  onRemoveAll: p,
21
21
  onRemove: x,
@@ -23,10 +23,10 @@ const k = l(/* @__PURE__ */ o.jsx("path", {
23
23
  isShowBtnRemoveAll: h = !1,
24
24
  ...n
25
25
  }) => {
26
- const { getRootProps: u, getInputProps: j, isDragActive: i } = I(n);
26
+ const { getRootProps: u, getInputProps: j, isDragActive: s } = I(n);
27
27
  return /* @__PURE__ */ o.jsxs(g.Fragment, { children: [
28
- /* @__PURE__ */ o.jsx(z, { error: d, label: a, required: m, hint: c, children: /* @__PURE__ */ o.jsxs(
29
- s,
28
+ /* @__PURE__ */ o.jsx(z, { error: d, label: c, required: m, hint: a, children: /* @__PURE__ */ o.jsxs(
29
+ i,
30
30
  {
31
31
  sx: {
32
32
  alignItems: "center",
@@ -40,13 +40,13 @@ const k = l(/* @__PURE__ */ o.jsx("path", {
40
40
  outline: "none",
41
41
  p: 4,
42
42
  // Visual feedback when files are being dragged over
43
- ...i && {
43
+ ...s && {
44
44
  bgcolor: "action.selected",
45
45
  opacity: 0.5
46
46
  },
47
47
  // Hover effect when not actively dragging
48
48
  "&:hover": {
49
- ...!i && {
49
+ ...!s && {
50
50
  bgcolor: "action.hover"
51
51
  }
52
52
  }
@@ -56,7 +56,7 @@ const k = l(/* @__PURE__ */ o.jsx("path", {
56
56
  /* @__PURE__ */ o.jsx("input", { ...j() }),
57
57
  /* @__PURE__ */ o.jsxs(e, { direction: "row", spacing: 1, sx: { alignItems: "center" }, children: [
58
58
  /* @__PURE__ */ o.jsx(
59
- v,
59
+ b,
60
60
  {
61
61
  sx: {
62
62
  border: "1px dashed",
@@ -95,11 +95,11 @@ const k = l(/* @__PURE__ */ o.jsx("path", {
95
95
  },
96
96
  children: [
97
97
  /* @__PURE__ */ o.jsx(S, { extension: f }),
98
- /* @__PURE__ */ o.jsxs(s, { sx: { flex: "1 1 auto" }, children: [
98
+ /* @__PURE__ */ o.jsxs(i, { sx: { flex: "1 1 auto" }, children: [
99
99
  /* @__PURE__ */ o.jsx(t, { variant: "subtitle2", children: r.name }),
100
100
  /* @__PURE__ */ o.jsx(t, { color: "text.secondary", variant: "body2", children: R(r.size) })
101
101
  ] }),
102
- /* @__PURE__ */ o.jsx(b, { title: "Remove", children: /* @__PURE__ */ o.jsx(
102
+ /* @__PURE__ */ o.jsx(v, { title: "Remove", children: /* @__PURE__ */ o.jsx(
103
103
  y,
104
104
  {
105
105
  onClick: () => {
@@ -15,23 +15,23 @@ class U {
15
15
  counterStep;
16
16
  isReverse;
17
17
  isShimmer;
18
- constructor(h, f, r, d, M, b, g) {
19
- this.x = h, this.y = f, this.color = r, this.speed = (Math.random() * 0.8 + 0.1) * d, this.size = 0, this.sizeStep = Math.random() * 0.4, this.minSize = 0.5, this.maxSize = g, this.delay = M, this.counter = 0, this.counterStep = b, this.isReverse = !1, this.isShimmer = !1;
18
+ constructor(a, f, h, d, M, b, g) {
19
+ this.x = a, this.y = f, this.color = h, this.speed = (Math.random() * 0.8 + 0.1) * d, this.size = 0, this.sizeStep = Math.random() * 0.4, this.minSize = 0.5, this.maxSize = g, this.delay = M, this.counter = 0, this.counterStep = b, this.isReverse = !1, this.isShimmer = !1;
20
20
  }
21
- update(h) {
22
- return h ? this.counter < this.delay ? (this.counter += this.counterStep, !0) : (this.isShimmer ? this.isReverse ? (this.size -= this.speed, this.size <= this.minSize && (this.size = this.minSize, this.isReverse = !1)) : (this.size += this.speed, this.size >= this.maxSize && (this.size = this.maxSize, this.isReverse = !0)) : this.size < this.maxSize ? this.size += this.sizeStep : this.isShimmer = !0, !0) : (this.isShimmer = !1, this.counter = 0, this.size > 0 ? (this.size -= 0.1, !0) : !1);
21
+ update(a) {
22
+ return a ? this.counter < this.delay ? (this.counter += this.counterStep, !0) : (this.isShimmer ? this.isReverse ? (this.size -= this.speed, this.size <= this.minSize && (this.size = this.minSize, this.isReverse = !1)) : (this.size += this.speed, this.size >= this.maxSize && (this.size = this.maxSize, this.isReverse = !0)) : this.size < this.maxSize ? this.size += this.sizeStep : this.isShimmer = !0, !0) : (this.isShimmer = !1, this.counter = 0, this.size > 0 ? (this.size -= 0.1, !0) : !1);
23
23
  }
24
- draw(h, f) {
25
- const r = (f - this.size) * 0.5;
26
- h.fillRect(this.x + r, this.y + r, this.size, this.size);
24
+ draw(a, f) {
25
+ const h = (f - this.size) * 0.5;
26
+ a.fillRect(this.x + h, this.y + h, this.size, this.size);
27
27
  }
28
28
  }
29
29
  const Z = Q(
30
30
  ({
31
31
  gap: n = 5,
32
- speed: h = 100,
32
+ speed: a = 100,
33
33
  colors: f = [E[400], E[500], E[600]],
34
- loading: r = !0,
34
+ loading: h = !0,
35
35
  src: d,
36
36
  alt: M = "",
37
37
  style: b,
@@ -43,32 +43,32 @@ const Z = Q(
43
43
  N(() => {
44
44
  j.current = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
45
45
  }, []);
46
- const O = y((e, c, o, s) => {
47
- const t = e - o, i = c - s;
46
+ const O = y((e, r, c, s) => {
47
+ const t = e - c, i = r - s;
48
48
  return t * t + i * i;
49
49
  }, []), V = y(
50
- (e, c, o) => {
50
+ (e, r, c) => {
51
51
  l.current && cancelAnimationFrame(l.current), P.current = performance.now();
52
52
  const s = () => {
53
53
  l.current = requestAnimationFrame(s);
54
54
  const t = performance.now(), i = t - P.current;
55
55
  if (i < I.current) return;
56
- P.current = t - i % I.current, e.clearRect(0, 0, c, o);
57
- let a = !1;
56
+ P.current = t - i % I.current, e.clearRect(0, 0, r, c);
57
+ let o = !1;
58
58
  m.current.forEach((x, F) => {
59
59
  e.fillStyle = F;
60
60
  for (const S of x)
61
- S.update(r) && (S.draw(e, n), a = !0);
62
- }), !r && !a && l.current && (cancelAnimationFrame(l.current), l.current = null);
61
+ S.update(h) && (S.draw(e, n), o = !0);
62
+ }), !h && !o && l.current && (cancelAnimationFrame(l.current), l.current = null);
63
63
  };
64
64
  s();
65
65
  },
66
- [r, n]
66
+ [h, n]
67
67
  ), X = y(() => {
68
- const e = C.current, c = e?.getContext("2d");
69
- if (!e || !c) return;
68
+ const e = C.current, r = e?.getContext("2d");
69
+ if (!e || !r) return;
70
70
  m.current = /* @__PURE__ */ new Map();
71
- const o = j.current ? 0 : Math.max(0, Math.min(100, h)) * 1e-3, s = window.devicePixelRatio ?? 1, t = e.width / s, i = e.height / s, a = 2, x = 0.5, F = (t + i) * 0.01, S = t % n / 2, Y = i % n / 2;
71
+ const c = j.current ? 0 : Math.max(0, Math.min(100, a)) * 1e-3, s = window.devicePixelRatio ?? 1, t = e.width / s, i = e.height / s, o = 2, x = 0.5, F = (t + i) * 0.01, S = t % n / 2, Y = i % n / 2;
72
72
  for (let w = S; w < t; w += n)
73
73
  for (let v = Y; v < i; v += n) {
74
74
  const R = f[Math.floor(Math.random() * f.length)];
@@ -77,17 +77,17 @@ const Z = Q(
77
77
  const W = w + n / 2, G = v + n / 2, J = t / 2, K = i / 2;
78
78
  B = Math.sqrt(O(W, G, J, K));
79
79
  }
80
- const H = Math.random() * 4 + F, L = Math.random() * (a - x) + x, T = new U(w, v, R, o, B, H, L);
80
+ const H = Math.random() * 4 + F, L = Math.random() * (o - x) + x, T = new U(w, v, R, c, B, H, L);
81
81
  m.current.has(R) || m.current.set(R, []), m.current.get(R).push(T);
82
82
  }
83
- V(c, t, i);
84
- }, [n, h, f, k, r, O, V]), A = y(() => {
85
- const e = C.current, c = z.current, o = e?.getContext("2d");
86
- if (!e || !c || !o) return;
87
- const s = c.getBoundingClientRect();
83
+ V(r, t, i);
84
+ }, [n, a, f, k, O, V]), A = y(() => {
85
+ const e = C.current, r = z.current, c = e?.getContext("2d");
86
+ if (!e || !r || !c) return;
87
+ const s = r.getBoundingClientRect();
88
88
  if (s.width === 0 || s.height === 0) return;
89
- const t = Math.floor(s.width), i = Math.floor(s.height), a = window.devicePixelRatio ?? 1;
90
- e.width = t * a, e.height = i * a, e.style.width = `${t}px`, e.style.height = `${i}px`, o.setTransform(1, 0, 0, 1, 0, 0), o.scale(a, a), X();
89
+ const t = Math.floor(s.width), i = Math.floor(s.height), o = window.devicePixelRatio ?? 1;
90
+ e.width = t * o, e.height = i * o, e.style.width = `${t}px`, e.style.height = `${i}px`, c.setTransform(1, 0, 0, 1, 0, 0), c.scale(o, o), X();
91
91
  }, [X]);
92
92
  return N(() => {
93
93
  A();
@@ -7,7 +7,7 @@ import Z from "../s-lazy-image/s-lazy-image.js";
7
7
  import { SRating as _ } from "../s-rating/s-rating.js";
8
8
  import { SSkeleton as n } from "../s-skeleton/s-skeleton.js";
9
9
  import { c as T } from "../createSvgIcon-BkbeLOhM.js";
10
- import { g as ee } from "../utils-CHdpkEZx.js";
10
+ import { g as ee } from "../utils-D1UMIV0b.js";
11
11
  const te = T(/* @__PURE__ */ e.jsx("path", {
12
12
  d: "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2m4 0v12h4V3z"
13
13
  }), "ThumbDown"), se = T(/* @__PURE__ */ e.jsx("path", {
@@ -1,6 +1,6 @@
1
1
  import { j as r } from "../jsx-runtime-tc70JA_2.js";
2
2
  import * as a from "react";
3
- import { Snackbar as S, Alert as h } from "@mui/material";
3
+ import { Snackbar as k, Alert as h } from "@mui/material";
4
4
  import { useDialog as x } from "../hooks/use-dialog.js";
5
5
  const c = ({
6
6
  message: s,
@@ -10,7 +10,7 @@ const c = ({
10
10
  snackbarProps: t,
11
11
  alertProps: o
12
12
  }) => /* @__PURE__ */ r.jsx(
13
- S,
13
+ k,
14
14
  {
15
15
  open: n,
16
16
  autoHideDuration: 1e4,
@@ -21,21 +21,21 @@ const c = ({
21
21
  }
22
22
  );
23
23
  c.displayName = "SSnackbarMessage";
24
- const l = a.createContext(null), C = ({ children: s }) => {
24
+ const i = a.createContext(null), j = ({ children: s }) => {
25
25
  const e = x(), [n, t] = a.useState({
26
26
  message: ""
27
- }), [o, i] = a.useState({}), [p, u] = a.useState({}), g = {
28
- handleOpen: a.useCallback(
29
- ({ snackbarMessageOptions: d, snackbarProps: b = {}, alertProps: m = {} }) => {
30
- const { message: k } = d || { message: "" };
31
- t({ message: k }), i(b), u(m), e.handleOpen();
27
+ }), [o, l] = a.useState({}), [p, u] = a.useState({}), g = a.useMemo(
28
+ () => ({
29
+ handleOpen: ({ snackbarMessageOptions: d, snackbarProps: m = {}, alertProps: b = {} }) => {
30
+ const { message: S } = d || { message: "" };
31
+ t({ message: S }), l(m), u(b), e.handleOpen();
32
32
  },
33
- [e]
34
- ),
35
- handleClose: e.handleClose,
36
- open: e.open
37
- };
38
- return /* @__PURE__ */ r.jsxs(l.Provider, { value: g, children: [
33
+ handleClose: e.handleClose,
34
+ open: e.open
35
+ }),
36
+ [e]
37
+ );
38
+ return /* @__PURE__ */ r.jsxs(i.Provider, { value: g, children: [
39
39
  /* @__PURE__ */ r.jsx(
40
40
  c,
41
41
  {
@@ -48,15 +48,15 @@ const l = a.createContext(null), C = ({ children: s }) => {
48
48
  ),
49
49
  s
50
50
  ] });
51
- }, j = () => {
52
- const s = a.useContext(l);
51
+ }, v = () => {
52
+ const s = a.useContext(i);
53
53
  if (!s)
54
54
  throw new Error("useSnackbarMessage must be used within a SnackbarMessageProvider");
55
55
  return s;
56
56
  };
57
57
  export {
58
58
  c as SSnackbarMessage,
59
- C as SnackbarMessageProvider,
59
+ j as SnackbarMessageProvider,
60
60
  c as default,
61
- j as useSnackbarMessage
61
+ v as useSnackbarMessage
62
62
  };
@@ -1,3 +1,2 @@
1
1
  export * from './dayjs';
2
- export * from './bytes-to-size';
3
2
  export * from './logger';