@adamosuiteservices/ui 2.18.5 → 2.19.0

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 (182) hide show
  1. package/README.md +1 -1
  2. package/dist/accordion-rounded.cjs +8 -8
  3. package/dist/accordion-rounded.js +12 -12
  4. package/dist/alert.cjs +32 -23
  5. package/dist/alert.js +53 -43
  6. package/dist/amount-input.cjs +8 -0
  7. package/dist/amount-input.js +191 -0
  8. package/dist/avatar.cjs +7 -7
  9. package/dist/avatar.js +18 -18
  10. package/dist/badge.cjs +24 -28
  11. package/dist/badge.js +45 -42
  12. package/dist/breadcrumb.cjs +2 -3
  13. package/dist/breadcrumb.js +16 -17
  14. package/dist/button-CXFZVTXF.cjs +87 -0
  15. package/dist/button-dT8nqgU3.js +156 -0
  16. package/dist/button-group.cjs +1 -1
  17. package/dist/button-group.js +1 -1
  18. package/dist/button.cjs +1 -1
  19. package/dist/button.js +1 -1
  20. package/dist/{calendar-xBaFu2sB.js → calendar-6NvJv-sP.js} +238 -239
  21. package/dist/{calendar-Dorq3-wv.cjs → calendar-B8S5a0TG.cjs} +20 -22
  22. package/dist/calendar.cjs +1 -1
  23. package/dist/calendar.js +1 -1
  24. package/dist/card.cjs +3 -3
  25. package/dist/card.js +4 -4
  26. package/dist/checkbox-BBlvCoB1.cjs +24 -0
  27. package/dist/{checkbox-DL_jFvgl.js → checkbox-BuzBXARX.js} +54 -52
  28. package/dist/checkbox.cjs +1 -1
  29. package/dist/checkbox.js +1 -1
  30. package/dist/colors.css +1 -1
  31. package/dist/combobox-B002BLsg.js +692 -0
  32. package/dist/combobox-B2BkUl7v.cjs +57 -0
  33. package/dist/combobox.cjs +1 -1
  34. package/dist/combobox.js +1 -1
  35. package/dist/components/layout/sidebar/sidebar.d.ts +2 -1
  36. package/dist/components/layout/toaster/toaster.d.ts +1 -1
  37. package/dist/components/ui/alert/alert.d.ts +1 -1
  38. package/dist/components/ui/amount-input/amount-input.d.ts +32 -0
  39. package/dist/components/ui/amount-input/index.d.ts +1 -0
  40. package/dist/components/ui/badge/badge.d.ts +3 -2
  41. package/dist/components/ui/calendar/calendar.d.ts +1 -1
  42. package/dist/components/ui/combobox/combobox.d.ts +3 -1
  43. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +3 -1
  44. package/dist/components/ui/selectable-card/index.d.ts +1 -0
  45. package/dist/components/ui/selectable-card/selectable-card.d.ts +22 -0
  46. package/dist/components/ui/timeline/index.d.ts +1 -0
  47. package/dist/components/ui/timeline/timeline.d.ts +30 -0
  48. package/dist/components/ui/typography/typography.d.ts +1 -1
  49. package/dist/context-menu.cjs +18 -19
  50. package/dist/context-menu.js +36 -37
  51. package/dist/date-picker-selector.cjs +1 -1
  52. package/dist/date-picker-selector.js +3 -3
  53. package/dist/dialog.cjs +7 -9
  54. package/dist/dialog.js +36 -38
  55. package/dist/dropdown-menu.cjs +57 -36
  56. package/dist/dropdown-menu.js +205 -172
  57. package/dist/field.cjs +12 -7
  58. package/dist/field.js +51 -45
  59. package/dist/file-upload-v2.cjs +11 -5
  60. package/dist/file-upload-v2.js +75 -60
  61. package/dist/file-upload.cjs +11 -5
  62. package/dist/file-upload.js +117 -109
  63. package/dist/index-BBT2EGq8.js +18 -0
  64. package/dist/index-DCsgSkBj.cjs +1 -0
  65. package/dist/input-8sEO5zwD.js +44 -0
  66. package/dist/input-AONeSXcs.cjs +22 -0
  67. package/dist/input-group-13VFVAxD.cjs +86 -0
  68. package/dist/input-group-D4S18xiq.js +240 -0
  69. package/dist/input-group.cjs +1 -84
  70. package/dist/input-group.js +7 -234
  71. package/dist/input-otp.cjs +5 -7
  72. package/dist/input-otp.js +58 -60
  73. package/dist/input.cjs +1 -1
  74. package/dist/input.js +1 -1
  75. package/dist/kbd.cjs +6 -7
  76. package/dist/kbd.js +14 -15
  77. package/dist/{label-DqfX9cHc.cjs → label-B7Z1D5-Q.cjs} +5 -4
  78. package/dist/{label-C6zVnc3d.js → label-_BWRIH7C.js} +14 -13
  79. package/dist/label.cjs +1 -1
  80. package/dist/label.js +1 -1
  81. package/dist/pagination.cjs +5 -5
  82. package/dist/pagination.js +18 -18
  83. package/dist/radio-group.cjs +12 -9
  84. package/dist/radio-group.js +65 -62
  85. package/dist/select.cjs +18 -16
  86. package/dist/select.js +17 -15
  87. package/dist/selectable-card.cjs +29 -0
  88. package/dist/selectable-card.js +129 -0
  89. package/dist/separator-DXdc7LcC.cjs +7 -0
  90. package/dist/{separator-CsaqP20m.js → separator-DZfXXbNt.js} +1 -1
  91. package/dist/separator.cjs +1 -1
  92. package/dist/separator.js +1 -1
  93. package/dist/{sheet-C9vce0ut.js → sheet-DNwg4a6M.js} +8 -5
  94. package/dist/{sheet-Cnq7TCzu.cjs → sheet-va7o2x0w.cjs} +10 -10
  95. package/dist/sheet.cjs +1 -1
  96. package/dist/sheet.js +1 -1
  97. package/dist/sidebar.cjs +10 -10
  98. package/dist/sidebar.js +83 -92
  99. package/dist/slider.cjs +1 -1
  100. package/dist/slider.js +1 -1
  101. package/dist/styles.css +1 -1
  102. package/dist/switch.cjs +2 -4
  103. package/dist/switch.js +71 -73
  104. package/dist/table.cjs +14 -14
  105. package/dist/table.js +12 -12
  106. package/dist/tabs-underline.cjs +11 -15
  107. package/dist/tabs-underline.js +20 -24
  108. package/dist/tabs.cjs +10 -14
  109. package/dist/tabs.js +20 -24
  110. package/dist/tailwind-colors.css +1 -1
  111. package/dist/tailwind-theme.css +1 -1
  112. package/dist/textarea-BSooGyp-.cjs +18 -0
  113. package/dist/textarea-D_sj6ivo.js +39 -0
  114. package/dist/textarea.cjs +1 -1
  115. package/dist/textarea.js +1 -1
  116. package/dist/themes.css +1 -1
  117. package/dist/timeline.cjs +4 -0
  118. package/dist/timeline.js +189 -0
  119. package/dist/toaster.cjs +5 -4
  120. package/dist/toaster.js +33 -32
  121. package/dist/toggle.cjs +4 -4
  122. package/dist/toggle.js +17 -17
  123. package/dist/tooltip.cjs +5 -6
  124. package/dist/tooltip.js +4 -5
  125. package/docs/components/layout/sidebar.md +81 -53
  126. package/docs/components/layout/toaster.md +35 -55
  127. package/docs/components/ui/accordion-rounded.md +12 -11
  128. package/docs/components/ui/alert.md +66 -36
  129. package/docs/components/ui/amount-input.md +229 -0
  130. package/docs/components/ui/avatar.md +28 -32
  131. package/docs/components/ui/badge.md +85 -32
  132. package/docs/components/ui/breadcrumb.md +5 -7
  133. package/docs/components/ui/button-group.md +16 -16
  134. package/docs/components/ui/button.md +23 -36
  135. package/docs/components/ui/calendar.md +54 -27
  136. package/docs/components/ui/card.md +5 -4
  137. package/docs/components/ui/checkbox.md +3 -3
  138. package/docs/components/ui/combobox.md +35 -1
  139. package/docs/components/ui/command.md +7 -7
  140. package/docs/components/ui/context-menu.md +14 -15
  141. package/docs/components/ui/date-picker-selector.md +31 -31
  142. package/docs/components/ui/dialog.md +47 -49
  143. package/docs/components/ui/dropdown-menu.md +34 -37
  144. package/docs/components/ui/field.md +25 -31
  145. package/docs/components/ui/file-upload-v2.md +11 -0
  146. package/docs/components/ui/file-upload.md +105 -108
  147. package/docs/components/ui/hover-card.md +28 -6
  148. package/docs/components/ui/icon.md +10 -9
  149. package/docs/components/ui/input-group.md +9 -9
  150. package/docs/components/ui/input.md +30 -33
  151. package/docs/components/ui/kbd.md +10 -9
  152. package/docs/components/ui/label.md +6 -6
  153. package/docs/components/ui/pagination.md +3 -3
  154. package/docs/components/ui/popover.md +1 -0
  155. package/docs/components/ui/progress.md +3 -3
  156. package/docs/components/ui/radio-group.md +18 -6
  157. package/docs/components/ui/scroll-area.md +4 -4
  158. package/docs/components/ui/select.md +14 -12
  159. package/docs/components/ui/selectable-card.md +204 -0
  160. package/docs/components/ui/separator.md +4 -4
  161. package/docs/components/ui/sheet.md +21 -3
  162. package/docs/components/ui/slider.md +3 -3
  163. package/docs/components/ui/switch.md +7 -7
  164. package/docs/components/ui/table.md +7 -4
  165. package/docs/components/ui/tabs-underline.md +36 -36
  166. package/docs/components/ui/tabs.md +6 -4
  167. package/docs/components/ui/textarea.md +6 -4
  168. package/docs/components/ui/timeline.md +214 -0
  169. package/docs/components/ui/toggle.md +1 -1
  170. package/docs/components/ui/tooltip.md +3 -3
  171. package/llm.txt +7 -4
  172. package/package.json +13 -1
  173. package/dist/button-BnUlAtuD.js +0 -132
  174. package/dist/button-CFJs0esR.cjs +0 -63
  175. package/dist/checkbox-3RIZX2HF.cjs +0 -22
  176. package/dist/combobox-MkeJiTXj.js +0 -637
  177. package/dist/combobox-jJRxvUsB.cjs +0 -40
  178. package/dist/input-BCiOr4Fy.js +0 -44
  179. package/dist/input-Bz5k4w94.cjs +0 -22
  180. package/dist/separator-CCGaTo09.cjs +0 -7
  181. package/dist/textarea-BRCnIxdB.js +0 -33
  182. package/dist/textarea-DkFUS_oS.cjs +0 -14
@@ -1,5 +1,5 @@
1
1
  import { j as r } from "./jsx-runtime-BzflLqGi.js";
2
- import { B as q } from "./button-BnUlAtuD.js";
2
+ import { B as q } from "./button-dT8nqgU3.js";
3
3
  import { I as M } from "./icon-BFQz1tQC.js";
4
4
  import { T as C } from "./typography-MnY0LQoZ.js";
5
5
  import { c as N } from "./index-CRiPKpXj.js";
@@ -12,8 +12,8 @@ function se({
12
12
  accept: i,
13
13
  acceptedExtensions: l,
14
14
  maxSizeInMB: o,
15
- maxFiles: p,
16
- labels: g,
15
+ maxFiles: g,
16
+ labels: p,
17
17
  input: v,
18
18
  onDragOver: m,
19
19
  onDragLeave: j,
@@ -29,12 +29,13 @@ function se({
29
29
  onDrop: t ? void 0 : x,
30
30
  className: N(
31
31
  `
32
- adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-2xl
33
- adm:border-2
32
+ adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-3xl
33
+ adm:border
34
34
  `,
35
35
  "adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors",
36
+ "adm:hover:border-strong-border adm:hover:bg-muted",
36
37
  {
37
- "adm:border-primary": c && !n && !t,
38
+ "adm:border-strong-border": c && !n && !t,
38
39
  "adm:border-destructive": n && !t,
39
40
  "adm:border-input": !c && !n,
40
41
  "adm:cursor-not-allowed adm:opacity-50": t
@@ -45,20 +46,23 @@ function se({
45
46
  "div",
46
47
  {
47
48
  className: N(
48
- "adm:flex adm:items-center adm:justify-center adm:rounded-xl adm:p-2.5",
49
+ `
50
+ adm:flex adm:size-11 adm:items-center adm:justify-center
51
+ adm:rounded-full
52
+ `,
49
53
  n && !t ? "adm:bg-destructive/10" : "adm:bg-primary-50"
50
54
  ),
51
55
  children: /* @__PURE__ */ r.jsx(
52
56
  M,
53
57
  {
54
- symbol: "text_snippet",
58
+ symbol: "upload",
55
59
  className: n && !t ? "adm:text-destructive" : "adm:text-primary"
56
60
  }
57
61
  )
58
62
  }
59
63
  ),
60
64
  /* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:flex-col adm:items-center adm:gap-2", children: [
61
- /* @__PURE__ */ r.jsx(C, { color: n && !t ? "destructive" : void 0, children: g?.dragDrop || (d ? "Drag and drop your files here or" : "Drag and drop your file here or") }),
65
+ /* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : void 0, children: p?.dragDrop || (d ? "Drag and drop your files here or" : "Drag and drop your file here or") }),
62
66
  /* @__PURE__ */ r.jsxs("label", { htmlFor: u, children: [
63
67
  /* @__PURE__ */ r.jsx(
64
68
  "input",
@@ -83,24 +87,24 @@ function se({
83
87
  adm:pointer-events-none
84
88
  `),
85
89
  disabled: t,
86
- children: /* @__PURE__ */ r.jsx("span", { children: g?.selectFile || (d ? "Select files" : "Select the file") })
90
+ children: /* @__PURE__ */ r.jsx("span", { className: "adm:text-center", children: p?.selectFile || (d ? "Select files" : "Select the file") })
87
91
  }
88
92
  )
89
93
  ] })
90
94
  ] }),
91
- /* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : "muted", children: g?.fileRequirements || (l && l.length > 0 ? `Allowed files: ${l.join(", ")}. Maximum size ${o} MB${d ? `. Up to ${p} files` : ""}.` : `Maximum size ${o} MB${d ? `. Up to ${p} files` : ""}.`) })
95
+ /* @__PURE__ */ r.jsx(C, { className: "adm:text-center", color: n && !t ? "destructive" : "muted", children: p?.fileRequirements || (l && l.length > 0 ? `Allowed files: ${l.join(", ")}. Maximum size ${o} MB${d ? `. Up to ${g} files` : ""}.` : `Maximum size ${o} MB${d ? `. Up to ${g} files` : ""}.`) })
92
96
  ]
93
97
  }
94
98
  );
95
99
  }
96
100
  function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove: i }) {
97
- const { file: l, status: o = "idle", deletable: p = !0, disabled: g, error: v } = c, m = n || g, j = o === "uploading", x = o === "deleting", h = o === "error", u = o === "success", U = j || x, V = () => j || x ? "progress_activity" : u ? "check_circle" : h ? "error" : "text_snippet", A = () => h ? "adm:text-destructive" : u ? "adm:text-success-600" : d && !m ? "adm:text-destructive" : "adm:text-primary", B = () => h ? "adm:bg-destructive/15" : u ? "adm:bg-success/15" : j || x ? "adm:bg-primary/15" : d && !m ? "adm:bg-destructive/15" : "adm:bg-primary/15";
101
+ const { file: l, status: o = "idle", deletable: g = !0, disabled: p, error: v } = c, m = n || p, j = o === "uploading", x = o === "deleting", h = o === "error", u = o === "success", k = j || x, V = () => j || x ? "progress_activity" : u ? "check_circle" : h ? "error" : "article", A = () => h ? "adm:text-destructive" : u ? "adm:text-success-600" : d && !m ? "adm:text-destructive" : "adm:text-primary", B = () => h ? "adm:bg-destructive/15" : u ? "adm:bg-success/15" : j || x ? "adm:bg-primary/15" : d && !m ? "adm:bg-destructive/15" : "adm:bg-background";
98
102
  return /* @__PURE__ */ r.jsxs(
99
103
  "div",
100
104
  {
101
105
  className: N(
102
- "adm:flex adm:items-center adm:gap-4 adm:rounded-2xl adm:border adm:p-6",
103
- h ? "adm:border-destructive adm:bg-destructive/5" : u ? "adm:border-success-200 adm:bg-success-50" : d && !m ? "adm:border-destructive adm:bg-destructive/5" : "adm:border-input adm:bg-muted",
106
+ "adm:flex adm:items-center adm:gap-6 adm:rounded-3xl adm:p-4",
107
+ h ? "adm:bg-destructive/5" : u ? "adm:bg-success-50" : d && !m ? "adm:bg-destructive/5" : "adm:bg-muted",
104
108
  m && "adm:cursor-not-allowed adm:opacity-50"
105
109
  ),
106
110
  children: [
@@ -108,7 +112,10 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
108
112
  "div",
109
113
  {
110
114
  className: N(
111
- "adm:flex adm:items-center adm:justify-center adm:rounded-xl adm:p-2.5",
115
+ `
116
+ adm:flex adm:size-11 adm:items-center adm:justify-center
117
+ adm:rounded-full
118
+ `,
112
119
  B()
113
120
  ),
114
121
  children: /* @__PURE__ */ r.jsx(
@@ -117,7 +124,7 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
117
124
  symbol: V(),
118
125
  className: N(
119
126
  A(),
120
- U && "adm:animate-spin"
127
+ k && "adm:animate-spin"
121
128
  )
122
129
  }
123
130
  )
@@ -146,24 +153,32 @@ function ae({ fileWithMetadata: c, invalid: d, disabled: n, labels: t, onRemove:
146
153
  (l.size / 1024 / 1024).toFixed(1),
147
154
  " MB"
148
155
  ] }),
149
- p && /* @__PURE__ */ r.jsx(
156
+ g && /* @__PURE__ */ r.jsx(
150
157
  q,
151
158
  {
152
- variant: "destructive-medium",
159
+ variant: "link",
160
+ size: "icon",
153
161
  onClick: i,
154
162
  type: "button",
155
- disabled: m || U,
156
- children: /* @__PURE__ */ r.jsx(M, { symbol: "delete", className: "adm:text-destructive" })
163
+ disabled: m || k,
164
+ children: /* @__PURE__ */ r.jsx(
165
+ M,
166
+ {
167
+ symbol: "cancel",
168
+ fill: 1,
169
+ className: "adm:text-destructive"
170
+ }
171
+ )
157
172
  }
158
173
  )
159
174
  ]
160
175
  }
161
176
  );
162
177
  }
163
- function G({ files: c, isMultiple: d, invalid: n, disabled: t, labels: i, onRemoveFile: l, onClearAll: o }) {
178
+ function _({ files: c, isMultiple: d, invalid: n, disabled: t, labels: i, onRemoveFile: l, onClearAll: o }) {
164
179
  return c.length === 0 ? null : /* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:flex-col adm:gap-3", children: [
165
180
  d && c.length > 1 && /* @__PURE__ */ r.jsxs("div", { className: "adm:flex adm:items-center adm:justify-between", children: [
166
- /* @__PURE__ */ r.jsx(C, { className: "adm:text-sm adm:font-medium", color: n && !t ? "destructive" : void 0, children: i?.filesSelected?.(c.length) || `${c.length} file${c.length !== 1 ? "s" : ""} selected` }),
181
+ /* @__PURE__ */ r.jsx(C, { className: "adm:text-center adm:text-sm adm:font-medium", color: n && !t ? "destructive" : void 0, children: i?.filesSelected?.(c.length) || `${c.length} file${c.length !== 1 ? "s" : ""} selected` }),
167
182
  /* @__PURE__ */ r.jsx(
168
183
  q,
169
184
  {
@@ -176,16 +191,16 @@ function G({ files: c, isMultiple: d, invalid: n, disabled: t, labels: i, onRemo
176
191
  }
177
192
  )
178
193
  ] }),
179
- c.map((p, g) => /* @__PURE__ */ r.jsx(
194
+ c.map((g, p) => /* @__PURE__ */ r.jsx(
180
195
  ae,
181
196
  {
182
- fileWithMetadata: p,
197
+ fileWithMetadata: g,
183
198
  invalid: n,
184
199
  disabled: t,
185
200
  labels: i,
186
- onRemove: () => l(g)
201
+ onRemove: () => l(p)
187
202
  },
188
- p.id
203
+ g.id
189
204
  ))
190
205
  ] });
191
206
  }
@@ -197,19 +212,19 @@ function ue({
197
212
  onFilesSelect: i,
198
213
  onFileAdd: l,
199
214
  onFileRemove: o,
200
- onFilesAdd: p,
201
- onFilesRemove: g,
215
+ onFilesAdd: g,
216
+ onFilesRemove: p,
202
217
  onInvalidFile: v,
203
218
  acceptedExtensions: m,
204
219
  maxSizeInMB: j = 50,
205
220
  maxFiles: x = 10,
206
221
  multiple: h = !1,
207
222
  filesPosition: u = "below",
208
- invalid: U = !1,
223
+ invalid: k = !1,
209
224
  disabled: V = !1,
210
225
  "aria-invalid": A,
211
226
  generateId: B,
212
- labels: k,
227
+ labels: z,
213
228
  input: F,
214
229
  ...H
215
230
  }) {
@@ -229,7 +244,7 @@ function ue({
229
244
  }
230
245
  return () => a.disconnect();
231
246
  }, []);
232
- const X = m?.join(",") || "", Y = j * 1024 * 1024, f = h || n !== void 0 || i !== void 0, D = f ? n || [] : d ? [d] : [], z = U || A, b = V || K, Z = B || ((e) => `${Date.now()}-${Math.random().toString(36).substring(2, 11)}-${e.name}`), I = (e) => ({
247
+ const X = m?.join(",") || "", Y = j * 1024 * 1024, f = h || n !== void 0 || i !== void 0, y = f ? n || [] : d ? [d] : [], U = k || A, b = V || K, Z = B || ((e) => `${Date.now()}-${Math.random().toString(36).substring(2, 11)}-${e.name}`), I = (e) => ({
233
248
  id: Z(e),
234
249
  file: e
235
250
  }), P = (e) => {
@@ -241,8 +256,8 @@ function ue({
241
256
  if (e.preventDefault(), L(!1), f) {
242
257
  const s = Array.from(e.dataTransfer.files).filter(T);
243
258
  if (s.length > 0) {
244
- const y = s.map(I), _ = [...n || [], ...y].slice(0, x);
245
- i && i(_), p && p(y);
259
+ const D = s.map(I), G = [...n || [], ...D].slice(0, x);
260
+ i && i(G), g && g(D);
246
261
  }
247
262
  } else {
248
263
  const a = e.dataTransfer.files[0];
@@ -256,8 +271,8 @@ function ue({
256
271
  if (f) {
257
272
  const s = (e.target.files ? Array.from(e.target.files) : []).filter(T);
258
273
  if (s.length > 0) {
259
- const y = s.map(I), _ = [...n || [], ...y].slice(0, x);
260
- i && i(_), p && p(y);
274
+ const D = s.map(I), G = [...n || [], ...D].slice(0, x);
275
+ i && i(G), g && g(D);
261
276
  }
262
277
  } else {
263
278
  const a = e.target.files?.[0];
@@ -270,49 +285,49 @@ function ue({
270
285
  }
271
286
  }, O = (e) => {
272
287
  if (b) return;
273
- const a = D[e];
288
+ const a = y[e];
274
289
  if (f) {
275
- const s = D.filter((y, w) => w !== e);
276
- i && i(s), g && a && g([a]);
290
+ const s = y.filter((D, w) => w !== e);
291
+ i && i(s), p && a && p([a]);
277
292
  } else
278
293
  t && t(null), o && a && o(a);
279
294
  }, T = (e) => {
280
- const a = e.name.substring(e.name.lastIndexOf(".")), s = !m || m.length === 0 || m.includes(a.toLowerCase()), y = e.size <= Y;
281
- if (!s || !y) {
295
+ const a = e.name.substring(e.name.lastIndexOf(".")), s = !m || m.length === 0 || m.includes(a.toLowerCase()), D = e.size <= Y;
296
+ if (!s || !D) {
282
297
  const w = I(e);
283
- !s && v ? v(w, "extension") : !y && v && v(w, "size");
298
+ !s && v ? v(w, "extension") : !D && v && v(w, "size");
284
299
  }
285
- return s && y;
300
+ return s && D;
286
301
  }, R = () => {
287
302
  if (b) return;
288
- const e = [...D];
289
- f ? (i && i([]), g && e.length > 0 && g(e)) : (t && t(null), o && e.length > 0 && o(e[0]));
303
+ const e = [...y];
304
+ f ? (i && i([]), p && e.length > 0 && p(e)) : (t && t(null), o && e.length > 0 && o(e[0]));
290
305
  };
291
306
  return /* @__PURE__ */ r.jsxs("div", { ref: $, className: N("adm:flex adm:flex-col adm:gap-4", c), ...H, children: [
292
307
  f && u === "above" && /* @__PURE__ */ r.jsx(
293
- G,
308
+ _,
294
309
  {
295
- files: D,
310
+ files: y,
296
311
  isMultiple: f,
297
- invalid: z,
312
+ invalid: U,
298
313
  disabled: b,
299
- labels: k,
314
+ labels: z,
300
315
  onRemoveFile: O,
301
316
  onClearAll: R
302
317
  }
303
318
  ),
304
- (f || D.length === 0) && /* @__PURE__ */ r.jsx(
319
+ (f || y.length === 0) && /* @__PURE__ */ r.jsx(
305
320
  se,
306
321
  {
307
322
  isDragging: J,
308
323
  isMultiple: f,
309
- invalid: z,
324
+ invalid: U,
310
325
  disabled: b,
311
326
  accept: X,
312
327
  acceptedExtensions: m,
313
328
  maxSizeInMB: j,
314
329
  maxFiles: x,
315
- labels: k,
330
+ labels: z,
316
331
  input: F,
317
332
  onDragOver: P,
318
333
  onDragLeave: W,
@@ -320,26 +335,26 @@ function ue({
320
335
  onFileChange: ee
321
336
  }
322
337
  ),
323
- !f && D.length > 0 && /* @__PURE__ */ r.jsx(
324
- G,
338
+ !f && y.length > 0 && /* @__PURE__ */ r.jsx(
339
+ _,
325
340
  {
326
- files: D,
341
+ files: y,
327
342
  isMultiple: f,
328
- invalid: z,
343
+ invalid: U,
329
344
  disabled: b,
330
- labels: k,
345
+ labels: z,
331
346
  onRemoveFile: O,
332
347
  onClearAll: R
333
348
  }
334
349
  ),
335
350
  f && u === "below" && /* @__PURE__ */ r.jsx(
336
- G,
351
+ _,
337
352
  {
338
- files: D,
353
+ files: y,
339
354
  isMultiple: f,
340
- invalid: z,
355
+ invalid: U,
341
356
  disabled: b,
342
- labels: k,
357
+ labels: z,
343
358
  onRemoveFile: O,
344
359
  onClearAll: R
345
360
  }
@@ -1,6 +1,12 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./jsx-runtime-BB_1_6y_.cjs"),B=require("./button-CFJs0esR.cjs"),A=require("./icon-B7joBr0A.cjs"),D=require("./typography-Bj8oEDuE.cjs"),g=require("./index-DoxiiusW.cjs"),T=require("react");function P({isDragging:i,isMultiple:o,invalid:s,disabled:t,accept:m,acceptedExtensions:l,maxSizeInMB:f,maxFiles:u,labels:c,input:j,onDragOver:h,onDragLeave:N,onDrop:v,onFileChange:q}){const y=j?.id||`file-upload-${Math.random().toString(36).substring(2,11)}`;return r.jsxRuntimeExports.jsxs("div",{onDragOver:t?void 0:h,onDragLeave:t?void 0:N,onDrop:t?void 0:v,className:g.cn(`
2
- adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-2xl
3
- adm:border-2
4
- `,"adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors",{"adm:border-primary":i&&!s&&!t,"adm:border-destructive":s&&!t,"adm:border-input":!i&&!s,"adm:cursor-not-allowed adm:opacity-50":t}),children:[r.jsxRuntimeExports.jsx("div",{className:g.cn("adm:flex adm:items-center adm:justify-center adm:rounded-xl adm:p-2.5",s&&!t?"adm:bg-destructive/10":"adm:bg-primary-50"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"text_snippet",className:s&&!t?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:items-center adm:gap-2",children:[r.jsxRuntimeExports.jsx(D.Typography,{color:s&&!t?"destructive":void 0,children:c?.dragDrop||(o?"Drag and drop your files here or":"Drag and drop your file here or")}),r.jsxRuntimeExports.jsxs("label",{htmlFor:y,children:[r.jsxRuntimeExports.jsx("input",{...j,id:y,type:"file",accept:m,multiple:o,onChange:q,disabled:t,className:"adm:hidden"}),r.jsxRuntimeExports.jsx(B.Button,{asChild:!0,type:"button",variant:"link",className:g.cn("adm:cursor-pointer",t&&`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./jsx-runtime-BB_1_6y_.cjs"),B=require("./button-CXFZVTXF.cjs"),A=require("./icon-B7joBr0A.cjs"),D=require("./typography-Bj8oEDuE.cjs"),h=require("./index-DoxiiusW.cjs"),T=require("react");function P({isDragging:o,isMultiple:i,invalid:s,disabled:t,accept:m,acceptedExtensions:c,maxSizeInMB:f,maxFiles:u,labels:l,input:j,onDragOver:g,onDragLeave:N,onDrop:v,onFileChange:z}){const y=j?.id||`file-upload-${Math.random().toString(36).substring(2,11)}`;return r.jsxRuntimeExports.jsxs("div",{onDragOver:t?void 0:g,onDragLeave:t?void 0:N,onDrop:t?void 0:v,className:h.cn(`
2
+ adm:flex adm:flex-col adm:items-center adm:gap-6 adm:rounded-3xl
3
+ adm:border
4
+ `,"adm:border-dashed adm:bg-background adm:p-6 adm:transition-colors","adm:hover:border-strong-border adm:hover:bg-muted",{"adm:border-strong-border":o&&!s&&!t,"adm:border-destructive":s&&!t,"adm:border-input":!o&&!s,"adm:cursor-not-allowed adm:opacity-50":t}),children:[r.jsxRuntimeExports.jsx("div",{className:h.cn(`
5
+ adm:flex adm:size-11 adm:items-center adm:justify-center
6
+ adm:rounded-full
7
+ `,s&&!t?"adm:bg-destructive/10":"adm:bg-primary-50"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"upload",className:s&&!t?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:items-center adm:gap-2",children:[r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center",color:s&&!t?"destructive":void 0,children:l?.dragDrop||(i?"Drag and drop your files here or":"Drag and drop your file here or")}),r.jsxRuntimeExports.jsxs("label",{htmlFor:y,children:[r.jsxRuntimeExports.jsx("input",{...j,id:y,type:"file",accept:m,multiple:i,onChange:z,disabled:t,className:"adm:hidden"}),r.jsxRuntimeExports.jsx(B.Button,{asChild:!0,type:"button",variant:"link",className:h.cn("adm:cursor-pointer",t&&`
5
8
  adm:pointer-events-none
6
- `),disabled:t,children:r.jsxRuntimeExports.jsx("span",{children:c?.selectFile||(o?"Select files":"Select the file")})})]})]}),r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center",color:s&&!t?"destructive":"muted",children:c?.fileRequirements||(l&&l.length>0?`Allowed files: ${l.join(", ")}. Maximum size ${f} MB${o?`. Up to ${u} files`:""}.`:`Maximum size ${f} MB${o?`. Up to ${u} files`:""}.`)})]})}function F({file:i,invalid:o,disabled:s,onRemove:t}){return r.jsxRuntimeExports.jsxs("div",{className:g.cn("adm:flex adm:items-center adm:gap-4 adm:rounded-2xl adm:border adm:p-6",o&&!s?"adm:border-destructive adm:bg-destructive/5":"adm:border-input adm:bg-muted",s&&"adm:cursor-not-allowed adm:opacity-50"),children:[r.jsxRuntimeExports.jsx("div",{className:g.cn("adm:flex adm:items-center adm:justify-center adm:rounded-xl adm:p-2.5",o&&!s?"adm:bg-destructive/15":"adm:bg-primary/15"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"text_snippet",className:o&&!s?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsx("div",{className:"adm:flex adm:min-w-0 adm:flex-1 adm:flex-col adm:gap-1",children:r.jsxRuntimeExports.jsx(D.Typography,{className:g.cn("adm:min-w-0 adm:truncate adm:font-semibold"),children:i.name})}),r.jsxRuntimeExports.jsxs(D.Typography,{className:"adm:shrink-0",color:"muted",children:[(i.size/1024/1024).toFixed(1)," MB"]}),r.jsxRuntimeExports.jsx(B.Button,{variant:"destructive-medium",onClick:t,type:"button",disabled:s,children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"delete",className:"adm:text-destructive"})})]})}function O({files:i,isMultiple:o,invalid:s,disabled:t,labels:m,onRemoveFile:l,onClearAll:f}){return i.length===0?null:r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:gap-3",children:[o&&i.length>1&&r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:items-center adm:justify-between",children:[r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-sm adm:font-medium",color:s&&!t?"destructive":void 0,children:m?.filesSelected?.(i.length)||`${i.length} file${i.length!==1?"s":""} selected`}),r.jsxRuntimeExports.jsx(B.Button,{variant:"ghost",size:"sm",onClick:f,type:"button",disabled:t,children:m?.clearAll||"Clear all"})]}),i.map((u,c)=>r.jsxRuntimeExports.jsx(F,{file:u,invalid:s,disabled:t,onRemove:()=>l(c)},`${u.name}-${c}`))]})}function S({className:i,selectedFile:o,selectedFiles:s,onFileSelect:t,onFilesSelect:m,onFileAdd:l,onFileRemove:f,onFilesAdd:u,onFilesRemove:c,onInvalidFile:j,acceptedExtensions:h,maxSizeInMB:N=50,maxFiles:v=10,multiple:q=!1,filesPosition:y="below",invalid:L=!1,disabled:U=!1,"aria-invalid":M,labels:$,input:V,..._}){const[G,k]=T.useState(!1),[H,J]=T.useState(!1),R=T.useRef(null);T.useEffect(()=>{const e=()=>{if(R.current){const n=R.current.closest("fieldset");J(n?.disabled??!1)}};e();const a=new MutationObserver(e);if(R.current){const n=R.current.closest("fieldset");n&&a.observe(n,{attributes:!0,attributeFilter:["disabled"]})}return()=>a.disconnect()},[]);const K=h?.join(",")||"",Q=N*1024*1024,d=q||s!==void 0||m!==void 0,p=d?s||[]:o?[o]:[],w=L||M,x=U||H,W=e=>{x||(e.preventDefault(),k(!0))},X=e=>{x||(e.preventDefault(),k(!1))},Y=e=>{if(!x)if(e.preventDefault(),k(!1),d){const n=Array.from(e.dataTransfer.files).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.dataTransfer.files[0];a&&C(a)&&(t&&t(a),l&&l(a))}},Z=e=>{if(!x){if(d){const n=(e.target.files?Array.from(e.target.files):[]).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.target.files?.[0];a&&C(a)&&(t&&t(a),l&&l(a))}e.target.value=""}},z=e=>{if(x)return;const a=p[e];if(d){const n=p.filter((b,E)=>E!==e);m&&m(n),c&&a&&c([a])}else t&&t(null),f&&a&&f(a)},C=e=>{const a=e.name.substring(e.name.lastIndexOf(".")),n=!h||h.length===0||h.includes(a.toLowerCase()),b=e.size<=Q;return!n&&j?j(e,"extension"):!b&&j&&j(e,"size"),n&&b},I=()=>{if(x)return;const e=[...p];d?(m&&m([]),c&&e.length>0&&c(e)):(t&&t(null),f&&e.length>0&&f(e[0]))};return r.jsxRuntimeExports.jsxs("div",{ref:R,className:g.cn("adm:flex adm:flex-col adm:gap-4",i),..._,children:[d&&y==="above"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:z,onClearAll:I}),(d||p.length===0)&&r.jsxRuntimeExports.jsx(P,{isDragging:G,isMultiple:d,invalid:w,disabled:x,accept:K,acceptedExtensions:h,maxSizeInMB:N,maxFiles:v,labels:$,input:V,onDragOver:W,onDragLeave:X,onDrop:Y,onFileChange:Z}),!d&&p.length>0&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:z,onClearAll:I}),d&&y==="below"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:z,onClearAll:I})]})}exports.FileUpload=S;
9
+ `),disabled:t,children:r.jsxRuntimeExports.jsx("span",{className:"adm:text-center",children:l?.selectFile||(i?"Select files":"Select the file")})})]})]}),r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center",color:s&&!t?"destructive":"muted",children:l?.fileRequirements||(c&&c.length>0?`Allowed files: ${c.join(", ")}. Maximum size ${f} MB${i?`. Up to ${u} files`:""}.`:`Maximum size ${f} MB${i?`. Up to ${u} files`:""}.`)})]})}function F({file:o,invalid:i,disabled:s,onRemove:t}){return r.jsxRuntimeExports.jsxs("div",{className:h.cn("adm:flex adm:items-center adm:gap-6 adm:rounded-3xl adm:p-4",i&&!s?"adm:bg-destructive/5":"adm:bg-muted",s&&"adm:cursor-not-allowed adm:opacity-50"),children:[r.jsxRuntimeExports.jsx("div",{className:h.cn(`
10
+ adm:flex adm:size-11 adm:items-center adm:justify-center
11
+ adm:rounded-full
12
+ `,i&&!s?"adm:bg-destructive/15":"adm:bg-background"),children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"article",className:i&&!s?"adm:text-destructive":"adm:text-primary"})}),r.jsxRuntimeExports.jsx("div",{className:"adm:flex adm:min-w-0 adm:flex-1 adm:flex-col adm:gap-1",children:r.jsxRuntimeExports.jsx(D.Typography,{className:h.cn("adm:min-w-0 adm:truncate adm:font-semibold"),children:o.name})}),r.jsxRuntimeExports.jsxs(D.Typography,{className:"adm:shrink-0",color:"muted",children:[(o.size/1024/1024).toFixed(1)," MB"]}),r.jsxRuntimeExports.jsx(B.Button,{variant:"link",size:"icon",onClick:t,type:"button",disabled:s,children:r.jsxRuntimeExports.jsx(A.Icon,{symbol:"cancel",fill:1,className:"adm:text-destructive"})})]})}function O({files:o,isMultiple:i,invalid:s,disabled:t,labels:m,onRemoveFile:c,onClearAll:f}){return o.length===0?null:r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:flex-col adm:gap-3",children:[i&&o.length>1&&r.jsxRuntimeExports.jsxs("div",{className:"adm:flex adm:items-center adm:justify-between",children:[r.jsxRuntimeExports.jsx(D.Typography,{className:"adm:text-center adm:text-sm adm:font-medium",color:s&&!t?"destructive":void 0,children:m?.filesSelected?.(o.length)||`${o.length} file${o.length!==1?"s":""} selected`}),r.jsxRuntimeExports.jsx(B.Button,{variant:"ghost",size:"sm",onClick:f,type:"button",disabled:t,children:m?.clearAll||"Clear all"})]}),o.map((u,l)=>r.jsxRuntimeExports.jsx(F,{file:u,invalid:s,disabled:t,onRemove:()=>c(l)},`${u.name}-${l}`))]})}function S({className:o,selectedFile:i,selectedFiles:s,onFileSelect:t,onFilesSelect:m,onFileAdd:c,onFileRemove:f,onFilesAdd:u,onFilesRemove:l,onInvalidFile:j,acceptedExtensions:g,maxSizeInMB:N=50,maxFiles:v=10,multiple:z=!1,filesPosition:y="below",invalid:L=!1,disabled:U=!1,"aria-invalid":M,labels:$,input:V,..._}){const[G,k]=T.useState(!1),[H,J]=T.useState(!1),R=T.useRef(null);T.useEffect(()=>{const e=()=>{if(R.current){const n=R.current.closest("fieldset");J(n?.disabled??!1)}};e();const a=new MutationObserver(e);if(R.current){const n=R.current.closest("fieldset");n&&a.observe(n,{attributes:!0,attributeFilter:["disabled"]})}return()=>a.disconnect()},[]);const K=g?.join(",")||"",Q=N*1024*1024,d=z||s!==void 0||m!==void 0,p=d?s||[]:i?[i]:[],w=L||M,x=U||H,W=e=>{x||(e.preventDefault(),k(!0))},X=e=>{x||(e.preventDefault(),k(!1))},Y=e=>{if(!x)if(e.preventDefault(),k(!1),d){const n=Array.from(e.dataTransfer.files).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.dataTransfer.files[0];a&&C(a)&&(t&&t(a),c&&c(a))}},Z=e=>{if(!x){if(d){const n=(e.target.files?Array.from(e.target.files):[]).filter(C);if(n.length>0){const E=[...s||[],...n].slice(0,v);m&&m(E),u&&u(n)}}else{const a=e.target.files?.[0];a&&C(a)&&(t&&t(a),c&&c(a))}e.target.value=""}},q=e=>{if(x)return;const a=p[e];if(d){const n=p.filter((b,E)=>E!==e);m&&m(n),l&&a&&l([a])}else t&&t(null),f&&a&&f(a)},C=e=>{const a=e.name.substring(e.name.lastIndexOf(".")),n=!g||g.length===0||g.includes(a.toLowerCase()),b=e.size<=Q;return!n&&j?j(e,"extension"):!b&&j&&j(e,"size"),n&&b},I=()=>{if(x)return;const e=[...p];d?(m&&m([]),l&&e.length>0&&l(e)):(t&&t(null),f&&e.length>0&&f(e[0]))};return r.jsxRuntimeExports.jsxs("div",{ref:R,className:h.cn("adm:flex adm:flex-col adm:gap-4",o),..._,children:[d&&y==="above"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I}),(d||p.length===0)&&r.jsxRuntimeExports.jsx(P,{isDragging:G,isMultiple:d,invalid:w,disabled:x,accept:K,acceptedExtensions:g,maxSizeInMB:N,maxFiles:v,labels:$,input:V,onDragOver:W,onDragLeave:X,onDrop:Y,onFileChange:Z}),!d&&p.length>0&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I}),d&&y==="below"&&r.jsxRuntimeExports.jsx(O,{files:p,isMultiple:d,invalid:w,disabled:x,labels:$,onRemoveFile:q,onClearAll:I})]})}exports.FileUpload=S;