@vkzstudio/muza-ui 1.0.20 → 1.0.22
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 +8 -8
- package/dist/components/FileUpload/FileItem.js +1 -1
- package/dist/components/FileUpload/FileUpload.d.ts +9 -1
- package/dist/components/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +152 -117
- package/dist/components/FileUpload/FileUpload.stories.d.ts +2 -0
- 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 +106 -53
- 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/translations/locales/cs.d.ts.map +1 -1
- package/dist/translations/locales/cs.js +1 -0
- package/dist/translations/locales/en.d.ts.map +1 -1
- package/dist/translations/locales/en.js +1 -0
- package/dist/translations/locales/sk.d.ts.map +1 -1
- package/dist/translations/locales/sk.js +1 -0
- package/dist/translations/types.d.ts +2 -0
- package/dist/translations/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,19 +25,19 @@ const Q = o.Root, U = o.Title, Z = o.Description, A = ({
|
|
|
25
25
|
children: s,
|
|
26
26
|
title: c,
|
|
27
27
|
hideCloseButton: n = !1,
|
|
28
|
-
closeAriaLabel:
|
|
29
|
-
...
|
|
28
|
+
closeAriaLabel: f,
|
|
29
|
+
...u
|
|
30
30
|
}, h) => {
|
|
31
|
-
const y = T(), x =
|
|
31
|
+
const y = T(), x = f ?? y.dialog.closeAriaLabel;
|
|
32
32
|
return /* @__PURE__ */ a(
|
|
33
33
|
"div",
|
|
34
34
|
{
|
|
35
35
|
ref: h,
|
|
36
36
|
className: i(
|
|
37
|
-
"-mx-comp-dialog-p -mt-comp-dialog-p border-b border-stroke-base-primary px-comp-dialog-p py-comp-dialog-p-hor",
|
|
37
|
+
"-mx-comp-dialog-p -mt-comp-dialog-p border-b border-stroke-base-primary px-comp-dialog-p py-comp-dialog-p-hor-def",
|
|
38
38
|
l
|
|
39
39
|
),
|
|
40
|
-
...
|
|
40
|
+
...u,
|
|
41
41
|
children: /* @__PURE__ */ g("div", { className: "flex items-center gap-4xl", children: [
|
|
42
42
|
/* @__PURE__ */ g("div", { className: "flex min-w-0 flex-1 items-center gap-sm", children: [
|
|
43
43
|
t && /* @__PURE__ */ a("span", { className: "text-surface-brand-primary [&>svg]:size-icon-medium", children: t }),
|
|
@@ -105,8 +105,8 @@ const X = b(
|
|
|
105
105
|
size: s = "medium",
|
|
106
106
|
closeAriaLabel: c,
|
|
107
107
|
...n
|
|
108
|
-
},
|
|
109
|
-
const
|
|
108
|
+
}, f) => {
|
|
109
|
+
const u = T(), h = c ?? u.dialog.closeAriaLabel, [y, x] = O(!1), d = E(null), v = S.toArray(t), w = v.find(
|
|
110
110
|
(e) => {
|
|
111
111
|
var r;
|
|
112
112
|
return C(e) && ((r = e.type) == null ? void 0 : r.displayName) === "DialogHeader";
|
|
@@ -131,7 +131,7 @@ const X = b(
|
|
|
131
131
|
return /* @__PURE__ */ a(W, { children: /* @__PURE__ */ a(L, { children: /* @__PURE__ */ a(
|
|
132
132
|
o.Content,
|
|
133
133
|
{
|
|
134
|
-
ref:
|
|
134
|
+
ref: f,
|
|
135
135
|
className: i(
|
|
136
136
|
"relative flex w-full flex-col rounded-2xl bg-surface-base-secondary p-comp-dialog-p duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
137
137
|
{
|
|
@@ -34,7 +34,7 @@ const E = (e, a, t) => {
|
|
|
34
34
|
"border-comp-file-upload-stroke-def-def",
|
|
35
35
|
"bg-comp-input-fill-def leading-[140%]",
|
|
36
36
|
"text-comp-file-upload-text-dark-secondary",
|
|
37
|
-
"font-
|
|
37
|
+
"font-medium"
|
|
38
38
|
],
|
|
39
39
|
error: [
|
|
40
40
|
"border-comp-file-upload-stroke-error-def",
|
|
@@ -42,6 +42,10 @@ export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
42
42
|
maxSize?: number;
|
|
43
43
|
/** Custom error message when a file exceeds `maxSize`. Defaults to a translated message with the size in MB. */
|
|
44
44
|
maxSizeErrorMessage?: string;
|
|
45
|
+
/** Maximum number of files allowed. When reached, the dropzone is hidden. */
|
|
46
|
+
maxFiles?: number;
|
|
47
|
+
/** Custom error message when file count exceeds `maxFiles`. Defaults to a translated message. */
|
|
48
|
+
maxFilesErrorMessage?: string;
|
|
45
49
|
/** Controls the visual size of file items in the list. @default 'base' */
|
|
46
50
|
size?: 'sm' | 'base' | 'lg';
|
|
47
51
|
/** Prevents interaction and applies disabled styling. @default false */
|
|
@@ -65,7 +69,7 @@ export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
65
69
|
* Props managed by the component (`onDrop`, `accept`, `multiple`, `maxSize`, `disabled`) are excluded.
|
|
66
70
|
* @see DropzoneOptions
|
|
67
71
|
*/
|
|
68
|
-
dropzoneOptions?: Omit<DropzoneOptions, 'onDrop' | 'accept' | 'multiple' | 'maxSize' | 'disabled'>;
|
|
72
|
+
dropzoneOptions?: Omit<DropzoneOptions, 'onDrop' | 'accept' | 'multiple' | 'maxSize' | 'maxFiles' | 'disabled'>;
|
|
69
73
|
/** Files displayed in the list on mount. @default [] */
|
|
70
74
|
preselectedFiles?: File[];
|
|
71
75
|
/**
|
|
@@ -103,6 +107,10 @@ export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
103
107
|
preselectedUrls?: PreselectedUrl[];
|
|
104
108
|
/** Fires when a URL-backed item is deleted. Receives the item and its index in the `preselectedUrls` array. */
|
|
105
109
|
onDeleteUrl?: (item: PreselectedUrl, index: number) => void;
|
|
110
|
+
/** Extra content rendered inline next to the label (e.g. a tooltip icon). */
|
|
111
|
+
labelExtra?: React.ReactNode;
|
|
112
|
+
/** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
|
|
113
|
+
infoTooltip?: string;
|
|
106
114
|
}
|
|
107
115
|
declare const FileUpload: React.ForwardRefExoticComponent<FileUploadProps & React.RefAttributes<HTMLDivElement>>;
|
|
108
116
|
export { FileUpload };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,gBAAgB,CAAA;AASlE,QAAA,MAAM,kBAAkB;;;;8EAoCvB,CAAA;AAgBD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,0GAA0G;IAC1G,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,eACf,SAAQ,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,QAAQ,GAAG,SAAS,GAAG,UAAU,CAClC,EACD,IAAI,CAAC,YAAY,CAAC,OAAO,kBAAkB,CAAC,EAAE,cAAc,CAAC;IAC/D,kFAAkF;IAClF,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACxC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gHAAgH;IAChH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gGAAgG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,eAAe,CAAC,EAAE,IAAI,CACpB,eAAe,EACf,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { cva as
|
|
4
|
-
import { useDropzone as
|
|
5
|
-
import { FileItem as
|
|
6
|
-
import { useMuzaTranslations as
|
|
7
|
-
import { Flex as
|
|
8
|
-
import { FormField as
|
|
9
|
-
import { cn as
|
|
10
|
-
import { CloudUploadOutline as
|
|
11
|
-
import { Typography as
|
|
12
|
-
const
|
|
1
|
+
import { jsxs as n, jsx as a, Fragment as pe } from "react/jsx-runtime";
|
|
2
|
+
import * as v from "react";
|
|
3
|
+
import { cva as Y } from "class-variance-authority";
|
|
4
|
+
import { useDropzone as ue } from "react-dropzone";
|
|
5
|
+
import { FileItem as Q } from "./FileItem.js";
|
|
6
|
+
import { useMuzaTranslations as fe } from "../../translations/TranslationContext.js";
|
|
7
|
+
import { Flex as W } from "../Flex/Flex.js";
|
|
8
|
+
import { FormField as ne } from "../FormField/FormField.js";
|
|
9
|
+
import { cn as X } from "../../utils/cn.js";
|
|
10
|
+
import { CloudUploadOutline as me } from "@solar-icons/react-perf";
|
|
11
|
+
import { Typography as M } from "../Typography/Typography.js";
|
|
12
|
+
const ge = Y(
|
|
13
13
|
[
|
|
14
14
|
"group relative cursor-pointer rounded-xl border-1 border-dashed transition-colors",
|
|
15
15
|
"p-4xl pt-3xl pr-4xl pb-3xl",
|
|
@@ -45,7 +45,7 @@ const ie = B(
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
),
|
|
48
|
+
), xe = Y(
|
|
49
49
|
[
|
|
50
50
|
"text-center transition-colors",
|
|
51
51
|
"text-comp-file-upload-text-dark-secondary"
|
|
@@ -57,115 +57,139 @@ const ie = B(
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
),
|
|
60
|
+
), he = v.forwardRef(
|
|
61
61
|
({
|
|
62
|
-
className:
|
|
63
|
-
onDrop:
|
|
64
|
-
accept:
|
|
65
|
-
multiple:
|
|
66
|
-
maxSize:
|
|
67
|
-
maxSizeErrorMessage:
|
|
68
|
-
|
|
62
|
+
className: U,
|
|
63
|
+
onDrop: z,
|
|
64
|
+
accept: m,
|
|
65
|
+
multiple: A = !0,
|
|
66
|
+
maxSize: y,
|
|
67
|
+
maxSizeErrorMessage: Z,
|
|
68
|
+
maxFiles: i,
|
|
69
|
+
maxFilesErrorMessage: q,
|
|
70
|
+
size: P = "base",
|
|
69
71
|
disabled: p = !1,
|
|
70
|
-
readOnly:
|
|
71
|
-
dropzoneOptions:
|
|
72
|
-
label:
|
|
73
|
-
title:
|
|
74
|
-
subtitle:
|
|
75
|
-
preselectedFiles:
|
|
76
|
-
fileStatus:
|
|
77
|
-
itemErrors:
|
|
78
|
-
itemHints:
|
|
79
|
-
error:
|
|
80
|
-
required:
|
|
81
|
-
disableRequiredAsterisk:
|
|
72
|
+
readOnly: g = !1,
|
|
73
|
+
dropzoneOptions: O,
|
|
74
|
+
label: V,
|
|
75
|
+
title: H,
|
|
76
|
+
subtitle: K,
|
|
77
|
+
preselectedFiles: D = [],
|
|
78
|
+
fileStatus: C = [],
|
|
79
|
+
itemErrors: S,
|
|
80
|
+
itemHints: F,
|
|
81
|
+
error: E,
|
|
82
|
+
required: k,
|
|
83
|
+
disableRequiredAsterisk: ee,
|
|
82
84
|
onError: t,
|
|
83
|
-
onDelete:
|
|
84
|
-
onChange:
|
|
85
|
-
preselectedUrls:
|
|
86
|
-
onDeleteUrl:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
onDelete: w,
|
|
86
|
+
onChange: u,
|
|
87
|
+
preselectedUrls: x = [],
|
|
88
|
+
onDeleteUrl: $,
|
|
89
|
+
labelExtra: te,
|
|
90
|
+
infoTooltip: oe,
|
|
91
|
+
...le
|
|
92
|
+
}, se) => {
|
|
93
|
+
const f = fe(), [h, _] = v.useState(D), [j, N] = v.useState(!1), [B, b] = v.useState(!1), T = h.length + x.length, re = H ?? f.fileUpload.title, I = i != null ? f.fileUpload.maxFilesError.replace("{count}", String(i)) : "", R = q ?? I, G = y ? f.fileUpload.maxSizeError.replace(
|
|
90
94
|
"{size}",
|
|
91
|
-
(
|
|
92
|
-
) : "",
|
|
93
|
-
onDrop: (e,
|
|
95
|
+
(y / (1024 * 1024)).toFixed(0)
|
|
96
|
+
) : "", J = Z ?? G, { getRootProps: ae, getInputProps: ie, isDragActive: de } = ue({
|
|
97
|
+
onDrop: (e, s) => {
|
|
94
98
|
try {
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
if (N(!1), b(!1), s.length > 0) {
|
|
100
|
+
const o = s.some(
|
|
101
|
+
(l) => l.errors.some((r) => r.code === "file-too-large")
|
|
102
|
+
);
|
|
103
|
+
if (s.some(
|
|
104
|
+
(l) => l.errors.some((r) => r.code === "too-many-files")
|
|
105
|
+
)) {
|
|
106
|
+
b(!0);
|
|
107
|
+
const l = R || I;
|
|
108
|
+
t == null || t(l, s[0].file);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (o) {
|
|
112
|
+
N(!0);
|
|
113
|
+
const l = J || G;
|
|
114
|
+
t == null || t(l, s[0].file);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (i != null && T + e.length > i) {
|
|
119
|
+
b(!0);
|
|
120
|
+
const o = R || I;
|
|
121
|
+
t == null || t(o);
|
|
101
122
|
return;
|
|
102
123
|
}
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
o.map((
|
|
106
|
-
),
|
|
107
|
-
(
|
|
108
|
-
),
|
|
109
|
-
return
|
|
110
|
-
}),
|
|
124
|
+
_((o) => {
|
|
125
|
+
const c = new Set(
|
|
126
|
+
o.map((d) => `${d.name}-${d.size}-${d.lastModified}`)
|
|
127
|
+
), l = e.filter(
|
|
128
|
+
(d) => !c.has(`${d.name}-${d.size}-${d.lastModified}`)
|
|
129
|
+
), r = [...o, ...l];
|
|
130
|
+
return u == null || u(r), r;
|
|
131
|
+
}), z == null || z(e);
|
|
111
132
|
} catch (o) {
|
|
112
|
-
const
|
|
113
|
-
t == null || t(
|
|
133
|
+
const c = o instanceof Error ? o.message : f.fileUpload.processingError;
|
|
134
|
+
t == null || t(c);
|
|
114
135
|
}
|
|
115
136
|
},
|
|
116
|
-
accept: typeof
|
|
117
|
-
multiple:
|
|
118
|
-
maxSize:
|
|
137
|
+
accept: typeof m == "string" ? { [m]: [] } : m ? Object.fromEntries(m.map((e) => [e, []])) : void 0,
|
|
138
|
+
multiple: A,
|
|
139
|
+
maxSize: y,
|
|
140
|
+
maxFiles: i != null ? i - T : void 0,
|
|
119
141
|
disabled: p,
|
|
120
|
-
...
|
|
121
|
-
}),
|
|
122
|
-
return /* @__PURE__ */
|
|
123
|
-
(!
|
|
124
|
-
|
|
142
|
+
...O
|
|
143
|
+
}), L = g || !A && (h.length > 0 || x.length > 0) || i != null && T >= i;
|
|
144
|
+
return /* @__PURE__ */ n(W, { direction: "column", gap: "lg", children: [
|
|
145
|
+
(!L || V) && /* @__PURE__ */ a(
|
|
146
|
+
ne,
|
|
125
147
|
{
|
|
126
|
-
label:
|
|
127
|
-
required:
|
|
128
|
-
disableRequiredAsterisk:
|
|
129
|
-
|
|
130
|
-
|
|
148
|
+
label: V,
|
|
149
|
+
required: k,
|
|
150
|
+
disableRequiredAsterisk: ee,
|
|
151
|
+
labelExtra: te,
|
|
152
|
+
infoTooltip: oe,
|
|
153
|
+
children: !L && /* @__PURE__ */ n(pe, { children: [
|
|
154
|
+
/* @__PURE__ */ n(
|
|
131
155
|
"div",
|
|
132
156
|
{
|
|
133
|
-
ref:
|
|
157
|
+
ref: se,
|
|
134
158
|
tabIndex: p ? void 0 : 0,
|
|
135
|
-
className:
|
|
136
|
-
|
|
137
|
-
error:
|
|
159
|
+
className: X(
|
|
160
|
+
ge({
|
|
161
|
+
error: E || j || B,
|
|
138
162
|
disabled: p,
|
|
139
|
-
className:
|
|
140
|
-
isDragActive:
|
|
163
|
+
className: U,
|
|
164
|
+
isDragActive: de
|
|
141
165
|
})
|
|
142
166
|
),
|
|
143
|
-
...
|
|
144
|
-
...
|
|
167
|
+
...ae(),
|
|
168
|
+
...le,
|
|
145
169
|
children: [
|
|
146
170
|
/* @__PURE__ */ a(
|
|
147
171
|
"input",
|
|
148
172
|
{
|
|
149
|
-
...
|
|
150
|
-
"aria-required":
|
|
173
|
+
...ie({ required: k }),
|
|
174
|
+
"aria-required": k
|
|
151
175
|
}
|
|
152
176
|
),
|
|
153
|
-
/* @__PURE__ */ a(
|
|
154
|
-
/* @__PURE__ */
|
|
155
|
-
/* @__PURE__ */ a(
|
|
156
|
-
|
|
157
|
-
|
|
177
|
+
/* @__PURE__ */ a(me, { className: "inline size-comp-file-upload-ico-size" }),
|
|
178
|
+
/* @__PURE__ */ n("div", { children: [
|
|
179
|
+
/* @__PURE__ */ a(M, { size: "base", component: "p", weight: "medium", children: re }),
|
|
180
|
+
K && /* @__PURE__ */ a(
|
|
181
|
+
M,
|
|
158
182
|
{
|
|
159
183
|
size: "sm",
|
|
160
184
|
component: "p",
|
|
161
185
|
weight: "regular",
|
|
162
|
-
className:
|
|
163
|
-
|
|
186
|
+
className: X(
|
|
187
|
+
xe({
|
|
164
188
|
disabled: p,
|
|
165
|
-
className:
|
|
189
|
+
className: U
|
|
166
190
|
})
|
|
167
191
|
),
|
|
168
|
-
children:
|
|
192
|
+
children: K
|
|
169
193
|
}
|
|
170
194
|
)
|
|
171
195
|
] })
|
|
@@ -173,22 +197,33 @@ const ie = B(
|
|
|
173
197
|
}
|
|
174
198
|
),
|
|
175
199
|
j && /* @__PURE__ */ a(
|
|
176
|
-
|
|
200
|
+
M,
|
|
201
|
+
{
|
|
202
|
+
size: "sm",
|
|
203
|
+
variant: "body",
|
|
204
|
+
component: "p",
|
|
205
|
+
weight: "regular",
|
|
206
|
+
className: "text-comp-file-upload-text-error-def",
|
|
207
|
+
children: J
|
|
208
|
+
}
|
|
209
|
+
),
|
|
210
|
+
B && /* @__PURE__ */ a(
|
|
211
|
+
M,
|
|
177
212
|
{
|
|
178
213
|
size: "sm",
|
|
179
214
|
variant: "body",
|
|
180
215
|
component: "p",
|
|
181
216
|
weight: "regular",
|
|
182
217
|
className: "text-comp-file-upload-text-error-def",
|
|
183
|
-
children:
|
|
218
|
+
children: R
|
|
184
219
|
}
|
|
185
220
|
)
|
|
186
221
|
] })
|
|
187
222
|
}
|
|
188
223
|
),
|
|
189
|
-
/* @__PURE__ */
|
|
190
|
-
|
|
191
|
-
|
|
224
|
+
(x.length > 0 || h.length > 0) && /* @__PURE__ */ n(W, { component: "ul", direction: "column", gap: "md", children: [
|
|
225
|
+
x.map((e, s) => /* @__PURE__ */ a(
|
|
226
|
+
Q,
|
|
192
227
|
{
|
|
193
228
|
source: "url",
|
|
194
229
|
url: e.url,
|
|
@@ -196,36 +231,36 @@ const ie = B(
|
|
|
196
231
|
type: e.type,
|
|
197
232
|
uploaded: !0,
|
|
198
233
|
disabled: p,
|
|
199
|
-
readOnly:
|
|
200
|
-
size:
|
|
201
|
-
onDelete: () =>
|
|
234
|
+
readOnly: g,
|
|
235
|
+
size: P,
|
|
236
|
+
onDelete: () => $ == null ? void 0 : $(e, s)
|
|
202
237
|
},
|
|
203
238
|
`url-${e.url}`
|
|
204
239
|
)),
|
|
205
|
-
|
|
206
|
-
const o =
|
|
207
|
-
return
|
|
208
|
-
|
|
240
|
+
h.map((e, s) => {
|
|
241
|
+
const o = C[s], c = o == null ? void 0 : o.uploaded;
|
|
242
|
+
return g && !c ? null : /* @__PURE__ */ a(
|
|
243
|
+
Q,
|
|
209
244
|
{
|
|
210
245
|
source: "file",
|
|
211
246
|
file: e,
|
|
212
|
-
uploaded:
|
|
247
|
+
uploaded: c,
|
|
213
248
|
progress: o == null ? void 0 : o.progress,
|
|
214
249
|
disabled: p,
|
|
215
|
-
readOnly:
|
|
216
|
-
error:
|
|
217
|
-
note:
|
|
250
|
+
readOnly: g,
|
|
251
|
+
error: S == null ? void 0 : S.get(e),
|
|
252
|
+
note: F == null ? void 0 : F.get(e),
|
|
218
253
|
onError: t,
|
|
219
|
-
size:
|
|
254
|
+
size: P,
|
|
220
255
|
onDelete: () => {
|
|
221
256
|
try {
|
|
222
|
-
|
|
223
|
-
const
|
|
224
|
-
return
|
|
225
|
-
}),
|
|
226
|
-
} catch (
|
|
227
|
-
const
|
|
228
|
-
t == null || t(
|
|
257
|
+
b(!1), N(!1), _((l) => {
|
|
258
|
+
const r = l.filter((d, ce) => ce !== s);
|
|
259
|
+
return u == null || u(r), r;
|
|
260
|
+
}), w == null || w(e, s);
|
|
261
|
+
} catch (l) {
|
|
262
|
+
const r = l instanceof Error ? l.message : f.fileUpload.deleteError;
|
|
263
|
+
t == null || t(r, e);
|
|
229
264
|
}
|
|
230
265
|
}
|
|
231
266
|
},
|
|
@@ -236,7 +271,7 @@ const ie = B(
|
|
|
236
271
|
] });
|
|
237
272
|
}
|
|
238
273
|
);
|
|
239
|
-
|
|
274
|
+
he.displayName = "FileUpload";
|
|
240
275
|
export {
|
|
241
|
-
|
|
276
|
+
he as FileUpload
|
|
242
277
|
};
|
|
@@ -17,6 +17,8 @@ export declare const Disabled: Story;
|
|
|
17
17
|
export declare const WithErrorsAndHints: Story;
|
|
18
18
|
export declare const ReadOnly: Story;
|
|
19
19
|
export declare const UploadSimulation: Story;
|
|
20
|
+
export declare const WithMaxFiles: Story;
|
|
21
|
+
export declare const WithMaxFilesAndPreselected: Story;
|
|
20
22
|
export declare const PreselectedUrls: Story;
|
|
21
23
|
export declare const MixedFilesAndUrls: Story;
|
|
22
24
|
export declare const SingleFileWithUrl: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAA;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAA;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAgMjC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAmBnB,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAsB9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAkB3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAqBjC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAexB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KA0ChC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KA0F9B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAiB1B,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,KAuBxC,CAAA;AAmBD,eAAO,MAAM,eAAe,EAAE,KA0B7B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAoC/B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAsB/B,CAAA"}
|
|
@@ -23,6 +23,10 @@ export interface FormFieldProps {
|
|
|
23
23
|
hintId?: string;
|
|
24
24
|
/** Extra content rendered inline next to the label (e.g. a tooltip icon). */
|
|
25
25
|
labelExtra?: ReactNode;
|
|
26
|
+
/** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
|
|
27
|
+
infoTooltip?: string;
|
|
28
|
+
/** Content rendered on the right side of the label row (e.g. a character counter). */
|
|
29
|
+
labelRight?: ReactNode;
|
|
26
30
|
/** Additional CSS classes for the outer wrapper. */
|
|
27
31
|
className?: string;
|
|
28
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAOlD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,SAAS,CAAA;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,SAAS,2GAwErB,CAAA"}
|
|
@@ -1,56 +1,69 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { InputHint as
|
|
4
|
-
import { InputLabel as
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { jsxs as e, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as N } from "react";
|
|
3
|
+
import { InputHint as g } from "./InputHint.js";
|
|
4
|
+
import { InputLabel as s } from "./InputLabel.js";
|
|
5
|
+
import { Tooltip as j, TooltipTrigger as C, TooltipContent as F } from "../Tooltip/Tooltip.js";
|
|
6
|
+
import { cn as T } from "../../utils/cn.js";
|
|
7
|
+
import { InfoCircleBold as w } from "@solar-icons/react-perf";
|
|
8
|
+
const y = N(
|
|
7
9
|
({
|
|
8
|
-
children:
|
|
9
|
-
label:
|
|
10
|
-
hint:
|
|
11
|
-
error:
|
|
12
|
-
required:
|
|
13
|
-
disableRequiredAsterisk:
|
|
14
|
-
htmlFor:
|
|
15
|
-
labelId:
|
|
10
|
+
children: l,
|
|
11
|
+
label: r,
|
|
12
|
+
hint: c,
|
|
13
|
+
error: a,
|
|
14
|
+
required: t,
|
|
15
|
+
disableRequiredAsterisk: m,
|
|
16
|
+
htmlFor: n,
|
|
17
|
+
labelId: p,
|
|
16
18
|
hintId: x,
|
|
17
|
-
labelExtra:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
className:
|
|
24
|
-
children:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
labelExtra: h,
|
|
20
|
+
infoTooltip: d,
|
|
21
|
+
labelRight: i,
|
|
22
|
+
className: v
|
|
23
|
+
}, u) => {
|
|
24
|
+
const f = h ?? (d ? /* @__PURE__ */ e(j, { children: [
|
|
25
|
+
/* @__PURE__ */ o(C, { asChild: !0, children: /* @__PURE__ */ o(w, { className: "cursor-help text-comp-info-ico-def hover:text-comp-info-ico-hover" }) }),
|
|
26
|
+
/* @__PURE__ */ o(F, { children: d })
|
|
27
|
+
] }) : void 0);
|
|
28
|
+
return /* @__PURE__ */ e(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
ref: u,
|
|
32
|
+
className: T("flex flex-col gap-comp-input-gap", v),
|
|
33
|
+
children: [
|
|
34
|
+
(r || i) && (f || i ? /* @__PURE__ */ e("div", { className: "flex items-center justify-between", children: [
|
|
35
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-2xs", children: [
|
|
36
|
+
r && /* @__PURE__ */ o(
|
|
37
|
+
s,
|
|
38
|
+
{
|
|
39
|
+
htmlFor: n,
|
|
40
|
+
id: p,
|
|
41
|
+
required: t,
|
|
42
|
+
disableRequiredAsterisk: m,
|
|
43
|
+
children: r
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
f
|
|
47
|
+
] }),
|
|
48
|
+
i
|
|
49
|
+
] }) : /* @__PURE__ */ o(
|
|
50
|
+
s,
|
|
28
51
|
{
|
|
29
|
-
htmlFor:
|
|
30
|
-
id:
|
|
31
|
-
required:
|
|
32
|
-
disableRequiredAsterisk:
|
|
33
|
-
children:
|
|
52
|
+
htmlFor: n,
|
|
53
|
+
id: p,
|
|
54
|
+
required: t,
|
|
55
|
+
disableRequiredAsterisk: m,
|
|
56
|
+
children: r
|
|
34
57
|
}
|
|
35
|
-
),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
required: r,
|
|
43
|
-
disableRequiredAsterisk: p,
|
|
44
|
-
children: i
|
|
45
|
-
}
|
|
46
|
-
)),
|
|
47
|
-
t,
|
|
48
|
-
o && /* @__PURE__ */ m(h, { error: s, id: x, children: o })
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
)
|
|
58
|
+
)),
|
|
59
|
+
l,
|
|
60
|
+
c && /* @__PURE__ */ o(g, { error: a, id: x, children: c })
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
52
65
|
);
|
|
53
|
-
|
|
66
|
+
y.displayName = "FormField";
|
|
54
67
|
export {
|
|
55
|
-
|
|
68
|
+
y as FormField
|
|
56
69
|
};
|
|
@@ -39,6 +39,10 @@ export interface InputProps extends Omit<ComponentProps<'input'>, 'size' | 'pref
|
|
|
39
39
|
disableRequiredAsterisk?: boolean;
|
|
40
40
|
/** Displays helper or error text below the input. */
|
|
41
41
|
hint?: string;
|
|
42
|
+
/** Extra content rendered inline next to the label (e.g. a tooltip icon). */
|
|
43
|
+
labelExtra?: ReactNode;
|
|
44
|
+
/** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
|
|
45
|
+
infoTooltip?: string;
|
|
42
46
|
/**
|
|
43
47
|
* Input mask pattern using react-imask syntax. All alphabetic input is automatically converted to uppercase.
|
|
44
48
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,oBAAoB;;;8EAyBzB,CAAA;AAgBD;;;;;GAKG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,EAC1E,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,oBAAoB;;;8EAyBzB,CAAA;AAgBD;;;;;GAKG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,EAC1E,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,KAAK,sHA8IjB,CAAA"}
|