@vkzstudio/muza-ui 1.0.27 → 1.0.29

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.
@@ -1,21 +1,21 @@
1
- import { jsxs as p, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as b, jsx as t } from "react/jsx-runtime";
2
2
  import * as f from "react";
3
- import { cva as z } from "class-variance-authority";
4
- import { useMuzaTranslations as L } from "../../translations/TranslationContext.js";
3
+ import { cva as C } from "class-variance-authority";
4
+ import { useMuzaTranslations as O } from "../../translations/TranslationContext.js";
5
5
  import { cn as l } from "../../utils/cn.js";
6
- import { GalleryOutline as B, CloseCircleBold as C, DownloadMinimalisticBold as R, TrashBinTrashBold as j } from "@solar-icons/react-perf";
7
- import { Typography as b } from "../Typography/Typography.js";
8
- const E = (e, a, t) => {
9
- let r = null, o = null;
6
+ import { GalleryOutline as T, FileTextBold as B, CloseCircleBold as M, DownloadMinimalisticBold as I, TrashBinTrashBold as R } from "@solar-icons/react-perf";
7
+ import { Typography as x } from "../Typography/Typography.js";
8
+ const j = (e, a, i) => {
9
+ let n = null, o = null;
10
10
  try {
11
- r = URL.createObjectURL(e), o = document.createElement("a"), o.href = r, o.download = e.name, o.style.display = "none", document.body.appendChild(o), o.click();
11
+ n = URL.createObjectURL(e), o = document.createElement("a"), o.href = n, o.download = e.name, o.style.display = "none", document.body.appendChild(o), o.click();
12
12
  } catch (d) {
13
- const s = d instanceof Error ? d.message : t ?? "Download failed";
14
- console.error("Download failed:", d), a == null || a(s, e);
13
+ const c = d instanceof Error ? d.message : i ?? "Download failed";
14
+ console.error("Download failed:", d), a == null || a(c, e);
15
15
  } finally {
16
- o && document.body.contains(o) && document.body.removeChild(o), r && URL.revokeObjectURL(r);
16
+ o && document.body.contains(o) && document.body.removeChild(o), n && URL.revokeObjectURL(n);
17
17
  }
18
- }, O = z(
18
+ }, D = C(
19
19
  [
20
20
  "flex flex-1 items-center gap-sm rounded-full border transition-colors",
21
21
  "relative pr-comp-input-p-hor pl-comp-input-p-hor",
@@ -66,37 +66,50 @@ const E = (e, a, t) => {
66
66
  "bg-none cursor-pointer disabled:cursor-not-allowed",
67
67
  "text-comp-file-upload-icon-def-secondary",
68
68
  "disabled:text-comp-file-upload-icon-def-disabled"
69
- ]), I = /\.(jpe?g|png|gif|webp|svg|bmp|ico|avif|tiff?)$/i, G = (e) => {
69
+ ]), S = /\.(jpe?g|png|gif|webp|svg|bmp|ico|avif|tiff?)$/i, k = /\.(pdf|docx?|txt|rtf|odt|xlsx?|csv|pptx?|md|tex)$/i, U = [
70
+ "application/pdf",
71
+ "application/msword",
72
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
73
+ "text/plain",
74
+ "text/csv",
75
+ "text/markdown",
76
+ "application/rtf",
77
+ "application/vnd.oasis.opendocument.text",
78
+ "application/vnd.ms-excel",
79
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
80
+ "application/vnd.ms-powerpoint",
81
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation"
82
+ ], W = (e) => {
70
83
  const {
71
84
  uploaded: a,
72
- progress: t,
73
- size: r,
85
+ progress: i,
86
+ size: n,
74
87
  disabled: o,
75
88
  readOnly: d = !1,
76
- note: s,
77
- error: c,
78
- onDelete: x,
79
- onError: k
80
- } = e, m = L(), [g, y] = f.useState(!1), v = e.source === "file" ? e.file.name : e.name, w = e.source === "url" ? (e.type ?? "").startsWith("image/") || I.test(e.name) : e.file.type.startsWith("image/"), n = e.source === "file" ? e.file : e.url, U = f.useMemo(() => o ? "disabled" : c ? "error" : typeof t == "number" && t > 0 ? "loading" : "default", [o, c, t]), u = f.useMemo(() => {
81
- if (w)
82
- return typeof n == "string" ? n : URL.createObjectURL(n);
83
- }, [w, n]);
84
- return f.useEffect(() => y(!1), [n]), /* @__PURE__ */ p("li", { className: "flex flex-col gap-sm", children: [
85
- /* @__PURE__ */ p(
89
+ note: c,
90
+ error: s,
91
+ onDelete: g,
92
+ onError: z
93
+ } = e, m = O(), [v, y] = f.useState(!1), w = e.source === "file" ? e.file.name : e.name, p = e.source === "url" ? (e.type ?? "").startsWith("image/") || S.test(e.name) : e.file.type.startsWith("image/"), E = e.source === "url" ? U.includes(e.type ?? "") || k.test(e.name) : U.includes(e.file.type) || k.test(e.file.name), r = e.source === "file" ? e.file : e.url, L = f.useMemo(() => o ? "disabled" : s ? "error" : typeof i == "number" && i > 0 ? "loading" : "default", [o, s, i]), u = f.useMemo(() => {
94
+ if (p)
95
+ return typeof r == "string" ? r : URL.createObjectURL(r);
96
+ }, [p, r]);
97
+ return f.useEffect(() => y(!1), [r]), /* @__PURE__ */ b("li", { className: "flex flex-col gap-sm", children: [
98
+ /* @__PURE__ */ b(
86
99
  "div",
87
100
  {
88
101
  className: l(
89
- O({
90
- variant: U,
91
- size: r
102
+ D({
103
+ variant: L,
104
+ size: n
92
105
  })
93
106
  ),
94
107
  children: [
95
- u && !g && /* @__PURE__ */ i(
108
+ u && !v && /* @__PURE__ */ t(
96
109
  "img",
97
110
  {
98
111
  src: u,
99
- alt: v,
112
+ alt: w,
100
113
  width: 24,
101
114
  height: 24,
102
115
  onError: () => y(!0),
@@ -105,32 +118,43 @@ const E = (e, a, t) => {
105
118
  })
106
119
  }
107
120
  ),
108
- u && g && /* @__PURE__ */ i(
121
+ u && v && /* @__PURE__ */ t(
122
+ T,
123
+ {
124
+ className: l(
125
+ "size-icon-medium shrink-0 text-comp-file-upload-icon-def-secondary",
126
+ {
127
+ "opacity-50": o
128
+ }
129
+ )
130
+ }
131
+ ),
132
+ !p && E && /* @__PURE__ */ t(
109
133
  B,
110
134
  {
111
135
  className: l(
112
- "text-icon-dark-secondary size-icon-medium shrink-0",
136
+ "size-icon-medium shrink-0 text-comp-file-upload-icon-def-secondary",
113
137
  {
114
138
  "opacity-50": o
115
139
  }
116
140
  )
117
141
  }
118
142
  ),
119
- /* @__PURE__ */ i(
120
- b,
143
+ /* @__PURE__ */ t(
144
+ x,
121
145
  {
122
146
  className: "flex-grow truncate",
123
147
  component: "span",
124
148
  size: "sm",
125
149
  fixY: !0,
126
- children: v
150
+ children: w
127
151
  }
128
152
  ),
129
- !a && /* @__PURE__ */ i(
153
+ !a && /* @__PURE__ */ t(
130
154
  "button",
131
155
  {
132
156
  disabled: o,
133
- onClick: x,
157
+ onClick: g,
134
158
  "aria-label": m.fileUpload.deleteButtonAriaLabel,
135
159
  className: l(
136
160
  h,
@@ -139,11 +163,11 @@ const E = (e, a, t) => {
139
163
  "focus-visible:text-comp-file-upload-icon-def-focused",
140
164
  "disabled:text-comp-file-upload-icon-def-disabled"
141
165
  ),
142
- children: /* @__PURE__ */ i(C, { className: "size-icon-medium" })
166
+ children: /* @__PURE__ */ t(M, { className: "size-icon-medium" })
143
167
  }
144
168
  ),
145
- a && /* @__PURE__ */ p("div", { className: "flex gap-xl", children: [
146
- /* @__PURE__ */ i(
169
+ a && /* @__PURE__ */ b("div", { className: "flex gap-xl", children: [
170
+ /* @__PURE__ */ t(
147
171
  "button",
148
172
  {
149
173
  disabled: o,
@@ -160,9 +184,9 @@ const E = (e, a, t) => {
160
184
  );
161
185
  } catch {
162
186
  }
163
- })() : E(
187
+ })() : j(
164
188
  e.file,
165
- k,
189
+ z,
166
190
  m.fileUpload.downloadError
167
191
  ),
168
192
  "aria-label": m.fileUpload.downloadButtonAriaLabel,
@@ -173,14 +197,14 @@ const E = (e, a, t) => {
173
197
  "focus-visible:text-comp-file-upload-icon-brand-focused",
174
198
  "disabled:text-comp-file-upload-icon-brand-disabled"
175
199
  ),
176
- children: /* @__PURE__ */ i(R, { className: "size-icon-medium" })
200
+ children: /* @__PURE__ */ t(I, { className: "size-icon-medium" })
177
201
  }
178
202
  ),
179
- !d && /* @__PURE__ */ i(
203
+ !d && /* @__PURE__ */ t(
180
204
  "button",
181
205
  {
182
206
  disabled: o,
183
- onClick: x,
207
+ onClick: g,
184
208
  "aria-label": m.fileUpload.deleteButtonAriaLabel,
185
209
  className: l(
186
210
  h,
@@ -189,44 +213,44 @@ const E = (e, a, t) => {
189
213
  "focus-visible:text-comp-file-upload-icon-error-focused",
190
214
  "disabled:text-comp-file-upload-icon-error-disabled"
191
215
  ),
192
- children: /* @__PURE__ */ i(j, { className: "size-icon-medium" })
216
+ children: /* @__PURE__ */ t(R, { className: "size-icon-medium" })
193
217
  }
194
218
  )
195
219
  ] }),
196
- typeof t == "number" && t !== 0 && /* @__PURE__ */ i(
220
+ typeof i == "number" && i !== 0 && /* @__PURE__ */ t(
197
221
  "div",
198
222
  {
199
- style: { width: `${t}%` },
223
+ style: { width: `${i}%` },
200
224
  className: "absolute bottom-0 left-0 min-h-[3px] bg-comp-file-upload-icon-brand-def transition-[width] duration-300 ease-out"
201
225
  }
202
226
  )
203
227
  ]
204
228
  }
205
229
  ),
206
- s && /* @__PURE__ */ i(
207
- b,
230
+ c && /* @__PURE__ */ t(
231
+ x,
208
232
  {
209
233
  size: "sm",
210
234
  component: "span",
211
235
  variant: "body",
212
236
  weight: "regular",
213
237
  className: "text-comp-input-text-secondary",
214
- children: s
238
+ children: c
215
239
  }
216
240
  ),
217
- c && /* @__PURE__ */ i(
218
- b,
241
+ s && /* @__PURE__ */ t(
242
+ x,
219
243
  {
220
244
  size: "sm",
221
245
  component: "span",
222
246
  variant: "body",
223
247
  weight: "regular",
224
248
  className: "text-comp-input-text-error",
225
- children: c
249
+ children: s
226
250
  }
227
251
  )
228
252
  ] });
229
253
  };
230
254
  export {
231
- G as FileItem
255
+ W as FileItem
232
256
  };
@@ -6,6 +6,8 @@ interface ReorderableGroupContextValue<T = unknown> {
6
6
  onReorder?: (newOrder: T[]) => void;
7
7
  axis?: 'x' | 'y';
8
8
  animatePresence?: boolean;
9
+ onPointerDragStart?: () => void;
10
+ onPointerDragEnd?: () => void;
9
11
  }
10
12
  declare const useReorderableGroup: <T>() => ReorderableGroupContextValue<T>;
11
13
  interface ReorderableItemContextValue {
@@ -20,10 +22,35 @@ type ReorderableGroupElement = 'ul' | 'ol' | 'div' | 'tbody';
20
22
  * @typeParam T - Type of items in the reorderable list
21
23
  */
22
24
  export interface ReorderableGroupProps<T> {
23
- /** Array of items to reorder. Each item must be a stable reference for Motion to track. */
25
+ /**
26
+ * Array of items to reorder. Each item must be a stable reference for Motion to track.
27
+ * In sync mode, memoize this prop (e.g. with `useMemo`) to avoid unnecessary re-syncs
28
+ * when the parent re-renders with a new array reference.
29
+ */
24
30
  values: T[];
25
- /** Fires when items are reordered with the new array order. */
26
- onReorder: (newOrder: T[]) => void;
31
+ /**
32
+ * Fires when items are reordered with the new array order.
33
+ * Required unless `onSync` is provided, in which case it becomes an optional
34
+ * pass-through for immediate local feedback.
35
+ */
36
+ onReorder?: (newOrder: T[]) => void;
37
+ /**
38
+ * Debounced sync callback. Fires once after the user finishes reordering
39
+ * (`syncDelay` ms after the last reorder event). When provided, the component
40
+ * manages internal state and blocks external `values` updates while sync is pending.
41
+ */
42
+ onSync?: (newOrder: T[]) => void;
43
+ /** Milliseconds to wait after the last reorder event before calling `onSync`. @default 300 */
44
+ syncDelay?: number;
45
+ /**
46
+ * Called when the internal sync pending state changes.
47
+ * Useful for showing loading indicators or disabling other interactions during sync.
48
+ */
49
+ onSyncPendingChange?: (isPending: boolean) => void;
50
+ /** Fires when a pointer drag interaction starts (handle grab or direct item drag). */
51
+ onDragStart?: () => void;
52
+ /** Fires when a pointer drag interaction ends (pointer released after actual drag movement). */
53
+ onDragEnd?: () => void;
27
54
  /** Controls the drag axis direction. @default 'y' */
28
55
  axis?: 'x' | 'y';
29
56
  /** Specifies the HTML element type to render. @default 'ol' */
@@ -41,8 +68,19 @@ export interface ReorderableGroupProps<T> {
41
68
  animatePresence?: boolean | Omit<AnimatePresenceProps, 'children'>;
42
69
  /** Additional CSS classes. */
43
70
  className?: string;
44
- /** Child elements (ReorderableItem and/or ReorderableStaticItem). */
45
- children: ReactNode;
71
+ /**
72
+ * Child elements (ReorderableItem and/or ReorderableStaticItem).
73
+ * When using sync mode (`onSync`), pass a render function to receive the
74
+ * internal reordered values for rendering — this ensures children reflect
75
+ * the drag order immediately without waiting for the sync callback.
76
+ *
77
+ * @example
78
+ * // Sync mode — render function receives the effective (reordered) values
79
+ * <ReorderableGroup values={serverItems} onSync={handleSync}>
80
+ * {(items) => items.map(item => <ReorderableItem key={item.id} value={item}>...</ReorderableItem>)}
81
+ * </ReorderableGroup>
82
+ */
83
+ children: ReactNode | ((effectiveValues: T[]) => ReactNode);
46
84
  }
47
85
  declare const ReorderableGroup: <T>(props: ReorderableGroupProps<T> & {
48
86
  ref?: ForwardedRef<HTMLUListElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"Reorderable.d.ts","sourceRoot":"","sources":["../../../src/components/Reorderable/Reorderable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reorderable.d.ts","sourceRoot":"","sources":["../../../src/components/Reorderable/Reorderable.tsx"],"names":[],"mappings":"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"}