@solostylist/ui-kit 1.0.82 → 1.0.84
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/s-chips/s-chips.js +5 -3
- package/dist/s-copyable-text/s-copyable-text.js +13 -19
- package/dist/s-dialog-confirm/s-dialog-confirm.js +18 -18
- package/dist/s-file-dropzone/s-file-dropzone.d.ts +5 -5
- package/dist/s-file-dropzone/s-file-dropzone.js +44 -45
- package/dist/s-interactive-gallery/s-interactive-gallery.js +96 -94
- package/dist/s-lazy-image/s-lazy-image.js +42 -36
- package/dist/s-snackbar-message/s-snackbar-message.d.ts +2 -2
- package/dist/s-snackbar-message/s-snackbar-message.js +2 -2
- package/dist/s-text-editor/s-text-editor-toolbar.js +19 -19
- package/dist/s-text-truncation/s-text-truncation.js +7 -7
- package/dist/theme/components/alert.d.ts +56 -0
- package/dist/theme/components/alert.js +53 -0
- package/dist/theme/components/button.d.ts +3 -0
- package/dist/theme/components/button.js +24 -21
- package/dist/theme/components/components.d.ts +73 -0
- package/dist/theme/components/components.js +26 -22
- package/dist/theme/components/tooltip.d.ts +14 -0
- package/dist/theme/components/tooltip.js +17 -0
- package/dist/theme/customizations/feedback.js +12 -30
- package/dist/theme/customizations/inputs.js +21 -15
- package/dist/theme/customizations/navigation.js +5 -6
- package/package.json +1 -1
package/dist/s-chips/s-chips.js
CHANGED
|
@@ -2,7 +2,7 @@ import { j as s } from "../jsx-runtime-DywqP_6a.js";
|
|
|
2
2
|
import { useRef as S, useState as m, useEffect as v } from "react";
|
|
3
3
|
import { Box as a, Chip as h, Tooltip as E } from "@mui/material";
|
|
4
4
|
const L = ({ chips: n, overflow: r = !0, onClick: l, overflowText: c = "keywords" }) => {
|
|
5
|
-
const u = S(null), [
|
|
5
|
+
const u = S(null), [w, C] = m([]), [W, j] = m([]), [x, y] = m(0), p = () => {
|
|
6
6
|
var f;
|
|
7
7
|
const t = ((f = u.current) == null ? void 0 : f.offsetWidth) || 0;
|
|
8
8
|
let e = 0, i = 0;
|
|
@@ -18,7 +18,7 @@ const L = ({ chips: n, overflow: r = !0, onClick: l, overflowText: c = "keywords
|
|
|
18
18
|
for (; e + o > t && i > 0; )
|
|
19
19
|
i--, e -= d(n[i]);
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
C(n.slice(0, i)), j(n.slice(i)), y(n.length - i);
|
|
22
22
|
}, d = (t) => {
|
|
23
23
|
const e = document.createElement("span");
|
|
24
24
|
e.style.visibility = "hidden", e.style.position = "absolute", e.style.whiteSpace = "nowrap", e.textContent = t.trim(), document.body.appendChild(e);
|
|
@@ -31,7 +31,7 @@ const L = ({ chips: n, overflow: r = !0, onClick: l, overflowText: c = "keywords
|
|
|
31
31
|
window.removeEventListener("resize", p);
|
|
32
32
|
};
|
|
33
33
|
}, [n, r]), /* @__PURE__ */ s.jsxs(a, { ref: u, display: "flex", maxWidth: "100%", flexWrap: r ? "nowrap" : "wrap", ...g, children: [
|
|
34
|
-
(r ?
|
|
34
|
+
(r ? w : n).map((t) => /* @__PURE__ */ s.jsx(
|
|
35
35
|
a,
|
|
36
36
|
{
|
|
37
37
|
component: "span",
|
|
@@ -60,6 +60,8 @@ const L = ({ chips: n, overflow: r = !0, onClick: l, overflowText: c = "keywords
|
|
|
60
60
|
slotProps: {
|
|
61
61
|
tooltip: { style: { padding: "0.5rem" } }
|
|
62
62
|
},
|
|
63
|
+
arrow: !0,
|
|
64
|
+
placement: "top",
|
|
63
65
|
title: /* @__PURE__ */ s.jsx(a, { display: "flex", gap: 1, maxWidth: "240px", flexWrap: "wrap", children: W.map((t) => /* @__PURE__ */ s.jsx(h, { label: t.trim() }, t)) }),
|
|
64
66
|
children: /* @__PURE__ */ s.jsx(a, { component: "span", textTransform: "lowercase", children: /* @__PURE__ */ s.jsx(
|
|
65
67
|
h,
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { j as e } from "../jsx-runtime-DywqP_6a.js";
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Paper as
|
|
4
|
-
import { c } from "../createSvgIcon-9XY7lJan.js";
|
|
5
|
-
const
|
|
2
|
+
import { useState as x } from "react";
|
|
3
|
+
import { Paper as d, Box as m, IconButton as h, Typography as u } from "@mui/material";
|
|
4
|
+
import { c as n } from "../createSvgIcon-9XY7lJan.js";
|
|
5
|
+
const f = n(/* @__PURE__ */ e.jsx("path", {
|
|
6
6
|
d: "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
|
|
7
|
-
}), "Check"),
|
|
7
|
+
}), "Check"), j = n(/* @__PURE__ */ e.jsx("path", {
|
|
8
8
|
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"
|
|
9
|
-
}), "ContentCopy"), w = ({ text: r, typographyProps: t, onCopied: o, paperProps:
|
|
10
|
-
const [s,
|
|
9
|
+
}), "ContentCopy"), w = ({ text: r, typographyProps: t, onCopied: o, paperProps: a }) => {
|
|
10
|
+
const [s, c] = x(!1), i = async () => {
|
|
11
11
|
if (r)
|
|
12
12
|
try {
|
|
13
|
-
await navigator.clipboard.writeText(r),
|
|
14
|
-
} catch (
|
|
15
|
-
console.error("Failed to copy text:",
|
|
13
|
+
await navigator.clipboard.writeText(r), c(!0), setTimeout(() => c(!1), 2e3), o == null || o();
|
|
14
|
+
} catch (l) {
|
|
15
|
+
console.error("Failed to copy text:", l);
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
return r ? /* @__PURE__ */ e.jsx(
|
|
18
|
+
return r ? /* @__PURE__ */ e.jsx(d, { sx: { p: 2, border: "1px dashed", borderColor: "divider" }, ...a, children: /* @__PURE__ */ e.jsxs(m, { sx: { position: "relative" }, children: [
|
|
19
19
|
/* @__PURE__ */ e.jsx(
|
|
20
20
|
h,
|
|
21
21
|
{
|
|
22
|
-
onClick:
|
|
22
|
+
onClick: i,
|
|
23
23
|
size: "small",
|
|
24
24
|
sx: {
|
|
25
25
|
position: "absolute",
|
|
@@ -31,7 +31,7 @@ const p = c(/* @__PURE__ */ e.jsx("path", {
|
|
|
31
31
|
color: s ? "success.main" : "inherit"
|
|
32
32
|
// Green when copied
|
|
33
33
|
},
|
|
34
|
-
children: s ? /* @__PURE__ */ e.jsx(
|
|
34
|
+
children: s ? /* @__PURE__ */ e.jsx(f, {}) : /* @__PURE__ */ e.jsx(j, {})
|
|
35
35
|
}
|
|
36
36
|
),
|
|
37
37
|
/* @__PURE__ */ e.jsx(
|
|
@@ -39,14 +39,8 @@ const p = c(/* @__PURE__ */ e.jsx("path", {
|
|
|
39
39
|
{
|
|
40
40
|
variant: "body1",
|
|
41
41
|
sx: {
|
|
42
|
-
marginBottom: 0,
|
|
43
42
|
whiteSpace: "pre-wrap",
|
|
44
43
|
// Preserve whitespace and line breaks
|
|
45
|
-
padding: 2,
|
|
46
|
-
// Inner spacing
|
|
47
|
-
borderRadius: 1,
|
|
48
|
-
border: "1px solid var(--s-palette-divider)",
|
|
49
|
-
// Theme-aware border
|
|
50
44
|
wordBreak: "break-word",
|
|
51
45
|
// Handle long words gracefully
|
|
52
46
|
...t == null ? void 0 : t.sx
|
|
@@ -5,8 +5,8 @@ import { Dialog as g, DialogTitle as j, Stack as D, IconButton as v, DialogConte
|
|
|
5
5
|
import { useDialog as k } from "../hooks/use-dialog.js";
|
|
6
6
|
import { T as m } from "../Typography-CeAbQ9LX.js";
|
|
7
7
|
const w = ({
|
|
8
|
-
title:
|
|
9
|
-
content:
|
|
8
|
+
title: e,
|
|
9
|
+
content: o,
|
|
10
10
|
onConfirm: s = () => {
|
|
11
11
|
},
|
|
12
12
|
onClose: i = () => {
|
|
@@ -16,17 +16,17 @@ const w = ({
|
|
|
16
16
|
showClose: c = !0,
|
|
17
17
|
loading: l = !1
|
|
18
18
|
}) => /* @__PURE__ */ n.jsxs(g, { fullWidth: !0, maxWidth: a, onClose: i, open: t, children: [
|
|
19
|
-
|
|
20
|
-
typeof
|
|
19
|
+
e && /* @__PURE__ */ n.jsx(j, { children: /* @__PURE__ */ n.jsxs(D, { direction: "row", spacing: 3, sx: { alignItems: "center", justifyContent: "space-between" }, children: [
|
|
20
|
+
typeof e == "string" ? /* @__PURE__ */ n.jsx(m, { variant: "h5", textTransform: "capitalize", children: e }) : /* @__PURE__ */ n.jsx("div", { children: e }),
|
|
21
21
|
c && /* @__PURE__ */ n.jsx(v, { onClick: i, children: /* @__PURE__ */ n.jsx(p, {}) })
|
|
22
22
|
] }) }),
|
|
23
|
-
|
|
23
|
+
o && /* @__PURE__ */ n.jsx(y, { children: typeof o == "string" ? /* @__PURE__ */ n.jsx(m, { color: "text.secondary", variant: "body2", children: o }) : o }),
|
|
24
24
|
/* @__PURE__ */ n.jsx(b, { children: /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
|
|
25
25
|
/* @__PURE__ */ n.jsx(d, { onClick: i, variant: "outlined", disabled: l, children: "Cancel" }),
|
|
26
|
-
/* @__PURE__ */ n.jsx(d, { onClick: s,
|
|
26
|
+
/* @__PURE__ */ n.jsx(d, { onClick: s, loading: l, children: "Confirm" })
|
|
27
27
|
] }) })
|
|
28
|
-
] }), f = r.createContext(null), E = ({ children:
|
|
29
|
-
const
|
|
28
|
+
] }), f = r.createContext(null), E = ({ children: e }) => {
|
|
29
|
+
const o = k(), [s, i] = r.useState(!1), [t, a] = r.useState({
|
|
30
30
|
title: "",
|
|
31
31
|
content: "",
|
|
32
32
|
onConfirm: () => {
|
|
@@ -35,12 +35,12 @@ const w = ({
|
|
|
35
35
|
handleOpen: r.useCallback(
|
|
36
36
|
(x) => {
|
|
37
37
|
const { title: C, content: h, onConfirm: u } = x;
|
|
38
|
-
a({ title: C, content: h, onConfirm: u }),
|
|
38
|
+
a({ title: C, content: h, onConfirm: u }), o.handleOpen();
|
|
39
39
|
},
|
|
40
|
-
[
|
|
40
|
+
[o]
|
|
41
41
|
),
|
|
42
|
-
handleClose:
|
|
43
|
-
open:
|
|
42
|
+
handleClose: o.handleClose,
|
|
43
|
+
open: o.open,
|
|
44
44
|
loading: s,
|
|
45
45
|
setLoading: i
|
|
46
46
|
}, l = () => {
|
|
@@ -50,21 +50,21 @@ const w = ({
|
|
|
50
50
|
/* @__PURE__ */ n.jsx(
|
|
51
51
|
w,
|
|
52
52
|
{
|
|
53
|
-
open:
|
|
53
|
+
open: o.open,
|
|
54
54
|
title: t == null ? void 0 : t.title,
|
|
55
55
|
content: t == null ? void 0 : t.content,
|
|
56
|
-
onClose:
|
|
56
|
+
onClose: o.handleClose,
|
|
57
57
|
onConfirm: l,
|
|
58
58
|
loading: s
|
|
59
59
|
}
|
|
60
60
|
),
|
|
61
|
-
|
|
61
|
+
e
|
|
62
62
|
] });
|
|
63
63
|
}, O = () => {
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
64
|
+
const e = r.useContext(f);
|
|
65
|
+
if (!e)
|
|
66
66
|
throw new Error("useDialogConfirm must be used within a DialogConfirmProvider");
|
|
67
|
-
return
|
|
67
|
+
return e;
|
|
68
68
|
};
|
|
69
69
|
export {
|
|
70
70
|
E as DialogConfirmProvider,
|
|
@@ -15,8 +15,8 @@ export type CustomFile = File | FileWithPath | {
|
|
|
15
15
|
* Props for the SFileDropzone component, extending react-dropzone options
|
|
16
16
|
*/
|
|
17
17
|
export interface SFileDropzoneProps extends DropzoneOptions {
|
|
18
|
-
/** Additional
|
|
19
|
-
|
|
18
|
+
/** Additional hint text displayed below the main upload message */
|
|
19
|
+
hint?: string;
|
|
20
20
|
/** Array of files currently selected/uploaded */
|
|
21
21
|
files?: CustomFile[];
|
|
22
22
|
/** Callback when a single file is removed */
|
|
@@ -52,7 +52,7 @@ export interface SFileDropzoneProps extends DropzoneOptions {
|
|
|
52
52
|
* Built on react-dropzone for robust file handling and supports all dropzone options
|
|
53
53
|
* including file type restrictions, size limits, and custom validation.
|
|
54
54
|
*
|
|
55
|
-
* @param
|
|
55
|
+
* @param hint - Additional descriptive text below main upload message
|
|
56
56
|
* @param label - Form field label
|
|
57
57
|
* @param error - Error message to display when validation fails
|
|
58
58
|
* @param onRemoveAll - Handler for removing all selected files
|
|
@@ -68,7 +68,7 @@ export interface SFileDropzoneProps extends DropzoneOptions {
|
|
|
68
68
|
* ```tsx
|
|
69
69
|
* <SFileDropzone
|
|
70
70
|
* label="Upload Documents"
|
|
71
|
-
*
|
|
71
|
+
* hint="PDF, DOC, or TXT files only"
|
|
72
72
|
* accept={{
|
|
73
73
|
* 'application/pdf': ['.pdf'],
|
|
74
74
|
* 'application/msword': ['.doc', '.docx'],
|
|
@@ -83,5 +83,5 @@ export interface SFileDropzoneProps extends DropzoneOptions {
|
|
|
83
83
|
* />
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
86
|
-
declare const SFileDropzone: ({
|
|
86
|
+
declare const SFileDropzone: ({ hint, label, error, onRemoveAll, onUpload, onRemove, required, disabledUpload, isShowBtnRemoveAll, ...props }: SFileDropzoneProps) => React.JSX.Element;
|
|
87
87
|
export default SFileDropzone;
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
import { j as e } from "../jsx-runtime-DywqP_6a.js";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import S from "
|
|
6
|
-
import k from "../s-
|
|
7
|
-
import
|
|
2
|
+
import * as y from "react";
|
|
3
|
+
import { c as d } from "../createSvgIcon-9XY7lJan.js";
|
|
4
|
+
import { Avatar as b, Tooltip as C, IconButton as I, Button as z } from "@mui/material";
|
|
5
|
+
import { useDropzone as S } from "react-dropzone";
|
|
6
|
+
import k from "../s-file-icon/s-file-icon.js";
|
|
7
|
+
import w from "../s-form/s-form.js";
|
|
8
|
+
import { bytesToSize as B } from "../utils/bytes-to-size.js";
|
|
9
|
+
import { B as c } from "../Box-Bfkq7uIw.js";
|
|
8
10
|
import { S as t } from "../Stack-W0weBtf9.js";
|
|
9
|
-
import { B as d } from "../Box-Bfkq7uIw.js";
|
|
10
11
|
import { T as o } from "../Typography-CeAbQ9LX.js";
|
|
11
|
-
const
|
|
12
|
+
const D = d(/* @__PURE__ */ e.jsx("path", {
|
|
12
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"
|
|
13
|
-
}), "CloseOutlined"),
|
|
14
|
+
}), "CloseOutlined"), F = d(/* @__PURE__ */ e.jsx("path", {
|
|
14
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"
|
|
15
|
-
}), "CloudUploadOutlined"),
|
|
16
|
-
|
|
16
|
+
}), "CloudUploadOutlined"), J = ({
|
|
17
|
+
hint: p,
|
|
17
18
|
label: x = "",
|
|
18
19
|
error: m,
|
|
19
|
-
onRemoveAll:
|
|
20
|
+
onRemoveAll: h,
|
|
20
21
|
onUpload: M,
|
|
21
22
|
onRemove: s,
|
|
22
|
-
required:
|
|
23
|
+
required: u = !1,
|
|
23
24
|
disabledUpload: O = !1,
|
|
24
25
|
isShowBtnRemoveAll: j = !1,
|
|
25
26
|
...n
|
|
26
27
|
}) => {
|
|
27
|
-
var a,
|
|
28
|
-
const { getRootProps:
|
|
29
|
-
return /* @__PURE__ */ e.jsxs(
|
|
30
|
-
/* @__PURE__ */ e.jsx(
|
|
31
|
-
|
|
28
|
+
var a, l;
|
|
29
|
+
const { getRootProps: f, getInputProps: g, isDragActive: i } = S(n);
|
|
30
|
+
return /* @__PURE__ */ e.jsxs(y.Fragment, { children: [
|
|
31
|
+
/* @__PURE__ */ e.jsx(w, { error: m, label: x, required: u, hint: p, children: /* @__PURE__ */ e.jsxs(
|
|
32
|
+
c,
|
|
32
33
|
{
|
|
33
34
|
sx: {
|
|
34
35
|
alignItems: "center",
|
|
@@ -41,45 +42,43 @@ const B = p(/* @__PURE__ */ e.jsx("path", {
|
|
|
41
42
|
outline: "none",
|
|
42
43
|
p: 4,
|
|
43
44
|
// Visual feedback when files are being dragged over
|
|
44
|
-
...
|
|
45
|
+
...i && {
|
|
45
46
|
bgcolor: "var(--s-palette-action-selected)",
|
|
46
47
|
opacity: 0.5
|
|
47
48
|
},
|
|
48
49
|
// Hover effect when not actively dragging
|
|
49
50
|
"&:hover": {
|
|
50
|
-
...!
|
|
51
|
+
...!i && {
|
|
51
52
|
bgcolor: "var(--s-palette-action-hover)"
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
},
|
|
55
|
-
...
|
|
56
|
+
...f(),
|
|
56
57
|
children: [
|
|
57
|
-
/* @__PURE__ */ e.jsx("input", { ...
|
|
58
|
-
/* @__PURE__ */ e.jsxs(t, { direction: "row", spacing:
|
|
58
|
+
/* @__PURE__ */ e.jsx("input", { ...g() }),
|
|
59
|
+
/* @__PURE__ */ e.jsxs(t, { direction: "row", spacing: 1, sx: { alignItems: "center" }, children: [
|
|
59
60
|
/* @__PURE__ */ e.jsx(
|
|
60
|
-
|
|
61
|
+
b,
|
|
61
62
|
{
|
|
62
63
|
sx: {
|
|
63
|
-
|
|
64
|
-
color: "var(--s-palette-text-secondary)"
|
|
64
|
+
border: "1px dashed var(--s-palette-divider)",
|
|
65
|
+
color: "var(--s-palette-text-secondary)",
|
|
66
|
+
backgroundColor: "transparent"
|
|
65
67
|
},
|
|
66
|
-
children: /* @__PURE__ */ e.jsx(
|
|
68
|
+
children: /* @__PURE__ */ e.jsx(F, { fontSize: "small" })
|
|
67
69
|
}
|
|
68
70
|
),
|
|
69
|
-
/* @__PURE__ */ e.
|
|
70
|
-
/* @__PURE__ */ e.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
] }),
|
|
75
|
-
i ? /* @__PURE__ */ e.jsx(o, { color: "text.secondary", variant: "body2", children: i }) : null
|
|
76
|
-
] })
|
|
71
|
+
/* @__PURE__ */ e.jsx(t, { spacing: 1, children: /* @__PURE__ */ e.jsxs(o, { color: "text.secondary", variant: "body2", children: [
|
|
72
|
+
/* @__PURE__ */ e.jsx(o, { component: "span", sx: { textDecoration: "underline" }, variant: "inherit", children: "Click to upload" }),
|
|
73
|
+
" ",
|
|
74
|
+
"or drag and drop your files here"
|
|
75
|
+
] }) })
|
|
77
76
|
] })
|
|
78
77
|
]
|
|
79
78
|
}
|
|
80
79
|
) }),
|
|
81
|
-
(a = n.files) != null && a.length ? /* @__PURE__ */ e.jsxs(t, { mt:
|
|
82
|
-
/* @__PURE__ */ e.jsx(t, { component: "ul", spacing: 1, sx: { listStyle: "none", m: 0, p: 0 }, children: (
|
|
80
|
+
(a = n.files) != null && a.length ? /* @__PURE__ */ e.jsxs(t, { mt: 1, spacing: 1, children: [
|
|
81
|
+
/* @__PURE__ */ e.jsx(t, { component: "ul", spacing: 1, sx: { listStyle: "none", m: 0, p: 0 }, children: (l = n.files) == null ? void 0 : l.map((r) => {
|
|
83
82
|
const v = r.name.split(".").pop();
|
|
84
83
|
return /* @__PURE__ */ e.jsxs(
|
|
85
84
|
t,
|
|
@@ -95,18 +94,18 @@ const B = p(/* @__PURE__ */ e.jsx("path", {
|
|
|
95
94
|
p: 1
|
|
96
95
|
},
|
|
97
96
|
children: [
|
|
98
|
-
/* @__PURE__ */ e.jsx(
|
|
99
|
-
/* @__PURE__ */ e.jsxs(
|
|
97
|
+
/* @__PURE__ */ e.jsx(k, { extension: v }),
|
|
98
|
+
/* @__PURE__ */ e.jsxs(c, { sx: { flex: "1 1 auto" }, children: [
|
|
100
99
|
/* @__PURE__ */ e.jsx(o, { variant: "subtitle2", children: r.name }),
|
|
101
|
-
/* @__PURE__ */ e.jsx(o, { color: "text.secondary", variant: "body2", children:
|
|
100
|
+
/* @__PURE__ */ e.jsx(o, { color: "text.secondary", variant: "body2", children: B(r.size) })
|
|
102
101
|
] }),
|
|
103
|
-
/* @__PURE__ */ e.jsx(
|
|
104
|
-
|
|
102
|
+
/* @__PURE__ */ e.jsx(C, { title: "Remove", children: /* @__PURE__ */ e.jsx(
|
|
103
|
+
I,
|
|
105
104
|
{
|
|
106
105
|
onClick: () => {
|
|
107
106
|
s == null || s(r);
|
|
108
107
|
},
|
|
109
|
-
children: /* @__PURE__ */ e.jsx(
|
|
108
|
+
children: /* @__PURE__ */ e.jsx(D, {})
|
|
110
109
|
}
|
|
111
110
|
) })
|
|
112
111
|
]
|
|
@@ -114,10 +113,10 @@ const B = p(/* @__PURE__ */ e.jsx("path", {
|
|
|
114
113
|
r.size
|
|
115
114
|
);
|
|
116
115
|
}) }),
|
|
117
|
-
/* @__PURE__ */ e.jsx(t, { direction: "row",
|
|
116
|
+
/* @__PURE__ */ e.jsx(t, { direction: "row", sx: { alignItems: "center", justifyContent: "flex-end" }, children: j && /* @__PURE__ */ e.jsx(z, { onClick: h, size: "small", type: "button", variant: "text", children: "Remove all" }) })
|
|
118
117
|
] }) : null
|
|
119
118
|
] });
|
|
120
119
|
};
|
|
121
120
|
export {
|
|
122
|
-
|
|
121
|
+
J as default
|
|
123
122
|
};
|