@splpi/estore-shared-components 0.0.1 → 0.0.3

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
@@ -32,13 +32,13 @@ var index_exports = {};
32
32
  __export(index_exports, {
33
33
  Beneficiary: () => beneficiary_default,
34
34
  BottomQuickActions: () => BottomQuickActions_default,
35
- FloatingLabelInput: () => floating_label_input_default,
36
35
  HealthDeclaration: () => HealthDeclaration_default,
37
36
  LifePlanApplication1: () => LifePlanApplication1_default,
38
37
  LifePlanApplication2: () => LifePlanApplication2_default,
39
38
  LifePlanApplication3: () => LifePlanApplication3_default,
40
39
  LifePlanApplicationFormWrapper: () => LifePlanApplicationFormWrapper_default,
41
40
  LifePlanApplicationStepWrapper: () => LifePlanApplicationStepWrapper_default,
41
+ NotifyInstall: () => NotifyInstall,
42
42
  SharedLifePlanApplication: () => SharedLifePlanApplication_default,
43
43
  UserProfile: () => UserProfile_default,
44
44
  createEmptyApplicationData: () => createEmptyApplicationData,
@@ -270,24 +270,32 @@ var STANDARD_ICON_BUTTON_STYLES = {
270
270
  }
271
271
  };
272
272
 
273
- // src/NewSaleForm/ui/floating-label-input.tsx
274
- var import_react = require("react");
275
- var import_react2 = require("@chakra-ui/react");
273
+ // src/NewSaleForm/ui/FloatingLabelInput.tsx
274
+ var import_react = require("@chakra-ui/react");
275
+ var import_react2 = require("react");
276
276
  var import_jsx_runtime = require("react/jsx-runtime");
277
277
  var FloatingLabelInput = (props) => {
278
278
  const { label, onValueChange, value, defaultValue = "", ...rest } = props;
279
- const [inputState, setInputState] = (0, import_react2.useControllableState)({
279
+ const [inputState, setInputState] = (0, import_react.useControllableState)({
280
280
  defaultValue,
281
281
  onChange: onValueChange,
282
282
  value
283
283
  });
284
- const [focused, setFocused] = (0, import_react.useState)(false);
284
+ const [focused, setFocused] = (0, import_react2.useState)(false);
285
285
  const shouldFloat = inputState.length > 0 || focused;
286
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react2.Box, { pos: "relative", w: "full", children: [
286
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react.Box, { pos: "relative", w: "full", children: [
287
287
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
288
- import_react2.Input,
288
+ import_react.Input,
289
289
  {
290
290
  ...rest,
291
+ h: "12",
292
+ pt: shouldFloat ? "5" : "2",
293
+ pb: "1",
294
+ fontSize: "sm",
295
+ fontWeight: "semibold",
296
+ borderWidth: "1.5px",
297
+ borderRadius: "lg",
298
+ _placeholder: { color: "transparent" },
291
299
  onFocus: (e) => {
292
300
  props.onFocus?.(e);
293
301
  setFocused(true);
@@ -304,26 +312,32 @@ var FloatingLabelInput = (props) => {
304
312
  "data-float": shouldFloat || void 0
305
313
  }
306
314
  ),
307
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react2.Field.Label, { css: floatingStyles, "data-float": shouldFloat || void 0, children: label })
315
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Field.Label, { css: floatingStyles, "data-float": shouldFloat || void 0, children: label })
308
316
  ] });
309
317
  };
310
- var floatingStyles = (0, import_react2.defineStyle)({
318
+ var floatingStyles = (0, import_react.defineStyle)({
319
+ /* placeholder state — vertically centred inside the input */
311
320
  pos: "absolute",
312
- bg: "bg",
313
- px: "0.5",
314
- top: "2.5",
321
+ top: "50%",
322
+ transform: "translateY(-50%)",
315
323
  insetStart: "3",
324
+ fontSize: "sm",
316
325
  fontWeight: "normal",
326
+ color: "gray.400",
327
+ bg: "bg",
328
+ px: "0.5",
317
329
  pointerEvents: "none",
318
- transition: "position",
319
- color: "fg.muted",
330
+ transition: "top 0.15s ease, font-size 0.15s ease, color 0.15s ease, transform 0.15s ease",
331
+ /* floated state — sits above the border, clearly a label */
320
332
  "&[data-float]": {
321
- top: "-3",
322
- insetStart: "2",
323
- color: "fg"
333
+ top: "-2",
334
+ transform: "translateY(0)",
335
+ fontSize: "xs",
336
+ fontWeight: "medium",
337
+ color: "gray.400",
338
+ insetStart: "2.5"
324
339
  }
325
340
  });
326
- var floating_label_input_default = FloatingLabelInput;
327
341
 
328
342
  // src/NewSaleForm/LifePlanApplication1.tsx
329
343
  var import_jsx_runtime2 = require("react/jsx-runtime");
@@ -436,7 +450,7 @@ var LifePlanApplication1 = ({
436
450
  }
437
451
  ) }),
438
452
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
439
- floating_label_input_default,
453
+ FloatingLabelInput,
440
454
  {
441
455
  id: "idNumber",
442
456
  type: "text",
@@ -446,7 +460,7 @@ var LifePlanApplication1 = ({
446
460
  }
447
461
  ) }),
448
462
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
449
- floating_label_input_default,
463
+ FloatingLabelInput,
450
464
  {
451
465
  id: "lastName",
452
466
  type: "text",
@@ -456,7 +470,7 @@ var LifePlanApplication1 = ({
456
470
  }
457
471
  ) }),
458
472
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
459
- floating_label_input_default,
473
+ FloatingLabelInput,
460
474
  {
461
475
  id: "firstName",
462
476
  type: "text",
@@ -466,7 +480,7 @@ var LifePlanApplication1 = ({
466
480
  }
467
481
  ) }),
468
482
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
469
- floating_label_input_default,
483
+ FloatingLabelInput,
470
484
  {
471
485
  id: "middleName",
472
486
  type: "text",
@@ -476,7 +490,7 @@ var LifePlanApplication1 = ({
476
490
  }
477
491
  ) }),
478
492
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
479
- floating_label_input_default,
493
+ FloatingLabelInput,
480
494
  {
481
495
  id: "suffix",
482
496
  type: "text",
@@ -502,7 +516,7 @@ var LifePlanApplication1 = ({
502
516
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Input, { id: "dateOfNeutralization", type: "date" })
503
517
  ] }),
504
518
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
505
- floating_label_input_default,
519
+ FloatingLabelInput,
506
520
  {
507
521
  id: "height",
508
522
  label: "Height (ft)",
@@ -514,7 +528,7 @@ var LifePlanApplication1 = ({
514
528
  }
515
529
  ) }),
516
530
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
517
- floating_label_input_default,
531
+ FloatingLabelInput,
518
532
  {
519
533
  id: "weight",
520
534
  label: "Weight (lbs)",
@@ -563,7 +577,7 @@ var LifePlanApplication1 = ({
563
577
  }
564
578
  ) }),
565
579
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
566
- floating_label_input_default,
580
+ FloatingLabelInput,
567
581
  {
568
582
  id: "nationality",
569
583
  type: "text",
@@ -573,7 +587,7 @@ var LifePlanApplication1 = ({
573
587
  }
574
588
  ) }),
575
589
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
576
- floating_label_input_default,
590
+ FloatingLabelInput,
577
591
  {
578
592
  id: "mobileNumber",
579
593
  type: "text",
@@ -583,7 +597,7 @@ var LifePlanApplication1 = ({
583
597
  }
584
598
  ) }),
585
599
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
586
- floating_label_input_default,
600
+ FloatingLabelInput,
587
601
  {
588
602
  id: "landlineNumber",
589
603
  type: "text",
@@ -596,7 +610,7 @@ var LifePlanApplication1 = ({
596
610
  }
597
611
  ) }),
598
612
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
599
- floating_label_input_default,
613
+ FloatingLabelInput,
600
614
  {
601
615
  id: "email",
602
616
  type: "email",
@@ -606,7 +620,7 @@ var LifePlanApplication1 = ({
606
620
  }
607
621
  ) }),
608
622
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
609
- floating_label_input_default,
623
+ FloatingLabelInput,
610
624
  {
611
625
  id: "mailingAddress",
612
626
  type: "text",
@@ -616,7 +630,7 @@ var LifePlanApplication1 = ({
616
630
  }
617
631
  ) }),
618
632
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react3.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
619
- floating_label_input_default,
633
+ FloatingLabelInput,
620
634
  {
621
635
  id: "insurability",
622
636
  type: "text",
@@ -929,7 +943,7 @@ var LifePlanApplication2 = ({
929
943
  }
930
944
  ) }),
931
945
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react5.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
932
- floating_label_input_default,
946
+ FloatingLabelInput,
933
947
  {
934
948
  id: "street",
935
949
  label: "Street",
@@ -938,7 +952,7 @@ var LifePlanApplication2 = ({
938
952
  }
939
953
  ) }),
940
954
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react5.Field.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
941
- floating_label_input_default,
955
+ FloatingLabelInput,
942
956
  {
943
957
  id: "lotNumber",
944
958
  label: "Lot #",
@@ -1315,7 +1329,7 @@ var Beneficiary = ({ onUpdate }) => {
1315
1329
  children: [
1316
1330
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Field.Root, { children: [
1317
1331
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1318
- floating_label_input_default,
1332
+ FloatingLabelInput,
1319
1333
  {
1320
1334
  id: "firstName",
1321
1335
  type: "text",
@@ -1331,7 +1345,7 @@ var Beneficiary = ({ onUpdate }) => {
1331
1345
  ] }),
1332
1346
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Field.Root, { children: [
1333
1347
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1334
- floating_label_input_default,
1348
+ FloatingLabelInput,
1335
1349
  {
1336
1350
  id: "lastName",
1337
1351
  type: "text",
@@ -1347,7 +1361,7 @@ var Beneficiary = ({ onUpdate }) => {
1347
1361
  ] }),
1348
1362
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Field.Root, { children: [
1349
1363
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1350
- floating_label_input_default,
1364
+ FloatingLabelInput,
1351
1365
  {
1352
1366
  id: "middleInitial",
1353
1367
  type: "text",
@@ -1366,7 +1380,7 @@ var Beneficiary = ({ onUpdate }) => {
1366
1380
  ),
1367
1381
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Field.Root, { children: [
1368
1382
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1369
- floating_label_input_default,
1383
+ FloatingLabelInput,
1370
1384
  {
1371
1385
  id: "address",
1372
1386
  type: "text",
@@ -3148,7 +3162,7 @@ var LifePlanApplicationStepWrapper = () => {
3148
3162
  };
3149
3163
  var LifePlanApplicationStepWrapper_default = LifePlanApplicationStepWrapper;
3150
3164
 
3151
- // src/BottomQuickActions/BottomQuickActions.tsx
3165
+ // src/Generic/BottomQuickActions.tsx
3152
3166
  var import_react29 = __toESM(require("react"));
3153
3167
  var import_react30 = require("@chakra-ui/react");
3154
3168
  var import_lu6 = require("react-icons/lu");
@@ -3182,7 +3196,7 @@ var BRAND_COLORS = {
3182
3196
  paleGold: "#FFF48E"
3183
3197
  };
3184
3198
 
3185
- // src/BottomQuickActions/BottomQuickActions.tsx
3199
+ // src/Generic/BottomQuickActions.tsx
3186
3200
  var import_jsx_runtime18 = require("react/jsx-runtime");
3187
3201
  var SHEET_BG = BRAND_COLORS.white;
3188
3202
  var DRAG_COLOR = BRAND_COLORS.neutralBorder;
@@ -3465,9 +3479,208 @@ var BottomQuickActions = ({
3465
3479
  };
3466
3480
  var BottomQuickActions_default = BottomQuickActions;
3467
3481
 
3468
- // src/UserProfile/UserProfile.tsx
3482
+ // src/Generic/NotifyInstall.tsx
3483
+ var import_react32 = require("react");
3484
+ var import_react33 = require("@chakra-ui/react");
3485
+ var import_fi = require("react-icons/fi");
3486
+
3487
+ // src/hooks/useNotifyInstall.ts
3469
3488
  var import_react31 = require("react");
3470
- var import_react32 = require("@chakra-ui/react");
3489
+ function useNotifyInstall() {
3490
+ const [isInstalled, setIsInstalled] = (0, import_react31.useState)(false);
3491
+ const [isMobile, setIsMobile] = (0, import_react31.useState)(false);
3492
+ const [installPrompt, setInstallPrompt] = (0, import_react31.useState)(null);
3493
+ (0, import_react31.useEffect)(() => {
3494
+ const mobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
3495
+ setIsMobile(mobile);
3496
+ const installed = window.matchMedia("(display-mode: standalone)").matches || window.navigator.standalone === true;
3497
+ setIsInstalled(installed);
3498
+ const handler = (event) => {
3499
+ event.preventDefault();
3500
+ setInstallPrompt(event);
3501
+ };
3502
+ window.addEventListener("beforeinstallprompt", handler);
3503
+ return () => {
3504
+ window.removeEventListener("beforeinstallprompt", handler);
3505
+ };
3506
+ }, []);
3507
+ const install = async () => {
3508
+ if (!installPrompt) return;
3509
+ installPrompt.prompt();
3510
+ const result = await installPrompt.userChoice;
3511
+ if (result.outcome === "accepted") {
3512
+ setIsInstalled(true);
3513
+ }
3514
+ setInstallPrompt(null);
3515
+ };
3516
+ return {
3517
+ isInstalled,
3518
+ isMobile,
3519
+ canInstall: !!installPrompt,
3520
+ install
3521
+ };
3522
+ }
3523
+
3524
+ // src/Generic/NotifyInstall.tsx
3525
+ var import_jsx_runtime19 = require("react/jsx-runtime");
3526
+ var STEPS = [
3527
+ {
3528
+ icon: import_fi.FiShare,
3529
+ label: "Tap the browser menu or Share button"
3530
+ },
3531
+ {
3532
+ icon: import_fi.FiPlusSquare,
3533
+ label: 'Choose "Add to Home Screen"'
3534
+ }
3535
+ ];
3536
+ var INSTALL_DIALOG_DISMISSED_KEY = "estore-install-dialog-dismissed";
3537
+ function NotifyInstall({
3538
+ children
3539
+ }) {
3540
+ const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
3541
+ const [isDismissed, setIsDismissed] = (0, import_react32.useState)(false);
3542
+ (0, import_react32.useEffect)(() => {
3543
+ const wasDismissed = localStorage.getItem(INSTALL_DIALOG_DISMISSED_KEY);
3544
+ setIsDismissed(wasDismissed === "true");
3545
+ }, []);
3546
+ const handleClose = () => {
3547
+ localStorage.setItem(INSTALL_DIALOG_DISMISSED_KEY, "true");
3548
+ setIsDismissed(true);
3549
+ };
3550
+ const isOpen = !isInstalled && isMobile && !isDismissed;
3551
+ if (!isOpen) {
3552
+ return children;
3553
+ }
3554
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
3555
+ children,
3556
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3557
+ import_react33.Dialog.Root,
3558
+ {
3559
+ open: isOpen,
3560
+ onOpenChange: (details) => {
3561
+ if (!details.open) {
3562
+ handleClose();
3563
+ }
3564
+ },
3565
+ placement: "center",
3566
+ motionPreset: "slide-in-bottom",
3567
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.Portal, { children: [
3568
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Dialog.Backdrop, { bg: "blackAlpha.600", backdropFilter: "blur(2px)" }),
3569
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3570
+ import_react33.Dialog.Positioner,
3571
+ {
3572
+ p: { base: 0, sm: 4 },
3573
+ alignItems: { base: "flex-end", sm: "center" },
3574
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3575
+ import_react33.Dialog.Content,
3576
+ {
3577
+ w: "xl",
3578
+ maxW: { base: "full", sm: "sm" },
3579
+ borderRadius: { base: "2xl 2xl 0 0", sm: "2xl" },
3580
+ overflow: "hidden",
3581
+ boxShadow: "2xl",
3582
+ m: 0,
3583
+ children: [
3584
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Dialog.Body, { px: { base: 6, sm: 8 }, py: { base: 8, sm: 10 }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 6, textAlign: "center", children: [
3585
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3586
+ import_react33.Flex,
3587
+ {
3588
+ boxSize: { base: 16, sm: 20 },
3589
+ align: "center",
3590
+ justify: "center",
3591
+ rounded: "2xl",
3592
+ bg: "green.50",
3593
+ color: "green.600",
3594
+ shadow: "sm",
3595
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload, boxSize: { base: 8, sm: 9 } })
3596
+ }
3597
+ ),
3598
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.VStack, { gap: 2, children: [
3599
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3600
+ import_react33.Heading,
3601
+ {
3602
+ fontSize: { base: "lg", sm: "xl" },
3603
+ fontWeight: "bold",
3604
+ color: "gray.900",
3605
+ children: "Install St. Peter eStore"
3606
+ }
3607
+ ),
3608
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3609
+ import_react33.Text,
3610
+ {
3611
+ fontSize: { base: "sm", sm: "md" },
3612
+ color: "gray.600",
3613
+ lineHeight: "tall",
3614
+ children: "Add the app to your home screen for a faster, app-like experience before continuing."
3615
+ }
3616
+ )
3617
+ ] }),
3618
+ canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3619
+ import_react33.Button,
3620
+ {
3621
+ onClick: install,
3622
+ colorPalette: "green",
3623
+ size: "lg",
3624
+ w: "full",
3625
+ rounded: "xl",
3626
+ children: [
3627
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: import_fi.FiDownload }),
3628
+ "Add to Home Screen"
3629
+ ]
3630
+ }
3631
+ ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3632
+ import_react33.Box,
3633
+ {
3634
+ w: "full",
3635
+ bg: "gray.50",
3636
+ borderWidth: "1px",
3637
+ borderColor: "gray.100",
3638
+ rounded: "xl",
3639
+ p: 4,
3640
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.VStack, { gap: 4, align: "stretch", children: STEPS.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react33.HStack, { gap: 3, align: "center", children: [
3641
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3642
+ import_react33.Flex,
3643
+ {
3644
+ boxSize: 9,
3645
+ flexShrink: 0,
3646
+ align: "center",
3647
+ justify: "center",
3648
+ rounded: "lg",
3649
+ bg: "white",
3650
+ borderWidth: "1px",
3651
+ borderColor: "gray.200",
3652
+ color: "green.600",
3653
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Icon, { as: step.icon, boxSize: 4 })
3654
+ }
3655
+ ),
3656
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3657
+ import_react33.Text,
3658
+ {
3659
+ fontSize: "sm",
3660
+ color: "gray.700",
3661
+ textAlign: "left",
3662
+ children: step.label
3663
+ }
3664
+ )
3665
+ ] }, index)) })
3666
+ }
3667
+ )
3668
+ ] }) }),
3669
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.Dialog.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.CloseButton, { size: "sm", onClick: handleClose }) })
3670
+ ]
3671
+ }
3672
+ )
3673
+ }
3674
+ )
3675
+ ] })
3676
+ }
3677
+ )
3678
+ ] });
3679
+ }
3680
+
3681
+ // src/UserProfile/UserProfile.tsx
3682
+ var import_react34 = require("react");
3683
+ var import_react35 = require("@chakra-ui/react");
3471
3684
  var import_ri = require("react-icons/ri");
3472
3685
  var import_lu7 = require("react-icons/lu");
3473
3686
  var import_hi2 = require("react-icons/hi2");
@@ -3476,7 +3689,7 @@ var import_lia = require("react-icons/lia");
3476
3689
  var import_fa5 = require("react-icons/fa");
3477
3690
  var import_md = require("react-icons/md");
3478
3691
  var import_io5 = require("react-icons/io5");
3479
- var import_jsx_runtime19 = require("react/jsx-runtime");
3692
+ var import_jsx_runtime20 = require("react/jsx-runtime");
3480
3693
  var NAVBAR_STORAGE_KEY = "profile-navbar-quick-items";
3481
3694
  var FONT_SIZE_STORAGE_KEY = "profile-font-size-pref";
3482
3695
  var DEFAULT_NAV_HREFS = ["/", "/plans", "/pay-my-plan", "/claims"];
@@ -3774,28 +3987,28 @@ function ReusableProfile({
3774
3987
  onTwoFactorChange,
3775
3988
  onToast = noopToast
3776
3989
  }) {
3777
- const [profileView, setProfileView] = (0, import_react31.useState)("main");
3778
- const [fallbackColorMode, setFallbackColorMode] = (0, import_react31.useState)("light");
3990
+ const [profileView, setProfileView] = (0, import_react34.useState)("main");
3991
+ const [fallbackColorMode, setFallbackColorMode] = (0, import_react34.useState)("light");
3779
3992
  const colorMode = controlledColorMode ?? fallbackColorMode;
3780
- const [fontSize, setFontSizeLocal] = (0, import_react31.useState)("md");
3781
- const [quickNavHrefs, setQuickNavHrefs] = (0, import_react31.useState)(initialQuickNavHrefs);
3782
- const [replacingIdx, setReplacingIdx] = (0, import_react31.useState)(null);
3783
- const [editName, setEditName] = (0, import_react31.useState)(user.displayName);
3784
- const [editLoading, setEditLoading] = (0, import_react31.useState)(false);
3785
- const [currentPw, setCurrentPw] = (0, import_react31.useState)("");
3786
- const [newPw, setNewPw] = (0, import_react31.useState)("");
3787
- const [confirmPw, setConfirmPw] = (0, import_react31.useState)("");
3788
- const [showCurrentPw, setShowCurrentPw] = (0, import_react31.useState)(false);
3789
- const [showNewPw, setShowNewPw] = (0, import_react31.useState)(false);
3790
- const [showConfirmPw, setShowConfirmPw] = (0, import_react31.useState)(false);
3791
- const [pwLoading, setPwLoading] = (0, import_react31.useState)(false);
3792
- const [twoFactorEnabled, setTwoFactorEnabled] = (0, import_react31.useState)(
3993
+ const [fontSize, setFontSizeLocal] = (0, import_react34.useState)("md");
3994
+ const [quickNavHrefs, setQuickNavHrefs] = (0, import_react34.useState)(initialQuickNavHrefs);
3995
+ const [replacingIdx, setReplacingIdx] = (0, import_react34.useState)(null);
3996
+ const [editName, setEditName] = (0, import_react34.useState)(user.displayName);
3997
+ const [editLoading, setEditLoading] = (0, import_react34.useState)(false);
3998
+ const [currentPw, setCurrentPw] = (0, import_react34.useState)("");
3999
+ const [newPw, setNewPw] = (0, import_react34.useState)("");
4000
+ const [confirmPw, setConfirmPw] = (0, import_react34.useState)("");
4001
+ const [showCurrentPw, setShowCurrentPw] = (0, import_react34.useState)(false);
4002
+ const [showNewPw, setShowNewPw] = (0, import_react34.useState)(false);
4003
+ const [showConfirmPw, setShowConfirmPw] = (0, import_react34.useState)(false);
4004
+ const [pwLoading, setPwLoading] = (0, import_react34.useState)(false);
4005
+ const [twoFactorEnabled, setTwoFactorEnabled] = (0, import_react34.useState)(
3793
4006
  initialTwoFactorEnabled
3794
4007
  );
3795
- const [isMounted, setIsMounted] = (0, import_react31.useState)(false);
3796
- const isDesktopRaw = (0, import_react32.useBreakpointValue)({ base: false, md: true });
4008
+ const [isMounted, setIsMounted] = (0, import_react34.useState)(false);
4009
+ const isDesktopRaw = (0, import_react35.useBreakpointValue)({ base: false, md: true });
3797
4010
  const isDesktop = isMounted ? isDesktopRaw ?? false : false;
3798
- (0, import_react31.useEffect)(() => {
4011
+ (0, import_react34.useEffect)(() => {
3799
4012
  setIsMounted(true);
3800
4013
  if (!enableLocalStorage || typeof window === "undefined") return;
3801
4014
  setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
@@ -3806,10 +4019,10 @@ function ReusableProfile({
3806
4019
  setQuickNavHrefs(initialQuickNavHrefs);
3807
4020
  }
3808
4021
  }, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
3809
- (0, import_react31.useEffect)(() => {
4022
+ (0, import_react34.useEffect)(() => {
3810
4023
  setEditName(user.displayName);
3811
4024
  }, [user.displayName]);
3812
- const availableOptions = (0, import_react31.useMemo)(
4025
+ const availableOptions = (0, import_react34.useMemo)(
3813
4026
  () => availableNavOptions.filter(
3814
4027
  (option) => !user.role || option.roles.includes(user.role)
3815
4028
  ),
@@ -3937,9 +4150,9 @@ function ReusableProfile({
3937
4150
  }
3938
4151
  };
3939
4152
  const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
3940
- const mainContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
3941
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3942
- import_react32.Box,
4153
+ const mainContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4154
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4155
+ import_react35.Box,
3943
4156
  {
3944
4157
  bg: "var(--chakra-colors-primary)",
3945
4158
  pt: 12,
@@ -3947,21 +4160,21 @@ function ReusableProfile({
3947
4160
  px: 4,
3948
4161
  textAlign: "center",
3949
4162
  children: [
3950
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3951
- import_react32.Avatar.Root,
4163
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4164
+ import_react35.Avatar.Root,
3952
4165
  {
3953
4166
  size: "2xl",
3954
4167
  mx: "auto",
3955
4168
  mb: 4,
3956
4169
  colorPalette: pickPalette(user.displayName || "U"),
3957
4170
  children: [
3958
- user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
3959
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Avatar.Fallback, { name: user.displayName })
4171
+ user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
4172
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Fallback, { name: user.displayName })
3960
4173
  ]
3961
4174
  }
3962
4175
  ),
3963
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3964
- import_react32.Text,
4176
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4177
+ import_react35.Text,
3965
4178
  {
3966
4179
  color: "white",
3967
4180
  fontWeight: "bold",
@@ -3971,9 +4184,9 @@ function ReusableProfile({
3971
4184
  children: user.displayName
3972
4185
  }
3973
4186
  ),
3974
- user.email && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
3975
- roleLabel && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { display: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3976
- import_react32.Badge,
4187
+ user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
4188
+ roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { display: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4189
+ import_react35.Badge,
3977
4190
  {
3978
4191
  bg: "rgba(255,255,255,0.15)",
3979
4192
  color: "white",
@@ -3989,9 +4202,9 @@ function ReusableProfile({
3989
4202
  ]
3990
4203
  }
3991
4204
  ),
3992
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { px: 4, pt: 5, pb: 1, children: [
3993
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3994
- import_react32.Text,
4205
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 5, pb: 1, children: [
4206
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4207
+ import_react35.Text,
3995
4208
  {
3996
4209
  fontSize: "xs",
3997
4210
  fontWeight: "bold",
@@ -4002,8 +4215,8 @@ function ReusableProfile({
4002
4215
  children: "Account"
4003
4216
  }
4004
4217
  ),
4005
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4006
- import_react32.Box,
4218
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4219
+ import_react35.Box,
4007
4220
  {
4008
4221
  as: "button",
4009
4222
  w: "full",
@@ -4011,8 +4224,8 @@ function ReusableProfile({
4011
4224
  _hover: { opacity: 0.7 },
4012
4225
  transition: "opacity 0.15s",
4013
4226
  onClick: () => setProfileView("edit-account"),
4014
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4015
- import_react32.Flex,
4227
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4228
+ import_react35.Flex,
4016
4229
  {
4017
4230
  justify: "space-between",
4018
4231
  align: "center",
@@ -4021,9 +4234,9 @@ function ReusableProfile({
4021
4234
  borderRadius: "lg",
4022
4235
  bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
4023
4236
  children: [
4024
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4025
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4026
- import_react32.Box,
4237
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4238
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4239
+ import_react35.Box,
4027
4240
  {
4028
4241
  w: "38px",
4029
4242
  h: "38px",
@@ -4034,23 +4247,23 @@ function ReusableProfile({
4034
4247
  justifyContent: "center",
4035
4248
  color: "gray.600",
4036
4249
  flexShrink: 0,
4037
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuUser, { size: 16 })
4250
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 16 })
4038
4251
  }
4039
4252
  ),
4040
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4041
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
4042
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
4253
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4254
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
4255
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
4043
4256
  ] })
4044
4257
  ] }),
4045
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4258
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4046
4259
  ]
4047
4260
  }
4048
4261
  )
4049
4262
  }
4050
4263
  ),
4051
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {}),
4052
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4053
- import_react32.Box,
4264
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
4265
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4266
+ import_react35.Box,
4054
4267
  {
4055
4268
  as: "button",
4056
4269
  w: "full",
@@ -4061,8 +4274,8 @@ function ReusableProfile({
4061
4274
  resetPasswordForm();
4062
4275
  setProfileView("change-password");
4063
4276
  },
4064
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4065
- import_react32.Flex,
4277
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4278
+ import_react35.Flex,
4066
4279
  {
4067
4280
  justify: "space-between",
4068
4281
  align: "center",
@@ -4071,9 +4284,9 @@ function ReusableProfile({
4071
4284
  borderRadius: "lg",
4072
4285
  bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
4073
4286
  children: [
4074
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4075
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4076
- import_react32.Box,
4287
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4288
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4289
+ import_react35.Box,
4077
4290
  {
4078
4291
  w: "38px",
4079
4292
  h: "38px",
@@ -4084,25 +4297,25 @@ function ReusableProfile({
4084
4297
  justifyContent: "center",
4085
4298
  color: "gray.600",
4086
4299
  flexShrink: 0,
4087
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuLock, { size: 16 })
4300
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuLock, { size: 16 })
4088
4301
  }
4089
4302
  ),
4090
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4091
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
4092
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
4303
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4304
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
4305
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
4093
4306
  ] })
4094
4307
  ] }),
4095
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4308
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4096
4309
  ]
4097
4310
  }
4098
4311
  )
4099
4312
  }
4100
4313
  ),
4101
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {}),
4102
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { justify: "space-between", align: "center", py: 3, children: [
4103
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4104
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4105
- import_react32.Box,
4314
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
4315
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
4316
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4317
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4318
+ import_react35.Box,
4106
4319
  {
4107
4320
  w: "38px",
4108
4321
  h: "38px",
@@ -4113,16 +4326,16 @@ function ReusableProfile({
4113
4326
  justifyContent: "center",
4114
4327
  color: "gray.600",
4115
4328
  flexShrink: 0,
4116
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuShield, { size: 16 })
4329
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuShield, { size: 16 })
4117
4330
  }
4118
4331
  ),
4119
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4120
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
4121
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
4332
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4333
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
4334
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
4122
4335
  ] })
4123
4336
  ] }),
4124
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4125
- import_react32.Box,
4337
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4338
+ import_react35.Box,
4126
4339
  {
4127
4340
  role: "switch",
4128
4341
  "aria-checked": twoFactorEnabled,
@@ -4144,8 +4357,8 @@ function ReusableProfile({
4144
4357
  cursor: "pointer",
4145
4358
  flexShrink: 0,
4146
4359
  outline: "none",
4147
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4148
- import_react32.Box,
4360
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4361
+ import_react35.Box,
4149
4362
  {
4150
4363
  position: "absolute",
4151
4364
  top: "3px",
@@ -4162,9 +4375,9 @@ function ReusableProfile({
4162
4375
  )
4163
4376
  ] })
4164
4377
  ] }),
4165
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { px: 4, pt: 4, pb: 2, children: [
4166
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4167
- import_react32.Text,
4378
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 4, pb: 2, children: [
4379
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4380
+ import_react35.Text,
4168
4381
  {
4169
4382
  fontSize: "xs",
4170
4383
  fontWeight: "bold",
@@ -4175,10 +4388,10 @@ function ReusableProfile({
4175
4388
  children: "Preferences"
4176
4389
  }
4177
4390
  ),
4178
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { justify: "space-between", align: "center", py: 3, children: [
4179
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4180
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4181
- import_react32.Box,
4391
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
4392
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4393
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4394
+ import_react35.Box,
4182
4395
  {
4183
4396
  w: "38px",
4184
4397
  h: "38px",
@@ -4189,18 +4402,18 @@ function ReusableProfile({
4189
4402
  justifyContent: "center",
4190
4403
  color: "gray.600",
4191
4404
  flexShrink: 0,
4192
- children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuMoon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuSun, { size: 16 })
4405
+ children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 16 })
4193
4406
  }
4194
4407
  ),
4195
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4196
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
4197
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
4408
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4409
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
4410
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
4198
4411
  ] })
4199
4412
  ] }),
4200
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.HStack, { gap: 1.5, children: ["light", "dark"].map((mode) => {
4413
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.HStack, { gap: 1.5, children: ["light", "dark"].map((mode) => {
4201
4414
  const isActive = colorMode === mode;
4202
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4203
- import_react32.Button,
4415
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4416
+ import_react35.Button,
4204
4417
  {
4205
4418
  size: "sm",
4206
4419
  variant: "outline",
@@ -4215,9 +4428,9 @@ function ReusableProfile({
4215
4428
  },
4216
4429
  onClick: () => handleColorMode(mode),
4217
4430
  children: [
4218
- mode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuSun, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuMoon, { size: 13 }),
4219
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4220
- import_react32.Text,
4431
+ mode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 13 }),
4432
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4433
+ import_react35.Text,
4221
4434
  {
4222
4435
  fontSize: "xs",
4223
4436
  textTransform: "capitalize",
@@ -4231,11 +4444,11 @@ function ReusableProfile({
4231
4444
  );
4232
4445
  }) })
4233
4446
  ] }),
4234
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {}),
4235
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { justify: "space-between", align: "center", py: 3, children: [
4236
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4237
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4238
- import_react32.Box,
4447
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
4448
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
4449
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4450
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4451
+ import_react35.Box,
4239
4452
  {
4240
4453
  w: "38px",
4241
4454
  h: "38px",
@@ -4251,15 +4464,15 @@ function ReusableProfile({
4251
4464
  children: "A"
4252
4465
  }
4253
4466
  ),
4254
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4255
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
4256
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
4467
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4468
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
4469
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
4257
4470
  ] })
4258
4471
  ] }),
4259
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.HStack, { gap: 1, children: FONT_SIZES.map((option) => {
4472
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.HStack, { gap: 1, children: FONT_SIZES.map((option) => {
4260
4473
  const isActive = fontSize === option.value;
4261
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4262
- import_react32.Button,
4474
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4475
+ import_react35.Button,
4263
4476
  {
4264
4477
  size: "sm",
4265
4478
  variant: "outline",
@@ -4274,8 +4487,8 @@ function ReusableProfile({
4274
4487
  },
4275
4488
  onClick: () => handleFontSize(option.value),
4276
4489
  title: option.title,
4277
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4278
- import_react32.Text,
4490
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4491
+ import_react35.Text,
4279
4492
  {
4280
4493
  fontWeight: isActive ? "bold" : "normal",
4281
4494
  style: { fontSize: `${option.scale * 13}px` },
@@ -4287,9 +4500,9 @@ function ReusableProfile({
4287
4500
  );
4288
4501
  }) })
4289
4502
  ] }),
4290
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {}),
4291
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4292
- import_react32.Box,
4503
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
4504
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4505
+ import_react35.Box,
4293
4506
  {
4294
4507
  as: "button",
4295
4508
  w: "full",
@@ -4297,10 +4510,10 @@ function ReusableProfile({
4297
4510
  _hover: { opacity: 0.7 },
4298
4511
  transition: "opacity 0.15s",
4299
4512
  onClick: () => setProfileView("navbar-customize"),
4300
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { justify: "space-between", align: "center", py: 3, children: [
4301
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4302
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4303
- import_react32.Box,
4513
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
4514
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4515
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4516
+ import_react35.Box,
4304
4517
  {
4305
4518
  w: "38px",
4306
4519
  h: "38px",
@@ -4311,12 +4524,12 @@ function ReusableProfile({
4311
4524
  justifyContent: "center",
4312
4525
  color: "gray.600",
4313
4526
  flexShrink: 0,
4314
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuArrowLeftRight, { size: 16 })
4527
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 16 })
4315
4528
  }
4316
4529
  ),
4317
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4318
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
4319
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: [
4530
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4531
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
4532
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: [
4320
4533
  quickNavHrefs.length,
4321
4534
  " of ",
4322
4535
  maxQuickNavItems,
@@ -4324,13 +4537,13 @@ function ReusableProfile({
4324
4537
  ] })
4325
4538
  ] })
4326
4539
  ] }),
4327
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4540
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
4328
4541
  ] })
4329
4542
  }
4330
4543
  )
4331
4544
  ] }),
4332
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.VStack, { gap: 2.5, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4333
- import_react32.Button,
4545
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 2.5, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4546
+ import_react35.Button,
4334
4547
  {
4335
4548
  w: "full",
4336
4549
  variant: "outline",
@@ -4342,30 +4555,30 @@ function ReusableProfile({
4342
4555
  }
4343
4556
  ) }) })
4344
4557
  ] });
4345
- const editAccountContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
4346
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 2, pr: 10, children: [
4347
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4348
- import_react32.IconButton,
4558
+ const editAccountContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4559
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
4560
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4561
+ import_react35.IconButton,
4349
4562
  {
4350
4563
  size: "sm",
4351
4564
  variant: "ghost",
4352
4565
  "aria-label": "Back",
4353
4566
  color: "gray.600",
4354
4567
  onClick: () => setProfileView("main"),
4355
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronLeft, {})
4568
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
4356
4569
  }
4357
4570
  ),
4358
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
4571
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
4359
4572
  ] }) }),
4360
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
4361
- user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Avatar.Image, { src: user.avatarSrc, alt: editName }),
4362
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Avatar.Fallback, { name: editName })
4573
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
4574
+ user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Image, { src: user.avatarSrc, alt: editName }),
4575
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Fallback, { name: editName })
4363
4576
  ] }) }),
4364
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.VStack, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
4365
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4366
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
4367
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4368
- import_react32.Input,
4577
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.VStack, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
4578
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4579
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
4580
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4581
+ import_react35.Input,
4369
4582
  {
4370
4583
  value: editName,
4371
4584
  onChange: (event) => setEditName(event.target.value),
@@ -4374,10 +4587,10 @@ function ReusableProfile({
4374
4587
  }
4375
4588
  )
4376
4589
  ] }),
4377
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4378
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
4379
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4380
- import_react32.Input,
4590
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4591
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
4592
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4593
+ import_react35.Input,
4381
4594
  {
4382
4595
  value: user.email ?? "",
4383
4596
  readOnly: true,
@@ -4387,10 +4600,10 @@ function ReusableProfile({
4387
4600
  }
4388
4601
  )
4389
4602
  ] }),
4390
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4391
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
4392
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4393
- import_react32.Input,
4603
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4604
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
4605
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4606
+ import_react35.Input,
4394
4607
  {
4395
4608
  value: user.mobileNumber ?? "",
4396
4609
  readOnly: true,
@@ -4400,8 +4613,8 @@ function ReusableProfile({
4400
4613
  }
4401
4614
  )
4402
4615
  ] }),
4403
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4404
- import_react32.Button,
4616
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4617
+ import_react35.Button,
4405
4618
  {
4406
4619
  w: "full",
4407
4620
  mt: 2,
@@ -4415,40 +4628,40 @@ function ReusableProfile({
4415
4628
  )
4416
4629
  ] })
4417
4630
  ] });
4418
- const changePasswordContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
4419
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 2, pr: 10, children: [
4420
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4421
- import_react32.IconButton,
4631
+ const changePasswordContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4632
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
4633
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4634
+ import_react35.IconButton,
4422
4635
  {
4423
4636
  size: "sm",
4424
4637
  variant: "ghost",
4425
4638
  "aria-label": "Back",
4426
4639
  color: "gray.600",
4427
4640
  onClick: () => setProfileView("main"),
4428
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronLeft, {})
4641
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
4429
4642
  }
4430
4643
  ),
4431
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
4644
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
4432
4645
  ] }) }),
4433
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.VStack, { gap: 5, px: 4, pt: 6, pb: 10, children: [
4434
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4435
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
4436
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4437
- import_react32.InputGroup,
4646
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.VStack, { gap: 5, px: 4, pt: 6, pb: 10, children: [
4647
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4648
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
4649
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4650
+ import_react35.InputGroup,
4438
4651
  {
4439
- endElement: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4440
- import_react32.IconButton,
4652
+ endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4653
+ import_react35.IconButton,
4441
4654
  {
4442
4655
  size: "xs",
4443
4656
  variant: "ghost",
4444
4657
  color: "gray.500",
4445
4658
  "aria-label": "Toggle current password visibility",
4446
4659
  onClick: () => setShowCurrentPw(!showCurrentPw),
4447
- children: showCurrentPw ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEye, { size: 15 })
4660
+ children: showCurrentPw ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEye, { size: 15 })
4448
4661
  }
4449
4662
  ),
4450
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4451
- import_react32.Input,
4663
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4664
+ import_react35.Input,
4452
4665
  {
4453
4666
  type: showCurrentPw ? "text" : "password",
4454
4667
  value: currentPw,
@@ -4460,24 +4673,24 @@ function ReusableProfile({
4460
4673
  }
4461
4674
  )
4462
4675
  ] }),
4463
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4464
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
4465
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4466
- import_react32.InputGroup,
4676
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4677
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
4678
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4679
+ import_react35.InputGroup,
4467
4680
  {
4468
- endElement: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4469
- import_react32.IconButton,
4681
+ endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4682
+ import_react35.IconButton,
4470
4683
  {
4471
4684
  size: "xs",
4472
4685
  variant: "ghost",
4473
4686
  color: "gray.500",
4474
4687
  "aria-label": "Toggle new password visibility",
4475
4688
  onClick: () => setShowNewPw(!showNewPw),
4476
- children: showNewPw ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEye, { size: 15 })
4689
+ children: showNewPw ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEye, { size: 15 })
4477
4690
  }
4478
4691
  ),
4479
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4480
- import_react32.Input,
4692
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4693
+ import_react35.Input,
4481
4694
  {
4482
4695
  type: showNewPw ? "text" : "password",
4483
4696
  value: newPw,
@@ -4488,9 +4701,9 @@ function ReusableProfile({
4488
4701
  )
4489
4702
  }
4490
4703
  ),
4491
- newPw && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { mt: 2, children: [
4492
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Flex, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4493
- import_react32.Box,
4704
+ newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { mt: 2, children: [
4705
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Flex, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4706
+ import_react35.Box,
4494
4707
  {
4495
4708
  flex: 1,
4496
4709
  h: "3px",
@@ -4500,27 +4713,27 @@ function ReusableProfile({
4500
4713
  },
4501
4714
  i
4502
4715
  )) }),
4503
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
4716
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
4504
4717
  ] })
4505
4718
  ] }),
4506
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4507
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
4508
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4509
- import_react32.InputGroup,
4719
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4720
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
4721
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4722
+ import_react35.InputGroup,
4510
4723
  {
4511
- endElement: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4512
- import_react32.IconButton,
4724
+ endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4725
+ import_react35.IconButton,
4513
4726
  {
4514
4727
  size: "xs",
4515
4728
  variant: "ghost",
4516
4729
  color: "gray.500",
4517
4730
  "aria-label": "Toggle confirm password visibility",
4518
4731
  onClick: () => setShowConfirmPw(!showConfirmPw),
4519
- children: showConfirmPw ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuEye, { size: 15 })
4732
+ children: showConfirmPw ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEyeOff, { size: 15 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuEye, { size: 15 })
4520
4733
  }
4521
4734
  ),
4522
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4523
- import_react32.Input,
4735
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4736
+ import_react35.Input,
4524
4737
  {
4525
4738
  type: showConfirmPw ? "text" : "password",
4526
4739
  value: confirmPw,
@@ -4531,10 +4744,10 @@ function ReusableProfile({
4531
4744
  )
4532
4745
  }
4533
4746
  ),
4534
- confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
4747
+ confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
4535
4748
  ] }),
4536
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4537
- import_react32.Button,
4749
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4750
+ import_react35.Button,
4538
4751
  {
4539
4752
  w: "full",
4540
4753
  mt: 1,
@@ -4549,9 +4762,9 @@ function ReusableProfile({
4549
4762
  )
4550
4763
  ] })
4551
4764
  ] });
4552
- const navbarCustomizeContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
4553
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4554
- import_react32.Box,
4765
+ const navbarCustomizeContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4766
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4767
+ import_react35.Box,
4555
4768
  {
4556
4769
  px: 4,
4557
4770
  pt: 4,
@@ -4562,9 +4775,9 @@ function ReusableProfile({
4562
4775
  top: 0,
4563
4776
  bg: "bg",
4564
4777
  zIndex: 1,
4565
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 2, pr: 10, children: [
4566
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4567
- import_react32.IconButton,
4778
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
4779
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4780
+ import_react35.IconButton,
4568
4781
  {
4569
4782
  size: "sm",
4570
4783
  variant: "ghost",
@@ -4574,12 +4787,12 @@ function ReusableProfile({
4574
4787
  setReplacingIdx(null);
4575
4788
  setProfileView("main");
4576
4789
  },
4577
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronLeft, {})
4790
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
4578
4791
  }
4579
4792
  ),
4580
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4581
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
4582
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Text, { fontSize: "xs", color: "gray.500", children: [
4793
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4794
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
4795
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: [
4583
4796
  "Choose up to ",
4584
4797
  maxQuickNavItems,
4585
4798
  " shortcuts for the bottom bar"
@@ -4588,10 +4801,10 @@ function ReusableProfile({
4588
4801
  ] })
4589
4802
  }
4590
4803
  ),
4591
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { px: 4, pt: 5, pb: 2, children: [
4592
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", justify: "space-between", mb: 3, children: [
4593
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4594
- import_react32.Text,
4804
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 5, pb: 2, children: [
4805
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", justify: "space-between", mb: 3, children: [
4806
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4807
+ import_react35.Text,
4595
4808
  {
4596
4809
  fontSize: "xs",
4597
4810
  fontWeight: "bold",
@@ -4601,8 +4814,8 @@ function ReusableProfile({
4601
4814
  children: "Pinned"
4602
4815
  }
4603
4816
  ),
4604
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4605
- import_react32.Text,
4817
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4818
+ import_react35.Text,
4606
4819
  {
4607
4820
  fontSize: "xs",
4608
4821
  color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
@@ -4615,8 +4828,8 @@ function ReusableProfile({
4615
4828
  }
4616
4829
  )
4617
4830
  ] }),
4618
- quickNavHrefs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4619
- import_react32.Flex,
4831
+ quickNavHrefs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4832
+ import_react35.Flex,
4620
4833
  {
4621
4834
  align: "center",
4622
4835
  justify: "center",
@@ -4625,18 +4838,18 @@ function ReusableProfile({
4625
4838
  borderWidth: "1px",
4626
4839
  borderStyle: "dashed",
4627
4840
  borderColor: "gray.200",
4628
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
4841
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
4629
4842
  }
4630
- ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.VStack, { gap: 0, children: quickNavHrefs.map((href, idx) => {
4843
+ ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 0, children: quickNavHrefs.map((href, idx) => {
4631
4844
  const option = availableOptions.find((item) => item.key === href);
4632
4845
  if (!option) return null;
4633
4846
  const ItemIcon = option.Icon;
4634
4847
  const isFirst = idx === 0;
4635
4848
  const isLast = idx === quickNavHrefs.length - 1;
4636
4849
  const isReplacing = replacingIdx === idx;
4637
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4638
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4639
- import_react32.Flex,
4850
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
4851
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4852
+ import_react35.Flex,
4640
4853
  {
4641
4854
  justify: "space-between",
4642
4855
  align: "center",
@@ -4648,9 +4861,9 @@ function ReusableProfile({
4648
4861
  borderColor: isReplacing ? "orange.200" : void 0,
4649
4862
  transition: "all 0.15s",
4650
4863
  children: [
4651
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4652
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4653
- import_react32.Box,
4864
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
4865
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4866
+ import_react35.Box,
4654
4867
  {
4655
4868
  w: "36px",
4656
4869
  h: "36px",
@@ -4661,13 +4874,13 @@ function ReusableProfile({
4661
4874
  justifyContent: "center",
4662
4875
  color: "white",
4663
4876
  flexShrink: 0,
4664
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ItemIcon, { size: 15 })
4877
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemIcon, { size: 15 })
4665
4878
  }
4666
4879
  ),
4667
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4668
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", fontWeight: "medium", children: option.title }),
4669
- isReplacing && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4670
- import_react32.Text,
4880
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4881
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "medium", children: option.title }),
4882
+ isReplacing && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4883
+ import_react35.Text,
4671
4884
  {
4672
4885
  fontSize: "xs",
4673
4886
  color: "orange.500",
@@ -4677,9 +4890,9 @@ function ReusableProfile({
4677
4890
  )
4678
4891
  ] })
4679
4892
  ] }),
4680
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.HStack, { gap: 0.5, children: [
4681
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4682
- import_react32.IconButton,
4893
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.HStack, { gap: 0.5, children: [
4894
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4895
+ import_react35.IconButton,
4683
4896
  {
4684
4897
  size: "xs",
4685
4898
  variant: "ghost",
@@ -4687,11 +4900,11 @@ function ReusableProfile({
4687
4900
  color: "gray.500",
4688
4901
  disabled: isFirst || isReplacing,
4689
4902
  onClick: () => moveNavItem(idx, -1),
4690
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronUp, { size: 14 })
4903
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronUp, { size: 14 })
4691
4904
  }
4692
4905
  ),
4693
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4694
- import_react32.IconButton,
4906
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4907
+ import_react35.IconButton,
4695
4908
  {
4696
4909
  size: "xs",
4697
4910
  variant: "ghost",
@@ -4699,11 +4912,11 @@ function ReusableProfile({
4699
4912
  color: "gray.500",
4700
4913
  disabled: isLast || isReplacing,
4701
4914
  onClick: () => moveNavItem(idx, 1),
4702
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuChevronDown, { size: 14 })
4915
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronDown, { size: 14 })
4703
4916
  }
4704
4917
  ),
4705
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4706
- import_react32.IconButton,
4918
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4919
+ import_react35.IconButton,
4707
4920
  {
4708
4921
  size: "xs",
4709
4922
  variant: isReplacing ? "solid" : "ghost",
@@ -4712,11 +4925,11 @@ function ReusableProfile({
4712
4925
  color: isReplacing ? "white" : "gray.500",
4713
4926
  _hover: { bg: isReplacing ? "orange.500" : "gray.100" },
4714
4927
  onClick: () => setReplacingIdx(isReplacing ? null : idx),
4715
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
4928
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
4716
4929
  }
4717
4930
  ),
4718
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4719
- import_react32.IconButton,
4931
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4932
+ import_react35.IconButton,
4720
4933
  {
4721
4934
  size: "xs",
4722
4935
  variant: "ghost",
@@ -4725,23 +4938,23 @@ function ReusableProfile({
4725
4938
  _hover: { bg: "red.50" },
4726
4939
  disabled: isReplacing,
4727
4940
  onClick: () => removeNavItem(href),
4728
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuX, { size: 14 })
4941
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuX, { size: 14 })
4729
4942
  }
4730
4943
  )
4731
4944
  ] })
4732
4945
  ]
4733
4946
  }
4734
4947
  ),
4735
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {})
4948
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {})
4736
4949
  ] }, href);
4737
4950
  }) })
4738
4951
  ] }),
4739
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, { mx: 4, my: 1 }),
4740
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { px: 4, pt: 4, pb: 10, children: [
4741
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", justify: "space-between", mb: 3, children: [
4742
- replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { children: [
4743
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4744
- import_react32.Text,
4952
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, { mx: 4, my: 1 }),
4953
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 4, pb: 10, children: [
4954
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", justify: "space-between", mb: 3, children: [
4955
+ replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
4956
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4957
+ import_react35.Text,
4745
4958
  {
4746
4959
  fontSize: "xs",
4747
4960
  fontWeight: "bold",
@@ -4751,15 +4964,15 @@ function ReusableProfile({
4751
4964
  children: "Select Replacement"
4752
4965
  }
4753
4966
  ),
4754
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Text, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
4967
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
4755
4968
  'for "',
4756
4969
  availableOptions.find(
4757
4970
  (item) => item.key === quickNavHrefs[replacingIdx]
4758
4971
  )?.title,
4759
4972
  '"'
4760
4973
  ] })
4761
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4762
- import_react32.Text,
4974
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4975
+ import_react35.Text,
4763
4976
  {
4764
4977
  fontSize: "xs",
4765
4978
  fontWeight: "bold",
@@ -4769,8 +4982,8 @@ function ReusableProfile({
4769
4982
  children: "Available"
4770
4983
  }
4771
4984
  ),
4772
- replacingIdx !== null && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4773
- import_react32.Button,
4985
+ replacingIdx !== null && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4986
+ import_react35.Button,
4774
4987
  {
4775
4988
  size: "xs",
4776
4989
  variant: "ghost",
@@ -4780,17 +4993,17 @@ function ReusableProfile({
4780
4993
  }
4781
4994
  )
4782
4995
  ] }),
4783
- unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.VStack, { gap: 0, children: unpinnedOptions.map((option, idx) => {
4996
+ unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 0, children: unpinnedOptions.map((option, idx) => {
4784
4997
  const ItemIcon = option.Icon;
4785
4998
  const isLast = idx === unpinnedOptions.length - 1;
4786
4999
  const isReplacingMode = replacingIdx !== null;
4787
5000
  const canAdd = quickNavHrefs.length < maxQuickNavItems;
4788
5001
  const actionEnabled = isReplacingMode || canAdd;
4789
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Box, { w: "full", children: [
4790
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { justify: "space-between", align: "center", py: 2.5, children: [
4791
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.Flex, { align: "center", gap: 3, children: [
4792
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4793
- import_react32.Box,
5002
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
5003
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 2.5, children: [
5004
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
5005
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5006
+ import_react35.Box,
4794
5007
  {
4795
5008
  w: "36px",
4796
5009
  h: "36px",
@@ -4801,11 +5014,11 @@ function ReusableProfile({
4801
5014
  justifyContent: "center",
4802
5015
  color: isReplacingMode ? "orange.500" : "gray.500",
4803
5016
  flexShrink: 0,
4804
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ItemIcon, { size: 15 })
5017
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemIcon, { size: 15 })
4805
5018
  }
4806
5019
  ),
4807
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4808
- import_react32.Text,
5020
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5021
+ import_react35.Text,
4809
5022
  {
4810
5023
  fontSize: "sm",
4811
5024
  fontWeight: "medium",
@@ -4814,8 +5027,8 @@ function ReusableProfile({
4814
5027
  }
4815
5028
  )
4816
5029
  ] }),
4817
- isReplacingMode ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4818
- import_react32.IconButton,
5030
+ isReplacingMode ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5031
+ import_react35.IconButton,
4819
5032
  {
4820
5033
  size: "xs",
4821
5034
  variant: "outline",
@@ -4824,10 +5037,10 @@ function ReusableProfile({
4824
5037
  color: "orange.500",
4825
5038
  _hover: { bg: "orange.50" },
4826
5039
  onClick: () => replaceNavItem(replacingIdx, option.key),
4827
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
5040
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
4828
5041
  }
4829
- ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4830
- import_react32.IconButton,
5042
+ ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5043
+ import_react35.IconButton,
4831
5044
  {
4832
5045
  size: "xs",
4833
5046
  variant: "outline",
@@ -4837,19 +5050,19 @@ function ReusableProfile({
4837
5050
  color: canAdd ? "var(--chakra-colors-primary)" : "gray.300",
4838
5051
  _hover: { bg: canAdd ? "blue.50" : "transparent" },
4839
5052
  onClick: () => addNavItem(option.key),
4840
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuPlus, { size: 13 })
5053
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuPlus, { size: 13 })
4841
5054
  }
4842
5055
  )
4843
5056
  ] }),
4844
- !isLast && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Separator, {})
5057
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {})
4845
5058
  ] }, option.key);
4846
5059
  }) })
4847
5060
  ] })
4848
5061
  ] });
4849
5062
  const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
4850
5063
  if (isDesktop) {
4851
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4852
- import_react32.Flex,
5064
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
5065
+ import_react35.Flex,
4853
5066
  {
4854
5067
  maxW: "6xl",
4855
5068
  mx: "auto",
@@ -4859,8 +5072,8 @@ function ReusableProfile({
4859
5072
  p: { md: 6, lg: 8 },
4860
5073
  align: "start",
4861
5074
  children: [
4862
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4863
- import_react32.Box,
5075
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5076
+ import_react35.Box,
4864
5077
  {
4865
5078
  w: { md: "300px", lg: "340px" },
4866
5079
  flexShrink: 0,
@@ -4874,8 +5087,8 @@ function ReusableProfile({
4874
5087
  children: mainContent
4875
5088
  }
4876
5089
  ),
4877
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4878
- import_react32.Box,
5090
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5091
+ import_react35.Box,
4879
5092
  {
4880
5093
  flex: "1",
4881
5094
  minW: 0,
@@ -4885,8 +5098,8 @@ function ReusableProfile({
4885
5098
  overflow: "hidden",
4886
5099
  bg: "bg",
4887
5100
  minH: "540px",
4888
- children: subViewContent ?? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4889
- import_react32.Flex,
5101
+ children: subViewContent ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
5102
+ import_react35.Flex,
4890
5103
  {
4891
5104
  direction: "column",
4892
5105
  align: "center",
@@ -4896,8 +5109,8 @@ function ReusableProfile({
4896
5109
  textAlign: "center",
4897
5110
  color: "gray.400",
4898
5111
  children: [
4899
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4900
- import_react32.Box,
5112
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
5113
+ import_react35.Box,
4901
5114
  {
4902
5115
  w: "56px",
4903
5116
  h: "56px",
@@ -4907,10 +5120,10 @@ function ReusableProfile({
4907
5120
  alignItems: "center",
4908
5121
  justifyContent: "center",
4909
5122
  mb: 4,
4910
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lu7.LuUser, { size: 24 })
5123
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 24 })
4911
5124
  }
4912
5125
  ),
4913
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
5126
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
4914
5127
  ]
4915
5128
  }
4916
5129
  )
@@ -4920,20 +5133,20 @@ function ReusableProfile({
4920
5133
  }
4921
5134
  );
4922
5135
  }
4923
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Box, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
5136
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
4924
5137
  }
4925
5138
  var UserProfile_default = ReusableProfile;
4926
5139
  // Annotate the CommonJS export names for ESM import in node:
4927
5140
  0 && (module.exports = {
4928
5141
  Beneficiary,
4929
5142
  BottomQuickActions,
4930
- FloatingLabelInput,
4931
5143
  HealthDeclaration,
4932
5144
  LifePlanApplication1,
4933
5145
  LifePlanApplication2,
4934
5146
  LifePlanApplication3,
4935
5147
  LifePlanApplicationFormWrapper,
4936
5148
  LifePlanApplicationStepWrapper,
5149
+ NotifyInstall,
4937
5150
  SharedLifePlanApplication,
4938
5151
  UserProfile,
4939
5152
  createEmptyApplicationData,