@abpjs/theme-shared 3.1.0 → 4.0.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.
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ __export(index_exports, {
36
36
  Alert: () => Alert,
37
37
  BOOTSTRAP: () => BOOTSTRAP,
38
38
  Button: () => Button3,
39
- ChakraDialog: () => import_react16.Dialog,
39
+ ChakraDialog: () => import_react17.Dialog,
40
40
  ChangePassword: () => ChangePassword,
41
41
  Checkbox: () => Checkbox,
42
42
  Confirmation: () => Confirmation,
@@ -63,6 +63,8 @@ __export(index_exports, {
63
63
  NavItemsService: () => NavItemsService,
64
64
  PASSWORD_SETTING_KEYS: () => PASSWORD_SETTING_KEYS,
65
65
  Profile: () => Profile,
66
+ SUPPRESS_UNSAVED_CHANGES_WARNING: () => SUPPRESS_UNSAVED_CHANGES_WARNING,
67
+ SuppressUnsavedChangesWarningContext: () => SuppressUnsavedChangesWarningContext,
66
68
  THEME_SHARED_APPEND_CONTENT: () => THEME_SHARED_APPEND_CONTENT,
67
69
  THEME_SHARED_ROUTE_PROVIDERS: () => THEME_SHARED_ROUTE_PROVIDERS,
68
70
  THEME_SHARED_STYLES: () => THEME_SHARED_STYLES,
@@ -76,7 +78,7 @@ __export(index_exports, {
76
78
  createErrorInterceptor: () => createErrorInterceptor,
77
79
  createLazyStyleHref: () => createLazyStyleHref,
78
80
  defaultAbpConfig: () => defaultAbpConfig,
79
- defineConfig: () => import_react27.defineConfig,
81
+ defineConfig: () => import_react28.defineConfig,
80
82
  eThemeSharedRouteNames: () => eThemeSharedRouteNames,
81
83
  getLoadedBootstrapDirection: () => getLoadedBootstrapDirection,
82
84
  getNavItemsService: () => getNavItemsService,
@@ -101,6 +103,7 @@ __export(index_exports, {
101
103
  useModalContext: () => useModalContext,
102
104
  useModalState: () => useModalState,
103
105
  useNavItems: () => useNavItems,
106
+ useSuppressUnsavedChangesWarning: () => useSuppressUnsavedChangesWarning,
104
107
  useToaster: () => useToaster,
105
108
  useToasterContext: () => useToasterContext,
106
109
  useToasts: () => useToasts
@@ -139,9 +142,15 @@ var NavItem = class {
139
142
  // src/constants/styles.ts
140
143
  var BOOTSTRAP = "bootstrap-{{dir}}.min.css";
141
144
  var DEFAULT_STYLES = `
145
+ /* Enhanced validation styles - @since 4.0.0 */
142
146
  .is-invalid .form-control {
143
147
  border-color: #dc3545;
144
148
  border-style: solid !important;
149
+ padding-right: calc(1.5em + .75rem);
150
+ background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
151
+ background-repeat: no-repeat;
152
+ background-position: right calc(.375em + .1875rem) center;
153
+ background-size: calc(.75em + .375rem) calc(.75em + .375rem);
145
154
  }
146
155
 
147
156
  .is-invalid .invalid-feedback,
@@ -173,6 +182,12 @@ var DEFAULT_STYLES = `
173
182
  min-width: 215px;
174
183
  }
175
184
 
185
+ /* ngx-datatable scroll fix - @since 3.2.0 */
186
+ .datatable-scroll {
187
+ margin-bottom: 5px !important;
188
+ width: unset !important;
189
+ }
190
+
176
191
  .ui-table-scrollable-body::-webkit-scrollbar {
177
192
  height: 5px !important;
178
193
  width: 5px !important;
@@ -278,6 +293,13 @@ var DEFAULT_STYLES = `
278
293
  .sorting_asc:after {
279
294
  opacity: .3;
280
295
  }
296
+ .ngx-datatable.material {
297
+ box-shadow: none;
298
+ }
299
+ /* Typeahead dropdown styles - @since 4.0.0 */
300
+ .abp-typeahead-window {
301
+ width: 100%;
302
+ }
281
303
 
282
304
  @keyframes fadeInTop {
283
305
  from {
@@ -348,10 +370,18 @@ function useLazyStyles() {
348
370
  }
349
371
  var LAZY_STYLES = DEFAULT_LAZY_STYLES;
350
372
 
351
- // src/contexts/toaster.context.tsx
373
+ // src/tokens/suppress-unsaved-changes-warning.token.ts
352
374
  var import_react4 = require("react");
375
+ var SUPPRESS_UNSAVED_CHANGES_WARNING = "SUPPRESS_UNSAVED_CHANGES_WARNING";
376
+ var SuppressUnsavedChangesWarningContext = (0, import_react4.createContext)(false);
377
+ function useSuppressUnsavedChangesWarning() {
378
+ return (0, import_react4.useContext)(SuppressUnsavedChangesWarningContext);
379
+ }
380
+
381
+ // src/contexts/toaster.context.tsx
382
+ var import_react5 = require("react");
353
383
  var import_jsx_runtime = require("react/jsx-runtime");
354
- var ToasterContext = (0, import_react4.createContext)(null);
384
+ var ToasterContext = (0, import_react5.createContext)(null);
355
385
  var toastCounter = 0;
356
386
  function generateId() {
357
387
  toastCounter += 1;
@@ -359,17 +389,17 @@ function generateId() {
359
389
  }
360
390
  var DEFAULT_LIFE = 5e3;
361
391
  function ToasterProvider({ children }) {
362
- const [toasts, setToasts] = (0, import_react4.useState)([]);
363
- const subscribersRef = (0, import_react4.useRef)(/* @__PURE__ */ new Set());
364
- (0, import_react4.useEffect)(() => {
392
+ const [toasts, setToasts] = (0, import_react5.useState)([]);
393
+ const subscribersRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
394
+ (0, import_react5.useEffect)(() => {
365
395
  subscribersRef.current.forEach((subscriber) => {
366
396
  subscriber(toasts);
367
397
  });
368
398
  }, [toasts]);
369
- const remove = (0, import_react4.useCallback)((id) => {
399
+ const remove = (0, import_react5.useCallback)((id) => {
370
400
  setToasts((prev) => prev.filter((t) => t.id !== id));
371
401
  }, []);
372
- const show = (0, import_react4.useCallback)(
402
+ const show = (0, import_react5.useCallback)(
373
403
  (message, title, severity = "info", options) => {
374
404
  const id = typeof options?.id === "number" ? options.id : generateId();
375
405
  const life = options?.sticky ? void 0 : options?.life ?? DEFAULT_LIFE;
@@ -393,38 +423,38 @@ function ToasterProvider({ children }) {
393
423
  },
394
424
  [remove]
395
425
  );
396
- const info = (0, import_react4.useCallback)(
426
+ const info = (0, import_react5.useCallback)(
397
427
  (message, title, options) => show(message, title, "info", options),
398
428
  [show]
399
429
  );
400
- const success = (0, import_react4.useCallback)(
430
+ const success = (0, import_react5.useCallback)(
401
431
  (message, title, options) => show(message, title, "success", options),
402
432
  [show]
403
433
  );
404
- const warn = (0, import_react4.useCallback)(
434
+ const warn = (0, import_react5.useCallback)(
405
435
  (message, title, options) => show(message, title, "warning", options),
406
436
  [show]
407
437
  );
408
- const error = (0, import_react4.useCallback)(
438
+ const error = (0, import_react5.useCallback)(
409
439
  (message, title, options) => show(message, title, "error", options),
410
440
  [show]
411
441
  );
412
- const clear = (0, import_react4.useCallback)((key) => {
442
+ const clear = (0, import_react5.useCallback)((containerKey) => {
413
443
  setToasts((prev) => {
414
- if (key) {
415
- return prev.filter((toast) => toast.options?.containerKey !== key);
444
+ if (containerKey) {
445
+ return prev.filter((toast) => toast.options?.containerKey !== containerKey);
416
446
  }
417
447
  return [];
418
448
  });
419
449
  }, []);
420
- const subscribe = (0, import_react4.useCallback)((subscriber) => {
450
+ const subscribe = (0, import_react5.useCallback)((subscriber) => {
421
451
  subscribersRef.current.add(subscriber);
422
452
  subscriber(toasts);
423
453
  return () => {
424
454
  subscribersRef.current.delete(subscriber);
425
455
  };
426
456
  }, [toasts]);
427
- const service = (0, import_react4.useMemo)(
457
+ const service = (0, import_react5.useMemo)(
428
458
  () => ({
429
459
  info,
430
460
  success,
@@ -437,28 +467,28 @@ function ToasterProvider({ children }) {
437
467
  }),
438
468
  [info, success, warn, error, show, remove, clear, subscribe]
439
469
  );
440
- const value = (0, import_react4.useMemo)(
470
+ const value = (0, import_react5.useMemo)(
441
471
  () => ({ service, toasts }),
442
472
  [service, toasts]
443
473
  );
444
474
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToasterContext.Provider, { value, children });
445
475
  }
446
476
  function useToaster() {
447
- const context = (0, import_react4.useContext)(ToasterContext);
477
+ const context = (0, import_react5.useContext)(ToasterContext);
448
478
  if (!context) {
449
479
  throw new Error("useToaster must be used within a ToasterProvider");
450
480
  }
451
481
  return context.service;
452
482
  }
453
483
  function useToasts() {
454
- const context = (0, import_react4.useContext)(ToasterContext);
484
+ const context = (0, import_react5.useContext)(ToasterContext);
455
485
  if (!context) {
456
486
  throw new Error("useToasts must be used within a ToasterProvider");
457
487
  }
458
488
  return context.toasts;
459
489
  }
460
490
  function useToasterContext() {
461
- const context = (0, import_react4.useContext)(ToasterContext);
491
+ const context = (0, import_react5.useContext)(ToasterContext);
462
492
  if (!context) {
463
493
  throw new Error("useToasterContext must be used within a ToasterProvider");
464
494
  }
@@ -466,30 +496,30 @@ function useToasterContext() {
466
496
  }
467
497
 
468
498
  // src/contexts/confirmation.context.tsx
469
- var import_react5 = require("react");
499
+ var import_react6 = require("react");
470
500
  var import_jsx_runtime2 = require("react/jsx-runtime");
471
- var ConfirmationContext = (0, import_react5.createContext)(null);
501
+ var ConfirmationContext = (0, import_react6.createContext)(null);
472
502
  function generateId2() {
473
503
  return `confirmation-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
474
504
  }
475
505
  function ConfirmationProvider({ children }) {
476
- const [confirmation, setConfirmation] = (0, import_react5.useState)(null);
477
- const resolverRef = (0, import_react5.useRef)(null);
478
- const subscribersRef = (0, import_react5.useRef)(/* @__PURE__ */ new Set());
479
- const escapeListenerRef = (0, import_react5.useRef)(false);
480
- (0, import_react5.useEffect)(() => {
506
+ const [confirmation, setConfirmation] = (0, import_react6.useState)(null);
507
+ const resolverRef = (0, import_react6.useRef)(null);
508
+ const subscribersRef = (0, import_react6.useRef)(/* @__PURE__ */ new Set());
509
+ const escapeListenerRef = (0, import_react6.useRef)(false);
510
+ (0, import_react6.useEffect)(() => {
481
511
  subscribersRef.current.forEach((subscriber) => {
482
512
  subscriber(confirmation);
483
513
  });
484
514
  }, [confirmation]);
485
- const respond = (0, import_react5.useCallback)((status) => {
515
+ const respond = (0, import_react6.useCallback)((status) => {
486
516
  if (resolverRef.current) {
487
517
  resolverRef.current(status);
488
518
  resolverRef.current = null;
489
519
  }
490
520
  setConfirmation(null);
491
521
  }, []);
492
- (0, import_react5.useEffect)(() => {
522
+ (0, import_react6.useEffect)(() => {
493
523
  if (!escapeListenerRef.current) return;
494
524
  const handleEscape = (event) => {
495
525
  if (event.key === "Escape" && confirmation && confirmation.options?.dismissible !== false) {
@@ -501,7 +531,7 @@ function ConfirmationProvider({ children }) {
501
531
  document.removeEventListener("keydown", handleEscape);
502
532
  };
503
533
  }, [confirmation, respond]);
504
- const show = (0, import_react5.useCallback)(
534
+ const show = (0, import_react6.useCallback)(
505
535
  (message, title, severity = "neutral", options = {}) => {
506
536
  if (resolverRef.current) {
507
537
  resolverRef.current(Confirmation.Status.dismiss);
@@ -523,39 +553,39 @@ function ConfirmationProvider({ children }) {
523
553
  },
524
554
  []
525
555
  );
526
- const info = (0, import_react5.useCallback)(
556
+ const info = (0, import_react6.useCallback)(
527
557
  (message, title, options) => show(message, title, "info", options),
528
558
  [show]
529
559
  );
530
- const success = (0, import_react5.useCallback)(
560
+ const success = (0, import_react6.useCallback)(
531
561
  (message, title, options) => show(message, title, "success", options),
532
562
  [show]
533
563
  );
534
- const warn = (0, import_react5.useCallback)(
564
+ const warn = (0, import_react6.useCallback)(
535
565
  (message, title, options) => show(message, title, "warning", options),
536
566
  [show]
537
567
  );
538
- const error = (0, import_react5.useCallback)(
568
+ const error = (0, import_react6.useCallback)(
539
569
  (message, title, options) => show(message, title, "error", options),
540
570
  [show]
541
571
  );
542
- const clear = (0, import_react5.useCallback)(
572
+ const clear = (0, import_react6.useCallback)(
543
573
  (status) => {
544
574
  respond(status ?? Confirmation.Status.dismiss);
545
575
  },
546
576
  [respond]
547
577
  );
548
- const listenToEscape = (0, import_react5.useCallback)(() => {
578
+ const listenToEscape = (0, import_react6.useCallback)(() => {
549
579
  escapeListenerRef.current = true;
550
580
  }, []);
551
- const subscribe = (0, import_react5.useCallback)((subscriber) => {
581
+ const subscribe = (0, import_react6.useCallback)((subscriber) => {
552
582
  subscribersRef.current.add(subscriber);
553
583
  subscriber(confirmation);
554
584
  return () => {
555
585
  subscribersRef.current.delete(subscriber);
556
586
  };
557
587
  }, [confirmation]);
558
- const service = (0, import_react5.useMemo)(
588
+ const service = (0, import_react6.useMemo)(
559
589
  () => ({
560
590
  info,
561
591
  success,
@@ -568,28 +598,28 @@ function ConfirmationProvider({ children }) {
568
598
  }),
569
599
  [info, success, warn, error, show, clear, listenToEscape, subscribe]
570
600
  );
571
- const value = (0, import_react5.useMemo)(
601
+ const value = (0, import_react6.useMemo)(
572
602
  () => ({ service, confirmation, respond }),
573
603
  [service, confirmation, respond]
574
604
  );
575
605
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ConfirmationContext.Provider, { value, children });
576
606
  }
577
607
  function useConfirmation() {
578
- const context = (0, import_react5.useContext)(ConfirmationContext);
608
+ const context = (0, import_react6.useContext)(ConfirmationContext);
579
609
  if (!context) {
580
610
  throw new Error("useConfirmation must be used within a ConfirmationProvider");
581
611
  }
582
612
  return context.service;
583
613
  }
584
614
  function useConfirmationState() {
585
- const context = (0, import_react5.useContext)(ConfirmationContext);
615
+ const context = (0, import_react6.useContext)(ConfirmationContext);
586
616
  if (!context) {
587
617
  throw new Error("useConfirmationState must be used within a ConfirmationProvider");
588
618
  }
589
619
  return { confirmation: context.confirmation, respond: context.respond };
590
620
  }
591
621
  function useConfirmationContext() {
592
- const context = (0, import_react5.useContext)(ConfirmationContext);
622
+ const context = (0, import_react6.useContext)(ConfirmationContext);
593
623
  if (!context) {
594
624
  throw new Error("useConfirmationContext must be used within a ConfirmationProvider");
595
625
  }
@@ -597,26 +627,26 @@ function useConfirmationContext() {
597
627
  }
598
628
 
599
629
  // src/contexts/modal.context.tsx
600
- var import_react6 = require("react");
630
+ var import_react7 = require("react");
601
631
  var import_jsx_runtime3 = require("react/jsx-runtime");
602
- var ModalContext = (0, import_react6.createContext)(null);
632
+ var ModalContext = (0, import_react7.createContext)(null);
603
633
  function ModalProvider({ children }) {
604
- const [modalState, setModalState] = (0, import_react6.useState)(null);
605
- const [, setUpdateCounter] = (0, import_react6.useState)(0);
606
- const containerRef = (0, import_react6.useRef)(null);
607
- const renderTemplate = (0, import_react6.useCallback)((render, context) => {
634
+ const [modalState, setModalState] = (0, import_react7.useState)(null);
635
+ const [, setUpdateCounter] = (0, import_react7.useState)(0);
636
+ const containerRef = (0, import_react7.useRef)(null);
637
+ const renderTemplate = (0, import_react7.useCallback)((render, context) => {
608
638
  setModalState({ render, context });
609
639
  }, []);
610
- const clearModal = (0, import_react6.useCallback)(() => {
640
+ const clearModal = (0, import_react7.useCallback)(() => {
611
641
  setModalState(null);
612
642
  }, []);
613
- const getContainer = (0, import_react6.useCallback)(() => {
643
+ const getContainer = (0, import_react7.useCallback)(() => {
614
644
  return containerRef;
615
645
  }, []);
616
- const detectChanges = (0, import_react6.useCallback)(() => {
646
+ const detectChanges = (0, import_react7.useCallback)(() => {
617
647
  setUpdateCounter((prev) => prev + 1);
618
648
  }, []);
619
- const service = (0, import_react6.useMemo)(
649
+ const service = (0, import_react7.useMemo)(
620
650
  () => ({
621
651
  renderTemplate,
622
652
  clearModal,
@@ -625,7 +655,7 @@ function ModalProvider({ children }) {
625
655
  }),
626
656
  [renderTemplate, clearModal, getContainer, detectChanges]
627
657
  );
628
- const value = (0, import_react6.useMemo)(
658
+ const value = (0, import_react7.useMemo)(
629
659
  () => ({ service, modalState }),
630
660
  [service, modalState]
631
661
  );
@@ -635,21 +665,21 @@ function ModalProvider({ children }) {
635
665
  ] });
636
666
  }
637
667
  function useModal() {
638
- const context = (0, import_react6.useContext)(ModalContext);
668
+ const context = (0, import_react7.useContext)(ModalContext);
639
669
  if (!context) {
640
670
  throw new Error("useModal must be used within a ModalProvider");
641
671
  }
642
672
  return context.service;
643
673
  }
644
674
  function useModalState() {
645
- const context = (0, import_react6.useContext)(ModalContext);
675
+ const context = (0, import_react7.useContext)(ModalContext);
646
676
  if (!context) {
647
677
  throw new Error("useModalState must be used within a ModalProvider");
648
678
  }
649
679
  return context.modalState;
650
680
  }
651
681
  function useModalContext() {
652
- const context = (0, import_react6.useContext)(ModalContext);
682
+ const context = (0, import_react7.useContext)(ModalContext);
653
683
  if (!context) {
654
684
  throw new Error("useModalContext must be used within a ModalProvider");
655
685
  }
@@ -664,7 +694,7 @@ function ModalContainer() {
664
694
  }
665
695
 
666
696
  // src/handlers/error.handler.ts
667
- var import_react7 = require("react");
697
+ var import_react8 = require("react");
668
698
  var DEFAULT_ERROR_MESSAGES = {
669
699
  400: "AbpUi::DefaultErrorMessage400",
670
700
  401: "AbpUi::DefaultErrorMessage401",
@@ -698,22 +728,22 @@ var DEFAULT_ERROR_LOCALIZATIONS = {
698
728
  function useErrorHandler(options = {}) {
699
729
  const { navigate, loginPath = "/account/login" } = options;
700
730
  const confirmation = useConfirmation();
701
- const [errorComponentProps, setErrorComponentProps] = (0, import_react7.useState)(null);
702
- const navigateToLogin = (0, import_react7.useCallback)(() => {
731
+ const [errorComponentProps, setErrorComponentProps] = (0, import_react8.useState)(null);
732
+ const navigateToLogin = (0, import_react8.useCallback)(() => {
703
733
  if (navigate) {
704
734
  navigate(loginPath);
705
735
  }
706
736
  }, [navigate, loginPath]);
707
- const showError = (0, import_react7.useCallback)(
737
+ const showError = (0, import_react8.useCallback)(
708
738
  async (message, title) => {
709
739
  return confirmation.error(message, title || "AbpUi::Error");
710
740
  },
711
741
  [confirmation]
712
742
  );
713
- const clearErrorComponent = (0, import_react7.useCallback)(() => {
743
+ const clearErrorComponent = (0, import_react8.useCallback)(() => {
714
744
  setErrorComponentProps(null);
715
745
  }, []);
716
- const createErrorComponent = (0, import_react7.useCallback)(
746
+ const createErrorComponent = (0, import_react8.useCallback)(
717
747
  (instance) => {
718
748
  const props = {
719
749
  title: instance.title || "Error",
@@ -726,7 +756,7 @@ function useErrorHandler(options = {}) {
726
756
  },
727
757
  [clearErrorComponent]
728
758
  );
729
- const handleError = (0, import_react7.useCallback)(
759
+ const handleError = (0, import_react8.useCallback)(
730
760
  async (error) => {
731
761
  if (error.status === 401) {
732
762
  navigateToLogin();
@@ -768,7 +798,7 @@ function isHttpErrorResponse(error) {
768
798
  }
769
799
 
770
800
  // src/hooks/use-nav-items.ts
771
- var import_react8 = require("react");
801
+ var import_react9 = require("react");
772
802
 
773
803
  // src/services/nav-items.service.ts
774
804
  var _NavItemsService = class _NavItemsService {
@@ -903,8 +933,8 @@ function getNavItemsService() {
903
933
  // src/hooks/use-nav-items.ts
904
934
  function useNavItems(service) {
905
935
  const navItemsService = service || getNavItemsService();
906
- const [items, setItems] = (0, import_react8.useState)(navItemsService.items);
907
- (0, import_react8.useEffect)(() => {
936
+ const [items, setItems] = (0, import_react9.useState)(navItemsService.items);
937
+ (0, import_react9.useEffect)(() => {
908
938
  const unsubscribe = navItemsService.subscribe(setItems);
909
939
  return unsubscribe;
910
940
  }, [navItemsService]);
@@ -912,8 +942,8 @@ function useNavItems(service) {
912
942
  }
913
943
 
914
944
  // src/components/toast/Toast.tsx
915
- var import_react9 = require("react");
916
- var import_react10 = require("@chakra-ui/react");
945
+ var import_react10 = require("react");
946
+ var import_react11 = require("@chakra-ui/react");
917
947
  var import_core = require("@abpjs/core");
918
948
  var import_lucide_react = require("lucide-react");
919
949
  var import_jsx_runtime4 = require("react/jsx-runtime");
@@ -1020,7 +1050,7 @@ function getPlacement(position) {
1020
1050
  var toasterCache = /* @__PURE__ */ new Map();
1021
1051
  function getToaster(placement) {
1022
1052
  if (!toasterCache.has(placement)) {
1023
- toasterCache.set(placement, (0, import_react10.createToaster)({
1053
+ toasterCache.set(placement, (0, import_react11.createToaster)({
1024
1054
  placement,
1025
1055
  pauseOnPageIdle: true
1026
1056
  }));
@@ -1030,14 +1060,14 @@ function getToaster(placement) {
1030
1060
  function ToastContainer({ position = "bottom-right", containerKey }) {
1031
1061
  const { toasts, service } = useToasterContext();
1032
1062
  const { t } = (0, import_core.useLocalization)();
1033
- const displayedToastsRef = (0, import_react9.useRef)(/* @__PURE__ */ new Set());
1034
- const placement = (0, import_react9.useMemo)(() => getPlacement(position), [position]);
1035
- const toaster = (0, import_react9.useMemo)(() => getToaster(placement), [placement]);
1036
- const filteredToasts = (0, import_react9.useMemo)(() => {
1063
+ const displayedToastsRef = (0, import_react10.useRef)(/* @__PURE__ */ new Set());
1064
+ const placement = (0, import_react10.useMemo)(() => getPlacement(position), [position]);
1065
+ const toaster = (0, import_react10.useMemo)(() => getToaster(placement), [placement]);
1066
+ const filteredToasts = (0, import_react10.useMemo)(() => {
1037
1067
  if (!containerKey) return toasts;
1038
1068
  return toasts.filter((toast) => toast.options?.containerKey === containerKey);
1039
1069
  }, [toasts, containerKey]);
1040
- (0, import_react9.useEffect)(() => {
1070
+ (0, import_react10.useEffect)(() => {
1041
1071
  const newToasts = filteredToasts.filter((toast) => !displayedToastsRef.current.has(toast.id));
1042
1072
  newToasts.forEach((toast) => {
1043
1073
  displayedToastsRef.current.add(toast.id);
@@ -1070,11 +1100,11 @@ function ToastContainer({ position = "bottom-right", containerKey }) {
1070
1100
  });
1071
1101
  });
1072
1102
  }, [filteredToasts, t, service, toaster]);
1073
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Toaster, { toaster, insetInline: { mdDown: "4" }, children: (toast) => {
1103
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Toaster, { toaster, insetInline: { mdDown: "4" }, children: (toast) => {
1074
1104
  const severity = toast.meta?.severity || "info";
1075
1105
  const closable = toast.meta?.closable !== false;
1076
1106
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1077
- import_react10.Toast.Root,
1107
+ import_react11.Toast.Root,
1078
1108
  {
1079
1109
  bg: getSeverityBg(severity),
1080
1110
  borderWidth: "1px",
@@ -1082,13 +1112,13 @@ function ToastContainer({ position = "bottom-right", containerKey }) {
1082
1112
  borderRadius: "lg",
1083
1113
  boxShadow: "lg",
1084
1114
  width: { md: "sm" },
1085
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react10.Flex, { align: "flex-start", gap: 3, p: 4, children: [
1086
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Box, { flexShrink: 0, pt: "2px", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SeverityIcon, { severity }) }),
1087
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react10.Stack, { gap: 1, flex: 1, children: [
1088
- toast.title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Toast.Title, { fontWeight: "bold", fontSize: "sm", color: "fg", children: toast.title }),
1089
- toast.description && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Toast.Description, { fontSize: "sm", color: "gray.700", children: toast.description })
1115
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react11.Flex, { align: "flex-start", gap: 3, p: 4, children: [
1116
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Box, { flexShrink: 0, pt: "2px", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SeverityIcon, { severity }) }),
1117
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react11.Stack, { gap: 1, flex: 1, children: [
1118
+ toast.title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Toast.Title, { fontWeight: "bold", fontSize: "sm", color: "fg", children: toast.title }),
1119
+ toast.description && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Toast.Description, { fontSize: "sm", color: "gray.700", children: toast.description })
1090
1120
  ] }),
1091
- closable && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.Toast.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react10.CloseButton, { size: "sm" }) })
1121
+ closable && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.Toast.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react11.CloseButton, { size: "sm" }) })
1092
1122
  ] })
1093
1123
  }
1094
1124
  );
@@ -1096,8 +1126,8 @@ function ToastContainer({ position = "bottom-right", containerKey }) {
1096
1126
  }
1097
1127
 
1098
1128
  // src/components/confirmation/Confirmation.tsx
1099
- var import_react11 = require("react");
1100
- var import_react12 = require("@chakra-ui/react");
1129
+ var import_react12 = require("react");
1130
+ var import_react13 = require("@chakra-ui/react");
1101
1131
  var import_core2 = require("@abpjs/core");
1102
1132
  var import_lucide_react2 = require("lucide-react");
1103
1133
  var import_jsx_runtime5 = require("react/jsx-runtime");
@@ -1145,7 +1175,7 @@ function getSeverityColorPalette2(severity) {
1145
1175
  function ConfirmationDialog({ className }) {
1146
1176
  const { confirmation, respond } = useConfirmationState();
1147
1177
  const { t } = (0, import_core2.useLocalization)();
1148
- const cancelRef = (0, import_react11.useRef)(null);
1178
+ const cancelRef = (0, import_react12.useRef)(null);
1149
1179
  if (!confirmation) {
1150
1180
  return null;
1151
1181
  }
@@ -1176,24 +1206,24 @@ function ConfirmationDialog({ className }) {
1176
1206
  }
1177
1207
  };
1178
1208
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1179
- import_react12.Dialog.Root,
1209
+ import_react13.Dialog.Root,
1180
1210
  {
1181
1211
  open: true,
1182
1212
  onOpenChange: handleOpenChange,
1183
1213
  role: "alertdialog",
1184
1214
  placement: "center",
1185
1215
  initialFocusEl: () => cancelRef.current,
1186
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react12.Portal, { children: [
1187
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Backdrop, {}),
1188
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react12.Dialog.Content, { className, maxWidth: "md", children: [
1189
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react12.Flex, { align: "center", gap: 3, children: [
1216
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react13.Portal, { children: [
1217
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Backdrop, {}),
1218
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react13.Dialog.Content, { className, maxWidth: "md", children: [
1219
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react13.Flex, { align: "center", gap: 3, children: [
1190
1220
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SeverityIcon2, { severity }),
1191
- localizedTitle && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Title, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Text, { fontWeight: "bold", fontSize: "lg", children: localizedTitle }) })
1221
+ localizedTitle && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Title, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Text, { fontWeight: "bold", fontSize: "lg", children: localizedTitle }) })
1192
1222
  ] }) }),
1193
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Body, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Text, { color: "gray.600", children: localizedMessage }) }),
1194
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react12.Dialog.Footer, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react12.Flex, { gap: 3, children: [
1223
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Body, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Text, { color: "gray.600", children: localizedMessage }) }),
1224
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react13.Dialog.Footer, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react13.Flex, { gap: 3, children: [
1195
1225
  !options?.hideCancelBtn && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1196
- import_react12.Button,
1226
+ import_react13.Button,
1197
1227
  {
1198
1228
  ref: cancelRef,
1199
1229
  variant: "ghost",
@@ -1202,7 +1232,7 @@ function ConfirmationDialog({ className }) {
1202
1232
  }
1203
1233
  ),
1204
1234
  !options?.hideYesBtn && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1205
- import_react12.Button,
1235
+ import_react13.Button,
1206
1236
  {
1207
1237
  colorPalette: getSeverityColorPalette2(severity),
1208
1238
  onClick: handleConfirm,
@@ -1217,7 +1247,7 @@ function ConfirmationDialog({ className }) {
1217
1247
  }
1218
1248
 
1219
1249
  // src/components/errors/ErrorComponent.tsx
1220
- var import_react13 = require("@chakra-ui/react");
1250
+ var import_react14 = require("@chakra-ui/react");
1221
1251
  var import_jsx_runtime6 = require("react/jsx-runtime");
1222
1252
  function ErrorComponent({
1223
1253
  title = "Error",
@@ -1229,9 +1259,9 @@ function ErrorComponent({
1229
1259
  onHomeClick,
1230
1260
  homeButtonText = "Go Home"
1231
1261
  }) {
1232
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react13.Container, { maxW: "container.md", py: 20, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react13.VStack, { gap: 6, textAlign: "center", children: [
1262
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react14.Container, { maxW: "container.md", py: 20, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react14.VStack, { gap: 6, textAlign: "center", children: [
1233
1263
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1234
- import_react13.Heading,
1264
+ import_react14.Heading,
1235
1265
  {
1236
1266
  size: "4xl",
1237
1267
  color: "red.500",
@@ -1239,10 +1269,10 @@ function ErrorComponent({
1239
1269
  children: title
1240
1270
  }
1241
1271
  ),
1242
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react13.Text, { fontSize: "lg", color: "gray.600", children: details }),
1243
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react13.Box, { display: "flex", gap: 3, children: [
1272
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react14.Text, { fontSize: "lg", color: "gray.600", children: details }),
1273
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react14.Box, { display: "flex", gap: 3, children: [
1244
1274
  isHomeShow && onHomeClick && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1245
- import_react13.Button,
1275
+ import_react14.Button,
1246
1276
  {
1247
1277
  colorPalette: "green",
1248
1278
  size: "lg",
@@ -1251,7 +1281,7 @@ function ErrorComponent({
1251
1281
  }
1252
1282
  ),
1253
1283
  showCloseButton && onDestroy && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1254
- import_react13.Button,
1284
+ import_react14.Button,
1255
1285
  {
1256
1286
  colorPalette: "blue",
1257
1287
  size: "lg",
@@ -1264,7 +1294,7 @@ function ErrorComponent({
1264
1294
  }
1265
1295
 
1266
1296
  // src/components/loader-bar/LoaderBar.tsx
1267
- var import_react14 = require("react");
1297
+ var import_react15 = require("react");
1268
1298
  var import_core3 = require("@abpjs/core");
1269
1299
  var import_jsx_runtime7 = require("react/jsx-runtime");
1270
1300
  function LoaderBar({
@@ -1275,10 +1305,10 @@ function LoaderBar({
1275
1305
  stopDelay = 400
1276
1306
  }) {
1277
1307
  const { loading } = (0, import_core3.useLoader)();
1278
- const [isLoading, setIsLoading] = (0, import_react14.useState)(false);
1279
- const [progressLevel, setProgressLevel] = (0, import_react14.useState)(0);
1280
- const intervalRef = (0, import_react14.useRef)(null);
1281
- const startLoading = (0, import_react14.useCallback)(() => {
1308
+ const [isLoading, setIsLoading] = (0, import_react15.useState)(false);
1309
+ const [progressLevel, setProgressLevel] = (0, import_react15.useState)(0);
1310
+ const intervalRef = (0, import_react15.useRef)(null);
1311
+ const startLoading = (0, import_react15.useCallback)(() => {
1282
1312
  setIsLoading(true);
1283
1313
  setProgressLevel(0);
1284
1314
  if (intervalRef.current) {
@@ -1297,7 +1327,7 @@ function LoaderBar({
1297
1327
  });
1298
1328
  }, intervalPeriod);
1299
1329
  }, [intervalPeriod]);
1300
- const stopLoading = (0, import_react14.useCallback)(() => {
1330
+ const stopLoading = (0, import_react15.useCallback)(() => {
1301
1331
  setProgressLevel(100);
1302
1332
  if (intervalRef.current) {
1303
1333
  clearInterval(intervalRef.current);
@@ -1308,14 +1338,14 @@ function LoaderBar({
1308
1338
  setProgressLevel(0);
1309
1339
  }, stopDelay);
1310
1340
  }, [stopDelay]);
1311
- (0, import_react14.useEffect)(() => {
1341
+ (0, import_react15.useEffect)(() => {
1312
1342
  if (loading) {
1313
1343
  startLoading();
1314
1344
  } else {
1315
1345
  stopLoading();
1316
1346
  }
1317
1347
  }, [loading, startLoading, stopLoading]);
1318
- (0, import_react14.useEffect)(() => {
1348
+ (0, import_react15.useEffect)(() => {
1319
1349
  return () => {
1320
1350
  if (intervalRef.current) {
1321
1351
  clearInterval(intervalRef.current);
@@ -1356,8 +1386,8 @@ function LoaderBar({
1356
1386
  }
1357
1387
 
1358
1388
  // src/components/modal/Modal.tsx
1359
- var import_react15 = __toESM(require("react"));
1360
- var import_react16 = require("@chakra-ui/react");
1389
+ var import_react16 = __toESM(require("react"));
1390
+ var import_react17 = require("@chakra-ui/react");
1361
1391
  var import_jsx_runtime8 = require("react/jsx-runtime");
1362
1392
  function getSizeWidth(size) {
1363
1393
  switch (size) {
@@ -1396,12 +1426,12 @@ function Modal({
1396
1426
  preventScroll = true,
1397
1427
  onInit
1398
1428
  }) {
1399
- const prevVisibleRef = import_react15.default.useRef(false);
1400
- const onInitRef = import_react15.default.useRef(onInit);
1401
- import_react15.default.useEffect(() => {
1429
+ const prevVisibleRef = import_react16.default.useRef(false);
1430
+ const onInitRef = import_react16.default.useRef(onInit);
1431
+ import_react16.default.useEffect(() => {
1402
1432
  onInitRef.current = onInit;
1403
1433
  }, [onInit]);
1404
- import_react15.default.useEffect(() => {
1434
+ import_react16.default.useEffect(() => {
1405
1435
  if (visible && !prevVisibleRef.current && onInitRef.current) {
1406
1436
  onInitRef.current();
1407
1437
  }
@@ -1414,7 +1444,7 @@ function Modal({
1414
1444
  onVisibleChange?.(details.open);
1415
1445
  };
1416
1446
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1417
- import_react16.Dialog.Root,
1447
+ import_react17.Dialog.Root,
1418
1448
  {
1419
1449
  open: visible,
1420
1450
  onOpenChange: handleOpenChange,
@@ -1425,10 +1455,10 @@ function Modal({
1425
1455
  motionPreset,
1426
1456
  trapFocus,
1427
1457
  preventScroll,
1428
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_react16.Portal, { children: [
1429
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Backdrop, {}),
1430
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
1431
- import_react16.Dialog.Content,
1458
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_react17.Portal, { children: [
1459
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Backdrop, {}),
1460
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
1461
+ import_react17.Dialog.Content,
1432
1462
  {
1433
1463
  className: modalClass,
1434
1464
  width: getSizeWidth(size),
@@ -1438,16 +1468,16 @@ function Modal({
1438
1468
  minHeight,
1439
1469
  children: [
1440
1470
  (header || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1441
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_react16.Flex, { justify: "space-between", align: "center", width: "100%", children: [
1442
- header && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Title, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Text, { fontWeight: "bold", fontSize: "lg", children: header }) }),
1443
- showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.CloseButton, { size: "sm" }) })
1471
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_react17.Flex, { justify: "space-between", align: "center", width: "100%", children: [
1472
+ header && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Title, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Text, { fontWeight: "bold", fontSize: "lg", children: header }) }),
1473
+ showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.CloseButton, { size: "sm" }) })
1444
1474
  ] }) }),
1445
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Separator, {})
1475
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Separator, {})
1446
1476
  ] }),
1447
- children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Body, { py: 4, children }),
1477
+ children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Body, { py: 4, children }),
1448
1478
  footer && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
1449
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Separator, {}),
1450
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Dialog.Footer, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Flex, { gap: 3, justify: "flex-end", w: "100%", children: footer }) })
1479
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Separator, {}),
1480
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Dialog.Footer, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Flex, { gap: 3, justify: "flex-end", w: "100%", children: footer }) })
1451
1481
  ] })
1452
1482
  ]
1453
1483
  }
@@ -1457,17 +1487,17 @@ function Modal({
1457
1487
  );
1458
1488
  }
1459
1489
  function AbpModalHeader({ children, className }) {
1460
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Text, { fontWeight: "bold", fontSize: "lg", className, children });
1490
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Text, { fontWeight: "bold", fontSize: "lg", className, children });
1461
1491
  }
1462
1492
  function AbpModalBody({ children, className }) {
1463
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Box, { color: "gray.600", className, children });
1493
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Box, { color: "gray.600", className, children });
1464
1494
  }
1465
1495
  function AbpModalFooter({ children, className }) {
1466
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react16.Flex, { gap: 3, justify: "flex-end", className, children });
1496
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Flex, { gap: 3, justify: "flex-end", className, children });
1467
1497
  }
1468
1498
 
1469
1499
  // src/components/ui/Alert.tsx
1470
- var import_react17 = require("@chakra-ui/react");
1500
+ var import_react18 = require("@chakra-ui/react");
1471
1501
  var import_jsx_runtime9 = require("react/jsx-runtime");
1472
1502
  function Alert({
1473
1503
  status = "info",
@@ -1480,28 +1510,28 @@ function Alert({
1480
1510
  borderRadius = "md"
1481
1511
  }) {
1482
1512
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1483
- import_react17.Alert.Root,
1513
+ import_react18.Alert.Root,
1484
1514
  {
1485
1515
  status,
1486
1516
  className,
1487
1517
  mb,
1488
1518
  borderRadius,
1489
1519
  children: [
1490
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react17.Alert.Indicator, {}),
1520
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react18.Alert.Indicator, {}),
1491
1521
  title ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
1492
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react17.Alert.Title, { children: title }),
1493
- (description || children) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react17.Alert.Description, { children: description || children })
1494
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react17.Alert.Title, { children })
1522
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react18.Alert.Title, { children: title }),
1523
+ (description || children) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react18.Alert.Description, { children: description || children })
1524
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react18.Alert.Title, { children })
1495
1525
  ]
1496
1526
  }
1497
1527
  );
1498
1528
  }
1499
1529
 
1500
1530
  // src/components/ui/Button.tsx
1501
- var import_react18 = require("react");
1502
- var import_react19 = require("@chakra-ui/react");
1531
+ var import_react19 = require("react");
1532
+ var import_react20 = require("@chakra-ui/react");
1503
1533
  var import_jsx_runtime10 = require("react/jsx-runtime");
1504
- var Button3 = (0, import_react18.forwardRef)(
1534
+ var Button3 = (0, import_react19.forwardRef)(
1505
1535
  function Button4({
1506
1536
  children,
1507
1537
  type = "button",
@@ -1518,7 +1548,7 @@ var Button3 = (0, import_react18.forwardRef)(
1518
1548
  ml
1519
1549
  }, ref) {
1520
1550
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1521
- import_react19.Button,
1551
+ import_react20.Button,
1522
1552
  {
1523
1553
  ref,
1524
1554
  type,
@@ -1540,10 +1570,10 @@ var Button3 = (0, import_react18.forwardRef)(
1540
1570
  );
1541
1571
 
1542
1572
  // src/components/ui/Checkbox.tsx
1543
- var import_react20 = require("react");
1544
- var import_react21 = require("@chakra-ui/react");
1573
+ var import_react21 = require("react");
1574
+ var import_react22 = require("@chakra-ui/react");
1545
1575
  var import_jsx_runtime11 = require("react/jsx-runtime");
1546
- var Checkbox = (0, import_react20.forwardRef)(
1576
+ var Checkbox = (0, import_react21.forwardRef)(
1547
1577
  function Checkbox2({
1548
1578
  children,
1549
1579
  checked,
@@ -1561,7 +1591,7 @@ var Checkbox = (0, import_react20.forwardRef)(
1561
1591
  className
1562
1592
  }, ref) {
1563
1593
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1564
- import_react21.Checkbox.Root,
1594
+ import_react22.Checkbox.Root,
1565
1595
  {
1566
1596
  checked,
1567
1597
  defaultChecked,
@@ -1574,7 +1604,7 @@ var Checkbox = (0, import_react20.forwardRef)(
1574
1604
  className,
1575
1605
  children: [
1576
1606
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1577
- import_react21.Checkbox.HiddenInput,
1607
+ import_react22.Checkbox.HiddenInput,
1578
1608
  {
1579
1609
  ref,
1580
1610
  id,
@@ -1583,8 +1613,8 @@ var Checkbox = (0, import_react20.forwardRef)(
1583
1613
  onChange
1584
1614
  }
1585
1615
  ),
1586
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react21.Checkbox.Control, {}),
1587
- children && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react21.Checkbox.Label, { children })
1616
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react22.Checkbox.Control, {}),
1617
+ children && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react22.Checkbox.Label, { children })
1588
1618
  ]
1589
1619
  }
1590
1620
  );
@@ -1592,7 +1622,7 @@ var Checkbox = (0, import_react20.forwardRef)(
1592
1622
  );
1593
1623
 
1594
1624
  // src/components/ui/FormField.tsx
1595
- var import_react22 = require("@chakra-ui/react");
1625
+ var import_react23 = require("@chakra-ui/react");
1596
1626
  var import_jsx_runtime12 = require("react/jsx-runtime");
1597
1627
  function FormField({
1598
1628
  label,
@@ -1605,20 +1635,20 @@ function FormField({
1605
1635
  htmlFor,
1606
1636
  className
1607
1637
  }) {
1608
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react22.Field.Root, { invalid, disabled, className, children: [
1609
- label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react22.Field.Label, { htmlFor, children: [
1638
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react23.Field.Root, { invalid, disabled, className, children: [
1639
+ label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react23.Field.Label, { htmlFor, children: [
1610
1640
  label,
1611
- required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react22.Field.RequiredIndicator, {})
1641
+ required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react23.Field.RequiredIndicator, {})
1612
1642
  ] }),
1613
1643
  children,
1614
- helperText && !invalid && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react22.Field.HelperText, { children: helperText }),
1615
- invalid && errorText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react22.Field.ErrorText, { children: errorText })
1644
+ helperText && !invalid && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react23.Field.HelperText, { children: helperText }),
1645
+ invalid && errorText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react23.Field.ErrorText, { children: errorText })
1616
1646
  ] });
1617
1647
  }
1618
1648
 
1619
1649
  // src/components/change-password/ChangePassword.tsx
1620
- var import_react23 = require("react");
1621
- var import_react24 = require("@chakra-ui/react");
1650
+ var import_react24 = require("react");
1651
+ var import_react25 = require("@chakra-ui/react");
1622
1652
  var import_react_hook_form = require("react-hook-form");
1623
1653
  var import_core4 = require("@abpjs/core");
1624
1654
  var import_lucide_react3 = require("lucide-react");
@@ -1644,7 +1674,7 @@ function ChangePassword({
1644
1674
  }
1645
1675
  });
1646
1676
  const newPassword = watch("newPassword");
1647
- (0, import_react23.useEffect)(() => {
1677
+ (0, import_react24.useEffect)(() => {
1648
1678
  if (visible) {
1649
1679
  reset();
1650
1680
  }
@@ -1686,9 +1716,9 @@ function ChangePassword({
1686
1716
  }
1687
1717
  };
1688
1718
  const modalFooter = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1689
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Button, { variant: "ghost", mr: 3, onClick: handleClose, disabled: isSubmitting, children: t("AbpIdentity::Cancel") || "Cancel" }),
1719
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Button, { variant: "ghost", mr: 3, onClick: handleClose, disabled: isSubmitting, children: t("AbpIdentity::Cancel") || "Cancel" }),
1690
1720
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1691
- import_react24.Button,
1721
+ import_react25.Button,
1692
1722
  {
1693
1723
  colorPalette: "blue",
1694
1724
  type: "submit",
@@ -1710,14 +1740,14 @@ function ChangePassword({
1710
1740
  header: t("AbpIdentity::ChangePassword") || "Change Password",
1711
1741
  footer: modalFooter,
1712
1742
  centered: true,
1713
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("form", { id: "change-password-form", onSubmit: handleSubmit(onSubmit), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.VStack, { gap: 4, children: [
1714
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Root, { invalid: !!errors.password, children: [
1715
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Label, { children: [
1743
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("form", { id: "change-password-form", onSubmit: handleSubmit(onSubmit), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.VStack, { gap: 4, children: [
1744
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Root, { invalid: !!errors.password, children: [
1745
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Label, { children: [
1716
1746
  t("AbpIdentity::DisplayName:CurrentPassword") || "Current Password",
1717
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.RequiredIndicator, {})
1747
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
1718
1748
  ] }),
1719
1749
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1720
- import_react24.Input,
1750
+ import_react25.Input,
1721
1751
  {
1722
1752
  type: "password",
1723
1753
  ...register("password", {
@@ -1725,29 +1755,29 @@ function ChangePassword({
1725
1755
  })
1726
1756
  }
1727
1757
  ),
1728
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.ErrorText, { children: errors.password?.message })
1758
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.ErrorText, { children: errors.password?.message })
1729
1759
  ] }),
1730
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Root, { invalid: !!errors.newPassword, children: [
1731
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Label, { children: [
1760
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Root, { invalid: !!errors.newPassword, children: [
1761
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Label, { children: [
1732
1762
  t("AbpIdentity::DisplayName:NewPassword") || "New Password",
1733
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.RequiredIndicator, {})
1763
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
1734
1764
  ] }),
1735
1765
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1736
- import_react24.Input,
1766
+ import_react25.Input,
1737
1767
  {
1738
1768
  type: "password",
1739
1769
  ...register("newPassword", passwordValidation)
1740
1770
  }
1741
1771
  ),
1742
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.ErrorText, { children: errors.newPassword?.message })
1772
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.ErrorText, { children: errors.newPassword?.message })
1743
1773
  ] }),
1744
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Root, { invalid: !!errors.repeatNewPassword, children: [
1745
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react24.Field.Label, { children: [
1774
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Root, { invalid: !!errors.repeatNewPassword, children: [
1775
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react25.Field.Label, { children: [
1746
1776
  t("AbpIdentity::DisplayName:NewPasswordConfirm") || "Confirm New Password",
1747
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.RequiredIndicator, {})
1777
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
1748
1778
  ] }),
1749
1779
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1750
- import_react24.Input,
1780
+ import_react25.Input,
1751
1781
  {
1752
1782
  type: "password",
1753
1783
  ...register("repeatNewPassword", {
@@ -1756,7 +1786,7 @@ function ChangePassword({
1756
1786
  })
1757
1787
  }
1758
1788
  ),
1759
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react24.Field.ErrorText, { children: errors.repeatNewPassword?.message })
1789
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.ErrorText, { children: errors.repeatNewPassword?.message })
1760
1790
  ] })
1761
1791
  ] }) })
1762
1792
  }
@@ -1764,8 +1794,8 @@ function ChangePassword({
1764
1794
  }
1765
1795
 
1766
1796
  // src/components/profile/Profile.tsx
1767
- var import_react25 = require("react");
1768
- var import_react26 = require("@chakra-ui/react");
1797
+ var import_react26 = require("react");
1798
+ var import_react27 = require("@chakra-ui/react");
1769
1799
  var import_react_hook_form2 = require("react-hook-form");
1770
1800
  var import_core5 = require("@abpjs/core");
1771
1801
  var import_lucide_react4 = require("lucide-react");
@@ -1792,13 +1822,13 @@ function Profile({
1792
1822
  }
1793
1823
  });
1794
1824
  const modalBusy = isSubmitting || loading;
1795
- (0, import_react25.useEffect)(() => {
1825
+ (0, import_react26.useEffect)(() => {
1796
1826
  if (visible) {
1797
1827
  fetchProfile().then(() => {
1798
1828
  });
1799
1829
  }
1800
1830
  }, [visible, fetchProfile]);
1801
- (0, import_react25.useEffect)(() => {
1831
+ (0, import_react26.useEffect)(() => {
1802
1832
  if (profile) {
1803
1833
  reset({
1804
1834
  userName: profile.userName || "",
@@ -1830,9 +1860,9 @@ function Profile({
1830
1860
  }
1831
1861
  };
1832
1862
  const modalFooter = /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
1833
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Button, { variant: "ghost", mr: 3, onClick: handleClose, disabled: modalBusy, children: t("AbpIdentity::Cancel") || "Cancel" }),
1863
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Button, { variant: "ghost", mr: 3, onClick: handleClose, disabled: modalBusy, children: t("AbpIdentity::Cancel") || "Cancel" }),
1834
1864
  /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1835
- import_react26.Button,
1865
+ import_react27.Button,
1836
1866
  {
1837
1867
  colorPalette: "blue",
1838
1868
  type: "submit",
@@ -1855,14 +1885,14 @@ function Profile({
1855
1885
  footer: modalFooter,
1856
1886
  size: "lg",
1857
1887
  centered: true,
1858
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("form", { id: "profile-form", onSubmit: handleSubmit(onSubmit), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.VStack, { gap: 4, children: [
1859
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Root, { invalid: !!errors.userName, children: [
1860
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Label, { children: [
1888
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("form", { id: "profile-form", onSubmit: handleSubmit(onSubmit), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.VStack, { gap: 4, children: [
1889
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Root, { invalid: !!errors.userName, children: [
1890
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Label, { children: [
1861
1891
  t("AbpIdentity::DisplayName:UserName") || "Username",
1862
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.RequiredIndicator, {})
1892
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.RequiredIndicator, {})
1863
1893
  ] }),
1864
1894
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1865
- import_react26.Input,
1895
+ import_react27.Input,
1866
1896
  {
1867
1897
  type: "text",
1868
1898
  ...register("userName", {
@@ -1874,13 +1904,13 @@ function Profile({
1874
1904
  })
1875
1905
  }
1876
1906
  ),
1877
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.ErrorText, { children: errors.userName?.message })
1907
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.userName?.message })
1878
1908
  ] }),
1879
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.HStack, { gap: 4, w: "full", children: [
1880
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Root, { invalid: !!errors.name, flex: 1, children: [
1881
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.Label, { children: t("AbpIdentity::DisplayName:Name") || "Name" }),
1909
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.HStack, { gap: 4, w: "full", children: [
1910
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Root, { invalid: !!errors.name, flex: 1, children: [
1911
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.Label, { children: t("AbpIdentity::DisplayName:Name") || "Name" }),
1882
1912
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1883
- import_react26.Input,
1913
+ import_react27.Input,
1884
1914
  {
1885
1915
  type: "text",
1886
1916
  ...register("name", {
@@ -1891,12 +1921,12 @@ function Profile({
1891
1921
  })
1892
1922
  }
1893
1923
  ),
1894
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.ErrorText, { children: errors.name?.message })
1924
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.name?.message })
1895
1925
  ] }),
1896
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Root, { invalid: !!errors.surname, flex: 1, children: [
1897
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.Label, { children: t("AbpIdentity::DisplayName:Surname") || "Surname" }),
1926
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Root, { invalid: !!errors.surname, flex: 1, children: [
1927
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.Label, { children: t("AbpIdentity::DisplayName:Surname") || "Surname" }),
1898
1928
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1899
- import_react26.Input,
1929
+ import_react27.Input,
1900
1930
  {
1901
1931
  type: "text",
1902
1932
  ...register("surname", {
@@ -1907,16 +1937,16 @@ function Profile({
1907
1937
  })
1908
1938
  }
1909
1939
  ),
1910
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.ErrorText, { children: errors.surname?.message })
1940
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.surname?.message })
1911
1941
  ] })
1912
1942
  ] }),
1913
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Root, { invalid: !!errors.email, children: [
1914
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Label, { children: [
1943
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Root, { invalid: !!errors.email, children: [
1944
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Label, { children: [
1915
1945
  t("AbpIdentity::DisplayName:EmailAddress") || "Email Address",
1916
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.RequiredIndicator, {})
1946
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.RequiredIndicator, {})
1917
1947
  ] }),
1918
1948
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1919
- import_react26.Input,
1949
+ import_react27.Input,
1920
1950
  {
1921
1951
  type: "email",
1922
1952
  ...register("email", {
@@ -1932,12 +1962,12 @@ function Profile({
1932
1962
  })
1933
1963
  }
1934
1964
  ),
1935
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.ErrorText, { children: errors.email?.message })
1965
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.email?.message })
1936
1966
  ] }),
1937
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react26.Field.Root, { invalid: !!errors.phoneNumber, children: [
1938
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.Label, { children: t("AbpIdentity::DisplayName:PhoneNumber") || "Phone Number" }),
1967
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react27.Field.Root, { invalid: !!errors.phoneNumber, children: [
1968
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.Label, { children: t("AbpIdentity::DisplayName:PhoneNumber") || "Phone Number" }),
1939
1969
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1940
- import_react26.Input,
1970
+ import_react27.Input,
1941
1971
  {
1942
1972
  type: "tel",
1943
1973
  ...register("phoneNumber", {
@@ -1948,7 +1978,7 @@ function Profile({
1948
1978
  })
1949
1979
  }
1950
1980
  ),
1951
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react26.Field.ErrorText, { children: errors.phoneNumber?.message })
1981
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.phoneNumber?.message })
1952
1982
  ] })
1953
1983
  ] }) })
1954
1984
  }
@@ -1956,10 +1986,10 @@ function Profile({
1956
1986
  }
1957
1987
 
1958
1988
  // src/providers/ThemeSharedProvider.tsx
1959
- var import_react29 = require("@chakra-ui/react");
1989
+ var import_react30 = require("@chakra-ui/react");
1960
1990
 
1961
1991
  // src/theme/index.ts
1962
- var import_react27 = require("@chakra-ui/react");
1992
+ var import_react28 = require("@chakra-ui/react");
1963
1993
  var colors = {
1964
1994
  brand: {
1965
1995
  50: { value: "#e3f2fd" },
@@ -2162,7 +2192,7 @@ var semanticTokens = {
2162
2192
  // },
2163
2193
  // },
2164
2194
  };
2165
- var defaultAbpConfig = (0, import_react27.defineConfig)({
2195
+ var defaultAbpConfig = (0, import_react28.defineConfig)({
2166
2196
  theme: {
2167
2197
  tokens: {
2168
2198
  colors,
@@ -2184,14 +2214,14 @@ var defaultAbpConfig = (0, import_react27.defineConfig)({
2184
2214
  });
2185
2215
  function createAbpSystem(overrides) {
2186
2216
  if (overrides) {
2187
- return (0, import_react27.createSystem)(import_react27.defaultConfig, defaultAbpConfig, overrides);
2217
+ return (0, import_react28.createSystem)(import_react28.defaultConfig, defaultAbpConfig, overrides);
2188
2218
  }
2189
- return (0, import_react27.createSystem)(import_react27.defaultConfig, defaultAbpConfig);
2219
+ return (0, import_react28.createSystem)(import_react28.defaultConfig, defaultAbpConfig);
2190
2220
  }
2191
2221
  var abpSystem = createAbpSystem();
2192
2222
 
2193
2223
  // src/components/ui/color-mode.tsx
2194
- var import_react28 = require("@chakra-ui/react");
2224
+ var import_react29 = require("@chakra-ui/react");
2195
2225
  var import_next_themes = require("next-themes");
2196
2226
  var React11 = __toESM(require("react"));
2197
2227
  var import_lucide_react5 = require("lucide-react");
@@ -2217,8 +2247,8 @@ function ColorModeIcon() {
2217
2247
  }
2218
2248
  var ColorModeButton = React11.forwardRef(function ColorModeButton2(props, ref) {
2219
2249
  const { toggleColorMode } = useColorMode();
2220
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react28.ClientOnly, { fallback: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react28.Skeleton, { boxSize: "9" }), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2221
- import_react28.IconButton,
2250
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react29.ClientOnly, { fallback: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react29.Skeleton, { boxSize: "9" }), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2251
+ import_react29.IconButton,
2222
2252
  {
2223
2253
  onClick: toggleColorMode,
2224
2254
  variant: "ghost",
@@ -2239,7 +2269,7 @@ var ColorModeButton = React11.forwardRef(function ColorModeButton2(props, ref) {
2239
2269
  var LightMode = React11.forwardRef(
2240
2270
  function LightMode2(props, ref) {
2241
2271
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2242
- import_react28.Span,
2272
+ import_react29.Span,
2243
2273
  {
2244
2274
  color: "fg",
2245
2275
  display: "contents",
@@ -2255,7 +2285,7 @@ var LightMode = React11.forwardRef(
2255
2285
  var DarkMode = React11.forwardRef(
2256
2286
  function DarkMode2(props, ref) {
2257
2287
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2258
- import_react28.Span,
2288
+ import_react29.Span,
2259
2289
  {
2260
2290
  color: "fg",
2261
2291
  display: "contents",
@@ -2291,7 +2321,7 @@ function ThemeSharedProvider({
2291
2321
  renderConfirmation && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ConfirmationDialog, {})
2292
2322
  ] }) });
2293
2323
  const colorModeProps = enableColorMode ? { defaultTheme: defaultColorMode } : { forcedTheme: "light" };
2294
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react29.ChakraProvider, { value: system, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react29.LocaleProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ColorModeProvider, { ...colorModeProps, children: content }) }) });
2324
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react30.ChakraProvider, { value: system, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react30.LocaleProvider, { locale, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ColorModeProvider, { ...colorModeProps, children: content }) }) });
2295
2325
  }
2296
2326
 
2297
2327
  // src/providers/route.provider.ts
@@ -2325,17 +2355,17 @@ function initializeThemeSharedRoutes() {
2325
2355
  }
2326
2356
 
2327
2357
  // src/handlers/lazy-style.handler.ts
2328
- var import_react30 = require("react");
2358
+ var import_react31 = require("react");
2329
2359
  var import_core8 = require("@abpjs/core");
2330
2360
  function createLazyStyleHref(style, dir) {
2331
2361
  return style.replace("{{dir}}", dir);
2332
2362
  }
2333
2363
  function useLazyStyleHandler(options = {}) {
2334
2364
  const { styles = [BOOTSTRAP], initialDirection = "ltr" } = options;
2335
- const [direction, setDirection] = (0, import_react30.useState)(initialDirection);
2336
- const lazyLoadRef = (0, import_react30.useRef)(new import_core8.LazyLoadService());
2337
- const loadedStylesRef = (0, import_react30.useRef)(/* @__PURE__ */ new Map());
2338
- (0, import_react30.useEffect)(() => {
2365
+ const [direction, setDirection] = (0, import_react31.useState)(initialDirection);
2366
+ const lazyLoadRef = (0, import_react31.useRef)(new import_core8.LazyLoadService());
2367
+ const loadedStylesRef = (0, import_react31.useRef)(/* @__PURE__ */ new Map());
2368
+ (0, import_react31.useEffect)(() => {
2339
2369
  document.body.dir = direction;
2340
2370
  const switchCSS = async () => {
2341
2371
  const lazyLoad = lazyLoadRef.current;
@@ -2610,6 +2640,8 @@ function getPasswordValidationRules(store) {
2610
2640
  NavItemsService,
2611
2641
  PASSWORD_SETTING_KEYS,
2612
2642
  Profile,
2643
+ SUPPRESS_UNSAVED_CHANGES_WARNING,
2644
+ SuppressUnsavedChangesWarningContext,
2613
2645
  THEME_SHARED_APPEND_CONTENT,
2614
2646
  THEME_SHARED_ROUTE_PROVIDERS,
2615
2647
  THEME_SHARED_STYLES,
@@ -2648,6 +2680,7 @@ function getPasswordValidationRules(store) {
2648
2680
  useModalContext,
2649
2681
  useModalState,
2650
2682
  useNavItems,
2683
+ useSuppressUnsavedChangesWarning,
2651
2684
  useToaster,
2652
2685
  useToasterContext,
2653
2686
  useToasts