@fctc/interface-logic 1.4.4 → 1.4.6

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.
@@ -27,145 +27,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // src/index.ts
31
- var index_exports = {};
32
- __export(index_exports, {
33
- ActionService: () => action_service_default,
34
- AuthService: () => auth_service_default,
35
- CompanyService: () => company_service_default,
36
- ComponentType: () => ComponentType,
37
- EnvStore: () => EnvStore,
38
- ExcelService: () => excel_service_default,
39
- FieldTypeConstants: () => FieldTypeConstants,
40
- FormService: () => form_service_default,
41
- KanbanService: () => kanban_service_default,
42
- KeyConstants: () => KeyConstants,
43
- MainProvider: () => MainProvider,
44
- MethodConstants: () => MethodConstants,
45
- MethodType: () => MethodType,
46
- ModelConstants: () => ModelConstants,
47
- ModelService: () => model_service_default,
48
- ReactQueryProvider: () => ReactQueryProvider,
49
- SearchType: () => SearchType,
50
- UriConstants: () => UriConstants,
51
- UserService: () => user_service_default,
52
- VersionGate: () => VersionGate,
53
- ViewService: () => view_service_default,
54
- WIDGETAVATAR: () => WIDGETAVATAR,
55
- WIDGETCOLOR: () => WIDGETCOLOR,
56
- WIDGETCURRENCY: () => WIDGETCURRENCY,
57
- WIDGETNOSTRING: () => WIDGETNOSTRING,
58
- WIDGETSTATUS: () => WIDGETSTATUS,
59
- WesapError: () => WesapError,
60
- axiosClient: () => axiosClient,
61
- breadcrumbsSlice: () => breadcrumbsSlice,
62
- checkIsImageLink: () => checkIsImageLink,
63
- clearSearchMap: () => clearSearchMap,
64
- convertFloatToTime: () => convertFloatToTime,
65
- convertTimeToFloat: () => convertTimeToFloat,
66
- copyTextToClipboard: () => copyTextToClipboard,
67
- domainHelper: () => domainHelper,
68
- env: () => env,
69
- envSlice: () => envSlice,
70
- envStore: () => envStore,
71
- evalJSONContext: () => evalJSONContext,
72
- evalJSONDomain: () => evalJSONDomain,
73
- excelSlice: () => excelSlice,
74
- filterFieldDirty: () => filterFieldDirty,
75
- formSlice: () => formSlice,
76
- formatCurrency: () => formatCurrency,
77
- formatDate: () => formatDate,
78
- formatFileSize: () => formatFileSize,
79
- formatSortingString: () => formatSortingString,
80
- formatUrlPath: () => formatUrlPath,
81
- getEnv: () => getEnv,
82
- getFieldsOnChange: () => getFieldsOnChange,
83
- getOffSet: () => getOffSet,
84
- getSubdomain: () => getSubdomain,
85
- handleError: () => handleError,
86
- headerSlice: () => headerSlice,
87
- initEnv: () => initEnv,
88
- isBase64File: () => isBase64File,
89
- isBase64Image: () => isBase64Image,
90
- isObjectEmpty: () => isObjectEmpty,
91
- listSlice: () => listSlice,
92
- loginSlice: () => loginSlice,
93
- mergeObjects: () => mergeObjects,
94
- navbarSlice: () => navbarSlice,
95
- profileSlice: () => profileSlice,
96
- removeKeyFromSearchMap: () => removeKeyFromSearchMap,
97
- removeUndefinedFields: () => removeUndefinedFields,
98
- resequence: () => resequence,
99
- searchSlice: () => searchSlice,
100
- selectBreadCrumbs: () => selectBreadCrumbs,
101
- selectEnv: () => selectEnv,
102
- selectExcel: () => selectExcel,
103
- selectForm: () => selectForm,
104
- selectHeader: () => selectHeader,
105
- selectList: () => selectList,
106
- selectLogin: () => selectLogin,
107
- selectNavbar: () => selectNavbar,
108
- selectProfile: () => selectProfile,
109
- selectSearch: () => selectSearch,
110
- selectSearchMap: () => selectSearchMap,
111
- setAllowCompanies: () => setAllowCompanies,
112
- setAllowedCompanyIds: () => setAllowedCompanyIds,
113
- setBreadCrumbs: () => setBreadCrumbs,
114
- setCompanies: () => setCompanies,
115
- setConfig: () => setConfig,
116
- setDataParse: () => setDataParse,
117
- setDataUser: () => setDataUser,
118
- setDb: () => setDb,
119
- setDefaultCompany: () => setDefaultCompany,
120
- setDomainTable: () => setDomainTable,
121
- setEnv: () => setEnv,
122
- setEnvFile: () => setEnvFile,
123
- setErrorData: () => setErrorData,
124
- setFieldTranslate: () => setFieldTranslate,
125
- setFields: () => setFields,
126
- setFilterBy: () => setFilterBy,
127
- setFirstDomain: () => setFirstDomain,
128
- setForgotPasswordUrl: () => setForgotPasswordUrl,
129
- setFormSubmitComponent: () => setFormSubmitComponent,
130
- setGroupBy: () => setGroupBy,
131
- setGroupByDomain: () => setGroupByDomain,
132
- setHeader: () => setHeader,
133
- setHoveredIndexSearchList: () => setHoveredIndexSearchList,
134
- setIdFile: () => setIdFile,
135
- setIndexRowTableModal: () => setIndexRowTableModal,
136
- setIsFileLoaded: () => setIsFileLoaded,
137
- setIsShowModalTranslate: () => setIsShowModalTranslate,
138
- setIsShowingModalDetail: () => setIsShowingModalDetail,
139
- setIsUpdateTableModal: () => setIsUpdateTableModal,
140
- setLang: () => setLang,
141
- setListSubject: () => setListSubject,
142
- setLoadingImport: () => setLoadingImport,
143
- setMenuFocus: () => setMenuFocus,
144
- setMenuFocusAction: () => setMenuFocusAction,
145
- setMenuList: () => setMenuList,
146
- setNavbarWidth: () => setNavbarWidth,
147
- setOrder: () => setOrder,
148
- setPage: () => setPage,
149
- setPageLimit: () => setPageLimit,
150
- setProfile: () => setProfile,
151
- setRedirectTo: () => setRedirectTo,
152
- setSearchBy: () => setSearchBy,
153
- setSearchMap: () => setSearchMap,
154
- setSearchString: () => setSearchString,
155
- setSelectedFile: () => setSelectedFile,
156
- setSelectedRadioKey: () => setSelectedRadioKey,
157
- setSelectedRowKeys: () => setSelectedRowKeys,
158
- setSelectedTags: () => setSelectedTags,
159
- setTransferDetail: () => setTransferDetail,
160
- setUid: () => setUid,
161
- setUser: () => setUser,
162
- setViewDataStore: () => setViewDataStore,
163
- stringToColor: () => stringToColor,
164
- toQueryString: () => toQueryString,
165
- updateSearchMap: () => updateSearchMap,
166
- updateTokenParamInOriginalRequest: () => updateTokenParamInOriginalRequest,
167
- useAppDispatch: () => useAppDispatch,
168
- useAppSelector: () => useAppSelector,
30
+ // src/hooks.ts
31
+ var hooks_exports = {};
32
+ __export(hooks_exports, {
169
33
  useButton: () => use_button_default,
170
34
  useChangeStatus: () => use_change_status_default,
171
35
  useDelete: () => use_delete_default,
@@ -173,7 +37,6 @@ __export(index_exports, {
173
37
  useDuplicateRecord: () => use_duplicate_record_default,
174
38
  useExecuteImport: () => uss_execute_import_default,
175
39
  useExportExcel: () => use_export_excel_default,
176
- useField: () => useField,
177
40
  useForgotPassword: () => use_forgot_password_default,
178
41
  useForgotPasswordSSO: () => use_forgotpassword_sso_default,
179
42
  useGet2FAMethods: () => uset_get_2FA_method_default,
@@ -229,48 +92,17 @@ __export(index_exports, {
229
92
  useSettingsWebRead2fa: () => use_settings_web_read_2fa_default,
230
93
  useSignInSSO: () => use_signin_sso_default,
231
94
  useSwitchLocale: () => use_switch_locale_default,
232
- useTabModel: () => useTabModel,
233
95
  useUpdatePassword: () => use_update_password_default,
234
96
  useUploadFile: () => use_upload_file_default,
235
97
  useUploadIdFile: () => use_upload_id_file_default,
236
98
  useUploadImage: () => use_upload_image_default,
237
99
  useVerify2FA: () => use_verify_2FA_default,
238
- useVerifyTotp: () => use_verify_totp_default,
239
- validateAndParseDate: () => validateAndParseDate
100
+ useVerifyTotp: () => use_verify_totp_default
240
101
  });
241
- module.exports = __toCommonJS(index_exports);
102
+ module.exports = __toCommonJS(hooks_exports);
242
103
 
243
- // src/configs/axios-client.ts
244
- var import_axios = __toESM(require("axios"));
245
-
246
- // src/constants/api/key-constant.ts
247
- var KeyConstants = /* @__PURE__ */ ((KeyConstants2) => {
248
- KeyConstants2["PROFILE"] = "userinfo";
249
- KeyConstants2["CURRENT_COMPANY"] = "current_company";
250
- KeyConstants2["LIST_COMPANY"] = "list_company";
251
- KeyConstants2["COMPANY_INFO"] = "company_info";
252
- KeyConstants2["MENU"] = "menus";
253
- KeyConstants2["GET_VIEW_BY_ACTION"] = "get_view_by_action";
254
- KeyConstants2["ACTION_DETAIL"] = "action_detail";
255
- KeyConstants2["GET_DATA_SELECTION"] = "get_data_select";
256
- KeyConstants2["WEB_SAVE"] = "web_save";
257
- KeyConstants2["WEB_READ"] = "web_read";
258
- KeyConstants2["GET_PROVIDER"] = "get_provider";
259
- return KeyConstants2;
260
- })(KeyConstants || {});
261
-
262
- // src/constants/api/method-constant.ts
263
- var MethodConstants = /* @__PURE__ */ ((MethodConstants2) => {
264
- MethodConstants2["WEB_SEARCH_READ"] = "web_search_read";
265
- MethodConstants2["WEB_READ_GROUP"] = "web_read_group";
266
- MethodConstants2["WEB_READ"] = "web_read";
267
- MethodConstants2["WEB_SAVE"] = "web_save";
268
- MethodConstants2["UNLINK"] = "unlink";
269
- MethodConstants2["ONCHANGE"] = "onchange";
270
- MethodConstants2["GET_ONCHANGE_FIELDS"] = "get_fields_onchange";
271
- MethodConstants2["GET_FIELD_VIEW"] = "get_fields_view_v2";
272
- return MethodConstants2;
273
- })(MethodConstants || {});
104
+ // src/hooks/auth/use-forgot-password.ts
105
+ var import_react_query = require("@tanstack/react-query");
274
106
 
275
107
  // src/constants/api/uri-constant.ts
276
108
  var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
@@ -302,380 +134,11 @@ var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
302
134
  return UriConstants2;
303
135
  })(UriConstants || {});
304
136
 
305
- // src/utils/error-handler.ts
306
- var WesapError = class extends Error {
307
- code;
308
- constructor(message, code) {
309
- super(message);
310
- this.code = code;
311
- }
312
- };
313
- function handleError(error, env2) {
314
- if (error instanceof WesapError) {
315
- env2.services.notification.error(error.message);
316
- } else {
317
- env2.services.notification.error("An unexpected error occurred");
318
- }
319
- }
137
+ // src/configs/axios-client.ts
138
+ var import_axios = __toESM(require("axios"));
320
139
 
321
140
  // src/utils/format.ts
322
141
  var import_moment = __toESM(require("moment"));
323
- var formatCurrency = (amount, currency = "USD") => {
324
- const formatter = new Intl.NumberFormat("vi-VN", {
325
- style: "currency",
326
- currency,
327
- minimumFractionDigits: 0
328
- });
329
- return formatter.format(amount).replaceAll(".", ",");
330
- };
331
- var formatDate = (date, locale = "en-US") => {
332
- return new Intl.DateTimeFormat(locale).format(new Date(date));
333
- };
334
- var validateAndParseDate = (input, isDateTime = false) => {
335
- if (!input || typeof input !== "string") return null;
336
- const cleanInput = input.replace(/[^0-9-\/:\s]/g, "");
337
- const dateFormat = "YYYY-MM-DD";
338
- const dateTimeFormat = "YYYY-MM-DD HH:mm:ss";
339
- const currentDay = (0, import_moment.default)().format("DD");
340
- const currentMonth = (0, import_moment.default)().format("MM");
341
- const currentYear = (0, import_moment.default)().format("YYYY");
342
- const defaultTime = "00:00:00";
343
- const maxYear = parseInt(currentYear) + 10;
344
- const isValidDate = (day, month, year) => {
345
- const date = (0, import_moment.default)(`${day}-${month}-${year}`, "DD-MM-YYYY", true);
346
- return date.isValid();
347
- };
348
- const isValidTime = (hour, minute = "00", second = "00") => {
349
- const h = parseInt(hour, 10);
350
- const m = parseInt(minute, 10);
351
- const s = parseInt(second, 10);
352
- return h >= 0 && h <= 23 && m >= 0 && m <= 59 && s >= 0 && s <= 59;
353
- };
354
- const formatOutput = (day, month, year, time = defaultTime) => {
355
- let result = (0, import_moment.default)(
356
- `${day}-${month}-${year} ${time}`,
357
- "DD-MM-YYYY HH:mm:ss"
358
- );
359
- if (!result.isValid()) return null;
360
- if (isDateTime) {
361
- result = result.subtract(7, "hours");
362
- return result.format(dateTimeFormat);
363
- }
364
- return result.format(dateFormat);
365
- };
366
- if (isDateTime && input.match(
367
- /^\d{1,2}[\/-]\d{1,2}[\/-]\d{2,4}\s+\d{1,2}(:\d{1,2}(:\d{1,2})?)?$/
368
- )) {
369
- const [datePart, timePart] = input.split(/\s+/);
370
- const dateParts = datePart.split(/[\/-]/);
371
- const timeParts = timePart.split(":");
372
- const day = dateParts[0].padStart(2, "0");
373
- const month = dateParts[1].padStart(2, "0");
374
- const year = dateParts[2].length <= 2 ? `20${dateParts[2].padStart(2, "0")}` : dateParts[2].padStart(4, "0");
375
- const hour = timeParts[0].padStart(2, "0");
376
- const minute = timeParts[1] ? timeParts[1].padStart(2, "0") : "00";
377
- const second = timeParts[2] ? timeParts[2].padStart(2, "0") : "00";
378
- if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
379
- let result = (0, import_moment.default)(
380
- `${day}-${month}-${year} ${hour}:${minute}:${second}`,
381
- "DD-MM-YYYY HH:mm:ss"
382
- );
383
- if (!result.isValid()) return null;
384
- result = result.subtract(7, "hours");
385
- return result.format(dateTimeFormat);
386
- }
387
- return null;
388
- }
389
- if (cleanInput.match(/^\d{4}-\d{2}-\d{2}$/)) {
390
- const [year, month, day] = cleanInput.split("-");
391
- if (isValidDate(day, month, year)) {
392
- return formatOutput(day, month, year);
393
- }
394
- return null;
395
- }
396
- if (cleanInput.match(/^\d{1,2}\/\d{1,2}\/\d{2,4}$/)) {
397
- const [day, month, year] = cleanInput.split("/");
398
- const paddedDay = day.padStart(2, "0");
399
- const paddedMonth = month.padStart(2, "0");
400
- const fullYear = year.length <= 2 ? `20${year.padStart(2, "0")}` : year.padStart(4, "0");
401
- if (isValidDate(paddedDay, paddedMonth, fullYear)) {
402
- return formatOutput(paddedDay, paddedMonth, fullYear);
403
- }
404
- return null;
405
- }
406
- if (cleanInput.match(/^\d{1,2}-\d{1,2}-\d{2,4}$/)) {
407
- const [day, month, year] = cleanInput.split("-");
408
- const paddedDay = day.padStart(2, "0");
409
- const paddedMonth = month.padStart(2, "0");
410
- const fullYear = year.length <= 2 ? `20${year.padStart(2, "0")}` : year.padStart(4, "0");
411
- if (isValidDate(paddedDay, paddedMonth, fullYear)) {
412
- return formatOutput(paddedDay, paddedMonth, fullYear);
413
- }
414
- return null;
415
- }
416
- if (cleanInput.match(/^\d{1,2}[\/-]\d{1,2}$/)) {
417
- const [day, month] = cleanInput.split(/[\/-]/);
418
- const paddedDay = day.padStart(2, "0");
419
- const paddedMonth = month.padStart(2, "0");
420
- if (isValidDate(paddedDay, paddedMonth, currentYear)) {
421
- return formatOutput(paddedDay, paddedMonth, currentYear);
422
- }
423
- return null;
424
- }
425
- if (cleanInput.match(/^\d{4}$/)) {
426
- const num = parseInt(cleanInput, 10);
427
- if (num >= 2e3 && num <= maxYear) {
428
- if (isValidDate(currentDay, currentMonth, num.toString())) {
429
- return formatOutput(currentDay, currentMonth, num.toString());
430
- }
431
- return null;
432
- }
433
- const day = cleanInput.slice(0, 2);
434
- const month = cleanInput.slice(2, 4);
435
- if (isValidDate(day, month, currentYear)) {
436
- return formatOutput(day, month, currentYear);
437
- }
438
- return null;
439
- }
440
- if (cleanInput.startsWith("-") && /^\-\d+$/.test(cleanInput)) {
441
- const daysToSubtract = Math.abs(parseInt(cleanInput, 10));
442
- let result = (0, import_moment.default)().subtract(daysToSubtract, "days");
443
- if (isDateTime) {
444
- result = result.subtract(7, "hours");
445
- }
446
- if (result.isValid()) {
447
- return isDateTime ? result.format(dateTimeFormat) : result.format(dateFormat);
448
- }
449
- return null;
450
- }
451
- if (input.match(/^\d{1,2}[^0-9-\/]+\d{1,2}[^0-9-\/]+\d{2,4}.*$/)) {
452
- const parts = input.split(/[^0-9-\/]+/).filter(Boolean);
453
- const day = parts[0].padStart(2, "0");
454
- const month = parts[1].padStart(2, "0");
455
- let year = parts[2];
456
- year = year.length === 2 ? `20${year}` : year.padStart(4, "0");
457
- if (isValidDate(day, month, year)) {
458
- return formatOutput(day, month, year);
459
- }
460
- return null;
461
- }
462
- if (isDateTime) {
463
- if (cleanInput.length === 9) {
464
- const day = cleanInput.slice(0, 2);
465
- const month = cleanInput.slice(2, 4);
466
- const year = cleanInput.slice(4, 8);
467
- const hour = cleanInput.slice(8, 9).padStart(2, "0");
468
- if (isValidDate(day, month, year) && isValidTime(hour)) {
469
- let result = (0, import_moment.default)(
470
- `${day}-${month}-${year} ${hour}:00:00`,
471
- "DD-MM-YYYY HH:mm:ss"
472
- );
473
- if (!result.isValid()) return null;
474
- result = result.subtract(7, "hours");
475
- return result.format(dateTimeFormat);
476
- }
477
- return null;
478
- }
479
- if (cleanInput.length === 10) {
480
- const day = cleanInput.slice(0, 2);
481
- const month = cleanInput.slice(2, 4);
482
- const year = cleanInput.slice(4, 8);
483
- const hour = cleanInput.slice(8, 10);
484
- if (isValidDate(day, month, year) && isValidTime(hour)) {
485
- let result = (0, import_moment.default)(
486
- `${day}-${month}-${year} ${hour}:00:00`,
487
- "DD-MM-YYYY HH:mm:ss"
488
- );
489
- if (!result.isValid()) return null;
490
- result = result.subtract(7, "hours");
491
- return result.format(dateTimeFormat);
492
- }
493
- return null;
494
- }
495
- if (cleanInput.length === 11) {
496
- const day = cleanInput.slice(0, 2);
497
- const month = cleanInput.slice(2, 4);
498
- const year = cleanInput.slice(4, 8);
499
- const hour = cleanInput.slice(8, 10);
500
- const minute = cleanInput.slice(10, 11).padStart(2, "0");
501
- if (isValidDate(day, month, year) && isValidTime(hour, minute)) {
502
- let result = (0, import_moment.default)(
503
- `${day}-${month}-${year} ${hour}:${minute}:00`,
504
- "DD-MM-YYYY HH:mm:ss"
505
- );
506
- if (!result.isValid()) return null;
507
- result = result.subtract(7, "hours");
508
- return result.format(dateTimeFormat);
509
- }
510
- return null;
511
- }
512
- if (cleanInput.length === 12) {
513
- const day = cleanInput.slice(0, 2);
514
- const month = cleanInput.slice(2, 4);
515
- const year = cleanInput.slice(4, 8);
516
- const hour = cleanInput.slice(8, 10);
517
- const minute = cleanInput.slice(10, 12);
518
- if (isValidDate(day, month, year) && isValidTime(hour, minute)) {
519
- let result = (0, import_moment.default)(
520
- `${day}-${month}-${year} ${hour}:${minute}:00`,
521
- "DD-MM-YYYY HH:mm:ss"
522
- );
523
- if (!result.isValid()) return null;
524
- result = result.subtract(7, "hours");
525
- return result.format(dateTimeFormat);
526
- }
527
- return null;
528
- }
529
- if (cleanInput.length === 13) {
530
- const day = cleanInput.slice(0, 2);
531
- const month = cleanInput.slice(2, 4);
532
- const year = cleanInput.slice(4, 8);
533
- const hour = cleanInput.slice(8, 10);
534
- const minute = cleanInput.slice(10, 12);
535
- const second = cleanInput.slice(12, 13).padStart(2, "0");
536
- if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
537
- let result = (0, import_moment.default)(
538
- `${day}-${month}-${year} ${hour}:${minute}:${second}`,
539
- "DD-MM-YYYY HH:mm:ss"
540
- );
541
- if (!result.isValid()) return null;
542
- result = result.subtract(7, "hours");
543
- return result.format(dateTimeFormat);
544
- }
545
- return null;
546
- }
547
- if (cleanInput.length === 14) {
548
- const day = cleanInput.slice(0, 2);
549
- const month = cleanInput.slice(2, 4);
550
- const year = cleanInput.slice(4, 8);
551
- const hour = cleanInput.slice(8, 10);
552
- const minute = cleanInput.slice(10, 12);
553
- const second = cleanInput.slice(12, 14);
554
- if (isValidDate(day, month, year) && isValidTime(hour, minute, second)) {
555
- let result = (0, import_moment.default)(
556
- `${day}-${month}-${year} ${hour}:${minute}:${second}`,
557
- "DD-MM-YYYY HH:mm:ss"
558
- );
559
- if (!result.isValid()) return null;
560
- result = result.subtract(7, "hours");
561
- return result.format(dateTimeFormat);
562
- }
563
- return null;
564
- }
565
- }
566
- const len = cleanInput.length;
567
- if (len === 1 || len === 2) {
568
- const paddedDay = cleanInput.padStart(2, "0");
569
- if (isValidDate(paddedDay, currentMonth, currentYear)) {
570
- return formatOutput(paddedDay, currentMonth, currentYear);
571
- }
572
- return null;
573
- }
574
- if (len === 3) {
575
- const day = cleanInput.slice(0, 2);
576
- const month = cleanInput.slice(2, 3).padStart(2, "0");
577
- if (isValidDate(day, month, currentYear)) {
578
- return formatOutput(day, month, currentYear);
579
- }
580
- return null;
581
- }
582
- if (len === 6) {
583
- const day = cleanInput.slice(0, 2);
584
- const month = cleanInput.slice(2, 4);
585
- let year = cleanInput.slice(4, 6);
586
- year = `20${year}`;
587
- if (parseInt(month) > 12) {
588
- if (isValidDate(day, currentMonth, currentYear)) {
589
- return formatOutput(day, currentMonth, currentYear);
590
- }
591
- return null;
592
- }
593
- if (isValidDate(day, month, year)) {
594
- return formatOutput(day, month, year);
595
- }
596
- return null;
597
- }
598
- if (len === 7) {
599
- return null;
600
- }
601
- if (len === 8) {
602
- const day = cleanInput.slice(0, 2);
603
- const month = cleanInput.slice(2, 4);
604
- const year = cleanInput.slice(4, 8);
605
- if (isValidDate(day, month, year)) {
606
- return formatOutput(day, month, year);
607
- }
608
- return null;
609
- }
610
- if (len > 8 && !isDateTime) {
611
- return null;
612
- }
613
- return null;
614
- };
615
-
616
- // src/constants/field/field-type-constant.ts
617
- var FieldTypeConstants = /* @__PURE__ */ ((FieldTypeConstants2) => {
618
- FieldTypeConstants2["CHAR"] = "char";
619
- FieldTypeConstants2["TEXT"] = "text";
620
- FieldTypeConstants2["INTEGER"] = "integer";
621
- FieldTypeConstants2["FLOAT"] = "float";
622
- FieldTypeConstants2["BOOLEAN"] = "boolean";
623
- FieldTypeConstants2["DATE"] = "date";
624
- FieldTypeConstants2["DATETIME"] = "datetime";
625
- FieldTypeConstants2["BINARY"] = "binary";
626
- FieldTypeConstants2["SELECTION"] = "selection";
627
- FieldTypeConstants2["HTML"] = "html";
628
- FieldTypeConstants2["MANY2ONE"] = "many2one";
629
- FieldTypeConstants2["ONE2MANY"] = "one2many";
630
- FieldTypeConstants2["MANY2MANY"] = "many2many";
631
- FieldTypeConstants2["MONETARY"] = "monetary";
632
- FieldTypeConstants2["REFERENCE"] = "reference";
633
- FieldTypeConstants2["FUNCTION"] = "function";
634
- FieldTypeConstants2["PROPERTY"] = "property";
635
- return FieldTypeConstants2;
636
- })(FieldTypeConstants || {});
637
-
638
- // src/constants/method/method-type-constant.ts
639
- var MethodType = /* @__PURE__ */ ((MethodType2) => {
640
- MethodType2[MethodType2["CREATE"] = 0] = "CREATE";
641
- MethodType2[MethodType2["UPDATE"] = 1] = "UPDATE";
642
- MethodType2[MethodType2["DELETE"] = 2] = "DELETE";
643
- MethodType2[MethodType2["UNLINK"] = 3] = "UNLINK";
644
- MethodType2[MethodType2["NO_CHANGE"] = 4] = "NO_CHANGE";
645
- return MethodType2;
646
- })(MethodType || {});
647
-
648
- // src/constants/model/model-constant.ts
649
- var ModelConstants = /* @__PURE__ */ ((ModelConstants2) => {
650
- ModelConstants2["MENU"] = "ir.ui.menu";
651
- ModelConstants2["USER"] = "res.users";
652
- ModelConstants2["COMPANY"] = "res.company";
653
- ModelConstants2["WINDOW_ACTION"] = "ir.actions.act_window";
654
- ModelConstants2["BASE_IMPORT"] = "base_import.import";
655
- ModelConstants2["GET_IMPORT"] = "get_import_templates";
656
- return ModelConstants2;
657
- })(ModelConstants || {});
658
-
659
- // src/constants/type/index.ts
660
- var ComponentType = /* @__PURE__ */ ((ComponentType2) => {
661
- ComponentType2["GROUP"] = "group";
662
- ComponentType2["FIELD"] = "field";
663
- ComponentType2["TREE"] = "tree";
664
- ComponentType2["DIV"] = "div";
665
- ComponentType2["LIST"] = "list";
666
- ComponentType2["FORM"] = "form";
667
- ComponentType2["SETTINGS"] = "setting";
668
- ComponentType2["SPAN"] = "span";
669
- ComponentType2["KANBAN"] = "kanban";
670
- ComponentType2["CALENDAR"] = "calendar";
671
- ComponentType2["TYPE"] = "view-type";
672
- return ComponentType2;
673
- })(ComponentType || {});
674
- var SearchType = {
675
- FILTER: "filter_by",
676
- SEARCH: "search_by",
677
- GROUP: "group_by"
678
- };
679
142
 
680
143
  // src/constants/widget/widget-avatar-constant.ts
681
144
  var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
@@ -683,28 +146,6 @@ var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
683
146
  WIDGETAVATAR2["many2many_avatar_user"] = "many2many_avatar_user";
684
147
  return WIDGETAVATAR2;
685
148
  })(WIDGETAVATAR || {});
686
- var WIDGETCURRENCY = /* @__PURE__ */ ((WIDGETCURRENCY2) => {
687
- WIDGETCURRENCY2["many2one_avatar_user"] = "many2one_avatar_user";
688
- WIDGETCURRENCY2["many2many_avatar_user"] = "many2many_avatar_user";
689
- return WIDGETCURRENCY2;
690
- })(WIDGETCURRENCY || {});
691
-
692
- // src/constants/widget/widget-color-constant.ts
693
- var WIDGETCOLOR = /* @__PURE__ */ ((WIDGETCOLOR2) => {
694
- WIDGETCOLOR2["many2many_tags"] = "many2many_tags";
695
- WIDGETCOLOR2["helpdesk_sla_many2many_tags"] = "helpdesk_sla_many2many_tags";
696
- return WIDGETCOLOR2;
697
- })(WIDGETCOLOR || {});
698
-
699
- // src/constants/widget/widget-status-constant.ts
700
- var WIDGETSTATUS = /* @__PURE__ */ ((WIDGETSTATUS2) => {
701
- WIDGETSTATUS2["sla_status_ids"] = "sla_status_ids";
702
- return WIDGETSTATUS2;
703
- })(WIDGETSTATUS || {});
704
- var WIDGETNOSTRING = /* @__PURE__ */ ((WIDGETNOSTRING2) => {
705
- WIDGETNOSTRING2["sla_status_ids"] = "sla_status_ids";
706
- return WIDGETNOSTRING2;
707
- })(WIDGETNOSTRING || {});
708
149
 
709
150
  // src/utils/domain/py_tokenizer.ts
710
151
  var TokenizerError = class extends Error {
@@ -2473,48 +1914,6 @@ function parseExpr(expr) {
2473
1914
  const tokens = tokenize(expr);
2474
1915
  return parse(tokens);
2475
1916
  }
2476
- function evaluateExpr(expr, context = {}) {
2477
- let ast;
2478
- try {
2479
- ast = parseExpr(expr);
2480
- } catch (error) {
2481
- throw new EvalError(
2482
- `Can not parse python expression: (${expr})
2483
- Error: ${error.message}`
2484
- );
2485
- }
2486
- try {
2487
- return evaluate(ast, context);
2488
- } catch (error) {
2489
- throw new EvalError(
2490
- `Can not evaluate python expression: (${expr})
2491
- Error: ${error.message}`
2492
- );
2493
- }
2494
- }
2495
- function evaluateBooleanExpr(expr, context = {}) {
2496
- if (!expr || expr === "False" || expr === "0") {
2497
- return false;
2498
- }
2499
- if (expr === "True" || expr === "1") {
2500
- return true;
2501
- }
2502
- return evaluateExpr(`bool(${expr})`, context);
2503
- }
2504
-
2505
- // src/utils/domain/context.ts
2506
- function evalPartialContext(_context, evaluationContext = {}) {
2507
- const ast = parseExpr(_context);
2508
- const context = {};
2509
- for (const key in ast.value) {
2510
- const value = ast.value[key];
2511
- try {
2512
- context[key] = evaluate(value, evaluationContext);
2513
- } catch {
2514
- }
2515
- }
2516
- return context;
2517
- }
2518
1917
 
2519
1918
  // src/utils/domain/objects.ts
2520
1919
  function shallowEqual(obj1, obj2, comparisonFn = (a, b) => a === b) {
@@ -2853,280 +2252,14 @@ function matchDomain(record, domain) {
2853
2252
  }
2854
2253
  return matchCondition(record, condStack.pop());
2855
2254
  }
2856
- var checkDomain = (context, domain) => {
2857
- try {
2858
- if (domain === void 0 || domain === "0" || domain === "False" || domain === false) {
2859
- return false;
2860
- } else if (domain === "1" || domain === "True" || domain === true) {
2861
- return true;
2862
- }
2863
- try {
2864
- if (context && domain) {
2865
- const d = new Domain(domain);
2866
- return d.contains(context);
2867
- }
2868
- } catch (error) {
2869
- if (context && domain) {
2870
- const domainEval = evaluateBooleanExpr(domain, context);
2871
- return domainEval;
2872
- }
2873
- return false;
2874
- }
2875
- return false;
2876
- } catch (e) {
2877
- return false;
2878
- }
2879
- };
2880
- var matchDomains = (context, domains) => {
2881
- if (Array.isArray(domains)) {
2882
- if (domains?.length > 0) {
2883
- return domains && domains.some((domain) => checkDomain(context, domain));
2884
- }
2885
- } else return checkDomain(context, domains);
2886
- return false;
2887
- };
2888
2255
 
2889
2256
  // src/utils/function.ts
2890
2257
  var import_react = require("react");
2891
- var evalJSONContext = (_context, context = {}) => {
2892
- try {
2893
- return evalPartialContext(_context, context);
2894
- } catch (err) {
2895
- return null;
2896
- }
2897
- };
2898
- var evalJSONDomain = (domain, context) => {
2899
- try {
2900
- if (context) {
2901
- Object.keys(context)?.forEach((key) => {
2902
- if (Array.isArray(context[key])) {
2903
- const isTypeObject = context[key]?.every(
2904
- (item) => typeof item === "object" && item !== null && item?.id !== void 0
2905
- );
2906
- if (isTypeObject) {
2907
- context[key] = context[key]?.map((item) => item?.id);
2908
- }
2909
- }
2910
- });
2911
- }
2912
- const value = evaluateExpr(domain, context);
2913
- return value;
2914
- } catch (err) {
2915
- try {
2916
- const domainObject = new Domain(domain).toList(context);
2917
- return domainObject;
2918
- } catch (err2) {
2919
- return [];
2920
- }
2921
- }
2922
- };
2923
- var formatSortingString = (input) => {
2924
- if (!input) return null;
2925
- return input.split(",").map((field) => {
2926
- const [key, order] = field.trim().split(/\s+/);
2927
- const sortOrder = order?.toUpperCase() === "DESC" ? "DESC" : "ASC";
2928
- return `${key} ${sortOrder}`;
2929
- }).join(", ");
2930
- };
2931
- var domainHelper = {
2932
- checkDomain,
2933
- matchDomains,
2934
- Domain
2935
- };
2936
2258
  var toQueryString = (params) => {
2937
2259
  return Object.keys(params).map(
2938
2260
  (key) => encodeURIComponent(key) + "=" + encodeURIComponent(params[key].toString())
2939
2261
  ).join("&");
2940
2262
  };
2941
- var convertFloatToTime = (floatValue) => {
2942
- const hours = Math.floor(floatValue);
2943
- const minutes = Math.round((floatValue - hours) * 60);
2944
- const formattedHours = String(hours).padStart(2, "0");
2945
- const formattedMinutes = String(minutes).padStart(2, "0");
2946
- return `${formattedHours}:${formattedMinutes}`;
2947
- };
2948
- var convertTimeToFloat = (timeString) => {
2949
- const [hours, minutes] = timeString.split(":").map(Number);
2950
- return hours + minutes / 60;
2951
- };
2952
- var stringToColor = (name, id) => {
2953
- const combined = name + id / 2;
2954
- let hash = 0;
2955
- for (let i = 0; i < combined.length; i++) {
2956
- hash = combined.charCodeAt(i) + ((hash << 5) - hash);
2957
- }
2958
- const r = hash >> 16 & 255;
2959
- const g = hash >> 8 & 255;
2960
- const b = hash & 255;
2961
- const adjustedR = 120 + r % 61;
2962
- const adjustedG = 120 + g % 61;
2963
- const adjustedB = 120 + b % 61;
2964
- return `#${adjustedR.toString(16).padStart(2, "0")}${adjustedG.toString(16).padStart(2, "0")}${adjustedB.toString(16).padStart(2, "0")}`;
2965
- };
2966
- var getFieldsOnChange = (fields) => {
2967
- const result = [];
2968
- function traverse(items) {
2969
- for (const item of items) {
2970
- if (item) {
2971
- if (item?.type_co === "field" && matchDomains(fields, item?.on_change)) {
2972
- result.push(item.name);
2973
- }
2974
- if (item?.fields && Array.isArray(item?.fields)) {
2975
- traverse(item?.fields);
2976
- }
2977
- }
2978
- }
2979
- }
2980
- traverse(fields);
2981
- return result;
2982
- };
2983
- var filterFieldDirty = ({
2984
- id,
2985
- viewData,
2986
- formValues,
2987
- dirtyFields,
2988
- model,
2989
- defaultData
2990
- }) => {
2991
- const data = id ? { ...dirtyFields } : { ...formValues };
2992
- for (const key in data) {
2993
- if (viewData?.models?.[model]?.[key]?.type === "one2many" /* ONE2MANY */) {
2994
- const lineData = [];
2995
- (formValues[key] ?? []).forEach((itemData, index) => {
2996
- if (typeof itemData?.id === "string" && itemData?.id.includes("virtual")) {
2997
- delete itemData?.id;
2998
- }
2999
- if (!itemData?.id) {
3000
- lineData.push([
3001
- 0 /* CREATE */,
3002
- `virtual_${index}`,
3003
- filterFieldDirty({
3004
- id: itemData?.id,
3005
- viewData,
3006
- formValues: itemData,
3007
- dirtyFields: {},
3008
- model: viewData?.models?.[model]?.[key]?.relation,
3009
- defaultData
3010
- })
3011
- ]);
3012
- } else if (dirtyFields[key]?.length) {
3013
- dirtyFields[key].forEach((itemDirty, indexDirty) => {
3014
- if (Object.values(itemDirty).includes(true) && indexDirty === index) {
3015
- lineData.push([
3016
- 1 /* UPDATE */,
3017
- itemData?.id,
3018
- filterFieldDirty({
3019
- id: itemData?.id,
3020
- viewData,
3021
- formValues: itemData,
3022
- dirtyFields: itemDirty,
3023
- model: viewData?.models?.[model]?.[key]?.relation,
3024
- defaultData: {}
3025
- })
3026
- ]);
3027
- }
3028
- });
3029
- }
3030
- });
3031
- (defaultData[key] ?? []).forEach((item) => {
3032
- if (!(formValues[key] ?? []).find(
3033
- (itemData) => itemData?.id === item?.id
3034
- )) {
3035
- lineData.push([2 /* DELETE */, item?.id, item]);
3036
- }
3037
- });
3038
- data[key] = lineData;
3039
- } else if (viewData?.models?.[model]?.[key]?.type === "many2many" /* MANY2MANY */) {
3040
- const lineData = [];
3041
- (formValues[key] || []).forEach((itemData) => {
3042
- if (itemData?.id) {
3043
- lineData.push([4 /* NO_CHANGE */, itemData?.id]);
3044
- }
3045
- });
3046
- (defaultData[key] ?? []).forEach((item) => {
3047
- if (!(formValues[key] ?? []).find(
3048
- (itemData) => itemData?.id === item?.id
3049
- )) {
3050
- lineData.push([3 /* UNLINK */, item?.id]);
3051
- }
3052
- });
3053
- data[key] = lineData;
3054
- } else {
3055
- if (id && (typeof dirtyFields?.[key] === "object" && !dirtyFields?.[key]?.id || typeof dirtyFields[key] !== "object" && !dirtyFields[key])) {
3056
- delete data[key];
3057
- } else {
3058
- if (!data[key]) {
3059
- delete data[key];
3060
- } else {
3061
- data[key] = formValues?.[key]?.display_name ? formValues?.[key]?.id : formValues?.[key];
3062
- }
3063
- }
3064
- }
3065
- }
3066
- return data;
3067
- };
3068
- var mergeObjects = (object1, object2) => {
3069
- if (!object1 || !object2) return void 0;
3070
- const mergedObject = { ...object2 };
3071
- Object.keys(object1).forEach((key) => {
3072
- if (Array.isArray(object1[key]) && Array.isArray(object2[key])) {
3073
- mergedObject[key] = object2[key].map((item, index) => {
3074
- if (object1[key][index]) {
3075
- return {
3076
- ...item,
3077
- ...object1[key][index]
3078
- };
3079
- }
3080
- return item;
3081
- });
3082
- } else if (typeof object1[key] === "object" && typeof object2[key] === "object" && object1[key] !== null && object2[key] !== null) {
3083
- mergedObject[key] = mergeObjects(object1[key], object2[key]);
3084
- } else {
3085
- mergedObject[key] = object1[key] !== void 0 ? object1[key] : object2[key];
3086
- }
3087
- });
3088
- if (object2) {
3089
- Object.keys(object2).forEach((key) => {
3090
- if (!mergedObject.hasOwnProperty(key)) {
3091
- mergedObject[key] = object2[key];
3092
- }
3093
- });
3094
- }
3095
- return mergedObject;
3096
- };
3097
- var formatUrlPath = ({
3098
- viewType,
3099
- aid,
3100
- model,
3101
- id,
3102
- actionPath
3103
- }) => {
3104
- let _url = `/${viewType}/${actionPath}?aid=${aid}&model=${model}`;
3105
- if (id) {
3106
- _url += `&id=${id}`;
3107
- }
3108
- return _url;
3109
- };
3110
- var removeUndefinedFields = (obj) => {
3111
- const newObj = {};
3112
- for (const key in obj) {
3113
- if (obj[key] !== void 0) {
3114
- newObj[key] = obj[key];
3115
- }
3116
- }
3117
- return newObj;
3118
- };
3119
- var useTabModel = (viewData, onchangeData) => {
3120
- const tabsData = viewData?.views?.form?.tabs?.filter((val) => {
3121
- if (!val) return null;
3122
- const hide = checkDomain(onchangeData, val.invisible);
3123
- if (!hide) {
3124
- return val;
3125
- }
3126
- return false;
3127
- }) || [];
3128
- return tabsData;
3129
- };
3130
2263
  var isBase64File = (str) => {
3131
2264
  try {
3132
2265
  const dataUriPattern = /^data:([a-zA-Z]+\/[a-zA-Z0-9-.+]+)?;base64,/;
@@ -3142,69 +2275,6 @@ var isBase64File = (str) => {
3142
2275
  return false;
3143
2276
  }
3144
2277
  };
3145
- var isBase64Image = (str) => {
3146
- const base64Regex = /^data:image\/(png|jpeg|jpg|gif|webp);base64,/;
3147
- if (!base64Regex.test(str)) {
3148
- return false;
3149
- }
3150
- try {
3151
- const base64Data = str.split(",")[1];
3152
- return !!base64Data && atob(base64Data).length > 0;
3153
- } catch (error) {
3154
- return false;
3155
- }
3156
- };
3157
- var checkIsImageLink = (url) => {
3158
- const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
3159
- return imageExtensions.test(url) || isBase64Image(url);
3160
- };
3161
- var formatFileSize = (size) => {
3162
- if (size < 1024) return `${size} B`;
3163
- const i = Math.floor(Math.log(size) / Math.log(1024));
3164
- const sizes = ["B", "KB", "MB", "GB", "TB"];
3165
- return `${(size / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;
3166
- };
3167
- var getSubdomain = (url = window.location.href) => {
3168
- const parts = url?.split(".");
3169
- if (parts.length > 2) {
3170
- return parts[0].replace("https://", "").replace("http://", "");
3171
- }
3172
- return null;
3173
- };
3174
- var resequence = (arr, start, end) => {
3175
- if (start < 0 || start >= arr.length || end < 0 || end >= arr.length) {
3176
- return [];
3177
- }
3178
- const [element] = arr.splice(start, 1);
3179
- arr.splice(end, 0, element);
3180
- return arr.slice(Math.min(start, end), Math.max(start, end) + 1);
3181
- };
3182
- var getOffSet = (arr, start, end) => {
3183
- if (start < 0 || start >= arr.length || end < 0 || end >= arr.length) {
3184
- return 0;
3185
- }
3186
- if (start > end) {
3187
- return end;
3188
- }
3189
- return arr.slice(0, start).length;
3190
- };
3191
- var copyTextToClipboard = async (text) => {
3192
- if ("clipboard" in navigator) {
3193
- return await navigator.clipboard.writeText(text);
3194
- } else {
3195
- const textArea = document.createElement("textarea");
3196
- textArea.value = text;
3197
- textArea.style.position = "fixed";
3198
- document.body.appendChild(textArea);
3199
- textArea.focus();
3200
- textArea.select();
3201
- try {
3202
- document.execCommand("copy");
3203
- } finally {
3204
- document.body.removeChild(textArea);
3205
- }
3206
- }
3207
- };
3208
2278
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
3209
2279
  if (!originalRequest.data) return originalRequest.data;
3210
2280
  if (typeof originalRequest.data === "string") {
@@ -3224,41 +2294,6 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
3224
2294
  }
3225
2295
  return originalRequest.data;
3226
2296
  };
3227
- var isObjectEmpty = (obj) => {
3228
- return Object.keys(obj).length === 0;
3229
- };
3230
- var useField = (props) => {
3231
- const [invisible, setInvisible] = (0, import_react.useState)(true);
3232
- const [required, setRequired] = (0, import_react.useState)(false);
3233
- const [readonly, setReadOnly] = (0, import_react.useState)(false);
3234
- const {
3235
- invisible: inv,
3236
- required: req,
3237
- readonly: rea,
3238
- onchangeData,
3239
- rootField,
3240
- index,
3241
- name
3242
- } = props;
3243
- const nameField = rootField ? `${rootField?.name}.${index}.${name}` : null;
3244
- (0, import_react.useEffect)(() => {
3245
- if (onchangeData && Object.keys(onchangeData).length > 0) {
3246
- setRequired(
3247
- typeof req === "object" ? matchDomains(onchangeData, req) : checkDomain(onchangeData, req)
3248
- );
3249
- setInvisible(matchDomains(onchangeData, inv));
3250
- setReadOnly(
3251
- typeof req === "object" ? matchDomains(onchangeData, rea) : checkDomain(onchangeData, rea)
3252
- );
3253
- }
3254
- }, [onchangeData]);
3255
- return {
3256
- invisible,
3257
- required,
3258
- readonly,
3259
- nameField
3260
- };
3261
- };
3262
2297
 
3263
2298
  // src/utils/storage/local-storage.ts
3264
2299
  var localStorageUtils = () => {
@@ -3491,7 +2526,6 @@ var breadcrumbsSlice = (0, import_toolkit.createSlice)({
3491
2526
  }
3492
2527
  });
3493
2528
  var { setBreadCrumbs } = breadcrumbsSlice.actions;
3494
- var selectBreadCrumbs = (state) => state.breadcrumbs;
3495
2529
  var breadcrums_slice_default = breadcrumbsSlice.reducer;
3496
2530
 
3497
2531
  // src/store/reducers/env-slice/index.ts
@@ -3560,7 +2594,6 @@ var {
3560
2594
  setConfig,
3561
2595
  setEnvFile
3562
2596
  } = envSlice.actions;
3563
- var selectEnv = (state) => state.env;
3564
2597
  var env_slice_default = envSlice.reducer;
3565
2598
 
3566
2599
  // src/store/reducers/excel-slice/index.ts
@@ -3605,7 +2638,6 @@ var {
3605
2638
  setSelectedFile,
3606
2639
  setErrorData
3607
2640
  } = excelSlice.actions;
3608
- var selectExcel = (state) => state.excel;
3609
2641
  var excel_slice_default = excelSlice.reducer;
3610
2642
 
3611
2643
  // src/store/reducers/form-slice/index.ts
@@ -3655,7 +2687,6 @@ var {
3655
2687
  setListSubject,
3656
2688
  setDataUser
3657
2689
  } = formSlice.actions;
3658
- var selectForm = (state) => state.form;
3659
2690
  var form_slice_default = formSlice.reducer;
3660
2691
 
3661
2692
  // src/store/reducers/header-slice/index.ts
@@ -3675,7 +2706,6 @@ var headerSlice = (0, import_toolkit5.createSlice)({
3675
2706
  }
3676
2707
  });
3677
2708
  var { setAllowedCompanyIds, setHeader } = headerSlice.actions;
3678
- var selectHeader = (state) => state.header;
3679
2709
  var header_slice_default = headerSlice.reducer;
3680
2710
 
3681
2711
  // src/store/reducers/list-slice/index.ts
@@ -3741,7 +2771,6 @@ var {
3741
2771
  setTransferDetail,
3742
2772
  setDomainTable
3743
2773
  } = listSlice.actions;
3744
- var selectList = (state) => state.list;
3745
2774
  var list_slice_default = listSlice.reducer;
3746
2775
 
3747
2776
  // src/store/reducers/login-slice/index.ts
@@ -3767,7 +2796,6 @@ var loginSlice = (0, import_toolkit7.createSlice)({
3767
2796
  }
3768
2797
  });
3769
2798
  var { setDb, setRedirectTo, setForgotPasswordUrl } = loginSlice.actions;
3770
- var selectLogin = (state) => state.login;
3771
2799
  var login_slice_default = loginSlice.reducer;
3772
2800
 
3773
2801
  // src/store/reducers/navbar-slice/index.ts
@@ -3797,7 +2825,6 @@ var navbarSlice = (0, import_toolkit8.createSlice)({
3797
2825
  }
3798
2826
  });
3799
2827
  var { setMenuFocus, setMenuFocusAction, setNavbarWidth, setMenuList } = navbarSlice.actions;
3800
- var selectNavbar = (state) => state.navbar;
3801
2828
  var navbar_slice_default = navbarSlice.reducer;
3802
2829
 
3803
2830
  // src/store/reducers/profile-slice/index.ts
@@ -3815,7 +2842,6 @@ var profileSlice = (0, import_toolkit9.createSlice)({
3815
2842
  }
3816
2843
  });
3817
2844
  var { setProfile } = profileSlice.actions;
3818
- var selectProfile = (state) => state.profile;
3819
2845
  var profile_slice_default = profileSlice.reducer;
3820
2846
 
3821
2847
  // src/store/reducers/search-slice/index.ts
@@ -3902,8 +2928,6 @@ var {
3902
2928
  setGroupBy,
3903
2929
  clearSearchMap
3904
2930
  } = searchSlice.actions;
3905
- var selectSearch = (state) => state.search;
3906
- var selectSearchMap = (state) => state.search.searchMap;
3907
2931
  var search_slice_default = searchSlice.reducer;
3908
2932
 
3909
2933
  // src/store/store.ts
@@ -4098,10 +3122,6 @@ var envStore = (0, import_toolkit11.configureStore)({
4098
3122
  })
4099
3123
  });
4100
3124
 
4101
- // src/store/index.ts
4102
- var useAppDispatch = import_react_redux.useDispatch;
4103
- var useAppSelector = import_react_redux.useSelector;
4104
-
4105
3125
  // src/environment/EnvStore.ts
4106
3126
  var EnvStore = class {
4107
3127
  envStore;
@@ -4177,22 +3197,12 @@ var EnvStore = class {
4177
3197
  }
4178
3198
  };
4179
3199
  var env = null;
4180
- function initEnv({
4181
- localStorageUtils: localStorageUtils2,
4182
- sessionStorageUtils: sessionStorageUtils2
4183
- }) {
4184
- env = new EnvStore(envStore, localStorageUtils2, sessionStorageUtils2);
4185
- return env;
4186
- }
4187
3200
  function getEnv() {
4188
3201
  if (!env)
4189
3202
  env = new EnvStore(envStore, localStorageUtils(), sessionStorageUtils());
4190
3203
  return env;
4191
3204
  }
4192
3205
 
4193
- // src/hooks/auth/use-forgot-password.ts
4194
- var import_react_query = require("@tanstack/react-query");
4195
-
4196
3206
  // src/services/action-service/index.ts
4197
3207
  var ActionService = {
4198
3208
  // Load Action
@@ -6936,212 +5946,8 @@ var useVerifyTotp = () => {
6936
5946
  });
6937
5947
  };
6938
5948
  var use_verify_totp_default = useVerifyTotp;
6939
-
6940
- // src/provider/react-query-provider.tsx
6941
- var import_react_query67 = require("@tanstack/react-query");
6942
- var import_jsx_runtime = require("react/jsx-runtime");
6943
- var ReactQueryProvider = ({ children }) => {
6944
- const queryClient = new import_react_query67.QueryClient({
6945
- defaultOptions: {
6946
- queries: {
6947
- // placeholderData: keepPreviousData,
6948
- refetchOnWindowFocus: false,
6949
- refetchOnMount: false,
6950
- refetchOnReconnect: false,
6951
- retry: false
6952
- }
6953
- }
6954
- });
6955
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_query67.QueryClientProvider, { client: queryClient, children });
6956
- };
6957
-
6958
- // src/provider/redux-provider.tsx
6959
- var import_react_redux2 = require("react-redux");
6960
- var import_jsx_runtime2 = require("react/jsx-runtime");
6961
- var ReduxProvider = ({ children }) => {
6962
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_redux2.Provider, { store: envStore, children });
6963
- };
6964
-
6965
- // src/provider/main-provider.tsx
6966
- var import_jsx_runtime3 = require("react/jsx-runtime");
6967
- var MainProvider = ({ children }) => {
6968
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReduxProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReactQueryProvider, { children }) });
6969
- };
6970
-
6971
- // src/provider/version-gate-provider.tsx
6972
- var import_react2 = require("react");
6973
- var import_react_query68 = require("@tanstack/react-query");
6974
- var import_jsx_runtime4 = require("react/jsx-runtime");
6975
- var VersionGate = ({ children }) => {
6976
- const queryClient = (0, import_react_query68.useQueryClient)();
6977
- const [ready, setReady] = (0, import_react2.useState)(false);
6978
- (0, import_react2.useEffect)(() => {
6979
- const clearVersion = () => {
6980
- queryClient.clear();
6981
- localStorage.removeItem("__api_version__");
6982
- };
6983
- const validateVersion = async () => {
6984
- const serverVersion = await view_service_default.getVersion();
6985
- const cached = localStorage.getItem("__api_version__");
6986
- if (cached !== serverVersion?.api_version) {
6987
- clearVersion();
6988
- localStorage.setItem("__api_version__", serverVersion?.api_version);
6989
- } else {
6990
- console.log("Api version:", serverVersion?.api_version);
6991
- }
6992
- setReady(true);
6993
- };
6994
- validateVersion();
6995
- if (typeof window !== "undefined") {
6996
- const onKey = (e) => {
6997
- const key = e.key.toLowerCase();
6998
- const isHardRefresh = (key === "f5" || key === "r") && e.ctrlKey && (key !== "r" || e.shiftKey) || key === "r" && e.metaKey && e.shiftKey || key === "r" && e.metaKey && e.altKey;
6999
- if (isHardRefresh) clearVersion();
7000
- };
7001
- window.addEventListener("keydown", onKey);
7002
- return () => window.removeEventListener("keydown", onKey);
7003
- }
7004
- }, [queryClient]);
7005
- return ready ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children }) : null;
7006
- };
7007
5949
  // Annotate the CommonJS export names for ESM import in node:
7008
5950
  0 && (module.exports = {
7009
- ActionService,
7010
- AuthService,
7011
- CompanyService,
7012
- ComponentType,
7013
- EnvStore,
7014
- ExcelService,
7015
- FieldTypeConstants,
7016
- FormService,
7017
- KanbanService,
7018
- KeyConstants,
7019
- MainProvider,
7020
- MethodConstants,
7021
- MethodType,
7022
- ModelConstants,
7023
- ModelService,
7024
- ReactQueryProvider,
7025
- SearchType,
7026
- UriConstants,
7027
- UserService,
7028
- VersionGate,
7029
- ViewService,
7030
- WIDGETAVATAR,
7031
- WIDGETCOLOR,
7032
- WIDGETCURRENCY,
7033
- WIDGETNOSTRING,
7034
- WIDGETSTATUS,
7035
- WesapError,
7036
- axiosClient,
7037
- breadcrumbsSlice,
7038
- checkIsImageLink,
7039
- clearSearchMap,
7040
- convertFloatToTime,
7041
- convertTimeToFloat,
7042
- copyTextToClipboard,
7043
- domainHelper,
7044
- env,
7045
- envSlice,
7046
- envStore,
7047
- evalJSONContext,
7048
- evalJSONDomain,
7049
- excelSlice,
7050
- filterFieldDirty,
7051
- formSlice,
7052
- formatCurrency,
7053
- formatDate,
7054
- formatFileSize,
7055
- formatSortingString,
7056
- formatUrlPath,
7057
- getEnv,
7058
- getFieldsOnChange,
7059
- getOffSet,
7060
- getSubdomain,
7061
- handleError,
7062
- headerSlice,
7063
- initEnv,
7064
- isBase64File,
7065
- isBase64Image,
7066
- isObjectEmpty,
7067
- listSlice,
7068
- loginSlice,
7069
- mergeObjects,
7070
- navbarSlice,
7071
- profileSlice,
7072
- removeKeyFromSearchMap,
7073
- removeUndefinedFields,
7074
- resequence,
7075
- searchSlice,
7076
- selectBreadCrumbs,
7077
- selectEnv,
7078
- selectExcel,
7079
- selectForm,
7080
- selectHeader,
7081
- selectList,
7082
- selectLogin,
7083
- selectNavbar,
7084
- selectProfile,
7085
- selectSearch,
7086
- selectSearchMap,
7087
- setAllowCompanies,
7088
- setAllowedCompanyIds,
7089
- setBreadCrumbs,
7090
- setCompanies,
7091
- setConfig,
7092
- setDataParse,
7093
- setDataUser,
7094
- setDb,
7095
- setDefaultCompany,
7096
- setDomainTable,
7097
- setEnv,
7098
- setEnvFile,
7099
- setErrorData,
7100
- setFieldTranslate,
7101
- setFields,
7102
- setFilterBy,
7103
- setFirstDomain,
7104
- setForgotPasswordUrl,
7105
- setFormSubmitComponent,
7106
- setGroupBy,
7107
- setGroupByDomain,
7108
- setHeader,
7109
- setHoveredIndexSearchList,
7110
- setIdFile,
7111
- setIndexRowTableModal,
7112
- setIsFileLoaded,
7113
- setIsShowModalTranslate,
7114
- setIsShowingModalDetail,
7115
- setIsUpdateTableModal,
7116
- setLang,
7117
- setListSubject,
7118
- setLoadingImport,
7119
- setMenuFocus,
7120
- setMenuFocusAction,
7121
- setMenuList,
7122
- setNavbarWidth,
7123
- setOrder,
7124
- setPage,
7125
- setPageLimit,
7126
- setProfile,
7127
- setRedirectTo,
7128
- setSearchBy,
7129
- setSearchMap,
7130
- setSearchString,
7131
- setSelectedFile,
7132
- setSelectedRadioKey,
7133
- setSelectedRowKeys,
7134
- setSelectedTags,
7135
- setTransferDetail,
7136
- setUid,
7137
- setUser,
7138
- setViewDataStore,
7139
- stringToColor,
7140
- toQueryString,
7141
- updateSearchMap,
7142
- updateTokenParamInOriginalRequest,
7143
- useAppDispatch,
7144
- useAppSelector,
7145
5951
  useButton,
7146
5952
  useChangeStatus,
7147
5953
  useDelete,
@@ -7149,7 +5955,6 @@ var VersionGate = ({ children }) => {
7149
5955
  useDuplicateRecord,
7150
5956
  useExecuteImport,
7151
5957
  useExportExcel,
7152
- useField,
7153
5958
  useForgotPassword,
7154
5959
  useForgotPasswordSSO,
7155
5960
  useGet2FAMethods,
@@ -7205,12 +6010,10 @@ var VersionGate = ({ children }) => {
7205
6010
  useSettingsWebRead2fa,
7206
6011
  useSignInSSO,
7207
6012
  useSwitchLocale,
7208
- useTabModel,
7209
6013
  useUpdatePassword,
7210
6014
  useUploadFile,
7211
6015
  useUploadIdFile,
7212
6016
  useUploadImage,
7213
6017
  useVerify2FA,
7214
- useVerifyTotp,
7215
- validateAndParseDate
6018
+ useVerifyTotp
7216
6019
  });