@flowselections/floriday-voorraad 1.0.154 → 1.0.156

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 (255) hide show
  1. package/dist-lib/components/TemplatePage.d.ts +2 -0
  2. package/dist-lib/components/TemplatePage.d.ts.map +1 -0
  3. package/dist-lib/components/TemplatePage.js +4 -0
  4. package/dist-lib/components/fs-ui/DataTable.d.ts +1 -1
  5. package/dist-lib/components/fs-ui/DataTable.d.ts.map +1 -1
  6. package/dist-lib/components/fs-ui/EmptyState.d.ts +1 -1
  7. package/dist-lib/components/fs-ui/EmptyState.d.ts.map +1 -1
  8. package/dist-lib/components/fs-ui/FilterChips.d.ts +1 -1
  9. package/dist-lib/components/fs-ui/FilterChips.d.ts.map +1 -1
  10. package/dist-lib/components/fs-ui/FilterPanel.d.ts +2 -2
  11. package/dist-lib/components/fs-ui/FilterPanel.d.ts.map +1 -1
  12. package/dist-lib/components/fs-ui/FiltersButton.d.ts +1 -1
  13. package/dist-lib/components/fs-ui/FiltersButton.d.ts.map +1 -1
  14. package/dist-lib/components/fs-ui/HeaderButton.d.ts +2 -2
  15. package/dist-lib/components/fs-ui/HeaderButton.d.ts.map +1 -1
  16. package/dist-lib/components/fs-ui/HoverTip.d.ts +1 -1
  17. package/dist-lib/components/fs-ui/HoverTip.d.ts.map +1 -1
  18. package/dist-lib/components/fs-ui/InlineAlert.d.ts +1 -1
  19. package/dist-lib/components/fs-ui/InlineAlert.d.ts.map +1 -1
  20. package/dist-lib/components/fs-ui/KpiRow.d.ts +1 -1
  21. package/dist-lib/components/fs-ui/KpiRow.d.ts.map +1 -1
  22. package/dist-lib/components/fs-ui/KpiTile.d.ts +1 -1
  23. package/dist-lib/components/fs-ui/KpiTile.d.ts.map +1 -1
  24. package/dist-lib/components/fs-ui/MobilePrimaryAction.d.ts +1 -1
  25. package/dist-lib/components/fs-ui/MobilePrimaryAction.d.ts.map +1 -1
  26. package/dist-lib/components/fs-ui/NoticeBar.d.ts +1 -1
  27. package/dist-lib/components/fs-ui/NoticeBar.d.ts.map +1 -1
  28. package/dist-lib/components/fs-ui/PageHeader.d.ts +1 -1
  29. package/dist-lib/components/fs-ui/PageHeader.d.ts.map +1 -1
  30. package/dist-lib/components/fs-ui/Pagination.d.ts +1 -1
  31. package/dist-lib/components/fs-ui/Pagination.d.ts.map +1 -1
  32. package/dist-lib/components/fs-ui/PillTabs.d.ts +1 -1
  33. package/dist-lib/components/fs-ui/PillTabs.d.ts.map +1 -1
  34. package/dist-lib/components/fs-ui/RowMenu.d.ts +1 -1
  35. package/dist-lib/components/fs-ui/RowMenu.d.ts.map +1 -1
  36. package/dist-lib/components/fs-ui/SearchInput.d.ts +1 -1
  37. package/dist-lib/components/fs-ui/SearchInput.d.ts.map +1 -1
  38. package/dist-lib/components/fs-ui/ShortcutHelp.d.ts +1 -1
  39. package/dist-lib/components/fs-ui/ShortcutHelp.d.ts.map +1 -1
  40. package/dist-lib/components/fs-ui/StatusIcon.d.ts +1 -1
  41. package/dist-lib/components/fs-ui/StatusIcon.d.ts.map +1 -1
  42. package/dist-lib/components/fs-ui/TableSkeleton.d.ts +1 -1
  43. package/dist-lib/components/fs-ui/TableSkeleton.d.ts.map +1 -1
  44. package/dist-lib/components/fs-ui/Toolbar.d.ts +1 -1
  45. package/dist-lib/components/fs-ui/Toolbar.d.ts.map +1 -1
  46. package/dist-lib/components/fs-ui/UpdatedAt.d.ts +1 -1
  47. package/dist-lib/components/fs-ui/UpdatedAt.d.ts.map +1 -1
  48. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +2 -0
  49. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +1 -0
  50. package/dist-lib/components/settings/VoorraadSettingsCard.js +39 -0
  51. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
  52. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
  53. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
  54. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
  55. package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
  56. package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
  57. package/dist-lib/components/voorraad/CollapsibleText.d.ts +1 -1
  58. package/dist-lib/components/voorraad/CollapsibleText.d.ts.map +1 -1
  59. package/dist-lib/components/voorraad/ConnectionBadge.d.ts +6 -0
  60. package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -0
  61. package/dist-lib/components/voorraad/ConnectionBadge.js +12 -0
  62. package/dist-lib/components/voorraad/ConnectionPicker.d.ts +8 -0
  63. package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +1 -0
  64. package/dist-lib/components/voorraad/ConnectionPicker.js +8 -0
  65. package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
  66. package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
  67. package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
  68. package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
  69. package/dist-lib/components/voorraad/FloridayConnectionNotice.d.ts +1 -1
  70. package/dist-lib/components/voorraad/FloridayConnectionNotice.d.ts.map +1 -1
  71. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
  72. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
  73. package/dist-lib/components/voorraad/FloridayLoadCarriers.d.ts +1 -1
  74. package/dist-lib/components/voorraad/FloridayLoadCarriers.d.ts.map +1 -1
  75. package/dist-lib/components/voorraad/FloridaySentCard.d.ts +1 -1
  76. package/dist-lib/components/voorraad/FloridaySentCard.d.ts.map +1 -1
  77. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +4 -0
  78. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +1 -0
  79. package/dist-lib/components/voorraad/FloridayStatusBadge.js +8 -0
  80. package/dist-lib/components/voorraad/FloridayTakeoverPanel.d.ts +2 -2
  81. package/dist-lib/components/voorraad/FloridayTakeoverPanel.d.ts.map +1 -1
  82. package/dist-lib/components/voorraad/FustAdministratie.d.ts +2 -2
  83. package/dist-lib/components/voorraad/FustAdministratie.d.ts.map +1 -1
  84. package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
  85. package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
  86. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +1 -1
  87. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -1
  88. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +1 -1
  89. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -1
  90. package/dist-lib/components/voorraad/KoppelingStatusPanel.d.ts +1 -1
  91. package/dist-lib/components/voorraad/KoppelingStatusPanel.d.ts.map +1 -1
  92. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +2 -0
  93. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +1 -0
  94. package/dist-lib/components/voorraad/ModuleHealthCard.js +40 -0
  95. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
  96. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
  97. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
  98. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
  99. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
  100. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
  101. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
  102. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
  103. package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
  104. package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
  105. package/dist-lib/components/voorraad/ProductSalePriceField.d.ts +2 -2
  106. package/dist-lib/components/voorraad/ProductSalePriceField.d.ts.map +1 -1
  107. package/dist-lib/components/voorraad/ProductStructureCard.d.ts +2 -2
  108. package/dist-lib/components/voorraad/ProductStructureCard.d.ts.map +1 -1
  109. package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
  110. package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
  111. package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
  112. package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
  113. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
  114. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
  115. package/dist-lib/components/voorraad/Sneltoetsen.d.ts +2 -2
  116. package/dist-lib/components/voorraad/Sneltoetsen.d.ts.map +1 -1
  117. package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
  118. package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
  119. package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
  120. package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
  121. package/dist-lib/components/voorraad/StockHistoryChart.d.ts +1 -1
  122. package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -1
  123. package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts +1 -1
  124. package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts.map +1 -1
  125. package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
  126. package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
  127. package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
  128. package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
  129. package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts +1 -1
  130. package/dist-lib/components/voorraad/SupplyReadScopeAlert.d.ts.map +1 -1
  131. package/dist-lib/components/voorraad/TelmomentButton.d.ts +1 -1
  132. package/dist-lib/components/voorraad/TelmomentButton.d.ts.map +1 -1
  133. package/dist-lib/components/voorraad/TrayStickerCard.d.ts +1 -1
  134. package/dist-lib/components/voorraad/TrayStickerCard.d.ts.map +1 -1
  135. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
  136. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
  137. package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
  138. package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
  139. package/dist-lib/components/voorraad/VoorraadBeheerCard.d.ts +1 -1
  140. package/dist-lib/components/voorraad/VoorraadBeheerCard.d.ts.map +1 -1
  141. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +10 -0
  142. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -0
  143. package/dist-lib/components/voorraad/VoorraadDashboard.js +53 -0
  144. package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
  145. package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
  146. package/dist-lib/components/voorraad/VoorraadPage.js +4 -1
  147. package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
  148. package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
  149. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
  150. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
  151. package/dist-lib/components/voorraad/VoorraadSturingCard.d.ts +1 -1
  152. package/dist-lib/components/voorraad/VoorraadSturingCard.d.ts.map +1 -1
  153. package/dist-lib/components/voorraad/VoorraadTable.d.ts +1 -1
  154. package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
  155. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
  156. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
  157. package/dist-lib/components/voorraad/artikel/ArtikelPagina.d.ts +1 -1
  158. package/dist-lib/components/voorraad/artikel/ArtikelPagina.d.ts.map +1 -1
  159. package/dist-lib/components/voorraad/artikel/TwijfelKiezen.d.ts +1 -1
  160. package/dist-lib/components/voorraad/artikel/TwijfelKiezen.d.ts.map +1 -1
  161. package/dist-lib/components/voorraad/lijst/ImporteerKnop.d.ts +1 -1
  162. package/dist-lib/components/voorraad/lijst/ImporteerKnop.d.ts.map +1 -1
  163. package/dist-lib/components/voorraad/lijst/LijstExportKnop.d.ts +1 -1
  164. package/dist-lib/components/voorraad/lijst/LijstExportKnop.d.ts.map +1 -1
  165. package/dist-lib/components/voorraad/lijst/SnelActieDialogen.d.ts +2 -2
  166. package/dist-lib/components/voorraad/lijst/SnelActieDialogen.d.ts.map +1 -1
  167. package/dist-lib/components/voorraad/lijst/VoorraadLijstTabel.d.ts +2 -2
  168. package/dist-lib/components/voorraad/lijst/VoorraadLijstTabel.d.ts.map +1 -1
  169. package/dist-lib/integrations/supabase/client.js +1 -1
  170. package/dist-lib/integrations/supabase/client.server.js +1 -1
  171. package/dist-lib/integrations/supabase/types.d.ts +76 -0
  172. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  173. package/dist-lib/lib/__tests__/floricode-required-features.test.js +3 -7
  174. package/dist-lib/lib/floriday-field-sources.d.ts +18 -0
  175. package/dist-lib/lib/floriday-field-sources.d.ts.map +1 -0
  176. package/dist-lib/lib/floriday-field-sources.js +45 -0
  177. package/dist-lib/lib/floriday-schema-to-zod.d.ts +9 -0
  178. package/dist-lib/lib/floriday-schema-to-zod.d.ts.map +1 -0
  179. package/dist-lib/lib/floriday-schema-to-zod.js +53 -0
  180. package/dist-lib/lib/merge-products.d.ts +8 -0
  181. package/dist-lib/lib/merge-products.d.ts.map +1 -0
  182. package/dist-lib/lib/merge-products.js +17 -0
  183. package/dist-lib/lib/module-health.functions.d.ts +53497 -0
  184. package/dist-lib/lib/module-health.functions.d.ts.map +1 -0
  185. package/dist-lib/lib/module-health.functions.js +261 -0
  186. package/dist-lib/lib/validationSchemas.d.ts +15 -0
  187. package/dist-lib/lib/validationSchemas.d.ts.map +1 -0
  188. package/dist-lib/lib/validationSchemas.js +25 -0
  189. package/dist-lib/lib/voorraad-lijst.d.ts +2 -1
  190. package/dist-lib/lib/voorraad-lijst.d.ts.map +1 -1
  191. package/dist-lib/lib/voorraad-lijst.js +2 -2
  192. package/dist-lib/server-hooks/floriday-stock-reconcile.d.ts.map +1 -1
  193. package/dist-lib/server-hooks/floriday-stock-reconcile.js +14 -1
  194. package/package.json +1 -1
  195. package/sql/floriday-voorraad-schema.sql +13 -27
  196. package/dist-lib/components/voorraad/__tests__/count-stock-free.test.d.ts +0 -2
  197. package/dist-lib/components/voorraad/__tests__/count-stock-free.test.d.ts.map +0 -1
  198. package/dist-lib/components/voorraad/__tests__/count-stock-free.test.js +0 -12
  199. package/dist-lib/lib/__tests__/article-code.test.d.ts +0 -2
  200. package/dist-lib/lib/__tests__/article-code.test.d.ts.map +0 -1
  201. package/dist-lib/lib/__tests__/article-code.test.js +0 -11
  202. package/dist-lib/lib/__tests__/erp-test-123.test.d.ts +0 -2
  203. package/dist-lib/lib/__tests__/erp-test-123.test.d.ts.map +0 -1
  204. package/dist-lib/lib/__tests__/erp-test-123.test.js +0 -43
  205. package/dist-lib/lib/__tests__/floriday-customer-offers.test.d.ts +0 -2
  206. package/dist-lib/lib/__tests__/floriday-customer-offers.test.d.ts.map +0 -1
  207. package/dist-lib/lib/__tests__/floriday-customer-offers.test.js +0 -36
  208. package/dist-lib/lib/__tests__/floriday-fetch-status.test.d.ts +0 -2
  209. package/dist-lib/lib/__tests__/floriday-fetch-status.test.d.ts.map +0 -1
  210. package/dist-lib/lib/__tests__/floriday-fetch-status.test.js +0 -25
  211. package/dist-lib/lib/__tests__/floriday-write-mode.test.d.ts +0 -2
  212. package/dist-lib/lib/__tests__/floriday-write-mode.test.d.ts.map +0 -1
  213. package/dist-lib/lib/__tests__/floriday-write-mode.test.js +0 -40
  214. package/dist-lib/lib/__tests__/fust-dimensions.test.d.ts +0 -2
  215. package/dist-lib/lib/__tests__/fust-dimensions.test.d.ts.map +0 -1
  216. package/dist-lib/lib/__tests__/fust-dimensions.test.js +0 -27
  217. package/dist-lib/lib/__tests__/load-carriers.test.d.ts +0 -2
  218. package/dist-lib/lib/__tests__/load-carriers.test.d.ts.map +0 -1
  219. package/dist-lib/lib/__tests__/load-carriers.test.js +0 -15
  220. package/dist-lib/lib/__tests__/mirror-products.test.d.ts +0 -2
  221. package/dist-lib/lib/__tests__/mirror-products.test.d.ts.map +0 -1
  222. package/dist-lib/lib/__tests__/mirror-products.test.js +0 -13
  223. package/dist-lib/lib/__tests__/product-packings.test.d.ts +0 -2
  224. package/dist-lib/lib/__tests__/product-packings.test.d.ts.map +0 -1
  225. package/dist-lib/lib/__tests__/product-packings.test.js +0 -42
  226. package/dist-lib/lib/__tests__/publish-114.test.d.ts +0 -2
  227. package/dist-lib/lib/__tests__/publish-114.test.d.ts.map +0 -1
  228. package/dist-lib/lib/__tests__/publish-114.test.js +0 -31
  229. package/dist-lib/lib/__tests__/publish-packing-block.test.d.ts +0 -2
  230. package/dist-lib/lib/__tests__/publish-packing-block.test.d.ts.map +0 -1
  231. package/dist-lib/lib/__tests__/publish-packing-block.test.js +0 -14
  232. package/dist-lib/lib/__tests__/release-130.test.d.ts +0 -2
  233. package/dist-lib/lib/__tests__/release-130.test.d.ts.map +0 -1
  234. package/dist-lib/lib/__tests__/release-130.test.js +0 -103
  235. package/dist-lib/lib/__tests__/release-134.test.d.ts +0 -2
  236. package/dist-lib/lib/__tests__/release-134.test.d.ts.map +0 -1
  237. package/dist-lib/lib/__tests__/release-134.test.js +0 -50
  238. package/dist-lib/lib/__tests__/release-136.test.d.ts +0 -2
  239. package/dist-lib/lib/__tests__/release-136.test.d.ts.map +0 -1
  240. package/dist-lib/lib/__tests__/release-136.test.js +0 -36
  241. package/dist-lib/lib/__tests__/release-140.test.d.ts +0 -2
  242. package/dist-lib/lib/__tests__/release-140.test.d.ts.map +0 -1
  243. package/dist-lib/lib/__tests__/release-140.test.js +0 -42
  244. package/dist-lib/lib/__tests__/request-guard.test.d.ts +0 -2
  245. package/dist-lib/lib/__tests__/request-guard.test.d.ts.map +0 -1
  246. package/dist-lib/lib/__tests__/request-guard.test.js +0 -50
  247. package/dist-lib/lib/__tests__/stock-save.test.d.ts +0 -2
  248. package/dist-lib/lib/__tests__/stock-save.test.d.ts.map +0 -1
  249. package/dist-lib/lib/__tests__/stock-save.test.js +0 -35
  250. package/dist-lib/lib/__tests__/stock-scope.test.d.ts +0 -2
  251. package/dist-lib/lib/__tests__/stock-scope.test.d.ts.map +0 -1
  252. package/dist-lib/lib/__tests__/stock-scope.test.js +0 -44
  253. package/dist-lib/server-hooks/__tests__/trade-item-photo.test.d.ts +0 -2
  254. package/dist-lib/server-hooks/__tests__/trade-item-photo.test.d.ts.map +0 -1
  255. package/dist-lib/server-hooks/__tests__/trade-item-photo.test.js +0 -19
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Link } from "@tanstack/react-router";
3
+ import { Card } from "@flowselections/core";
4
+ import { validateDraftForPublish } from "../../lib/floriday-import-validator.js";
5
+ function Stat({ label, value, tone = "default", }) {
6
+ const toneCls = tone === "danger"
7
+ ? "text-destructive"
8
+ : tone === "warn"
9
+ ? "text-amber-600"
10
+ : tone === "good"
11
+ ? "text-emerald-600"
12
+ : "text-foreground";
13
+ return (_jsxs("div", { children: [_jsx("div", { className: "text-xs text-muted-foreground", children: label }), _jsx("div", { className: `text-2xl font-semibold tabular-nums ${toneCls}`, children: value })] }));
14
+ }
15
+ /**
16
+ * Producten zijn altijd volwaardig. De dashboard-statistieken tonen alleen of ze op
17
+ * Floriday actief zijn — geen concept-status meer.
18
+ */
19
+ export function VoorraadDashboard({ items, connectionId, }) {
20
+ const total = items.length;
21
+ const active = items.filter((i) => i.floridayActive).length;
22
+ const inactive = total - active;
23
+ const missingFields = items.filter((i) => {
24
+ if (i.floridayActive)
25
+ return false;
26
+ const payload = i.raw?.custom_fields?.floriday_payload ??
27
+ i.raw?.floriday_payload ??
28
+ i.raw?.data ??
29
+ {};
30
+ return !validateDraftForPublish(payload).ok;
31
+ }).length;
32
+ // Nieuw sinds laatste import
33
+ let lastImport = null;
34
+ try {
35
+ if (connectionId) {
36
+ const s = localStorage.getItem(`voorraad_last_import_${connectionId}`);
37
+ if (s)
38
+ lastImport = new Date(s);
39
+ }
40
+ }
41
+ catch {
42
+ /* ignore */
43
+ }
44
+ const newSinceImport = lastImport
45
+ ? items.filter((i) => {
46
+ const raw = i.raw;
47
+ const src = raw?.source ?? raw?.data?.source;
48
+ const created = raw?.created_at ? new Date(raw.created_at) : null;
49
+ return src === "excel_import" && created && created >= lastImport;
50
+ }).length
51
+ : 0;
52
+ return (_jsxs(Card, { className: "p-4", children: [_jsxs("div", { className: "flex items-start justify-between gap-3 mb-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium", children: "Voorraad-overzicht" }), _jsx("div", { className: "text-xs text-muted-foreground", children: "Alle producten zijn volwaardig; alleen de Floriday-activatie verschilt." })] }), _jsx(Link, { to: "/voorraad/validatie", className: "text-xs text-primary hover:underline", children: "Producten zonder Floriday-activatie \u2192" })] }), _jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4", children: [_jsx(Stat, { label: "Producten", value: total }), _jsx(Stat, { label: "Actief op Floriday", value: active, tone: "good" }), _jsx(Stat, { label: "Niet actief op Floriday", value: inactive }), _jsx(Stat, { label: "Ontbrekende Floriday-velden", value: missingFields, tone: "warn" }), _jsx(Stat, { label: "Nieuw sinds import", value: newSinceImport })] })] }));
53
+ }
@@ -1,3 +1,3 @@
1
1
  export { countStock } from "../../lib/count-stock.js";
2
- export declare function VoorraadPage(): import("react").JSX.Element;
2
+ export declare function VoorraadPage(): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=VoorraadPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPage.tsx"],"names":[],"mappings":"AA2EA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDnD,wBAAgB,YAAY,gCA0M3B"}
1
+ {"version":3,"file":"VoorraadPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPage.tsx"],"names":[],"mappings":"AA2EA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDnD,wBAAgB,YAAY,4CA+M3B"}
@@ -138,7 +138,10 @@ export function VoorraadPage() {
138
138
  ...(error ? [_jsxs("span", { children: ["De voorraad laden lukt niet. ", _jsx("span", { role: "button", tabIndex: 0, className: "font-medium underline underline-offset-2", onClick: (e) => { e.stopPropagation(); void reload(); }, children: "Opnieuw proberen" })] }, "err")] : []),
139
139
  ...integriteit.items,
140
140
  ...(verbindingTekst ? [verbindingTekst] : []),
141
- ...melding.map((m) => m.filter ? (_jsx("span", { role: "button", tabIndex: 0, className: "underline-offset-2 hover:underline", onClick: (e) => { e.stopPropagation(); setFilter(m.filter); }, children: m.tekst }, m.tekst)) : m.tekst),
141
+ ...melding.map((m) => m.actie === "telmoment" ? (_jsxs("span", { className: "inline-flex min-w-0 max-w-full items-center gap-2", children: [_jsx("span", { className: "truncate", children: m.tekst }), _jsx("span", { role: "button", tabIndex: 0, className: "shrink-0 font-medium underline underline-offset-2", onClick: (e) => { e.stopPropagation(); setTelmomentOpen(true); }, onKeyDown: (e) => { if (e.key === "Enter") {
142
+ e.stopPropagation();
143
+ setTelmomentOpen(true);
144
+ } }, children: "Telmoment instellen" })] }, m.tekst)) : m.filter ? (_jsx("span", { role: "button", tabIndex: 0, className: "underline-offset-2 hover:underline", onClick: (e) => { e.stopPropagation(); setFilter(m.filter); }, children: m.tekst }, m.tekst)) : m.tekst),
142
145
  ];
143
146
  const leeg = zoek || filter !== "alles" ? (_jsx(EmptyState, { icon: _jsx(PackageSearch, { className: "h-6 w-6" }), title: "Niets gevonden", text: zoek ? `Geen artikelen voor “${zoek}”${filter !== "alles" ? ` in ${FILTER_HINT[filter].toLowerCase()}` : ""}.` : "Geen artikelen in deze weergave.", action: _jsx(Button, { variant: "outline", size: "sm", onClick: () => { setZoek(""); setFilter("alles"); }, children: "Filters wissen" }) })) : (_jsx(EmptyState, { icon: _jsx(Package, { className: "h-6 w-6" }), title: "Nog geen artikelen", text: "Maak je eerste artikel aan of importeer een lijst.", action: _jsxs(Button, { size: "sm", onClick: nieuw, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), "Nieuw artikel"] }) }));
144
147
  return (_jsxs("main", { className: "flex w-full min-w-0 flex-col gap-4 overflow-x-clip p-4 pb-[calc(7rem+env(safe-area-inset-bottom))] sm:p-6 sm:pb-24", children: [_jsx(Sneltoetsen, { onNieuw: nieuw }), _jsx(PageHeader, { title: "Voorraad", updated: _jsx(UpdatedAt, { at: data?.bijgewerkt ?? null }), actions: _jsxs(_Fragment, { children: [_jsx(ImporteerKnop, { connectionId: conn.activeId ?? null, onImported: reload }), _jsx(LijstExportKnop, { vraag: { zoek, filter, sort: sorteer.sort, oplopend: sorteer.oplopend } }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", className: "h-10 w-10 p-0 sm:h-9 sm:w-auto sm:px-3", "aria-label": "Meer acties", children: [_jsx(MoreHorizontal, { className: "h-4 w-4 sm:mr-2" }), _jsx("span", { className: "hidden sm:inline", children: "Meer" })] }) }), _jsxs(DropdownMenuContent, { align: "end", className: "w-56", children: [_jsxs(DropdownMenuItem, { onSelect: () => setTelmomentOpen(true), children: [_jsx(ClipboardCheck, { className: "mr-2 h-4 w-4" }), "Telmoment vastleggen"] }), heeftKoppeling && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: () => navigate({ to: "/voorraad/validatie" }), children: [_jsx(ListChecks, { className: "mr-2 h-4 w-4" }), "Controle koppeling"] }), _jsxs(DropdownMenuItem, { onSelect: () => navigate({ to: "/voorraad/publicaties" }), children: [_jsx(Send, { className: "mr-2 h-4 w-4" }), "Verzonden naar Floriday"] })] }))] })] }), _jsx(HeaderPrimary, { icon: _jsx(Plus, {}), label: "Nieuw artikel", kbd: "N", onClick: nieuw })] }) }), _jsx(TelmomentButton, { verbergKnop: true, open: telmomentOpen, onOpenChange: setTelmomentOpen, onSaved: reload }), _jsx(NoticeBar, { items: noticeItems }), integriteit.dialog, _jsxs(KpiRow, { children: [_jsx(KpiTile, { title: "Artikelen", icon: _jsx(Package, {}), loading: kpiLaden, value: aantal(kpi?.artikelen ?? 0), sub: "Actief, zonder gearchiveerd", onClick: () => setFilter("alles"), active: false }), _jsx(KpiTile, { title: "Onder minimum", icon: _jsx(TrendingDown, {}), tone: (kpi?.onder_minimum ?? 0) > 0 ? "warning" : "default", loading: kpiLaden, value: aantal(kpi?.onder_minimum ?? 0), sub: (kpi?.onder_minimum ?? 0) > 0 ? _jsx("span", { className: "text-destructive", children: "Bijbestellen of bijmaken" }) : "Alles boven het minimum", onClick: () => setFilter("onder_minimum"), active: filter === "onder_minimum" }), _jsx(KpiTile, { title: "Vrij beschikbaar", icon: _jsx(Layers, {}), loading: kpiLaden, value: aantal(kpi?.vrij ?? 0), sub: "Stuks, losse artikelen" }), _jsx(KpiTile, { title: "Inkomend", icon: _jsx(ArrowDownToLine, {}), loading: kpiLaden, value: aantal(kpi?.inkomend ?? 0), sub: "Stuks verwacht" })] }), _jsx(PillTabs, { tabs: tabs, value: filter, onChange: setFilter, label: "Filter" }), _jsx(Toolbar, { filters: _jsx(FiltersButton, { count: filter !== "alles" ? 1 : 0, onClick: () => setFilterOpen(true) }), chips: _jsx(FilterChips, { chips: filter !== "alles" ? [{ key: "weergave", label: FILTER_HINT[filter], icon: FILTER_ICON[filter], onRemove: () => setFilter("alles") }] : [] }), right: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", className: "h-9 px-3", "aria-label": "Kolommen kiezen", children: [_jsx(Columns3, { className: "h-4 w-4 sm:mr-2" }), _jsx("span", { className: "hidden sm:inline", children: "Kolommen" })] }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuLabel, { children: "Kolommen kiezen" }), OPTIONELE_KOLOMMEN.map((c) => (_jsx(DropdownMenuCheckboxItem, { checked: kolommen.has(c.key), onCheckedChange: () => toggleKolom(c.key), children: c.label }, c.key)))] })] }), children: _jsx(SearchInput, { value: zoek, onChange: setZoek, placeholder: "Zoek op naam, artikelnummer of barcode" }) }), selectieBalk && (_jsxs("div", { className: "sticky top-2 z-20 flex flex-wrap items-center gap-2 rounded-lg border border-border bg-card px-4 py-2 text-sm shadow-lg", children: [_jsxs("span", { className: "font-medium tabular-nums", children: [selected.size, " gekozen"] }), _jsx(Button, { size: "sm", className: "h-8", onClick: () => setDrawerOpen(true), children: "Voorraadsturing instellen" }), _jsx(Button, { size: "sm", variant: "ghost", className: "h-8", onClick: () => setSelected(new Set()), children: "Keuze wissen" })] })), filter === "twijfel" ? (_jsx(TwijfelTabel, { rijen: data?.twijfel_rijen ?? [], loading: loading, onGekozen: () => void reload() })) : (_jsx(VoorraadLijstTabel, { rijen: data?.rijen ?? [], loading: loading, sort: sorteer.sort, oplopend: sorteer.oplopend, onSort: (k) => setSorteer((cur) => volgendeSortering(cur, k)), kolommen: kolommen, selected: selected, onToggleSelect: toggleSelect, onToggleAll: toggleAll, onAanpassen: setAanpassen, onAfboeken: setAfboeken, heeftKoppeling: heeftKoppeling, leeg: leeg })), _jsx(Pagination, { totalCount: data?.totaal ?? 0, page: pagina, pageSize: grootte, onPage: setPagina, onPageSize: setGrootte }), _jsx(FilterPanel, { open: filterOpen, onOpenChange: setFilterOpen, onClear: () => setFilter("alles"), children: _jsx(FilterGroup, { title: "Weergave", value: filter, onChange: setFilter, options: tabs.map((t) => ({ value: t.value, label: FILTER_HINT[t.value] })) }) }), _jsx(AanpassenDialog, { rij: aanpassen, onClose: () => setAanpassen(null), onDone: reload }), _jsx(AfboekenDialog, { rij: afboeken, connectionId: stockConnId, onClose: () => setAfboeken(null), onDone: reload }), _jsx(InventorySettingsDrawer, { open: drawerOpen, onOpenChange: setDrawerOpen, connectionId: conn.activeId ?? null, productIds: [...selected], onSaved: reload }), _jsx(MobilePrimaryAction, { onClick: nieuw, hidden: selectieBalk, icon: _jsx(Plus, {}), children: "Nieuw artikel" })] }));
@@ -6,5 +6,5 @@ export interface VoorraadPaginationProps {
6
6
  onPageChange: (page: number) => void;
7
7
  onPageSizeChange: (size: number) => void;
8
8
  }
9
- export declare function VoorraadPagination({ total, page, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, }: VoorraadPaginationProps): import("react").JSX.Element;
9
+ export declare function VoorraadPagination({ total, page, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, }: VoorraadPaginationProps): import("react/jsx-runtime").JSX.Element;
10
10
  //# sourceMappingURL=VoorraadPagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadPagination.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPagination.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,eAAmC,EACnC,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB,+BAuDzB"}
1
+ {"version":3,"file":"VoorraadPagination.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadPagination.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,eAAmC,EACnC,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB,2CAuDzB"}
@@ -4,6 +4,6 @@ interface Props {
4
4
  draftId?: string | null;
5
5
  productId?: string | null;
6
6
  }
7
- export declare function VoorraadStockCard({ connectionId, tradeItemId, draftId, productId }: Props): import("react").JSX.Element | null;
7
+ export declare function VoorraadStockCard({ connectionId, tradeItemId, draftId, productId }: Props): import("react/jsx-runtime").JSX.Element | null;
8
8
  export {};
9
9
  //# sourceMappingURL=VoorraadStockCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadStockCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadStockCard.tsx"],"names":[],"mappings":"AA4BA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,sCA+RzF"}
1
+ {"version":3,"file":"VoorraadStockCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadStockCard.tsx"],"names":[],"mappings":"AA4BA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,kDA+RzF"}
@@ -2,5 +2,5 @@
2
2
  * Shellinstelling: welke voorraadsturing krijgen artikelen die automatisch uit
3
3
  * Floriday worden aangemaakt. Bestaande artikelen veranderen niet.
4
4
  */
5
- export declare function VoorraadSturingCard(): import("react").JSX.Element;
5
+ export declare function VoorraadSturingCard(): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=VoorraadSturingCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadSturingCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadSturingCard.tsx"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,mBAAmB,gCAgElC"}
1
+ {"version":3,"file":"VoorraadSturingCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadSturingCard.tsx"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,mBAAmB,4CAgElC"}
@@ -10,5 +10,5 @@ export declare function VoorraadTable({ items, loading, settingsByKey, selected,
10
10
  onToggleSelect?: (productId: string) => void;
11
11
  onToggleAll?: (productIds: string[]) => void;
12
12
  onOpenSettings?: (productId: string) => void;
13
- }): import("react").JSX.Element;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
14
  //# sourceMappingURL=VoorraadTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadTable.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadTable.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAgFzE,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,+BAoUA"}
1
+ {"version":3,"file":"VoorraadTable.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadTable.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAgFzE,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,2CAoUA"}
@@ -1,2 +1,2 @@
1
- export declare function VoorraadVeldenCard(): import("react").JSX.Element;
1
+ export declare function VoorraadVeldenCard(): import("react/jsx-runtime").JSX.Element;
2
2
  //# sourceMappingURL=VoorraadVeldenCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadVeldenCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadVeldenCard.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,kBAAkB,gCAqOjC"}
1
+ {"version":3,"file":"VoorraadVeldenCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/VoorraadVeldenCard.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,kBAAkB,4CAqOjC"}
@@ -2,5 +2,5 @@ export declare function ArtikelPagina({ id, resumeJobId, onNietGevonden }: {
2
2
  id: string;
3
3
  resumeJobId?: string;
4
4
  onNietGevonden?: () => void;
5
- }): import("react").JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=ArtikelPagina.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtikelPagina.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/ArtikelPagina.tsx"],"names":[],"mappings":"AAmGA,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,+BA6enI"}
1
+ {"version":3,"file":"ArtikelPagina.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/ArtikelPagina.tsx"],"names":[],"mappings":"AAmGA,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,2CA6enI"}
@@ -3,5 +3,5 @@ export declare function TwijfelKiezen({ productId, floridayId, onGekozen }: {
3
3
  productId?: string;
4
4
  floridayId?: string;
5
5
  onGekozen?: () => void;
6
- }): import("react").JSX.Element | null;
6
+ }): import("react/jsx-runtime").JSX.Element | null;
7
7
  //# sourceMappingURL=TwijfelKiezen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TwijfelKiezen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/TwijfelKiezen.tsx"],"names":[],"mappings":"AASA,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,sCAiEtI"}
1
+ {"version":3,"file":"TwijfelKiezen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/artikel/TwijfelKiezen.tsx"],"names":[],"mappings":"AASA,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,kDAiEtI"}
@@ -1,5 +1,5 @@
1
1
  export declare function ImporteerKnop({ connectionId, onImported }: {
2
2
  connectionId: string | null;
3
3
  onImported: () => void;
4
- }): import("react").JSX.Element;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=ImporteerKnop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImporteerKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/ImporteerKnop.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,+BAkBlH"}
1
+ {"version":3,"file":"ImporteerKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/ImporteerKnop.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAA;CAAE,2CAkBlH"}
@@ -2,5 +2,5 @@ import { type LijstVraag } from "../../../hooks/useVoorraadLijst.js";
2
2
  /** Excel-export van het huidige filter en de zoekopdracht, in porties van de server (geen limiet). */
3
3
  export declare function LijstExportKnop({ vraag }: {
4
4
  vraag: Omit<LijstVraag, "pagina" | "grootte">;
5
- }): import("react").JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=LijstExportKnop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LijstExportKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/LijstExportKnop.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGrF,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;CAAE,+BAsC3F"}
1
+ {"version":3,"file":"LijstExportKnop.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/LijstExportKnop.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGrF,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;CAAE,2CAsC3F"}
@@ -6,11 +6,11 @@ export declare function AanpassenDialog({ rij, onClose, onDone }: {
6
6
  rij: LijstRij | null;
7
7
  onClose: () => void;
8
8
  onDone: () => void;
9
- }): import("react").JSX.Element | null;
9
+ }): import("react/jsx-runtime").JSX.Element | null;
10
10
  export declare function AfboekenDialog({ rij, connectionId, onClose, onDone, }: {
11
11
  rij: LijstRij | null;
12
12
  connectionId: string | null;
13
13
  onClose: () => void;
14
14
  onDone: () => void;
15
- }): import("react").JSX.Element | null;
15
+ }): import("react/jsx-runtime").JSX.Element | null;
16
16
  //# sourceMappingURL=SnelActieDialogen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SnelActieDialogen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/SnelActieDialogen.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,sCAyD1H;AAED,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,GACP,EAAE;IACD,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,sCAwEA"}
1
+ {"version":3,"file":"SnelActieDialogen.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/SnelActieDialogen.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,kDAyD1H;AAED,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,GACP,EAAE;IACD,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,kDAwEA"}
@@ -7,7 +7,7 @@ export declare const OPTIONELE_KOLOMMEN: Array<{
7
7
  }>;
8
8
  export declare function ArtikelStatusIcoon({ status }: {
9
9
  status: LijstStatus;
10
- }): import("react").JSX.Element;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
11
  export declare function VoorraadLijstTabel({ rijen, loading, sort, oplopend, onSort, kolommen, selected, onToggleSelect, onToggleAll, onAanpassen, onAfboeken, heeftKoppeling, leeg, }: {
12
12
  heeftKoppeling?: boolean;
13
13
  rijen: LijstRij[];
@@ -23,5 +23,5 @@ export declare function VoorraadLijstTabel({ rijen, loading, sort, oplopend, onS
23
23
  onAfboeken: (r: LijstRij) => void;
24
24
  /** Lege staat (verschilt per filter/zoekopdracht). */
25
25
  leeg?: ReactNode;
26
- }): import("react").JSX.Element;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
27
  //# sourceMappingURL=VoorraadLijstTabel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoorraadLijstTabel.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/VoorraadLijstTabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5E,CAAC;AAmBF,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,+BAGrE;AAmBD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAsB,EACtB,IAAI,GACL,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,+BA6FA"}
1
+ {"version":3,"file":"VoorraadLijstTabel.d.ts","sourceRoot":"","sources":["../../../../src/components/voorraad/lijst/VoorraadLijstTabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAOrD,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK5E,CAAC;AAmBF,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,2CAGrE;AAmBD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAsB,EACtB,IAAI,GACL,EAAE;IACD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,2CA6FA"}
@@ -2,5 +2,5 @@
2
2
  // aanmelden, rollen en alle modulevragen altijd dezelfde actieve sessie.
3
3
  import { supabase as sharedSupabase } from '@flowselections/core';
4
4
  // Import the supabase client like this:
5
- // import { supabase } from "./client.js";
5
+ // import { supabase } from "../../integrations/supabase/client.js";
6
6
  export const supabase = sharedSupabase;
@@ -20,7 +20,7 @@ function createSupabaseAdminClient() {
20
20
  let _supabaseAdmin;
21
21
  // Server-side Supabase client with service role - bypasses RLS
22
22
  // SECURITY: Only use this for trusted server-side operations, never expose to client code
23
- // Import like: import { supabaseAdmin } from "./client.server.js";
23
+ // Import like: import { supabaseAdmin } from "../../integrations/supabase/client.server.js";
24
24
  export const supabaseAdmin = new Proxy({}, {
25
25
  get(_, prop, receiver) {
26
26
  if (!_supabaseAdmin)
@@ -33210,6 +33210,25 @@ export type Database = {
33210
33210
  };
33211
33211
  Returns: undefined;
33212
33212
  };
33213
+ aanbiedingsmail_campagnes_lijst: {
33214
+ Args: {
33215
+ p_limit?: number;
33216
+ p_offset?: number;
33217
+ p_status?: string;
33218
+ p_tot?: string;
33219
+ p_van?: string;
33220
+ p_zoek?: string;
33221
+ };
33222
+ Returns: Json;
33223
+ };
33224
+ aanbiedingsmail_campagnes_tellers: {
33225
+ Args: {
33226
+ p_tot?: string;
33227
+ p_van?: string;
33228
+ p_zoek?: string;
33229
+ };
33230
+ Returns: Json;
33231
+ };
33213
33232
  aanbiedingsmail_create_order: {
33214
33233
  Args: {
33215
33234
  p_offer_order_id: string;
@@ -33246,6 +33265,15 @@ export type Database = {
33246
33265
  };
33247
33266
  Returns: Json;
33248
33267
  };
33268
+ aanbiedingsmail_ontvangers_lijst: {
33269
+ Args: {
33270
+ p_campaign_id: string;
33271
+ p_limit?: number;
33272
+ p_offset?: number;
33273
+ p_zoek?: string;
33274
+ };
33275
+ Returns: Json;
33276
+ };
33249
33277
  aanbiedingsmail_place_offer_order: {
33250
33278
  Args: {
33251
33279
  p_code: string;
@@ -33265,6 +33293,12 @@ export type Database = {
33265
33293
  };
33266
33294
  Returns: string;
33267
33295
  };
33296
+ aanbiedingsmail_status_sleutel: {
33297
+ Args: {
33298
+ p_status: string;
33299
+ };
33300
+ Returns: string;
33301
+ };
33268
33302
  aanbiedingsmail_stock_key: {
33269
33303
  Args: {
33270
33304
  p_ref: string;
@@ -35882,6 +35916,19 @@ export type Database = {
35882
35916
  };
35883
35917
  Returns: Json;
35884
35918
  };
35919
+ inkoop_artikelen_page: {
35920
+ Args: {
35921
+ _asc?: boolean;
35922
+ _limit?: number;
35923
+ _location?: string;
35924
+ _offset?: number;
35925
+ _search?: string;
35926
+ _sort?: string;
35927
+ _tab?: string;
35928
+ _unit?: string;
35929
+ };
35930
+ Returns: Json;
35931
+ };
35885
35932
  inkoop_cancel_line: {
35886
35933
  Args: {
35887
35934
  _item_id: string;
@@ -35931,6 +35978,18 @@ export type Database = {
35931
35978
  Args: never;
35932
35979
  Returns: string;
35933
35980
  };
35981
+ inkoop_orders_page: {
35982
+ Args: {
35983
+ _delivery_from?: string;
35984
+ _delivery_to?: string;
35985
+ _limit?: number;
35986
+ _offset?: number;
35987
+ _search?: string;
35988
+ _supplier_id?: string;
35989
+ _tab?: string;
35990
+ };
35991
+ Returns: Json;
35992
+ };
35934
35993
  inkoop_process_request: {
35935
35994
  Args: {
35936
35995
  _request_id: string;
@@ -44758,6 +44817,12 @@ export type Database = {
44758
44817
  };
44759
44818
  Returns: Json;
44760
44819
  };
44820
+ scan_kar_scans_lezen: {
44821
+ Args: {
44822
+ p_kar_id: string;
44823
+ };
44824
+ Returns: Json;
44825
+ };
44761
44826
  scan_kar_voortgang: {
44762
44827
  Args: {
44763
44828
  p_cart_id: string;
@@ -44774,6 +44839,17 @@ export type Database = {
44774
44839
  };
44775
44840
  Returns: Json;
44776
44841
  };
44842
+ scan_karren_overzicht: {
44843
+ Args: {
44844
+ p_limit?: number;
44845
+ p_offset?: number;
44846
+ p_status?: string;
44847
+ p_tot?: string;
44848
+ p_van?: string;
44849
+ p_zoek?: string;
44850
+ };
44851
+ Returns: Json;
44852
+ };
44777
44853
  scan_koppelcode_maken: {
44778
44854
  Args: {
44779
44855
  p_scanner_id: string;