@flowselections/offertes-installatie-techniek 1.0.2

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 (73) hide show
  1. package/README.md +24 -0
  2. package/dist-lib/_core-safelist.d.ts +2 -0
  3. package/dist-lib/_core-safelist.d.ts.map +1 -0
  4. package/dist-lib/_core-safelist.js +15 -0
  5. package/dist-lib/components/OfferteDetailPage.d.ts +6 -0
  6. package/dist-lib/components/OfferteDetailPage.d.ts.map +1 -0
  7. package/dist-lib/components/OfferteDetailPage.js +48 -0
  8. package/dist-lib/components/OffertesOverzichtPage.d.ts +2 -0
  9. package/dist-lib/components/OffertesOverzichtPage.d.ts.map +1 -0
  10. package/dist-lib/components/OffertesOverzichtPage.js +40 -0
  11. package/dist-lib/components/offertes/NieuweOfferteDialog.d.ts +8 -0
  12. package/dist-lib/components/offertes/NieuweOfferteDialog.d.ts.map +1 -0
  13. package/dist-lib/components/offertes/NieuweOfferteDialog.js +81 -0
  14. package/dist-lib/components/offertes/OfferteDetailPage.d.ts +6 -0
  15. package/dist-lib/components/offertes/OfferteDetailPage.d.ts.map +1 -0
  16. package/dist-lib/components/offertes/OfferteDetailPage.js +48 -0
  17. package/dist-lib/components/offertes/OfferteDetailRoute.d.ts +2 -0
  18. package/dist-lib/components/offertes/OfferteDetailRoute.d.ts.map +1 -0
  19. package/dist-lib/components/offertes/OfferteDetailRoute.js +13 -0
  20. package/dist-lib/components/offertes/OfferteKpiCards.d.ts +7 -0
  21. package/dist-lib/components/offertes/OfferteKpiCards.d.ts.map +1 -0
  22. package/dist-lib/components/offertes/OfferteKpiCards.js +33 -0
  23. package/dist-lib/components/offertes/OfferteRegelsEditor.d.ts +12 -0
  24. package/dist-lib/components/offertes/OfferteRegelsEditor.d.ts.map +1 -0
  25. package/dist-lib/components/offertes/OfferteRegelsEditor.js +27 -0
  26. package/dist-lib/components/offertes/OfferteStatusBadge.d.ts +4 -0
  27. package/dist-lib/components/offertes/OfferteStatusBadge.d.ts.map +1 -0
  28. package/dist-lib/components/offertes/OfferteStatusBadge.js +16 -0
  29. package/dist-lib/components/offertes/OffertesOverzichtPage.d.ts +2 -0
  30. package/dist-lib/components/offertes/OffertesOverzichtPage.d.ts.map +1 -0
  31. package/dist-lib/components/offertes/OffertesOverzichtPage.js +40 -0
  32. package/dist-lib/hooks/useOfferte.d.ts +17 -0
  33. package/dist-lib/hooks/useOfferte.d.ts.map +1 -0
  34. package/dist-lib/hooks/useOfferte.js +135 -0
  35. package/dist-lib/hooks/useOffertes.d.ts +7 -0
  36. package/dist-lib/hooks/useOffertes.d.ts.map +1 -0
  37. package/dist-lib/hooks/useOffertes.js +38 -0
  38. package/dist-lib/hooks/useWerkbonPakketten.d.ts +7 -0
  39. package/dist-lib/hooks/useWerkbonPakketten.d.ts.map +1 -0
  40. package/dist-lib/hooks/useWerkbonPakketten.js +20 -0
  41. package/dist-lib/index.d.ts +15 -0
  42. package/dist-lib/index.d.ts.map +1 -0
  43. package/dist-lib/index.js +32 -0
  44. package/dist-lib/integrations/supabase/auth-attacher.d.ts +2 -0
  45. package/dist-lib/integrations/supabase/auth-attacher.d.ts.map +1 -0
  46. package/dist-lib/integrations/supabase/auth-attacher.js +12 -0
  47. package/dist-lib/integrations/supabase/auth-middleware.d.ts +23409 -0
  48. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -0
  49. package/dist-lib/integrations/supabase/auth-middleware.js +52 -0
  50. package/dist-lib/integrations/supabase/client.d.ts +23405 -0
  51. package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
  52. package/dist-lib/integrations/supabase/client.js +14 -0
  53. package/dist-lib/integrations/supabase/client.server.d.ts +23405 -0
  54. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -0
  55. package/dist-lib/integrations/supabase/client.server.js +30 -0
  56. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
  57. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
  58. package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
  59. package/dist-lib/integrations/supabase/types.d.ts +24034 -0
  60. package/dist-lib/integrations/supabase/types.d.ts.map +1 -0
  61. package/dist-lib/integrations/supabase/types.js +92 -0
  62. package/dist-lib/lib/offertes.d.ts +86 -0
  63. package/dist-lib/lib/offertes.d.ts.map +1 -0
  64. package/dist-lib/lib/offertes.js +51 -0
  65. package/dist-lib/lib/utils.d.ts +3 -0
  66. package/dist-lib/lib/utils.d.ts.map +1 -0
  67. package/dist-lib/lib/utils.js +5 -0
  68. package/dist-lib/lib/validationSchemas.d.ts +15 -0
  69. package/dist-lib/lib/validationSchemas.d.ts.map +1 -0
  70. package/dist-lib/lib/validationSchemas.js +25 -0
  71. package/dist-lib/styles.css +1 -0
  72. package/package.json +92 -0
  73. package/public/logo.png +0 -0
@@ -0,0 +1,92 @@
1
+ export const Constants = {
2
+ public: {
3
+ Enums: {
4
+ ai_import_status: [
5
+ "nieuw",
6
+ "verwerken",
7
+ "bevestigen",
8
+ "klaar",
9
+ "mislukt",
10
+ ],
11
+ app_role: [
12
+ "admin",
13
+ "planner",
14
+ "monteur",
15
+ "administratie",
16
+ "ai_admin",
17
+ "manager",
18
+ "warehouse",
19
+ "sales",
20
+ "developer",
21
+ "receptie",
22
+ ],
23
+ doc_layout_type: [
24
+ "pakbon",
25
+ "factuur",
26
+ "offerte",
27
+ "orderbevestiging",
28
+ "etiket",
29
+ "verzendlabel",
30
+ "productlabel",
31
+ "barcode_label",
32
+ "magazijnlijst",
33
+ "controlelijst",
34
+ "transportdocument",
35
+ "vrij",
36
+ "sticker",
37
+ "productiebon",
38
+ "veilingbon",
39
+ "afleverbrief",
40
+ "veilingbrief",
41
+ ],
42
+ doc_orientation: ["portrait", "landscape"],
43
+ exact_env: ["staging", "live"],
44
+ exact_push_status: ["pending", "sent", "error"],
45
+ itk_customer_segment: ["Business", "Private"],
46
+ itk_dynamic_field_type: ["text", "select", "date", "checkbox"],
47
+ planning_item_status: [
48
+ "gepland",
49
+ "bezig",
50
+ "afgerond",
51
+ "geannuleerd",
52
+ "concept",
53
+ "vrijgegeven",
54
+ ],
55
+ print_job_status: [
56
+ "wachtend",
57
+ "bezig",
58
+ "voltooid",
59
+ "mislukt",
60
+ "geannuleerd",
61
+ ],
62
+ printer_connection: [
63
+ "ipp",
64
+ "raw9100",
65
+ "printnode",
66
+ "cups",
67
+ "usb",
68
+ "windows",
69
+ "airprint",
70
+ "cloud",
71
+ ],
72
+ printer_kind: [
73
+ "labelprinter",
74
+ "laserprinter",
75
+ "inkjet",
76
+ "thermal",
77
+ "kantoorprinter",
78
+ "overig",
79
+ ],
80
+ quote_status: [
81
+ "concept",
82
+ "verzonden",
83
+ "bekeken",
84
+ "in_behandeling",
85
+ "geaccepteerd",
86
+ "afgewezen",
87
+ "verlopen",
88
+ "gearchiveerd",
89
+ ],
90
+ },
91
+ },
92
+ };
@@ -0,0 +1,86 @@
1
+ export type OfferteStatus = "concept" | "mandaat" | "verzonden" | "bekeken" | "goedgekeurd" | "omgezet" | "afgewezen" | "verlopen";
2
+ export interface OfferteRegel {
3
+ id: string;
4
+ offerte_id: string;
5
+ package_id: string | null;
6
+ source: string;
7
+ omschrijving: string;
8
+ quantity: number;
9
+ unit_price_cents: number;
10
+ line_total_cents: number;
11
+ sort_order: number;
12
+ }
13
+ export interface Offerte {
14
+ id: string;
15
+ offerte_number: string | null;
16
+ jaar: number;
17
+ volgnummer: number | null;
18
+ werkbon_id: string | null;
19
+ source_type: string;
20
+ source_ref: string | null;
21
+ source_number: string | null;
22
+ customer_id: string | null;
23
+ contact_id: string | null;
24
+ work_location_id: string | null;
25
+ status: string;
26
+ omschrijving: string;
27
+ notities: string | null;
28
+ subtotal_cents: number;
29
+ vat_rate: number;
30
+ vat_cents: number;
31
+ total_cents: number;
32
+ valid_until: string | null;
33
+ mandaat_restant_cents: number;
34
+ binnen_mandaat: boolean;
35
+ follow_up_werkbon_id: string | null;
36
+ ai_generated: boolean;
37
+ sent_at: string | null;
38
+ viewed_at: string | null;
39
+ approved_at: string | null;
40
+ rejected_at: string | null;
41
+ converted_at: string | null;
42
+ created_at: string;
43
+ updated_at: string;
44
+ }
45
+ export interface OfferteMetKlant extends Offerte {
46
+ klant_naam: string | null;
47
+ werkbon_nummer: string | null;
48
+ }
49
+ export interface OfferteEvent {
50
+ id: string;
51
+ offerte_id: string;
52
+ event_type: string;
53
+ omschrijving: string | null;
54
+ created_at: string;
55
+ }
56
+ /** Bronoptie zoals het broncontract (quote_list_sources) die levert. */
57
+ export interface BronOptie {
58
+ id: string;
59
+ number: string | null;
60
+ customer_id: string | null;
61
+ description: string | null;
62
+ budget_mandate_cents: number | null;
63
+ status: string | null;
64
+ }
65
+ export interface Pakket {
66
+ id: string;
67
+ code: string | null;
68
+ name: string;
69
+ unit_price_cents: number | null;
70
+ default_quantity: number | null;
71
+ active: boolean;
72
+ }
73
+ export declare const OFFERTE_STATUS_LABELS: Record<string, string>;
74
+ /** Tabbladen in het overzicht — key `alle` toont alles. */
75
+ export declare const OFFERTE_TABS: {
76
+ key: string;
77
+ label: string;
78
+ statuses?: string[];
79
+ }[];
80
+ export declare const OPEN_STATUSES: string[];
81
+ export declare function formatEuro(cents: number | null | undefined): string;
82
+ export declare function formatDatum(value: string | null | undefined): string;
83
+ export declare function isVerlopen(offerte: Offerte): boolean;
84
+ /** Effectieve status: rekent verlopen offertes automatisch mee. */
85
+ export declare function effectieveStatus(offerte: Offerte): string;
86
+ //# sourceMappingURL=offertes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offertes.d.ts","sourceRoot":"","sources":["../../src/lib/offertes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ // ============================================================================
2
+ // src/lib/offertes.ts — types, statussen en formatters voor de offertemodule
3
+ // ============================================================================
4
+ export const OFFERTE_STATUS_LABELS = {
5
+ concept: "Concept",
6
+ mandaat: "Mandaat",
7
+ verzonden: "Verzonden",
8
+ bekeken: "Bekeken",
9
+ goedgekeurd: "Goedgekeurd",
10
+ omgezet: "Omgezet",
11
+ afgewezen: "Afgewezen",
12
+ verlopen: "Verlopen",
13
+ };
14
+ /** Tabbladen in het overzicht — key `alle` toont alles. */
15
+ export const OFFERTE_TABS = [
16
+ { key: "alle", label: "Alle" },
17
+ { key: "concept", label: "Concept", statuses: ["concept"] },
18
+ { key: "verzonden", label: "Verzonden", statuses: ["verzonden", "bekeken"] },
19
+ { key: "goedgekeurd", label: "Goedgekeurd", statuses: ["goedgekeurd", "omgezet"] },
20
+ { key: "mandaat", label: "Mandaat", statuses: ["mandaat"] },
21
+ { key: "afgewezen", label: "Afgewezen", statuses: ["afgewezen"] },
22
+ { key: "verlopen", label: "Verlopen", statuses: ["verlopen"] },
23
+ ];
24
+ export const OPEN_STATUSES = ["concept", "mandaat", "verzonden", "bekeken"];
25
+ export function formatEuro(cents) {
26
+ const value = (cents ?? 0) / 100;
27
+ return new Intl.NumberFormat("nl-NL", {
28
+ style: "currency",
29
+ currency: "EUR",
30
+ }).format(value);
31
+ }
32
+ export function formatDatum(value) {
33
+ if (!value)
34
+ return "—";
35
+ return new Intl.DateTimeFormat("nl-NL", {
36
+ day: "numeric",
37
+ month: "short",
38
+ year: "numeric",
39
+ }).format(new Date(value));
40
+ }
41
+ export function isVerlopen(offerte) {
42
+ if (!offerte.valid_until)
43
+ return false;
44
+ if (!OPEN_STATUSES.includes(offerte.status))
45
+ return false;
46
+ return new Date(offerte.valid_until) < new Date(new Date().toDateString());
47
+ }
48
+ /** Effectieve status: rekent verlopen offertes automatisch mee. */
49
+ export function effectieveStatus(offerte) {
50
+ return isVerlopen(offerte) ? "verlopen" : offerte.status;
51
+ }
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,5 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ export declare const loginSchema: z.ZodObject<{
3
+ email: z.ZodString;
4
+ password: z.ZodString;
5
+ }, z.core.$strip>;
6
+ export declare const bugReportSchema: z.ZodObject<{
7
+ title: z.ZodString;
8
+ description: z.ZodString;
9
+ }, z.core.$strip>;
10
+ export declare const ALLOWED_FILE_TYPES: string[];
11
+ export declare function validateFileUpload(file: File): {
12
+ valid: boolean;
13
+ error?: string;
14
+ };
15
+ //# sourceMappingURL=validationSchemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationSchemas.d.ts","sourceRoot":"","sources":["../../src/lib/validationSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW;;;iBAGtB,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAQjF"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ export const loginSchema = z.object({
3
+ email: z.string().email("Ongeldig e-mailadres"),
4
+ password: z.string().min(6, "Wachtwoord moet minimaal 6 tekens bevatten"),
5
+ });
6
+ export const bugReportSchema = z.object({
7
+ title: z.string().min(1, "Titel is verplicht").max(200),
8
+ description: z.string().min(1, "Beschrijving is verplicht").max(5000),
9
+ });
10
+ export const ALLOWED_FILE_TYPES = [
11
+ "image/png",
12
+ "image/jpeg",
13
+ "image/gif",
14
+ "application/pdf",
15
+ ];
16
+ const MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB
17
+ export function validateFileUpload(file) {
18
+ if (!ALLOWED_FILE_TYPES.includes(file.type)) {
19
+ return { valid: false, error: "Bestandstype niet toegestaan" };
20
+ }
21
+ if (file.size > MAX_FILE_SIZE) {
22
+ return { valid: false, error: "Bestand is te groot (max 10MB)" };
23
+ }
24
+ return { valid: true };
25
+ }
@@ -0,0 +1 @@
1
+ @source "./";
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@flowselections/offertes-installatie-techniek",
3
+ "version": "1.0.2",
4
+ "flowselections": {
5
+ "moduleId": "offertes-installatietechniek",
6
+ "pages": [
7
+ {
8
+ "export": "OffertesOverzichtPage",
9
+ "route": "offertes",
10
+ "title": "Offertes"
11
+ },
12
+ {
13
+ "export": "OfferteDetailRoute",
14
+ "route": "offertes/$offerteId",
15
+ "title": "Offerte detail"
16
+ }
17
+ ]
18
+ },
19
+ "private": false,
20
+ "sideEffects": false,
21
+ "type": "module",
22
+ "main": "./dist-lib/index.js",
23
+ "types": "./dist-lib/index.d.ts",
24
+ "exports": {
25
+ ".": {
26
+ "types": "./dist-lib/index.d.ts",
27
+ "default": "./dist-lib/index.js"
28
+ },
29
+ "./styles": "./dist-lib/styles.css"
30
+ },
31
+ "files": [
32
+ "dist-lib",
33
+ "public"
34
+ ],
35
+ "publishConfig": {
36
+ "access": "public"
37
+ },
38
+ "scripts": {
39
+ "dev": "vite dev",
40
+ "build": "vite build",
41
+ "build:lib": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node -e \"require('fs').writeFileSync('dist-lib/styles.css', '@source \\\"./\\\";\\n')\"",
42
+ "build:lib:watch": "tsc -p tsconfig.build.json --watch",
43
+ "build:dev": "vite build --mode development",
44
+ "preview": "vite preview",
45
+ "lint": "eslint ."
46
+ },
47
+ "peerDependencies": {
48
+ "@flowselections/core": "*",
49
+ "@tanstack/react-query": "^5.0.0",
50
+ "@tanstack/react-router": "^1.0.0",
51
+ "@tanstack/react-start": "^1.0.0",
52
+ "lucide-react": "^0.400.0",
53
+ "react": "^18 || ^19",
54
+ "react-dom": "^18 || ^19",
55
+ "sonner": "^2.0.0"
56
+ },
57
+ "dependencies": {
58
+ "@supabase/supabase-js": "^2.112.3"
59
+ },
60
+ "devDependencies": {
61
+ "@cloudflare/vite-plugin": "^1.25.5",
62
+ "@eslint/js": "^9.32.0",
63
+ "@flowselections/core": "1.0.12",
64
+ "@lovable.dev/vite-tanstack-config": "2.13.1",
65
+ "@rsbuild/core": "^1.0.0",
66
+ "@tailwindcss/vite": "^4.2.1",
67
+ "@tanstack/react-query": "^5.83.0",
68
+ "@tanstack/react-router": "^1.168.0",
69
+ "@tanstack/react-start": "^1.167.14",
70
+ "@tanstack/router-plugin": "^1.167.10",
71
+ "@types/node": "^22.16.5",
72
+ "@types/react": "^19.2.0",
73
+ "@types/react-dom": "^19.2.0",
74
+ "@vitejs/plugin-react": "^5.0.4",
75
+ "eslint": "^9.32.0",
76
+ "eslint-plugin-react-hooks": "^5.2.0",
77
+ "eslint-plugin-react-refresh": "^0.4.20",
78
+ "globals": "^15.15.0",
79
+ "lucide-react": "^0.575.0",
80
+ "react": "^19.2.0",
81
+ "react-dom": "^19.2.0",
82
+ "sonner": "^2.0.7",
83
+ "tailwindcss": "^4.2.1",
84
+ "tw-animate-css": "^1.3.4",
85
+ "typescript": "^5.8.3",
86
+ "tsc-alias": "^1.8.10",
87
+ "typescript-eslint": "^8.56.1",
88
+ "vite": "^7.3.1",
89
+ "vite-tsconfig-paths": "^6.0.2",
90
+ "nitro": "3.0.260603-beta"
91
+ }
92
+ }
Binary file