@flowselections/floriday-voorraad 1.0.77 → 1.0.80

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 (133) hide show
  1. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
  2. package/dist-lib/components/voorraad/AdditionalPackagingDialog.js +2 -2
  3. package/dist-lib/components/voorraad/ArtikelCompositionCard.js +1 -1
  4. package/dist-lib/components/voorraad/ArtikelWizard.js +40 -40
  5. package/dist-lib/components/voorraad/EditArtikelPage.js +4 -4
  6. package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
  7. package/dist-lib/components/voorraad/ExcelExportButton.js +1 -1
  8. package/dist-lib/components/voorraad/FloridayInfoCard.js +2 -2
  9. package/dist-lib/components/voorraad/FloridaySentCard.js +2 -2
  10. package/dist-lib/components/voorraad/FustenPage.js +4 -4
  11. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +1 -1
  12. package/dist-lib/components/voorraad/InventorySettingsDrawer.js +3 -3
  13. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +2 -2
  14. package/dist-lib/components/voorraad/InventoryStatusBadge.js +1 -1
  15. package/dist-lib/components/voorraad/NieuwArtikelPage.js +3 -3
  16. package/dist-lib/components/voorraad/OrderHistoryCard.js +1 -1
  17. package/dist-lib/components/voorraad/ProductCustomFieldsCard.js +2 -2
  18. package/dist-lib/components/voorraad/ProductLinkCard.js +1 -1
  19. package/dist-lib/components/voorraad/ProductSalePriceField.js +2 -2
  20. package/dist-lib/components/voorraad/ProductStructureCard.js +3 -3
  21. package/dist-lib/components/voorraad/PublicatiesPage.js +2 -2
  22. package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
  23. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
  24. package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
  25. package/dist-lib/components/voorraad/StepSamenstelling.js +1 -1
  26. package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
  27. package/dist-lib/components/voorraad/StockBulkButtons.js +5 -5
  28. package/dist-lib/components/voorraad/StockHistoryChart.js +1 -1
  29. package/dist-lib/components/voorraad/StockIntegrityAlert.js +1 -1
  30. package/dist-lib/components/voorraad/StockMutationHistoryCard.js +2 -2
  31. package/dist-lib/components/voorraad/StockPushMonitor.js +3 -3
  32. package/dist-lib/components/voorraad/StockSyncStatus.js +2 -2
  33. package/dist-lib/components/voorraad/SupplyReadScopeAlert.js +1 -1
  34. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
  35. package/dist-lib/components/voorraad/ValidationOverviewTable.js +5 -5
  36. package/dist-lib/components/voorraad/ValidationPage.js +3 -3
  37. package/dist-lib/components/voorraad/VoorraadPage.js +14 -14
  38. package/dist-lib/components/voorraad/VoorraadStockCard.js +3 -3
  39. package/dist-lib/components/voorraad/VoorraadTable.d.ts +2 -2
  40. package/dist-lib/components/voorraad/VoorraadTable.js +5 -5
  41. package/dist-lib/components/voorraad/VoorraadVeldenCard.js +2 -2
  42. package/dist-lib/hooks/useFloriday.d.ts +1 -1
  43. package/dist-lib/hooks/useFloriday.js +4 -4
  44. package/dist-lib/hooks/useFloridayConnection.d.ts +1 -1
  45. package/dist-lib/hooks/useFloridayConnection.js +1 -1
  46. package/dist-lib/hooks/useFloridayContinuousStock.js +1 -1
  47. package/dist-lib/hooks/useFloridayPriceGroups.js +1 -1
  48. package/dist-lib/hooks/useFloridayVbnRequired.js +1 -1
  49. package/dist-lib/hooks/useFlorydayCustomers.js +1 -1
  50. package/dist-lib/hooks/useFusten.d.ts +1 -1
  51. package/dist-lib/hooks/useFusten.js +2 -2
  52. package/dist-lib/hooks/useInventorySettings.d.ts +1 -1
  53. package/dist-lib/hooks/useInventorySettings.js +1 -1
  54. package/dist-lib/hooks/useLocalTradeItems.d.ts +2 -2
  55. package/dist-lib/hooks/useLocalTradeItems.js +3 -3
  56. package/dist-lib/hooks/usePublishJob.d.ts +1 -1
  57. package/dist-lib/hooks/usePublishJob.js +2 -2
  58. package/dist-lib/hooks/useStockPushJobs.js +1 -1
  59. package/dist-lib/hooks/useStockSyncHealth.js +1 -1
  60. package/dist-lib/hooks/useTradeItemSpec.d.ts +2 -2
  61. package/dist-lib/hooks/useTradeItemStock.js +3 -3
  62. package/dist-lib/hooks/useVbnRegulatoryFeatures.d.ts +1 -1
  63. package/dist-lib/hooks/useVbnRegulatoryFeatures.js +1 -1
  64. package/dist-lib/hooks/useVoorraadCustomFields.d.ts +1 -1
  65. package/dist-lib/hooks/useVoorraadCustomFields.js +1 -1
  66. package/dist-lib/hooks/useVoorraadData.d.ts +1 -1
  67. package/dist-lib/hooks/useVoorraadData.js +6 -6
  68. package/dist-lib/hooks-entry.d.ts +5 -5
  69. package/dist-lib/hooks-entry.js +5 -5
  70. package/dist-lib/index.d.ts +8 -11
  71. package/dist-lib/index.d.ts.map +1 -1
  72. package/dist-lib/index.js +9 -12
  73. package/dist-lib/integrations/supabase/auth-attacher.js +1 -1
  74. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
  75. package/dist-lib/integrations/supabase/client.d.ts +1 -1
  76. package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
  77. package/dist-lib/integrations/supabase/types.d.ts +346 -0
  78. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  79. package/dist-lib/lib/__tests__/floricode-required-features.test.js +1 -1
  80. package/dist-lib/lib/__tests__/floriday-base-supply.test.js +1 -1
  81. package/dist-lib/lib/base-supply-reader.server.js +2 -2
  82. package/dist-lib/lib/ensure-article-codes.d.ts +1 -1
  83. package/dist-lib/lib/ensure-article-codes.js +1 -1
  84. package/dist-lib/lib/floricode-client.js +1 -1
  85. package/dist-lib/lib/floriday-2026v1.server.js +2 -2
  86. package/dist-lib/lib/floriday-client.d.ts +2 -2
  87. package/dist-lib/lib/floriday-client.js +2 -2
  88. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +1 -1
  89. package/dist-lib/lib/floriday-customer-offer.functions.js +4 -4
  90. package/dist-lib/lib/floriday-env.functions.d.ts +4 -4
  91. package/dist-lib/lib/floriday-env.functions.js +4 -4
  92. package/dist-lib/lib/floriday-env.server.d.ts +2 -2
  93. package/dist-lib/lib/floriday-env.server.js +2 -2
  94. package/dist-lib/lib/floriday-gateway.functions.d.ts +10 -10
  95. package/dist-lib/lib/floriday-gateway.functions.js +14 -14
  96. package/dist-lib/lib/floriday-gateway.server.d.ts +1 -1
  97. package/dist-lib/lib/floriday-gateway.server.js +9 -9
  98. package/dist-lib/lib/floriday-import-validator.d.ts +1 -1
  99. package/dist-lib/lib/floriday-readiness.server.d.ts +1 -1
  100. package/dist-lib/lib/floriday-readiness.server.js +2 -2
  101. package/dist-lib/lib/floriday-relink.js +1 -1
  102. package/dist-lib/lib/floriday-stock-supply.server.d.ts +1 -1
  103. package/dist-lib/lib/floriday-stock-supply.server.js +1 -1
  104. package/dist-lib/lib/floriday-supply-line.js +2 -2
  105. package/dist-lib/lib/floriday-vbn-required.functions.d.ts +2 -2
  106. package/dist-lib/lib/floriday-vbn-required.functions.js +2 -2
  107. package/dist-lib/lib/floriday-warehouse.functions.d.ts +6 -6
  108. package/dist-lib/lib/floriday-warehouse.functions.js +7 -7
  109. package/dist-lib/lib/floriday-write-gate.server.js +1 -1
  110. package/dist-lib/lib/floriday-writes.functions.d.ts +2 -2
  111. package/dist-lib/lib/floriday-writes.functions.js +6 -6
  112. package/dist-lib/lib/fusten.d.ts +1 -1
  113. package/dist-lib/lib/fusten.js +2 -2
  114. package/dist-lib/lib/inventory-settings.functions.js +1 -1
  115. package/dist-lib/lib/logistics-buffer-events.server.js +2 -2
  116. package/dist-lib/lib/logistics-events.js +2 -2
  117. package/dist-lib/lib/logistics-tasks.server.js +5 -5
  118. package/dist-lib/lib/module-runtime-config.functions.d.ts +1 -1
  119. package/dist-lib/lib/module-runtime-config.functions.js +2 -2
  120. package/dist-lib/lib/module-runtime.server.js +1 -1
  121. package/dist-lib/lib/product-packing.js +1 -1
  122. package/dist-lib/lib/publish-pipeline.d.ts +1 -1
  123. package/dist-lib/lib/publish-pipeline.js +2 -2
  124. package/dist-lib/lib/publish-readiness.d.ts +2 -2
  125. package/dist-lib/lib/trade-item-prices.d.ts +1 -1
  126. package/dist-lib/lib/trade-item-prices.js +2 -2
  127. package/dist-lib/lib/voorraad-custom-fields.js +1 -1
  128. package/dist-lib/server-hooks/floriday-base-supply.js +1 -1
  129. package/dist-lib/server-hooks/floriday-continuous-stock-pull.js +1 -1
  130. package/dist-lib/server-hooks/floriday-continuous-stock.js +1 -1
  131. package/dist-lib/server-hooks/floriday-stock-reconcile.js +1 -1
  132. package/dist-lib/server-hooks/logistics-tasks-run.js +1 -1
  133. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { type AdditionalPackagingInput } from "../../lib/floriday-payload";
1
+ import { type AdditionalPackagingInput } from "../../lib/floriday-payload.js";
2
2
  interface Props {
3
3
  open: boolean;
4
4
  onOpenChange: (open: boolean) => void;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo, useState, useEffect } from "react";
3
3
  import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, Button, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
4
- import { PACKAGING_SUPPLIERS, } from "../../lib/floriday-payload";
5
- import { getMaterialTypesForSupplier, getMaterialsForSupplier, } from "../../lib/vrs-catalog";
4
+ import { PACKAGING_SUPPLIERS, } from "../../lib/floriday-payload.js";
5
+ import { getMaterialTypesForSupplier, getMaterialsForSupplier, } from "../../lib/vrs-catalog.js";
6
6
  export function AdditionalPackagingDialog({ open, onOpenChange, onSave }) {
7
7
  const [supplierId, setSupplierId] = useState("");
8
8
  const [typeCode, setTypeCode] = useState("");
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useState } from "react";
3
3
  import { toast } from "sonner";
4
4
  import { Card, CardContent, CardDescription, CardHeader, CardTitle, Badge } from "@flowselections/core";
5
5
  import { ArrowDown, ArrowUp, Loader2, Package } from "lucide-react";
6
- import { supabase } from "../../integrations/supabase/client";
6
+ import { supabase } from "../../integrations/supabase/client.js";
7
7
  async function loadStock(productIds, floridayIds) {
8
8
  const out = new Map();
9
9
  const idToProduct = new Map();
@@ -3,44 +3,44 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
3
  import { Link, useNavigate } from "@tanstack/react-router";
4
4
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, Button, Card, CardContent, Checkbox, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, Label, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, toast, } from "@flowselections/core";
5
5
  import { ArrowLeft, ArrowRight, Check, ChevronDown, ClipboardList, Info, Loader2, Plus, Search, Trash2, Upload, UploadCloud, Users, X, Star, } from "lucide-react";
6
- import { useFloridayConnection } from "../../hooks/useFloridayConnection";
7
- import { useFlorydayCustomers } from "../../hooks/useFlorydayCustomers";
8
- import { floriday } from "../../lib/floriday-client";
9
- import { listFloricode, listFloricodeByField } from "../../lib/floricode-client";
10
- import { supabase } from "../../integrations/supabase/client";
11
- import { buildAddTradeItemPayload, buildUpdateTradeItemPayload, buildPrimaryPackingBase, emptyWizardData, floridayCacheToWizardData, isValidGtin13, normalizeFloridayProductGroup, PACKAGING_SUPPLIERS, validateStep, } from "../../lib/floriday-payload";
12
- import { AdditionalPackagingDialog } from "./AdditionalPackagingDialog";
13
- import { publishCustomerOfferFn } from "../../lib/floriday-customer-offer.functions";
14
- import { upsertSupplyLineForTradeItem } from "../../lib/floriday-supply-line";
15
- import { deleteLocalTradeItem, getLocalTradeItem, markLocalSyncStatus, readLocalSyncStatus, upsertLocalTradeItem, } from "../../hooks/useLocalTradeItems";
16
- import { useTradeItemSpec } from "../../hooks/useTradeItemSpec";
17
- import { useVbnRegulatoryFeatures } from "../../hooks/useVbnRegulatoryFeatures";
18
- import { useFloridayVbnRequired } from "../../hooks/useFloridayVbnRequired";
19
- import { saveFloridayVbnRequired } from "../../lib/floriday-vbn-required.functions";
6
+ import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
7
+ import { useFlorydayCustomers } from "../../hooks/useFlorydayCustomers.js";
8
+ import { floriday } from "../../lib/floriday-client.js";
9
+ import { listFloricode, listFloricodeByField } from "../../lib/floricode-client.js";
10
+ import { supabase } from "../../integrations/supabase/client.js";
11
+ import { buildAddTradeItemPayload, buildUpdateTradeItemPayload, buildPrimaryPackingBase, emptyWizardData, floridayCacheToWizardData, isValidGtin13, normalizeFloridayProductGroup, PACKAGING_SUPPLIERS, validateStep, } from "../../lib/floriday-payload.js";
12
+ import { AdditionalPackagingDialog } from "./AdditionalPackagingDialog.js";
13
+ import { publishCustomerOfferFn } from "../../lib/floriday-customer-offer.functions.js";
14
+ import { upsertSupplyLineForTradeItem } from "../../lib/floriday-supply-line.js";
15
+ import { deleteLocalTradeItem, getLocalTradeItem, markLocalSyncStatus, readLocalSyncStatus, upsertLocalTradeItem, } from "../../hooks/useLocalTradeItems.js";
16
+ import { useTradeItemSpec } from "../../hooks/useTradeItemSpec.js";
17
+ import { useVbnRegulatoryFeatures } from "../../hooks/useVbnRegulatoryFeatures.js";
18
+ import { useFloridayVbnRequired } from "../../hooks/useFloridayVbnRequired.js";
19
+ import { saveFloridayVbnRequired } from "../../lib/floriday-vbn-required.functions.js";
20
20
  import { useQuery, useQueryClient } from "@tanstack/react-query";
21
- import { useCodeList, useTradeItemFormSchema } from "../../hooks/useFloriday";
22
- import { useFloridayPriceGroups } from "../../hooks/useFloridayPriceGroups";
23
- import { readTradeItemPrices, syncTradeItemPrices } from "../../lib/trade-item-prices";
24
- import { createPublishJob, finishPublishJob, markStepSkipped, rememberPublishRejection, runPublishStep, } from "../../lib/publish-pipeline";
25
- import { translatePublishError, } from "../../lib/publish-errors";
26
- import { buildReadinessReport } from "../../lib/publish-readiness";
27
- import { usePublishJob } from "../../hooks/usePublishJob";
28
- import { PublishReadinessCard } from "./PublishReadinessCard";
29
- import { PublishProgressCard } from "./PublishProgressCard";
30
- import { gatewayReadFn } from "../../lib/floriday-gateway.functions";
31
- import { pickPrimaryPacking, readPackingStatus, writeConfirmedPacking, } from "../../lib/product-packing";
32
- import { getFloridayReadinessFn } from "../../lib/floriday-env.functions";
21
+ import { useCodeList, useTradeItemFormSchema } from "../../hooks/useFloriday.js";
22
+ import { useFloridayPriceGroups } from "../../hooks/useFloridayPriceGroups.js";
23
+ import { readTradeItemPrices, syncTradeItemPrices } from "../../lib/trade-item-prices.js";
24
+ import { createPublishJob, finishPublishJob, markStepSkipped, rememberPublishRejection, runPublishStep, } from "../../lib/publish-pipeline.js";
25
+ import { translatePublishError, } from "../../lib/publish-errors.js";
26
+ import { buildReadinessReport } from "../../lib/publish-readiness.js";
27
+ import { usePublishJob } from "../../hooks/usePublishJob.js";
28
+ import { PublishReadinessCard } from "./PublishReadinessCard.js";
29
+ import { PublishProgressCard } from "./PublishProgressCard.js";
30
+ import { gatewayReadFn } from "../../lib/floriday-gateway.functions.js";
31
+ import { pickPrimaryPacking, readPackingStatus, writeConfirmedPacking, } from "../../lib/product-packing.js";
32
+ import { getFloridayReadinessFn } from "../../lib/floriday-env.functions.js";
33
33
  const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
34
- import { VoorraadStockCard } from "../../components/voorraad/VoorraadStockCard";
35
- import { ProductLinkCard } from "../../components/voorraad/ProductLinkCard";
36
- import { PriceStatusBadge } from "../../components/voorraad/PriceStatusBadge";
37
- import { OrderHistoryCard } from "../../components/voorraad/OrderHistoryCard";
38
- import { StockMutationHistoryCard } from "../../components/voorraad/StockMutationHistoryCard";
39
- import { ArtikelCompositionCard } from "../../components/voorraad/ArtikelCompositionCard";
40
- import { ProductStructureCard, FloridayStockReasonLine } from "../../components/voorraad/ProductStructureCard";
41
- import { StepSamenstelling } from "../../components/voorraad/StepSamenstelling";
42
- import { FloridayInfoCard } from "../../components/voorraad/FloridayInfoCard";
43
- import { stockKeyFor } from "../../hooks/useTradeItemStock";
34
+ import { VoorraadStockCard } from "../../components/voorraad/VoorraadStockCard.js";
35
+ import { ProductLinkCard } from "../../components/voorraad/ProductLinkCard.js";
36
+ import { PriceStatusBadge } from "../../components/voorraad/PriceStatusBadge.js";
37
+ import { OrderHistoryCard } from "../../components/voorraad/OrderHistoryCard.js";
38
+ import { StockMutationHistoryCard } from "../../components/voorraad/StockMutationHistoryCard.js";
39
+ import { ArtikelCompositionCard } from "../../components/voorraad/ArtikelCompositionCard.js";
40
+ import { ProductStructureCard, FloridayStockReasonLine } from "../../components/voorraad/ProductStructureCard.js";
41
+ import { StepSamenstelling } from "../../components/voorraad/StepSamenstelling.js";
42
+ import { FloridayInfoCard } from "../../components/voorraad/FloridayInfoCard.js";
43
+ import { stockKeyFor } from "../../hooks/useTradeItemStock.js";
44
44
  const empty = emptyWizardData;
45
45
  const LOAD_CARRIER_LABELS = {
46
46
  AUCTION_TROLLEY: "Stapelwagen",
@@ -2086,8 +2086,8 @@ function StepArtikel({ data, update, collectionsList, setCollectionsList, articl
2086
2086
  : "border-border hover:border-primary/50"}`, children: [_jsx("div", { className: "flex w-full items-start", children: _jsx("span", { className: `flex h-4 w-4 items-center justify-center rounded-full border ${active ? "border-primary-foreground" : "border-muted-foreground/50"}`, children: active && (_jsx("span", { className: "h-2 w-2 rounded-full bg-primary-foreground" })) }) }), _jsx(Icon, { className: "h-6 w-6" }), _jsx("div", { className: "font-medium", children: t.label }), _jsx("div", { className: `text-xs ${active ? "text-primary-foreground/80" : "text-muted-foreground"}`, children: t.description })] }, t.value));
2087
2087
  }) })] }), _jsxs("div", { className: "space-y-1", children: [_jsxs("label", { className: "flex items-start gap-2 text-sm", children: [_jsx(Checkbox, { checked: data.visibleInExplorer, onCheckedChange: (v) => update("visibleInExplorer", v === true), className: "mt-0.5" }), _jsx("span", { children: "Artikel weergeven bij ontdekken in de Explorer voor kopers" })] }), _jsx("p", { className: "pl-6 text-xs text-muted-foreground", children: "Artikel is altijd zichtbaar via de customer API" })] }), parentProductId && (_jsx(ProductSalePriceField, { productId: parentProductId, onSaved: (p) => update("salePricePerPiece", p) }))] }));
2088
2088
  }
2089
- import { COUNTRIES } from "../../lib/countries";
2090
- import { ProductSalePriceField } from "./ProductSalePriceField";
2089
+ import { COUNTRIES } from "../../lib/countries.js";
2090
+ import { ProductSalePriceField } from "./ProductSalePriceField.js";
2091
2091
  function StepPaspoort({ data, update }) {
2092
2092
  const [countryOpen, setCountryOpen] = useState(false);
2093
2093
  const [countryQuery, setCountryQuery] = useState("");
@@ -2337,7 +2337,7 @@ function StepFotos({ data, update, activeId }) {
2337
2337
  toast.error("Je bent niet ingelogd – kan geen foto's uploaden");
2338
2338
  return;
2339
2339
  }
2340
- const { prepareFloridayImage, UnsupportedImageTypeError, ImageTooLargeError, ImageDecodeError, } = await import("../../lib/image-resize");
2340
+ const { prepareFloridayImage, UnsupportedImageTypeError, ImageTooLargeError, ImageDecodeError, } = await import("../../lib/image-resize.js");
2341
2341
  const additions = [];
2342
2342
  // Beperkte concurrency (2) voorkomt dat een drop van 10 bestanden de
2343
2343
  // gateway overspoelt en tegelijk in throttling loopt.
@@ -2621,7 +2621,7 @@ function PackingConfigDialog({ open, onOpenChange, initial, isFirst, packagingTy
2621
2621
  return;
2622
2622
  setUploadingPhoto(true);
2623
2623
  try {
2624
- const { prepareFloridayImage } = await import("../../lib/image-resize");
2624
+ const { prepareFloridayImage } = await import("../../lib/image-resize.js");
2625
2625
  const prepared = await prepareFloridayImage(file);
2626
2626
  const res = await floriday.uploadImage(activeId, prepared, prepared.type || "image/jpeg", prepared.name);
2627
2627
  if (!res.url)
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useEffect, useState } from "react";
3
3
  import { Card } from "@flowselections/core";
4
4
  import { Loader2 } from "lucide-react";
5
- import { ArtikelWizard } from "./ArtikelWizard";
6
- import { ProductCustomFieldsCard } from "./ProductCustomFieldsCard";
7
- import { TrayStickerCard } from "./TrayStickerCard";
8
- import { supabase } from "../../integrations/supabase/client";
5
+ import { ArtikelWizard } from "./ArtikelWizard.js";
6
+ import { ProductCustomFieldsCard } from "./ProductCustomFieldsCard.js";
7
+ import { TrayStickerCard } from "./TrayStickerCard.js";
8
+ import { supabase } from "../../integrations/supabase/client.js";
9
9
  export function EditArtikelPage({ id, resumeJobId, }) {
10
10
  const [resolved, setResolved] = useState(null);
11
11
  useEffect(() => {
@@ -1,4 +1,4 @@
1
- import type { TradeItem } from "../../lib/floriday-client";
1
+ import type { TradeItem } from "../../lib/floriday-client.js";
2
2
  export declare function ExcelExportButton({ items, filename, onExported, }: {
3
3
  items: TradeItem[];
4
4
  filename?: string;
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as XLSX from "xlsx";
3
3
  import { Button, toast } from "@flowselections/core";
4
4
  import { Download } from "lucide-react";
5
- import { ensureArticleCodes } from "../../lib/ensure-article-codes";
5
+ import { ensureArticleCodes } from "../../lib/ensure-article-codes.js";
6
6
  export function ExcelExportButton({ items, filename = "voorraad", onExported, }) {
7
7
  const handle = async () => {
8
8
  let exportItems;
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useEffect, useState } from "react";
3
3
  import { Card, CardContent, Badge } from "@flowselections/core";
4
4
  import { AlertTriangle, ChevronDown, ChevronRight, ExternalLink } from "lucide-react";
5
- import { supabase } from "../../integrations/supabase/client";
6
- import { floridayInfoFromCache, LOAD_CARRIER_LABELS, } from "../../lib/floriday-info";
5
+ import { supabase } from "../../integrations/supabase/client.js";
6
+ import { floridayInfoFromCache, LOAD_CARRIER_LABELS, } from "../../lib/floriday-info.js";
7
7
  const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
8
8
  function formatDate(iso) {
9
9
  if (!iso)
@@ -7,8 +7,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  import { useEffect, useState } from "react";
8
8
  import { Card, CardContent } from "@flowselections/core";
9
9
  import { Send } from "lucide-react";
10
- import { supabase } from "../../integrations/supabase/client";
11
- import { priceProblem } from "../../lib/floriday-base-supply";
10
+ import { supabase } from "../../integrations/supabase/client.js";
11
+ import { priceProblem } from "../../lib/floriday-base-supply.js";
12
12
  const MODE_LABEL = {
13
13
  FOLLOW_ERP: "Volgt ERP",
14
14
  MAXIMUM: "Maximum",
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { Boxes, Minus, Plus, RefreshCw, Search } from "lucide-react";
4
4
  import { Button, Card, Input, Badge, toast } from "@flowselections/core";
5
- import { supabase } from "../../integrations/supabase/client";
6
- import { useFloridayConnection } from "../../hooks/useFloridayConnection";
7
- import { useFusten } from "../../hooks/useFusten";
8
- import { fetchFustMutations, formatFustDimensions, } from "../../lib/fusten";
5
+ import { supabase } from "../../integrations/supabase/client.js";
6
+ import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
7
+ import { useFusten } from "../../hooks/useFusten.js";
8
+ import { fetchFustMutations, formatFustDimensions, } from "../../lib/fusten.js";
9
9
  /** Afmetingen tonen en handmatig aanvullen wanneer de catalogus ze niet kent. */
10
10
  function DimensionCell({ fust, onSave, }) {
11
11
  const [editing, setEditing] = useState(false);
@@ -1,4 +1,4 @@
1
- import type { InventorySetting } from "../../hooks/useInventorySettings";
1
+ import type { InventorySetting } from "../../hooks/useInventorySettings.js";
2
2
  export declare function InventorySettingsDrawer({ open, onOpenChange, connectionId, productIds, current, onSaved, }: {
3
3
  open: boolean;
4
4
  onOpenChange: (v: boolean) => void;
@@ -7,9 +7,9 @@ import { useEffect, useState } from "react";
7
7
  import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
8
8
  import { useServerFn } from "@tanstack/react-start";
9
9
  import { toast } from "sonner";
10
- import { saveInventorySettings, republishInventory, } from "../../lib/inventory-settings.functions";
11
- import { MissingPriceNotice } from "./ProductSalePriceField";
12
- import { MODE_LABELS, ACTION_REASON_LABELS, publishedLabel, } from "../../lib/stock-modes";
10
+ import { saveInventorySettings, republishInventory, } from "../../lib/inventory-settings.functions.js";
11
+ import { MissingPriceNotice } from "./ProductSalePriceField.js";
12
+ import { MODE_LABELS, ACTION_REASON_LABELS, publishedLabel, } from "../../lib/stock-modes.js";
13
13
  const MODE_HELP = {
14
14
  FOLLOW_ERP: "Publiceert beschikbaar min gereserveerd min buffer, afgerond op hele verpakkingen.",
15
15
  MAXIMUM: "Volgt het ERP (min buffer), maar publiceert nooit meer dan het maximum.",
@@ -1,5 +1,5 @@
1
- import type { InventorySetting } from "../../hooks/useInventorySettings";
2
- import { MODE_LABELS } from "../../lib/stock-modes";
1
+ import type { InventorySetting } from "../../hooks/useInventorySettings.js";
2
+ import { MODE_LABELS } from "../../lib/stock-modes.js";
3
3
  export { MODE_LABELS };
4
4
  export declare function InventoryStatusBadge({ setting }: {
5
5
  setting: InventorySetting | undefined;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Badge } from "@flowselections/core";
3
- import { MODE_LABELS, ACTION_REASON_LABELS } from "../../lib/stock-modes";
3
+ import { MODE_LABELS, ACTION_REASON_LABELS } from "../../lib/stock-modes.js";
4
4
  export { MODE_LABELS };
5
5
  const MODE_CLASSES = {
6
6
  FOLLOW_ERP: "bg-primary/10 text-primary border-primary/30",
@@ -9,9 +9,9 @@ import { useRef, useState } from "react";
9
9
  import { Link, useNavigate } from "@tanstack/react-router";
10
10
  import { Button, Card, Input, Label, toast } from "@flowselections/core";
11
11
  import { ArrowLeft, Check, Loader2, Send } from "lucide-react";
12
- import { supabase } from "../../integrations/supabase/client";
13
- import { validateDraftForPublish } from "../../lib/floriday-import-validator";
14
- import { ArtikelWizard } from "./ArtikelWizard";
12
+ import { supabase } from "../../integrations/supabase/client.js";
13
+ import { validateDraftForPublish } from "../../lib/floriday-import-validator.js";
14
+ import { ArtikelWizard } from "./ArtikelWizard.js";
15
15
  const STEPS = ["Naam en code", "Voorraad", "Prijs"];
16
16
  export function NieuwArtikelPage() {
17
17
  const navigate = useNavigate();
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { Card, CardContent, Badge } from "@flowselections/core";
4
4
  import { Loader2, ClipboardList, ExternalLink } from "lucide-react";
5
- import { supabase } from "../../integrations/supabase/client";
5
+ import { supabase } from "../../integrations/supabase/client.js";
6
6
  const STATUS_TONE = {
7
7
  "nog te picken": "bg-amber-100 text-amber-800 border-amber-200",
8
8
  "klaar voor verzending": "bg-blue-100 text-blue-800 border-blue-200",
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Checkbox, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, toast, } from "@flowselections/core";
4
4
  import { Loader2, Save } from "lucide-react";
5
- import { useVoorraadCustomFields } from "../../hooks/useVoorraadCustomFields";
6
- import { fetchProductCustomValues, saveProductCustomValues, } from "../../lib/voorraad-custom-fields";
5
+ import { useVoorraadCustomFields } from "../../hooks/useVoorraadCustomFields.js";
6
+ import { fetchProductCustomValues, saveProductCustomValues, } from "../../lib/voorraad-custom-fields.js";
7
7
  /** Eigen voorraadvelden met `show_in_detail`, tonen en bewerken op de productpagina. */
8
8
  export function ProductCustomFieldsCard({ productId }) {
9
9
  const { fields, loading } = useVoorraadCustomFields();
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { Button, Card, CardContent, Input, toast, } from "@flowselections/core";
4
4
  import { Link2, Loader2, RefreshCw, Trash2, Wand2 } from "lucide-react";
5
- import { supabase } from "../../integrations/supabase/client";
5
+ import { supabase } from "../../integrations/supabase/client.js";
6
6
  /**
7
7
  * Koppelt ERP-`products` rijen aan één Floriday-voorraadrij (`trade_item_key`).
8
8
  * Zonder koppeling doen bestel-triggers niets voor mailbox/manual-orders.
@@ -10,8 +10,8 @@ import { useEffect, useState } from "react";
10
10
  import { Link } from "@tanstack/react-router";
11
11
  import { Button, Input, Label, toast } from "@flowselections/core";
12
12
  import { AlertTriangle, Loader2 } from "lucide-react";
13
- import { supabase } from "../../integrations/supabase/client";
14
- import { priceProblem } from "../../lib/floriday-base-supply";
13
+ import { supabase } from "../../integrations/supabase/client.js";
14
+ import { priceProblem } from "../../lib/floriday-base-supply.js";
15
15
  function isPieceUnit(unit) {
16
16
  const u = String(unit ?? "").trim().toLowerCase();
17
17
  return u === "" || u === "stuks" || u === "stuk";
@@ -8,9 +8,9 @@ import { useEffect, useState } from "react";
8
8
  import { Link } from "@tanstack/react-router";
9
9
  import { Badge, Card, CardContent, CardDescription, CardHeader, CardTitle } from "@flowselections/core";
10
10
  import { Info, Loader2 } from "lucide-react";
11
- import { supabase } from "../../integrations/supabase/client";
12
- import { PRODUCT_TYPE_CLASSES, PRODUCT_TYPE_HELP, PRODUCT_TYPE_LABELS, floridayPendingReason, toStructureType, } from "../../lib/product-types";
13
- import { ACTION_REASON_LABELS, publishedLabel } from "../../lib/stock-modes";
11
+ import { supabase } from "../../integrations/supabase/client.js";
12
+ import { PRODUCT_TYPE_CLASSES, PRODUCT_TYPE_HELP, PRODUCT_TYPE_LABELS, floridayPendingReason, toStructureType, } from "../../lib/product-types.js";
13
+ import { ACTION_REASON_LABELS, publishedLabel } from "../../lib/stock-modes.js";
14
14
  export function ProductStructureCard({ productId }) {
15
15
  const [loading, setLoading] = useState(true);
16
16
  const [totals, setTotals] = useState(null);
@@ -3,8 +3,8 @@ import { Link } from "@tanstack/react-router";
3
3
  import { Card, Button } from "@flowselections/core";
4
4
  import { ArrowLeft, Check, AlertTriangle, Loader2, RefreshCw } from "lucide-react";
5
5
  import { useEffect, useState } from "react";
6
- import { usePublishJobs } from "../../hooks/usePublishJob";
7
- import { supabase } from "../../integrations/supabase/client";
6
+ import { usePublishJobs } from "../../hooks/usePublishJob.js";
7
+ import { supabase } from "../../integrations/supabase/client.js";
8
8
  const STATUS_LABEL = {
9
9
  running: "Bezig",
10
10
  succeeded: "Gepubliceerd",
@@ -1,4 +1,4 @@
1
- import type { PublishJobRow, PublishStepRow } from "../../lib/publish-pipeline";
1
+ import type { PublishJobRow, PublishStepRow } from "../../lib/publish-pipeline.js";
2
2
  /**
3
3
  * Toont de voortgang van een publicatie in deelstappen.
4
4
  */
@@ -1,4 +1,4 @@
1
- import type { ReadinessReport } from "../../lib/publish-readiness";
1
+ import type { ReadinessReport } from "../../lib/publish-readiness.js";
2
2
  /**
3
3
  * Korte checklist die laat zien of het product klaar is om te publiceren.
4
4
  */
@@ -1,4 +1,4 @@
1
- import type { PackingConfigurationInput } from "../../lib/floriday-payload";
1
+ import type { PackingConfigurationInput } from "../../lib/floriday-payload.js";
2
2
  interface Props {
3
3
  productId: string | null;
4
4
  floridayId: string | null;
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { Button, Input, Popover, PopoverContent, PopoverTrigger, toast, } from "@flowselections/core";
4
4
  import { Loader2, Package, Plus, Search, Trash2 } from "lucide-react";
5
- import { supabase } from "../../integrations/supabase/client";
5
+ import { supabase } from "../../integrations/supabase/client.js";
6
6
  /** Vanaf dit aantal per stuk vragen we of de verhouding klopt. */
7
7
  const RATIO_WARN_THRESHOLD = 10;
8
8
  const MAX_DEPTH = 6;
@@ -1,4 +1,4 @@
1
- import type { TradeItem } from "../../lib/floriday-client";
1
+ import type { TradeItem } from "../../lib/floriday-client.js";
2
2
  export declare function StockBulkButtons({ items, activeConnectionId, onImported, }: {
3
3
  items: TradeItem[];
4
4
  activeConnectionId: string | null;
@@ -3,11 +3,11 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
3
  import * as XLSX from "xlsx";
4
4
  import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, toast, } from "@flowselections/core";
5
5
  import { Download, FileDown, Upload, Loader2, Undo2, Play } from "lucide-react";
6
- import { supabase } from "../../integrations/supabase/client";
7
- import { emptyWizardData } from "../../lib/floriday-payload";
8
- import { validateDraftForPublish } from "../../lib/floriday-import-validator";
9
- import { ensureArticleCodes } from "../../lib/ensure-article-codes";
10
- import { useVoorraadCustomFields } from "../../hooks/useVoorraadCustomFields";
6
+ import { supabase } from "../../integrations/supabase/client.js";
7
+ import { emptyWizardData } from "../../lib/floriday-payload.js";
8
+ import { validateDraftForPublish } from "../../lib/floriday-import-validator.js";
9
+ import { ensureArticleCodes } from "../../lib/ensure-article-codes.js";
10
+ import { useVoorraadCustomFields } from "../../hooks/useVoorraadCustomFields.js";
11
11
  /**
12
12
  * Voorraadimport in porties (Voorraad-module).
13
13
  * De browser leest het bestand en controleert de rijen; de database verwerkt
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  import { useEffect, useState } from "react";
8
8
  import { Card } from "@flowselections/core";
9
9
  import { CartesianGrid, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts";
10
- import { supabase } from "../../integrations/supabase/client";
10
+ import { supabase } from "../../integrations/supabase/client.js";
11
11
  export function StockHistoryChart({ connectionId }) {
12
12
  const [points, setPoints] = useState([]);
13
13
  const [loading, setLoading] = useState(false);
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  import { useCallback, useEffect, useState } from "react";
8
8
  import { AlertOctagon } from "lucide-react";
9
9
  import { toast } from "sonner";
10
- import { supabase } from "../../integrations/supabase/client";
10
+ import { supabase } from "../../integrations/supabase/client.js";
11
11
  const keyToProductId = (k) => k.replace(/^product:/, "");
12
12
  function label(it, names) {
13
13
  const found = names.get(it.trade_item_key);
@@ -7,8 +7,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
7
7
  import { useEffect, useState } from "react";
8
8
  import { Card, CardContent, Badge, Button } from "@flowselections/core";
9
9
  import { ChevronDown, ChevronUp, Loader2, History } from "lucide-react";
10
- import { supabase } from "../../integrations/supabase/client";
11
- import { CollapsibleText } from "./CollapsibleText";
10
+ import { supabase } from "../../integrations/supabase/client.js";
11
+ import { CollapsibleText } from "./CollapsibleText.js";
12
12
  const TYPE_LABEL = {
13
13
  consumption: { label: "Afboeking (verkoop)", tone: "bg-rose-100 text-rose-800 border-rose-200" },
14
14
  consumption_blocked: { label: "Afboeking geblokkeerd", tone: "bg-amber-100 text-amber-800 border-amber-200" },
@@ -13,9 +13,9 @@ import { useServerFn } from "@tanstack/react-start";
13
13
  import { toast } from "sonner";
14
14
  import { ChevronDown, ChevronRight, RefreshCw, Send } from "lucide-react";
15
15
  import { Button, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@flowselections/core";
16
- import { supabase } from "../../integrations/supabase/client";
17
- import { useStockPushJobs, useCentralAuthBlockade } from "../../hooks/useStockPushJobs";
18
- import { enqueueTestStockPush } from "../../lib/stock-sync.functions";
16
+ import { supabase } from "../../integrations/supabase/client.js";
17
+ import { useStockPushJobs, useCentralAuthBlockade } from "../../hooks/useStockPushJobs.js";
18
+ import { enqueueTestStockPush } from "../../lib/stock-sync.functions.js";
19
19
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
20
20
  /** Een verwerker houdt een regel maximaal 5 minuten vast. */
21
21
  const LOCK_STALE_MS = 5 * 60000;
@@ -8,8 +8,8 @@ import { AlertTriangle, RotateCw } from "lucide-react";
8
8
  import { useMutation, useQueryClient } from "@tanstack/react-query";
9
9
  import { useServerFn } from "@tanstack/react-start";
10
10
  import { toast } from "sonner";
11
- import { useStockSyncHealth } from "../../hooks/useStockSyncHealth";
12
- import { retryFailedStockSync } from "../../lib/stock-sync.functions";
11
+ import { useStockSyncHealth } from "../../hooks/useStockSyncHealth.js";
12
+ import { retryFailedStockSync } from "../../lib/stock-sync.functions.js";
13
13
  export function StockSyncStatus() {
14
14
  const { data } = useStockSyncHealth();
15
15
  const queryClient = useQueryClient();
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  */
6
6
  import { useEffect, useState } from "react";
7
7
  import { ShieldAlert } from "lucide-react";
8
- import { supabase } from "../../integrations/supabase/client";
8
+ import { supabase } from "../../integrations/supabase/client.js";
9
9
  export function SupplyReadScopeAlert() {
10
10
  const [run, setRun] = useState(null);
11
11
  useEffect(() => {
@@ -1,4 +1,4 @@
1
- import type { TradeItem } from "../../lib/floriday-client";
1
+ import type { TradeItem } from "../../lib/floriday-client.js";
2
2
  /**
3
3
  * Overzicht van producten die (nog) niet actief op Floriday staan. Er is geen concept-status
4
4
  * meer — het gaat puur om welke Floriday-velden ontbreken en of het product klaar is om te
@@ -3,10 +3,10 @@ import { useMemo, useState } from "react";
3
3
  import { useNavigate } from "@tanstack/react-router";
4
4
  import { Badge, Button } from "@flowselections/core";
5
5
  import { Link2, Loader2, Pencil, Send } from "lucide-react";
6
- import { validateDraftForPublish } from "../../lib/floriday-import-validator";
7
- import { updateDraftMeta } from "../../hooks/useLocalTradeItems";
8
- import { floriday } from "../../lib/floriday-client";
9
- import { relinkProducts } from "../../lib/floriday-relink";
6
+ import { validateDraftForPublish } from "../../lib/floriday-import-validator.js";
7
+ import { updateDraftMeta } from "../../hooks/useLocalTradeItems.js";
8
+ import { floriday } from "../../lib/floriday-client.js";
9
+ import { relinkProducts } from "../../lib/floriday-relink.js";
10
10
  import { toast } from "@flowselections/core";
11
11
  /**
12
12
  * Overzicht van producten die (nog) niet actief op Floriday staan. Er is geen concept-status
@@ -59,7 +59,7 @@ export function ValidationOverviewTable({ items, connectionId, onChanged, }) {
59
59
  return;
60
60
  }
61
61
  try {
62
- const { buildAddTradeItemPayload } = await import("../../lib/floriday-payload");
62
+ const { buildAddTradeItemPayload } = await import("../../lib/floriday-payload.js");
63
63
  const built = buildAddTradeItemPayload(payload);
64
64
  const res = await floriday.createTradeItem(connectionId, built);
65
65
  await updateDraftMeta(productId, {
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Link } from "@tanstack/react-router";
3
3
  import { Card } from "@flowselections/core";
4
4
  import { ArrowLeft } from "lucide-react";
5
- import { useFloridayConnection } from "../../hooks/useFloridayConnection";
6
- import { useVoorraadData } from "../../hooks/useVoorraadData";
7
- import { ValidationOverviewTable } from "./ValidationOverviewTable";
5
+ import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
6
+ import { useVoorraadData } from "../../hooks/useVoorraadData.js";
7
+ import { ValidationOverviewTable } from "./ValidationOverviewTable.js";
8
8
  export function ValidationPage() {
9
9
  const { activeId } = useFloridayConnection();
10
10
  const { items, loading, reload } = useVoorraadData(activeId);
@@ -3,20 +3,20 @@ import { useEffect, useMemo, useState } from "react";
3
3
  import { Link } from "@tanstack/react-router";
4
4
  import { Button, Card, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, useAuthState, } from "@flowselections/core";
5
5
  import { AlertTriangle, CheckCircle2, FileText, PackageX, Plus, Search, } from "lucide-react";
6
- import { useFloridayConnection } from "../../hooks/useFloridayConnection";
7
- import { supabase } from "../../integrations/supabase/client";
8
- import { useVoorraadData } from "../../hooks/useVoorraadData";
9
- import { StockSyncStatus } from "./StockSyncStatus";
10
- import { StockIntegrityAlert } from "./StockIntegrityAlert";
11
- import { SupplyReadScopeAlert } from "./SupplyReadScopeAlert";
12
- import { StockPushMonitor } from "./StockPushMonitor";
13
- import { ExcelExportButton } from "./ExcelExportButton";
14
- import { StockBulkButtons } from "./StockBulkButtons";
15
- import { VoorraadTable } from "./VoorraadTable";
16
- import { VoorraadPagination } from "./VoorraadPagination";
17
- import { StockHistoryChart } from "./StockHistoryChart";
18
- import { InventorySettingsDrawer } from "./InventorySettingsDrawer";
19
- import { useInventorySettings } from "../../hooks/useInventorySettings";
6
+ import { useFloridayConnection } from "../../hooks/useFloridayConnection.js";
7
+ import { supabase } from "../../integrations/supabase/client.js";
8
+ import { useVoorraadData } from "../../hooks/useVoorraadData.js";
9
+ import { StockSyncStatus } from "./StockSyncStatus.js";
10
+ import { StockIntegrityAlert } from "./StockIntegrityAlert.js";
11
+ import { SupplyReadScopeAlert } from "./SupplyReadScopeAlert.js";
12
+ import { StockPushMonitor } from "./StockPushMonitor.js";
13
+ import { ExcelExportButton } from "./ExcelExportButton.js";
14
+ import { StockBulkButtons } from "./StockBulkButtons.js";
15
+ import { VoorraadTable } from "./VoorraadTable.js";
16
+ import { VoorraadPagination } from "./VoorraadPagination.js";
17
+ import { StockHistoryChart } from "./StockHistoryChart.js";
18
+ import { InventorySettingsDrawer } from "./InventorySettingsDrawer.js";
19
+ import { useInventorySettings } from "../../hooks/useInventorySettings.js";
20
20
  function isLinkedToFloriday(i) {
21
21
  return Boolean(i.floridayId) || i.source === "published";
22
22
  }
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useEffect, useState } from "react";
3
3
  import { Button, Card, CardContent, Input, Label, Textarea, toast, } from "@flowselections/core";
4
4
  import { Loader2, Package, Check } from "lucide-react";
5
- import { useTradeItemStock, stockKeysFor } from "../../hooks/useTradeItemStock";
6
- import { supabase } from "../../integrations/supabase/client";
7
- import { FloridaySentCard } from "./FloridaySentCard";
5
+ import { useTradeItemStock, stockKeysFor } from "../../hooks/useTradeItemStock.js";
6
+ import { supabase } from "../../integrations/supabase/client.js";
7
+ import { FloridaySentCard } from "./FloridaySentCard.js";
8
8
  export function VoorraadStockCard({ connectionId, tradeItemId, draftId, productId }) {
9
9
  const keys = stockKeysFor({
10
10
  tradeItemId,
@@ -1,5 +1,5 @@
1
- import type { TradeItem } from "../../lib/floriday-client";
2
- import type { InventorySetting } from "../../hooks/useInventorySettings";
1
+ import type { TradeItem } from "../../lib/floriday-client.js";
2
+ import type { InventorySetting } from "../../hooks/useInventorySettings.js";
3
3
  /** Sleutel waarmee een rij aan zijn Floriday-voorraadinstelling wordt gekoppeld. */
4
4
  export declare function settingKeyOf(item: TradeItem): string | null;
5
5
  export declare function VoorraadTable({ items, loading, settingsByKey, selected, onToggleSelect, onToggleAll, onOpenSettings, }: {