@flowselections/floriday-voorraad 1.0.45 → 1.0.47

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 (144) hide show
  1. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
  2. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
  3. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
  4. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
  5. package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
  6. package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
  7. package/dist-lib/components/voorraad/ArtikelWizard.js +157 -9
  8. package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
  9. package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
  10. package/dist-lib/components/voorraad/EditArtikelPage.js +2 -1
  11. package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
  12. package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
  13. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
  14. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
  15. package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
  16. package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
  17. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +1 -1
  18. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -1
  19. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +1 -1
  20. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -1
  21. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
  22. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
  23. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
  24. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
  25. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
  26. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
  27. package/dist-lib/components/voorraad/PriceStatusBadge.js +1 -1
  28. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
  29. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
  30. package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
  31. package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
  32. package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
  33. package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
  34. package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
  35. package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
  36. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
  37. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
  38. package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
  39. package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
  40. package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
  41. package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
  42. package/dist-lib/components/voorraad/StockHistoryChart.d.ts +1 -1
  43. package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -1
  44. package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts +1 -1
  45. package/dist-lib/components/voorraad/StockMutationHistoryCard.d.ts.map +1 -1
  46. package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
  47. package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
  48. package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
  49. package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
  50. package/dist-lib/components/voorraad/TrayStickerCard.d.ts +5 -0
  51. package/dist-lib/components/voorraad/TrayStickerCard.d.ts.map +1 -0
  52. package/dist-lib/components/voorraad/TrayStickerCard.js +100 -0
  53. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
  54. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
  55. package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
  56. package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
  57. package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
  58. package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
  59. package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
  60. package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
  61. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
  62. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
  63. package/dist-lib/components/voorraad/VoorraadTable.d.ts +1 -1
  64. package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
  65. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
  66. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
  67. package/dist-lib/hooks/useTradeItemSupplyLine.js +1 -1
  68. package/dist-lib/integrations/supabase/auth-middleware.d.ts +3255 -199
  69. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  70. package/dist-lib/integrations/supabase/client.d.ts +3255 -199
  71. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  72. package/dist-lib/integrations/supabase/client.js +1 -1
  73. package/dist-lib/integrations/supabase/client.server.d.ts +3255 -199
  74. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  75. package/dist-lib/integrations/supabase/client.server.js +1 -1
  76. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +1 -1
  77. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -1
  78. package/dist-lib/integrations/supabase/previewAuthStorage.js +8 -1
  79. package/dist-lib/integrations/supabase/types.d.ts +3287 -192
  80. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  81. package/dist-lib/lib/floricode-required-features.functions.d.ts +3267 -217
  82. package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
  83. package/dist-lib/lib/floricode-required-features.functions.js +1 -1
  84. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +3267 -211
  85. package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
  86. package/dist-lib/lib/floriday-env.functions.d.ts +6126 -14
  87. package/dist-lib/lib/floriday-env.functions.d.ts.map +1 -1
  88. package/dist-lib/lib/floriday-gateway.functions.d.ts +18378 -42
  89. package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
  90. package/dist-lib/lib/floriday-vbn-required.functions.d.ts +6126 -14
  91. package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -1
  92. package/dist-lib/lib/floriday-warehouse.functions.d.ts +9189 -21
  93. package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
  94. package/dist-lib/lib/floriday-writes.functions.d.ts +6126 -14
  95. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  96. package/dist-lib/lib/inventory-settings.functions.d.ts +6126 -14
  97. package/dist-lib/lib/inventory-settings.functions.d.ts.map +1 -1
  98. package/dist-lib/lib/inventory-settings.functions.js +3 -3
  99. package/dist-lib/lib/logistics-buffer-events.server.js +1 -1
  100. package/dist-lib/lib/logistics-tasks.server.js +2 -2
  101. package/dist-lib/lib/module-runtime.server.js +1 -1
  102. package/dist-lib/lib/product-packing.d.ts +28 -0
  103. package/dist-lib/lib/product-packing.d.ts.map +1 -0
  104. package/dist-lib/lib/product-packing.js +90 -0
  105. package/dist-lib/lib/stock-sync.functions.d.ts +6126 -14
  106. package/dist-lib/lib/stock-sync.functions.d.ts.map +1 -1
  107. package/dist-lib/lib/stock-sync.functions.js +3 -3
  108. package/package.json +3 -3
  109. package/dist-lib/components/TemplatePage.d.ts +0 -2
  110. package/dist-lib/components/TemplatePage.d.ts.map +0 -1
  111. package/dist-lib/components/TemplatePage.js +0 -4
  112. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +0 -2
  113. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +0 -1
  114. package/dist-lib/components/settings/VoorraadSettingsCard.js +0 -39
  115. package/dist-lib/components/voorraad/ConnectionBadge.d.ts +0 -6
  116. package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +0 -1
  117. package/dist-lib/components/voorraad/ConnectionBadge.js +0 -12
  118. package/dist-lib/components/voorraad/ConnectionPicker.d.ts +0 -8
  119. package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +0 -1
  120. package/dist-lib/components/voorraad/ConnectionPicker.js +0 -8
  121. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +0 -4
  122. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +0 -1
  123. package/dist-lib/components/voorraad/FloridayStatusBadge.js +0 -8
  124. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +0 -2
  125. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +0 -1
  126. package/dist-lib/components/voorraad/ModuleHealthCard.js +0 -40
  127. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +0 -10
  128. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +0 -1
  129. package/dist-lib/components/voorraad/VoorraadDashboard.js +0 -53
  130. package/dist-lib/lib/floriday-field-sources.d.ts +0 -18
  131. package/dist-lib/lib/floriday-field-sources.d.ts.map +0 -1
  132. package/dist-lib/lib/floriday-field-sources.js +0 -45
  133. package/dist-lib/lib/floriday-schema-to-zod.d.ts +0 -9
  134. package/dist-lib/lib/floriday-schema-to-zod.d.ts.map +0 -1
  135. package/dist-lib/lib/floriday-schema-to-zod.js +0 -53
  136. package/dist-lib/lib/merge-products.d.ts +0 -8
  137. package/dist-lib/lib/merge-products.d.ts.map +0 -1
  138. package/dist-lib/lib/merge-products.js +0 -17
  139. package/dist-lib/lib/module-health.functions.d.ts +0 -53497
  140. package/dist-lib/lib/module-health.functions.d.ts.map +0 -1
  141. package/dist-lib/lib/module-health.functions.js +0 -261
  142. package/dist-lib/lib/validationSchemas.d.ts +0 -15
  143. package/dist-lib/lib/validationSchemas.d.ts.map +0 -1
  144. package/dist-lib/lib/validationSchemas.js +0 -25
@@ -4,6 +4,6 @@ interface Props {
4
4
  onOpenChange: (open: boolean) => void;
5
5
  onSave: (item: AdditionalPackagingInput) => void;
6
6
  }
7
- export declare function AdditionalPackagingDialog({ open, onOpenChange, onSave }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export declare function AdditionalPackagingDialog({ open, onOpenChange, onSave }: Props): import("react").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=AdditionalPackagingDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdditionalPackagingDialog.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/AdditionalPackagingDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,4BAA4B,CAAC;AAMpC,UAAU,KAAK;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,2CA2I9E"}
1
+ {"version":3,"file":"AdditionalPackagingDialog.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/AdditionalPackagingDialog.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,4BAA4B,CAAC;AAMpC,UAAU,KAAK;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,+BA2I9E"}
@@ -2,6 +2,6 @@ interface Props {
2
2
  productId: string | null;
3
3
  floridayId: string | null;
4
4
  }
5
- export declare function ArtikelCompositionCard({ productId, floridayId }: Props): import("react/jsx-runtime").JSX.Element | null;
5
+ export declare function ArtikelCompositionCard({ productId, floridayId }: Props): import("react").JSX.Element | null;
6
6
  export {};
7
7
  //# sourceMappingURL=ArtikelCompositionCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtikelCompositionCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelCompositionCard.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAqFD,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,kDAgNtE"}
1
+ {"version":3,"file":"ArtikelCompositionCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelCompositionCard.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAqFD,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,sCAgNtE"}
@@ -3,5 +3,5 @@ export declare function ArtikelWizard({ draftId: initialDraftId, tradeItemId, pr
3
3
  tradeItemId?: string;
4
4
  productId?: string;
5
5
  resumeJobId?: string;
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  //# sourceMappingURL=ArtikelWizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AAsMA,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EACX,SAAS,EACT,WAAW,GACZ,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,2CA89DL"}
1
+ {"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AA4MA,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EACX,SAAS,EACT,WAAW,GACZ,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,+BAsqEL"}
@@ -28,6 +28,7 @@ import { usePublishJob } from "../../hooks/usePublishJob";
28
28
  import { PublishReadinessCard } from "./PublishReadinessCard";
29
29
  import { PublishProgressCard } from "./PublishProgressCard";
30
30
  import { gatewayReadFn } from "../../lib/floriday-gateway.functions";
31
+ import { pickPrimaryPacking, readPackingStatus, writeConfirmedPacking, } from "../../lib/product-packing";
31
32
  import { getFloridayReadinessFn } from "../../lib/floriday-env.functions";
32
33
  const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
33
34
  import { VoorraadStockCard } from "../../components/voorraad/VoorraadStockCard";
@@ -131,6 +132,12 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
131
132
  // Lokaal opgeslagen, maar (nog) niet bevestigd door Floriday.
132
133
  const [pendingSync, setPendingSync] = useState(null);
133
134
  const [retryingSync, setRetryingSync] = useState(false);
135
+ // Belading zoals door Floriday bevestigd. null = nieuw artikel / nog niet geladen.
136
+ const [packingStatus, setPackingStatus] = useState(null);
137
+ // Stand van het artikel bij Floriday op het moment dat dit scherm het las.
138
+ const remoteBaselineRef = useRef(null);
139
+ // Vergelijking tonen wanneer Floriday intussen gewijzigd is.
140
+ const [conflict, setConflict] = useState(null);
134
141
  const [productMeta, setProductMeta] = useState({ floridayActive: false, floridayTradeItemId: null, physicalStock: 0 });
135
142
  const [deleteAck, setDeleteAck] = useState(false);
136
143
  const [deleteOpen, setDeleteOpen] = useState(false);
@@ -285,7 +292,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
285
292
  try {
286
293
  const { data: product, error } = await supabase
287
294
  .from("products")
288
- .select("id,product,barcode,article_number,quantity,image_url,plants_per_crate,crates_per_layer,layers_per_cart,trade_item_key,floriday_trade_item_id,custom_fields")
295
+ .select("id,product,barcode,article_number,quantity,image_url,plants_per_crate,crates_per_layer,layers_per_cart,floriday_packing_confirmed_at,floriday_packing_source,trade_item_key,floriday_trade_item_id,custom_fields")
289
296
  .eq("id", productId)
290
297
  .maybeSingle();
291
298
  if (cancelled)
@@ -299,9 +306,13 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
299
306
  const barcode = String(product.barcode ?? "").trim();
300
307
  const validGtin = isValidGtin13(barcode);
301
308
  const imageUrl = String(product.image_url ?? "").trim();
302
- const ppc = Number(product.plants_per_crate) || 0;
303
- const cpl = Number(product.crates_per_layer) || 0;
304
- const lpc = Number(product.layers_per_cart) || 0;
309
+ // De kolommen zijn NOT NULL met technische standaardwaarden (1/10/4).
310
+ // Alleen wanneer Floriday de belading bevestigd heeft, zijn ze echt.
311
+ const packing = readPackingStatus(product);
312
+ setPackingStatus(packing);
313
+ const ppc = packing.packing?.piecesPerPackage ?? 0;
314
+ const cpl = packing.packing?.packagesPerLayer ?? 0;
315
+ const lpc = packing.packing?.layersPerLoadCarrier ?? 0;
305
316
  const customFields = asPlainRecord(product.custom_fields);
306
317
  const payload = asPlainRecord(customFields.floriday_payload);
307
318
  const productTradeItemKey = String(product.trade_item_key ?? "");
@@ -321,7 +332,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
321
332
  const [cacheRes, prefRes] = await Promise.all([
322
333
  supabase
323
334
  .from("floriday_trade_items_cache")
324
- .select("data")
335
+ .select("data,fetched_at")
325
336
  .eq("connection_id", activeId)
326
337
  .eq("floriday_id", fid)
327
338
  .maybeSingle(),
@@ -333,6 +344,13 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
333
344
  .maybeSingle(),
334
345
  ]);
335
346
  if (cacheRes.data?.data) {
347
+ // Stand zoals dit scherm het artikel bij Floriday las: basis voor
348
+ // de vergelijking vlak vóór publiceren.
349
+ remoteBaselineRef.current = {
350
+ item: cacheRes.data.data,
351
+ at: cacheRes.data.fetched_at ?? new Date().toISOString(),
352
+ source: "cache",
353
+ };
336
354
  cacheData = floridayCacheToWizardData(cacheRes.data.data);
337
355
  if (!cacheData.productGroup) {
338
356
  const group = await lookupProductGroupForVbn(cacheData.vbnCode);
@@ -956,6 +974,95 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
956
974
  description: friendly.hint,
957
975
  });
958
976
  }, [data.vbnCode, goToStepKey, queryClient]);
977
+ /** Floriday levert namen soms als {nl: "..."}; toon altijd leesbare tekst. */
978
+ const pickRemoteName = (value) => {
979
+ if (typeof value === "string")
980
+ return value;
981
+ if (value && typeof value === "object") {
982
+ const rec = value;
983
+ const first = rec.nl ?? rec.en ?? Object.values(rec)[0];
984
+ return typeof first === "string" ? first : "";
985
+ }
986
+ return "";
987
+ };
988
+ /**
989
+ * Vergelijkt de huidige stand bij Floriday met de stand die dit scherm las.
990
+ * Bij verschillen tonen we een vergelijking; de gebruiker beslist zelf of de
991
+ * eigen wijziging alsnog gepubliceerd wordt (nu wint niet stilzwijgend wie
992
+ * het laatst publiceert). Een leesfout blokkeert het publiceren niet.
993
+ */
994
+ const confirmNoRemoteChanges = useCallback(async (targetTradeItemId) => {
995
+ let live = null;
996
+ try {
997
+ const res = (await gatewayReadFn({
998
+ data: { path: `/suppliers-api-2026v1/trade-items/${targetTradeItemId}` },
999
+ }));
1000
+ live = res?.data ?? null;
1001
+ }
1002
+ catch {
1003
+ return true;
1004
+ }
1005
+ if (!live)
1006
+ return true;
1007
+ const baseline = remoteBaselineRef.current;
1008
+ if (!baseline) {
1009
+ remoteBaselineRef.current = {
1010
+ item: live,
1011
+ at: new Date().toISOString(),
1012
+ source: "floriday",
1013
+ };
1014
+ return true;
1015
+ }
1016
+ const describe = (item) => {
1017
+ const pack = pickPrimaryPacking(item?.packingConfigurations);
1018
+ return {
1019
+ Artikelnaam: pickRemoteName(item?.tradeItemName ?? item?.name) || "—",
1020
+ Belading: pack
1021
+ ? `${pack.piecesPerPackage} per fust · ${pack.packagesPerLayer} per laag · ${pack.layersPerLoadCarrier} lagen`
1022
+ : "onbekend",
1023
+ Foto_s: String(Array.isArray(item?.photos)
1024
+ ? item.photos.length
1025
+ : Array.isArray(item?.images)
1026
+ ? item.images.length
1027
+ : 0),
1028
+ Kenmerken: String(Array.isArray(item?.characteristics) ? item.characteristics.length : 0),
1029
+ VBN_code: String(item?.vbnProductCode ?? item?.vbnCode ?? "—"),
1030
+ };
1031
+ };
1032
+ const before = describe(baseline.item);
1033
+ const after = describe(live);
1034
+ const differences = Object.keys(after)
1035
+ .filter((k) => before[k] !== after[k])
1036
+ .map((k) => ({
1037
+ label: k.replace(/_/g, "'"),
1038
+ mine: before[k],
1039
+ theirs: after[k],
1040
+ }));
1041
+ if (differences.length === 0) {
1042
+ remoteBaselineRef.current = {
1043
+ item: live,
1044
+ at: new Date().toISOString(),
1045
+ source: "floriday",
1046
+ };
1047
+ return true;
1048
+ }
1049
+ return await new Promise((resolve) => {
1050
+ setConflict({
1051
+ differences,
1052
+ resolve: (proceed) => {
1053
+ setConflict(null);
1054
+ if (proceed) {
1055
+ remoteBaselineRef.current = {
1056
+ item: live,
1057
+ at: new Date().toISOString(),
1058
+ source: "floriday",
1059
+ };
1060
+ }
1061
+ resolve(proceed);
1062
+ },
1063
+ });
1064
+ });
1065
+ }, []);
959
1066
  const submit = async (options) => {
960
1067
  if (!activeId) {
961
1068
  toast.error("Geen actieve verbinding met de handelsomgeving", {
@@ -1075,6 +1182,13 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
1075
1182
  });
1076
1183
  return;
1077
1184
  }
1185
+ // Is het artikel bij Floriday intussen gewijzigd sinds dit scherm het las?
1186
+ // Dan eerst vergelijken in plaats van blind overschrijven.
1187
+ if (publishedTradeItemId) {
1188
+ const proceed = await confirmNoRemoteChanges(publishedTradeItemId);
1189
+ if (!proceed)
1190
+ return;
1191
+ }
1078
1192
  setSubmitting(true);
1079
1193
  const environment = activeConnection?.active_environment;
1080
1194
  if (environment !== "staging" && environment !== "live") {
@@ -1276,7 +1390,38 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
1276
1390
  catch {
1277
1391
  /* wordt automatisch bijgewerkt bij de volgende synchronisatie */
1278
1392
  }
1393
+ // Floriday heeft de belading nu bevestigd: direct wegschrijven op
1394
+ // het product, zodat andere modules niet hoeven te wachten op de
1395
+ // 5-minuten-cron. De trigger/cron blijft het vangnet.
1396
+ const targetProductId = productId ?? draftId ?? null;
1397
+ const confirmedPacking = pickPrimaryPacking(item?.packingConfigurations);
1398
+ if (targetProductId && confirmedPacking) {
1399
+ try {
1400
+ await writeConfirmedPacking({
1401
+ productId: targetProductId,
1402
+ packing: confirmedPacking,
1403
+ source: "wizard_publish",
1404
+ });
1405
+ setPackingStatus({
1406
+ known: true,
1407
+ confirmedAt: new Date().toISOString(),
1408
+ source: "wizard_publish",
1409
+ packing: confirmedPacking,
1410
+ });
1411
+ }
1412
+ catch (e) {
1413
+ console.warn("Belading wegschrijven mislukt", e);
1414
+ }
1415
+ }
1416
+ remoteBaselineRef.current = {
1417
+ item,
1418
+ at: new Date().toISOString(),
1419
+ source: "floriday",
1420
+ };
1279
1421
  const warnings = [];
1422
+ if (!confirmedPacking) {
1423
+ warnings.push("Floriday heeft nog geen belading voor dit artikel");
1424
+ }
1280
1425
  const remoteName = item?.tradeItemName ?? item?.name;
1281
1426
  if (remoteName && data.name && remoteName !== data.name) {
1282
1427
  warnings.push("De artikelnaam wijkt af");
@@ -1571,7 +1716,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
1571
1716
  ? "border-primary bg-primary text-primary-foreground"
1572
1717
  : status === "invalid"
1573
1718
  ? "border-destructive bg-destructive text-destructive-foreground"
1574
- : "border-muted-foreground/30 text-muted-foreground"}`, children: status === "valid" ? (_jsx(Check, { className: "h-4 w-4" })) : status === "invalid" ? ("!") : (i + 1) }), _jsx("span", { className: `min-w-0 truncate font-medium ${status === "untouched" ? "text-muted-foreground" : ""}`, children: s.label }), !isOpen && summary && (_jsx("span", { className: `max-w-xs truncate text-xs ${status === "invalid" ? "text-destructive" : "text-muted-foreground"}`, children: status === "invalid" ? `Onvolledig — ${summary}` : summary }))] }), isOpen && (_jsxs(CardContent, { className: "space-y-4 pt-0", children: [_jsx("div", { "data-wizard-form-content": true, className: "w-full min-w-0", children: _jsx(StepBody, { stepKey: s.key, data: data, update: update, vbnProducts: vbnProducts, featureTypes: featureTypes, packagingTypes: packagingTypes, loadCarriers: loadCarriers, floridayCustomers: floridayCustomers, schemaQuery: schemaQuery, regulatoryQuery: regulatoryQuery, spec: spec, collectionsList: collectionsList, setCollectionsList: setCollectionsList, activeId: activeId, acceptedVbnCodes: acceptedVbnCodes, priceGroups: priceGroups, parentProductId: linkedProductId ?? draftId ?? null, parentFloridayId: draftFloridayId ?? tradeItemId ?? null, articleCodeLocked: Boolean(draftFloridayId || tradeItemId) }) }), isLastStep && !isEditingPublished && (_jsxs("div", { className: "rounded-lg border bg-muted/30 p-4 flex items-start gap-3", children: [_jsx("img", { src: floridayLogo, alt: "Floriday", className: "h-7 w-7 shrink-0 mt-0.5" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx(Label, { htmlFor: "publish-to-floriday", className: "font-medium cursor-pointer", children: "Publiceren naar Floriday" }), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: publishToFloriday
1719
+ : "border-muted-foreground/30 text-muted-foreground"}`, children: status === "valid" ? (_jsx(Check, { className: "h-4 w-4" })) : status === "invalid" ? ("!") : (i + 1) }), _jsx("span", { className: `min-w-0 truncate font-medium ${status === "untouched" ? "text-muted-foreground" : ""}`, children: s.label }), !isOpen && summary && (_jsx("span", { className: `max-w-xs truncate text-xs ${status === "invalid" ? "text-destructive" : "text-muted-foreground"}`, children: status === "invalid" ? `Onvolledig — ${summary}` : summary }))] }), isOpen && (_jsxs(CardContent, { className: "space-y-4 pt-0", children: [_jsx("div", { "data-wizard-form-content": true, className: "w-full min-w-0", children: _jsx(StepBody, { stepKey: s.key, data: data, packingStatus: packingStatus, update: update, vbnProducts: vbnProducts, featureTypes: featureTypes, packagingTypes: packagingTypes, loadCarriers: loadCarriers, floridayCustomers: floridayCustomers, schemaQuery: schemaQuery, regulatoryQuery: regulatoryQuery, spec: spec, collectionsList: collectionsList, setCollectionsList: setCollectionsList, activeId: activeId, acceptedVbnCodes: acceptedVbnCodes, priceGroups: priceGroups, parentProductId: linkedProductId ?? draftId ?? null, parentFloridayId: draftFloridayId ?? tradeItemId ?? null, articleCodeLocked: Boolean(draftFloridayId || tradeItemId) }) }), isLastStep && !isEditingPublished && (_jsxs("div", { className: "rounded-lg border bg-muted/30 p-4 flex items-start gap-3", children: [_jsx("img", { src: floridayLogo, alt: "Floriday", className: "h-7 w-7 shrink-0 mt-0.5" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx(Label, { htmlFor: "publish-to-floriday", className: "font-medium cursor-pointer", children: "Publiceren naar Floriday" }), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: publishToFloriday
1575
1720
  ? "Het artikel wordt aangemaakt in Floriday en is binnen enkele minuten zichtbaar voor klanten."
1576
1721
  : "Het artikel wordt alleen lokaal opgeslagen. Je kunt het later vanuit de voorraadlijst alsnog publiceren naar Floriday." })] }), _jsx(Switch, { id: "publish-to-floriday", checked: publishToFloriday, onCheckedChange: setPublishToFloriday })] })), (isLastStep || isEditing) && (_jsx(PublishReadinessCard, { report: readiness, loading: connLoading || connectionReadiness.isLoading || schemaQuery.isLoading, onGoToStep: goToStepKey })), publishJob && (_jsx(PublishProgressCard, { job: publishJob, steps: publishSteps, retrying: submitting, onRetry: () => void submit({ resumeJobId: publishJob.id }), onFixStep: (key) => goToStepKey(key === "trade-item" ? "eigenschappen" : "aanbod") })), (isLastStep || isEditing) && invalidStepCount > 0 && (_jsxs("div", { className: "rounded-md border border-destructive/40 bg-destructive/5 px-3 py-2 text-xs text-destructive flex items-center justify-between gap-3", children: [_jsxs("span", { children: ["Nog ", invalidStepCount, " stap", invalidStepCount === 1 ? "" : "pen", " onvolledig"] }), firstInvalidIndex >= 0 && (_jsxs("button", { type: "button", onClick: () => setStep(firstInvalidIndex), className: "underline font-medium", children: ["Ga naar ", steps[firstInvalidIndex].label] }))] })), _jsx("div", { className: "flex justify-end pt-2", children: isLastStep || isEditing ? (_jsxs(Button, { onClick: () => void submit(), disabled: submitting || invalidStepCount > 0, children: [submitting ? (_jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" })) : (_jsx(Check, { className: "mr-2 h-4 w-4" })), isEditingPublished
1577
1722
  ? "Wijzigingen opslaan"
@@ -1582,7 +1727,10 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
1582
1727
  : isEditingDraft
1583
1728
  ? "Wijzigingen opslaan"
1584
1729
  : "Artikel aanmaken"] })) : (_jsxs(Button, { onClick: next, disabled: !isValid, children: ["Volgende stap", _jsx(ArrowRight, { className: "ml-2 h-4 w-4" })] })) })] }))] }) }, s.key));
1585
- }) })] }));
1730
+ }) }), _jsx(AlertDialog, { open: Boolean(conflict), onOpenChange: (open) => {
1731
+ if (!open)
1732
+ conflict?.resolve(false);
1733
+ }, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: "Dit artikel is inmiddels gewijzigd in Floriday" }), _jsx(AlertDialogDescription, { children: "Sinds dit scherm het artikel las, is het bij Floriday aangepast. Publiceer je jouw wijziging, dan overschrijf je die aanpassing." })] }), _jsx("div", { className: "overflow-hidden rounded-md border text-sm", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { className: "bg-muted/50 text-left text-xs uppercase text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "px-3 py-2 font-medium", children: "Gegeven" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Zoals jij het las" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Nu in Floriday" })] }) }), _jsx("tbody", { children: conflict?.differences.map((d) => (_jsxs("tr", { className: "border-t", children: [_jsx("td", { className: "px-3 py-2", children: d.label }), _jsx("td", { className: "px-3 py-2 text-muted-foreground", children: d.mine }), _jsx("td", { className: "px-3 py-2 font-medium", children: d.theirs })] }, d.label))) })] }) }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: () => conflict?.resolve(false), children: "Annuleren en eerst opnieuw laden" }), _jsx(AlertDialogAction, { onClick: () => conflict?.resolve(true), children: "Toch mijn wijziging publiceren" })] })] }) })] }));
1586
1734
  }
1587
1735
  function canAdvance(key, d) {
1588
1736
  return validateStep(key, d).ok;
@@ -2320,7 +2468,7 @@ function StepWarehouse({ data, update, activeId }) {
2320
2468
  * 3. Reguliere of klantspecifieke belading (multi-select organisaties)
2321
2469
  * 4. Optionele artikelfoto in dit fust (upload via Floriday /media)
2322
2470
  */
2323
- function StepBeladingen({ data, update, packagingTypes, loadCarriers, floridayCustomers, activeId, }) {
2471
+ function StepBeladingen({ data, update, packagingTypes, loadCarriers, floridayCustomers, activeId, packingStatus, }) {
2324
2472
  const [dialogOpen, setDialogOpen] = useState(false);
2325
2473
  const [editingId, setEditingId] = useState(null);
2326
2474
  const openNew = () => {
@@ -2364,7 +2512,7 @@ function StepBeladingen({ data, update, packagingTypes, loadCarriers, floridayCu
2364
2512
  const editing = editingId
2365
2513
  ? data.packingConfigurations.find((p) => p.id === editingId) ?? null
2366
2514
  : null;
2367
- return (_jsxs("div", { className: "space-y-4", children: [data.packingConfigurations.length === 0 ? (_jsx("div", { className: "rounded-md border border-dashed p-6 text-center", children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Nog geen beladingsconfiguratie toegevoegd." }) })) : (_jsx("div", { className: "overflow-hidden rounded-md border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { className: "bg-muted/50 text-left text-xs uppercase text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "px-3 py-2 font-medium", children: "Primair" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Fust" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Ladingdrager" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Belading" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Type" }), _jsx("th", { className: "px-3 py-2" })] }) }), _jsx("tbody", { className: "divide-y", children: data.packingConfigurations.map((p) => {
2515
+ return (_jsxs("div", { className: "space-y-4", children: [packingStatus && !packingStatus.known && (_jsxs("div", { className: "rounded-md border border-amber-300 bg-amber-50 p-3 text-sm text-amber-900 dark:border-amber-800 dark:bg-amber-950/40 dark:text-amber-100", children: [_jsx("span", { className: "font-medium", children: "Belading onbekend." }), " Floriday heeft voor dit artikel nog geen belading bevestigd. Wat je hier invult wordt pas de geldende belading zodra de publicatie door Floriday is bevestigd."] })), packingStatus?.known && packingStatus.packing && (_jsxs("div", { className: "rounded-md border bg-muted/30 p-3 text-sm text-muted-foreground", children: ["Door Floriday bevestigde belading: ", packingStatus.packing.piecesPerPackage, " per fust \u00B7", " ", packingStatus.packing.packagesPerLayer, " fusten per laag \u00B7", " ", packingStatus.packing.layersPerLoadCarrier, " lagen per kar."] })), data.packingConfigurations.length === 0 ? (_jsx("div", { className: "rounded-md border border-dashed p-6 text-center", children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Nog geen beladingsconfiguratie toegevoegd." }) })) : (_jsx("div", { className: "overflow-hidden rounded-md border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { className: "bg-muted/50 text-left text-xs uppercase text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "px-3 py-2 font-medium", children: "Primair" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Fust" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Ladingdrager" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Belading" }), _jsx("th", { className: "px-3 py-2 font-medium", children: "Type" }), _jsx("th", { className: "px-3 py-2" })] }) }), _jsx("tbody", { className: "divide-y", children: data.packingConfigurations.map((p) => {
2368
2516
  const pkgLabel = packagingTypes.find((r) => codeOf(r) === p.packagingType);
2369
2517
  const lcLabel = loadCarriers.find((r) => codeOf(r) === p.loadCarrier);
2370
2518
  return (_jsxs("tr", { className: "hover:bg-muted/30", children: [_jsx("td", { className: "px-3 py-2", children: _jsx("input", { type: "radio", name: "primary-packing", checked: Boolean(p.isPrimary), onChange: () => setPrimary(p.id), "aria-label": "Als primaire belading instellen" }) }), _jsxs("td", { className: "px-3 py-2", children: [_jsx("div", { className: "font-medium", children: pkgLabel
@@ -1,5 +1,5 @@
1
1
  export declare function EditArtikelPage({ id, resumeJobId, }: {
2
2
  id: string;
3
3
  resumeJobId?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
4
+ }): import("react").JSX.Element;
5
5
  //# sourceMappingURL=EditArtikelPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/EditArtikelPage.tsx"],"names":[],"mappings":"AAYA,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAmFA"}
1
+ {"version":3,"file":"EditArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/EditArtikelPage.tsx"],"names":[],"mappings":"AAaA,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,WAAW,GACZ,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,+BAoFA"}
@@ -4,6 +4,7 @@ import { Card } from "@flowselections/core";
4
4
  import { Loader2 } from "lucide-react";
5
5
  import { ArtikelWizard } from "./ArtikelWizard";
6
6
  import { ProductCustomFieldsCard } from "./ProductCustomFieldsCard";
7
+ import { TrayStickerCard } from "./TrayStickerCard";
7
8
  import { supabase } from "../../integrations/supabase/client";
8
9
  export function EditArtikelPage({ id, resumeJobId, }) {
9
10
  const [resolved, setResolved] = useState(null);
@@ -63,7 +64,7 @@ export function EditArtikelPage({ id, resumeJobId, }) {
63
64
  return (_jsx("main", { className: "p-6", children: _jsxs(Card, { className: "p-6 text-sm space-y-1", children: [_jsx("div", { children: "Artikel niet gevonden." }), resolved.reason && (_jsx("div", { className: "text-muted-foreground", children: resolved.reason }))] }) }));
64
65
  }
65
66
  if (resolved.kind === "product") {
66
- return (_jsxs(_Fragment, { children: [_jsx(ArtikelWizard, { productId: resolved.id, resumeJobId: resumeJobId }), _jsx("div", { className: "p-6 pt-0", children: _jsx(ProductCustomFieldsCard, { productId: resolved.id }) })] }));
67
+ return (_jsxs(_Fragment, { children: [_jsx(ArtikelWizard, { productId: resolved.id, resumeJobId: resumeJobId }), _jsxs("div", { className: "p-6 pt-0 space-y-6", children: [_jsx(TrayStickerCard, { productId: resolved.id }), _jsx(ProductCustomFieldsCard, { productId: resolved.id })] })] }));
67
68
  }
68
69
  return _jsx(ArtikelWizard, { tradeItemId: resolved.id, resumeJobId: resumeJobId });
69
70
  }
@@ -3,5 +3,5 @@ export declare function ExcelExportButton({ items, filename, onExported, }: {
3
3
  items: TradeItem[];
4
4
  filename?: string;
5
5
  onExported?: () => void | Promise<void>;
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  //# sourceMappingURL=ExcelExportButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExcelExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ExcelExportButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAqB,EACrB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,2CAgDA"}
1
+ {"version":3,"file":"ExcelExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ExcelExportButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAqB,EACrB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,+BAgDA"}
@@ -7,6 +7,6 @@ interface Props {
7
7
  gtin?: string | null;
8
8
  };
9
9
  }
10
- export declare function FloridayInfoCard({ floridayTradeItemId, local }: Props): import("react/jsx-runtime").JSX.Element | null;
10
+ export declare function FloridayInfoCard({ floridayTradeItemId, local }: Props): import("react").JSX.Element | null;
11
11
  export {};
12
12
  //# sourceMappingURL=FloridayInfoCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACH;AA6DD,wBAAgB,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,kDAqRrE"}
1
+ {"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACH;AA6DD,wBAAgB,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,sCAqRrE"}
@@ -1,2 +1,2 @@
1
- export declare function FustenPage(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function FustenPage(): import("react").JSX.Element;
2
2
  //# sourceMappingURL=FustenPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FustenPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FustenPage.tsx"],"names":[],"mappings":"AAiKA,wBAAgB,UAAU,4CAkMzB"}
1
+ {"version":3,"file":"FustenPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FustenPage.tsx"],"names":[],"mappings":"AAiKA,wBAAgB,UAAU,gCAkMzB"}
@@ -6,5 +6,5 @@ export declare function InventorySettingsDrawer({ open, onOpenChange, connection
6
6
  productIds: string[];
7
7
  current?: InventorySetting | undefined;
8
8
  onSaved?: () => void;
9
- }): import("react/jsx-runtime").JSX.Element;
9
+ }): import("react").JSX.Element;
10
10
  //# sourceMappingURL=InventorySettingsDrawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InventorySettingsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventorySettingsDrawer.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,kCAAkC,CAAC;AAWpF,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,2CA0LA"}
1
+ {"version":3,"file":"InventorySettingsDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventorySettingsDrawer.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,kCAAkC,CAAC;AAWpF,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,+BA0LA"}
@@ -2,5 +2,5 @@ import type { InventorySetting, StockMode } from "../../hooks/useInventorySettin
2
2
  export declare const MODE_LABELS: Record<StockMode, string>;
3
3
  export declare function InventoryStatusBadge({ setting }: {
4
4
  setting: InventorySetting | undefined;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): import("react").JSX.Element;
6
6
  //# sourceMappingURL=InventoryStatusBadge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InventoryStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventoryStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEpF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAMjD,CAAC;AA4BF,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,2CAyB1F"}
1
+ {"version":3,"file":"InventoryStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/InventoryStatusBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEpF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAMjD,CAAC;AA4BF,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,+BAyB1F"}
@@ -1,2 +1,2 @@
1
- export declare function NieuwArtikelPage(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function NieuwArtikelPage(): import("react").JSX.Element;
2
2
  //# sourceMappingURL=NieuwArtikelPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NieuwArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/NieuwArtikelPage.tsx"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,4CAE/B"}
1
+ {"version":3,"file":"NieuwArtikelPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/NieuwArtikelPage.tsx"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,gCAE/B"}
@@ -3,6 +3,6 @@ interface Props {
3
3
  productName: string | null;
4
4
  productId?: string | null;
5
5
  }
6
- export declare function OrderHistoryCard({ tradeItemKey, productName, productId }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export declare function OrderHistoryCard({ tradeItemKey, productName, productId }: Props): import("react").JSX.Element;
7
7
  export {};
8
8
  //# sourceMappingURL=OrderHistoryCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHistoryCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/OrderHistoryCard.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAgDD,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,KAAK,2CAoK/E"}
1
+ {"version":3,"file":"OrderHistoryCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/OrderHistoryCard.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAgDD,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,KAAK,+BAoK/E"}
@@ -2,6 +2,6 @@ type Props = {
2
2
  tradeItemId: string | null | undefined;
3
3
  offerForSale: boolean;
4
4
  };
5
- export declare function PriceStatusBadge({ tradeItemId, offerForSale }: Props): import("react/jsx-runtime").JSX.Element | null;
5
+ export declare function PriceStatusBadge({ tradeItemId, offerForSale }: Props): import("react").JSX.Element | null;
6
6
  export {};
7
7
  //# sourceMappingURL=PriceStatusBadge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriceStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PriceStatusBadge.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,kDAkEpE"}
1
+ {"version":3,"file":"PriceStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PriceStatusBadge.tsx"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,sCAkEpE"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CircleDollarSign, Clock, MinusCircle, Loader2 } from "lucide-react";
3
- import { useTradeItemSupplyLine } from "../../hooks/useTradeItemSupplyLine";
3
+ import { useTradeItemSupplyLine } from "../../hooks/useTradeItemSupplyLine.js";
4
4
  function formatDate(iso) {
5
5
  if (!iso)
6
6
  return "—";
@@ -1,5 +1,5 @@
1
1
  /** Eigen voorraadvelden met `show_in_detail`, tonen en bewerken op de productpagina. */
2
2
  export declare function ProductCustomFieldsCard({ productId }: {
3
3
  productId: string;
4
- }): import("react/jsx-runtime").JSX.Element | null;
4
+ }): import("react").JSX.Element | null;
5
5
  //# sourceMappingURL=ProductCustomFieldsCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCustomFieldsCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ProductCustomFieldsCard.tsx"],"names":[],"mappings":"AAyBA,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,kDA6H3E"}
1
+ {"version":3,"file":"ProductCustomFieldsCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ProductCustomFieldsCard.tsx"],"names":[],"mappings":"AAyBA,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,sCA6H3E"}
@@ -8,6 +8,6 @@ interface Props {
8
8
  * Koppelt ERP-`products` rijen aan één Floriday-voorraadrij (`trade_item_key`).
9
9
  * Zonder koppeling doen bestel-triggers niets voor mailbox/manual-orders.
10
10
  */
11
- export declare function ProductLinkCard({ tradeItemKey, productName }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ProductLinkCard({ tradeItemKey, productName }: Props): import("react").JSX.Element;
12
12
  export {};
13
13
  //# sourceMappingURL=ProductLinkCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductLinkCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ProductLinkCard.tsx"],"names":[],"mappings":"AAWA,UAAU,KAAK;IACb,qFAAqF;IACrF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AASD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,KAAK,2CA4OnE"}
1
+ {"version":3,"file":"ProductLinkCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ProductLinkCard.tsx"],"names":[],"mappings":"AAWA,UAAU,KAAK;IACb,qFAAqF;IACrF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AASD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,KAAK,+BA4OnE"}
@@ -1,2 +1,2 @@
1
- export declare function PublicatiesPage(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function PublicatiesPage(): import("react").JSX.Element;
2
2
  //# sourceMappingURL=PublicatiesPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicatiesPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublicatiesPage.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,eAAe,4CAuI9B"}
1
+ {"version":3,"file":"PublicatiesPage.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublicatiesPage.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,eAAe,gCAuI9B"}
@@ -8,5 +8,5 @@ export declare function PublishProgressCard({ job, steps, onRetry, retrying, onF
8
8
  onRetry?: () => void;
9
9
  retrying?: boolean;
10
10
  onFixStep?: (stepKey: string) => void;
11
- }): import("react/jsx-runtime").JSX.Element | null;
11
+ }): import("react").JSX.Element | null;
12
12
  //# sourceMappingURL=PublishProgressCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishProgressCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublishProgressCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAoBhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE;IACD,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,kDAyDA"}
1
+ {"version":3,"file":"PublishProgressCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublishProgressCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAoBhF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE;IACD,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,sCAyDA"}
@@ -6,5 +6,5 @@ export declare function PublishReadinessCard({ report, loading, onGoToStep, }: {
6
6
  report: ReadinessReport;
7
7
  loading?: boolean;
8
8
  onGoToStep?: (stepKey: string) => void;
9
- }): import("react/jsx-runtime").JSX.Element;
9
+ }): import("react").JSX.Element;
10
10
  //# sourceMappingURL=PublishReadinessCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishReadinessCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublishReadinessCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,UAAU,GACX,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,2CAuEA"}
1
+ {"version":3,"file":"PublishReadinessCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/PublishReadinessCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,UAAU,GACX,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,+BAuEA"}
@@ -5,6 +5,6 @@ interface Props {
5
5
  packings: PackingConfigurationInput[];
6
6
  packagingTypeLabel: (code: string) => string;
7
7
  }
8
- export declare function StepSamenstelling({ productId, floridayId, packings, packagingTypeLabel, }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export declare function StepSamenstelling({ productId, floridayId, packings, packagingTypeLabel, }: Props): import("react").JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=StepSamenstelling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepSamenstelling.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StepSamenstelling.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAsB5E,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAUD,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,GACnB,EAAE,KAAK,2CA+ZP"}
1
+ {"version":3,"file":"StepSamenstelling.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StepSamenstelling.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAsB5E,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAUD,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,GACnB,EAAE,KAAK,+BA+ZP"}
@@ -3,5 +3,5 @@ export declare function StockBulkButtons({ items, activeConnectionId, onImported
3
3
  items: TradeItem[];
4
4
  activeConnectionId: string | null;
5
5
  onImported: () => void | Promise<void>;
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  //# sourceMappingURL=StockBulkButtons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StockBulkButtons.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockBulkButtons.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAyF3D,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,kBAAkB,EAClB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,2CAmoBA"}
1
+ {"version":3,"file":"StockBulkButtons.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockBulkButtons.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAyF3D,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,kBAAkB,EAClB,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,+BAmoBA"}
@@ -1,4 +1,4 @@
1
1
  export declare function StockHistoryChart({ connectionId }: {
2
2
  connectionId: string | null;
3
- }): import("react/jsx-runtime").JSX.Element;
3
+ }): import("react").JSX.Element;
4
4
  //# sourceMappingURL=StockHistoryChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StockHistoryChart.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockHistoryChart.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,2CAoGlF"}
1
+ {"version":3,"file":"StockHistoryChart.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockHistoryChart.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAoGlF"}
@@ -2,6 +2,6 @@ interface Props {
2
2
  tradeItemKey: string | null;
3
3
  productId?: string | null;
4
4
  }
5
- export declare function StockMutationHistoryCard({ tradeItemKey, productId }: Props): import("react/jsx-runtime").JSX.Element;
5
+ export declare function StockMutationHistoryCard({ tradeItemKey, productId }: Props): import("react").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=StockMutationHistoryCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StockMutationHistoryCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockMutationHistoryCard.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AA8CD,wBAAgB,wBAAwB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,2CAiM1E"}
1
+ {"version":3,"file":"StockMutationHistoryCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockMutationHistoryCard.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AA8CD,wBAAgB,wBAAwB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,+BAiM1E"}