@wisemen/wise-crm-web 1.0.0 → 1.2.0

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 (97) hide show
  1. package/dist/ActivityIcon-DNdtN-M_.js +19 -0
  2. package/dist/AppSkeletonLoader-Dq6pKznm.js +1112 -0
  3. package/dist/{AttachmentIcon-CsucE3yf.js → AttachmentIcon-BLUd7LaN.js} +9 -7
  4. package/dist/BoldIcon-WRYUWz15.js +16 -0
  5. package/dist/{BookIcon-DgT3flV5.js → BookIcon-Bb3r5y_J.js} +9 -7
  6. package/dist/{BuildingIcon-Bm18omgW.js → BuildingIcon-DFutRg8d.js} +9 -7
  7. package/dist/{BuildingsIcon-D4X7QciL.js → BuildingsIcon-BVHy6yoa.js} +9 -7
  8. package/dist/{BulletListIcon-CNCV-cOS.js → BulletListIcon-BhOXLSBa.js} +9 -7
  9. package/dist/BusinessDetailSidebarProvider-a6VeNUii.js +2946 -0
  10. package/dist/BusinessDetailView-Dz3wDSx5.js +24 -0
  11. package/dist/ChevronDownIcon-BmyTSPND.js +19 -0
  12. package/dist/ClockIcon-BYfZAvIE.js +23 -0
  13. package/dist/ClockPlusIcon-BcNi0Y9I.js +23 -0
  14. package/dist/{CopyIcon-CUomKXdn.js → CopyIcon-2eV8MRv_.js} +9 -7
  15. package/dist/CrmDetailHeaderCard-BkA0Z-Cu.js +2523 -0
  16. package/dist/CrmDetailView-BhZEQqUH.js +67 -0
  17. package/dist/DealCommunicationTabView-Drp9MEPu.js +140 -0
  18. package/dist/DealDetailView-DWLudchX.js +1049 -0
  19. package/dist/DealExternalAttachment-B6l0gDqF.js +179 -0
  20. package/dist/{DealIcon-CpO-DkyS.js → DealIcon-BwUWYDxo.js} +9 -7
  21. package/dist/DealSendMailDialog-Dqei4933.js +1566 -0
  22. package/dist/DownloadCloudIcon-BSrLGGrY.js +19 -0
  23. package/dist/{EditWithLineIcon-C0WMD50F.js → EditWithLineIcon-BKYDPJOY.js} +9 -7
  24. package/dist/{Error-X0deDY-N.js → Error-za-wClcU.js} +2591 -2462
  25. package/dist/{FileIcon-3FebXgYQ.js → FileIcon-DL1e1tAu.js} +9 -7
  26. package/dist/FilterLinesIcon-DgVMySAE.js +22 -0
  27. package/dist/H1Icon-B6NEsEbj.js +17 -0
  28. package/dist/{H2Icon-CuEmp9I0.js → H2Icon-CNof5Ohu.js} +9 -7
  29. package/dist/{H3Icon-wAPhdYIf.js → H3Icon-B2F2Tb6r.js} +9 -7
  30. package/dist/HashIcon-C_XttKfW.js +19 -0
  31. package/dist/HomeFilledIcon-DtZ2eXxt.js +16 -0
  32. package/dist/IndividualDetailSidebarProvider-jjRoK1Av.js +609 -0
  33. package/dist/IndividualDetailView-BqIRHn-0.js +24 -0
  34. package/dist/ItalicIcon-DqBns3yy.js +17 -0
  35. package/dist/{LayersTreeIcon-Ct-owndO.js → LayersTreeIcon-DZZCSCY9.js} +10 -8
  36. package/dist/{LinkBrokenIcon-CTlqmapl.js → LinkBrokenIcon-BNBpWSi7.js} +9 -7
  37. package/dist/{LinkExternalIcon-LOVtSqBT.js → LinkExternalIcon-B7SHeB1_.js} +9 -7
  38. package/dist/LinkIcon-8bCrZEv9.js +17 -0
  39. package/dist/{LocationPinIcon-Cp-wRgk2.js → LocationPinIcon-UySRqSfG.js} +9 -7
  40. package/dist/{MailIcon-CnTrB1k3.js → MailIcon-BT7gSIZb.js} +9 -7
  41. package/dist/{MobilePhoneIcon-B747hmpS.js → MobilePhoneIcon-_KQGnCSS.js} +9 -7
  42. package/dist/NumberedListIcon-B-JVTSAe.js +17 -0
  43. package/dist/{PhoneIcon-94MYVL85.js → PhoneIcon-DGGW_MNR.js} +9 -7
  44. package/dist/{RefreshIcon-DRe3coBc.js → RefreshIcon-D1QWfdPD.js} +9 -7
  45. package/dist/{SendIcon-MYItp1xI.js → SendIcon-BtJ-NCec.js} +9 -7
  46. package/dist/{SettingsIcon-C0qTAv0w.js → SettingsIcon-CWFwJelS.js} +10 -8
  47. package/dist/{StarOutlineIcon-CiFLgepk.js → StarOutlineIcon-C-ELTCDQ.js} +9 -7
  48. package/dist/{StarYellowIcon-C0v_XGwI.js → StarYellowIcon-7wuNWaQO.js} +9 -7
  49. package/dist/{ThreeDotsIcon-lujOTU3G.js → ThreeDotsIcon-C56RWk-0.js} +12 -10
  50. package/dist/TimeLineMarkerIcon-DLmPwfs6.js +18 -0
  51. package/dist/{TrashIcon-v4L9SEK_.js → TrashIcon-o4PWmcYe.js} +9 -7
  52. package/dist/UploadCloudIcon-D2tWB0NP.js +19 -0
  53. package/dist/{UserCircleIcon-BjUt_2C4.js → UserCircleIcon-DiDajcIH.js} +10 -8
  54. package/dist/UserIcon-Bv1eF7ln.js +22 -0
  55. package/dist/{VerticalDotsIcon-Y3m6tlQ2.js → VerticalDotsIcon-YcD73UqY.js} +9 -7
  56. package/dist/{WalletIcon-pPsKbzmh.js → WalletIcon-CUh92U5K.js} +9 -7
  57. package/dist/_plugin-vue_export-helper-D3hKq4w_.js +8 -0
  58. package/dist/client-9P6xe_5g.js +4188 -0
  59. package/dist/components/auto-focus/AutoFocus.vue.d.ts +13 -0
  60. package/dist/components/column-layout/ColumnLayout.vue.d.ts +1 -1
  61. package/dist/components/row-layout/RowLayout.vue.d.ts +1 -1
  62. package/dist/components/text/Text.vue.d.ts +1 -1
  63. package/dist/index.js +1881 -1693
  64. package/dist/style.css +2 -2
  65. package/dist/testing.js +102 -98
  66. package/dist/utils/color.util.d.ts +6 -0
  67. package/dist/{uuid.util-C1p-yuFc.js → uuid.util-DpiDKVoj.js} +4 -2
  68. package/package.json +30 -30
  69. package/dist/ActivityIcon-DFD9ZhO0.js +0 -17
  70. package/dist/AppSkeletonLoader-BAhoOmFD.js +0 -1106
  71. package/dist/BoldIcon-DY2FlAS0.js +0 -14
  72. package/dist/BusinessDetailSidebarProvider-Dm6Dd7Nq.js +0 -2899
  73. package/dist/BusinessDetailView-BHVUfCpV.js +0 -24
  74. package/dist/ChevronDownIcon-CfBAAAca.js +0 -17
  75. package/dist/ClockIcon-Ckr1IQBt.js +0 -21
  76. package/dist/ClockPlusIcon-CVN69pCS.js +0 -21
  77. package/dist/CrmDetailHeaderCard-CiVLyIuw.js +0 -2516
  78. package/dist/CrmDetailView-DaAuWeiB.js +0 -65
  79. package/dist/DealCommunicationTabView-xq_zOAsr.js +0 -137
  80. package/dist/DealDetailView-C54XpYN1.js +0 -1021
  81. package/dist/DealExternalAttachment-Dp44vkgt.js +0 -177
  82. package/dist/DealSendMailDialog-D11Tgd_A.js +0 -1552
  83. package/dist/DownloadCloudIcon-VMmB9vit.js +0 -17
  84. package/dist/FilterLinesIcon-DHpRPKJB.js +0 -20
  85. package/dist/H1Icon-CPVGTTtl.js +0 -15
  86. package/dist/HashIcon-C2kfHjTC.js +0 -17
  87. package/dist/HomeFilledIcon-CxIazF0B.js +0 -14
  88. package/dist/IndividualDetailSidebarProvider-BvjhFng9.js +0 -608
  89. package/dist/IndividualDetailView-Cq8iAwQv.js +0 -24
  90. package/dist/ItalicIcon-DfV3EOdk.js +0 -15
  91. package/dist/LinkIcon-DqBbVrvs.js +0 -15
  92. package/dist/NumberedListIcon-amJxDaaD.js +0 -15
  93. package/dist/TimeLineMarkerIcon-C4LfErbc.js +0 -16
  94. package/dist/UploadCloudIcon-j1-1Rvqb.js +0 -17
  95. package/dist/UserIcon-Cb2jFKLr.js +0 -20
  96. package/dist/_plugin-vue_export-helper-BSi1g3Lh.js +0 -6
  97. package/dist/client-S6BLV3Ct.js +0 -4191
@@ -0,0 +1,2946 @@
1
+ import { $ as e, A as t, B as n, D as r, E as i, F as a, G as o, H as s, I as c, K as l, L as u, M as d, O as f, P as p, Q as m, R as h, S as ee, T as te, U as g, V as _, W as ne, Y as v, _ as re, a as ie, at as ae, c as oe, ct as se, et as ce, g as le, h as ue, i as de, it as fe, k as pe, l as y, lt as me, m as he, n as ge, o as _e, ot as b, r as ve, rt as x, s as ye, st as be, t as xe, x as Se, y as Ce, z as we } from "./Error-za-wClcU.js";
2
+ import { a as Te, c as Ee, i as De, l as Oe, n as ke, o as Ae, r as je, s as Me, t as Ne, u as Pe } from "./CrmDetailHeaderCard-BkA0Z-Cu.js";
3
+ import { c as Fe, i as Ie, l as Le, n as Re, s as S, t as ze, u as C } from "./AppSkeletonLoader-Dq6pKznm.js";
4
+ import { B as Be, F as Ve, I as He, L as Ue, M as We, P as Ge, R as Ke, T as qe, d as Je, dt as Ye, g as Xe, mt as w, n as Ze, u as Qe, w as $e, x as et } from "./client-9P6xe_5g.js";
5
+ import * as T from "zod";
6
+ import tt, { z as E } from "zod";
7
+ import { Fragment as D, computed as O, createBlock as k, createCommentVNode as A, createElementBlock as j, createElementVNode as M, createTextVNode as N, createVNode as P, defineComponent as F, inject as nt, mergeModels as rt, mergeProps as I, normalizeClass as L, openBlock as R, provide as it, ref as z, renderList as B, renderSlot as at, resolveDynamicComponent as ot, toDisplayString as V, unref as H, useId as st, useModel as ct, withCtx as U, withModifiers as lt } from "vue";
8
+ import { useI18n as W } from "vue-i18n";
9
+ import { PaginationParamsBuilder as ut, VcAddressAutocomplete as dt, VcAutocomplete as ft, VcButton as G, VcCheckbox as pt, VcDateField as mt, VcDialog as ht, VcDialogCloseButton as gt, VcIcon as _t, VcIconButton as vt, VcNumberField as yt, VcPhoneNumberField as bt, VcPopover as xt, VcRadioGroup as St, VcRadioGroupItem as Ct, VcSelect as wt, VcSelectItem as Tt, VcTextField as K, useDialog as q, usePagination as Et } from "@wisemen/vue-core-components";
10
+ import { useDebounceFn as Dt } from "@vueuse/core";
11
+ import { useMutation as Ot, useQueryClient as kt } from "@tanstack/vue-query";
12
+ import { useForm as At } from "formango";
13
+ import { Motion as jt } from "motion-v";
14
+ import { VisuallyHidden as Mt } from "reka-ui";
15
+ //#region src/models/business/businessUuid.model.ts
16
+ var J = E.string().uuid().brand("BusinessUuid"), Nt = class {
17
+ static fromDto(e) {
18
+ return {
19
+ uuid: e.uuid,
20
+ billingLocation: e.billingLocation ? {
21
+ uuid: e.billingLocation.uuid,
22
+ createdAt: S.fromDto(e.billingLocation.createdAt),
23
+ updatedAt: S.fromDto(e.billingLocation.updatedAt),
24
+ address: b.fromDto(e.billingLocation.address)
25
+ } : null,
26
+ invoiceCcEmails: e.invoiceCcEmails,
27
+ invoiceEmail: e.invoiceEmail,
28
+ purchaseNoteCcEmails: e.purchaseNoteCcEmails,
29
+ purchaseNoteEmail: e.purchaseNoteEmail,
30
+ reminderCcEmails: e.reminderCcEmails,
31
+ reminderEmail: e.reminderEmail
32
+ };
33
+ }
34
+ static fromNullableDto(e) {
35
+ return e === null ? null : this.fromDto(e);
36
+ }
37
+ }, Pt = class {
38
+ static toDto(e) {
39
+ return {
40
+ billingAddress: e.billingAddress ? b.toDto(e.billingAddress) : null,
41
+ invoiceCcEmails: e.invoiceCcEmails ?? [],
42
+ invoiceEmail: e.invoiceEmail,
43
+ purchaseNoteCcEmails: e.purchaseNoteCcEmails ?? e.invoiceCcEmails ?? [],
44
+ purchaseNoteEmail: e.purchaseNoteEmail ?? e.invoiceEmail,
45
+ reminderCcEmails: e.reminderCcEmails ?? e.invoiceCcEmails ?? [],
46
+ reminderEmail: e.reminderEmail ?? e.invoiceEmail
47
+ };
48
+ }
49
+ }, Ft = class {
50
+ static fromDto(e) {
51
+ return {
52
+ businessUuid: e.businessUuid,
53
+ contactPersonUuid: e.contactPersonUuid,
54
+ isPrimary: e.isPrimary,
55
+ email: e.email,
56
+ firstName: e.firstName,
57
+ lastName: e.lastName,
58
+ mobilePhone: e.mobilePhone,
59
+ phone: e.phone,
60
+ position: e.position
61
+ };
62
+ }
63
+ }, It = class {
64
+ static fromDto(e) {
65
+ return {
66
+ countryCode: e.countryCode,
67
+ number: e.number
68
+ };
69
+ }
70
+ static fromNullableDto(e) {
71
+ return e === null ? null : this.fromDto(e);
72
+ }
73
+ static toDto(e) {
74
+ return e === null ? null : {
75
+ countryCode: e.countryCode,
76
+ number: e.number
77
+ };
78
+ }
79
+ static toNullableDto(e) {
80
+ return e === null ? null : this.toDto(e);
81
+ }
82
+ }, Lt = class {
83
+ static toDto(e) {
84
+ return {
85
+ childUuid: e.childUuid,
86
+ individualUuid: e.individualUuid,
87
+ parentUuid: e.parentUuid,
88
+ name: e.name,
89
+ address: b.toDto(e.address),
90
+ companyNumber: e.companyNumber,
91
+ customFields: e.customFields,
92
+ individual: e.individual ? {
93
+ email: e.individual.email,
94
+ firstName: e.individual.firstName,
95
+ lastName: e.individual.lastName,
96
+ mobilePhone: e.individual.mobilePhone,
97
+ phone: e.individual.phone
98
+ } : null,
99
+ individualPosition: null,
100
+ vatNumber: It.toNullableDto(e.vatNumber)
101
+ };
102
+ }
103
+ }, Rt = class {
104
+ static fromDto(e) {
105
+ return {
106
+ uuid: e.uuid,
107
+ createdAt: S.fromDto(e.createdAt),
108
+ name: e.name,
109
+ address: b.fromNullableDto(e.location?.address ?? null),
110
+ companyNumber: e.companyNumber,
111
+ email: e.email,
112
+ mobilePhone: e.mobilePhone,
113
+ phone: e.phone,
114
+ vatNumber: e.vatNumber?.number ?? null
115
+ };
116
+ }
117
+ }, zt = class {
118
+ static fromDto(e) {
119
+ return {
120
+ uuid: e.uuid,
121
+ createdAt: S.fromDto(e.createdAt),
122
+ updatedAt: S.fromDto(e.updatedAt),
123
+ name: e.name,
124
+ address: b.fromNullableDto(e.location?.address ?? null),
125
+ billingInformation: e.billingInformation === null ? null : {
126
+ uuid: e.billingInformation.uuid,
127
+ invoiceCcEmails: e.billingInformation.invoiceCcEmails ?? [],
128
+ invoiceEmail: e.billingInformation.invoiceEmail ?? "",
129
+ location: e.billingInformation.location ? {
130
+ uuid: e.billingInformation.location.uuid,
131
+ createdAt: S.fromDto(e.billingInformation.location.createdAt),
132
+ updatedAt: S.fromDto(e.billingInformation.location.updatedAt),
133
+ address: b.fromDto(e.billingInformation.location.address)
134
+ } : null,
135
+ purchaseNoteCcEmails: e.billingInformation.purchaseNoteCcEmails ?? [],
136
+ purchaseNoteEmail: e.billingInformation.purchaseNoteEmail ?? "",
137
+ reminderCcEmails: e.billingInformation.reminderCcEmails ?? [],
138
+ reminderEmail: e.billingInformation.reminderEmail ?? ""
139
+ },
140
+ companyNumber: e.companyNumber,
141
+ contactPersons: e.contactPersons.map((e) => ({
142
+ uuid: e.uuid,
143
+ isPrimary: e.isPrimary,
144
+ email: e.email,
145
+ firstName: e.firstName,
146
+ lastName: e.lastName,
147
+ mobilePhone: e.mobilePhone,
148
+ phone: e.phone,
149
+ position: e.position
150
+ })),
151
+ customFields: e.customFields,
152
+ email: e.email,
153
+ language: e.language,
154
+ location: e.location === null ? null : {
155
+ uuid: e.location.uuid,
156
+ createdAt: S.fromDto(e.location.createdAt),
157
+ updatedAt: S.fromDto(e.location.updatedAt),
158
+ address: b.fromDto(e.location.address)
159
+ },
160
+ mobilePhone: e.mobilePhone,
161
+ parent: e.parent ? Rt.fromDto(e.parent) : null,
162
+ phone: e.phone,
163
+ vatNumber: It.fromNullableDto(e.vatNumber),
164
+ children: e.children.map(Rt.fromDto)
165
+ };
166
+ }
167
+ }, Bt = class {
168
+ static fromDto(e) {
169
+ return {
170
+ uuid: e.uuid,
171
+ name: e.name,
172
+ companyNumber: e.companyNumber,
173
+ email: e.email,
174
+ mobilePhone: e.mobilePhone,
175
+ phone: e.phone,
176
+ vatNumber: It.fromNullableDto(e.vatNumber)
177
+ };
178
+ }
179
+ }, Vt = class {
180
+ static toDto(e) {
181
+ return {
182
+ pagination: e.pagination,
183
+ search: e.search?.trim() || void 0
184
+ };
185
+ }
186
+ }, Ht = class {
187
+ static fromDto(e) {
188
+ return {
189
+ monthlyAdded: e.monthlyAdded,
190
+ monthlyPercentageGrowth: e.monthlyPercentageGrowth,
191
+ total: e.total
192
+ };
193
+ }
194
+ }, Ut = class {
195
+ static toDto(e) {
196
+ return {
197
+ name: e.name,
198
+ address: b.toDto(e.address),
199
+ companyNumber: e.companyNumber,
200
+ customFields: e.customFields,
201
+ email: e.email,
202
+ language: e.language,
203
+ mobilePhone: e.mobilePhone,
204
+ phone: e.phone,
205
+ vatNumber: It.toNullableDto(e.vatNumber)
206
+ };
207
+ }
208
+ }, Y = class {
209
+ static async addChildBusiness(e, t) {
210
+ await Qe({ path: {
211
+ businessUuid: e,
212
+ childUuid: t
213
+ } });
214
+ }
215
+ static async create(e) {
216
+ return (await Ze({ body: Lt.toDto(e) })).data.uuid;
217
+ }
218
+ static async findByName(e) {
219
+ let t = await Ke({ query: new ut().withSearch(e).build() });
220
+ return {
221
+ data: t.data.items.map(Bt.fromDto),
222
+ meta: t.data.meta
223
+ };
224
+ }
225
+ static async getActivity(e, t) {
226
+ let n = await Ge({
227
+ query: new ut(t).buildKeyset(be.toDto),
228
+ responseValidator: void 0,
229
+ path: { businessUuid: e }
230
+ });
231
+ return {
232
+ data: n.data.items.map(se.fromDto),
233
+ meta: {
234
+ next: n.data.meta.next,
235
+ total: n.data.items.length
236
+ }
237
+ };
238
+ }
239
+ static async getAll(e) {
240
+ let t = await Ke({ query: Vt.toDto(e) });
241
+ return {
242
+ data: t.data.items.map(Bt.fromDto),
243
+ meta: t.data.meta
244
+ };
245
+ }
246
+ static async getBillingInformation(e) {
247
+ let t = await Ve({ path: { businessUuid: e } });
248
+ return Nt.fromDto(t.data);
249
+ }
250
+ static async getByUuid(e) {
251
+ let t = await Ue({ path: { businessUuid: e } });
252
+ return zt.fromDto(t.data);
253
+ }
254
+ static async getContactPerson(e, t) {
255
+ let n = await He({ path: {
256
+ businessUuid: e,
257
+ contactPersonUuid: t
258
+ } });
259
+ return Ft.fromDto(n.data);
260
+ }
261
+ static async getStatistics() {
262
+ let e = await Be();
263
+ return Ht.fromDto(e.data);
264
+ }
265
+ static async linkContactPerson(e, t, n, r) {
266
+ await Je({
267
+ body: {
268
+ contactPersonUuid: t,
269
+ email: ae.trimOrNull(r.email),
270
+ mobilePhone: r.mobilePhone,
271
+ phone: r.phone,
272
+ position: n
273
+ },
274
+ responseValidator: void 0,
275
+ path: { businessUuid: e }
276
+ });
277
+ }
278
+ static async setPrimaryContactPersonForBusiness(e, t) {
279
+ await Xe({ path: {
280
+ businessUuid: e,
281
+ contactPersonUuid: t
282
+ } });
283
+ }
284
+ static async unlinkContactPerson(e, t) {
285
+ await et({
286
+ body: { contactPersonUuid: t },
287
+ responseValidator: void 0,
288
+ path: { businessUuid: e }
289
+ });
290
+ }
291
+ static async update(e, t) {
292
+ await qe({
293
+ body: Ut.toDto(t),
294
+ path: { businessUuid: e }
295
+ });
296
+ }
297
+ static async updateContactPerson(e, t, n) {
298
+ await $e({
299
+ body: fe.toDto(n),
300
+ path: {
301
+ businessUuid: e,
302
+ contactPersonUuid: t
303
+ }
304
+ });
305
+ }
306
+ static async upsertBillingInformation(e, t) {
307
+ await We({
308
+ body: Pt.toDto(t),
309
+ path: { businessUuid: e }
310
+ });
311
+ }
312
+ };
313
+ //#endregion
314
+ //#region src/api/queries/business/businessDetail.query.ts
315
+ function Wt(e) {
316
+ return Le({
317
+ isEnabled: O(() => e.value !== null),
318
+ queryFn: async () => (Pe(e.value !== null, "businessUuid is null"), await Y.getByUuid(e.value)),
319
+ queryKey: { wiseCrmBusinessDetail: { businessUuid: e } }
320
+ });
321
+ }
322
+ //#endregion
323
+ //#region src/api/queries/business/businessActivityIndex.query.ts
324
+ function Gt(e, t) {
325
+ return Fe({
326
+ paginationOptions: t,
327
+ queryFn: async (t) => await Y.getActivity(e.value, t),
328
+ queryKey: { businessActivityIndex: { paginationOptions: t } }
329
+ });
330
+ }
331
+ //#endregion
332
+ //#region src/business/sidebar/BusinessDetailSidebarActivityContent.vue
333
+ var Kt = /* @__PURE__ */ F({
334
+ __name: "BusinessDetailSidebarActivityContent",
335
+ props: { business: {} },
336
+ setup(e) {
337
+ let t = e, n = Et({
338
+ isRouteQueryEnabled: !1,
339
+ type: "keyset"
340
+ }), r = Gt(O(() => t.business.uuid), n.paginationOptions), i = O(() => r.data.value.data ?? []);
341
+ async function a() {
342
+ await r.getNextPage();
343
+ }
344
+ return (e, t) => (R(), k(Oe, {
345
+ "on-next": a,
346
+ "is-loading": H(r).isLoading.value,
347
+ activities: i.value
348
+ }, null, 8, ["is-loading", "activities"]));
349
+ }
350
+ });
351
+ //#endregion
352
+ //#region src/api/mutations/noteBusinessCreate.mutation.ts
353
+ function qt() {
354
+ return C({
355
+ queryFn: async ({ body: e, params: t }) => await ce.create(e, { businessUuid: t.businessUuid }),
356
+ queryKeysToInvalidate: { noteBusinessIndex: {} }
357
+ });
358
+ }
359
+ //#endregion
360
+ //#region src/api/queries/noteBusinessIndex.query.ts
361
+ function Jt(e, t) {
362
+ return m({
363
+ queryFn: (t) => ce.getBusinessNotes({ pagination: t }, e.value),
364
+ queryKey: { noteBusinessIndex: { params: t?.params } }
365
+ });
366
+ }
367
+ //#endregion
368
+ //#region src/business/sidebar/BusinessDetailSidebarNotesContent.vue
369
+ var Yt = /* @__PURE__ */ F({
370
+ __name: "BusinessDetailSidebarNotesContent",
371
+ props: { business: {} },
372
+ setup(t) {
373
+ let r = t, i = q(h), a = v(), o = qt(), s = e(), c = Jt(O(() => r.business.uuid)), l = O(() => c.data?.value?.data ?? []);
374
+ async function u(e) {
375
+ await o.execute({
376
+ body: e,
377
+ params: { businessUuid: r.business.uuid }
378
+ });
379
+ }
380
+ async function d(e) {
381
+ try {
382
+ await s.execute({ params: { noteUuid: e } });
383
+ } catch (e) {
384
+ a.show(e);
385
+ }
386
+ }
387
+ function f(e) {
388
+ i.open({ note: e });
389
+ }
390
+ return (e, t) => (R(), k(n, {
391
+ "is-loading": H(c).isLoading.value,
392
+ notes: l.value,
393
+ "on-submit": u,
394
+ "has-next-page": H(c).hasNextPage.value,
395
+ onNext: t[0] ||= (e) => H(c).fetchNextPage(),
396
+ onDelete: d,
397
+ onUpdate: f
398
+ }, null, 8, [
399
+ "is-loading",
400
+ "notes",
401
+ "has-next-page"
402
+ ]));
403
+ }
404
+ });
405
+ //#endregion
406
+ //#region src/api/mutations/business/businessPrimaryContactPersonUpdate.mutation.ts
407
+ function Xt() {
408
+ let e = kt(), t = "wiseCrmBusinessDetail", n = Ot({
409
+ mutationFn: async (e) => {
410
+ await Y.setPrimaryContactPersonForBusiness(e.businessUuid, e.contactPersonUuid);
411
+ },
412
+ onError: (n, r, i) => {
413
+ e.setQueryData([t, { businessUuid: r.businessUuid }], i?.previousData);
414
+ },
415
+ onMutate: async (n) => {
416
+ await e.cancelQueries({ queryKey: [t] });
417
+ let r = e.getQueryData([t, { businessUuid: n.businessUuid }]);
418
+ return r === void 0 ? {} : (e.setQueryData([t, { businessUuid: n.businessUuid }], {
419
+ ...r,
420
+ contactPersons: r.contactPersons.map((e) => e.uuid === n.contactPersonUuid ? {
421
+ ...e,
422
+ isPrimary: !e.isPrimary
423
+ } : {
424
+ ...e,
425
+ isPrimary: !1
426
+ })
427
+ }), { previousData: r });
428
+ },
429
+ onSettled: (n, r, i) => {
430
+ e.invalidateQueries({ queryKey: [t, { businessUuid: i.businessUuid }] });
431
+ }
432
+ });
433
+ return {
434
+ isLoading: O(() => n.isPending.value),
435
+ data: O(() => n.data.value),
436
+ execute: async (e) => await n.mutateAsync(e.params)
437
+ };
438
+ }
439
+ //#endregion
440
+ //#region src/api/mutations/business/businessUnlinkContactPerson.mutation.ts
441
+ function Zt() {
442
+ return C({
443
+ queryFn: async ({ body: e, params: t }) => await Y.unlinkContactPerson(t.businessUuid, e.contactPersonUuid),
444
+ queryKeysToInvalidate: {
445
+ businessIndex: {},
446
+ wiseCrmBusinessDetail: { businessUuid: (e) => e.businessUuid }
447
+ }
448
+ });
449
+ }
450
+ //#endregion
451
+ //#region src/api/mutations/business/businessAddChildBusiness.mutation.ts
452
+ function Qt() {
453
+ return C({
454
+ queryFn: async ({ params: e }) => await Y.addChildBusiness(e.parentUuid, e.childUuid),
455
+ queryKeysToInvalidate: {
456
+ businessIndex: {},
457
+ wiseCrmBusinessDetail: { businessUuid: (e) => e.parentUuid }
458
+ }
459
+ });
460
+ }
461
+ //#endregion
462
+ //#region src/api/mutations/business/businessCreate.mutation.ts
463
+ function $t() {
464
+ return C({
465
+ queryFn: async ({ body: e }) => await Y.create(e),
466
+ queryKeysToInvalidate: { businessIndex: {} }
467
+ });
468
+ }
469
+ //#endregion
470
+ //#region src/api/queries/business/businessIndex.query.ts
471
+ function en(e, t) {
472
+ return u({
473
+ isEnabled: O(() => t?.value ?? !0),
474
+ queryFn: (t) => Y.getAll({
475
+ pagination: t,
476
+ search: e?.params?.search?.value
477
+ }),
478
+ queryKey: { businessIndex: { queryParams: e?.params } }
479
+ });
480
+ }
481
+ //#endregion
482
+ //#region src/business/content/BusinessAddExistingChildForm.vue
483
+ var tn = /* @__PURE__ */ F({
484
+ __name: "BusinessAddExistingChildForm",
485
+ props: {
486
+ parentBusinessUuid: {},
487
+ onSubmit: { type: Function }
488
+ },
489
+ emits: ["createNew"],
490
+ setup(e, { emit: t }) {
491
+ let n = e, r = t, i = W(), o = d({ persistInUrl: !1 }), l = en({ params: { search: o.debouncedSearch } }), u = At({
492
+ initialState: { business: null },
493
+ schema: E.object({ business: E.object({
494
+ uuid: J,
495
+ name: E.string()
496
+ }) }),
497
+ onSubmit: async (e) => {
498
+ await n.onSubmit(e.business.uuid);
499
+ }
500
+ }), f = u.register("business"), m = O(() => (l.data.value?.data.filter((e) => e.uuid !== n.parentBusinessUuid) ?? []).map((e) => ({
501
+ uuid: e.uuid,
502
+ name: e.name
503
+ })));
504
+ function h(e) {
505
+ o.updateSearch(e);
506
+ }
507
+ function ee() {
508
+ r("createNew");
509
+ }
510
+ return (e, t) => (R(), k(s, { form: H(u) }, {
511
+ default: U(() => [P(x, { cols: 1 }, {
512
+ default: U(() => [
513
+ P(H(ft), I(H(_)(H(f)), {
514
+ items: m.value,
515
+ "display-fn": (e) => e.name,
516
+ "is-loading": H(l).isFetching.value,
517
+ label: H(i).t("wise_crm.info_dialog.search_an_existing_one"),
518
+ "icon-left": "search",
519
+ onSearch: h
520
+ }), null, 16, [
521
+ "items",
522
+ "display-fn",
523
+ "is-loading",
524
+ "label"
525
+ ]),
526
+ P(c, null, {
527
+ default: U(() => [N(V(H(i).t("wise_crm.shared.or")), 1)]),
528
+ _: 1
529
+ }),
530
+ P(H(G), {
531
+ class: "w-full",
532
+ size: "lg",
533
+ variant: "secondary",
534
+ onClick: ee
535
+ }, {
536
+ default: U(() => [N(V(H(i).t("wise_crm.info_dialog.add_business_child_dialog.create_a_new_one")), 1)]),
537
+ _: 1
538
+ }),
539
+ P(a, null, {
540
+ default: U(() => [P(p, {
541
+ "is-loading": H(u).isSubmitting.value,
542
+ label: H(i).t("wise_crm.shared.add")
543
+ }, null, 8, ["is-loading", "label"])]),
544
+ _: 1
545
+ })
546
+ ]),
547
+ _: 1
548
+ })]),
549
+ _: 1
550
+ }, 8, ["form"]));
551
+ }
552
+ });
553
+ //#endregion
554
+ //#region ../../node_modules/.pnpm/@googlemaps+js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js
555
+ function nn(e, t) {
556
+ e.src = t;
557
+ }
558
+ var rn = (e) => {
559
+ var t, n, r, i = "The Google Maps JavaScript API", a = "google", o = "importLibrary", s = "__ib__", c = document, l = window, u = l[a] || (l[a] = {}), d = u.maps ||= {}, f = /* @__PURE__ */ new Set(), p = new URLSearchParams(), m = () => t ||= new Promise(async (o, l) => {
560
+ for (r in await (n = c.createElement("script")), p.set("libraries", [...f] + ""), e) p.set(r.replace(/[A-Z]/g, (e) => "_" + e[0].toLowerCase()), e[r]);
561
+ p.set("callback", a + ".maps." + s), nn(n, "https://maps.googleapis.com/maps/api/js?" + p), d[s] = o, n.onerror = () => t = l(Error(i + " could not load.")), n.nonce = c.querySelector("script[nonce]")?.nonce || "", c.head.append(n);
562
+ });
563
+ d[o] ? console.warn(i + " only loads once. Ignoring:", e) : d[o] = (e, ...t) => f.add(e) && m().then(() => d[o](e, ...t));
564
+ }, an = (e) => `The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`, on = (e) => `The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`, sn = "No options were set before calling importLibrary. Make sure to configure the loader using setOptions().", cn = "There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.", ln = process.env.NODE_ENV !== "production", un = ln ? (e) => {
565
+ console.warn(`[@googlemaps/js-api-loader] ${e}`);
566
+ } : () => {}, dn = ln ? (e) => {
567
+ console.info(`[@googlemaps/js-api-loader] ${e}`);
568
+ } : () => {}, fn = process.env.NODE_ENV !== "production", pn = !1;
569
+ function mn(e) {
570
+ if (pn) {
571
+ un(an(e));
572
+ return;
573
+ }
574
+ gn(e), pn = !0;
575
+ }
576
+ async function hn(e) {
577
+ if (pn || un(sn), !window?.google?.maps?.importLibrary) throw Error("google.maps.importLibrary is not installed.");
578
+ return await google.maps.importLibrary(e);
579
+ }
580
+ function gn(e) {
581
+ let t = !!window.google?.maps?.importLibrary;
582
+ t ? dn(on(e)) : fn && document.querySelector("script[src*=\"maps.googleapis.com/maps/api/js\"]") && un(cn), t || rn(e);
583
+ }
584
+ //#endregion
585
+ //#region src/composables/geocode/geocode.composable.ts
586
+ function _n() {
587
+ let { getGoogleMapsApiKey: e } = pe();
588
+ async function t(t) {
589
+ let n = e();
590
+ if (n === null) return null;
591
+ let r = [
592
+ t.street,
593
+ t.streetNumber,
594
+ t.postalCode,
595
+ t.city,
596
+ t.country
597
+ ].filter(Boolean).join(", ");
598
+ if (r === "") return null;
599
+ try {
600
+ mn({
601
+ key: n,
602
+ libraries: ["places"]
603
+ });
604
+ let { Place: e } = await hn("places"), t = {
605
+ fields: ["location"],
606
+ textQuery: r
607
+ }, { places: i } = await e.searchByText(t);
608
+ if (i.length > 0 && i[0].location !== null) {
609
+ let e = i[0].location;
610
+ return {
611
+ lat: e.lat(),
612
+ lng: e.lng()
613
+ };
614
+ }
615
+ return null;
616
+ } catch {
617
+ return null;
618
+ }
619
+ }
620
+ return { geocodeAddress: t };
621
+ }
622
+ //#endregion
623
+ //#region src/kbo-client/zod.gen.ts
624
+ var vn = T.enum(/* @__PURE__ */ "all_permissions,contact.create,contact.read,contact.update,contact.delete,event-log.read,file.read,file.create,file.delete,jobs.read.index,jobs.read.detail,notification.read.own,notification.read.config,notification.update.read,notification.update.unread,notification.preferences.update.channel,notification.preferences.update.preset,notification.preferences.update.types,notification.preferences.read.own,notification.migrate-type,notification.send-test,role.read,role.create,role.update,role.delete,role.cache.clear,send_push_notification,typesense,user.read,user.create,user.update,user.delete,tenant.create,tenant.read_index,tenant.read_detail,tenant.update,cbe.search".split(",")), yn = T.object({
625
+ name: T.string(),
626
+ key: vn,
627
+ description: T.string()
628
+ }), bn = T.object({
629
+ name: T.string(),
630
+ permissions: T.array(yn)
631
+ });
632
+ T.object({ groups: T.array(bn) });
633
+ var xn = T.object({
634
+ name: T.string(),
635
+ slug: T.string(),
636
+ domain: T.string(),
637
+ oidcIssuer: T.string(),
638
+ oidcClientId: T.string()
639
+ });
640
+ T.object({
641
+ uuid: T.uuid(),
642
+ name: T.string(),
643
+ slug: T.string(),
644
+ oidcIssuer: T.string(),
645
+ oidcClientId: T.string()
646
+ });
647
+ var Sn = T.object({
648
+ name: T.string(),
649
+ slug: T.string(),
650
+ domain: T.union([T.string(), T.null()]),
651
+ oidcIssuer: T.optional(T.string()),
652
+ oidcClientId: T.optional(T.string())
653
+ });
654
+ T.object({
655
+ uuid: T.uuid(),
656
+ createdAt: T.iso.datetime(),
657
+ updatedAt: T.iso.datetime(),
658
+ name: T.string(),
659
+ slug: T.string(),
660
+ domain: T.union([T.string(), T.null()])
661
+ });
662
+ var Cn = T.object({
663
+ limit: T.number().gte(1).lte(100),
664
+ offset: T.number().gte(0)
665
+ }), wn = T.object({
666
+ uuid: T.uuid(),
667
+ createdAt: T.iso.datetime(),
668
+ updatedAt: T.iso.datetime(),
669
+ name: T.string(),
670
+ slug: T.string(),
671
+ domain: T.union([T.string(), T.null()])
672
+ }), Tn = T.object({
673
+ total: T.number(),
674
+ offset: T.number(),
675
+ limit: T.number()
676
+ });
677
+ T.object({
678
+ items: T.array(wn),
679
+ meta: Tn
680
+ }), T.object({
681
+ environment: T.string(),
682
+ commit: T.string(),
683
+ version: T.string(),
684
+ timestamp: T.iso.datetime()
685
+ });
686
+ var En = T.enum([
687
+ "user",
688
+ "contact",
689
+ "cbe_enterprise",
690
+ "cbe_establishment"
691
+ ]);
692
+ T.object({ collections: T.array(T.enum([
693
+ "user",
694
+ "contact",
695
+ "cbe_enterprise",
696
+ "cbe_establishment"
697
+ ])) }), T.object({
698
+ detail: T.optional(T.string()),
699
+ status: T.enum(["404"]),
700
+ code: T.enum(["user_not_found"])
701
+ });
702
+ var Dn = T.object({ roleUuids: T.array(T.uuid()) }), On = T.object({
703
+ uuid: T.uuid(),
704
+ createdAt: T.iso.datetime(),
705
+ updatedAt: T.iso.datetime(),
706
+ name: T.string(),
707
+ permissions: T.array(vn),
708
+ isDefault: T.boolean(),
709
+ isSystemAdmin: T.boolean()
710
+ });
711
+ T.object({
712
+ uuid: T.uuid(),
713
+ email: T.union([T.email(), T.null()]),
714
+ firstName: T.union([T.string(), T.null()]),
715
+ lastName: T.union([T.string(), T.null()]),
716
+ tenantUuid: T.union([T.uuid(), T.null()]),
717
+ roles: T.array(On)
718
+ }), T.object({
719
+ uuid: T.uuid(),
720
+ email: T.union([T.email(), T.null()]),
721
+ firstName: T.union([T.string(), T.null()]),
722
+ lastName: T.union([T.string(), T.null()]),
723
+ tenantUuid: T.union([T.uuid(), T.null()]),
724
+ roles: T.array(On)
725
+ });
726
+ var kn = T.object({
727
+ uuid: T.uuid(),
728
+ name: T.string()
729
+ }), An = T.object({
730
+ uuid: T.uuid(),
731
+ email: T.union([T.email(), T.null()]),
732
+ firstName: T.union([T.string(), T.null()]),
733
+ lastName: T.union([T.string(), T.null()]),
734
+ roles: T.array(kn)
735
+ });
736
+ T.object({
737
+ items: T.array(An),
738
+ meta: Tn
739
+ });
740
+ var jn = T.object({ name: T.string() });
741
+ T.object({ uuid: T.uuid() });
742
+ var Mn = T.object({ roleUuids: T.optional(T.union([T.array(T.uuid()), T.null()])) });
743
+ T.object({
744
+ detail: T.optional(T.string()),
745
+ status: T.enum(["404"]),
746
+ code: T.enum(["role_not_found"])
747
+ });
748
+ var Nn = T.object({ name: T.string() }), Pn = T.object({
749
+ uuid: T.uuid(),
750
+ createdAt: T.iso.datetime(),
751
+ updatedAt: T.iso.datetime(),
752
+ name: T.string(),
753
+ permissions: T.array(vn),
754
+ isDefault: T.boolean(),
755
+ isSystemAdmin: T.boolean()
756
+ });
757
+ T.object({ items: T.array(Pn) });
758
+ var Fn = T.object({
759
+ roleUuid: T.uuid(),
760
+ permissions: T.array(vn)
761
+ }), In = T.object({ roles: T.array(Fn) }), Ln = T.enum([
762
+ "application/pdf",
763
+ "application/msword",
764
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
765
+ "application/vnd.ms-powerpoint",
766
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation",
767
+ "text/plain",
768
+ "text/html",
769
+ "text/csv",
770
+ "image/jpeg",
771
+ "image/png",
772
+ "image/tiff",
773
+ "image/bmp",
774
+ "image/heic",
775
+ "image/webp",
776
+ "image/gif",
777
+ "application/octet-stream"
778
+ ]), Rn = T.object({
779
+ name: T.string(),
780
+ mimeType: Ln,
781
+ isPublic: T.optional(T.boolean()).default(!1)
782
+ });
783
+ T.object({
784
+ uuid: T.uuid(),
785
+ name: T.string(),
786
+ mimeType: T.union([Ln, T.null()]),
787
+ uploadUrl: T.string()
788
+ }), T.object({
789
+ detail: T.optional(T.string()),
790
+ status: T.enum(["404"]),
791
+ code: T.enum(["file_not_found"])
792
+ });
793
+ var zn = T.object({ blurHash: T.union([T.string().max(100), T.null()]) }), Bn = T.object({
794
+ longitude: T.number(),
795
+ latitude: T.number()
796
+ }), Vn = T.object({
797
+ placeName: T.union([T.string(), T.null()]),
798
+ placeId: T.union([T.string(), T.null()]),
799
+ country: T.union([T.string(), T.null()]),
800
+ city: T.union([T.string(), T.null()]),
801
+ postalCode: T.union([T.string(), T.null()]),
802
+ streetName: T.union([T.string(), T.null()]),
803
+ streetNumber: T.union([T.string(), T.null()]),
804
+ unit: T.union([T.string(), T.null()]),
805
+ coordinates: T.union([Bn, T.null()])
806
+ }), Hn = T.enum(/* @__PURE__ */ "AFN.EUR.ALL.DZD.USD.AOA.XCD.ARS.AMD.AWG.AUD.AZN.BSD.BHD.BDT.BBD.BYN.BZD.XOF.BMD.INR.BTN.BOB.BOV.BAM.BWP.NOK.BRL.BND.BGN.BIF.CVE.KHR.XAF.CAD.KYD.CLP.CLF.CNY.COP.COU.KMF.CDF.NZD.CRC.CUP.ANG.CZK.DKK.DJF.DOP.EGP.SVC.ERN.SZL.ETB.FKP.FJD.XPF.GMD.GEL.GHS.GIP.GTQ.GBP.GNF.GYD.HTG.HNL.HKD.HUF.ISK.IDR.XDR.IRR.IQD.ILS.JMD.JPY.JOD.KZT.KES.KPW.KRW.KWD.KGS.LAK.LBP.LSL.ZAR.LRD.LYD.CHF.MOP.MKD.MGA.MWK.MYR.MVR.MRU.MUR.XUA.MXN.MXV.MDL.MNT.MAD.MZN.MMK.NAD.NPR.NIO.NGN.OMR.PKR.PAB.PGK.PYG.PEN.PHP.PLN.QAR.RON.RUB.RWF.SHP.WST.STN.SAR.RSD.SCR.SLE.SGD.XSU.SBD.SOS.SSP.LKR.SDG.SRD.SEK.CHE.CHW.SYP.TWD.TJS.TZS.THB.TOP.TTD.TND.TRY.TMT.UGX.UAH.AED.USN.UYU.UYI.UYW.UZS.VUV.VES.VED.VND.YER.ZMW.ZWG.XBA.XBB.XBC.XBD.XTS.XXX.XAU.XPD.XPT.XAG".split(".")), X = T.object({
807
+ amount: T.int(),
808
+ currency: Hn,
809
+ precision: T.int()
810
+ }), Un = T.object({
811
+ firstName: T.union([T.string(), T.null()]),
812
+ lastName: T.union([T.string(), T.null()]),
813
+ email: T.union([T.email(), T.null()]),
814
+ phone: T.union([T.string(), T.null()]),
815
+ address: T.union([Vn, T.null()]),
816
+ fileUuid: T.union([T.uuid(), T.null()]),
817
+ avatarUuid: T.union([T.uuid(), T.null()]),
818
+ discount: T.union([X, T.null()]),
819
+ balance: T.union([X, T.null()]),
820
+ birthDate: T.union([T.iso.date(), T.null()])
821
+ });
822
+ T.object({ uuid: T.uuid() }), T.object({
823
+ detail: T.optional(T.string()),
824
+ status: T.enum(["404"]),
825
+ code: T.enum(["contact_not_found"])
826
+ });
827
+ var Wn = T.object({
828
+ firstName: T.union([T.string(), T.null()]),
829
+ lastName: T.union([T.string(), T.null()]),
830
+ email: T.union([T.email(), T.null()]),
831
+ phone: T.union([T.string(), T.null()]),
832
+ isActive: T.boolean(),
833
+ address: T.union([Vn, T.null()]),
834
+ fileUuid: T.union([T.uuid(), T.null()]),
835
+ avatarUuid: T.union([T.uuid(), T.null()]),
836
+ discount: T.union([X, T.null()]),
837
+ balance: T.union([X, T.null()]),
838
+ birthDate: T.union([T.iso.date(), T.null()])
839
+ }), Gn = T.object({
840
+ longitude: T.number(),
841
+ latitude: T.number()
842
+ }), Kn = T.object({
843
+ placeName: T.union([T.string(), T.null()]),
844
+ placeId: T.union([T.string(), T.null()]),
845
+ country: T.union([T.string(), T.null()]),
846
+ city: T.union([T.string(), T.null()]),
847
+ postalCode: T.union([T.string(), T.null()]),
848
+ streetName: T.union([T.string(), T.null()]),
849
+ streetNumber: T.union([T.string(), T.null()]),
850
+ unit: T.union([T.string(), T.null()]),
851
+ coordinates: T.union([Gn, T.null()])
852
+ }), qn = T.object({
853
+ uuid: T.uuid(),
854
+ name: T.string(),
855
+ mimeType: Ln,
856
+ blurHash: T.union([T.string(), T.null()])
857
+ }), Jn = T.object({
858
+ label: T.string(),
859
+ url: T.string()
860
+ }), Yn = T.object({
861
+ uuid: T.uuid(),
862
+ name: T.string(),
863
+ mimeType: T.union([Ln, T.null()]),
864
+ url: T.string(),
865
+ blurHash: T.union([T.string(), T.null()]),
866
+ variants: T.array(Jn)
867
+ });
868
+ T.object({
869
+ uuid: T.uuid(),
870
+ createdAt: T.iso.datetime(),
871
+ updatedAt: T.iso.datetime(),
872
+ isActive: T.boolean(),
873
+ firstName: T.union([T.string(), T.null()]),
874
+ lastName: T.union([T.string(), T.null()]),
875
+ email: T.union([T.email(), T.null()]),
876
+ phone: T.union([T.string(), T.null()]),
877
+ address: T.union([Kn, T.null()]),
878
+ file: T.union([qn, T.null()]),
879
+ avatar: T.union([Yn, T.null()]),
880
+ discount: T.union([X, T.null()]),
881
+ balance: T.union([X, T.null()]),
882
+ birthDate: T.union([T.iso.date(), T.null()])
883
+ });
884
+ var Xn = T.enum(["name"]), Zn = T.enum(["asc", "desc"]), Qn = T.object({
885
+ key: Xn,
886
+ order: Zn
887
+ }), $n = T.object({ isActive: T.optional(T.string()) }), er = T.object({
888
+ uuid: T.uuid(),
889
+ isActive: T.boolean(),
890
+ name: T.string(),
891
+ email: T.union([T.email(), T.null()]),
892
+ phone: T.union([T.string(), T.null()]),
893
+ address: T.union([Kn, T.null()])
894
+ });
895
+ T.object({
896
+ items: T.array(er),
897
+ meta: Tn
898
+ });
899
+ var tr = T.enum([
900
+ "light",
901
+ "dark",
902
+ "system"
903
+ ]), nr = T.enum([
904
+ "en-US",
905
+ "nl-BE",
906
+ "fr-BE"
907
+ ]), rr = T.enum([
908
+ "smaller",
909
+ "small",
910
+ "default",
911
+ "large",
912
+ "larger"
913
+ ]), ir = T.object({
914
+ theme: T.optional(tr),
915
+ language: T.optional(nr),
916
+ fontSize: T.optional(rr),
917
+ showShortcuts: T.optional(T.boolean()),
918
+ reduceMotion: T.optional(T.boolean()),
919
+ highContrast: T.optional(T.boolean())
920
+ });
921
+ T.object({
922
+ theme: tr,
923
+ language: nr,
924
+ fontSize: rr,
925
+ showShortcuts: T.boolean(),
926
+ reduceMotion: T.boolean(),
927
+ highContrast: T.boolean()
928
+ }), T.object({
929
+ token: T.string(),
930
+ userUuid: T.uuid()
931
+ });
932
+ var ar = T.object({
933
+ nl: T.optional(T.string()),
934
+ en: T.optional(T.string())
935
+ }), or = T.object({
936
+ name: T.string(),
937
+ title: ar,
938
+ description: ar,
939
+ userUuids: T.array(T.uuid())
940
+ }), sr = T.enum([
941
+ "contact",
942
+ "file",
943
+ "role",
944
+ "user",
945
+ "tenant"
946
+ ]), cr = T.object({
947
+ subjectType: T.optional(sr),
948
+ subjectId: T.optional(T.uuid()),
949
+ userUuid: T.optional(T.uuid())
950
+ }), lr = T.object({
951
+ createdAt: T.string(),
952
+ uuid: T.uuid()
953
+ }), ur = T.object({
954
+ limit: T.number().gte(0).lte(100),
955
+ key: T.optional(T.union([lr, T.null()]))
956
+ }), dr = T.enum([
957
+ "contact.created",
958
+ "contact.updated",
959
+ "contact.deleted",
960
+ "file.created",
961
+ "file.uploaded",
962
+ "notification.created",
963
+ "notification.read",
964
+ "notification.read.all",
965
+ "notification.unread",
966
+ "notification.types.migrated",
967
+ "notification.preference.preset.updated",
968
+ "role.created",
969
+ "role.deleted",
970
+ "role.renamed",
971
+ "role.permissions.updated",
972
+ "role.permissions.cache.cleared",
973
+ "test-notification.sent",
974
+ "user.created",
975
+ "user.updated",
976
+ "user.role-assigned",
977
+ "user.roles-set",
978
+ "user.notification.created",
979
+ "user.default-notification-preferences.assigned",
980
+ "tenant.created",
981
+ "tenant.updated"
982
+ ]), fr = T.object({
983
+ uuid: T.uuid(),
984
+ createdAt: T.iso.datetime(),
985
+ version: T.int().gte(0),
986
+ source: T.string(),
987
+ userUuid: T.union([T.uuid(), T.null()]),
988
+ message: T.string(),
989
+ type: dr,
990
+ subjectType: T.union([sr, T.null()]),
991
+ subjectId: T.union([T.uuid(), T.null()]),
992
+ content: T.record(T.string(), T.unknown())
993
+ }), pr = T.object({ next: T.union([lr, T.null()]) });
994
+ T.object({
995
+ items: T.array(fr),
996
+ meta: pr
997
+ });
998
+ var mr = T.enum(["user", "contact"]), hr = T.object({ isActive: T.optional(T.boolean()) }), gr = T.object({
999
+ collections: T.optional(T.array(mr)),
1000
+ contact: T.optional(hr)
1001
+ }), _r = T.object({ offset: T.int() }), vr = T.object({ key: T.optional(_r) }), yr = T.object({
1002
+ uuid: T.uuid(),
1003
+ name: T.string(),
1004
+ email: T.union([T.record(T.string(), T.unknown()), T.null()])
1005
+ }), br = T.object({
1006
+ uuid: T.uuid(),
1007
+ isActive: T.boolean(),
1008
+ name: T.string(),
1009
+ email: T.union([T.email(), T.null()]),
1010
+ phone: T.union([T.string(), T.null()]),
1011
+ address: T.union([Kn, T.null()])
1012
+ }), xr = T.object({
1013
+ collection: mr,
1014
+ entity: T.union([yr, br]),
1015
+ text_match: T.number()
1016
+ }), Sr = T.object({ next: T.union([_r, T.null()]) });
1017
+ T.object({
1018
+ items: T.array(xr),
1019
+ meta: Sr
1020
+ });
1021
+ var Cr = T.enum([
1022
+ "all",
1023
+ "default",
1024
+ "custom",
1025
+ "none"
1026
+ ]), Z = T.enum(["user.created", "system.test-notification"]), wr = T.object({
1027
+ email: T.array(Z),
1028
+ sms: T.array(Z),
1029
+ app: T.array(Z),
1030
+ push: T.array(Z)
1031
+ });
1032
+ T.object({
1033
+ preset: Cr,
1034
+ emailEnabled: T.boolean(),
1035
+ smsEnabled: T.boolean(),
1036
+ appEnabled: T.boolean(),
1037
+ pushEnabled: T.boolean(),
1038
+ preferences: wr
1039
+ });
1040
+ var Tr = T.enum([
1041
+ "email",
1042
+ "sms",
1043
+ "app",
1044
+ "push"
1045
+ ]), Er = T.object({
1046
+ channel: Tr,
1047
+ defaultValue: T.boolean(),
1048
+ isSupported: T.boolean()
1049
+ }), Dr = T.object({
1050
+ key: Z,
1051
+ description: T.string(),
1052
+ channelConfigs: T.array(Er)
1053
+ }), Or = T.object({
1054
+ name: T.string(),
1055
+ description: T.string(),
1056
+ types: T.array(Dr)
1057
+ });
1058
+ T.object({ groups: T.array(Or) });
1059
+ var kr = T.object({
1060
+ channel: Tr,
1061
+ isEnabled: T.boolean()
1062
+ }), Ar = T.object({ message: T.string() }), jr = T.object({ onlyUnread: T.optional(T.string()) }), Mr = T.object({
1063
+ createdAt: T.string(),
1064
+ notificationUuid: T.uuid()
1065
+ }), Nr = T.object({
1066
+ limit: T.number().gte(0).lte(100),
1067
+ key: T.optional(T.union([Mr, T.null()]))
1068
+ }), Pr = T.object({
1069
+ uuid: T.uuid(),
1070
+ name: T.string()
1071
+ }), Fr = T.object({ message: T.string() }), Ir = T.object({
1072
+ createdAt: T.iso.datetime(),
1073
+ readAt: T.union([T.iso.datetime(), T.null()]),
1074
+ notificationUuid: T.uuid(),
1075
+ createdByUser: T.union([Pr, T.null()]),
1076
+ message: T.string(),
1077
+ type: T.enum(["system.test-notification"]),
1078
+ meta: Fr
1079
+ }), Lr = T.object({ next: T.union([Mr, T.null()]) });
1080
+ T.object({
1081
+ items: T.array(Ir),
1082
+ meta: Lr
1083
+ }), T.object({
1084
+ amount: T.number().gte(0),
1085
+ exceedsLimit: T.boolean()
1086
+ }), T.object({
1087
+ detail: T.optional(T.string()),
1088
+ status: T.enum(["404"]),
1089
+ code: T.enum(["user_notification_not_found"])
1090
+ });
1091
+ var Rr = T.object({
1092
+ channel: Tr,
1093
+ isEnabled: T.boolean(),
1094
+ types: T.array(Z)
1095
+ }), zr = T.object({ preset: Cr }), Br = T.object({ type: T.array(Z) });
1096
+ T.object({
1097
+ detail: T.optional(T.string()),
1098
+ status: T.enum(["400"]),
1099
+ code: T.enum(["migration_already_performed"]),
1100
+ meta: Br
1101
+ });
1102
+ var Vr = T.object({ types: T.array(Z) }), Hr = T.enum(["createdAt"]), Ur = T.object({
1103
+ key: Hr,
1104
+ order: Zn
1105
+ }), Wr = T.enum(["system"]), Gr = T.object({ queueNames: T.optional(T.array(Wr)) }), Kr = T.object({
1106
+ createdAt: T.optional(T.iso.datetime()),
1107
+ id: T.string()
1108
+ }), qr = T.object({
1109
+ limit: T.number().gte(0).lte(100),
1110
+ key: T.optional(T.union([Kr, T.null()]))
1111
+ }), Jr = T.enum([
1112
+ "created",
1113
+ "active",
1114
+ "completed",
1115
+ "retry",
1116
+ "failed",
1117
+ "cancelled"
1118
+ ]), Yr = T.object({
1119
+ queueName: Wr,
1120
+ id: T.uuid(),
1121
+ name: T.string(),
1122
+ status: Jr,
1123
+ createdAt: T.iso.datetime(),
1124
+ completedAt: T.union([T.iso.datetime(), T.null()])
1125
+ }), Xr = T.object({ next: T.union([Kr, T.null()]) });
1126
+ T.object({
1127
+ items: T.array(Yr),
1128
+ meta: Xr
1129
+ }), T.object({
1130
+ detail: T.optional(T.string()),
1131
+ status: T.enum(["404"]),
1132
+ code: T.enum(["job_not_found"])
1133
+ }), T.object({
1134
+ id: T.uuid(),
1135
+ queueName: Wr,
1136
+ priority: T.number(),
1137
+ name: T.string(),
1138
+ data: T.record(T.string(), T.unknown()),
1139
+ status: Jr,
1140
+ retryLimit: T.number(),
1141
+ retryCount: T.number(),
1142
+ retryDelay: T.number(),
1143
+ retryBackoff: T.boolean(),
1144
+ startAfter: T.iso.datetime(),
1145
+ startedAt: T.union([T.iso.datetime(), T.null()]),
1146
+ singletonKey: T.union([T.string(), T.null()]),
1147
+ singletonOn: T.union([T.iso.datetime(), T.null()]),
1148
+ expireIn: T.record(T.string(), T.unknown()),
1149
+ createdAt: T.iso.datetime(),
1150
+ completedAt: T.union([T.iso.datetime(), T.null()]),
1151
+ keepUntil: T.iso.datetime(),
1152
+ output: T.union([T.record(T.string(), T.unknown()), T.null()]),
1153
+ deadLetter: T.union([T.string(), T.null()]),
1154
+ policy: T.union([T.string(), T.null()])
1155
+ });
1156
+ var Zr = T.enum(["active", "inactive"]), Qr = T.object({
1157
+ enterpriseNumber: T.string(),
1158
+ status: Zr,
1159
+ startDate: T.union([T.string(), T.null()]),
1160
+ name: T.union([T.string(), T.null()]),
1161
+ abbreviation: T.union([T.string(), T.null()]),
1162
+ phone: T.union([T.string(), T.null()]),
1163
+ fax: T.union([T.string(), T.null()]),
1164
+ email: T.union([T.string(), T.null()]),
1165
+ website: T.union([T.string(), T.null()]),
1166
+ address: T.union([Kn, T.null()])
1167
+ }), $r = T.object({
1168
+ items: T.array(Qr),
1169
+ meta: Tn
1170
+ }), ei = T.object({ enterpriseNumber: T.optional(T.string()) }), ti = T.object({
1171
+ establishmentNumber: T.string(),
1172
+ enterpriseNumber: T.string(),
1173
+ startDate: T.union([T.string(), T.null()]),
1174
+ commercialName: T.union([T.string(), T.null()]),
1175
+ address: T.union([Kn, T.null()])
1176
+ });
1177
+ T.object({
1178
+ items: T.array(T.array(T.unknown())),
1179
+ meta: Tn,
1180
+ results: T.array(ti)
1181
+ }), T.object({
1182
+ detail: T.optional(T.string()),
1183
+ status: T.enum(["500"]),
1184
+ code: T.enum(["internal_server_error"])
1185
+ }), T.object({
1186
+ body: T.optional(T.never()),
1187
+ path: T.optional(T.never()),
1188
+ query: T.optional(T.never())
1189
+ }), T.object({
1190
+ body: T.optional(T.never()),
1191
+ path: T.optional(T.never()),
1192
+ query: T.optional(T.object({
1193
+ pagination: T.optional(Cn),
1194
+ search: T.optional(T.string())
1195
+ }))
1196
+ }), T.object({
1197
+ body: xn,
1198
+ path: T.optional(T.never()),
1199
+ query: T.optional(T.never())
1200
+ }), T.object({
1201
+ body: T.optional(T.never()),
1202
+ path: T.object({ uuid: T.string() }),
1203
+ query: T.optional(T.never())
1204
+ }), T.object({
1205
+ body: Sn,
1206
+ path: T.object({ uuid: T.string() }),
1207
+ query: T.optional(T.never())
1208
+ }), T.void(), T.object({
1209
+ body: T.optional(T.never()),
1210
+ path: T.optional(T.never()),
1211
+ query: T.optional(T.never())
1212
+ }), T.object({
1213
+ body: T.optional(T.never()),
1214
+ path: T.optional(T.never()),
1215
+ query: T.object({
1216
+ fresh: T.boolean(),
1217
+ collections: T.optional(T.array(En))
1218
+ })
1219
+ }), T.object({
1220
+ body: T.optional(T.never()),
1221
+ path: T.optional(T.never()),
1222
+ query: T.optional(T.object({ collections: T.optional(T.array(En)) }))
1223
+ }), T.object({
1224
+ body: T.optional(T.never()),
1225
+ path: T.optional(T.never()),
1226
+ query: T.optional(T.never())
1227
+ }), T.object({
1228
+ body: T.optional(T.never()),
1229
+ path: T.optional(T.never()),
1230
+ query: T.optional(T.never())
1231
+ }), T.object({
1232
+ body: Dn,
1233
+ path: T.object({ user: T.string() }),
1234
+ query: T.optional(T.never())
1235
+ }), T.object({
1236
+ body: T.optional(T.never()),
1237
+ path: T.optional(T.never()),
1238
+ query: T.optional(T.never())
1239
+ }), T.object({
1240
+ body: T.optional(T.never()),
1241
+ path: T.object({ uuid: T.string() }),
1242
+ query: T.optional(T.never())
1243
+ }), T.object({
1244
+ body: T.optional(T.never()),
1245
+ path: T.optional(T.never()),
1246
+ query: T.optional(T.object({
1247
+ pagination: T.optional(Cn),
1248
+ search: T.optional(T.string())
1249
+ }))
1250
+ }), T.object({
1251
+ body: T.optional(T.never()),
1252
+ path: T.optional(T.never()),
1253
+ query: T.optional(T.never())
1254
+ }), T.object({
1255
+ body: In,
1256
+ path: T.optional(T.never()),
1257
+ query: T.optional(T.never())
1258
+ }), T.void(), T.object({
1259
+ body: jn,
1260
+ path: T.optional(T.never()),
1261
+ query: T.optional(T.never())
1262
+ }), T.object({
1263
+ body: Mn,
1264
+ path: T.optional(T.never()),
1265
+ query: T.optional(T.never())
1266
+ }), T.void(), T.object({
1267
+ body: T.optional(T.never()),
1268
+ path: T.object({ role: T.string() }),
1269
+ query: T.optional(T.never())
1270
+ }), T.void(), T.object({
1271
+ body: T.optional(T.never()),
1272
+ path: T.object({ role: T.string() }),
1273
+ query: T.optional(T.never())
1274
+ }), T.object({
1275
+ body: Nn,
1276
+ path: T.object({ role: T.string() }),
1277
+ query: T.optional(T.never())
1278
+ }), T.void(), T.object({
1279
+ body: Rn,
1280
+ path: T.optional(T.never()),
1281
+ query: T.optional(T.never())
1282
+ }), T.object({
1283
+ body: T.optional(T.never()),
1284
+ path: T.object({ file: T.string() }),
1285
+ query: T.optional(T.never())
1286
+ }), T.void(), T.object({
1287
+ body: zn,
1288
+ path: T.object({ file: T.string() }),
1289
+ query: T.optional(T.never())
1290
+ }), T.void(), T.object({
1291
+ body: T.optional(T.never()),
1292
+ path: T.object({ file: T.string() }),
1293
+ query: T.optional(T.never())
1294
+ }), T.object({
1295
+ body: T.optional(T.never()),
1296
+ path: T.object({ file: T.string() }),
1297
+ query: T.object({ token: T.string() })
1298
+ }), T.object({
1299
+ body: T.optional(T.never()),
1300
+ path: T.optional(T.never()),
1301
+ query: T.optional(T.object({
1302
+ pagination: T.optional(Cn),
1303
+ sort: T.optional(T.array(Qn)),
1304
+ filter: T.optional($n),
1305
+ search: T.optional(T.string())
1306
+ }))
1307
+ }), T.object({
1308
+ body: Un,
1309
+ path: T.optional(T.never()),
1310
+ query: T.optional(T.never())
1311
+ }), T.object({
1312
+ body: T.optional(T.never()),
1313
+ path: T.object({ uuid: T.string() }),
1314
+ query: T.optional(T.never())
1315
+ }), T.void(), T.object({
1316
+ body: T.optional(T.never()),
1317
+ path: T.object({ uuid: T.string() }),
1318
+ query: T.optional(T.never())
1319
+ }), T.object({
1320
+ body: Wn,
1321
+ path: T.object({ uuid: T.string() }),
1322
+ query: T.optional(T.never())
1323
+ }), T.void(), T.object({
1324
+ body: T.optional(T.never()),
1325
+ path: T.optional(T.never()),
1326
+ query: T.optional(T.never())
1327
+ }), T.object({
1328
+ body: ir,
1329
+ path: T.optional(T.never()),
1330
+ query: T.optional(T.never())
1331
+ }), T.object({
1332
+ body: T.optional(T.never()),
1333
+ path: T.optional(T.never()),
1334
+ query: T.optional(T.never())
1335
+ }), T.object({
1336
+ body: or,
1337
+ path: T.optional(T.never()),
1338
+ query: T.optional(T.never())
1339
+ }), T.object({
1340
+ body: T.optional(T.never()),
1341
+ path: T.optional(T.never()),
1342
+ query: T.optional(T.object({
1343
+ filter: T.optional(cr),
1344
+ pagination: T.optional(ur)
1345
+ }))
1346
+ }), T.object({
1347
+ body: T.optional(T.never()),
1348
+ path: T.optional(T.never()),
1349
+ query: T.object({
1350
+ filter: T.optional(gr),
1351
+ search: T.string(),
1352
+ pagination: T.optional(vr)
1353
+ })
1354
+ }), T.object({
1355
+ body: T.optional(T.never()),
1356
+ path: T.optional(T.never()),
1357
+ query: T.optional(T.never())
1358
+ }), T.object({
1359
+ body: T.optional(T.never()),
1360
+ path: T.optional(T.never()),
1361
+ query: T.optional(T.never())
1362
+ }), T.object({
1363
+ body: kr,
1364
+ path: T.optional(T.never()),
1365
+ query: T.optional(T.never())
1366
+ }), T.void(), T.object({
1367
+ body: Ar,
1368
+ path: T.optional(T.never()),
1369
+ query: T.optional(T.never())
1370
+ }), T.void(), T.object({
1371
+ body: T.optional(T.never()),
1372
+ path: T.optional(T.never()),
1373
+ query: T.optional(T.object({
1374
+ filter: T.optional(jr),
1375
+ pagination: T.optional(Nr)
1376
+ }))
1377
+ }), T.object({
1378
+ body: T.optional(T.never()),
1379
+ path: T.optional(T.never()),
1380
+ query: T.optional(T.never())
1381
+ }), T.object({
1382
+ body: T.optional(T.never()),
1383
+ path: T.object({ notificationUuid: T.string() }),
1384
+ query: T.optional(T.never())
1385
+ }), T.object({
1386
+ body: T.optional(T.never()),
1387
+ path: T.optional(T.never()),
1388
+ query: T.optional(T.never())
1389
+ }), T.void(), T.object({
1390
+ body: Rr,
1391
+ path: T.optional(T.never()),
1392
+ query: T.optional(T.never())
1393
+ }), T.void(), T.object({
1394
+ body: T.optional(T.never()),
1395
+ path: T.object({ notificationUuid: T.string() }),
1396
+ query: T.optional(T.never())
1397
+ }), T.void(), T.object({
1398
+ body: T.optional(T.never()),
1399
+ path: T.object({ notificationUuid: T.string() }),
1400
+ query: T.optional(T.never())
1401
+ }), T.void(), T.object({
1402
+ body: zr,
1403
+ path: T.optional(T.never()),
1404
+ query: T.optional(T.never())
1405
+ }), T.void(), T.object({
1406
+ body: Vr,
1407
+ path: T.optional(T.never()),
1408
+ query: T.optional(T.never())
1409
+ }), T.void(), T.object({
1410
+ body: T.optional(T.never()),
1411
+ path: T.optional(T.never()),
1412
+ query: T.optional(T.object({
1413
+ sort: T.optional(T.array(Ur)),
1414
+ filter: T.optional(Gr),
1415
+ pagination: T.optional(qr)
1416
+ }))
1417
+ }), T.object({
1418
+ body: T.optional(T.never()),
1419
+ path: T.object({ jobId: T.string() }),
1420
+ query: T.optional(T.never())
1421
+ });
1422
+ var ni = T.object({
1423
+ body: T.optional(T.never()),
1424
+ path: T.optional(T.never()),
1425
+ query: T.object({
1426
+ pagination: T.optional(Cn),
1427
+ search: T.string()
1428
+ })
1429
+ }), ri = $r;
1430
+ T.object({
1431
+ body: T.optional(T.never()),
1432
+ path: T.optional(T.never()),
1433
+ query: T.object({
1434
+ pagination: T.optional(Cn),
1435
+ filter: T.optional(ei),
1436
+ search: T.string()
1437
+ })
1438
+ });
1439
+ //#endregion
1440
+ //#region src/kbo-client/sdk.gen.ts
1441
+ var ii = (e) => (e.client ?? f).get({
1442
+ requestValidator: async (e) => await ni.parseAsync(e),
1443
+ responseValidator: async (e) => await ri.parseAsync(e),
1444
+ url: "/api/v1/cbe/enterprises",
1445
+ ...e
1446
+ }), ai = class {
1447
+ static fromDto(e) {
1448
+ return {
1449
+ uuid: e.enterpriseNumber,
1450
+ startDate: e.startDate,
1451
+ name: e.name,
1452
+ abbreviation: e.abbreviation,
1453
+ address: b.fromNullableDto(e.address),
1454
+ email: e.email,
1455
+ fax: e.fax,
1456
+ phone: e.phone,
1457
+ status: e.status,
1458
+ website: e.website
1459
+ };
1460
+ }
1461
+ }, oi = class {
1462
+ static async searchEnterprisesByTerm(e) {
1463
+ let t = await ii({ query: {
1464
+ pagination: {
1465
+ limit: 10,
1466
+ offset: 0
1467
+ },
1468
+ search: e
1469
+ } });
1470
+ return {
1471
+ data: t.data.items.map(ai.fromDto),
1472
+ meta: t.data.meta
1473
+ };
1474
+ }
1475
+ };
1476
+ //#endregion
1477
+ //#region src/api/queries/cbe/cbeEnterpriseSearchByTerm.query.ts
1478
+ function si(e) {
1479
+ return Le({
1480
+ isEnabled: O(() => e.value.length > 0),
1481
+ queryFn: async () => (await oi.searchEnterprisesByTerm(e.value)).data,
1482
+ queryKey: { cbeEnterpriseSearchByTerm: { searchTerm: e } }
1483
+ });
1484
+ }
1485
+ //#endregion
1486
+ //#region src/components/cbe/CbeAutocomplete.vue?vue&type=script&setup=true&lang.ts
1487
+ var ci = { class: "text-sm" }, li = {
1488
+ key: 0,
1489
+ class: "text-secondary text-xs"
1490
+ }, ui = /* @__PURE__ */ F({
1491
+ __name: "CbeAutocomplete",
1492
+ props: /* @__PURE__ */ rt({
1493
+ isRequired: { type: Boolean },
1494
+ label: {}
1495
+ }, {
1496
+ modelValue: { required: !0 },
1497
+ modelModifiers: {}
1498
+ }),
1499
+ emits: /* @__PURE__ */ rt(["createNew"], ["update:modelValue"]),
1500
+ setup(e, { emit: t }) {
1501
+ let n = e, r = t, i = ct(e, "modelValue"), a = z(null), o = z(null), s = W(), c = z(!0), l = si(O(() => o.value ?? "")), u = Dt((e) => {
1502
+ e !== null && (c.value = e.length === 0 || e.trim().length === 0, o.value = e);
1503
+ }, 300), d = O(() => l.data.value ?? []);
1504
+ async function f(e) {
1505
+ await u(e);
1506
+ }
1507
+ function p() {
1508
+ r("createNew");
1509
+ }
1510
+ function m(e) {
1511
+ return d.value.find((t) => t.uuid === e)?.name ?? "-";
1512
+ }
1513
+ function h(e) {
1514
+ if (e === null) {
1515
+ a.value = null;
1516
+ return;
1517
+ }
1518
+ i.value = d.value.find((t) => t.uuid === e.value) ?? null, a.value = e;
1519
+ }
1520
+ return (e, t) => (R(), k(ee, {
1521
+ modelValue: a.value,
1522
+ "onUpdate:modelValue": [t[0] ||= (e) => a.value = e, h],
1523
+ "is-required": n.isRequired,
1524
+ "display-fn": m,
1525
+ label: n.label,
1526
+ options: d.value,
1527
+ "is-loading": H(l).isFetching.value,
1528
+ placeholder: H(s).t("component.select.search_placeholder"),
1529
+ onCreateNew: p,
1530
+ onSearch: f
1531
+ }, {
1532
+ option: U(({ option: e, isHighlighted: t }) => [M("div", { class: L([{ "bg-brand-50": t }, "p-md px-lg flex flex-col rounded-md"]) }, [M("span", ci, V(e.name), 1), e.address ? (R(), j("span", li, V(H(Ee).format(e.address)), 1)) : A("", !0)], 2)]),
1533
+ _: 1
1534
+ }, 8, [
1535
+ "modelValue",
1536
+ "is-required",
1537
+ "label",
1538
+ "options",
1539
+ "is-loading",
1540
+ "placeholder"
1541
+ ]));
1542
+ }
1543
+ }), di = /* @__PURE__ */ F({
1544
+ __name: "ContactCreateDialogBusinessCbeSearch",
1545
+ emits: [
1546
+ "back",
1547
+ "createNew",
1548
+ "updateCbeSearchItem"
1549
+ ],
1550
+ setup(e, { emit: t }) {
1551
+ let n = t, r = W(), i = z(null);
1552
+ function a() {
1553
+ n("createNew");
1554
+ }
1555
+ function o(e) {
1556
+ i.value = e, n("updateCbeSearchItem", e);
1557
+ }
1558
+ function s() {
1559
+ n("back");
1560
+ }
1561
+ return (e, t) => (R(), k(x, { cols: 1 }, {
1562
+ default: U(() => [P(ui, {
1563
+ modelValue: i.value,
1564
+ "onUpdate:modelValue": [t[0] ||= (e) => i.value = e, o],
1565
+ label: H(r).t("wise_crm.contact.create_dialog.form.fields.cbe_search"),
1566
+ onCreateNew: a
1567
+ }, null, 8, ["modelValue", "label"]), P(l, null, {
1568
+ default: U(() => [P(H(G), {
1569
+ variant: "secondary",
1570
+ size: "lg",
1571
+ onClick: s
1572
+ }, {
1573
+ default: U(() => [N(V(H(r).t("wise_crm.shared.back")), 1)]),
1574
+ _: 1
1575
+ })]),
1576
+ _: 1
1577
+ })]),
1578
+ _: 1
1579
+ }));
1580
+ }
1581
+ }), fi = Symbol("baseFieldsetContext");
1582
+ function pi() {
1583
+ let e = nt(fi) ?? null;
1584
+ return Pe(e !== null, "`useBaseFieldsetContext` must be used within a component that provides the context"), e;
1585
+ }
1586
+ function mi(e) {
1587
+ it(fi, e);
1588
+ }
1589
+ //#endregion
1590
+ //#region src/components/base/fieldset/BaseFieldset.vue?vue&type=script&setup=true&lang.ts
1591
+ var hi = ["aria-describedby"], gi = /* @__PURE__ */ F({
1592
+ __name: "BaseFieldset",
1593
+ setup(e) {
1594
+ let t = st();
1595
+ return mi({ id: t }), (e, n) => (R(), j("fieldset", { "aria-describedby": H(t) }, [at(e.$slots, "default")], 8, hi));
1596
+ }
1597
+ }), _i = /* @__PURE__ */ F({
1598
+ __name: "BaseFieldsetLegend",
1599
+ props: { as: {} },
1600
+ setup(e) {
1601
+ let t = e, n = pi();
1602
+ return (e, r) => (R(), k(ot(t.as), { id: H(n).id }, {
1603
+ default: U(() => [at(e.$slots, "default")]),
1604
+ _: 3
1605
+ }, 8, ["id"]));
1606
+ }
1607
+ }), vi = { class: "mb-lg" }, yi = {
1608
+ key: 0,
1609
+ class: "mt-sm text-secondary text-sm"
1610
+ }, bi = { class: "col-span-2" }, xi = /* @__PURE__ */ F({
1611
+ __name: "FormFieldset",
1612
+ props: {
1613
+ title: {},
1614
+ isTitleHidden: {
1615
+ type: Boolean,
1616
+ default: !1
1617
+ },
1618
+ description: { default: null }
1619
+ },
1620
+ setup(e) {
1621
+ let t = e;
1622
+ return (e, n) => (R(), k(gi, null, {
1623
+ default: U(() => [M("div", vi, [(R(), k(ot(t.isTitleHidden ? H(Mt) : "div"), null, {
1624
+ default: U(() => [P(_i, {
1625
+ as: "h2",
1626
+ class: "text-primary text-sm font-medium"
1627
+ }, {
1628
+ default: U(() => [N(V(t.title), 1)]),
1629
+ _: 1
1630
+ })]),
1631
+ _: 1
1632
+ })), t.description === null ? A("", !0) : (R(), j("p", yi, V(t.description), 1))]), M("div", bi, [at(e.$slots, "default")])]),
1633
+ _: 3
1634
+ }));
1635
+ }
1636
+ }), Si = /* @__PURE__ */ F({
1637
+ __name: "ContactCreateDialogBusinessContactPerson",
1638
+ props: { form: {} },
1639
+ emits: ["back"],
1640
+ setup(e, { emit: t }) {
1641
+ let n = e, r = t, i = W(), a = n.form.register("individual.firstName"), o = n.form.register("individual.lastName"), s = n.form.register("individualPosition"), c = n.form.register("individual.email"), u = n.form.register("individual.mobilePhone"), d = n.form.register("individual.phone");
1642
+ function f() {
1643
+ r("back");
1644
+ }
1645
+ return (t, n) => (R(), k(x, { cols: 1 }, {
1646
+ default: U(() => [P(x, { cols: 1 }, {
1647
+ default: U(() => [P(x, { cols: 2 }, {
1648
+ default: U(() => [
1649
+ P(H(K), I({
1650
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.first_name"),
1651
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.first_name")
1652
+ }, H(_)(H(a))), null, 16, ["label", "placeholder"]),
1653
+ P(H(K), I({
1654
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.last_name"),
1655
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.last_name")
1656
+ }, H(_)(H(o))), null, 16, ["label", "placeholder"]),
1657
+ P(H(K), I({
1658
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.position"),
1659
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.position")
1660
+ }, H(_)(H(s))), null, 16, ["label", "placeholder"])
1661
+ ]),
1662
+ _: 1
1663
+ }), P(xi, {
1664
+ title: H(i).t("wise_crm.shared.contact_info"),
1665
+ class: "col-span-2"
1666
+ }, {
1667
+ default: U(() => [P(x, {
1668
+ cols: 1,
1669
+ class: "mt-sm bg-secondary p-lg rounded-xl"
1670
+ }, {
1671
+ default: U(() => [
1672
+ P(H(K), I(H(_)(H(c)), {
1673
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.email"),
1674
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.email")
1675
+ }), null, 16, ["label", "placeholder"]),
1676
+ P(H(bt), I(H(_)(H(u)), {
1677
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.mobile_phone"),
1678
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.mobile_phone")
1679
+ }), null, 16, ["label", "placeholder"]),
1680
+ P(H(bt), I(H(_)(H(d)), {
1681
+ label: H(i).t("wise_crm.contact.create_dialog.form.fields.phone"),
1682
+ placeholder: H(i).t("wise_crm.contact.create_dialog.form.fields.phone")
1683
+ }), null, 16, ["label", "placeholder"])
1684
+ ]),
1685
+ _: 1
1686
+ }), P(Se, { form: e.form }, null, 8, ["form"])]),
1687
+ _: 1
1688
+ }, 8, ["title"])]),
1689
+ _: 1
1690
+ }), P(l, null, {
1691
+ default: U(() => [P(H(G), {
1692
+ size: "lg",
1693
+ variant: "secondary",
1694
+ onClick: f
1695
+ }, {
1696
+ default: U(() => [N(V(H(i).t("wise_crm.shared.back")), 1)]),
1697
+ _: 1
1698
+ }), P(H(G), {
1699
+ "is-loading": e.form.isSubmitting.value,
1700
+ size: "lg",
1701
+ type: "submit"
1702
+ }, {
1703
+ default: U(() => [N(V(H(i).t("wise_crm.shared.create")), 1)]),
1704
+ _: 1
1705
+ }, 8, ["is-loading"])]),
1706
+ _: 1
1707
+ })]),
1708
+ _: 1
1709
+ }));
1710
+ }
1711
+ }), Ci = /* @__PURE__ */ F({
1712
+ __name: "ContactCreateDialogBusinessContactPersonSearch",
1713
+ props: {
1714
+ isSubmitting: { type: Boolean },
1715
+ form: {},
1716
+ requireIndividualOnCreate: { type: Boolean }
1717
+ },
1718
+ emits: [
1719
+ "back",
1720
+ "createNew",
1721
+ "next"
1722
+ ],
1723
+ setup(e, { emit: t }) {
1724
+ let n = e, r = t, i = W(), a = v(), o = z(null), s = n.form.register("individualUuid"), c = n.form.register("individual");
1725
+ async function u(e) {
1726
+ if (o.value = e, e !== null) {
1727
+ s.setValue(e ? e.value : null);
1728
+ try {
1729
+ let t = await Ce.getByUuid(e.value);
1730
+ c.setValue({
1731
+ email: t.email,
1732
+ firstName: t.firstName,
1733
+ lastName: t.lastName,
1734
+ mobilePhone: t.mobilePhone,
1735
+ phone: t.phone
1736
+ }), r("next");
1737
+ } catch (e) {
1738
+ a.show(e);
1739
+ }
1740
+ }
1741
+ }
1742
+ function d() {
1743
+ r("back");
1744
+ }
1745
+ function f() {
1746
+ s.setValue(null), c.setValue(null), r("next");
1747
+ }
1748
+ return (e, t) => (R(), k(x, { cols: 1 }, {
1749
+ default: U(() => [P(re, {
1750
+ "model-value": o.value,
1751
+ label: H(i).t("wise_crm.contact.create_dialog.form.contact_person"),
1752
+ "onUpdate:modelValue": u,
1753
+ onCreateNew: f
1754
+ }, null, 8, ["model-value", "label"]), P(l, null, {
1755
+ default: U(() => [P(H(G), {
1756
+ variant: "secondary",
1757
+ size: "lg",
1758
+ onClick: d
1759
+ }, {
1760
+ default: U(() => [N(V(H(i).t("wise_crm.shared.back")), 1)]),
1761
+ _: 1
1762
+ }), n.requireIndividualOnCreate ? A("", !0) : (R(), k(H(G), {
1763
+ key: 0,
1764
+ "is-loading": n.isSubmitting,
1765
+ size: "lg",
1766
+ type: "submit"
1767
+ }, {
1768
+ default: U(() => [N(V(H(i).t("wise_crm.shared.skip")), 1)]),
1769
+ _: 1
1770
+ }, 8, ["is-loading"]))]),
1771
+ _: 1
1772
+ })]),
1773
+ _: 1
1774
+ }));
1775
+ }
1776
+ }), wi = /* @__PURE__ */ F({
1777
+ __name: "AppVatNumberField",
1778
+ props: /* @__PURE__ */ rt({
1779
+ isLoading: { type: Boolean },
1780
+ isSpellCheckEnabled: { type: Boolean },
1781
+ autocomplete: {},
1782
+ iconLeft: {},
1783
+ iconRight: {},
1784
+ placeholder: {},
1785
+ type: {},
1786
+ variant: {},
1787
+ testId: {},
1788
+ isDisabled: { type: Boolean },
1789
+ id: {},
1790
+ isRequired: { type: Boolean },
1791
+ isTouched: { type: Boolean },
1792
+ errorMessage: {},
1793
+ hint: {},
1794
+ label: {},
1795
+ classConfig: {}
1796
+ }, {
1797
+ modelValue: { required: !0 },
1798
+ modelModifiers: {}
1799
+ }),
1800
+ emits: ["update:modelValue"],
1801
+ setup(e) {
1802
+ let t = e, n = ct(e, "modelValue"), r = O({
1803
+ get: () => n.value ? `${n.value.countryCode}${n.value.number}` : null,
1804
+ set: (e) => {
1805
+ if (e === null) {
1806
+ n.value = null;
1807
+ return;
1808
+ }
1809
+ n.value = {
1810
+ countryCode: e.slice(0, 2).toUpperCase(),
1811
+ number: e.slice(2)
1812
+ };
1813
+ }
1814
+ });
1815
+ function i(e) {
1816
+ e.key.length === 1 && /[a-z0-9]/i.test(e.key) || e.key === "Backspace" || e.key === "Delete" || e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "Tab" || e.preventDefault();
1817
+ }
1818
+ function a(e) {
1819
+ let t = (e.clipboardData?.getData("text"))?.replace(/[^a-z0-9]/gi, "");
1820
+ t && (r.value = t);
1821
+ }
1822
+ return (e, n) => (R(), k(H(K), I(t, {
1823
+ modelValue: r.value,
1824
+ "onUpdate:modelValue": n[0] ||= (e) => r.value = e,
1825
+ onKeydown: i,
1826
+ onPaste: lt(a, ["prevent"])
1827
+ }), null, 16, ["modelValue"]));
1828
+ }
1829
+ }), Ti = /* @__PURE__ */ F({
1830
+ __name: "CustomFieldCheckbox",
1831
+ props: {
1832
+ definition: {},
1833
+ form: {}
1834
+ },
1835
+ setup(e) {
1836
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`, t.definition.defaultValue);
1837
+ return (e, r) => (R(), j("div", null, [P(H(pt), I({ label: t.definition.displayName }, H(_)(H(n))), null, 16, ["label"])]));
1838
+ }
1839
+ }), Ei = /* @__PURE__ */ F({
1840
+ __name: "CustomFieldDate",
1841
+ props: {
1842
+ definition: {},
1843
+ form: {}
1844
+ },
1845
+ setup(e) {
1846
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`);
1847
+ return (e, r) => (R(), j("div", null, [P(H(mt), I({
1848
+ "min-date": t.definition.minDate,
1849
+ "max-date": t.definition.maxDate,
1850
+ label: t.definition.displayName
1851
+ }, H(_)(H(n))), null, 16, [
1852
+ "min-date",
1853
+ "max-date",
1854
+ "label"
1855
+ ])]));
1856
+ }
1857
+ }), Di = /* @__PURE__ */ F({
1858
+ __name: "CustomFieldMultiSelect",
1859
+ props: {
1860
+ definition: {},
1861
+ form: {}
1862
+ },
1863
+ setup(e) {
1864
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`, []);
1865
+ function r(e) {
1866
+ return t.definition.options.find((t) => t.key === e)?.value ?? e;
1867
+ }
1868
+ return (e, i) => (R(), k(H(wt), I(H(_)(H(n)), {
1869
+ "display-fn": r,
1870
+ label: t.definition.displayName,
1871
+ placeholder: t.definition.displayName
1872
+ }), {
1873
+ default: U(() => [(R(!0), j(D, null, B(t.definition.options, (e) => (R(), k(H(Tt), {
1874
+ key: e.key,
1875
+ value: e.key
1876
+ }, {
1877
+ default: U(() => [N(V(e.value), 1)]),
1878
+ _: 2
1879
+ }, 1032, ["value"]))), 128))]),
1880
+ _: 1
1881
+ }, 16, ["label", "placeholder"]));
1882
+ }
1883
+ }), Oi = /* @__PURE__ */ F({
1884
+ __name: "CustomFieldNumberField",
1885
+ props: {
1886
+ definition: {},
1887
+ form: {}
1888
+ },
1889
+ setup(e) {
1890
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`);
1891
+ return (e, r) => (R(), j("div", null, [P(H(yt), I({
1892
+ min: t.definition.minValue,
1893
+ max: t.definition.maxValue,
1894
+ label: t.definition.displayName,
1895
+ placeholder: t.definition.displayName,
1896
+ "hide-controls": !0
1897
+ }, H(_)(H(n))), null, 16, [
1898
+ "min",
1899
+ "max",
1900
+ "label",
1901
+ "placeholder"
1902
+ ])]));
1903
+ }
1904
+ }), ki = /* @__PURE__ */ F({
1905
+ __name: "CustomFieldRadio",
1906
+ props: {
1907
+ definition: {},
1908
+ form: {}
1909
+ },
1910
+ setup(e) {
1911
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`);
1912
+ return (e, r) => (R(), j("div", null, [P(H(St), I({ label: t.definition.displayName }, H(_)(H(n))), {
1913
+ default: U(() => [(R(!0), j(D, null, B(t.definition.options, (e) => (R(), k(H(Ct), {
1914
+ key: e.key,
1915
+ label: e.value,
1916
+ value: e.key
1917
+ }, null, 8, ["label", "value"]))), 128))]),
1918
+ _: 1
1919
+ }, 16, ["label"])]));
1920
+ }
1921
+ }), Ai = /* @__PURE__ */ F({
1922
+ __name: "CustomFieldSelect",
1923
+ props: {
1924
+ definition: {},
1925
+ form: {}
1926
+ },
1927
+ setup(e) {
1928
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`);
1929
+ function r(e) {
1930
+ let n = t.definition.options.find((t) => t.key === e);
1931
+ return n ? n.value : e;
1932
+ }
1933
+ return (e, i) => (R(), j("div", null, [P(H(wt), I({
1934
+ "display-fn": r,
1935
+ label: t.definition.displayName,
1936
+ placeholder: t.definition.displayName
1937
+ }, H(_)(H(n))), {
1938
+ default: U(() => [(R(!0), j(D, null, B(t.definition.options, (e) => (R(), k(H(Tt), {
1939
+ key: e.key,
1940
+ value: e.key
1941
+ }, {
1942
+ default: U(() => [N(V(e.value), 1)]),
1943
+ _: 2
1944
+ }, 1032, ["value"]))), 128))]),
1945
+ _: 1
1946
+ }, 16, ["label", "placeholder"])]));
1947
+ }
1948
+ }), ji = /* @__PURE__ */ F({
1949
+ __name: "CustomFieldString",
1950
+ props: {
1951
+ definition: {},
1952
+ form: {}
1953
+ },
1954
+ setup(e) {
1955
+ let t = e, n = t.form.register(`customFields.${t.definition.key}`);
1956
+ return (e, r) => (R(), j("div", null, [P(H(K), I({
1957
+ label: t.definition.displayName,
1958
+ placeholder: t.definition.displayName
1959
+ }, H(_)(H(n))), null, 16, ["label", "placeholder"])]));
1960
+ }
1961
+ }), Mi = /* @__PURE__ */ F({
1962
+ __name: "CustomFieldDefinitionForm",
1963
+ props: {
1964
+ customFieldDefinitions: {},
1965
+ form: {}
1966
+ },
1967
+ setup(e) {
1968
+ let t = e;
1969
+ function n(e) {
1970
+ return e === "full" ? "col-span-2" : "col-span-1";
1971
+ }
1972
+ return (r, i) => (R(), k(x, { cols: 2 }, {
1973
+ default: U(() => [(R(!0), j(D, null, B(t.customFieldDefinitions, (r) => (R(), j(D, { key: r.uuid }, [
1974
+ r.type === "string" ? (R(), k(ji, {
1975
+ key: 0,
1976
+ class: L(n(r.width)),
1977
+ form: e.form,
1978
+ definition: r
1979
+ }, null, 8, [
1980
+ "class",
1981
+ "form",
1982
+ "definition"
1983
+ ])) : A("", !0),
1984
+ r.type === "select" ? (R(), k(Ai, {
1985
+ key: 1,
1986
+ class: L(n(r.width)),
1987
+ form: e.form,
1988
+ definition: r
1989
+ }, null, 8, [
1990
+ "class",
1991
+ "form",
1992
+ "definition"
1993
+ ])) : A("", !0),
1994
+ r.type === "radio" ? (R(), k(ki, {
1995
+ key: 2,
1996
+ class: L(n(r.width)),
1997
+ form: e.form,
1998
+ definition: r
1999
+ }, null, 8, [
2000
+ "class",
2001
+ "form",
2002
+ "definition"
2003
+ ])) : A("", !0),
2004
+ r.type === "date" ? (R(), k(Ei, {
2005
+ key: 3,
2006
+ class: L(n(r.width)),
2007
+ form: e.form,
2008
+ definition: r
2009
+ }, null, 8, [
2010
+ "class",
2011
+ "form",
2012
+ "definition"
2013
+ ])) : A("", !0),
2014
+ r.type === "number" ? (R(), k(Oi, {
2015
+ key: 4,
2016
+ definition: r,
2017
+ class: L(n(r.width)),
2018
+ form: t.form
2019
+ }, null, 8, [
2020
+ "definition",
2021
+ "class",
2022
+ "form"
2023
+ ])) : A("", !0),
2024
+ r.type === "checkbox" ? (R(), k(Ti, {
2025
+ key: 5,
2026
+ definition: r,
2027
+ form: t.form,
2028
+ class: L(n(r.width))
2029
+ }, null, 8, [
2030
+ "definition",
2031
+ "form",
2032
+ "class"
2033
+ ])) : A("", !0),
2034
+ r.type === "multiselect" ? (R(), k(Di, {
2035
+ key: 6,
2036
+ form: t.form,
2037
+ class: L(n(r.width)),
2038
+ definition: r
2039
+ }, null, 8, [
2040
+ "form",
2041
+ "class",
2042
+ "definition"
2043
+ ])) : A("", !0)
2044
+ ], 64))), 128))]),
2045
+ _: 1
2046
+ }));
2047
+ }
2048
+ }), Ni = /* @__PURE__ */ F({
2049
+ __name: "ContactCreateDialogBusinessGeneralInfo",
2050
+ props: {
2051
+ isDataFromCbe: { type: Boolean },
2052
+ form: {}
2053
+ },
2054
+ emits: ["back", "next"],
2055
+ setup(e, { emit: t }) {
2056
+ let n = e, i = t, a = W(), o = r(), s = O(() => o.getCustomFieldDefinitionForEntity(w.BUSINESS).filter((e) => e.isDisplayedOnCreate)), c = n.form.register("name"), u = n.form.register("address"), d = n.form.register("companyNumber"), f = n.form.register("vatNumber");
2057
+ function p() {
2058
+ i("back");
2059
+ }
2060
+ function m() {
2061
+ n.form.blurAll(), c.isValid.value && u.isValid.value && f.isValid.value && d.isValid.value && i("next");
2062
+ }
2063
+ return (t, r) => (R(), k(x, { cols: 1 }, {
2064
+ default: U(() => [P(x, { cols: 2 }, {
2065
+ default: U(() => [
2066
+ P(H(K), I({
2067
+ "is-disabled": n.isDataFromCbe,
2068
+ "is-required": !0
2069
+ }, H(_)(H(c)), {
2070
+ label: H(a).t("wise_crm.contact.create_dialog.form.name"),
2071
+ placeholder: H(a).t("wise_crm.contact.create_dialog.form.name")
2072
+ }), null, 16, [
2073
+ "is-disabled",
2074
+ "label",
2075
+ "placeholder"
2076
+ ]),
2077
+ P(wi, I({ "is-disabled": n.isDataFromCbe }, H(_)(H(f)), {
2078
+ label: H(a).t("wise_crm.contact.create_dialog.form.vat_number"),
2079
+ placeholder: H(a).t("wise_crm.contact.create_dialog.form.vat_number")
2080
+ }), null, 16, [
2081
+ "is-disabled",
2082
+ "label",
2083
+ "placeholder"
2084
+ ]),
2085
+ P(H(dt), I({
2086
+ "is-disabled": n.isDataFromCbe,
2087
+ "is-required": !0,
2088
+ label: H(a).t("wise_crm.contact.create_dialog.form.fields.address"),
2089
+ placeholder: H(a).t("wise_crm.contact.create_dialog.form.fields.address")
2090
+ }, H(_)(H(u))), null, 16, [
2091
+ "is-disabled",
2092
+ "label",
2093
+ "placeholder"
2094
+ ]),
2095
+ P(H(K), I({
2096
+ label: H(a).t("wise_crm.contact.create_dialog.form.company_number"),
2097
+ placeholder: H(a).t("wise_crm.contact.create_dialog.form.company_number")
2098
+ }, H(_)(H(d))), null, 16, ["label", "placeholder"]),
2099
+ P(Mi, {
2100
+ "custom-field-definitions": s.value,
2101
+ form: e.form
2102
+ }, null, 8, ["custom-field-definitions", "form"])
2103
+ ]),
2104
+ _: 1
2105
+ }), P(l, null, {
2106
+ default: U(() => [P(H(G), {
2107
+ variant: "secondary",
2108
+ size: "lg",
2109
+ onClick: p
2110
+ }, {
2111
+ default: U(() => [N(V(H(a).t("wise_crm.shared.back")), 1)]),
2112
+ _: 1
2113
+ }), P(H(G), {
2114
+ size: "lg",
2115
+ onClick: m
2116
+ }, {
2117
+ default: U(() => [N(V(H(a).t("wise_crm.shared.next")), 1)]),
2118
+ _: 1
2119
+ })]),
2120
+ _: 1
2121
+ })]),
2122
+ _: 1
2123
+ }));
2124
+ }
2125
+ }), Pi = E.object({
2126
+ placeId: E.string().nullable().optional(),
2127
+ bus: E.string(),
2128
+ city: E.string().min(1),
2129
+ coordinates: E.object({
2130
+ lat: E.number().nullable(),
2131
+ lng: E.number().nullable()
2132
+ }),
2133
+ country: E.string().min(1),
2134
+ postalCode: E.string().min(1),
2135
+ street: E.string().min(1),
2136
+ streetNumber: E.string()
2137
+ }), Fi = tt.object({
2138
+ countryCode: tt.enum(Ye, { error: g.global.t("validation.vat_number.invalid_country_code") }),
2139
+ number: tt.string().min(1).regex(/^\d+$/, g.global.t("validation.vat_number.numbers_only"))
2140
+ }), Ii = class {
2141
+ static getZodType(e) {
2142
+ return e.reduce((e, t) => {
2143
+ switch (t.type) {
2144
+ case "multiselect":
2145
+ e[t.key] = E.string().array().default([]).superRefine((e, n) => {
2146
+ t.minSelections !== void 0 && e.length < t.minSelections && n.addIssue({
2147
+ code: E.ZodIssueCode.custom,
2148
+ message: `At least ${t.minSelections} selections are required`
2149
+ }), t.maxSelections !== void 0 && e.length > t.maxSelections && n.addIssue({
2150
+ code: E.ZodIssueCode.custom,
2151
+ message: `At most ${t.maxSelections} selections are allowed`
2152
+ });
2153
+ });
2154
+ break;
2155
+ case "checkbox":
2156
+ e[t.key] = E.boolean();
2157
+ break;
2158
+ case "radio":
2159
+ e[t.key] = E.string().nullable();
2160
+ break;
2161
+ case "select":
2162
+ e[t.key] = E.string().nullable().superRefine((e, t) => {
2163
+ e === "" && t.addIssue({
2164
+ code: E.ZodIssueCode.custom,
2165
+ message: "Selection is required"
2166
+ });
2167
+ });
2168
+ break;
2169
+ case "number":
2170
+ e[t.key] = E.number().nullable().superRefine((e, n) => {
2171
+ e !== null && t.minValue !== void 0 && e < t.minValue && n.addIssue({
2172
+ code: E.ZodIssueCode.custom,
2173
+ message: `Minimum value is ${t.minValue}`
2174
+ }), e !== null && t.maxValue !== void 0 && e > t.maxValue && n.addIssue({
2175
+ code: E.ZodIssueCode.custom,
2176
+ message: `Maximum value is ${t.maxValue}`
2177
+ });
2178
+ });
2179
+ break;
2180
+ case "date":
2181
+ e[t.key] = Ie.nullable().superRefine((e, n) => {
2182
+ e !== null && t.minDate !== void 0 && e < t.minDate && n.addIssue({
2183
+ code: E.ZodIssueCode.custom,
2184
+ message: `Minimum date is ${t.minDate}`
2185
+ }), e !== null && t.maxDate !== void 0 && e > t.maxDate && n.addIssue({
2186
+ code: E.ZodIssueCode.custom,
2187
+ message: `Maximum date is ${t.maxDate}`
2188
+ });
2189
+ });
2190
+ break;
2191
+ default: e[t.key] = E.string().nullable();
2192
+ }
2193
+ return e;
2194
+ }, {});
2195
+ }
2196
+ }, Li = E.object({
2197
+ email: E.email().nullable(),
2198
+ firstName: E.string().min(1),
2199
+ lastName: E.string().min(1),
2200
+ mobilePhone: le.nullable(),
2201
+ phone: le.nullable()
2202
+ });
2203
+ E.object({
2204
+ childUuid: J.nullable(),
2205
+ individualUuid: me.nullable(),
2206
+ parentUuid: J.nullable(),
2207
+ name: E.string().min(1),
2208
+ address: Pi,
2209
+ companyNumber: E.string().nullable(),
2210
+ customFields: E.object(Ii.getZodType([])).nullable(),
2211
+ individual: Li.nullable(),
2212
+ individualPosition: E.string().nullable(),
2213
+ vatNumber: Fi.nullable()
2214
+ });
2215
+ function Ri(e) {
2216
+ return E.object({
2217
+ childUuid: J.nullable(),
2218
+ individualUuid: me.nullable(),
2219
+ parentUuid: J.nullable(),
2220
+ name: E.string().min(1),
2221
+ address: Pi,
2222
+ companyNumber: E.string().nullable(),
2223
+ customFields: E.object(Ii.getZodType(e)).nullable(),
2224
+ individual: Li.nullable(),
2225
+ individualPosition: E.string().nullable(),
2226
+ vatNumber: Fi.nullable()
2227
+ });
2228
+ }
2229
+ //#endregion
2230
+ //#region src/dialogs/contact-create/components/ContactCreateDialogBusinessForm.vue?vue&type=script&setup=true&lang.ts
2231
+ var Q = /* @__PURE__ */ function(e) {
2232
+ return e.MANUAL_BUSINESS = "manual_business", e.MANUAL_CONTACT_PERSON = "manual_contact_person", e.SEARCH_BUSINESS = "search_business", e.SEARCH_CONTACT_PERSON = "search_contact_person", e;
2233
+ }(Q || {}), zi = /* @__PURE__ */ F({
2234
+ __name: "ContactCreateDialogBusinessForm",
2235
+ props: { onSubmit: { type: Function } },
2236
+ emits: ["back"],
2237
+ setup(e, { emit: n }) {
2238
+ let i = e, a = n, c = W(), l = te(), u = r(), { geocodeAddress: d } = _n(), f = O(() => l.getEntityConfig(w.BUSINESS)), p = z(!1), m = z(Q.SEARCH_BUSINESS), h = O(() => m.value === Q.MANUAL_CONTACT_PERSON || m.value === Q.SEARCH_CONTACT_PERSON ? c.t("wise_crm.contact.create_dialog.form.contact_person_title") : c.t("wise_crm.contact.create_dialog.form.title", { value: f.value?.name ?? "-" })), ee = O(() => m.value === Q.MANUAL_CONTACT_PERSON || m.value === Q.SEARCH_CONTACT_PERSON ? c.t("wise_crm.contact.create_dialog.form.contact_person_description") : c.t("wise_crm.contact.create_dialog.form.description")), g = At({
2239
+ initialState: {
2240
+ childUuid: null,
2241
+ individualUuid: null,
2242
+ parentUuid: null,
2243
+ name: null,
2244
+ address: null,
2245
+ companyNumber: null,
2246
+ customFields: null,
2247
+ individual: null,
2248
+ individualPosition: null,
2249
+ vatNumber: null
2250
+ },
2251
+ schema: Ri(O(() => u.getCustomFieldDefinitionForEntity(w.BUSINESS).filter((e) => e.isDisplayedOnCreate)).value),
2252
+ onSubmit: async (e) => {
2253
+ await i.onSubmit(e);
2254
+ }
2255
+ }), _ = g.register("name"), ne = g.register("address"), v = g.register("companyNumber"), re = g.register("vatNumber");
2256
+ function ie(e) {
2257
+ if (e === Q.SEARCH_BUSINESS) {
2258
+ a("back");
2259
+ return;
2260
+ }
2261
+ if (e === Q.MANUAL_BUSINESS) {
2262
+ m.value = Q.SEARCH_BUSINESS;
2263
+ return;
2264
+ }
2265
+ if (e === Q.SEARCH_CONTACT_PERSON) {
2266
+ m.value = Q.MANUAL_BUSINESS;
2267
+ return;
2268
+ }
2269
+ e === Q.MANUAL_CONTACT_PERSON && (m.value = Q.SEARCH_CONTACT_PERSON);
2270
+ }
2271
+ function ae() {
2272
+ _.setValue(null), ne.setValue(null), v.setValue(null), re.setValue(null), p.value = !1, m.value = Q.MANUAL_BUSINESS;
2273
+ }
2274
+ async function oe(e) {
2275
+ if (e === null) return;
2276
+ m.value = Q.MANUAL_BUSINESS, p.value = !0;
2277
+ let t = e.uuid.replace(/\./g, "");
2278
+ if (_.setValue(e.name), e.address !== null) {
2279
+ let t = await d(e.address);
2280
+ ne.setValue({
2281
+ ...e.address,
2282
+ coordinates: t ?? {
2283
+ lat: null,
2284
+ lng: null
2285
+ },
2286
+ country: Ye.BE
2287
+ });
2288
+ } else ne.setValue(null);
2289
+ re.setValue({
2290
+ countryCode: Ye.BE,
2291
+ number: t
2292
+ }), v.setValue(t);
2293
+ }
2294
+ return (e, n) => (R(), k(o, { class: "gap-xl flex flex-1 flex-col overflow-hidden" }, {
2295
+ default: U(() => [P(t, { color: H(l).getEntityConfig(H(w).BUSINESS)?.color ?? null }, {
2296
+ default: U(() => [P(we, {
2297
+ title: h.value,
2298
+ description: ee.value,
2299
+ icon: "user"
2300
+ }, {
2301
+ "closse-button": U(() => [P(H(gt))]),
2302
+ _: 1
2303
+ }, 8, ["title", "description"])]),
2304
+ _: 1
2305
+ }, 8, ["color"]), P(s, {
2306
+ "can-exit-when-dirty": !0,
2307
+ form: H(g),
2308
+ class: "flex flex-1 flex-col"
2309
+ }, {
2310
+ default: U(() => [
2311
+ m.value === Q.SEARCH_BUSINESS ? (R(), k(di, {
2312
+ key: 0,
2313
+ onCreateNew: ae,
2314
+ onUpdateCbeSearchItem: oe,
2315
+ onBack: n[0] ||= (e) => ie(Q.SEARCH_BUSINESS)
2316
+ })) : A("", !0),
2317
+ m.value === Q.MANUAL_BUSINESS ? (R(), k(Ni, {
2318
+ key: 1,
2319
+ form: H(g),
2320
+ "is-data-from-cbe": p.value,
2321
+ onBack: n[1] ||= (e) => ie(Q.MANUAL_BUSINESS),
2322
+ onNext: n[2] ||= (e) => m.value = Q.SEARCH_CONTACT_PERSON
2323
+ }, null, 8, ["form", "is-data-from-cbe"])) : A("", !0),
2324
+ m.value === Q.SEARCH_CONTACT_PERSON ? (R(), k(Ci, {
2325
+ key: 2,
2326
+ "is-submitting": H(g).isSubmitting.value,
2327
+ "require-individual-on-create": H(u).getConfig().businessConfig.requireIndividualOnCreate ?? !1,
2328
+ form: H(g),
2329
+ onBack: n[3] ||= (e) => ie(Q.SEARCH_CONTACT_PERSON),
2330
+ onNext: n[4] ||= (e) => m.value = Q.MANUAL_CONTACT_PERSON
2331
+ }, null, 8, [
2332
+ "is-submitting",
2333
+ "require-individual-on-create",
2334
+ "form"
2335
+ ])) : A("", !0),
2336
+ m.value === Q.MANUAL_CONTACT_PERSON ? (R(), k(Si, {
2337
+ key: 3,
2338
+ form: H(g),
2339
+ onBack: n[5] ||= (e) => ie(Q.MANUAL_CONTACT_PERSON)
2340
+ }, null, 8, ["form"])) : A("", !0)
2341
+ ]),
2342
+ _: 1
2343
+ }, 8, ["form"])]),
2344
+ _: 1
2345
+ }));
2346
+ }
2347
+ }), Bi = /* @__PURE__ */ F({
2348
+ __name: "BusinessAddChildBusinessDialog",
2349
+ props: { businessUuid: {} },
2350
+ emits: ["close"],
2351
+ setup(e, { emit: t }) {
2352
+ let n = e, r = t, i = W(), a = v(), s = z(!1), c = z(null), l = $t(), u = Qt();
2353
+ function d() {
2354
+ r("close");
2355
+ }
2356
+ async function f(e) {
2357
+ try {
2358
+ let t = await l.execute({ body: e });
2359
+ await u.execute({ params: {
2360
+ childUuid: t,
2361
+ parentUuid: n.businessUuid
2362
+ } }), r("close");
2363
+ } catch (e) {
2364
+ a.show(e);
2365
+ }
2366
+ }
2367
+ async function p(e) {
2368
+ try {
2369
+ await u.execute({ params: {
2370
+ childUuid: e,
2371
+ parentUuid: n.businessUuid
2372
+ } }), r("close");
2373
+ } catch (e) {
2374
+ a.show(e);
2375
+ }
2376
+ }
2377
+ function m() {
2378
+ s.value = !1;
2379
+ }
2380
+ function h() {
2381
+ s.value = !0;
2382
+ }
2383
+ return (e, t) => (R(), k(H(ht), {
2384
+ "class-config": { content: "max-w-xl w-full" },
2385
+ onClose: d
2386
+ }, {
2387
+ default: U(() => [s.value ? (R(), k(zi, {
2388
+ key: 0,
2389
+ "on-submit": f,
2390
+ onBack: m
2391
+ })) : (R(), k(o, {
2392
+ key: 1,
2393
+ class: "gap-xl flex flex-1 flex-col"
2394
+ }, {
2395
+ default: U(() => [P(we, {
2396
+ title: H(i).t("wise_crm.info_dialog.add_business_child_dialog.title"),
2397
+ description: H(i).t("wise_crm.info_dialog.add_business_child_dialog.description"),
2398
+ icon: "building"
2399
+ }, {
2400
+ "closse-button": U(() => [P(H(gt))]),
2401
+ _: 1
2402
+ }, 8, ["title", "description"]), P(tn, {
2403
+ modelValue: c.value,
2404
+ "onUpdate:modelValue": t[0] ||= (e) => c.value = e,
2405
+ "parent-business-uuid": n.businessUuid,
2406
+ "on-submit": p,
2407
+ onCreateNew: h
2408
+ }, null, 8, ["modelValue", "parent-business-uuid"])]),
2409
+ _: 1
2410
+ }))]),
2411
+ _: 1
2412
+ }));
2413
+ }
2414
+ });
2415
+ //#endregion
2416
+ //#region src/api/mutations/business/businessLinkContactPerson.mutation.ts
2417
+ function Vi() {
2418
+ return C({
2419
+ queryFn: async ({ body: e, params: t }) => await Y.linkContactPerson(t.businessUuid, e.contactPersonUuid, e.position, e.contactInfo),
2420
+ queryKeysToInvalidate: {
2421
+ businessIndex: {},
2422
+ wiseCrmBusinessDetail: { businessUuid: (e) => e.businessUuid }
2423
+ }
2424
+ });
2425
+ }
2426
+ //#endregion
2427
+ //#region src/business/dialogs/BusinessContactPersonCreateDialog.vue
2428
+ var Hi = /* @__PURE__ */ F({
2429
+ __name: "BusinessContactPersonCreateDialog",
2430
+ props: {
2431
+ businessUuid: {},
2432
+ isCreatingNewContactPerson: {
2433
+ type: Boolean,
2434
+ default: !1
2435
+ }
2436
+ },
2437
+ emits: ["close", "createNewContactPerson"],
2438
+ setup(e, { emit: t }) {
2439
+ let n = e, r = t, i = W(), a = v(), o = Vi(), s = ue();
2440
+ async function c(e) {
2441
+ try {
2442
+ let t = await s.execute({ body: {
2443
+ email: e.email,
2444
+ firstName: e.firstName,
2445
+ lastName: e.lastName,
2446
+ mobilePhone: e.mobilePhone,
2447
+ phone: e.phone
2448
+ } });
2449
+ n.isCreatingNewContactPerson || await o.execute({
2450
+ body: {
2451
+ contactPersonUuid: t,
2452
+ contactInfo: {
2453
+ email: e.email,
2454
+ mobilePhone: e.mobilePhone,
2455
+ phone: e.phone
2456
+ },
2457
+ position: e.position
2458
+ },
2459
+ params: { businessUuid: n.businessUuid }
2460
+ }), u({
2461
+ label: `${e.firstName} ${e.lastName}`,
2462
+ value: t
2463
+ });
2464
+ } catch (e) {
2465
+ a.show(e);
2466
+ }
2467
+ }
2468
+ async function l(e, t, r) {
2469
+ if (e !== null) try {
2470
+ await o.execute({
2471
+ body: {
2472
+ contactPersonUuid: e,
2473
+ contactInfo: t,
2474
+ position: r
2475
+ },
2476
+ params: { businessUuid: n.businessUuid }
2477
+ }), u();
2478
+ } catch (e) {
2479
+ a.show(e);
2480
+ }
2481
+ }
2482
+ function u(e) {
2483
+ if (e === void 0) {
2484
+ r("close");
2485
+ return;
2486
+ }
2487
+ r("createNewContactPerson", e), r("close");
2488
+ }
2489
+ return (e, t) => (R(), k(he, {
2490
+ title: H(i).t("wise_crm.info_dialog.contact_person_create.title"),
2491
+ description: H(i).t("wise_crm.info_dialog.contact_person_create.description"),
2492
+ onClose: u
2493
+ }, {
2494
+ default: U(() => [P(Ae, {
2495
+ "on-submit": c,
2496
+ "on-link-contact-person": l,
2497
+ onClose: u
2498
+ })]),
2499
+ _: 1
2500
+ }, 8, ["title", "description"]));
2501
+ }
2502
+ });
2503
+ //#endregion
2504
+ //#region src/api/mutations/business/businessContactPersonUpdate.mutation.ts
2505
+ function Ui() {
2506
+ return C({
2507
+ queryFn: async ({ body: e, params: t }) => await Y.updateContactPerson(t.businessUuid, t.contactPersonUuid, e),
2508
+ queryKeysToInvalidate: {
2509
+ businessIndex: {},
2510
+ contactPersonDetail: { contactPersonUuid: (e) => e.contactPersonUuid },
2511
+ wiseCrmBusinessDetail: { businessUuid: (e) => e.businessUuid }
2512
+ }
2513
+ });
2514
+ }
2515
+ //#endregion
2516
+ //#region src/api/queries/business/businessContactPersonDetail.query.ts
2517
+ function Wi(e, t) {
2518
+ return Le({
2519
+ isEnabled: O(() => e.value !== null && t.value !== null),
2520
+ queryFn: () => {
2521
+ if (e.value === null) throw Error("Individual UUID is null");
2522
+ if (t.value === null) throw Error("Contact Person UUID is null");
2523
+ return Y.getContactPerson(e.value, t.value);
2524
+ },
2525
+ queryKey: { contactPersonDetail: { contactPersonUuid: t } }
2526
+ });
2527
+ }
2528
+ //#endregion
2529
+ //#region src/business/content/BusinessContactPersonUpdateForm.vue
2530
+ var Gi = /* @__PURE__ */ F({
2531
+ __name: "BusinessContactPersonUpdateForm",
2532
+ props: {
2533
+ contactPerson: {},
2534
+ onSubmit: { type: Function }
2535
+ },
2536
+ setup(e) {
2537
+ let t = e, n = W(), r = At({
2538
+ initialState: {
2539
+ email: t.contactPerson.email,
2540
+ firstName: t.contactPerson.firstName,
2541
+ lastName: t.contactPerson.lastName,
2542
+ mobilePhone: t.contactPerson.mobilePhone,
2543
+ phone: t.contactPerson.phone,
2544
+ position: t.contactPerson.position
2545
+ },
2546
+ schema: Te,
2547
+ onSubmit: async (e) => {
2548
+ await t.onSubmit(e);
2549
+ }
2550
+ });
2551
+ return (e, t) => (R(), k(Me, { form: H(r) }, {
2552
+ actions: U(() => [P(a, null, {
2553
+ default: U(() => [P(p, {
2554
+ "is-loading": H(r).isSubmitting.value,
2555
+ label: H(n).t("wise_crm.shared.save_changes")
2556
+ }, null, 8, ["is-loading", "label"])]),
2557
+ _: 1
2558
+ })]),
2559
+ _: 1
2560
+ }, 8, ["form"]));
2561
+ }
2562
+ }), Ki = /* @__PURE__ */ F({
2563
+ __name: "BusinessContactPersonUpdateDialog",
2564
+ props: {
2565
+ businessUuid: {},
2566
+ contactPersonUuid: {}
2567
+ },
2568
+ emits: ["close"],
2569
+ setup(e, { emit: t }) {
2570
+ let n = e, r = t, i = W(), a = v(), o = Ui(), s = Wi(O(() => n.businessUuid), O(() => n.contactPersonUuid));
2571
+ async function c(e) {
2572
+ try {
2573
+ await o.execute({
2574
+ body: e,
2575
+ params: {
2576
+ businessUuid: n.businessUuid,
2577
+ contactPersonUuid: n.contactPersonUuid
2578
+ }
2579
+ }), r("close");
2580
+ } catch (e) {
2581
+ a.show(e);
2582
+ }
2583
+ }
2584
+ function l() {
2585
+ r("close");
2586
+ }
2587
+ return (e, t) => (R(), k(he, {
2588
+ title: H(i).t("wise_crm.info_dialog.contact_person_update.title"),
2589
+ description: H(i).t("wise_crm.info_dialog.contact_person_create.description"),
2590
+ onClose: l
2591
+ }, {
2592
+ default: U(() => [H(s).data.value ? (R(), k(Gi, {
2593
+ key: 0,
2594
+ "business-uuid": n.businessUuid,
2595
+ "on-submit": c,
2596
+ "contact-person": H(s).data.value,
2597
+ onClose: l
2598
+ }, null, 8, ["business-uuid", "contact-person"])) : A("", !0)]),
2599
+ _: 1
2600
+ }, 8, ["title", "description"]));
2601
+ }
2602
+ }), qi = { class: "gap-md flex items-start" }, Ji = { class: "flex-1" }, Yi = {
2603
+ key: 0,
2604
+ class: "mt-xxs"
2605
+ }, Xi = { class: "text-secondary flex flex-1 items-center justify-between" }, Zi = { class: "gap-sm flex items-center" }, Qi = { class: "font-semibold" }, $i = { class: "gap-md p-md flex w-full flex-col" }, ea = /* @__PURE__ */ F({
2606
+ __name: "BusinessDetailSidebarAccordionBusinessInfoChildren",
2607
+ props: { business: {} },
2608
+ emits: ["addChild"],
2609
+ setup(e, { emit: t }) {
2610
+ let n = e, r = t, a = W(), o = i(), s = O(() => n.business.children), c = O(() => s.value.length > 1 ? a.t("wise_crm.shared.departments_amount", { value: s.value.length }) : s.value[0]?.name ?? "");
2611
+ function l() {
2612
+ r("addChild");
2613
+ }
2614
+ function u(e) {
2615
+ o.open(w.BUSINESS, e);
2616
+ }
2617
+ return (e, t) => (R(), j("div", qi, [P(H(_t), {
2618
+ icon: "layersTree",
2619
+ class: "mt-xs size-4 shrink-0"
2620
+ }), M("div", Ji, [
2621
+ n.business.parent === null ? A("", !0) : (R(), j("div", Yi, [P(ie, {
2622
+ "class-config": { root: "bg-transparent w-min border-none text-primary shadow-none h-auto hover:underline p-0 font-regular" },
2623
+ "entity-type": H(w).BUSINESS,
2624
+ uuid: n.business.parent.uuid
2625
+ }, {
2626
+ default: U(() => [N(V(n.business.parent.name), 1)]),
2627
+ _: 1
2628
+ }, 8, ["entity-type", "uuid"])])),
2629
+ M("div", Xi, [M("div", Zi, [n.business.parent === null ? A("", !0) : (R(), k(H(_t), {
2630
+ key: 0,
2631
+ icon: "timeLineMarker",
2632
+ class: "text-brand-500 size-4"
2633
+ })), M("p", Qi, V(n.business.name), 1)]), P(H(vt), {
2634
+ "class-config": {
2635
+ root: "bg-transparent border-none h-auto w-auto p-xs shadow-none rounded-sm data-[loading=false]:not-disabled:hover:bg-secondary/50 duration-300",
2636
+ icon: "text-quaternary size-4"
2637
+ },
2638
+ label: H(a).t("wise_crm.info_dialog.sidebar.business.add_icon"),
2639
+ icon: "plus",
2640
+ onClick: l
2641
+ }, null, 8, ["label"])]),
2642
+ s.value.length > 0 ? (R(), j("div", {
2643
+ key: 1,
2644
+ class: L([{ "ml-2xl": n.business.parent !== null }, "gap-sm flex items-center"])
2645
+ }, [P(H(_t), {
2646
+ icon: "timeLineMarker",
2647
+ class: "text-brand-500 size-4"
2648
+ }), P(H(xt), {
2649
+ "is-popover-arrow-hidden": !0,
2650
+ "class-config": { content: "w-100" },
2651
+ "popover-align": "start",
2652
+ "popover-side": "right"
2653
+ }, {
2654
+ trigger: U(() => [P(H(G), {
2655
+ "class-config": { root: "bg-transparent text-primary text-sm border-none p-0 h-auto rounded-none shadow-none font-normal" },
2656
+ variant: "secondary",
2657
+ class: "underline"
2658
+ }, {
2659
+ default: U(() => [N(V(c.value), 1)]),
2660
+ _: 1
2661
+ })]),
2662
+ content: U(() => [M("div", $i, [P(oe, {
2663
+ "default-values": s.value[0]?.uuid ?? "",
2664
+ type: "single"
2665
+ }, {
2666
+ default: U(() => [(R(!0), j(D, null, B(s.value, (e) => (R(), k(ye, {
2667
+ key: e.uuid,
2668
+ label: e.name,
2669
+ value: e.uuid,
2670
+ icon: "building"
2671
+ }, {
2672
+ actions: U(() => [P(H(vt), {
2673
+ "class-config": {
2674
+ root: "bg-transparent border-none h-auto w-auto p-xs shadow-none rounded-sm data-[loading=false]:not-disabled:hover:bg-secondary/50 duration-300",
2675
+ icon: "text-quaternary size-4"
2676
+ },
2677
+ label: H(a).t("wise_crm.info_dialog.sidebar.business.add_icon"),
2678
+ icon: "linkExternal",
2679
+ onClick: (t) => u(e.uuid)
2680
+ }, null, 8, ["label", "onClick"])]),
2681
+ default: U(() => [P(_e, { class: "gap-md flex flex-col" }, {
2682
+ default: U(() => [
2683
+ P(y, {
2684
+ label: e.vatNumber ?? "-",
2685
+ icon: "buildings"
2686
+ }, null, 8, ["label"]),
2687
+ P(y, {
2688
+ label: e.email ?? "-",
2689
+ icon: "mail"
2690
+ }, null, 8, ["label"]),
2691
+ P(y, {
2692
+ label: e.mobilePhone ?? e.phone ?? "-",
2693
+ icon: "phone"
2694
+ }, null, 8, ["label"]),
2695
+ P(y, {
2696
+ label: e.address ? H(Ee).formatShort(e.address) : "-",
2697
+ icon: "locationPin"
2698
+ }, null, 8, ["label"])
2699
+ ]),
2700
+ _: 2
2701
+ }, 1024)]),
2702
+ _: 2
2703
+ }, 1032, ["label", "value"]))), 128))]),
2704
+ _: 1
2705
+ }, 8, ["default-values"])])]),
2706
+ _: 1
2707
+ })], 2)) : A("", !0)
2708
+ ])]));
2709
+ }
2710
+ }), ta = class {
2711
+ static format(e) {
2712
+ return e === null ? "" : `${e.countryCode}${e.number}`;
2713
+ }
2714
+ }, na = { class: "gap-md flex flex-col" }, ra = { class: "gap-sm border-secondary pb-sm flex flex-col border-b" }, ia = { class: "pt-lg" }, aa = /* @__PURE__ */ F({
2715
+ __name: "BusinessDetailSidebarAccordionBusinessInfo",
2716
+ props: { business: {} },
2717
+ emits: ["addChild"],
2718
+ setup(e, { emit: t }) {
2719
+ let n = e, r = t, i = W();
2720
+ function a() {
2721
+ r("addChild");
2722
+ }
2723
+ return (t, r) => (R(), j("div", na, [P(_e, null, {
2724
+ default: U(() => [M("div", ra, [P(y, {
2725
+ label: n.business.vatNumber ? H(ta).format(n.business.vatNumber) : "-",
2726
+ icon: "buildings"
2727
+ }, null, 8, ["label"]), P(ea, {
2728
+ business: e.business,
2729
+ onAddChild: a
2730
+ }, null, 8, ["business"])]), M("div", ia, [P(y, {
2731
+ label: H(i).t("wise_crm.info_dialog.sidebar.overview.created_at_label", { value: n.business.createdAt ? H(Re)().toDateTime(n.business.createdAt) : "-" }),
2732
+ icon: "clockPlus"
2733
+ }, null, 8, ["label"])])]),
2734
+ _: 1
2735
+ }), P(De, { address: n.business.address }, null, 8, ["address"])]));
2736
+ }
2737
+ }), oa = /* @__PURE__ */ F({
2738
+ __name: "BusinessDetailSidebarOverviewContent",
2739
+ props: { business: {} },
2740
+ setup(e) {
2741
+ let t = e, n = W(), r = v(), i = q(ne), a = Xt(), o = Zt(), s = q(Hi), c = q(Ki), l = q(Bi), u = O(() => t.business.contactPersons.length > 0);
2742
+ function d() {
2743
+ s.open({ businessUuid: t.business.uuid });
2744
+ }
2745
+ function f(e) {
2746
+ c.open({
2747
+ businessUuid: t.business.uuid,
2748
+ contactPersonUuid: e
2749
+ });
2750
+ }
2751
+ function p(e) {
2752
+ i.open({
2753
+ title: n.t("wise_crm.info_dialog.sidebar.overview.delete_contact_person_title"),
2754
+ isDestructive: !0,
2755
+ isLoading: o.isLoading.value,
2756
+ confirmText: n.t("shared.delete"),
2757
+ description: n.t("wise_crm.info_dialog.sidebar.overview.delete_contact_person_description"),
2758
+ onConfirm: async () => {
2759
+ try {
2760
+ await o.execute({
2761
+ body: { contactPersonUuid: e },
2762
+ params: { businessUuid: t.business.uuid }
2763
+ });
2764
+ } catch (e) {
2765
+ r.show(e);
2766
+ } finally {
2767
+ i.close();
2768
+ }
2769
+ }
2770
+ });
2771
+ }
2772
+ function m(e) {
2773
+ a.execute({ params: {
2774
+ businessUuid: t.business.uuid,
2775
+ contactPersonUuid: e
2776
+ } });
2777
+ }
2778
+ function h() {
2779
+ l.open({ businessUuid: t.business.uuid });
2780
+ }
2781
+ return (r, i) => (R(), k(oe, { "default-values": [
2782
+ "business",
2783
+ "invoice",
2784
+ "contact-persons"
2785
+ ] }, {
2786
+ default: U(() => [
2787
+ P(ye, {
2788
+ label: H(n).t("wise_crm.info_dialog.sidebar.overview.business_info"),
2789
+ value: "business",
2790
+ icon: "infoCircle"
2791
+ }, {
2792
+ default: U(() => [P(aa, {
2793
+ business: e.business,
2794
+ onAddChild: h
2795
+ }, null, 8, ["business"])]),
2796
+ _: 1
2797
+ }, 8, ["label"]),
2798
+ P(ye, {
2799
+ "is-empty": t.business.billingInformation === null,
2800
+ label: H(n).t("wise_crm.info_dialog.sidebar.overview.invoice_label"),
2801
+ value: "invoice",
2802
+ icon: "wallet"
2803
+ }, {
2804
+ default: U(() => [t.business.billingInformation ? (R(), k(je, {
2805
+ key: 0,
2806
+ "invoice-address": t.business.billingInformation?.location?.address ?? null,
2807
+ "invoice-email": t.business.billingInformation?.invoiceEmail
2808
+ }, null, 8, ["invoice-address", "invoice-email"])) : A("", !0)]),
2809
+ _: 1
2810
+ }, 8, ["is-empty", "label"]),
2811
+ P(ye, {
2812
+ "is-empty": !u.value,
2813
+ label: H(n).t("wise_crm.info_dialog.sidebar.overview.contact_persons_label"),
2814
+ value: "contact-persons",
2815
+ icon: "userCircle",
2816
+ onAdd: d
2817
+ }, {
2818
+ actions: U(() => [u.value ? A("", !0) : (R(), k(de, {
2819
+ key: 0,
2820
+ label: H(n).t("wise_crm.info_dialog.sidebar.overview.contact_persons_label"),
2821
+ class: "z-1",
2822
+ icon: "plus",
2823
+ onClick: d
2824
+ }, null, 8, ["label"]))]),
2825
+ default: U(() => [(R(!0), j(D, null, B(t.business.contactPersons, (e) => (R(), k(H(jt), {
2826
+ key: e.uuid,
2827
+ "layout-id": e.uuid
2828
+ }, {
2829
+ default: U(() => [P(ke, {
2830
+ "contact-person": e,
2831
+ "on-toggle-is-primary": () => m(e.uuid),
2832
+ onUpdate: (t) => f(e.uuid),
2833
+ onDelete: (t) => p(e.uuid)
2834
+ }, null, 8, [
2835
+ "contact-person",
2836
+ "on-toggle-is-primary",
2837
+ "onUpdate",
2838
+ "onDelete"
2839
+ ])]),
2840
+ _: 2
2841
+ }, 1032, ["layout-id"]))), 128)), u.value ? (R(), k(H(G), {
2842
+ key: 0,
2843
+ variant: "tertiary",
2844
+ size: "sm",
2845
+ "icon-left": "plus",
2846
+ onClick: d
2847
+ }, {
2848
+ default: U(() => [N(V(H(n).t("wise_crm.shared.add")), 1)]),
2849
+ _: 1
2850
+ })) : A("", !0)]),
2851
+ _: 1
2852
+ }, 8, ["is-empty", "label"])
2853
+ ]),
2854
+ _: 1
2855
+ }));
2856
+ }
2857
+ }), $ = /* @__PURE__ */ function(e) {
2858
+ return e.ACTIVITY = "activity", e.NOTES = "notes", e.OVERVIEW = "overview", e;
2859
+ }($ || {}), sa = /* @__PURE__ */ F({
2860
+ __name: "BusinessDetailSidebar",
2861
+ props: { business: {} },
2862
+ setup(e) {
2863
+ let n = e, r = W(), i = te(), a = O(() => i.getEntityConfig(w.BUSINESS)), o = z($.OVERVIEW), s = O(() => [
2864
+ {
2865
+ icon: "infoCircle",
2866
+ label: r.t("wise_crm.shared.overview"),
2867
+ value: $.OVERVIEW
2868
+ },
2869
+ {
2870
+ icon: "activity",
2871
+ label: r.t("wise_crm.shared.activity"),
2872
+ value: $.ACTIVITY
2873
+ },
2874
+ {
2875
+ icon: "book",
2876
+ label: r.t("wise_crm.shared.notes"),
2877
+ value: $.NOTES
2878
+ }
2879
+ ]);
2880
+ return (e, r) => (R(), k(t, {
2881
+ color: H(i).getEntityConfig(H(w).BUSINESS)?.color ?? null,
2882
+ class: "flex h-full flex-col"
2883
+ }, {
2884
+ default: U(() => [P(Ne, {
2885
+ "entity-type": H(w).BUSINESS,
2886
+ name: n.business.name,
2887
+ address: n.business.address,
2888
+ email: n.business.email,
2889
+ "mobile-phone": n.business.mobilePhone,
2890
+ "entity-name": a.value?.name ?? null,
2891
+ phone: n.business.phone
2892
+ }, null, 8, [
2893
+ "entity-type",
2894
+ "name",
2895
+ "address",
2896
+ "email",
2897
+ "mobile-phone",
2898
+ "entity-name",
2899
+ "phone"
2900
+ ]), P(ve, {
2901
+ modelValue: o.value,
2902
+ "onUpdate:modelValue": r[0] ||= (e) => o.value = e,
2903
+ tabs: s.value
2904
+ }, {
2905
+ default: U(() => [
2906
+ o.value === $.OVERVIEW ? (R(), k(oa, {
2907
+ key: 0,
2908
+ business: n.business
2909
+ }, null, 8, ["business"])) : A("", !0),
2910
+ o.value === $.ACTIVITY ? (R(), k(Kt, {
2911
+ key: 1,
2912
+ business: n.business
2913
+ }, null, 8, ["business"])) : A("", !0),
2914
+ o.value === $.NOTES ? (R(), k(Yt, {
2915
+ key: 2,
2916
+ business: n.business
2917
+ }, null, 8, ["business"])) : A("", !0)
2918
+ ]),
2919
+ _: 1
2920
+ }, 8, ["modelValue", "tabs"])]),
2921
+ _: 1
2922
+ }, 8, ["color"]));
2923
+ }
2924
+ }), ca = /* @__PURE__ */ F({
2925
+ __name: "BusinessDetailSidebarProvider",
2926
+ props: { businessUuid: {} },
2927
+ setup(e) {
2928
+ let t = e, n = W(), r = Wt(O(() => t.businessUuid)), i = O(() => r.data.value ?? null);
2929
+ return (e, t) => (R(), k(ge, null, {
2930
+ default: U(() => [H(r).isError.value ? (R(), k(xe, {
2931
+ key: 0,
2932
+ message: H(n).t("error.business_details.description"),
2933
+ title: H(n).t("error.business_details.title")
2934
+ }, null, 8, ["message", "title"])) : H(r).isLoading.value ? (R(), k(ze, {
2935
+ key: 1,
2936
+ class: "h-full"
2937
+ })) : i.value ? (R(), k(sa, {
2938
+ key: 2,
2939
+ business: i.value
2940
+ }, null, 8, ["business"])) : A("", !0)]),
2941
+ _: 1
2942
+ }));
2943
+ }
2944
+ });
2945
+ //#endregion
2946
+ export { Fi as a, wi as c, $t as d, Wt as f, Ii as i, xi as l, J as m, ta as n, Pi as o, Y as p, zi as r, Mi as s, ca as t, en as u };