@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/components/modal/Modal.d.ts +7 -0
- package/dist/constants/styles.d.ts +4 -1
- package/dist/contexts/confirmation.context.d.ts +9 -9
- package/dist/contexts/toaster.context.d.ts +15 -16
- package/dist/index.d.ts +20 -1
- package/dist/index.js +256 -223
- package/dist/index.mjs +51 -21
- package/dist/models/confirmation.d.ts +13 -6
- package/dist/models/toaster.d.ts +27 -4
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/suppress-unsaved-changes-warning.token.d.ts +17 -0
- package/package.json +3 -3
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: () =>
|
|
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: () =>
|
|
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/
|
|
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,
|
|
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,
|
|
363
|
-
const subscribersRef = (0,
|
|
364
|
-
(0,
|
|
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,
|
|
399
|
+
const remove = (0, import_react5.useCallback)((id) => {
|
|
370
400
|
setToasts((prev) => prev.filter((t) => t.id !== id));
|
|
371
401
|
}, []);
|
|
372
|
-
const show = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
442
|
+
const clear = (0, import_react5.useCallback)((containerKey) => {
|
|
413
443
|
setToasts((prev) => {
|
|
414
|
-
if (
|
|
415
|
-
return prev.filter((toast) => toast.options?.containerKey !==
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
499
|
+
var import_react6 = require("react");
|
|
470
500
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
471
|
-
var ConfirmationContext = (0,
|
|
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,
|
|
477
|
-
const resolverRef = (0,
|
|
478
|
-
const subscribersRef = (0,
|
|
479
|
-
const escapeListenerRef = (0,
|
|
480
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
578
|
+
const listenToEscape = (0, import_react6.useCallback)(() => {
|
|
549
579
|
escapeListenerRef.current = true;
|
|
550
580
|
}, []);
|
|
551
|
-
const subscribe = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
630
|
+
var import_react7 = require("react");
|
|
601
631
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
602
|
-
var ModalContext = (0,
|
|
632
|
+
var ModalContext = (0, import_react7.createContext)(null);
|
|
603
633
|
function ModalProvider({ children }) {
|
|
604
|
-
const [modalState, setModalState] = (0,
|
|
605
|
-
const [, setUpdateCounter] = (0,
|
|
606
|
-
const containerRef = (0,
|
|
607
|
-
const renderTemplate = (0,
|
|
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,
|
|
640
|
+
const clearModal = (0, import_react7.useCallback)(() => {
|
|
611
641
|
setModalState(null);
|
|
612
642
|
}, []);
|
|
613
|
-
const getContainer = (0,
|
|
643
|
+
const getContainer = (0, import_react7.useCallback)(() => {
|
|
614
644
|
return containerRef;
|
|
615
645
|
}, []);
|
|
616
|
-
const detectChanges = (0,
|
|
646
|
+
const detectChanges = (0, import_react7.useCallback)(() => {
|
|
617
647
|
setUpdateCounter((prev) => prev + 1);
|
|
618
648
|
}, []);
|
|
619
|
-
const service = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
702
|
-
const navigateToLogin = (0,
|
|
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,
|
|
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,
|
|
743
|
+
const clearErrorComponent = (0, import_react8.useCallback)(() => {
|
|
714
744
|
setErrorComponentProps(null);
|
|
715
745
|
}, []);
|
|
716
|
-
const createErrorComponent = (0,
|
|
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,
|
|
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
|
|
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,
|
|
907
|
-
(0,
|
|
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
|
|
916
|
-
var
|
|
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,
|
|
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,
|
|
1034
|
-
const placement = (0,
|
|
1035
|
-
const toaster = (0,
|
|
1036
|
-
const filteredToasts = (0,
|
|
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,
|
|
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)(
|
|
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
|
-
|
|
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)(
|
|
1086
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1087
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
1088
|
-
toast.title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1089
|
-
toast.description && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
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)(
|
|
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
|
|
1100
|
-
var
|
|
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,
|
|
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
|
-
|
|
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)(
|
|
1187
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
1188
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
1189
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
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)(
|
|
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)(
|
|
1194
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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)(
|
|
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
|
-
|
|
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)(
|
|
1243
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
1279
|
-
const [progressLevel, setProgressLevel] = (0,
|
|
1280
|
-
const intervalRef = (0,
|
|
1281
|
-
const startLoading = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
1360
|
-
var
|
|
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 =
|
|
1400
|
-
const onInitRef =
|
|
1401
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)(
|
|
1429
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1430
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1431
|
-
|
|
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)(
|
|
1442
|
-
header && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1443
|
-
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
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)(
|
|
1475
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react17.Separator, {})
|
|
1446
1476
|
] }),
|
|
1447
|
-
children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
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)(
|
|
1450
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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
|
|
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
|
-
|
|
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)(
|
|
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)(
|
|
1493
|
-
(description || children) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1494
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
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
|
|
1502
|
-
var
|
|
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,
|
|
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
|
-
|
|
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
|
|
1544
|
-
var
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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)(
|
|
1587
|
-
children && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
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
|
|
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)(
|
|
1609
|
-
label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
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)(
|
|
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)(
|
|
1615
|
-
invalid && errorText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
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
|
|
1621
|
-
var
|
|
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,
|
|
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)(
|
|
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
|
-
|
|
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)(
|
|
1714
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
1715
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
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)(
|
|
1747
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
|
|
1718
1748
|
] }),
|
|
1719
1749
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1720
|
-
|
|
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)(
|
|
1758
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.ErrorText, { children: errors.password?.message })
|
|
1729
1759
|
] }),
|
|
1730
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
1731
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
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)(
|
|
1763
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
|
|
1734
1764
|
] }),
|
|
1735
1765
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1736
|
-
|
|
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)(
|
|
1772
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.ErrorText, { children: errors.newPassword?.message })
|
|
1743
1773
|
] }),
|
|
1744
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
1745
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
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)(
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react25.Field.RequiredIndicator, {})
|
|
1748
1778
|
] }),
|
|
1749
1779
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1750
|
-
|
|
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)(
|
|
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
|
|
1768
|
-
var
|
|
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,
|
|
1825
|
+
(0, import_react26.useEffect)(() => {
|
|
1796
1826
|
if (visible) {
|
|
1797
1827
|
fetchProfile().then(() => {
|
|
1798
1828
|
});
|
|
1799
1829
|
}
|
|
1800
1830
|
}, [visible, fetchProfile]);
|
|
1801
|
-
(0,
|
|
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)(
|
|
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
|
-
|
|
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)(
|
|
1859
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1860
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
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)(
|
|
1892
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.RequiredIndicator, {})
|
|
1863
1893
|
] }),
|
|
1864
1894
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1865
|
-
|
|
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)(
|
|
1907
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.userName?.message })
|
|
1878
1908
|
] }),
|
|
1879
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1880
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1881
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
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
|
-
|
|
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)(
|
|
1924
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.name?.message })
|
|
1895
1925
|
] }),
|
|
1896
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1897
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
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
|
-
|
|
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)(
|
|
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)(
|
|
1914
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
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)(
|
|
1946
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.RequiredIndicator, {})
|
|
1917
1947
|
] }),
|
|
1918
1948
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1919
|
-
|
|
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)(
|
|
1965
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react27.Field.ErrorText, { children: errors.email?.message })
|
|
1936
1966
|
] }),
|
|
1937
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1938
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
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
|
-
|
|
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)(
|
|
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
|
|
1989
|
+
var import_react30 = require("@chakra-ui/react");
|
|
1960
1990
|
|
|
1961
1991
|
// src/theme/index.ts
|
|
1962
|
-
var
|
|
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,
|
|
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,
|
|
2217
|
+
return (0, import_react28.createSystem)(import_react28.defaultConfig, defaultAbpConfig, overrides);
|
|
2188
2218
|
}
|
|
2189
|
-
return (0,
|
|
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
|
|
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)(
|
|
2221
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)(
|
|
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
|
|
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,
|
|
2336
|
-
const lazyLoadRef = (0,
|
|
2337
|
-
const loadedStylesRef = (0,
|
|
2338
|
-
(0,
|
|
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
|