@alfadocs/ui-kit-debug 1.117.0 → 1.119.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 (257) hide show
  1. package/dist/_chunks/{address-autocomplete-Bnc9ieKO.js → address-autocomplete-zLygkxFc.js} +2 -2
  2. package/dist/_chunks/{address-autocomplete-Bnc9ieKO.js.map → address-autocomplete-zLygkxFc.js.map} +1 -1
  3. package/dist/_chunks/{address-fields-RIaGnpnm.js → address-fields-Dl1ALKhP.js} +2 -2
  4. package/dist/_chunks/{address-fields-RIaGnpnm.js.map → address-fields-Dl1ALKhP.js.map} +1 -1
  5. package/dist/_chunks/bill-line-table-DUMEHnQ4.js +1754 -0
  6. package/dist/_chunks/bill-line-table-DUMEHnQ4.js.map +1 -0
  7. package/dist/_chunks/{calendar-appointment-editor-dialog-BEmBcb61.js → calendar-appointment-editor-dialog-rw02sXGw.js} +4 -4
  8. package/dist/_chunks/{calendar-appointment-editor-dialog-BEmBcb61.js.map → calendar-appointment-editor-dialog-rw02sXGw.js.map} +1 -1
  9. package/dist/_chunks/{compact-editor-fields-6sTWRLtf.js → compact-editor-fields-cP6yh7xv.js} +3 -3
  10. package/dist/_chunks/{compact-editor-fields-6sTWRLtf.js.map → compact-editor-fields-cP6yh7xv.js.map} +1 -1
  11. package/dist/_chunks/counts-BXtzNv_G.js +92 -0
  12. package/dist/_chunks/counts-BXtzNv_G.js.map +1 -0
  13. package/dist/_chunks/{data-grid-DiBSbN2Y.js → data-grid-Bbf8t4z3.js} +2 -2
  14. package/dist/_chunks/{data-grid-DiBSbN2Y.js.map → data-grid-Bbf8t4z3.js.map} +1 -1
  15. package/dist/_chunks/{default-tabs-CD285u0C.js → default-tabs-Cxkw1Ws0.js} +332 -368
  16. package/dist/_chunks/default-tabs-Cxkw1Ws0.js.map +1 -0
  17. package/dist/_chunks/{document-scanner-5p-Uu8dy.js → document-scanner-CETscDea.js} +2 -2
  18. package/dist/_chunks/{document-scanner-5p-Uu8dy.js.map → document-scanner-CETscDea.js.map} +1 -1
  19. package/dist/_chunks/file-code-Cf-_gSzd.js +23 -0
  20. package/dist/_chunks/file-code-Cf-_gSzd.js.map +1 -0
  21. package/dist/_chunks/{file-manager-CV1_GtjC.js → file-manager-DNq-sEsy.js} +2 -2
  22. package/dist/_chunks/{file-manager-CV1_GtjC.js.map → file-manager-DNq-sEsy.js.map} +1 -1
  23. package/dist/_chunks/{file-upload-CxjCs7TX.js → file-upload-DQc0LsBM.js} +385 -311
  24. package/dist/_chunks/file-upload-DQc0LsBM.js.map +1 -0
  25. package/dist/_chunks/invoice-upload-list-CsFsRgbt.js +952 -0
  26. package/dist/_chunks/invoice-upload-list-CsFsRgbt.js.map +1 -0
  27. package/dist/_chunks/map-view-CHeGd94F.js +1443 -0
  28. package/dist/_chunks/map-view-CHeGd94F.js.map +1 -0
  29. package/dist/_chunks/maps-MpMxTBov.js +63 -0
  30. package/dist/_chunks/maps-MpMxTBov.js.map +1 -0
  31. package/dist/_chunks/{maps-core-gate-Dgs7jXxy.js → maps-core-gate-C4dyo1ic.js} +5 -5
  32. package/dist/_chunks/{maps-core-gate-Dgs7jXxy.js.map → maps-core-gate-C4dyo1ic.js.map} +1 -1
  33. package/dist/_chunks/{notes-panel-CHR-Jv6N.js → notes-panel-BOwlTz2-.js} +2 -2
  34. package/dist/_chunks/{notes-panel-CHR-Jv6N.js.map → notes-panel-BOwlTz2-.js.map} +1 -1
  35. package/dist/_chunks/package-plus-CTecQK3x.js +25 -0
  36. package/dist/_chunks/package-plus-CTecQK3x.js.map +1 -0
  37. package/dist/_chunks/{practice-results-CzHWprX4.js → practice-results-b3uchdBn.js} +40 -39
  38. package/dist/_chunks/practice-results-b3uchdBn.js.map +1 -0
  39. package/dist/_chunks/{public-footer-CB7ruuLI.js → public-footer-C8UIzqLJ.js} +326 -243
  40. package/dist/_chunks/public-footer-C8UIzqLJ.js.map +1 -0
  41. package/dist/_chunks/{radiograph-panel.agent-9jwXlOXB.js → radiograph-panel.agent-Dcv16n7u.js} +2 -2
  42. package/dist/_chunks/{radiograph-panel.agent-9jwXlOXB.js.map → radiograph-panel.agent-Dcv16n7u.js.map} +1 -1
  43. package/dist/_chunks/{reserved.agent-TaZfI3yj.js → reserved.agent-V2Eqoabh.js} +2 -2
  44. package/dist/_chunks/{reserved.agent-TaZfI3yj.js.map → reserved.agent-V2Eqoabh.js.map} +1 -1
  45. package/dist/_chunks/{rich-text-editor-CMPA5Wgy.js → rich-text-editor-BLEdXJ0l.js} +2 -2
  46. package/dist/_chunks/{rich-text-editor-CMPA5Wgy.js.map → rich-text-editor-BLEdXJ0l.js.map} +1 -1
  47. package/dist/_chunks/{signed-out-frame-bh7fn_Px.js → signed-out-frame-fUf7tqs3.js} +2 -2
  48. package/dist/_chunks/{signed-out-frame-bh7fn_Px.js.map → signed-out-frame-fUf7tqs3.js.map} +1 -1
  49. package/dist/_chunks/{task-editor-WdDCqbIL.js → task-editor-Czcx9B-3.js} +2 -2
  50. package/dist/_chunks/{task-editor-WdDCqbIL.js.map → task-editor-Czcx9B-3.js.map} +1 -1
  51. package/dist/_chunks/{toolbar-z8vXnpXz.js → toolbar-DoKcoE2q.js} +2 -2
  52. package/dist/_chunks/{toolbar-z8vXnpXz.js.map → toolbar-DoKcoE2q.js.map} +1 -1
  53. package/dist/_chunks/types-BrJRsnSG.js +291 -0
  54. package/dist/_chunks/types-BrJRsnSG.js.map +1 -0
  55. package/dist/_chunks/warehouse-load-summary-D88M4Ii7.js +255 -0
  56. package/dist/_chunks/warehouse-load-summary-D88M4Ii7.js.map +1 -0
  57. package/dist/agent-catalog.json +360 -14
  58. package/dist/agent-i18n/en.json +31 -2
  59. package/dist/browser-support.js +1 -1
  60. package/dist/components/_shared/warehouse-load/counts.d.ts +82 -0
  61. package/dist/components/_shared/warehouse-load/counts.d.ts.map +1 -0
  62. package/dist/components/_shared/warehouse-load/index.d.ts +4 -0
  63. package/dist/components/_shared/warehouse-load/index.d.ts.map +1 -0
  64. package/dist/components/_shared/warehouse-load/maps.d.ts +67 -0
  65. package/dist/components/_shared/warehouse-load/maps.d.ts.map +1 -0
  66. package/dist/components/_shared/warehouse-load/types.d.ts +18 -0
  67. package/dist/components/_shared/warehouse-load/types.d.ts.map +1 -0
  68. package/dist/components/address-autocomplete/index.js +1 -1
  69. package/dist/components/address-fields/index.js +1 -1
  70. package/dist/components/bill-line-table/bill-line-table.columns.d.ts +2 -0
  71. package/dist/components/bill-line-table/bill-line-table.columns.d.ts.map +1 -1
  72. package/dist/components/bill-line-table/bill-line-table.d.ts.map +1 -1
  73. package/dist/components/bill-line-table/bill-line-table.header.d.ts +7 -0
  74. package/dist/components/bill-line-table/bill-line-table.header.d.ts.map +1 -0
  75. package/dist/components/bill-line-table/bill-line-table.model.d.ts +10 -1
  76. package/dist/components/bill-line-table/bill-line-table.model.d.ts.map +1 -1
  77. package/dist/components/bill-line-table/bill-line-table.types.d.ts +66 -1
  78. package/dist/components/bill-line-table/bill-line-table.types.d.ts.map +1 -1
  79. package/dist/components/bill-line-table/bill-line-table.variants.d.ts +12 -0
  80. package/dist/components/bill-line-table/bill-line-table.variants.d.ts.map +1 -1
  81. package/dist/components/bill-line-table/index.d.ts +2 -2
  82. package/dist/components/bill-line-table/index.d.ts.map +1 -1
  83. package/dist/components/bill-line-table/index.js +10 -8
  84. package/dist/components/bill-table/index.js +1 -1
  85. package/dist/components/booking/index.js +1 -1
  86. package/dist/components/data-grid/data-grid.variants.d.ts +1 -1
  87. package/dist/components/data-grid/index.js +2 -2
  88. package/dist/components/document-scanner/index.js +1 -1
  89. package/dist/components/file-manager/index.js +1 -1
  90. package/dist/components/file-upload/file-upload.d.ts +30 -1
  91. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  92. package/dist/components/file-upload/index.js +1 -1
  93. package/dist/components/flag/flag-view.d.ts +1 -1
  94. package/dist/components/index.d.ts +3 -0
  95. package/dist/components/index.d.ts.map +1 -1
  96. package/dist/components/invoice-upload/index.d.ts +5 -0
  97. package/dist/components/invoice-upload/index.d.ts.map +1 -0
  98. package/dist/components/invoice-upload/index.js +7 -0
  99. package/dist/components/invoice-upload/index.js.map +1 -0
  100. package/dist/components/invoice-upload/invoice-upload.agent.d.ts +4 -0
  101. package/dist/components/invoice-upload/invoice-upload.agent.d.ts.map +1 -0
  102. package/dist/components/invoice-upload/invoice-upload.d.ts +3 -0
  103. package/dist/components/invoice-upload/invoice-upload.d.ts.map +1 -0
  104. package/dist/components/invoice-upload/types.d.ts +72 -0
  105. package/dist/components/invoice-upload/types.d.ts.map +1 -0
  106. package/dist/components/invoice-upload-list/cells.d.ts +36 -0
  107. package/dist/components/invoice-upload-list/cells.d.ts.map +1 -0
  108. package/dist/components/invoice-upload-list/columns.d.ts +14 -0
  109. package/dist/components/invoice-upload-list/columns.d.ts.map +1 -0
  110. package/dist/components/invoice-upload-list/handle.d.ts +18 -0
  111. package/dist/components/invoice-upload-list/handle.d.ts.map +1 -0
  112. package/dist/components/invoice-upload-list/index.d.ts +5 -0
  113. package/dist/components/invoice-upload-list/index.d.ts.map +1 -0
  114. package/dist/components/invoice-upload-list/index.js +10 -0
  115. package/dist/components/invoice-upload-list/index.js.map +1 -0
  116. package/dist/components/invoice-upload-list/invoice-upload-list.agent.d.ts +4 -0
  117. package/dist/components/invoice-upload-list/invoice-upload-list.agent.d.ts.map +1 -0
  118. package/dist/components/invoice-upload-list/invoice-upload-list.d.ts +10 -0
  119. package/dist/components/invoice-upload-list/invoice-upload-list.d.ts.map +1 -0
  120. package/dist/components/invoice-upload-list/invoice-upload-list.variants.d.ts +28 -0
  121. package/dist/components/invoice-upload-list/invoice-upload-list.variants.d.ts.map +1 -0
  122. package/dist/components/invoice-upload-list/model.d.ts +40 -0
  123. package/dist/components/invoice-upload-list/model.d.ts.map +1 -0
  124. package/dist/components/invoice-upload-list/types.d.ts +154 -0
  125. package/dist/components/invoice-upload-list/types.d.ts.map +1 -0
  126. package/dist/components/map-view/index.js +1 -1
  127. package/dist/components/map-view/map-view-cluster.d.ts +42 -0
  128. package/dist/components/map-view/map-view-cluster.d.ts.map +1 -0
  129. package/dist/components/map-view/map-view.d.ts +39 -0
  130. package/dist/components/map-view/map-view.d.ts.map +1 -1
  131. package/dist/components/notes-panel/index.js +1 -1
  132. package/dist/components/practice-results/index.js +1 -1
  133. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  134. package/dist/components/public-footer/index.js +1 -1
  135. package/dist/components/public-footer/public-footer.d.ts +24 -0
  136. package/dist/components/public-footer/public-footer.d.ts.map +1 -1
  137. package/dist/components/public-header/public-header.d.ts +1 -1
  138. package/dist/components/radiograph-panel/index.js +1 -1
  139. package/dist/components/rich-text-editor/index.js +1 -1
  140. package/dist/components/task-editor/index.js +1 -1
  141. package/dist/components/warehouse-load-summary/index.d.ts +4 -0
  142. package/dist/components/warehouse-load-summary/index.d.ts.map +1 -0
  143. package/dist/components/warehouse-load-summary/index.js +6 -0
  144. package/dist/components/warehouse-load-summary/index.js.map +1 -0
  145. package/dist/components/warehouse-load-summary/model.d.ts +8 -0
  146. package/dist/components/warehouse-load-summary/model.d.ts.map +1 -0
  147. package/dist/components/warehouse-load-summary/types.d.ts +50 -0
  148. package/dist/components/warehouse-load-summary/types.d.ts.map +1 -0
  149. package/dist/components/warehouse-load-summary/warehouse-load-summary.agent.d.ts +4 -0
  150. package/dist/components/warehouse-load-summary/warehouse-load-summary.agent.d.ts.map +1 -0
  151. package/dist/components/warehouse-load-summary/warehouse-load-summary.d.ts +7 -0
  152. package/dist/components/warehouse-load-summary/warehouse-load-summary.d.ts.map +1 -0
  153. package/dist/core.css +1 -1
  154. package/dist/i18n/locales/ar.d.ts +210 -0
  155. package/dist/i18n/locales/ar.d.ts.map +1 -1
  156. package/dist/i18n/locales/ar.js +204 -4
  157. package/dist/i18n/locales/ar.js.map +1 -1
  158. package/dist/i18n/locales/de.d.ts +210 -0
  159. package/dist/i18n/locales/de.d.ts.map +1 -1
  160. package/dist/i18n/locales/de.js +208 -4
  161. package/dist/i18n/locales/de.js.map +1 -1
  162. package/dist/i18n/locales/el.d.ts +210 -0
  163. package/dist/i18n/locales/el.d.ts.map +1 -1
  164. package/dist/i18n/locales/el.js +208 -4
  165. package/dist/i18n/locales/el.js.map +1 -1
  166. package/dist/i18n/locales/en.d.ts +210 -0
  167. package/dist/i18n/locales/en.d.ts.map +1 -1
  168. package/dist/i18n/locales/en.js +210 -0
  169. package/dist/i18n/locales/en.js.map +1 -1
  170. package/dist/i18n/locales/es.d.ts +210 -0
  171. package/dist/i18n/locales/es.d.ts.map +1 -1
  172. package/dist/i18n/locales/es.js +206 -4
  173. package/dist/i18n/locales/es.js.map +1 -1
  174. package/dist/i18n/locales/fr.d.ts +210 -0
  175. package/dist/i18n/locales/fr.d.ts.map +1 -1
  176. package/dist/i18n/locales/fr.js +206 -4
  177. package/dist/i18n/locales/fr.js.map +1 -1
  178. package/dist/i18n/locales/hi.d.ts +210 -0
  179. package/dist/i18n/locales/hi.d.ts.map +1 -1
  180. package/dist/i18n/locales/hi.js +204 -4
  181. package/dist/i18n/locales/hi.js.map +1 -1
  182. package/dist/i18n/locales/it.d.ts +210 -0
  183. package/dist/i18n/locales/it.d.ts.map +1 -1
  184. package/dist/i18n/locales/it.js +204 -4
  185. package/dist/i18n/locales/it.js.map +1 -1
  186. package/dist/i18n/locales/ja.d.ts +210 -0
  187. package/dist/i18n/locales/ja.d.ts.map +1 -1
  188. package/dist/i18n/locales/ja.js +204 -4
  189. package/dist/i18n/locales/ja.js.map +1 -1
  190. package/dist/i18n/locales/nl.d.ts +210 -0
  191. package/dist/i18n/locales/nl.d.ts.map +1 -1
  192. package/dist/i18n/locales/nl.js +204 -4
  193. package/dist/i18n/locales/nl.js.map +1 -1
  194. package/dist/i18n/locales/pl.d.ts +210 -0
  195. package/dist/i18n/locales/pl.d.ts.map +1 -1
  196. package/dist/i18n/locales/pl.js +204 -4
  197. package/dist/i18n/locales/pl.js.map +1 -1
  198. package/dist/i18n/locales/pt.d.ts +210 -0
  199. package/dist/i18n/locales/pt.d.ts.map +1 -1
  200. package/dist/i18n/locales/pt.js +206 -4
  201. package/dist/i18n/locales/pt.js.map +1 -1
  202. package/dist/i18n/locales/ro.d.ts +210 -0
  203. package/dist/i18n/locales/ro.d.ts.map +1 -1
  204. package/dist/i18n/locales/ro.js +204 -4
  205. package/dist/i18n/locales/ro.js.map +1 -1
  206. package/dist/i18n/locales/ru.d.ts +210 -0
  207. package/dist/i18n/locales/ru.d.ts.map +1 -1
  208. package/dist/i18n/locales/ru.js +204 -4
  209. package/dist/i18n/locales/ru.js.map +1 -1
  210. package/dist/i18n/locales/sq.d.ts +210 -0
  211. package/dist/i18n/locales/sq.d.ts.map +1 -1
  212. package/dist/i18n/locales/sq.js +206 -4
  213. package/dist/i18n/locales/sq.js.map +1 -1
  214. package/dist/i18n/locales/sv.d.ts +210 -0
  215. package/dist/i18n/locales/sv.d.ts.map +1 -1
  216. package/dist/i18n/locales/sv.js +204 -4
  217. package/dist/i18n/locales/sv.js.map +1 -1
  218. package/dist/i18n/locales/tr.d.ts +210 -0
  219. package/dist/i18n/locales/tr.d.ts.map +1 -1
  220. package/dist/i18n/locales/tr.js +204 -4
  221. package/dist/i18n/locales/tr.js.map +1 -1
  222. package/dist/i18n/locales/zh.d.ts +210 -0
  223. package/dist/i18n/locales/zh.d.ts.map +1 -1
  224. package/dist/i18n/locales/zh.js +204 -4
  225. package/dist/i18n/locales/zh.js.map +1 -1
  226. package/dist/index.js +1190 -1174
  227. package/dist/index.js.map +1 -1
  228. package/dist/locales/ar.json +214 -4
  229. package/dist/locales/de.json +214 -4
  230. package/dist/locales/el.json +214 -4
  231. package/dist/locales/en.json +210 -0
  232. package/dist/locales/es.json +214 -4
  233. package/dist/locales/fr.json +214 -4
  234. package/dist/locales/hi.json +214 -4
  235. package/dist/locales/it.json +214 -4
  236. package/dist/locales/ja.json +214 -4
  237. package/dist/locales/nl.json +214 -4
  238. package/dist/locales/pl.json +214 -4
  239. package/dist/locales/pt.json +214 -4
  240. package/dist/locales/ro.json +214 -4
  241. package/dist/locales/ru.json +214 -4
  242. package/dist/locales/sq.json +214 -4
  243. package/dist/locales/sv.json +214 -4
  244. package/dist/locales/tr.json +214 -4
  245. package/dist/locales/zh.json +214 -4
  246. package/dist/patterns/calendar/index.js +1 -1
  247. package/dist/patterns/signed-out-frame/index.js +1 -1
  248. package/dist/tokens.css +1 -1
  249. package/package.json +13 -1
  250. package/dist/_chunks/bill-line-table-vCnVo7_a.js +0 -1565
  251. package/dist/_chunks/bill-line-table-vCnVo7_a.js.map +0 -1
  252. package/dist/_chunks/default-tabs-CD285u0C.js.map +0 -1
  253. package/dist/_chunks/file-upload-CxjCs7TX.js.map +0 -1
  254. package/dist/_chunks/map-view-Frj8vE7n.js +0 -1105
  255. package/dist/_chunks/map-view-Frj8vE7n.js.map +0 -1
  256. package/dist/_chunks/practice-results-CzHWprX4.js.map +0 -1
  257. package/dist/_chunks/public-footer-CB7ruuLI.js.map +0 -1
@@ -0,0 +1,255 @@
1
+ import { jsxs as u, jsx as o } from "react/jsx-runtime";
2
+ import { useId as A, useRef as _, useEffect as F, useMemo as y } from "react";
3
+ import { useTranslation as W } from "react-i18next";
4
+ import { u as C } from "./registry-DvAUVLHh.js";
5
+ import { A as f } from "./alert-C4WKViaS.js";
6
+ import { S as R } from "./stat-WGLdn5Vn.js";
7
+ import { a as j } from "./stat-group-CC4-O-Fj.js";
8
+ import { W as U, w as k } from "./counts-BXtzNv_G.js";
9
+ const H = /* @__PURE__ */ new Set([
10
+ "itemsUpdated",
11
+ "filesWithErrors"
12
+ ]), D = /* @__PURE__ */ new Set([
13
+ "invoicesLoaded",
14
+ "filesWithErrors"
15
+ ]);
16
+ function p(a) {
17
+ return typeof a == "number" && Number.isFinite(a) && a >= 0;
18
+ }
19
+ function O(a, t) {
20
+ const n = [];
21
+ for (const s of U) {
22
+ if (t === "invoice" && D.has(s)) continue;
23
+ const i = a[s];
24
+ if (!p(i)) continue;
25
+ const r = Math.trunc(i);
26
+ r === 0 && H.has(s) || n.push({ key: s, count: r });
27
+ }
28
+ return n;
29
+ }
30
+ function V(a, t, n) {
31
+ if (a) return a;
32
+ const i = (t.filesWithErrors ?? 0) > 0 || n.length > 0, r = p(t.invoicesLoaded) && t.invoicesLoaded >= 1 || p(t.linesLoaded) && t.linesLoaded >= 1;
33
+ return i ? r ? "partial" : "error" : r ? "success" : "unchanged";
34
+ }
35
+ const $ = {
36
+ id: "warehouse-load-summary",
37
+ capabilities: [],
38
+ state: {
39
+ counts: {
40
+ type: "Record<string, number>",
41
+ description: "The counts shown, by key (invoicesLoaded, itemsCreated, itemsUpdated, linesLoaded, linesAlreadyLoaded, linesSkipped, filesWithErrors). Hidden counts are absent.",
42
+ read: (a) => a.getCounts()
43
+ },
44
+ failedFileIds: {
45
+ type: "string[]",
46
+ description: "Ids of the failed files listed. File names and error texts are not read.",
47
+ read: (a) => a.getFailedFileIds()
48
+ }
49
+ },
50
+ actions: {},
51
+ domHooks: {
52
+ root: {
53
+ attr: "data-component",
54
+ value: "warehouse-load-summary",
55
+ description: "Marks the summary root."
56
+ },
57
+ instanceId: {
58
+ attr: "data-component-id",
59
+ sourceProp: "id",
60
+ description: "Sourced from the id prop."
61
+ },
62
+ item: {
63
+ attr: "data-file-id",
64
+ description: "Each failed file row emits its id as data-file-id."
65
+ }
66
+ }
67
+ }, B = {
68
+ success: "success",
69
+ partial: "warning",
70
+ error: "error",
71
+ unchanged: "info"
72
+ }, M = [], S = {
73
+ filesWithErrors: "destructive"
74
+ };
75
+ function te({
76
+ counts: a,
77
+ scope: t = "batch",
78
+ outcome: n,
79
+ failedFiles: s = M,
80
+ headingLevel: i = 2,
81
+ focusOnMount: r = !0,
82
+ actions: h,
83
+ id: g,
84
+ className: E
85
+ }) {
86
+ const { t: d, i18n: I } = W("ui"), m = I.language, v = A(), L = _(null);
87
+ F(() => {
88
+ var e;
89
+ r && ((e = L.current) == null || e.focus({ preventScroll: !0 }));
90
+ }, [r]);
91
+ const l = y(() => O(a, t), [a, t]), c = V(n, a, s), x = y(
92
+ () => ({
93
+ getCounts: () => Object.fromEntries(l.map((e) => [e.key, e.count])),
94
+ getFailedFileIds: () => s.map((e) => e.id)
95
+ }),
96
+ [l, s]
97
+ );
98
+ C($, x, g);
99
+ const N = d(`warehouseLoadSummary.title.${t}.${c}`, {
100
+ defaultValue: Y[t][c]
101
+ }), T = l.filter((e) => e.count > 0).map((e) => k(d, m, e.key, e.count)), w = G(T, m);
102
+ return /* @__PURE__ */ u(
103
+ "div",
104
+ {
105
+ "data-component": "warehouse-load-summary",
106
+ "data-component-id": g,
107
+ "data-outcome": c,
108
+ className: ["ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", E].filter(Boolean).join(" "),
109
+ children: [
110
+ /* @__PURE__ */ u(
111
+ f,
112
+ {
113
+ variant: B[c],
114
+ announce: r ? "off" : "polite",
115
+ children: [
116
+ /* @__PURE__ */ o(
117
+ f.Title,
118
+ {
119
+ ref: L,
120
+ tabIndex: -1,
121
+ className: "ds:outline-none",
122
+ as: `h${i}`,
123
+ children: N
124
+ }
125
+ ),
126
+ w ? /* @__PURE__ */ o(f.Description, { children: w }) : null
127
+ ]
128
+ }
129
+ ),
130
+ l.length > 0 ? /* @__PURE__ */ o(
131
+ j,
132
+ {
133
+ "aria-label": d("warehouseLoadSummary.counts", {
134
+ defaultValue: "Load counts"
135
+ }),
136
+ maxColumns: 4,
137
+ children: l.map(({ key: e, count: b }) => /* @__PURE__ */ o(
138
+ R,
139
+ {
140
+ variant: "outlined",
141
+ size: "sm",
142
+ label: d(`warehouseLoadSummary.stat.${e}`, {
143
+ defaultValue: z[e]
144
+ }),
145
+ value: b,
146
+ locale: m,
147
+ intent: b > 0 && e in S ? S[e] : "foreground"
148
+ },
149
+ e
150
+ ))
151
+ }
152
+ ) : null,
153
+ s.length > 0 ? /* @__PURE__ */ u(
154
+ "div",
155
+ {
156
+ role: "group",
157
+ "aria-labelledby": v,
158
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]",
159
+ children: [
160
+ /* @__PURE__ */ o(
161
+ K,
162
+ {
163
+ as: `h${Math.min(i + 1, 6)}`,
164
+ id: v,
165
+ children: d("warehouseLoadSummary.failedFiles", {
166
+ defaultValue: "Files that could not be loaded"
167
+ })
168
+ }
169
+ ),
170
+ /* @__PURE__ */ o(
171
+ "ul",
172
+ {
173
+ role: "list",
174
+ className: "ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-xs)] ds:p-0",
175
+ children: s.map((e) => /* @__PURE__ */ u(
176
+ "li",
177
+ {
178
+ "data-file-id": e.id,
179
+ className: "ds:flex ds:flex-col ds:break-words ds:border-s-[length:var(--border-width-md)] ds:border-s-[color:var(--destructive)] ds:ps-[var(--spacing-sm)]",
180
+ children: [
181
+ /* @__PURE__ */ o(
182
+ "span",
183
+ {
184
+ dir: "auto",
185
+ className: "type-label ds:text-[var(--foreground)]",
186
+ children: e.fileName
187
+ }
188
+ ),
189
+ /* @__PURE__ */ o(
190
+ "span",
191
+ {
192
+ dir: "auto",
193
+ className: "type-meta ds:text-[var(--muted-foreground)]",
194
+ children: e.error
195
+ }
196
+ )
197
+ ]
198
+ },
199
+ e.id
200
+ ))
201
+ }
202
+ )
203
+ ]
204
+ }
205
+ ) : null,
206
+ h ? /* @__PURE__ */ o("div", { className: "ds:flex ds:flex-wrap ds:justify-end ds:gap-[var(--spacing-sm)]", children: h }) : null
207
+ ]
208
+ }
209
+ );
210
+ }
211
+ const Y = {
212
+ invoice: {
213
+ success: "Invoice loaded",
214
+ partial: "Invoice loaded with warnings",
215
+ error: "The invoice could not be loaded",
216
+ unchanged: "Nothing new to load"
217
+ },
218
+ batch: {
219
+ success: "Invoices loaded",
220
+ partial: "Invoices loaded, some files failed",
221
+ error: "No invoices were loaded",
222
+ unchanged: "Nothing new to load"
223
+ }
224
+ }, z = {
225
+ invoicesLoaded: "Invoices loaded",
226
+ itemsCreated: "Items created",
227
+ itemsUpdated: "Items updated",
228
+ linesLoaded: "Lines loaded",
229
+ linesAlreadyLoaded: "Lines already loaded",
230
+ linesSkipped: "Lines skipped",
231
+ filesWithErrors: "Files with errors"
232
+ };
233
+ function G(a, t) {
234
+ if (a.length === 0) return "";
235
+ try {
236
+ return new Intl.ListFormat(t, {
237
+ style: "long",
238
+ type: "conjunction"
239
+ }).format(a);
240
+ } catch {
241
+ return a.join(", ");
242
+ }
243
+ }
244
+ function K({
245
+ as: a,
246
+ id: t,
247
+ children: n
248
+ }) {
249
+ return /* @__PURE__ */ o(a, { id: t, className: "type-label ds:m-0 ds:text-[var(--foreground)]", children: n });
250
+ }
251
+ export {
252
+ te as W,
253
+ $ as w
254
+ };
255
+ //# sourceMappingURL=warehouse-load-summary-D88M4Ii7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warehouse-load-summary-D88M4Ii7.js","sources":["../../src/components/warehouse-load-summary/model.ts","../../src/components/warehouse-load-summary/warehouse-load-summary.agent.ts","../../src/components/warehouse-load-summary/warehouse-load-summary.tsx"],"sourcesContent":["import { WAREHOUSE_COUNT_KEYS } from '../_shared/warehouse-load';\nimport type {\n WarehouseCountKey,\n WarehouseLoadCounts,\n WarehouseLoadFailedFile,\n WarehouseLoadOutcome,\n WarehouseLoadScope,\n} from './types';\n\n/** Counts that hide at zero (nothing to report). */\nconst HIDE_AT_ZERO: ReadonlySet<WarehouseCountKey> = new Set([\n 'itemsUpdated',\n 'filesWithErrors',\n]);\n/** Counts a single-invoice summary leaves out. */\nconst BATCH_ONLY: ReadonlySet<WarehouseCountKey> = new Set([\n 'invoicesLoaded',\n 'filesWithErrors',\n]);\n\nfunction usable(value: number | undefined): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value >= 0;\n}\n\n/** The counts to show, in vocabulary order. */\nexport function visibleCounts(\n counts: WarehouseLoadCounts,\n scope: WarehouseLoadScope,\n): Array<{ key: WarehouseCountKey; count: number }> {\n const out: Array<{ key: WarehouseCountKey; count: number }> = [];\n for (const key of WAREHOUSE_COUNT_KEYS) {\n if (scope === 'invoice' && BATCH_ONLY.has(key)) continue;\n const value = counts[key];\n if (!usable(value)) continue;\n const count = Math.trunc(value);\n if (count === 0 && HIDE_AT_ZERO.has(key)) continue;\n out.push({ key, count });\n }\n return out;\n}\n\nexport function resolveOutcome(\n outcome: WarehouseLoadOutcome | undefined,\n counts: WarehouseLoadCounts,\n failedFiles: ReadonlyArray<WarehouseLoadFailedFile>,\n): WarehouseLoadOutcome {\n if (outcome) return outcome;\n const errors = counts.filesWithErrors ?? 0;\n const failed = errors > 0 || failedFiles.length > 0;\n const loaded =\n (usable(counts.invoicesLoaded) && counts.invoicesLoaded >= 1) ||\n (usable(counts.linesLoaded) && counts.linesLoaded >= 1);\n if (failed) return loaded ? 'partial' : 'error';\n return loaded ? 'success' : 'unchanged';\n}\n","/* -------------------------------------------------------------------- */\n/* Agent adapter: WarehouseLoadSummary. */\n/* Read-only display. State is counts and ids; no actions, because the */\n/* host's `actions` slot owns every button. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { WarehouseLoadSummaryHandle } from './types';\n\nexport const warehouseLoadSummaryAgent: AgentAdapter<WarehouseLoadSummaryHandle> =\n {\n id: 'warehouse-load-summary',\n capabilities: [],\n state: {\n counts: {\n type: 'Record<string, number>',\n description:\n 'The counts shown, by key (invoicesLoaded, itemsCreated, itemsUpdated, linesLoaded, linesAlreadyLoaded, linesSkipped, filesWithErrors). Hidden counts are absent.',\n read: (handle) => handle.getCounts(),\n },\n failedFileIds: {\n type: 'string[]',\n description:\n 'Ids of the failed files listed. File names and error texts are not read.',\n read: (handle) => handle.getFailedFileIds(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'warehouse-load-summary',\n description: 'Marks the summary root.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-file-id',\n description: 'Each failed file row emits its id as data-file-id.',\n },\n },\n };\n","import { useEffect, useId, useMemo, useRef, type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAgentRegistration } from '../../agent';\nimport { Alert } from '../alert';\nimport { Stat } from '../stat';\nimport { StatGroup } from '../stat-group';\nimport { warehouseCountLabel } from '../_shared/warehouse-load';\nimport { visibleCounts, resolveOutcome } from './model';\nimport { warehouseLoadSummaryAgent } from './warehouse-load-summary.agent';\nimport type {\n WarehouseCountKey,\n WarehouseLoadFailedFile,\n WarehouseLoadOutcome,\n WarehouseLoadSummaryHandle,\n WarehouseLoadSummaryProps,\n} from './types';\n\nconst ALERT_VARIANT = {\n success: 'success',\n partial: 'warning',\n error: 'error',\n unchanged: 'info',\n} as const satisfies Record<WarehouseLoadOutcome, string>;\n\nconst NO_FAILED_FILES: ReadonlyArray<WarehouseLoadFailedFile> = [];\n\nconst STAT_INTENT = {\n filesWithErrors: 'destructive',\n} as const satisfies Partial<Record<WarehouseCountKey, string>>;\n\n/**\n * What a warehouse load produced: a heading by outcome, one tile per count\n * and the files that failed. Displays only; the platform counts.\n */\nexport function WarehouseLoadSummary({\n counts,\n scope = 'batch',\n outcome,\n failedFiles = NO_FAILED_FILES,\n headingLevel = 2,\n focusOnMount = true,\n actions,\n id,\n className,\n}: WarehouseLoadSummaryProps) {\n const { t, i18n } = useTranslation('ui');\n const language = i18n.language;\n const headingId = useId();\n const titleRef = useRef<HTMLHeadingElement>(null);\n\n // The summary replaces the review step, so focus would drop to <body>.\n // Focusing the heading makes screen readers read the result (WCAG 2.4.3,\n // 4.1.3); the Alert then stays silent so it is not read twice.\n useEffect(() => {\n if (focusOnMount) titleRef.current?.focus({ preventScroll: true });\n }, [focusOnMount]);\n\n const shown = useMemo(() => visibleCounts(counts, scope), [counts, scope]);\n const resolved = resolveOutcome(outcome, counts, failedFiles);\n\n const handle = useMemo<WarehouseLoadSummaryHandle>(\n () => ({\n getCounts: () => Object.fromEntries(shown.map((c) => [c.key, c.count])),\n getFailedFileIds: () => failedFiles.map((f) => f.id),\n }),\n [shown, failedFiles],\n );\n useAgentRegistration(warehouseLoadSummaryAgent, handle, id);\n\n const title = t(`warehouseLoadSummary.title.${scope}.${resolved}`, {\n defaultValue: DEFAULT_TITLES[scope][resolved],\n });\n const sentence = shown\n .filter((c) => c.count > 0)\n .map((c) => warehouseCountLabel(t, language, c.key, c.count));\n const description = formatList(sentence, language);\n\n return (\n <div\n data-component=\"warehouse-load-summary\"\n data-component-id={id}\n data-outcome={resolved}\n className={['ds:flex ds:flex-col ds:gap-[var(--spacing-md)]', className]\n .filter(Boolean)\n .join(' ')}\n >\n <Alert\n variant={ALERT_VARIANT[resolved]}\n announce={focusOnMount ? 'off' : 'polite'}\n >\n <Alert.Title\n ref={titleRef}\n tabIndex={-1}\n className=\"ds:outline-none\"\n as={`h${headingLevel}` as const}\n >\n {title}\n </Alert.Title>\n {description ? (\n <Alert.Description>{description}</Alert.Description>\n ) : null}\n </Alert>\n\n {shown.length > 0 ? (\n <StatGroup\n aria-label={t('warehouseLoadSummary.counts', {\n defaultValue: 'Load counts',\n })}\n maxColumns={4}\n >\n {shown.map(({ key, count }) => (\n <Stat\n key={key}\n variant=\"outlined\"\n size=\"sm\"\n label={t(`warehouseLoadSummary.stat.${key}`, {\n defaultValue: DEFAULT_STAT_LABELS[key],\n })}\n value={count}\n locale={language}\n intent={\n count > 0 && key in STAT_INTENT\n ? STAT_INTENT[key as keyof typeof STAT_INTENT]\n : 'foreground'\n }\n />\n ))}\n </StatGroup>\n ) : null}\n\n {failedFiles.length > 0 ? (\n <div\n role=\"group\"\n aria-labelledby={headingId}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n >\n <SubHeading\n as={`h${Math.min(headingLevel + 1, 6)}` as 'h3'}\n id={headingId}\n >\n {t('warehouseLoadSummary.failedFiles', {\n defaultValue: 'Files that could not be loaded',\n })}\n </SubHeading>\n {/* eslint-disable-next-line jsx-a11y/no-redundant-roles -- Safari drops list semantics under list-none */}\n <ul\n role=\"list\"\n className=\"ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-xs)] ds:p-0\"\n >\n {failedFiles.map((file) => (\n <li\n key={file.id}\n data-file-id={file.id}\n className=\"ds:flex ds:flex-col ds:break-words ds:border-s-[length:var(--border-width-md)] ds:border-s-[color:var(--destructive)] ds:ps-[var(--spacing-sm)]\"\n >\n <span\n dir=\"auto\"\n className=\"type-label ds:text-[var(--foreground)]\"\n >\n {file.fileName}\n </span>\n <span\n dir=\"auto\"\n className=\"type-meta ds:text-[var(--muted-foreground)]\"\n >\n {file.error}\n </span>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {actions ? (\n <div className=\"ds:flex ds:flex-wrap ds:justify-end ds:gap-[var(--spacing-sm)]\">\n {actions}\n </div>\n ) : null}\n </div>\n );\n}\n\nconst DEFAULT_TITLES = {\n invoice: {\n success: 'Invoice loaded',\n partial: 'Invoice loaded with warnings',\n error: 'The invoice could not be loaded',\n unchanged: 'Nothing new to load',\n },\n batch: {\n success: 'Invoices loaded',\n partial: 'Invoices loaded, some files failed',\n error: 'No invoices were loaded',\n unchanged: 'Nothing new to load',\n },\n} as const;\n\nconst DEFAULT_STAT_LABELS = {\n invoicesLoaded: 'Invoices loaded',\n itemsCreated: 'Items created',\n itemsUpdated: 'Items updated',\n linesLoaded: 'Lines loaded',\n linesAlreadyLoaded: 'Lines already loaded',\n linesSkipped: 'Lines skipped',\n filesWithErrors: 'Files with errors',\n} as const satisfies Record<WarehouseCountKey, string>;\n\nfunction formatList(parts: string[], language: string | undefined): string {\n if (parts.length === 0) return '';\n try {\n return new Intl.ListFormat(language, {\n style: 'long',\n type: 'conjunction',\n }).format(parts);\n } catch {\n return parts.join(', ');\n }\n}\n\nfunction SubHeading({\n as: Tag,\n id,\n children,\n}: {\n as: 'h3' | 'h4' | 'h5' | 'h6';\n id: string;\n children: ReactNode;\n}) {\n return (\n <Tag id={id} className=\"type-label ds:m-0 ds:text-[var(--foreground)]\">\n {children}\n </Tag>\n );\n}\n"],"names":["HIDE_AT_ZERO","BATCH_ONLY","usable","value","visibleCounts","counts","scope","out","key","WAREHOUSE_COUNT_KEYS","count","resolveOutcome","outcome","failedFiles","failed","loaded","warehouseLoadSummaryAgent","handle","ALERT_VARIANT","NO_FAILED_FILES","STAT_INTENT","WarehouseLoadSummary","headingLevel","focusOnMount","actions","id","className","t","i18n","useTranslation","language","headingId","useId","titleRef","useRef","useEffect","_a","shown","useMemo","resolved","c","f","useAgentRegistration","title","DEFAULT_TITLES","sentence","warehouseCountLabel","description","formatList","jsxs","Alert","jsx","StatGroup","Stat","DEFAULT_STAT_LABELS","SubHeading","file","parts","Tag","children"],"mappings":"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"}