@flowselections/layout-maker 1.36.7 → 1.38.4

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 (67) hide show
  1. package/README.md +139 -139
  2. package/dist-lib/components/AfdrukKnop.d.ts +19 -19
  3. package/dist-lib/components/NetwerkPrintersDialog.d.ts +7 -7
  4. package/dist-lib/components/PaginaDocument.d.ts +4 -1
  5. package/dist-lib/components/PaginaDocument.d.ts.map +1 -1
  6. package/dist-lib/components/PaginaDocument.js +10 -5
  7. package/dist-lib/components/PakbonBuilderPage.d.ts.map +1 -1
  8. package/dist-lib/components/PakbonBuilderPage.js +4 -2
  9. package/dist-lib/components/PakbonPreview.d.ts +4 -2
  10. package/dist-lib/components/PakbonPreview.d.ts.map +1 -1
  11. package/dist-lib/components/PakbonPreview.js +55 -12
  12. package/dist-lib/components/PakbonSectiesPanel.d.ts +2 -2
  13. package/dist-lib/components/PakbonSectiesPanel.d.ts.map +1 -1
  14. package/dist-lib/components/PakbonSectiesPanel.js +3 -2
  15. package/dist-lib/components/PrinterSetupWizard.js +3 -3
  16. package/dist-lib/components/PrintersRedirectPage.d.ts +1 -1
  17. package/dist-lib/components/PrintersRedirectPage.js +14 -14
  18. package/dist-lib/index.d.ts +4 -2
  19. package/dist-lib/index.d.ts.map +1 -1
  20. package/dist-lib/index.js +3 -2
  21. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1240 -812
  22. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  23. package/dist-lib/integrations/supabase/client.server.d.ts +1240 -812
  24. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  25. package/dist-lib/integrations/supabase/client.server.js +1 -1
  26. package/dist-lib/integrations/supabase/moduleClient.d.ts +24008 -0
  27. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -0
  28. package/dist-lib/integrations/supabase/moduleClient.js +29 -0
  29. package/dist-lib/integrations/supabase/types.d.ts +1231 -821
  30. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  31. package/dist-lib/lib/aiLayout.functions.d.ts +1240 -812
  32. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  33. package/dist-lib/lib/aiLayout.server.js +9 -9
  34. package/dist-lib/lib/browserPrint.js +1 -1
  35. package/dist-lib/lib/code128.d.ts +5 -0
  36. package/dist-lib/lib/code128.d.ts.map +1 -0
  37. package/dist-lib/lib/code128.js +51 -0
  38. package/dist-lib/lib/htmlPdf.server.d.ts.map +1 -1
  39. package/dist-lib/lib/htmlPdf.server.js +58 -0
  40. package/dist-lib/lib/layoutPreview.d.ts.map +1 -1
  41. package/dist-lib/lib/layoutPreview.js +11 -8
  42. package/dist-lib/lib/orderData.server.d.ts.map +1 -1
  43. package/dist-lib/lib/orderData.server.js +6 -0
  44. package/dist-lib/lib/pakbonBuilder.d.ts +28 -2
  45. package/dist-lib/lib/pakbonBuilder.d.ts.map +1 -1
  46. package/dist-lib/lib/pakbonBuilder.js +69 -8
  47. package/dist-lib/lib/pakbonHtml.d.ts +14 -2
  48. package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
  49. package/dist-lib/lib/pakbonHtml.js +155 -63
  50. package/dist-lib/lib/pakbonScan.d.ts +44 -0
  51. package/dist-lib/lib/pakbonScan.d.ts.map +1 -0
  52. package/dist-lib/lib/pakbonScan.js +105 -0
  53. package/dist-lib/lib/printQueue.server.d.ts +7 -0
  54. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  55. package/dist-lib/lib/printQueue.server.js +247 -26
  56. package/dist-lib/lib/printService.functions.d.ts +4445 -2733
  57. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  58. package/dist-lib/lib/productiebonHtml.js +15 -15
  59. package/dist-lib/lib/profielHtml.js +18 -18
  60. package/dist-lib/lib/supabaseAdmin.server.d.ts +5 -5
  61. package/dist-lib/lib/supabaseAdmin.server.js +43 -43
  62. package/dist-lib/lib/supabaseClient.d.ts +1 -3
  63. package/dist-lib/lib/supabaseClient.d.ts.map +1 -1
  64. package/dist-lib/lib/supabaseClient.js +4 -8
  65. package/dist-lib/lib/testpagina.js +3 -3
  66. package/dist-lib/lib/testprint.js +4 -4
  67. package/package.json +151 -151
@@ -2,14 +2,33 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { PaginaDocument } from "./PaginaDocument.js";
4
4
  import { useLogos } from "../lib/logoLibrary.js";
5
- import { DEMO_ORDER, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, pickMethode, productVeldBreedtes, sectieOnderdrukt, kolomLabel, laagBundelTekst, sectieZichtbaar, sorteerProducten, totalen, vulVeldcodes, } from "../lib/pakbonBuilder.js";
6
- export function PakbonPreview({ config, breedteMm = 210, hoogteMm = 297, }) {
7
- const order = DEMO_ORDER;
5
+ import { code128Bars } from "../lib/code128.js";
6
+ import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, pickMethode, pakbonLayoutVariant, productVeldBreedtes, sectieOnderdruktVoorVariant, kolomLabel, laagBundelTekst, sectieZichtbaar, sorteerProducten, totalen, vulVeldcodes, } from "../lib/pakbonBuilder.js";
7
+ /** Voorbeeldbarcode: alleen bedoeld om de plek en hoogte te tonen. */
8
+ function BarcodeStrepen({ waarde, hoogteMm = 15 }) {
9
+ const bars = code128Bars(waarde);
10
+ if (!bars)
11
+ return null;
12
+ return (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "flex w-48 bg-white", style: { height: `${hoogteMm}mm` }, children: bars.split("").map((bar, i) => (_jsx("span", { className: `block h-full ${bar === "1" ? "bg-foreground" : "bg-transparent"}`, style: { flex: `0 0 ${100 / bars.length}%` } }, i))) }), _jsx("div", { className: "text-[9px]", children: waarde })] }));
13
+ }
14
+ export function PakbonPreview({ config, breedteMm = 210, hoogteMm = 297, variant = null, }) {
15
+ // De deelkarweergave gebruikt bewust een beperkte demo-order. Daardoor zie
16
+ // je in het voorbeeld alleen de fusten die voor deze deelkar verzameld
17
+ // moeten worden, nooit een misleidende volledige karindeling.
18
+ const order = variant === "partial_order" ? deelkarVoorbeeldOrder() : DEMO_ORDER;
8
19
  const ctx = conditieContext(order);
9
20
  const alleSecties = Array.isArray(config?.secties) ? config.secties : [];
10
21
  const methode = pickMethode(alleSecties);
11
- const secties = alleSecties.filter((s) => sectieZichtbaar(s, ctx) && !sectieOnderdrukt(s.type, methode));
22
+ const actieveVariant = pakbonLayoutVariant(variant);
23
+ const secties = alleSecties.filter((s) => sectieZichtbaar(s, ctx) && !sectieOnderdruktVoorVariant(s.type, methode, actieveVariant));
12
24
  const zoek = (type) => secties.find((s) => s.type === type);
25
+ const pickSectie = alleSecties.find((s) => s.type === "pickmethode");
26
+ const barcodeAan = !alleSecties.some((s) => s.type === "barcode") &&
27
+ (pickSectie ? opt(pickSectie, "toonBarcode", true) !== false : true);
28
+ const barcodeHoogte = pickSectie ? Number(opt(pickSectie, "barcodeHoogte", 15)) : 15;
29
+ const heeftKarBarcodes = secties.some((s) => s.type === "karren") &&
30
+ order.karren.some((kar) => Boolean(String(kar.barcode ?? "").trim()));
31
+ const paginaLabel = actieveVariant === "partial_order" ? "Deelkar" : "Hele kar";
13
32
  const segmenten = [];
14
33
  if (config?.logo?.logoId) {
15
34
  segmenten.push({
@@ -28,23 +47,47 @@ export function PakbonPreview({ config, breedteMm = 210, hoogteMm = 297, }) {
28
47
  if (s.type === "karren") {
29
48
  segmenten.push(...karSegmenten(s, order, zoek));
30
49
  }
50
+ else if (s.type === "barcode" && heeftKarBarcodes) {
51
+ // De barcode wordt binnen ieder afzonderlijk karblok getoond.
52
+ }
31
53
  else if (s.type === "totalen" && (totalenElkePagina || toonPaginanummer)) {
32
54
  // wordt als voettekst onder elke pagina getoond
33
55
  }
34
56
  else {
35
57
  segmenten.push({
36
58
  key: s.id,
59
+ pageLabel: paginaLabel,
37
60
  node: (_jsx(BlokFrame, { sectie: s, children: _jsx(SectieView, { sectie: s, order: order, zoek: zoek }) })),
38
61
  });
39
62
  }
40
63
  }
64
+ if (barcodeAan && !heeftKarBarcodes) {
65
+ segmenten.push({
66
+ key: "engine-barcode",
67
+ pageLabel: paginaLabel,
68
+ node: (_jsxs("div", { className: "space-y-1 pt-2", children: [_jsx(BarcodeStrepen, { waarde: "VOORBEELD-BARCODE", hoogteMm: barcodeHoogte }), _jsx("div", { className: "text-[8px] text-muted-foreground", children: "Voorbeeld \u2014 de echte barcode komt uit de opdracht van de Engine." })] })),
69
+ });
70
+ }
71
+ // Het volle-karvoorbeeld is bewust een complete serie: vier hele karren en
72
+ // als vijfde pagina één deelkar zonder karindeling. Zo is het verschil in
73
+ // dezelfde voorbeeldreeks direct zichtbaar.
74
+ if (actieveVariant === "full_cart" && methode === "beide" && pickSectie) {
75
+ const deelOrder = deelkarVoorbeeldOrder();
76
+ segmenten.push({
77
+ key: "deelkar-voorbeeldpagina",
78
+ breakBefore: true,
79
+ pageLabel: "Deelkar",
80
+ node: (_jsxs("div", { className: "space-y-3", children: [_jsx(BlokFrame, { sectie: pickSectie, children: _jsx(SectieView, { sectie: pickSectie, order: deelOrder, zoek: zoek }) }), _jsxs("div", { className: "space-y-1 pt-2", children: [_jsx(BarcodeStrepen, { waarde: "VOORBEELD-DEELKAR", hoogteMm: barcodeHoogte }), _jsx("div", { className: "text-[8px] text-muted-foreground", children: "Voorbeeld \u2014 de echte barcode komt uit de opdracht van de Engine." })] })] })),
81
+ });
82
+ }
41
83
  const voet = totalenSectie && (totalenElkePagina || toonPaginanummer)
42
84
  ? (pagina, totaalPaginas) => (_jsxs("div", { className: "space-y-1", children: [totalenElkePagina && (_jsx(BlokFrame, { sectie: totalenSectie, children: _jsx(SectieView, { sectie: totalenSectie, order: order, zoek: zoek }) })), toonPaginanummer && (_jsxs("div", { className: "text-right text-[9px] text-neutral-500", children: ["Pagina ", pagina, " van ", totaalPaginas] }))] }))
43
85
  : undefined;
44
- return (_jsx(PaginaDocument, { breedteMm: breedteMm, hoogteMm: hoogteMm, leeg: "Nog geen zichtbare secties.", voet: voet, items: segmenten.map((seg) => ({
86
+ return (_jsx(PaginaDocument, { breedteMm: breedteMm, hoogteMm: hoogteMm, leeg: "Nog geen zichtbare secties.", voet: voet, kop: (label) => (_jsx("div", { className: "mb-3 border-y-2 border-neutral-900 py-2 text-center text-base font-bold uppercase", children: label ?? paginaLabel })), items: segmenten.map((seg) => ({
45
87
  id: seg.key,
46
88
  node: seg.node,
47
89
  breakBefore: seg.breakBefore,
90
+ pageLabel: seg.pageLabel ?? paginaLabel,
48
91
  })) }));
49
92
  }
50
93
  /** Bouwt de segmenten voor de karrensectie, inclusief pagina-afbrekingen. */
@@ -68,6 +111,7 @@ function karSegmenten(s, order, zoek) {
68
111
  return [
69
112
  {
70
113
  key: s.id,
114
+ pageLabel: "Hele kar",
71
115
  node: wrap(_jsx("div", { className: "grid grid-cols-2 gap-3", children: karGroepen.map((g) => (_jsx(KarBlok, { sectie: s, kar: g.kar, aantal: g.aantal, velden: velden, lagen: g.kar.lagen, lagenSectie: lagenSectie, productSectie: productSectie, fustSectie: fustSectie, omkaderd: false }, g.kar.karnummer))) })),
72
116
  },
73
117
  ];
@@ -82,6 +126,7 @@ function karSegmenten(s, order, zoek) {
82
126
  segmenten.push({
83
127
  key: `${s.id}-${kar.karnummer}-${lg.laag.laagnummer}`,
84
128
  breakBefore: i > 0 || j > 0,
129
+ pageLabel: "Hele kar",
85
130
  node: wrap(_jsx(KarBlok, { sectie: s, kar: kar, aantal: groep.aantal, velden: velden, lagen: [lg.laag], lagenSectie: lagenSectie, productSectie: productSectie, fustSectie: fustSectie, omkaderd: modus === "blok" || modus === "passend" })),
86
131
  });
87
132
  });
@@ -90,6 +135,7 @@ function karSegmenten(s, order, zoek) {
90
135
  segmenten.push({
91
136
  key: `${s.id}-${kar.karnummer}`,
92
137
  breakBefore: i > 0 && nieuwePaginaPerKar,
138
+ pageLabel: "Hele kar",
93
139
  node: wrap(_jsxs("div", { className: "space-y-2", children: [i > 0 && !nieuwePaginaPerKar && _jsx(Scheiding, { modus: scheiding }), _jsx(KarBlok, { sectie: s, kar: kar, aantal: groep.aantal, velden: velden, lagen: lagenVanKar, lagenSectie: lagenSectie, productSectie: productSectie, fustSectie: fustSectie, omkaderd: modus === "blok" || modus === "passend" })] })),
94
140
  });
95
141
  });
@@ -100,7 +146,7 @@ function BundelMelding({ tekst }) {
100
146
  return (_jsx("div", { className: "rounded border border-dashed px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide", children: tekst }));
101
147
  }
102
148
  function KarBlok({ sectie, kar, velden, lagen, lagenSectie, productSectie, fustSectie, omkaderd, aantal = 1, }) {
103
- return (_jsxs("div", { className: `space-y-2 ${omkaderd ? "rounded border p-2" : ""}`, children: [_jsx(KarKop, { sectie: sectie, kar: kar, velden: velden, bundelTekst: karBundelTekst(aantal) }), lagen.length > 0 && lagenSectie && (_jsx(LagenView, { sectie: lagenSectie, lagen: lagen, productSectie: productSectie, fustSectie: fustSectie })), fustSectie && optS(fustSectie, "modus", "totaal") === "kar" && (_jsx(FustTabel, { velden: lijst(fustSectie, "velden"), fusten: lagen.flatMap((l) => l.fusten), titel: `Fusten kar ${kar.karnummer}` }))] }));
149
+ return (_jsxs("div", { className: `space-y-2 ${omkaderd ? "rounded border p-2" : ""}`, children: [_jsx(KarKop, { sectie: sectie, kar: kar, velden: velden, bundelTekst: karBundelTekst(aantal) }), lagen.length > 0 && lagenSectie && (_jsx(LagenView, { sectie: lagenSectie, lagen: lagen, productSectie: productSectie, fustSectie: fustSectie })), fustSectie && optS(fustSectie, "modus", "totaal") === "kar" && (_jsx(FustTabel, { velden: lijst(fustSectie, "velden"), fusten: lagen.flatMap((l) => l.fusten), titel: `Fusten kar ${kar.karnummer}` })), kar.barcode ? (_jsxs("div", { className: "space-y-1 pt-2", children: [_jsx(BarcodeStrepen, { waarde: kar.barcode, hoogteMm: Number(opt(sectie, "barcodeHoogte", 15)) }), _jsx("div", { className: "text-[8px] text-muted-foreground", children: "Voorbeeld \u2014 iedere kar krijgt de eigen barcode van de Engine." })] })) : null] }));
104
150
  }
105
151
  /** Losse weergave van één blok — gebruikt door de blokontwerper. */
106
152
  export function PakbonSectiePreview({ sectie, config, breedteMm, }) {
@@ -169,7 +215,7 @@ function SectieView({ sectie, order, zoek, }) {
169
215
  return (_jsx("div", { className: "space-y-2", children: groepen.map((g) => (_jsxs("div", { className: "space-y-1", children: [g.titel !== "—" && _jsx("div", { className: "font-semibold", children: g.titel }), _jsx(RegelWeergave, { producten: g.producten, kolommen: kolommen, weergave: optS(s, "weergave", "tabel"), toonKoppen: opt(s, "toonKoppen", true), zebra: opt(s, "zebra", false), randen: opt(s, "randen", true) })] }, g.titel))) }));
170
216
  }
171
217
  case "pickmethode":
172
- if (optS(s, "methode", "kar") !== "fusten")
218
+ if (optS(s, "methode", "kar") === "kar")
173
219
  return null;
174
220
  return (_jsx(FustVerzamellijst, { order: order, kop: String(s.opties?.["kop"] ?? "Te verzamelen fusten — karindeling zelf bepalen"), velden: lijst(s, "velden"), toonFusthoogte: opt(s, "toonFusthoogte", true) !== false, toonTotaal: opt(s, "toonTotaal", true) !== false }));
175
221
  case "karren":
@@ -199,10 +245,7 @@ function SectieView({ sectie, order, zoek, }) {
199
245
  case "qrcode":
200
246
  return (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "flex items-center justify-center border border-dashed text-muted-foreground", style: { width: `${opt(s, "grootte", 25)}mm`, height: `${opt(s, "grootte", 25)}mm` }, children: "QR" }), _jsx("div", { className: "text-[8px] text-muted-foreground", children: vulVeldcodes(String(opt(s, "waarde", "")), order) })] }));
201
247
  case "barcode":
202
- return (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "w-48", style: {
203
- height: `${opt(s, "hoogte", 15)}mm`,
204
- backgroundImage: "repeating-linear-gradient(to right, currentColor 0 2px, transparent 2px 5px)",
205
- } }), _jsx("div", { children: vulVeldcodes(String(opt(s, "waarde", "")), order) })] }));
248
+ return (_jsxs("div", { className: "space-y-1", children: [_jsx(BarcodeStrepen, { waarde: "VOORBEELD-BARCODE", hoogteMm: Number(opt(s, "hoogte", 15)) }), _jsx("div", { className: "text-[8px] text-muted-foreground", children: "Voorbeeld \u2014 de echte barcode komt uitsluitend uit de Engine-opdracht." })] }));
206
249
  case "afbeelding": {
207
250
  const url = String(opt(s, "url", ""));
208
251
  return url ? (_jsx("img", { src: url, alt: s.titel, style: { height: `${opt(s, "hoogte", 25)}mm` } })) : (_jsx("div", { className: "flex items-center justify-center rounded border border-dashed text-muted-foreground", style: { height: `${opt(s, "hoogte", 25)}mm` }, children: "Afbeelding" }));
@@ -256,7 +299,7 @@ function KarKop({ sectie, kar, velden, bundelTekst = "" }) {
256
299
  !velden.includes("barcode") &&
257
300
  !velden.includes("qrcode"))
258
301
  return null;
259
- return (_jsxs("div", { className: `flex items-center justify-between rounded px-2 py-1 ${groot ? "text-[13px] font-bold" : "font-semibold"}`, style: gekleurd ? { background: String(opt(sectie, "kleur", "#e8eef7")) } : undefined, children: [_jsxs("span", { className: "flex items-center gap-2", children: [toonNummer && _jsx("span", { children: tekst }), bundelTekst && _jsx(BundelMelding, { tekst: bundelTekst })] }), _jsxs("span", { className: "flex gap-3 text-[9px] font-normal", children: [info.map((t) => (_jsx("span", { children: t }, t))), velden.includes("barcode") && _jsxs("span", { children: ["\u25AE\u25AF\u25AE\u25AF\u25AE ", kar.karnummer] }), velden.includes("qrcode") && _jsx("span", { children: "[QR]" })] })] }));
302
+ return (_jsxs("div", { className: `flex items-center justify-between rounded px-2 py-1 ${groot ? "text-[13px] font-bold" : "font-semibold"}`, style: gekleurd ? { background: String(opt(sectie, "kleur", "#e8eef7")) } : undefined, children: [_jsxs("span", { className: "flex items-center gap-2", children: [toonNummer && _jsx("span", { children: tekst }), bundelTekst && _jsx(BundelMelding, { tekst: bundelTekst })] }), _jsxs("span", { className: "flex gap-3 text-[9px] font-normal", children: [info.map((t) => (_jsx("span", { children: t }, t))), velden.includes("barcode") && kar.barcode ? (_jsx(BarcodeStrepen, { waarde: kar.barcode, hoogteMm: Number(opt(sectie, "barcodeHoogte", 15)) })) : null, velden.includes("qrcode") && _jsx("span", { children: "[QR]" })] })] }));
260
303
  }
261
304
  function LagenView({ sectie, lagen, productSectie, fustSectie, }) {
262
305
  const modus = optS(sectie, "modus", "apart");
@@ -1,4 +1,4 @@
1
- import { type PakbonConfig, type PakbonSectie } from "../lib/pakbonBuilder.js";
1
+ import { type PakbonConfig, type PakbonSectie, type PickMethode } from "../lib/pakbonBuilder.js";
2
2
  /** Beheer van de secties waaruit de pakbon is opgebouwd. */
3
3
  export declare function PakbonSectiesPanel({ config, onChange, }: {
4
4
  config: PakbonConfig;
@@ -8,7 +8,7 @@ export declare function PakbonSectiesPanel({ config, onChange, }: {
8
8
  export declare function PakbonSectieEditor({ sectie, onChange, methode, }: {
9
9
  sectie: PakbonSectie;
10
10
  onChange: (patch: Partial<PakbonSectie>) => void;
11
- methode?: "kar" | "fusten";
11
+ methode?: PickMethode;
12
12
  }): import("react").JSX.Element;
13
13
  /** Kaderinstellingen (breedte, uitlijning, marges, opmaak) van één blok. */
14
14
  export declare function PakbonBlokKaderEditor({ sectie, onChange, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"PakbonSectiesPanel.d.ts","sourceRoot":"","sources":["../../src/components/PakbonSectiesPanel.tsx"],"names":[],"mappings":"AAmBA,OAAO,EASL,KAAK,YAAY,EAEjB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAE9B,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CACrC,+BA6KA;AA0TD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,OAAe,GAChB,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC5B,+BAgHA;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CAClD,+BA4FA"}
1
+ {"version":3,"file":"PakbonSectiesPanel.d.ts","sourceRoot":"","sources":["../../src/components/PakbonSectiesPanel.tsx"],"names":[],"mappings":"AAmBA,OAAO,EASL,KAAK,YAAY,EAEjB,KAAK,YAAY,EAEjB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CACrC,+BA6KA;AA0TD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,OAAe,GAChB,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,+BAuHA;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CAClD,+BA4FA"}
@@ -93,7 +93,8 @@ export function PakbonSectieEditor({ sectie, onChange, methode = "kar", }) {
93
93
  const s = sectie;
94
94
  const def = sectieDef(s.type);
95
95
  const bundelAan = s.type === "karren" && (s.opties?.bundel_identiek ?? true);
96
- // Instellingen van de fustverzamellijst gelden alleen bij picken per fust.
96
+ // Instellingen van de fustverzamellijst gelden alleen bij picken per fust
97
+ // of bij de gecombineerde methode.
97
98
  const verzamellijstUit = s.type === "pickmethode" && methode === "kar";
98
99
  const aangepasteOpties = def.opties
99
100
  .filter((o) => !(verzamellijstUit && o.key !== "methode"))
@@ -119,7 +120,7 @@ export function PakbonSectieEditor({ sectie, onChange, methode = "kar", }) {
119
120
  logoId: logo?.id ?? null,
120
121
  logoNaam: logo?.naam ?? null,
121
122
  },
122
- }) })), verzamellijstUit && (_jsxs("p", { className: "rounded border border-dashed px-3 py-2 text-xs text-muted-foreground", children: ["De instellingen voor de fustverzamellijst (koptekst, gegevens per fust, fusthoogte en totaal) gelden alleen bij \u201COrder picken per fusten\u201D. Kies die pickmethode om ze in te stellen; bij picken per kar stel je de fustgegevens in bij het blok ", _jsx("span", { className: "font-medium", children: "Fusten" }), "."] })), aangepasteOpties.map((o) => {
123
+ }) })), s.type === "pickmethode" && methode === "beide" && (_jsxs("p", { className: "rounded border border-dashed px-3 py-2 text-xs text-muted-foreground", children: ["De Logistics Engine kiest per opdracht de variant: ", _jsx("span", { className: "font-medium", children: "volle kar" }), "toont de karrenindeling; ", _jsx("span", { className: "font-medium", children: "deelkar" }), " toont alleen de te verzamelen fusten. De barcode hieronder wordt alleen gevuld met de barcode uit die opdracht."] })), verzamellijstUit && (_jsxs("p", { className: "rounded border border-dashed px-3 py-2 text-xs text-muted-foreground", children: ["De instellingen voor de fustverzamellijst gelden bij picken per fusten of bij de gecombineerde methode. Bij picken per kar stel je de fustgegevens in bij het blok", _jsx("span", { className: "font-medium", children: " Fusten" }), "."] })), aangepasteOpties.map((o) => {
123
124
  const isVelden = o.key === "velden";
124
125
  const basisWaarde = s.opties?.[o.key] ?? o.standaard;
125
126
  const waarde = isVelden && bundelAan
@@ -206,9 +206,9 @@ export function PrinterSetupWizard({ open, onOpenChange, onKlaar, computerFilter
206
206
  setTestStatus("bezig");
207
207
  setTestMelding("");
208
208
  const maat = gekozenFormaat ? `${gekozenFormaat.breedte} × ${gekozenFormaat.hoogte} mm` : "standaardformaat";
209
- const html = `<div style="padding:15mm;font-family:Arial,Helvetica,sans-serif;font-size:12pt">
210
- <h1 style="font-size:20pt;margin:0 0 6mm">Testpagina</h1>
211
- <p style="margin:0 0 3mm">Deze pagina hoort uit: <strong>${naam}</strong></p>
209
+ const html = `<div style="padding:15mm;font-family:Arial,Helvetica,sans-serif;font-size:12pt">
210
+ <h1 style="font-size:20pt;margin:0 0 6mm">Testpagina</h1>
211
+ <p style="margin:0 0 3mm">Deze pagina hoort uit: <strong>${naam}</strong></p>
212
212
  <p style="margin:0">Papier: ${maat} — ${new Date().toLocaleString("nl-NL")}</p></div>`;
213
213
  try {
214
214
  const { jobId } = await printHtml({
@@ -1,2 +1,2 @@
1
- export declare function PrintersRedirectPage(): import("react").JSX.Element;
1
+ export declare function PrintersRedirectPage(): import("react").JSX.Element;
2
2
  //# sourceMappingURL=PrintersRedirectPage.d.ts.map
@@ -1,14 +1,14 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // ============================================================================
3
- // src/components/PrintersRedirectPage.tsx — oude URL /layouts-printers/printers
4
- // stuurt door naar de samengevoegde pagina Printplekken.
5
- // ============================================================================
6
- import { useEffect } from "react";
7
- import { useNavigate } from "@tanstack/react-router";
8
- export function PrintersRedirectPage() {
9
- const navigate = useNavigate();
10
- useEffect(() => {
11
- void navigate({ to: "/layouts-printers/printplekken", replace: true });
12
- }, [navigate]);
13
- return _jsx("p", { className: "text-muted-foreground p-6 text-sm", children: "Doorsturen naar Printplekken\u2026" });
14
- }
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // ============================================================================
3
+ // src/components/PrintersRedirectPage.tsx — oude URL /layouts-printers/printers
4
+ // stuurt door naar de samengevoegde pagina Printplekken.
5
+ // ============================================================================
6
+ import { useEffect } from "react";
7
+ import { useNavigate } from "@tanstack/react-router";
8
+ export function PrintersRedirectPage() {
9
+ const navigate = useNavigate();
10
+ useEffect(() => {
11
+ void navigate({ to: "/layouts-printers/printplekken", replace: true });
12
+ }, [navigate]);
13
+ return _jsx("p", { className: "text-muted-foreground p-6 text-sm", children: "Doorsturen naar Printplekken\u2026" });
14
+ }
@@ -28,10 +28,12 @@ export { PakbonBuilderPage } from './components/PakbonBuilderPage.js';
28
28
  export { BlokOntwerperPage } from './components/BlokOntwerperPage.js';
29
29
  export { PakbonBlokKaderEditor, PakbonSectieEditor, PakbonSectiesPanel } from './components/PakbonSectiesPanel.js';
30
30
  export { PakbonPreview, PakbonSectiePreview } from './components/PakbonPreview.js';
31
- export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesPakbonConfig, nieuweKolom, nieuweSectie, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieZichtbaar, sorteerProducten, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
32
- export type { DemoKar, DemoLaag, DemoOrder, DemoProduct, FustVerzamelGroep, FustVerzamelProduct, KarGroep, LaagGroep, PakbonConditie, PakbonConfig, PakbonDocumentLogo, PakbonKolom, PakbonSectie, PakbonSectieType, SectieDef } from './lib/pakbonBuilder.js';
31
+ export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
32
+ export type { DemoKar, DemoLaag, DemoOrder, DemoProduct, FustVerzamelGroep, FustVerzamelProduct, KarGroep, LaagGroep, PakbonConditie, PakbonConfig, PakbonDocumentLogo, PakbonKolom, PakbonLayoutVariant, PakbonSectie, PakbonSectieType, PickMethode, SectieDef } from './lib/pakbonBuilder.js';
33
33
  export { esc, maakPakbonOrder, printPakbon, printPakbonMetLogos, renderPakbonBody, renderPakbonDocument, voorbeeldPakbonOrder } from './lib/pakbonHtml.js';
34
34
  export type { PakbonLogo, PakbonOrder, PakbonRenderOpties } from './lib/pakbonHtml.js';
35
+ export { bouwPakbonScanInhoud, bewaarPakbonScanInhoud } from './lib/pakbonScan.js';
36
+ export type { PakbonScanInhoud, PakbonScanRegel } from './lib/pakbonScan.js';
35
37
  export { ProductiebonBuilderPage } from './components/ProductiebonBuilderPage.js';
36
38
  export { ProductiebonBlokkenPanel } from './components/ProductiebonBlokkenPanel.js';
37
39
  export { ProductiebonBlokPreview, ProductiebonPreview } from './components/ProductiebonPreview.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist-lib/index.js CHANGED
@@ -29,8 +29,9 @@ export { PakbonBuilderPage } from './components/PakbonBuilderPage.js';
29
29
  export { BlokOntwerperPage } from './components/BlokOntwerperPage.js';
30
30
  export { PakbonBlokKaderEditor, PakbonSectieEditor, PakbonSectiesPanel } from './components/PakbonSectiesPanel.js';
31
31
  export { PakbonPreview, PakbonSectiePreview } from './components/PakbonPreview.js';
32
- export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesPakbonConfig, nieuweKolom, nieuweSectie, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieZichtbaar, sorteerProducten, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
32
+ export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
33
33
  export { esc, maakPakbonOrder, printPakbon, printPakbonMetLogos, renderPakbonBody, renderPakbonDocument, voorbeeldPakbonOrder } from './lib/pakbonHtml.js';
34
+ export { bouwPakbonScanInhoud, bewaarPakbonScanInhoud } from './lib/pakbonScan.js';
34
35
  export { ProductiebonBuilderPage } from './components/ProductiebonBuilderPage.js';
35
36
  export { ProductiebonBlokkenPanel } from './components/ProductiebonBlokkenPanel.js';
36
37
  export { ProductiebonBlokPreview, ProductiebonPreview } from './components/ProductiebonPreview.js';
@@ -69,7 +70,7 @@ export { GeenPrinterFout } from './lib/printApi.js';
69
70
  export const layoutmodule = {
70
71
  id: "layout-maker",
71
72
  name: "Layouts en printers",
72
- version: "1.36.3",
73
+ version: "1.38.0",
73
74
  nav: {
74
75
  label: "Layouts en printers",
75
76
  href: "/layouts-printers/documenten",