@vkzstudio/muza-ui 1.0.19 → 1.0.21
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/components/Dialog/Dialog.js +1 -1
- package/dist/components/FileUpload/FileUpload.d.ts +4 -0
- package/dist/components/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +74 -70
- package/dist/components/FileUpload/FileUpload.stories.d.ts.map +1 -1
- package/dist/components/FormField/FormField.d.ts +4 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +62 -49
- package/dist/components/Input/Input.d.ts +4 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +25 -21
- package/dist/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts +4 -0
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +42 -38
- package/dist/components/MultiSelect/MultiSelect.stories.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts +4 -0
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +36 -32
- package/dist/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/components/TextEditor/TextEditor.d.ts.map +1 -1
- package/dist/components/TextEditor/TextEditor.js +66 -71
- package/dist/components/TextEditor/ToolbarButton.js +6 -6
- package/dist/components/Textarea/Textarea.d.ts +7 -1
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +71 -38
- package/dist/components/Textarea/Textarea.stories.d.ts +1 -0
- package/dist/components/Textarea/Textarea.stories.d.ts.map +1 -1
- package/dist/muza-ui.css +1 -1
- package/dist/styles/primitives.css +2 -0
- package/dist/styles/token-colors.css +10 -4
- package/dist/styles/token-sizes.css +201 -17
- package/dist/styles/white-label.css +1 -0
- package/package.json +1 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as r, jsxs as u } from "react/jsx-runtime";
|
|
2
|
-
import f, { forwardRef as
|
|
3
|
-
import { triggerWrapperVariants as
|
|
4
|
-
import { useMuzaTranslations as
|
|
2
|
+
import f, { forwardRef as V, useId as $, useMemo as T, useRef as _, useEffect as B } from "react";
|
|
3
|
+
import { triggerWrapperVariants as L } from "../Select/utils.js";
|
|
4
|
+
import { useMuzaTranslations as P } from "../../translations/TranslationContext.js";
|
|
5
5
|
import { Tag as p } from "../Tag/Tag.js";
|
|
6
|
-
import { FormField as
|
|
7
|
-
import { DropdownMenu as
|
|
8
|
-
import { Typography as
|
|
9
|
-
import { AltArrowUpOutline as
|
|
10
|
-
import { cn as
|
|
11
|
-
const
|
|
6
|
+
import { FormField as U } from "../FormField/FormField.js";
|
|
7
|
+
import { DropdownMenu as G, DropdownMenuTrigger as H, DropdownMenuContent as J, DropdownMenuCheckboxItem as K } from "../DropdownMenu/DropdownMenu.js";
|
|
8
|
+
import { Typography as Q } from "../Typography/Typography.js";
|
|
9
|
+
import { AltArrowUpOutline as X } from "@solar-icons/react-perf";
|
|
10
|
+
import { cn as Y } from "../../utils/cn.js";
|
|
11
|
+
const Z = V(
|
|
12
12
|
(I, h) => {
|
|
13
|
-
const z =
|
|
13
|
+
const z = P(), {
|
|
14
14
|
label: x,
|
|
15
15
|
hint: g,
|
|
16
16
|
error: b,
|
|
17
17
|
options: c,
|
|
18
|
-
onChange:
|
|
18
|
+
onChange: l,
|
|
19
19
|
value: t,
|
|
20
20
|
disabled: o,
|
|
21
21
|
prefix: d,
|
|
@@ -23,25 +23,27 @@ const X = F(
|
|
|
23
23
|
size: D,
|
|
24
24
|
placeholder: S,
|
|
25
25
|
required: v,
|
|
26
|
-
disableRequiredAsterisk: W
|
|
27
|
-
|
|
26
|
+
disableRequiredAsterisk: W,
|
|
27
|
+
labelExtra: k,
|
|
28
|
+
infoTooltip: A
|
|
29
|
+
} = I, w = S ?? z.select.placeholder, N = $(), C = x ? `${N}-label` : void 0, O = g ? `${N}-hint` : void 0, M = T(() => new Map(c.map((e) => [e.value, e.label])), [c]), j = T(() => {
|
|
28
30
|
const e = t && t.map((n) => M.get(n));
|
|
29
|
-
return e != null && e.length ? e.length <= i ? /* @__PURE__ */ r("div", { className: "flex flex-1 items-start justify-start gap-xs", children: e.map((n,
|
|
30
|
-
...e.slice(0, i).map((n,
|
|
31
|
+
return e != null && e.length ? e.length <= i ? /* @__PURE__ */ r("div", { className: "flex flex-1 items-start justify-start gap-xs", children: e.map((n, s) => /* @__PURE__ */ r(p, { variant: "info", className: "max-w-[72px]", children: n }, s)) }) : /* @__PURE__ */ r("div", { className: "flex flex-1 items-center gap-xs", children: [
|
|
32
|
+
...e.slice(0, i).map((n, s) => /* @__PURE__ */ r(
|
|
31
33
|
p,
|
|
32
34
|
{
|
|
33
35
|
variant: "info",
|
|
34
36
|
className: "max-w-[72px] overflow-hidden",
|
|
35
37
|
children: /* @__PURE__ */ r("span", { className: "truncate", children: n })
|
|
36
38
|
},
|
|
37
|
-
|
|
39
|
+
s
|
|
38
40
|
)),
|
|
39
41
|
/* @__PURE__ */ u(p, { variant: "info", children: [
|
|
40
42
|
e.length - i,
|
|
41
43
|
"+"
|
|
42
44
|
] }, "more")
|
|
43
45
|
] }) : /* @__PURE__ */ r(
|
|
44
|
-
|
|
46
|
+
Q,
|
|
45
47
|
{
|
|
46
48
|
size: "input",
|
|
47
49
|
className: "grow-1 fix-y-text truncate text-left text-comp-select-text-placeholder",
|
|
@@ -50,43 +52,45 @@ const X = F(
|
|
|
50
52
|
children: w
|
|
51
53
|
}
|
|
52
54
|
);
|
|
53
|
-
}, [t, w, i, M]), [y,
|
|
54
|
-
return
|
|
55
|
+
}, [t, w, i, M]), [y, q] = f.useState(!1), [R, E] = f.useState(0), m = f.useRef(!1), F = _(null), a = (typeof h == "function" ? null : h) ?? F;
|
|
56
|
+
return B(() => {
|
|
55
57
|
const e = () => {
|
|
56
|
-
|
|
58
|
+
a.current && E(a.current.offsetWidth);
|
|
57
59
|
};
|
|
58
60
|
e();
|
|
59
61
|
const n = new ResizeObserver(e);
|
|
60
|
-
return
|
|
62
|
+
return a.current && n.observe(a.current), () => {
|
|
61
63
|
n.disconnect();
|
|
62
64
|
};
|
|
63
|
-
}, [
|
|
64
|
-
|
|
65
|
+
}, [a]), /* @__PURE__ */ r(
|
|
66
|
+
U,
|
|
65
67
|
{
|
|
66
68
|
label: x,
|
|
67
69
|
hint: g,
|
|
68
70
|
error: b,
|
|
69
71
|
required: v,
|
|
70
72
|
disableRequiredAsterisk: W,
|
|
71
|
-
labelId:
|
|
72
|
-
hintId:
|
|
73
|
+
labelId: C,
|
|
74
|
+
hintId: O,
|
|
75
|
+
labelExtra: k,
|
|
76
|
+
infoTooltip: A,
|
|
73
77
|
children: /* @__PURE__ */ u(
|
|
74
|
-
|
|
78
|
+
G,
|
|
75
79
|
{
|
|
76
80
|
onOpenChange: (e) => {
|
|
77
|
-
|
|
81
|
+
q(e);
|
|
78
82
|
},
|
|
79
83
|
children: [
|
|
80
|
-
/* @__PURE__ */ r(
|
|
84
|
+
/* @__PURE__ */ r(H, { disabled: o, asChild: !0, children: /* @__PURE__ */ r(
|
|
81
85
|
"button",
|
|
82
86
|
{
|
|
83
|
-
ref:
|
|
87
|
+
ref: a,
|
|
84
88
|
type: "button",
|
|
85
89
|
role: "input",
|
|
86
90
|
tabIndex: 0,
|
|
87
91
|
disabled: o,
|
|
88
92
|
"aria-required": v,
|
|
89
|
-
className:
|
|
93
|
+
className: L({
|
|
90
94
|
size: D,
|
|
91
95
|
error: b,
|
|
92
96
|
expanded: y,
|
|
@@ -100,11 +104,11 @@ const X = F(
|
|
|
100
104
|
children: d
|
|
101
105
|
}
|
|
102
106
|
),
|
|
103
|
-
|
|
107
|
+
j,
|
|
104
108
|
/* @__PURE__ */ r(
|
|
105
|
-
|
|
109
|
+
X,
|
|
106
110
|
{
|
|
107
|
-
className:
|
|
111
|
+
className: Y(
|
|
108
112
|
"transition-transform duration-200",
|
|
109
113
|
y ? "rotate-0" : "rotate-180"
|
|
110
114
|
)
|
|
@@ -114,7 +118,7 @@ const X = F(
|
|
|
114
118
|
}
|
|
115
119
|
) }),
|
|
116
120
|
/* @__PURE__ */ r(
|
|
117
|
-
|
|
121
|
+
J,
|
|
118
122
|
{
|
|
119
123
|
className: "mt-1",
|
|
120
124
|
style: {
|
|
@@ -124,13 +128,13 @@ const X = F(
|
|
|
124
128
|
m.current || e.preventDefault(), m.current = !1;
|
|
125
129
|
},
|
|
126
130
|
children: c.map((e) => /* @__PURE__ */ r(
|
|
127
|
-
|
|
131
|
+
K,
|
|
128
132
|
{
|
|
129
133
|
checked: t == null ? void 0 : t.includes(e.value),
|
|
130
134
|
disabled: e.disabled,
|
|
131
135
|
icon: e.icon,
|
|
132
136
|
onCheckedChange: (n) => {
|
|
133
|
-
n ?
|
|
137
|
+
n ? l == null || l([...t || [], e.value]) : l == null || l((t || []).filter((s) => s !== e.value)), m.current = !0;
|
|
134
138
|
},
|
|
135
139
|
children: e.label
|
|
136
140
|
},
|
|
@@ -145,7 +149,7 @@ const X = F(
|
|
|
145
149
|
);
|
|
146
150
|
}
|
|
147
151
|
);
|
|
148
|
-
|
|
152
|
+
Z.displayName = "MultiSelect";
|
|
149
153
|
export {
|
|
150
|
-
|
|
154
|
+
Z as MultiSelect
|
|
151
155
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelect/MultiSelect.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAqB3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,
|
|
1
|
+
{"version":3,"file":"MultiSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelect/MultiSelect.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAqB3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAsHlC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAsBlC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAmB9B,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAkBvB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAiDtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAoBzB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAqB5B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAgBxB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAuBzB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KA2C5B,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAoDhC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAkCjC,CAAA"}
|
|
@@ -46,6 +46,10 @@ export interface ISelectProps {
|
|
|
46
46
|
shouldScrollToSelectedOption?: boolean;
|
|
47
47
|
/** Distance in pixels from viewport edge before the dropdown repositions. Passed to Radix collision padding. */
|
|
48
48
|
collisionPadding?: number;
|
|
49
|
+
/** Extra content rendered inline next to the label (e.g. a tooltip icon). */
|
|
50
|
+
labelExtra?: ReactNode;
|
|
51
|
+
/** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
|
|
52
|
+
infoTooltip?: string;
|
|
49
53
|
}
|
|
50
54
|
export declare const Select: React.ForwardRefExoticComponent<ISelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
51
55
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAed,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;;;;;;OAUG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,SAAS,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB,CAAC,CAAA;IACF,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,8EAA8E;IAC9E,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,gHAAgH;IAChH,gBAAgB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAed,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;;;;;;OAUG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,SAAS,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB,CAAC,CAAA;IACF,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,8EAA8E;IAC9E,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,gHAAgH;IAChH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,MAAM,wFA0LlB,CAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as t, jsxs as y } from "react/jsx-runtime";
|
|
2
|
-
import u, { forwardRef as
|
|
3
|
-
import { triggerWrapperVariants as
|
|
4
|
-
import { useMuzaTranslations as
|
|
5
|
-
import { FormField as
|
|
6
|
-
import { Typography as
|
|
7
|
-
import { DropdownMenu as
|
|
8
|
-
import { AltArrowUpOutline as
|
|
9
|
-
import { cn as
|
|
10
|
-
const
|
|
11
|
-
(
|
|
12
|
-
const
|
|
2
|
+
import u, { forwardRef as k, useId as P, useMemo as _, useRef as N, useEffect as S } from "react";
|
|
3
|
+
import { triggerWrapperVariants as B } from "./utils.js";
|
|
4
|
+
import { useMuzaTranslations as G } from "../../translations/TranslationContext.js";
|
|
5
|
+
import { FormField as L } from "../FormField/FormField.js";
|
|
6
|
+
import { Typography as T } from "../Typography/Typography.js";
|
|
7
|
+
import { DropdownMenu as U, DropdownMenuTrigger as H, DropdownMenuContent as J, DropdownMenuRadioGroup as K, DropdownMenuRadioItem as Q } from "../DropdownMenu/DropdownMenu.js";
|
|
8
|
+
import { AltArrowUpOutline as X } from "@solar-icons/react-perf";
|
|
9
|
+
import { cn as Y } from "../../utils/cn.js";
|
|
10
|
+
const Z = k(
|
|
11
|
+
(I, p) => {
|
|
12
|
+
const M = G(), {
|
|
13
13
|
label: f,
|
|
14
14
|
hint: m,
|
|
15
15
|
error: h,
|
|
@@ -23,11 +23,13 @@ const X = j(
|
|
|
23
23
|
shouldScrollToSelectedOption: x,
|
|
24
24
|
collisionPadding: O,
|
|
25
25
|
required: b,
|
|
26
|
-
disableRequiredAsterisk: W
|
|
27
|
-
|
|
26
|
+
disableRequiredAsterisk: W,
|
|
27
|
+
labelExtra: A,
|
|
28
|
+
infoTooltip: C
|
|
29
|
+
} = I, w = D ?? M.select.placeholder, v = P(), V = f ? `${v}-label` : void 0, q = m ? `${v}-hint` : void 0, E = _(() => {
|
|
28
30
|
const e = r && i.find((o) => o.value === r);
|
|
29
31
|
return e ? typeof e.label != "function" ? /* @__PURE__ */ t(
|
|
30
|
-
|
|
32
|
+
T,
|
|
31
33
|
{
|
|
32
34
|
size: "input",
|
|
33
35
|
className: "grow-1 fix-y-text truncate text-left text-comp-select-text-primary",
|
|
@@ -36,7 +38,7 @@ const X = j(
|
|
|
36
38
|
children: e.label
|
|
37
39
|
}
|
|
38
40
|
) : e.label : /* @__PURE__ */ t(
|
|
39
|
-
|
|
41
|
+
T,
|
|
40
42
|
{
|
|
41
43
|
size: "input",
|
|
42
44
|
className: "grow-1 fix-y-text truncate text-left text-comp-select-text-placeholder",
|
|
@@ -45,10 +47,10 @@ const X = j(
|
|
|
45
47
|
children: w
|
|
46
48
|
}
|
|
47
49
|
);
|
|
48
|
-
}, [i, r, w]), [l,
|
|
50
|
+
}, [i, r, w]), [l, F] = u.useState(!1), [R, $] = u.useState(0), c = u.useRef(!1), j = N(null), d = N({}), n = (typeof p == "function" ? null : p) ?? j;
|
|
49
51
|
return S(() => {
|
|
50
52
|
const e = () => {
|
|
51
|
-
n.current &&
|
|
53
|
+
n.current && $(n.current.offsetWidth);
|
|
52
54
|
};
|
|
53
55
|
e();
|
|
54
56
|
const o = new ResizeObserver(e);
|
|
@@ -59,24 +61,26 @@ const X = j(
|
|
|
59
61
|
var e;
|
|
60
62
|
l && r && d.current[r] && x && ((e = d.current[r]) == null || e.scrollIntoView({ block: "nearest" }));
|
|
61
63
|
}, [l, x, r]), /* @__PURE__ */ t(
|
|
62
|
-
|
|
64
|
+
L,
|
|
63
65
|
{
|
|
64
66
|
label: f,
|
|
65
67
|
hint: m,
|
|
66
68
|
error: h,
|
|
67
69
|
required: b,
|
|
68
70
|
disableRequiredAsterisk: W,
|
|
69
|
-
labelId:
|
|
70
|
-
hintId:
|
|
71
|
+
labelId: V,
|
|
72
|
+
hintId: q,
|
|
73
|
+
labelExtra: A,
|
|
74
|
+
infoTooltip: C,
|
|
71
75
|
className: "flex-1",
|
|
72
76
|
children: /* @__PURE__ */ y(
|
|
73
|
-
|
|
77
|
+
U,
|
|
74
78
|
{
|
|
75
79
|
onOpenChange: (e) => {
|
|
76
|
-
|
|
80
|
+
F(e);
|
|
77
81
|
},
|
|
78
82
|
children: [
|
|
79
|
-
/* @__PURE__ */ t(
|
|
83
|
+
/* @__PURE__ */ t(H, { disabled: a, asChild: !0, children: /* @__PURE__ */ t(
|
|
80
84
|
"button",
|
|
81
85
|
{
|
|
82
86
|
ref: n,
|
|
@@ -85,7 +89,7 @@ const X = j(
|
|
|
85
89
|
tabIndex: 0,
|
|
86
90
|
disabled: a,
|
|
87
91
|
"aria-required": b,
|
|
88
|
-
className:
|
|
92
|
+
className: B({ size: z, error: h, expanded: l }),
|
|
89
93
|
children: /* @__PURE__ */ y("div", { className: "flex min-w-0 flex-1 items-center gap-sm", children: [
|
|
90
94
|
g && /* @__PURE__ */ t(
|
|
91
95
|
"span",
|
|
@@ -94,11 +98,11 @@ const X = j(
|
|
|
94
98
|
children: g
|
|
95
99
|
}
|
|
96
100
|
),
|
|
97
|
-
|
|
101
|
+
E,
|
|
98
102
|
/* @__PURE__ */ t(
|
|
99
|
-
|
|
103
|
+
X,
|
|
100
104
|
{
|
|
101
|
-
className:
|
|
105
|
+
className: Y(
|
|
102
106
|
"transition-transform duration-200",
|
|
103
107
|
l ? "rotate-0" : "rotate-180"
|
|
104
108
|
)
|
|
@@ -108,7 +112,7 @@ const X = j(
|
|
|
108
112
|
}
|
|
109
113
|
) }),
|
|
110
114
|
/* @__PURE__ */ t(
|
|
111
|
-
|
|
115
|
+
J,
|
|
112
116
|
{
|
|
113
117
|
className: "mt-1",
|
|
114
118
|
style: {
|
|
@@ -119,14 +123,14 @@ const X = j(
|
|
|
119
123
|
},
|
|
120
124
|
collisionPadding: O,
|
|
121
125
|
children: /* @__PURE__ */ t(
|
|
122
|
-
|
|
126
|
+
K,
|
|
123
127
|
{
|
|
124
128
|
value: r,
|
|
125
129
|
onValueChange: (e) => {
|
|
126
130
|
c.current = !0, s == null || s(e);
|
|
127
131
|
},
|
|
128
132
|
children: i.map((e) => /* @__PURE__ */ t(
|
|
129
|
-
|
|
133
|
+
Q,
|
|
130
134
|
{
|
|
131
135
|
value: e.value.toString(),
|
|
132
136
|
disabled: e.disabled,
|
|
@@ -149,7 +153,7 @@ const X = j(
|
|
|
149
153
|
);
|
|
150
154
|
}
|
|
151
155
|
);
|
|
152
|
-
|
|
156
|
+
Z.displayName = "Select";
|
|
153
157
|
export {
|
|
154
|
-
|
|
158
|
+
Z as Select
|
|
155
159
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAS3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"Select.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAS3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAgH7B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAA;AA6BpC,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KA0B9B,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KA0BvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAwB/B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KA0BtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KA0BtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAkDtB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KA0C7B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAgCzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAyBxB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAqDhC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAkCjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGhD,OAAO,EAAE,KAAK,MAAM,EAA4B,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
1
|
+
import { jsx as s, jsxs as k } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as O, useEffect as _, useImperativeHandle as $, useRef as I } from "react";
|
|
3
3
|
import { Link as K } from "../../node_modules/@tiptap/extension-link/dist/index.js";
|
|
4
4
|
import { Placeholder as W } from "../../node_modules/@tiptap/extension-placeholder/dist/index.js";
|
|
5
5
|
import { useEditor as q, EditorContent as D } from "../../node_modules/@tiptap/react/dist/index.js";
|
|
@@ -10,10 +10,8 @@ import { LinkBubbleMenu as X } from "./LinkBubbleMenu.js";
|
|
|
10
10
|
import { useLinkEditor as Y } from "./useLinkEditor.js";
|
|
11
11
|
import { useMuzaTranslations as Z } from "../../translations/TranslationContext.js";
|
|
12
12
|
import { FormField as tt } from "../FormField/FormField.js";
|
|
13
|
-
import { cn as
|
|
14
|
-
|
|
15
|
-
import { InfoCircleBold as nt } from "@solar-icons/react-perf";
|
|
16
|
-
const lt = J(
|
|
13
|
+
import { cn as b } from "../../utils/cn.js";
|
|
14
|
+
const et = J(
|
|
17
15
|
[
|
|
18
16
|
"overflow-hidden rounded-xl border bg-surface-base-secondary transition-colors",
|
|
19
17
|
"focus-within:border-comp-texteditor-stroke-focused",
|
|
@@ -32,41 +30,41 @@ const lt = J(
|
|
|
32
30
|
state: "default"
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
|
-
),
|
|
33
|
+
), rt = O(
|
|
36
34
|
({
|
|
37
|
-
value:
|
|
38
|
-
defaultValue:
|
|
35
|
+
value: i,
|
|
36
|
+
defaultValue: g,
|
|
39
37
|
onChange: d,
|
|
40
|
-
onBlur:
|
|
41
|
-
onFocus:
|
|
42
|
-
placeholder:
|
|
38
|
+
onBlur: y,
|
|
39
|
+
onFocus: v,
|
|
40
|
+
placeholder: L = "",
|
|
43
41
|
label: E,
|
|
44
|
-
hint:
|
|
45
|
-
infoTooltip:
|
|
46
|
-
disabled:
|
|
42
|
+
hint: T,
|
|
43
|
+
infoTooltip: C,
|
|
44
|
+
disabled: o = !1,
|
|
47
45
|
readOnly: c = !1,
|
|
48
46
|
required: M,
|
|
49
47
|
disableRequiredAsterisk: H,
|
|
50
|
-
error:
|
|
48
|
+
error: l,
|
|
51
49
|
toolbar: n = {},
|
|
52
|
-
toolbarExtra:
|
|
50
|
+
toolbarExtra: f,
|
|
53
51
|
extensions: w = [],
|
|
54
52
|
minHeight: z = 200,
|
|
55
53
|
maxHeight: a,
|
|
56
54
|
resizable: P = !0,
|
|
57
|
-
className:
|
|
58
|
-
contentClassName:
|
|
59
|
-
unstyled:
|
|
60
|
-
editorClassName:
|
|
55
|
+
className: R,
|
|
56
|
+
contentClassName: U,
|
|
57
|
+
unstyled: F = !1,
|
|
58
|
+
editorClassName: N
|
|
61
59
|
}, S) => {
|
|
62
|
-
const
|
|
60
|
+
const p = Z(), m = {
|
|
63
61
|
history: n.history ?? !0,
|
|
64
62
|
headings: n.headings ?? !0,
|
|
65
63
|
formatting: n.formatting ?? !0,
|
|
66
64
|
lists: n.lists ?? !0,
|
|
67
65
|
link: n.link ?? !0,
|
|
68
66
|
clearFormatting: n.clearFormatting ?? !0
|
|
69
|
-
}, V = !!
|
|
67
|
+
}, V = !!f || Object.values(m).some((e) => e !== !1), t = q({
|
|
70
68
|
extensions: [
|
|
71
69
|
G.configure({
|
|
72
70
|
heading: { levels: [1, 2, 3] },
|
|
@@ -89,23 +87,23 @@ const lt = J(
|
|
|
89
87
|
})
|
|
90
88
|
] : [],
|
|
91
89
|
W.configure({
|
|
92
|
-
placeholder: ({ editor: e }) => e.state.doc.textContent.length === 0 ?
|
|
90
|
+
placeholder: ({ editor: e }) => e.state.doc.textContent.length === 0 ? L : ""
|
|
93
91
|
}),
|
|
94
92
|
...w
|
|
95
93
|
],
|
|
96
|
-
content:
|
|
97
|
-
editable: !
|
|
94
|
+
content: i ?? g ?? "",
|
|
95
|
+
editable: !o && !c,
|
|
98
96
|
onUpdate: ({ editor: e }) => {
|
|
99
|
-
const
|
|
100
|
-
d == null || d(
|
|
97
|
+
const x = e.getText().trim(), h = e.getHTML();
|
|
98
|
+
d == null || d(x.length === 0 ? "" : h);
|
|
101
99
|
},
|
|
102
|
-
onBlur:
|
|
103
|
-
onFocus:
|
|
100
|
+
onBlur: y,
|
|
101
|
+
onFocus: v,
|
|
104
102
|
editorProps: {
|
|
105
103
|
attributes: {
|
|
106
|
-
class:
|
|
104
|
+
class: b(
|
|
107
105
|
"outline-none text-sm",
|
|
108
|
-
!
|
|
106
|
+
!F && [
|
|
109
107
|
// Headings
|
|
110
108
|
"[&_h1]:text-3xl [&_h1]:font-semibold [&_h1]:text-text-dark-primary-def [&_h1]:my-3",
|
|
111
109
|
"[&_h2]:text-2xl [&_h2]:font-semibold [&_h2]:text-text-dark-primary-def [&_h2]:my-3",
|
|
@@ -125,7 +123,7 @@ const lt = J(
|
|
|
125
123
|
],
|
|
126
124
|
// Placeholder (only when the entire editor is empty — controlled via placeholder function)
|
|
127
125
|
"[&_.is-empty]:before:content-[attr(data-placeholder)] [&_.is-empty]:before:text-comp-input-text-placeholder [&_.is-empty]:before:float-left [&_.is-empty]:before:h-0 [&_.is-empty]:before:pointer-events-none",
|
|
128
|
-
|
|
126
|
+
N
|
|
129
127
|
),
|
|
130
128
|
// Inline styles needed because Tailwind CSS 4 JIT doesn't apply to dynamically created elements
|
|
131
129
|
style: "width: 100%; min-height: 100%; max-width: none;",
|
|
@@ -134,14 +132,14 @@ const lt = J(
|
|
|
134
132
|
}
|
|
135
133
|
}
|
|
136
134
|
});
|
|
137
|
-
|
|
138
|
-
if (t &&
|
|
135
|
+
_(() => {
|
|
136
|
+
if (t && i !== void 0) {
|
|
139
137
|
const e = t.getHTML();
|
|
140
|
-
(
|
|
138
|
+
(i || "<p></p>") !== (e || "<p></p>") && t.commands.setContent(i, !1);
|
|
141
139
|
}
|
|
142
|
-
}, [t,
|
|
143
|
-
t && t.setEditable(!
|
|
144
|
-
}, [t,
|
|
140
|
+
}, [t, i]), _(() => {
|
|
141
|
+
t && t.setEditable(!o && !c);
|
|
142
|
+
}, [t, o, c]), $(
|
|
145
143
|
S,
|
|
146
144
|
() => ({
|
|
147
145
|
editor: t,
|
|
@@ -154,62 +152,59 @@ const lt = J(
|
|
|
154
152
|
}),
|
|
155
153
|
[t]
|
|
156
154
|
);
|
|
157
|
-
const
|
|
155
|
+
const r = Y(t), u = I(null), j = o ? "disabled" : l ? "error" : "default", A = typeof l == "string" ? l : void 0, B = {
|
|
158
156
|
minHeight: `${Math.max(z, 200)}px`,
|
|
159
157
|
maxHeight: a ? typeof a == "number" ? `${a}px` : a : void 0,
|
|
160
|
-
resize: P && !
|
|
158
|
+
resize: P && !o ? "vertical" : "none"
|
|
161
159
|
};
|
|
162
|
-
return /* @__PURE__ */
|
|
160
|
+
return /* @__PURE__ */ s("div", { ref: u, children: /* @__PURE__ */ s(
|
|
163
161
|
tt,
|
|
164
162
|
{
|
|
165
163
|
label: E,
|
|
166
|
-
hint: A ||
|
|
167
|
-
error: !!
|
|
164
|
+
hint: A || T,
|
|
165
|
+
error: !!l,
|
|
168
166
|
required: M,
|
|
169
167
|
disableRequiredAsterisk: H,
|
|
170
|
-
className:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
/* @__PURE__ */
|
|
174
|
-
] }) }) : void 0,
|
|
175
|
-
children: /* @__PURE__ */ f("div", { className: lt({ state: j }), children: [
|
|
176
|
-
V && /* @__PURE__ */ r(
|
|
168
|
+
className: R,
|
|
169
|
+
infoTooltip: C,
|
|
170
|
+
children: /* @__PURE__ */ k("div", { className: et({ state: j }), children: [
|
|
171
|
+
V && /* @__PURE__ */ s(
|
|
177
172
|
Q,
|
|
178
173
|
{
|
|
179
174
|
editor: t,
|
|
180
175
|
toolbarConfig: m,
|
|
181
|
-
disabled:
|
|
182
|
-
translations:
|
|
183
|
-
onLinkClick:
|
|
184
|
-
toolbarExtra:
|
|
176
|
+
disabled: o,
|
|
177
|
+
translations: p.textEditor,
|
|
178
|
+
onLinkClick: r.handleLinkToolbarClick,
|
|
179
|
+
toolbarExtra: f
|
|
185
180
|
}
|
|
186
181
|
),
|
|
187
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ k(
|
|
188
183
|
"div",
|
|
189
184
|
{
|
|
190
|
-
className:
|
|
185
|
+
className: b(
|
|
191
186
|
"relative overflow-auto px-2xl py-xl",
|
|
192
187
|
"mr-[calc(var(--spacing-xl)/2)]",
|
|
193
188
|
"pr-[calc(var(--spacing-2xl)-var(--spacing-xl)/2)]",
|
|
194
189
|
// Compensate for scrollbar offset
|
|
195
|
-
|
|
190
|
+
U
|
|
196
191
|
),
|
|
197
192
|
style: B,
|
|
198
193
|
children: [
|
|
199
|
-
/* @__PURE__ */
|
|
200
|
-
t && m.link && /* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ s(D, { editor: t, className: "h-full w-full" }),
|
|
195
|
+
t && m.link && /* @__PURE__ */ s(
|
|
201
196
|
X,
|
|
202
197
|
{
|
|
203
198
|
editor: t,
|
|
204
|
-
containerRef:
|
|
205
|
-
linkUrl:
|
|
206
|
-
isEditingLink:
|
|
207
|
-
onUrlChange:
|
|
208
|
-
onEdit:
|
|
209
|
-
onSave:
|
|
210
|
-
onRemove:
|
|
211
|
-
onCancel:
|
|
212
|
-
translations:
|
|
199
|
+
containerRef: u,
|
|
200
|
+
linkUrl: r.linkUrl,
|
|
201
|
+
isEditingLink: r.isEditingLink,
|
|
202
|
+
onUrlChange: r.setLinkUrl,
|
|
203
|
+
onEdit: r.handleOpenLinkEdit,
|
|
204
|
+
onSave: r.handleSaveLink,
|
|
205
|
+
onRemove: r.handleRemoveLink,
|
|
206
|
+
onCancel: r.handleCancelEdit,
|
|
207
|
+
translations: p.textEditor
|
|
213
208
|
}
|
|
214
209
|
)
|
|
215
210
|
]
|
|
@@ -220,7 +215,7 @@ const lt = J(
|
|
|
220
215
|
) });
|
|
221
216
|
}
|
|
222
217
|
);
|
|
223
|
-
|
|
218
|
+
rt.displayName = "TextEditor";
|
|
224
219
|
export {
|
|
225
|
-
|
|
220
|
+
rt as TextEditor
|
|
226
221
|
};
|