@flowselections/floriday-verkoop-module 1.0.46 → 1.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts +3 -1
  2. package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts.map +1 -1
  3. package/dist-lib/components/verkoop/OrderAfleverbrievenCard.js +90 -19
  4. package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
  5. package/dist-lib/components/verkoop/SalesOrderDetailView.js +1 -1
  6. package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts +6 -0
  7. package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts.map +1 -0
  8. package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.js +26 -0
  9. package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
  10. package/dist-lib/components/verkoop/VerkoopOrdersPage.js +2 -1
  11. package/dist-lib/integrations/supabase/auth-middleware.d.ts +328 -0
  12. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  13. package/dist-lib/integrations/supabase/client.d.ts +328 -0
  14. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  15. package/dist-lib/integrations/supabase/client.js +2 -1
  16. package/dist-lib/integrations/supabase/client.server.d.ts +328 -0
  17. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  18. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
  19. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
  20. package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
  21. package/dist-lib/integrations/supabase/types.d.ts +335 -0
  22. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  23. package/dist-lib/lib/cart-lock.functions.d.ts +328 -0
  24. package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/cart-planning-settings.functions.d.ts +4307 -699
  26. package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
  27. package/dist-lib/lib/cart-replan.functions.d.ts +984 -0
  28. package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/create-order.functions.d.ts +7175 -1599
  30. package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
  31. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +984 -0
  32. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
  33. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +328 -0
  34. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
  35. package/dist-lib/lib/floriday-mirror.functions.d.ts +328 -0
  36. package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
  37. package/dist-lib/lib/floriday-mirror.functions.js +39 -10
  38. package/dist-lib/lib/floriday-public.functions.d.ts +2395 -99
  39. package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
  40. package/dist-lib/lib/floriday-writes.functions.d.ts +1640 -0
  41. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  42. package/dist-lib/lib/invoice-timing.functions.d.ts +1312 -0
  43. package/dist-lib/lib/invoice-timing.functions.d.ts.map +1 -1
  44. package/dist-lib/lib/load-carriers.functions.d.ts +328 -0
  45. package/dist-lib/lib/load-carriers.functions.d.ts.map +1 -1
  46. package/dist-lib/lib/logistics-engine.functions.d.ts +1640 -0
  47. package/dist-lib/lib/logistics-engine.functions.d.ts.map +1 -1
  48. package/dist-lib/lib/logistics-stock.functions.d.ts +656 -0
  49. package/dist-lib/lib/logistics-stock.functions.d.ts.map +1 -1
  50. package/dist-lib/lib/order-addresses.functions.d.ts +328 -0
  51. package/dist-lib/lib/order-addresses.functions.d.ts.map +1 -1
  52. package/dist-lib/lib/order-buffers.functions.d.ts +984 -0
  53. package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
  54. package/dist-lib/lib/order-carrier.functions.d.ts +656 -0
  55. package/dist-lib/lib/order-carrier.functions.d.ts.map +1 -1
  56. package/dist-lib/lib/order-pickup.functions.d.ts +656 -0
  57. package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
  58. package/dist-lib/lib/order-shipments.functions.d.ts +1312 -0
  59. package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
  60. package/dist-lib/lib/salesorders-list.functions.d.ts +328 -0
  61. package/dist-lib/lib/salesorders-list.functions.d.ts.map +1 -1
  62. package/dist-lib/lib/salesorders.functions.d.ts +1640 -0
  63. package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
  64. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +45850 -0
  65. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts.map +1 -0
  66. package/dist-lib/lib/stock-consumption-alerts.functions.js +50 -0
  67. package/dist-lib/lib/tradeitems.functions.d.ts +328 -0
  68. package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
  69. package/package.json +2 -1
@@ -0,0 +1,92 @@
1
+ // This file is automatically generated. Do not edit it directly.
2
+ // On a Lovable preview surface, broker the auth session to the editor over
3
+ // postMessage so the project's preview surfaces share one login; else localStorage.
4
+ export function brokeredPreviewStorage() {
5
+ if (typeof window === 'undefined')
6
+ return undefined;
7
+ const host = location.hostname;
8
+ const PREVIEW_ZONES = ['lovableproject.com', 'lovableproject-dev.com', 'lovable.app', 'gpt-eng.com', 'gptengineer.run'];
9
+ const onPreviewZone = PREVIEW_ZONES.some((z) => host === z || host.endsWith('.' + z));
10
+ // Read the id only from non-user-controlled host positions, so a user-named
11
+ // preview--<name> host can't smuggle another project's id.
12
+ const UUID = '[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}';
13
+ const projectId = onPreviewZone
14
+ ? (host.match(new RegExp('^(?:id-preview(?:-[a-z0-9]+)?|project)--(' + UUID + ')(?:-dev)?(?=\\.|$)', 'i'))?.[1]
15
+ ?? host.match(new RegExp('^(' + UUID + ')(?=[.-])', 'i'))?.[1])
16
+ : undefined;
17
+ const framed = window.parent && window.parent !== window;
18
+ if (!projectId || !framed)
19
+ return localStorage;
20
+ // Post only to the real editor ancestor, validated as a Lovable origin, so the
21
+ // session token can never reach an untrusted embedder.
22
+ const dev = host.endsWith('.lovableproject-dev.com') || host.endsWith('.gpt-eng.com');
23
+ const EDITOR = dev
24
+ ? /^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/
25
+ : /^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/;
26
+ const ancestor = (location.ancestorOrigins && location.ancestorOrigins[0]) || (document.referrer ? new URL(document.referrer).origin : '');
27
+ const editorOrigins = ancestor && EDITOR.test(ancestor)
28
+ ? [ancestor]
29
+ : (dev ? ['https://lovable.dev', 'http://localhost:3000'] : ['https://lovable.dev']);
30
+ const RESULT = 'lovable-preview-auth:result';
31
+ const TIMEOUT = 2000;
32
+ const newId = () => Math.random().toString(36).slice(2) + Date.now().toString(36);
33
+ const request = (type, key, value) => new Promise((resolve) => {
34
+ const requestId = newId();
35
+ let done = false;
36
+ let timer;
37
+ const finish = (r) => {
38
+ if (done)
39
+ return;
40
+ done = true;
41
+ clearTimeout(timer);
42
+ window.removeEventListener('message', onMessage);
43
+ resolve(r);
44
+ };
45
+ const onMessage = (e) => {
46
+ if (editorOrigins.indexOf(e.origin) < 0)
47
+ return;
48
+ const d = e.data;
49
+ if (d && d.type === RESULT && d.requestId === requestId)
50
+ finish(d);
51
+ };
52
+ window.addEventListener('message', onMessage);
53
+ const msg = { type, requestId, projectId, key };
54
+ if (value !== undefined)
55
+ msg['value'] = value;
56
+ // targetOrigin per trusted editor origin, so a session token never reaches an arbitrary embedder.
57
+ for (const origin of editorOrigins)
58
+ window.parent.postMessage(msg, origin);
59
+ timer = setTimeout(() => finish(null), TIMEOUT);
60
+ });
61
+ // The editor may not be listening yet at the first getItem, so retry once.
62
+ let firstGet = true;
63
+ const RETRY_DELAY = 250;
64
+ return {
65
+ getItem: async (key) => {
66
+ let res = await request('lovable-preview-auth:get', key);
67
+ if (!res && firstGet) {
68
+ await new Promise((r) => setTimeout(r, RETRY_DELAY));
69
+ res = await request('lovable-preview-auth:get', key);
70
+ }
71
+ firstGet = false;
72
+ // '' is the logout tombstone: clear the local copy too so it can't resurrect if
73
+ // the broker later goes silent. A null reply means never-synced -> keep local.
74
+ if (res && res.ok && typeof res.value === 'string') {
75
+ if (res.value === '') {
76
+ localStorage.removeItem(key);
77
+ return null;
78
+ }
79
+ return res.value;
80
+ }
81
+ return localStorage.getItem(key);
82
+ },
83
+ setItem: (key, value) => {
84
+ localStorage.setItem(key, value);
85
+ return request('lovable-preview-auth:set', key, value).then(() => undefined);
86
+ },
87
+ removeItem: (key) => {
88
+ localStorage.removeItem(key);
89
+ return request('lovable-preview-auth:remove', key).then(() => undefined);
90
+ },
91
+ };
92
+ }
@@ -692,6 +692,99 @@ export type Database = {
692
692
  };
693
693
  Relationships: [];
694
694
  };
695
+ artikelen_cache: {
696
+ Row: {
697
+ artikelcode: string;
698
+ bron: string;
699
+ bruto_prijs_cent: number | null;
700
+ created_at: string;
701
+ eenheid: string;
702
+ fabrikant: string | null;
703
+ fetched_at: string;
704
+ gtin: string | null;
705
+ id: string;
706
+ naam: string;
707
+ netto_prijs_cent: number | null;
708
+ omschrijving: string | null;
709
+ raw: Json;
710
+ updated_at: string;
711
+ valuta: string;
712
+ };
713
+ Insert: {
714
+ artikelcode: string;
715
+ bron?: string;
716
+ bruto_prijs_cent?: number | null;
717
+ created_at?: string;
718
+ eenheid?: string;
719
+ fabrikant?: string | null;
720
+ fetched_at?: string;
721
+ gtin?: string | null;
722
+ id?: string;
723
+ naam: string;
724
+ netto_prijs_cent?: number | null;
725
+ omschrijving?: string | null;
726
+ raw?: Json;
727
+ updated_at?: string;
728
+ valuta?: string;
729
+ };
730
+ Update: {
731
+ artikelcode?: string;
732
+ bron?: string;
733
+ bruto_prijs_cent?: number | null;
734
+ created_at?: string;
735
+ eenheid?: string;
736
+ fabrikant?: string | null;
737
+ fetched_at?: string;
738
+ gtin?: string | null;
739
+ id?: string;
740
+ naam?: string;
741
+ netto_prijs_cent?: number | null;
742
+ omschrijving?: string | null;
743
+ raw?: Json;
744
+ updated_at?: string;
745
+ valuta?: string;
746
+ };
747
+ Relationships: [];
748
+ };
749
+ artikelen_veldconfig: {
750
+ Row: {
751
+ bron_pad: string;
752
+ created_at: string;
753
+ id: string;
754
+ label: string;
755
+ sort_order: number;
756
+ type: string;
757
+ updated_at: string;
758
+ veld_key: string;
759
+ zichtbaar_in_detail: boolean;
760
+ zichtbaar_in_lijst: boolean;
761
+ };
762
+ Insert: {
763
+ bron_pad: string;
764
+ created_at?: string;
765
+ id?: string;
766
+ label: string;
767
+ sort_order?: number;
768
+ type?: string;
769
+ updated_at?: string;
770
+ veld_key: string;
771
+ zichtbaar_in_detail?: boolean;
772
+ zichtbaar_in_lijst?: boolean;
773
+ };
774
+ Update: {
775
+ bron_pad?: string;
776
+ created_at?: string;
777
+ id?: string;
778
+ label?: string;
779
+ sort_order?: number;
780
+ type?: string;
781
+ updated_at?: string;
782
+ veld_key?: string;
783
+ zichtbaar_in_detail?: boolean;
784
+ zichtbaar_in_lijst?: boolean;
785
+ };
786
+ Relationships: [];
787
+ };
695
788
  booking_items: {
696
789
  Row: {
697
790
  booking_id: string;
@@ -3220,6 +3313,51 @@ export type Database = {
3220
3313
  };
3221
3314
  Relationships: [];
3222
3315
  };
3316
+ document_printplek_printers: {
3317
+ Row: {
3318
+ created_at: string;
3319
+ documenttype: string;
3320
+ id: string;
3321
+ papierformaat: string | null;
3322
+ print_plek_id: string;
3323
+ printer_id: string | null;
3324
+ updated_at: string;
3325
+ };
3326
+ Insert: {
3327
+ created_at?: string;
3328
+ documenttype: string;
3329
+ id?: string;
3330
+ papierformaat?: string | null;
3331
+ print_plek_id: string;
3332
+ printer_id?: string | null;
3333
+ updated_at?: string;
3334
+ };
3335
+ Update: {
3336
+ created_at?: string;
3337
+ documenttype?: string;
3338
+ id?: string;
3339
+ papierformaat?: string | null;
3340
+ print_plek_id?: string;
3341
+ printer_id?: string | null;
3342
+ updated_at?: string;
3343
+ };
3344
+ Relationships: [
3345
+ {
3346
+ foreignKeyName: "document_printplek_printers_print_plek_id_fkey";
3347
+ columns: ["print_plek_id"];
3348
+ isOneToOne: false;
3349
+ referencedRelation: "print_plekken";
3350
+ referencedColumns: ["id"];
3351
+ },
3352
+ {
3353
+ foreignKeyName: "document_printplek_printers_printer_id_fkey";
3354
+ columns: ["printer_id"];
3355
+ isOneToOne: false;
3356
+ referencedRelation: "printers";
3357
+ referencedColumns: ["id"];
3358
+ }
3359
+ ];
3360
+ };
3223
3361
  document_werkplek_printers: {
3224
3362
  Row: {
3225
3363
  created_at: string;
@@ -9379,6 +9517,7 @@ export type Database = {
9379
9517
  last_error_at: string | null;
9380
9518
  last_error_code: string | null;
9381
9519
  last_gateway_status: number | null;
9520
+ last_queued_at: string | null;
9382
9521
  last_response: Json | null;
9383
9522
  last_sent_hash: string | null;
9384
9523
  locked_by: string | null;
@@ -9402,6 +9541,7 @@ export type Database = {
9402
9541
  last_error_at?: string | null;
9403
9542
  last_error_code?: string | null;
9404
9543
  last_gateway_status?: number | null;
9544
+ last_queued_at?: string | null;
9405
9545
  last_response?: Json | null;
9406
9546
  last_sent_hash?: string | null;
9407
9547
  locked_by?: string | null;
@@ -9425,6 +9565,7 @@ export type Database = {
9425
9565
  last_error_at?: string | null;
9426
9566
  last_error_code?: string | null;
9427
9567
  last_gateway_status?: number | null;
9568
+ last_queued_at?: string | null;
9428
9569
  last_response?: Json | null;
9429
9570
  last_sent_hash?: string | null;
9430
9571
  locked_by?: string | null;
@@ -13722,6 +13863,103 @@ export type Database = {
13722
13863
  }
13723
13864
  ];
13724
13865
  };
13866
+ print_plek_computers: {
13867
+ Row: {
13868
+ computer_naam: string;
13869
+ created_at: string;
13870
+ id: string;
13871
+ print_plek_id: string;
13872
+ updated_at: string;
13873
+ };
13874
+ Insert: {
13875
+ computer_naam: string;
13876
+ created_at?: string;
13877
+ id?: string;
13878
+ print_plek_id: string;
13879
+ updated_at?: string;
13880
+ };
13881
+ Update: {
13882
+ computer_naam?: string;
13883
+ created_at?: string;
13884
+ id?: string;
13885
+ print_plek_id?: string;
13886
+ updated_at?: string;
13887
+ };
13888
+ Relationships: [
13889
+ {
13890
+ foreignKeyName: "print_plek_computers_print_plek_id_fkey";
13891
+ columns: ["print_plek_id"];
13892
+ isOneToOne: false;
13893
+ referencedRelation: "print_plekken";
13894
+ referencedColumns: ["id"];
13895
+ }
13896
+ ];
13897
+ };
13898
+ print_plek_koppelingen: {
13899
+ Row: {
13900
+ bron: string;
13901
+ bron_id: string;
13902
+ created_at: string;
13903
+ id: string;
13904
+ label: string | null;
13905
+ print_plek_id: string;
13906
+ updated_at: string;
13907
+ };
13908
+ Insert: {
13909
+ bron: string;
13910
+ bron_id: string;
13911
+ created_at?: string;
13912
+ id?: string;
13913
+ label?: string | null;
13914
+ print_plek_id: string;
13915
+ updated_at?: string;
13916
+ };
13917
+ Update: {
13918
+ bron?: string;
13919
+ bron_id?: string;
13920
+ created_at?: string;
13921
+ id?: string;
13922
+ label?: string | null;
13923
+ print_plek_id?: string;
13924
+ updated_at?: string;
13925
+ };
13926
+ Relationships: [
13927
+ {
13928
+ foreignKeyName: "print_plek_koppelingen_print_plek_id_fkey";
13929
+ columns: ["print_plek_id"];
13930
+ isOneToOne: false;
13931
+ referencedRelation: "print_plekken";
13932
+ referencedColumns: ["id"];
13933
+ }
13934
+ ];
13935
+ };
13936
+ print_plekken: {
13937
+ Row: {
13938
+ actief: boolean;
13939
+ created_at: string;
13940
+ id: string;
13941
+ naam: string;
13942
+ omschrijving: string | null;
13943
+ updated_at: string;
13944
+ };
13945
+ Insert: {
13946
+ actief?: boolean;
13947
+ created_at?: string;
13948
+ id?: string;
13949
+ naam: string;
13950
+ omschrijving?: string | null;
13951
+ updated_at?: string;
13952
+ };
13953
+ Update: {
13954
+ actief?: boolean;
13955
+ created_at?: string;
13956
+ id?: string;
13957
+ naam?: string;
13958
+ omschrijving?: string | null;
13959
+ updated_at?: string;
13960
+ };
13961
+ Relationships: [];
13962
+ };
13725
13963
  print_queue_runners: {
13726
13964
  Row: {
13727
13965
  actief: boolean;
@@ -15954,6 +16192,45 @@ export type Database = {
15954
16192
  };
15955
16193
  Relationships: [];
15956
16194
  };
16195
+ stock_consumption_alerts: {
16196
+ Row: {
16197
+ alert_type: string;
16198
+ created_at: string;
16199
+ id: string;
16200
+ mutation_log_id: string | null;
16201
+ order_id: string | null;
16202
+ order_item_id: string | null;
16203
+ qty: number;
16204
+ reason: string | null;
16205
+ resolved_at: string | null;
16206
+ updated_at: string;
16207
+ };
16208
+ Insert: {
16209
+ alert_type: string;
16210
+ created_at?: string;
16211
+ id?: string;
16212
+ mutation_log_id?: string | null;
16213
+ order_id?: string | null;
16214
+ order_item_id?: string | null;
16215
+ qty?: number;
16216
+ reason?: string | null;
16217
+ resolved_at?: string | null;
16218
+ updated_at?: string;
16219
+ };
16220
+ Update: {
16221
+ alert_type?: string;
16222
+ created_at?: string;
16223
+ id?: string;
16224
+ mutation_log_id?: string | null;
16225
+ order_id?: string | null;
16226
+ order_item_id?: string | null;
16227
+ qty?: number;
16228
+ reason?: string | null;
16229
+ resolved_at?: string | null;
16230
+ updated_at?: string;
16231
+ };
16232
+ Relationships: [];
16233
+ };
15957
16234
  stock_import_runs: {
15958
16235
  Row: {
15959
16236
  connection_id: string | null;
@@ -21636,6 +21913,24 @@ export type Database = {
21636
21913
  };
21637
21914
  Returns: string;
21638
21915
  };
21916
+ logistics_floriday_finish_push_v3: {
21917
+ Args: {
21918
+ _error?: string;
21919
+ _error_code?: string;
21920
+ _fulfillment_order_id?: string;
21921
+ _gateway_status?: number;
21922
+ _id: string;
21923
+ _max_age_hours?: number;
21924
+ _max_attempts?: number;
21925
+ _outcome: string;
21926
+ _permanent?: boolean;
21927
+ _response?: Json;
21928
+ _revision: number;
21929
+ _sent_hash?: string;
21930
+ _wait_max_age_hours?: number;
21931
+ };
21932
+ Returns: string;
21933
+ };
21639
21934
  logistics_floriday_prune_pushes: {
21640
21935
  Args: {
21641
21936
  _days?: number;
@@ -22064,6 +22359,12 @@ export type Database = {
22064
22359
  verwijderd: number;
22065
22360
  }[];
22066
22361
  };
22362
+ order_departure_proof: {
22363
+ Args: {
22364
+ p_order_id: string;
22365
+ };
22366
+ Returns: Json;
22367
+ };
22067
22368
  order_number_prefix: {
22068
22369
  Args: {
22069
22370
  p_custom_fields?: Json;
@@ -22271,6 +22572,14 @@ export type Database = {
22271
22572
  };
22272
22573
  Returns: Json;
22273
22574
  };
22575
+ pick_print_plekken: {
22576
+ Args: never;
22577
+ Returns: {
22578
+ id: string;
22579
+ naam: string;
22580
+ omschrijving: string;
22581
+ }[];
22582
+ };
22274
22583
  pick_release_expired_locks: {
22275
22584
  Args: never;
22276
22585
  Returns: number;
@@ -22335,6 +22644,13 @@ export type Database = {
22335
22644
  isSetofReturn: false;
22336
22645
  };
22337
22646
  };
22647
+ pick_set_station_print_plek: {
22648
+ Args: {
22649
+ _print_plek_id: string;
22650
+ _station_id: string;
22651
+ };
22652
+ Returns: string;
22653
+ };
22338
22654
  pick_station_dashboard: {
22339
22655
  Args: never;
22340
22656
  Returns: {
@@ -22347,6 +22663,25 @@ export type Database = {
22347
22663
  waiting: number;
22348
22664
  }[];
22349
22665
  };
22666
+ pick_station_print_plek: {
22667
+ Args: {
22668
+ _station_id: string;
22669
+ };
22670
+ Returns: {
22671
+ naam: string;
22672
+ omschrijving: string;
22673
+ print_plek_id: string;
22674
+ }[];
22675
+ };
22676
+ pick_station_print_plekken: {
22677
+ Args: never;
22678
+ Returns: {
22679
+ naam: string;
22680
+ omschrijving: string;
22681
+ print_plek_id: string;
22682
+ station_id: string;
22683
+ }[];
22684
+ };
22350
22685
  pick_station_slugify: {
22351
22686
  Args: {
22352
22687
  _id: string;