@splpi/estore-shared-components 7.0.2 → 7.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.mjs CHANGED
@@ -256,6 +256,20 @@ var markOcrApplied = (section) => {
256
256
  }
257
257
  return true;
258
258
  };
259
+ var saveOcrResult = (value) => {
260
+ if (typeof window === "undefined") return;
261
+ try {
262
+ localStorage.setItem(OCR_STORAGE_KEY, JSON.stringify(value));
263
+ } catch {
264
+ }
265
+ };
266
+ var clearOcrResult = () => {
267
+ if (typeof window === "undefined") return;
268
+ try {
269
+ localStorage.removeItem(OCR_STORAGE_KEY);
270
+ } catch {
271
+ }
272
+ };
259
273
 
260
274
  // src/NewSaleForm/LifePlanApplication1.tsx
261
275
  import { useEffect, useState as useState2 } from "react";
@@ -2140,6 +2154,7 @@ var InfoCard = ({
2140
2154
  }
2141
2155
  );
2142
2156
  };
2157
+ var info_card_default = InfoCard;
2143
2158
 
2144
2159
  // src/NewSaleForm/ui/input-card-accordion.tsx
2145
2160
  import { Box as Box8, Flex as Flex3, Text as Text5 } from "@chakra-ui/react";
@@ -3581,22 +3596,879 @@ var LifePlanApplicationStepWrapper = (props) => {
3581
3596
  };
3582
3597
  var LifePlanApplicationStepWrapper_default = LifePlanApplicationStepWrapper;
3583
3598
 
3599
+ // src/hooks/useOcr.ts
3600
+ import { useCallback as useCallback2, useState as useState12 } from "react";
3601
+ function useOcr(scanIdFn) {
3602
+ const [data, setData] = useState12(null);
3603
+ const [loading, setLoading] = useState12(false);
3604
+ const [error, setError] = useState12(null);
3605
+ const scanId = useCallback2(
3606
+ async (file) => {
3607
+ setLoading(true);
3608
+ setError(null);
3609
+ try {
3610
+ clearOcrResult();
3611
+ const result = await scanIdFn(file);
3612
+ saveOcrResult(result);
3613
+ setData(result);
3614
+ return result;
3615
+ } catch (err) {
3616
+ setError(err instanceof Error ? err.message : "OCR failed");
3617
+ throw err;
3618
+ } finally {
3619
+ setLoading(false);
3620
+ }
3621
+ },
3622
+ [scanIdFn]
3623
+ );
3624
+ return { data, loading, error, scanId };
3625
+ }
3626
+
3627
+ // src/GetStarted/GetStarted.tsx
3628
+ import {
3629
+ BaseText,
3630
+ Body as Body5,
3631
+ CancelButton as CancelButton2,
3632
+ H3 as H32,
3633
+ NextButton,
3634
+ PrimaryMdButton as PrimaryMdButton3
3635
+ } from "st-peter-ui";
3636
+ import {
3637
+ Box as Box17,
3638
+ VStack as VStack7,
3639
+ Dialog as Dialog3,
3640
+ Button as Button3,
3641
+ Portal as Portal4,
3642
+ CloseButton as CloseButton3,
3643
+ Input as Input4
3644
+ } from "@chakra-ui/react";
3645
+ import { useState as useState14 } from "react";
3646
+ import { LuIdCard, LuSignature } from "react-icons/lu";
3647
+
3648
+ // src/GetStarted/Container.tsx
3649
+ import "react";
3650
+ import { Box as Box15 } from "@chakra-ui/react";
3651
+ import { jsx as jsx18 } from "react/jsx-runtime";
3652
+ var Container = ({ children }) => {
3653
+ return /* @__PURE__ */ jsx18(
3654
+ Box15,
3655
+ {
3656
+ px: { base: 8, md: 8 },
3657
+ mt: { base: 16, md: 32 },
3658
+ mb: { base: 32, md: 16 },
3659
+ maxW: "7xl",
3660
+ mx: "auto",
3661
+ children
3662
+ }
3663
+ );
3664
+ };
3665
+ var Container_default = Container;
3666
+
3667
+ // src/GetStarted/DocumentUploadCard.tsx
3668
+ import { useEffect as useEffect7, useRef as useRef2, useState as useState13 } from "react";
3669
+ import { Box as Box16, Flex as Flex8, Spinner, Text as Text9, useBreakpointValue as useBreakpointValue2 } from "@chakra-ui/react";
3670
+ import {
3671
+ LuUpload,
3672
+ LuCamera,
3673
+ LuFolderOpen,
3674
+ LuFileText,
3675
+ LuCheck as LuCheck3,
3676
+ LuTriangleAlert,
3677
+ LuRefreshCw,
3678
+ LuTrash2,
3679
+ LuReplace,
3680
+ LuSparkles
3681
+ } from "react-icons/lu";
3682
+ import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
3683
+ var PRIMARY2 = "var(--chakra-colors-primary)";
3684
+ var PRIMARY_SOFT = "var(--chakra-colors-primary-disabled)";
3685
+ var defaultNotifyError = (message) => {
3686
+ console.error(message);
3687
+ };
3688
+ var formatBytes = (bytes) => {
3689
+ if (!bytes) return "";
3690
+ if (bytes < 1024) return `${bytes} B`;
3691
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(0)} KB`;
3692
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
3693
+ };
3694
+ var validate = (file, config) => {
3695
+ const accepted = config.accept.split(",").map((s) => s.trim());
3696
+ const okType = accepted.includes(file.type) || accepted.some(
3697
+ (a) => a.endsWith("/*") && file.type.startsWith(a.slice(0, -1))
3698
+ ) || accepted.some(
3699
+ (a) => a.startsWith(".") && file.name.toLowerCase().endsWith(a)
3700
+ );
3701
+ if (!okType) return "Unsupported file type. Please upload a JPG, PNG or PDF.";
3702
+ if (file.size > config.maxSizeMB * 1024 * 1024)
3703
+ return `File is too large. Maximum size is ${config.maxSizeMB}MB.`;
3704
+ return null;
3705
+ };
3706
+ var useDocumentSlot = (config, onProcess, notifyError = defaultNotifyError) => {
3707
+ const [slot, setSlot] = useState13({ status: "idle" });
3708
+ const timers = useRef2([]);
3709
+ const runId = useRef2(0);
3710
+ const clearTimers = () => {
3711
+ timers.current.forEach(clearTimeout);
3712
+ timers.current = [];
3713
+ };
3714
+ const processFile = (file, currentRun, isSignature) => {
3715
+ if (!onProcess) return false;
3716
+ onProcess(file).then((result) => {
3717
+ if (runId.current !== currentRun) return;
3718
+ setSlot((prev) => ({
3719
+ ...prev,
3720
+ status: "completed",
3721
+ cleanedImageUrl: isSignature ? prev.previewUrl : void 0,
3722
+ extraction: !isSignature && result && typeof result === "object" ? result : void 0
3723
+ }));
3724
+ }).catch((err) => {
3725
+ if (runId.current !== currentRun) return;
3726
+ const message = err instanceof Error && err.message ? err.message : "We couldn't process this document. Please try again.";
3727
+ setSlot((prev) => ({ ...prev, status: "failed", error: message }));
3728
+ notifyError(message);
3729
+ });
3730
+ return true;
3731
+ };
3732
+ const runLifecycle = (file) => {
3733
+ clearTimers();
3734
+ const currentRun = ++runId.current;
3735
+ const previewUrl = URL.createObjectURL(file);
3736
+ const isSignature = config.processor === "signature";
3737
+ setSlot({
3738
+ status: "uploading",
3739
+ file,
3740
+ fileName: file.name,
3741
+ fileType: file.type,
3742
+ fileSize: file.size,
3743
+ previewUrl,
3744
+ progress: 0
3745
+ });
3746
+ let progress = 0;
3747
+ const tick = () => {
3748
+ progress = Math.min(100, progress + 20);
3749
+ setSlot((prev) => ({ ...prev, progress }));
3750
+ if (progress < 100) {
3751
+ timers.current.push(setTimeout(tick, 180));
3752
+ } else {
3753
+ timers.current.push(
3754
+ setTimeout(() => {
3755
+ setSlot((prev) => ({ ...prev, status: "processing" }));
3756
+ if (processFile(file, currentRun, isSignature)) return;
3757
+ timers.current.push(
3758
+ setTimeout(() => {
3759
+ setSlot((prev) => ({
3760
+ ...prev,
3761
+ status: "completed",
3762
+ cleanedImageUrl: isSignature ? prev.previewUrl : void 0,
3763
+ extraction: isSignature ? void 0 : { name: "Sample", date: "2026-07-16", id: "0001" }
3764
+ }));
3765
+ }, 1600)
3766
+ );
3767
+ }, 200)
3768
+ );
3769
+ }
3770
+ };
3771
+ timers.current.push(setTimeout(tick, 180));
3772
+ };
3773
+ const uploadDocument = (file) => runLifecycle(file);
3774
+ const retryDocument = () => {
3775
+ if (slot.file) runLifecycle(slot.file);
3776
+ };
3777
+ const removeDocument = () => {
3778
+ clearTimers();
3779
+ runId.current++;
3780
+ if (slot.previewUrl) URL.revokeObjectURL(slot.previewUrl);
3781
+ setSlot({ status: "idle" });
3782
+ };
3783
+ return { slot, uploadDocument, retryDocument, removeDocument };
3784
+ };
3785
+ var Card = ({
3786
+ activeIcon,
3787
+ title,
3788
+ subtitle,
3789
+ headerAction,
3790
+ children
3791
+ }) => /* @__PURE__ */ jsxs15(
3792
+ Box16,
3793
+ {
3794
+ w: "full",
3795
+ borderRadius: "2xl",
3796
+ bg: "white",
3797
+ borderWidth: "1px",
3798
+ borderColor: "gray.200",
3799
+ shadow: "sm",
3800
+ overflow: "hidden",
3801
+ children: [
3802
+ /* @__PURE__ */ jsxs15(Flex8, { align: "center", justify: "space-between", px: 4, py: 3, gap: 2, children: [
3803
+ /* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, minW: 0, children: [
3804
+ /* @__PURE__ */ jsx19(
3805
+ Box16,
3806
+ {
3807
+ p: 2,
3808
+ borderRadius: "full",
3809
+ bg: "gray.100",
3810
+ color: PRIMARY2,
3811
+ flexShrink: 0,
3812
+ children: activeIcon
3813
+ }
3814
+ ),
3815
+ /* @__PURE__ */ jsxs15(Box16, { minW: 0, children: [
3816
+ /* @__PURE__ */ jsx19(Text9, { fontWeight: "bold", fontSize: "md", lineHeight: "1.2", truncate: true, children: title }),
3817
+ subtitle && /* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", truncate: true, children: subtitle })
3818
+ ] })
3819
+ ] }),
3820
+ headerAction
3821
+ ] }),
3822
+ /* @__PURE__ */ jsx19(Box16, { px: 4, pb: 4, pt: 1, borderTopWidth: "1px", borderColor: "gray.100", children })
3823
+ ]
3824
+ }
3825
+ );
3826
+ var StatusPill = ({ status }) => {
3827
+ const map = {
3828
+ idle: null,
3829
+ uploading: { label: "Uploading", fg: "#1D4ED8", bg: "#EFF6FF" },
3830
+ processing: { label: "Analyzing", fg: "#7C3AED", bg: "#F5F3FF" },
3831
+ completed: { label: "Completed", fg: "#15803D", bg: "#F0FDF4" },
3832
+ failed: { label: "Failed", fg: "#B91C1C", bg: "#FEF2F2" }
3833
+ };
3834
+ const meta = map[status];
3835
+ if (!meta) return null;
3836
+ return /* @__PURE__ */ jsxs15(
3837
+ Flex8,
3838
+ {
3839
+ align: "center",
3840
+ gap: 1.5,
3841
+ px: 2.5,
3842
+ py: 1,
3843
+ borderRadius: "full",
3844
+ fontSize: "xs",
3845
+ fontWeight: 600,
3846
+ style: { color: meta.fg, background: meta.bg },
3847
+ flexShrink: 0,
3848
+ children: [
3849
+ status === "processing" || status === "uploading" ? /* @__PURE__ */ jsx19(Spinner, { size: "xs", borderWidth: "2px" }) : status === "completed" ? /* @__PURE__ */ jsx19(LuCheck3, { size: 12 }) : /* @__PURE__ */ jsx19(LuTriangleAlert, { size: 12 }),
3850
+ meta.label
3851
+ ]
3852
+ }
3853
+ );
3854
+ };
3855
+ var ProgressBar = ({ value, color }) => /* @__PURE__ */ jsx19(Box16, { w: "full", h: "6px", bg: "gray.100", borderRadius: "full", overflow: "hidden", children: /* @__PURE__ */ jsx19(
3856
+ Box16,
3857
+ {
3858
+ h: "full",
3859
+ borderRadius: "full",
3860
+ style: {
3861
+ width: `${value}%`,
3862
+ background: color,
3863
+ transition: "width 0.2s ease"
3864
+ }
3865
+ }
3866
+ ) });
3867
+ var Thumb = ({
3868
+ url,
3869
+ isPdf,
3870
+ fileName,
3871
+ transparent
3872
+ }) => /* @__PURE__ */ jsx19(
3873
+ Flex8,
3874
+ {
3875
+ align: "center",
3876
+ justify: "center",
3877
+ boxSize: { base: "56px", md: "64px" },
3878
+ borderRadius: "lg",
3879
+ borderWidth: "1px",
3880
+ borderColor: "gray.200",
3881
+ overflow: "hidden",
3882
+ flexShrink: 0,
3883
+ bg: transparent ? "transparent" : "gray.50",
3884
+ style: transparent ? {
3885
+ backgroundImage: "linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%)",
3886
+ backgroundSize: "10px 10px",
3887
+ backgroundPosition: "0 0,0 5px,5px -5px,-5px 0"
3888
+ } : void 0,
3889
+ children: isPdf || !url ? /* @__PURE__ */ jsxs15(Flex8, { direction: "column", align: "center", color: "gray.400", gap: 0.5, children: [
3890
+ /* @__PURE__ */ jsx19(LuFileText, { size: 22 }),
3891
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "9px", fontWeight: 600, children: isPdf ? "PDF" : "FILE" })
3892
+ ] }) : (
3893
+ // eslint-disable-next-line @next/next/no-img-element
3894
+ /* @__PURE__ */ jsx19(
3895
+ "img",
3896
+ {
3897
+ src: url,
3898
+ alt: fileName ?? "preview",
3899
+ style: { width: "100%", height: "100%", objectFit: "contain" }
3900
+ }
3901
+ )
3902
+ )
3903
+ }
3904
+ );
3905
+ var GhostBtn = ({
3906
+ icon,
3907
+ label,
3908
+ onClick,
3909
+ tone = "gray"
3910
+ }) => {
3911
+ const tones = {
3912
+ gray: { c: "gray.600", h: "gray.50", b: "gray.200" },
3913
+ danger: { c: "#B91C1C", h: "#FEF2F2", b: "#FECACA" },
3914
+ primary: { c: PRIMARY2, h: PRIMARY_SOFT, b: PRIMARY2 }
3915
+ };
3916
+ const t = tones[tone];
3917
+ return /* @__PURE__ */ jsxs15(
3918
+ Flex8,
3919
+ {
3920
+ as: "button",
3921
+ align: "center",
3922
+ gap: 1.5,
3923
+ px: 2.5,
3924
+ py: 1.5,
3925
+ borderRadius: "lg",
3926
+ borderWidth: "1px",
3927
+ borderColor: t.b,
3928
+ color: t.c,
3929
+ bg: "white",
3930
+ fontSize: "xs",
3931
+ fontWeight: 600,
3932
+ cursor: "pointer",
3933
+ _hover: { bg: t.h },
3934
+ transition: "all 0.15s",
3935
+ onClick,
3936
+ children: [
3937
+ icon,
3938
+ label
3939
+ ]
3940
+ }
3941
+ );
3942
+ };
3943
+ function DocumentUploadCard({
3944
+ config,
3945
+ onStatusChange,
3946
+ onProcess,
3947
+ onError
3948
+ }) {
3949
+ const notifyError = onError ?? defaultNotifyError;
3950
+ const { slot, uploadDocument, retryDocument, removeDocument } = useDocumentSlot(config, onProcess, notifyError);
3951
+ const status = slot?.status ?? "idle";
3952
+ useEffect7(() => {
3953
+ onStatusChange?.(status);
3954
+ }, [status, onStatusChange]);
3955
+ const browseRef = useRef2(null);
3956
+ const cameraRef = useRef2(null);
3957
+ const [dragging, setDragging] = useState13(false);
3958
+ const Icon6 = config.icon;
3959
+ const isPdf = slot?.fileType === "application/pdf";
3960
+ const handleFiles = (files) => {
3961
+ const file = files?.[0];
3962
+ if (!file) return;
3963
+ const error = validate(file, config);
3964
+ if (error) {
3965
+ notifyError(error);
3966
+ return;
3967
+ }
3968
+ void uploadDocument(file);
3969
+ };
3970
+ const onDrop = (e) => {
3971
+ e.preventDefault();
3972
+ setDragging(false);
3973
+ handleFiles(e.dataTransfer.files);
3974
+ };
3975
+ const renderDropzone = () => /* @__PURE__ */ jsxs15(
3976
+ Flex8,
3977
+ {
3978
+ direction: "column",
3979
+ align: "center",
3980
+ justify: "center",
3981
+ gap: 2,
3982
+ py: { base: 6, md: 7 },
3983
+ px: 4,
3984
+ borderWidth: "2px",
3985
+ borderStyle: "dashed",
3986
+ borderColor: dragging ? PRIMARY2 : "gray.200",
3987
+ borderRadius: "xl",
3988
+ bg: dragging ? PRIMARY_SOFT : "gray.50",
3989
+ transition: "all 0.15s",
3990
+ textAlign: "center",
3991
+ onDragOver: (e) => {
3992
+ e.preventDefault();
3993
+ setDragging(true);
3994
+ },
3995
+ onDragLeave: () => setDragging(false),
3996
+ onDrop,
3997
+ role: "button",
3998
+ tabIndex: 0,
3999
+ onClick: () => browseRef.current?.click(),
4000
+ onKeyDown: (e) => {
4001
+ if (e.key === "Enter" || e.key === " ") browseRef.current?.click();
4002
+ },
4003
+ cursor: "pointer",
4004
+ _hover: { borderColor: PRIMARY2, bg: PRIMARY_SOFT },
4005
+ children: [
4006
+ /* @__PURE__ */ jsx19(
4007
+ Flex8,
4008
+ {
4009
+ align: "center",
4010
+ justify: "center",
4011
+ boxSize: 11,
4012
+ borderRadius: "full",
4013
+ bg: "white",
4014
+ borderWidth: "1px",
4015
+ borderColor: "gray.200",
4016
+ color: PRIMARY2,
4017
+ children: /* @__PURE__ */ jsx19(LuUpload, { size: 18 })
4018
+ }
4019
+ ),
4020
+ /* @__PURE__ */ jsxs15(Box16, { children: [
4021
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", children: "Drag & drop or tap to upload" }),
4022
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", mt: 0.5, children: config.hint ?? "JPG, PNG or PDF" })
4023
+ ] }),
4024
+ /* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 1, onClick: (e) => e.stopPropagation(), children: [
4025
+ /* @__PURE__ */ jsx19(
4026
+ GhostBtn,
4027
+ {
4028
+ icon: /* @__PURE__ */ jsx19(LuFolderOpen, { size: 13 }),
4029
+ label: "Browse",
4030
+ tone: "primary",
4031
+ onClick: () => browseRef.current?.click()
4032
+ }
4033
+ ),
4034
+ /* @__PURE__ */ jsx19(
4035
+ GhostBtn,
4036
+ {
4037
+ icon: /* @__PURE__ */ jsx19(LuCamera, { size: 13 }),
4038
+ label: "Take photo",
4039
+ onClick: () => cameraRef.current?.click()
4040
+ }
4041
+ )
4042
+ ] })
4043
+ ]
4044
+ }
4045
+ );
4046
+ const renderBusy = () => /* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "center", children: [
4047
+ /* @__PURE__ */ jsx19(Thumb, { url: slot?.previewUrl, isPdf, fileName: slot?.fileName }),
4048
+ /* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
4049
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName }),
4050
+ status === "uploading" ? /* @__PURE__ */ jsxs15(Fragment3, { children: [
4051
+ /* @__PURE__ */ jsxs15(
4052
+ Flex8,
4053
+ {
4054
+ justify: "space-between",
4055
+ fontSize: "xs",
4056
+ color: "gray.500",
4057
+ mt: 1,
4058
+ mb: 1,
4059
+ children: [
4060
+ /* @__PURE__ */ jsx19(Text9, { children: "Uploading\u2026" }),
4061
+ /* @__PURE__ */ jsxs15(Text9, { fontWeight: 600, children: [
4062
+ slot?.progress ?? 0,
4063
+ "%"
4064
+ ] })
4065
+ ]
4066
+ }
4067
+ ),
4068
+ /* @__PURE__ */ jsx19(ProgressBar, { value: slot?.progress ?? 0, color: "#2563EB" })
4069
+ ] }) : /* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, mt: 1.5, children: [
4070
+ /* @__PURE__ */ jsxs15(
4071
+ Flex8,
4072
+ {
4073
+ align: "center",
4074
+ gap: 1.5,
4075
+ px: 2,
4076
+ py: 1,
4077
+ borderRadius: "md",
4078
+ bg: "#F5F3FF",
4079
+ color: "#7C3AED",
4080
+ fontSize: "xs",
4081
+ fontWeight: 600,
4082
+ children: [
4083
+ /* @__PURE__ */ jsx19(LuSparkles, { size: 12 }),
4084
+ config.processor === "signature" ? "Cleaning signature\u2026" : "Reading with AI\u2026"
4085
+ ]
4086
+ }
4087
+ ),
4088
+ /* @__PURE__ */ jsx19(Spinner, { size: "xs", color: "#7C3AED", borderWidth: "2px" })
4089
+ ] }),
4090
+ status === "processing" && /* @__PURE__ */ jsx19(Text9, { fontSize: "11px", color: "gray.400", mt: 1.5, children: "This can take a few seconds. Your upload is already saved." })
4091
+ ] })
4092
+ ] });
4093
+ const renderFailed = () => /* @__PURE__ */ jsxs15(Box16, { children: [
4094
+ /* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "flex-start", children: [
4095
+ /* @__PURE__ */ jsx19(Thumb, { url: slot?.previewUrl, isPdf, fileName: slot?.fileName }),
4096
+ /* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
4097
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName ?? config.label }),
4098
+ /* @__PURE__ */ jsxs15(Flex8, { align: "flex-start", gap: 1.5, mt: 1, color: "#B91C1C", children: [
4099
+ /* @__PURE__ */ jsx19(Box16, { mt: "1px", children: /* @__PURE__ */ jsx19(LuTriangleAlert, { size: 13 }) }),
4100
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "xs", lineHeight: "1.4", children: slot?.error ?? "We couldn't process this document." })
4101
+ ] })
4102
+ ] })
4103
+ ] }),
4104
+ /* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 3, wrap: "wrap", children: [
4105
+ slot?.file ? /* @__PURE__ */ jsx19(
4106
+ GhostBtn,
4107
+ {
4108
+ icon: /* @__PURE__ */ jsx19(LuRefreshCw, { size: 13 }),
4109
+ label: "Retry",
4110
+ tone: "primary",
4111
+ onClick: () => void retryDocument()
4112
+ }
4113
+ ) : /* @__PURE__ */ jsx19(
4114
+ GhostBtn,
4115
+ {
4116
+ icon: /* @__PURE__ */ jsx19(LuUpload, { size: 13 }),
4117
+ label: "Re-upload",
4118
+ tone: "primary",
4119
+ onClick: () => browseRef.current?.click()
4120
+ }
4121
+ ),
4122
+ /* @__PURE__ */ jsx19(
4123
+ GhostBtn,
4124
+ {
4125
+ icon: /* @__PURE__ */ jsx19(LuReplace, { size: 13 }),
4126
+ label: "Choose another",
4127
+ onClick: () => browseRef.current?.click()
4128
+ }
4129
+ ),
4130
+ /* @__PURE__ */ jsx19(
4131
+ GhostBtn,
4132
+ {
4133
+ icon: /* @__PURE__ */ jsx19(LuTrash2, { size: 13 }),
4134
+ label: "Remove",
4135
+ tone: "danger",
4136
+ onClick: () => removeDocument()
4137
+ }
4138
+ )
4139
+ ] })
4140
+ ] });
4141
+ const renderCompleted = () => {
4142
+ const isSignature = config.processor === "signature";
4143
+ const fieldCount = slot?.extraction ? Object.values(slot.extraction).filter(Boolean).length : 0;
4144
+ const displayUrl = isSignature ? slot?.cleanedImageUrl ?? slot?.previewUrl : slot?.previewUrl;
4145
+ return /* @__PURE__ */ jsxs15(Box16, { children: [
4146
+ /* @__PURE__ */ jsxs15(Flex8, { gap: 3, align: "center", children: [
4147
+ /* @__PURE__ */ jsx19(
4148
+ Thumb,
4149
+ {
4150
+ url: displayUrl,
4151
+ isPdf: isPdf && !isSignature,
4152
+ fileName: slot?.fileName,
4153
+ transparent: isSignature && !!slot?.cleanedImageUrl
4154
+ }
4155
+ ),
4156
+ /* @__PURE__ */ jsxs15(Box16, { flex: "1", minW: 0, children: [
4157
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "sm", fontWeight: 600, color: "gray.800", truncate: true, children: slot?.fileName }),
4158
+ /* @__PURE__ */ jsx19(Text9, { fontSize: "xs", color: "gray.500", children: formatBytes(slot?.fileSize) }),
4159
+ /* @__PURE__ */ jsxs15(
4160
+ Flex8,
4161
+ {
4162
+ align: "center",
4163
+ gap: 1.5,
4164
+ mt: 1.5,
4165
+ color: PRIMARY2,
4166
+ fontSize: "xs",
4167
+ fontWeight: 600,
4168
+ children: [
4169
+ /* @__PURE__ */ jsx19(LuSparkles, { size: 12 }),
4170
+ isSignature ? "Signature detected & cleaned" : `${fieldCount} field${fieldCount === 1 ? "" : "s"} extracted`
4171
+ ]
4172
+ }
4173
+ )
4174
+ ] })
4175
+ ] }),
4176
+ /* @__PURE__ */ jsxs15(Flex8, { gap: 2, mt: 3, wrap: "wrap", children: [
4177
+ /* @__PURE__ */ jsx19(
4178
+ GhostBtn,
4179
+ {
4180
+ icon: /* @__PURE__ */ jsx19(LuReplace, { size: 13 }),
4181
+ label: "Replace",
4182
+ onClick: () => browseRef.current?.click()
4183
+ }
4184
+ ),
4185
+ /* @__PURE__ */ jsx19(
4186
+ GhostBtn,
4187
+ {
4188
+ icon: /* @__PURE__ */ jsx19(LuTrash2, { size: 13 }),
4189
+ label: "Remove",
4190
+ tone: "danger",
4191
+ onClick: () => removeDocument()
4192
+ }
4193
+ )
4194
+ ] })
4195
+ ] });
4196
+ };
4197
+ const requiredTag = /* @__PURE__ */ jsx19(
4198
+ Text9,
4199
+ {
4200
+ fontSize: "10px",
4201
+ fontWeight: 700,
4202
+ px: 1.5,
4203
+ py: 0.5,
4204
+ borderRadius: "full",
4205
+ color: config.required ? "#B45309" : "gray.500",
4206
+ bg: config.required ? "#FEF3C7" : "gray.100",
4207
+ flexShrink: 0,
4208
+ children: config.required ? "REQUIRED" : "OPTIONAL"
4209
+ }
4210
+ );
4211
+ const isMobile = useBreakpointValue2({ base: true, lg: false });
4212
+ return /* @__PURE__ */ jsxs15(
4213
+ Card,
4214
+ {
4215
+ activeIcon: /* @__PURE__ */ jsx19(Icon6, { size: 18 }),
4216
+ title: config.label,
4217
+ subtitle: config.description,
4218
+ headerAction: !isMobile ? /* @__PURE__ */ jsxs15(Flex8, { align: "center", gap: 2, flexShrink: 0, children: [
4219
+ requiredTag,
4220
+ /* @__PURE__ */ jsx19(StatusPill, { status })
4221
+ ] }) : /* @__PURE__ */ jsx19(Fragment3, {}),
4222
+ children: [
4223
+ isMobile ? /* @__PURE__ */ jsxs15(
4224
+ Flex8,
4225
+ {
4226
+ align: "center",
4227
+ justifySelf: "flex-end",
4228
+ gap: 2,
4229
+ mb: 1,
4230
+ flexShrink: 0,
4231
+ children: [
4232
+ requiredTag,
4233
+ /* @__PURE__ */ jsx19(StatusPill, { status })
4234
+ ]
4235
+ }
4236
+ ) : /* @__PURE__ */ jsx19(Fragment3, {}),
4237
+ status === "idle" && renderDropzone(),
4238
+ (status === "uploading" || status === "processing") && renderBusy(),
4239
+ status === "failed" && renderFailed(),
4240
+ status === "completed" && renderCompleted(),
4241
+ /* @__PURE__ */ jsx19(
4242
+ "input",
4243
+ {
4244
+ ref: browseRef,
4245
+ type: "file",
4246
+ accept: config.accept,
4247
+ hidden: true,
4248
+ onChange: (e) => {
4249
+ handleFiles(e.target.files);
4250
+ e.target.value = "";
4251
+ }
4252
+ }
4253
+ ),
4254
+ /* @__PURE__ */ jsx19(
4255
+ "input",
4256
+ {
4257
+ ref: cameraRef,
4258
+ type: "file",
4259
+ accept: "image/*",
4260
+ capture: "environment",
4261
+ hidden: true,
4262
+ onChange: (e) => {
4263
+ handleFiles(e.target.files);
4264
+ e.target.value = "";
4265
+ }
4266
+ }
4267
+ )
4268
+ ]
4269
+ }
4270
+ );
4271
+ }
4272
+
4273
+ // src/GetStarted/GetStarted.tsx
4274
+ import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
4275
+ var defaultNotify = (type, message) => {
4276
+ if (type === "error") console.error(message);
4277
+ else console.info(message);
4278
+ };
4279
+ var GOVERNMENT_ID_CONFIG = {
4280
+ id: "government-id",
4281
+ label: "Government-issued ID",
4282
+ description: "Current and valid ID",
4283
+ accept: "image/*",
4284
+ maxSizeMB: 5,
4285
+ required: true,
4286
+ hint: "Any image \xB7 up to 5MB",
4287
+ processor: "extraction",
4288
+ icon: LuIdCard
4289
+ };
4290
+ var SIGNATURE_CONFIG = {
4291
+ id: "specimen-signature",
4292
+ label: "Specimen Signature",
4293
+ description: "Signature on plain white paper",
4294
+ accept: "image/png,image/jpeg,application/pdf",
4295
+ maxSizeMB: 5,
4296
+ required: true,
4297
+ hint: "JPG, PNG or PDF \xB7 up to 5MB",
4298
+ processor: "signature",
4299
+ icon: LuSignature
4300
+ };
4301
+ var GetStarted = ({
4302
+ scanId: scanIdFn,
4303
+ onContinue,
4304
+ notify = defaultNotify
4305
+ }) => {
4306
+ const [uploadDialogOpen, setUploadDialogOpen] = useState14(false);
4307
+ const [referralDialogOpen, setReferralDialogOpen] = useState14(false);
4308
+ const [governmentIdStatus, setGovernmentIdStatus] = useState14("idle");
4309
+ const { scanId } = useOcr(scanIdFn);
4310
+ return /* @__PURE__ */ jsx20(Container_default, { children: /* @__PURE__ */ jsxs16(
4311
+ Box17,
4312
+ {
4313
+ p: { base: 0, md: 8 },
4314
+ rounded: "lg",
4315
+ shadow: { base: "none", md: "md" },
4316
+ bg: "white",
4317
+ maxW: "3xl",
4318
+ display: "flex",
4319
+ flexDirection: "column",
4320
+ alignItems: "center",
4321
+ mx: "auto",
4322
+ children: [
4323
+ /* @__PURE__ */ jsxs16(VStack7, { gap: 4, align: "stretch", children: [
4324
+ /* @__PURE__ */ jsx20(Box17, { textAlign: "center", children: /* @__PURE__ */ jsx20(H32, { children: "Let's Get Started" }) }),
4325
+ /* @__PURE__ */ jsx20(BaseText, { textAlign: { base: "center", md: "start" }, children: "We'll be needing some documents and information to proceed with the purchase, please prepare the following in advance to smooth out the next steps" }),
4326
+ /* @__PURE__ */ jsx20(Box17, { bg: "gray.50", p: 8, rounded: "md", children: /* @__PURE__ */ jsx20(VStack7, { align: "start", gap: 2, children: /* @__PURE__ */ jsxs16(Box17, { mb: 4, display: "flex", flexDirection: "column", gap: 2, children: [
4327
+ /* @__PURE__ */ jsx20(BaseText, { fontWeight: "bold", children: "Required Information" }),
4328
+ /* @__PURE__ */ jsx20(BaseText, { children: "1. Full Name" }),
4329
+ /* @__PURE__ */ jsx20(BaseText, { children: "2. Nationality" }),
4330
+ /* @__PURE__ */ jsx20(BaseText, { children: "3. Mobile Number" }),
4331
+ /* @__PURE__ */ jsx20(BaseText, { children: "4. Email Address" }),
4332
+ /* @__PURE__ */ jsx20(BaseText, { children: "5. Date of Birth" }),
4333
+ /* @__PURE__ */ jsx20(BaseText, { children: "6. Complete Address" }),
4334
+ /* @__PURE__ */ jsx20(BaseText, { children: "7. Beneficiary/ies" }),
4335
+ /* @__PURE__ */ jsx20(BaseText, { fontWeight: "bold", children: "Required Documents" }),
4336
+ /* @__PURE__ */ jsx20(BaseText, { children: "1. Current and Valid Government-issued ID" }),
4337
+ /* @__PURE__ */ jsx20(BaseText, { children: "2. Specimen Signature" })
4338
+ ] }) }) })
4339
+ ] }),
4340
+ /* @__PURE__ */ jsxs16(Box17, { textAlign: "end", children: [
4341
+ /* @__PURE__ */ jsxs16(
4342
+ Dialog3.Root,
4343
+ {
4344
+ size: { mdDown: "full", md: "md" },
4345
+ open: uploadDialogOpen,
4346
+ onOpenChange: (details) => setUploadDialogOpen(details.open),
4347
+ children: [
4348
+ /* @__PURE__ */ jsx20(Dialog3.Trigger, { asChild: true, children: /* @__PURE__ */ jsx20(
4349
+ Button3,
4350
+ {
4351
+ w: { base: "sm", md: "2xl" },
4352
+ mt: { base: 4, md: 8 },
4353
+ onClick: () => setUploadDialogOpen(true),
4354
+ children: "CONTINUE"
4355
+ }
4356
+ ) }),
4357
+ /* @__PURE__ */ jsxs16(Portal4, { children: [
4358
+ /* @__PURE__ */ jsx20(Dialog3.Backdrop, {}),
4359
+ /* @__PURE__ */ jsx20(Dialog3.Positioner, { children: /* @__PURE__ */ jsxs16(Dialog3.Content, { children: [
4360
+ /* @__PURE__ */ jsx20(Dialog3.Header, { children: /* @__PURE__ */ jsx20(Dialog3.Title, { children: "Upload Requirements" }) }),
4361
+ /* @__PURE__ */ jsx20(Dialog3.Body, { children: /* @__PURE__ */ jsxs16(VStack7, { gap: 6, align: "stretch", children: [
4362
+ /* @__PURE__ */ jsx20(info_card_default, { children: "To continue, please upload a valid ID. The system will use it to populate your information automatically." }),
4363
+ /* @__PURE__ */ jsx20(
4364
+ DocumentUploadCard,
4365
+ {
4366
+ config: GOVERNMENT_ID_CONFIG,
4367
+ onStatusChange: setGovernmentIdStatus,
4368
+ onProcess: scanId,
4369
+ onError: (message) => notify("error", message)
4370
+ }
4371
+ ),
4372
+ /* @__PURE__ */ jsx20(
4373
+ DocumentUploadCard,
4374
+ {
4375
+ config: SIGNATURE_CONFIG,
4376
+ onError: (message) => notify("error", message)
4377
+ }
4378
+ )
4379
+ ] }) }),
4380
+ /* @__PURE__ */ jsxs16(Dialog3.Footer, { display: "flex", justifyContent: "space-between", children: [
4381
+ /* @__PURE__ */ jsx20(Dialog3.ActionTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CancelButton2, {}) }),
4382
+ /* @__PURE__ */ jsx20(
4383
+ NextButton,
4384
+ {
4385
+ onClick: () => {
4386
+ if (governmentIdStatus === "uploading" || governmentIdStatus === "processing") {
4387
+ notify("info", "Please wait while we read your ID.");
4388
+ return;
4389
+ }
4390
+ if (governmentIdStatus !== "completed") {
4391
+ notify("error", "Please upload a government-issued ID.");
4392
+ return;
4393
+ }
4394
+ setUploadDialogOpen(false);
4395
+ setReferralDialogOpen(true);
4396
+ }
4397
+ }
4398
+ )
4399
+ ] }),
4400
+ /* @__PURE__ */ jsx20(Dialog3.CloseTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CloseButton3, { size: "sm" }) })
4401
+ ] }) })
4402
+ ] })
4403
+ ]
4404
+ }
4405
+ ),
4406
+ /* @__PURE__ */ jsx20(
4407
+ Dialog3.Root,
4408
+ {
4409
+ placement: "center",
4410
+ open: referralDialogOpen,
4411
+ onOpenChange: (details) => setReferralDialogOpen(details.open),
4412
+ size: { mdDown: "full", md: "md" },
4413
+ children: /* @__PURE__ */ jsxs16(Portal4, { children: [
4414
+ /* @__PURE__ */ jsx20(Dialog3.Backdrop, {}),
4415
+ /* @__PURE__ */ jsx20(Dialog3.Positioner, { children: /* @__PURE__ */ jsxs16(Dialog3.Content, { children: [
4416
+ /* @__PURE__ */ jsx20(Dialog3.Header, { children: /* @__PURE__ */ jsx20(Dialog3.Title, { children: "Referral Agent" }) }),
4417
+ /* @__PURE__ */ jsx20(Dialog3.Body, { children: /* @__PURE__ */ jsxs16(VStack7, { align: "stretch", gap: 4, children: [
4418
+ /* @__PURE__ */ jsx20(Body5, { children: "Do you have an referral agent? (optional)" }),
4419
+ /* @__PURE__ */ jsx20(Input4, { placeholder: "Enter agent name" })
4420
+ ] }) }),
4421
+ /* @__PURE__ */ jsxs16(Dialog3.Footer, { display: "flex", justifyContent: "space-between", children: [
4422
+ /* @__PURE__ */ jsx20(
4423
+ Button3,
4424
+ {
4425
+ variant: "outline",
4426
+ onClick: () => {
4427
+ setReferralDialogOpen(false);
4428
+ onContinue?.();
4429
+ },
4430
+ children: "Skip"
4431
+ }
4432
+ ),
4433
+ /* @__PURE__ */ jsx20(
4434
+ PrimaryMdButton3,
4435
+ {
4436
+ onClick: () => {
4437
+ setReferralDialogOpen(false);
4438
+ onContinue?.();
4439
+ },
4440
+ children: "Continue"
4441
+ }
4442
+ )
4443
+ ] }),
4444
+ /* @__PURE__ */ jsx20(Dialog3.CloseTrigger, { asChild: true, children: /* @__PURE__ */ jsx20(CloseButton3, { size: "sm" }) })
4445
+ ] }) })
4446
+ ] })
4447
+ }
4448
+ )
4449
+ ] })
4450
+ ]
4451
+ }
4452
+ ) });
4453
+ };
4454
+ var GetStarted_default = GetStarted;
4455
+
3584
4456
  // src/Generic/BottomQuickActions.tsx
3585
- import React5 from "react";
4457
+ import React7 from "react";
3586
4458
  import {
3587
- Box as Box15,
4459
+ Box as Box18,
3588
4460
  Drawer,
3589
- Portal as Portal4,
4461
+ Portal as Portal5,
3590
4462
  HStack as HStack4,
3591
- VStack as VStack7,
3592
- Flex as Flex8,
4463
+ VStack as VStack8,
4464
+ Flex as Flex9,
3593
4465
  Icon as Icon4,
3594
- CloseButton as CloseButton3,
3595
- Text as Text9
4466
+ CloseButton as CloseButton4,
4467
+ Text as Text10
3596
4468
  } from "@chakra-ui/react";
3597
4469
  import { LuChevronRight as LuChevronRight2 } from "react-icons/lu";
3598
4470
  import Link from "next/link";
3599
- import { jsx as jsx18, jsxs as jsxs15 } from "react/jsx-runtime";
4471
+ import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
3600
4472
  var SHEET_BG = BRAND_COLORS.white;
3601
4473
  var DRAG_COLOR = BRAND_COLORS.neutralBorder;
3602
4474
  var ITEM_BG = BRAND_COLORS.white;
@@ -3613,14 +4485,14 @@ var SUBTITLE_COLOR = BRAND_COLORS.grey;
3613
4485
  var LABEL_COLOR = BRAND_COLORS.neutralText;
3614
4486
  var DESC_COLOR = BRAND_COLORS.grey;
3615
4487
  var CHEVRON_COLOR = BRAND_COLORS.ashWhite;
3616
- var QuickActionsHeaderCard = React5.memo(
4488
+ var QuickActionsHeaderCard = React7.memo(
3617
4489
  ({
3618
4490
  initials,
3619
4491
  avatarBg = AVATAR_DEFAULT_BG,
3620
4492
  label,
3621
4493
  meta,
3622
4494
  trailing
3623
- }) => /* @__PURE__ */ jsxs15(
4495
+ }) => /* @__PURE__ */ jsxs17(
3624
4496
  HStack4,
3625
4497
  {
3626
4498
  gap: STANDARD_SPACING.sm,
@@ -3631,8 +4503,8 @@ var QuickActionsHeaderCard = React5.memo(
3631
4503
  borderWidth: "1px",
3632
4504
  borderColor: HEADER_CARD_BORDER,
3633
4505
  children: [
3634
- initials && /* @__PURE__ */ jsx18(
3635
- Flex8,
4506
+ initials && /* @__PURE__ */ jsx21(
4507
+ Flex9,
3636
4508
  {
3637
4509
  w: "40px",
3638
4510
  h: "40px",
@@ -3641,8 +4513,8 @@ var QuickActionsHeaderCard = React5.memo(
3641
4513
  align: "center",
3642
4514
  justify: "center",
3643
4515
  flexShrink: 0,
3644
- children: /* @__PURE__ */ jsx18(
3645
- Text9,
4516
+ children: /* @__PURE__ */ jsx21(
4517
+ Text10,
3646
4518
  {
3647
4519
  fontSize: "14px",
3648
4520
  fontWeight: "700",
@@ -3653,9 +4525,9 @@ var QuickActionsHeaderCard = React5.memo(
3653
4525
  )
3654
4526
  }
3655
4527
  ),
3656
- /* @__PURE__ */ jsxs15(Box15, { flex: "1", minW: 0, children: [
3657
- /* @__PURE__ */ jsx18(
3658
- Text9,
4528
+ /* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
4529
+ /* @__PURE__ */ jsx21(
4530
+ Text10,
3659
4531
  {
3660
4532
  fontSize: "15px",
3661
4533
  fontWeight: "700",
@@ -3667,8 +4539,8 @@ var QuickActionsHeaderCard = React5.memo(
3667
4539
  children: label
3668
4540
  }
3669
4541
  ),
3670
- meta && /* @__PURE__ */ jsx18(
3671
- Text9,
4542
+ meta && /* @__PURE__ */ jsx21(
4543
+ Text10,
3672
4544
  {
3673
4545
  fontSize: "12px",
3674
4546
  color: SUBTITLE_COLOR,
@@ -3689,10 +4561,10 @@ var QuickActionsHeaderCard = React5.memo(
3689
4561
  var ITEM_TRANSITION = {
3690
4562
  transition: "background 0.15s ease, transform 0.1s ease"
3691
4563
  };
3692
- var ActionItem = React5.memo(({ action }) => {
4564
+ var ActionItem = React7.memo(({ action }) => {
3693
4565
  const iconBg = action.iconBg ?? DEFAULT_ICON_BG;
3694
4566
  const iconColor = action.iconColor ?? DEFAULT_ICON_COLOR;
3695
- const inner = /* @__PURE__ */ jsxs15(
4567
+ const inner = /* @__PURE__ */ jsxs17(
3696
4568
  HStack4,
3697
4569
  {
3698
4570
  gap: STANDARD_SPACING.sm,
@@ -3715,8 +4587,8 @@ var ActionItem = React5.memo(({ action }) => {
3715
4587
  _active: { bg: ITEM_ACTIVE_BG, transform: "scale(0.99)" },
3716
4588
  style: ITEM_TRANSITION,
3717
4589
  children: [
3718
- /* @__PURE__ */ jsx18(
3719
- Flex8,
4590
+ /* @__PURE__ */ jsx21(
4591
+ Flex9,
3720
4592
  {
3721
4593
  w: "40px",
3722
4594
  h: "40px",
@@ -3725,12 +4597,12 @@ var ActionItem = React5.memo(({ action }) => {
3725
4597
  align: "center",
3726
4598
  justify: "center",
3727
4599
  flexShrink: 0,
3728
- children: /* @__PURE__ */ jsx18(Icon4, { as: action.icon, boxSize: "20px", color: iconColor })
4600
+ children: /* @__PURE__ */ jsx21(Icon4, { as: action.icon, boxSize: "20px", color: iconColor })
3729
4601
  }
3730
4602
  ),
3731
- /* @__PURE__ */ jsxs15(Box15, { flex: "1", minW: 0, children: [
3732
- /* @__PURE__ */ jsx18(
3733
- Text9,
4603
+ /* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
4604
+ /* @__PURE__ */ jsx21(
4605
+ Text10,
3734
4606
  {
3735
4607
  fontSize: "15px",
3736
4608
  fontWeight: "600",
@@ -3739,8 +4611,8 @@ var ActionItem = React5.memo(({ action }) => {
3739
4611
  children: action.label
3740
4612
  }
3741
4613
  ),
3742
- action.description && /* @__PURE__ */ jsx18(
3743
- Text9,
4614
+ action.description && /* @__PURE__ */ jsx21(
4615
+ Text10,
3744
4616
  {
3745
4617
  fontSize: "12px",
3746
4618
  color: DESC_COLOR,
@@ -3753,7 +4625,7 @@ var ActionItem = React5.memo(({ action }) => {
3753
4625
  }
3754
4626
  )
3755
4627
  ] }),
3756
- /* @__PURE__ */ jsx18(
4628
+ /* @__PURE__ */ jsx21(
3757
4629
  Icon4,
3758
4630
  {
3759
4631
  as: LuChevronRight2,
@@ -3766,7 +4638,7 @@ var ActionItem = React5.memo(({ action }) => {
3766
4638
  }
3767
4639
  );
3768
4640
  if (action.href) {
3769
- return /* @__PURE__ */ jsx18(
4641
+ return /* @__PURE__ */ jsx21(
3770
4642
  Link,
3771
4643
  {
3772
4644
  href: action.href,
@@ -3785,15 +4657,15 @@ var BottomQuickActions = ({
3785
4657
  headerSlot,
3786
4658
  actions
3787
4659
  }) => {
3788
- return /* @__PURE__ */ jsx18(
4660
+ return /* @__PURE__ */ jsx21(
3789
4661
  Drawer.Root,
3790
4662
  {
3791
4663
  open,
3792
4664
  onOpenChange: (e) => onOpenChange(e.open),
3793
4665
  placement: "bottom",
3794
- children: /* @__PURE__ */ jsxs15(Portal4, { children: [
3795
- /* @__PURE__ */ jsx18(Drawer.Backdrop, {}),
3796
- /* @__PURE__ */ jsx18(Drawer.Positioner, { children: /* @__PURE__ */ jsxs15(
4666
+ children: /* @__PURE__ */ jsxs17(Portal5, { children: [
4667
+ /* @__PURE__ */ jsx21(Drawer.Backdrop, {}),
4668
+ /* @__PURE__ */ jsx21(Drawer.Positioner, { children: /* @__PURE__ */ jsxs17(
3797
4669
  Drawer.Content,
3798
4670
  {
3799
4671
  borderTopRadius: "l3",
@@ -3804,8 +4676,8 @@ var BottomQuickActions = ({
3804
4676
  pb: `calc(${STANDARD_SPACING.sm} + env(safe-area-inset-bottom))`,
3805
4677
  boxShadow: STANDARD_SHADOWS.level4,
3806
4678
  children: [
3807
- /* @__PURE__ */ jsx18(Flex8, { justify: "center", pt: "10px", pb: "4px", children: /* @__PURE__ */ jsx18(
3808
- Box15,
4679
+ /* @__PURE__ */ jsx21(Flex9, { justify: "center", pt: "10px", pb: "4px", children: /* @__PURE__ */ jsx21(
4680
+ Box18,
3809
4681
  {
3810
4682
  w: "36px",
3811
4683
  h: "4px",
@@ -3813,16 +4685,16 @@ var BottomQuickActions = ({
3813
4685
  bg: DRAG_COLOR
3814
4686
  }
3815
4687
  ) }),
3816
- /* @__PURE__ */ jsx18(
4688
+ /* @__PURE__ */ jsx21(
3817
4689
  Drawer.Header,
3818
4690
  {
3819
4691
  px: STANDARD_SPACING.sm,
3820
4692
  pt: "12px",
3821
4693
  pb: "0",
3822
4694
  borderBottomWidth: "0",
3823
- children: /* @__PURE__ */ jsxs15(Flex8, { align: "flex-start", justify: "space-between", gap: "12px", children: [
3824
- /* @__PURE__ */ jsxs15(Box15, { flex: "1", minW: 0, children: [
3825
- /* @__PURE__ */ jsx18(
4695
+ children: /* @__PURE__ */ jsxs17(Flex9, { align: "flex-start", justify: "space-between", gap: "12px", children: [
4696
+ /* @__PURE__ */ jsxs17(Box18, { flex: "1", minW: 0, children: [
4697
+ /* @__PURE__ */ jsx21(
3826
4698
  Drawer.Title,
3827
4699
  {
3828
4700
  fontSize: "18px",
@@ -3833,8 +4705,8 @@ var BottomQuickActions = ({
3833
4705
  children: title
3834
4706
  }
3835
4707
  ),
3836
- subtitle && /* @__PURE__ */ jsx18(
3837
- Text9,
4708
+ subtitle && /* @__PURE__ */ jsx21(
4709
+ Text10,
3838
4710
  {
3839
4711
  fontSize: "13px",
3840
4712
  color: SUBTITLE_COLOR,
@@ -3845,8 +4717,8 @@ var BottomQuickActions = ({
3845
4717
  }
3846
4718
  )
3847
4719
  ] }),
3848
- /* @__PURE__ */ jsx18(Drawer.CloseTrigger, { asChild: true, mt: "2px", flexShrink: 0, children: /* @__PURE__ */ jsx18(
3849
- CloseButton3,
4720
+ /* @__PURE__ */ jsx21(Drawer.CloseTrigger, { asChild: true, mt: "2px", flexShrink: 0, children: /* @__PURE__ */ jsx21(
4721
+ CloseButton4,
3850
4722
  {
3851
4723
  size: "sm",
3852
4724
  color: BRAND_COLORS.neutralText,
@@ -3857,15 +4729,15 @@ var BottomQuickActions = ({
3857
4729
  ] })
3858
4730
  }
3859
4731
  ),
3860
- /* @__PURE__ */ jsxs15(
4732
+ /* @__PURE__ */ jsxs17(
3861
4733
  Drawer.Body,
3862
4734
  {
3863
4735
  px: STANDARD_SPACING.sm,
3864
4736
  pt: STANDARD_SPACING.sm,
3865
4737
  pb: "4px",
3866
4738
  children: [
3867
- headerSlot && /* @__PURE__ */ jsx18(Box15, { mb: STANDARD_SPACING.xs, children: headerSlot }),
3868
- /* @__PURE__ */ jsx18(VStack7, { gap: STANDARD_SPACING.xs, align: "stretch", children: actions.map((action, i) => /* @__PURE__ */ jsx18(ActionItem, { action }, i)) })
4739
+ headerSlot && /* @__PURE__ */ jsx21(Box18, { mb: STANDARD_SPACING.xs, children: headerSlot }),
4740
+ /* @__PURE__ */ jsx21(VStack8, { gap: STANDARD_SPACING.xs, align: "stretch", children: actions.map((action, i) => /* @__PURE__ */ jsx21(ActionItem, { action }, i)) })
3869
4741
  ]
3870
4742
  }
3871
4743
  )
@@ -3879,18 +4751,18 @@ var BottomQuickActions = ({
3879
4751
  var BottomQuickActions_default = BottomQuickActions;
3880
4752
 
3881
4753
  // src/Generic/NotifyInstall.tsx
3882
- import { useEffect as useEffect8, useState as useState13 } from "react";
3883
- import { Button as Button3, Flex as Flex9, HStack as HStack5, Icon as Icon5, Text as Text10, VStack as VStack8 } from "@chakra-ui/react";
4754
+ import { useEffect as useEffect9, useState as useState16 } from "react";
4755
+ import { Button as Button4, Flex as Flex10, HStack as HStack5, Icon as Icon5, Text as Text11, VStack as VStack9 } from "@chakra-ui/react";
3884
4756
  import { AnimatePresence, motion } from "motion/react";
3885
4757
  import { FiDownload, FiPlusSquare, FiShare, FiX } from "react-icons/fi";
3886
4758
 
3887
4759
  // src/hooks/useNotifyInstall.ts
3888
- import { useEffect as useEffect7, useState as useState12 } from "react";
4760
+ import { useEffect as useEffect8, useState as useState15 } from "react";
3889
4761
  function useNotifyInstall() {
3890
- const [isInstalled, setIsInstalled] = useState12(false);
3891
- const [isMobile, setIsMobile] = useState12(false);
3892
- const [installPrompt, setInstallPrompt] = useState12(null);
3893
- useEffect7(() => {
4762
+ const [isInstalled, setIsInstalled] = useState15(false);
4763
+ const [isMobile, setIsMobile] = useState15(false);
4764
+ const [installPrompt, setInstallPrompt] = useState15(null);
4765
+ useEffect8(() => {
3894
4766
  const mobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
3895
4767
  setIsMobile(mobile);
3896
4768
  const installed = window.matchMedia("(display-mode: standalone)").matches || window.navigator.standalone === true;
@@ -3922,7 +4794,7 @@ function useNotifyInstall() {
3922
4794
  }
3923
4795
 
3924
4796
  // src/Generic/NotifyInstall.tsx
3925
- import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
4797
+ import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
3926
4798
  var STEPS = [
3927
4799
  { icon: FiShare, label: "Tap the browser menu or Share button" },
3928
4800
  { icon: FiPlusSquare, label: 'Choose "Add to Home Screen"' }
@@ -3933,8 +4805,8 @@ function NotifyInstall({
3933
4805
  appName
3934
4806
  }) {
3935
4807
  const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
3936
- const [isDismissed, setIsDismissed] = useState13(true);
3937
- useEffect8(() => {
4808
+ const [isDismissed, setIsDismissed] = useState16(true);
4809
+ useEffect9(() => {
3938
4810
  if (localStorage.getItem(DISMISSED_KEY) !== "true") {
3939
4811
  setIsDismissed(false);
3940
4812
  }
@@ -3944,10 +4816,10 @@ function NotifyInstall({
3944
4816
  setIsDismissed(true);
3945
4817
  };
3946
4818
  const showPrompt = isMobile && !isInstalled && !isDismissed;
3947
- return /* @__PURE__ */ jsxs16(Fragment3, { children: [
4819
+ return /* @__PURE__ */ jsxs18(Fragment4, { children: [
3948
4820
  children,
3949
- /* @__PURE__ */ jsx19(AnimatePresence, { children: showPrompt && /* @__PURE__ */ jsxs16(Fragment3, { children: [
3950
- /* @__PURE__ */ jsx19(
4821
+ /* @__PURE__ */ jsx22(AnimatePresence, { children: showPrompt && /* @__PURE__ */ jsxs18(Fragment4, { children: [
4822
+ /* @__PURE__ */ jsx22(
3951
4823
  motion.div,
3952
4824
  {
3953
4825
  initial: { opacity: 0 },
@@ -3966,7 +4838,7 @@ function NotifyInstall({
3966
4838
  },
3967
4839
  "install-backdrop"
3968
4840
  ),
3969
- /* @__PURE__ */ jsxs16(
4841
+ /* @__PURE__ */ jsxs18(
3970
4842
  motion.div,
3971
4843
  {
3972
4844
  initial: { y: "100%" },
@@ -3985,7 +4857,7 @@ function NotifyInstall({
3985
4857
  paddingBottom: "env(safe-area-inset-bottom)"
3986
4858
  },
3987
4859
  children: [
3988
- /* @__PURE__ */ jsx19(
4860
+ /* @__PURE__ */ jsx22(
3989
4861
  "button",
3990
4862
  {
3991
4863
  "aria-label": "Dismiss install prompt",
@@ -4004,12 +4876,12 @@ function NotifyInstall({
4004
4876
  justifyContent: "center",
4005
4877
  color: "#9ca3af"
4006
4878
  },
4007
- children: /* @__PURE__ */ jsx19(FiX, { size: 18 })
4879
+ children: /* @__PURE__ */ jsx22(FiX, { size: 18 })
4008
4880
  }
4009
4881
  ),
4010
- /* @__PURE__ */ jsxs16(VStack8, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
4011
- /* @__PURE__ */ jsx19(
4012
- Flex9,
4882
+ /* @__PURE__ */ jsxs18(VStack9, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
4883
+ /* @__PURE__ */ jsx22(
4884
+ Flex10,
4013
4885
  {
4014
4886
  boxSize: 16,
4015
4887
  align: "center",
@@ -4018,12 +4890,12 @@ function NotifyInstall({
4018
4890
  bg: "green.50",
4019
4891
  color: "green.600",
4020
4892
  shadow: "sm",
4021
- children: /* @__PURE__ */ jsx19(Icon5, { as: FiDownload, boxSize: 8 })
4893
+ children: /* @__PURE__ */ jsx22(Icon5, { as: FiDownload, boxSize: 8 })
4022
4894
  }
4023
4895
  ),
4024
- /* @__PURE__ */ jsxs16(VStack8, { gap: 2, children: [
4025
- /* @__PURE__ */ jsxs16(
4026
- Text10,
4896
+ /* @__PURE__ */ jsxs18(VStack9, { gap: 2, children: [
4897
+ /* @__PURE__ */ jsxs18(
4898
+ Text11,
4027
4899
  {
4028
4900
  fontSize: "lg",
4029
4901
  fontWeight: "bold",
@@ -4035,10 +4907,10 @@ function NotifyInstall({
4035
4907
  ]
4036
4908
  }
4037
4909
  ),
4038
- /* @__PURE__ */ jsx19(Text10, { fontSize: "sm", color: "gray.500", lineHeight: "tall", children: "Add the app to your home screen for a faster, app-like experience before continuing." })
4910
+ /* @__PURE__ */ jsx22(Text11, { fontSize: "sm", color: "gray.500", lineHeight: "tall", children: "Add the app to your home screen for a faster, app-like experience before continuing." })
4039
4911
  ] }),
4040
- canInstall ? /* @__PURE__ */ jsxs16(
4041
- Button3,
4912
+ canInstall ? /* @__PURE__ */ jsxs18(
4913
+ Button4,
4042
4914
  {
4043
4915
  onClick: install,
4044
4916
  colorPalette: "green",
@@ -4046,12 +4918,12 @@ function NotifyInstall({
4046
4918
  w: "full",
4047
4919
  rounded: "xl",
4048
4920
  children: [
4049
- /* @__PURE__ */ jsx19(Icon5, { as: FiDownload }),
4921
+ /* @__PURE__ */ jsx22(Icon5, { as: FiDownload }),
4050
4922
  "Add to Home Screen"
4051
4923
  ]
4052
4924
  }
4053
- ) : /* @__PURE__ */ jsx19(
4054
- VStack8,
4925
+ ) : /* @__PURE__ */ jsx22(
4926
+ VStack9,
4055
4927
  {
4056
4928
  w: "full",
4057
4929
  bg: "gray.50",
@@ -4061,9 +4933,9 @@ function NotifyInstall({
4061
4933
  p: 4,
4062
4934
  gap: 4,
4063
4935
  align: "stretch",
4064
- children: STEPS.map((step, i) => /* @__PURE__ */ jsxs16(HStack5, { gap: 3, align: "center", children: [
4065
- /* @__PURE__ */ jsx19(
4066
- Flex9,
4936
+ children: STEPS.map((step, i) => /* @__PURE__ */ jsxs18(HStack5, { gap: 3, align: "center", children: [
4937
+ /* @__PURE__ */ jsx22(
4938
+ Flex10,
4067
4939
  {
4068
4940
  boxSize: 9,
4069
4941
  flexShrink: 0,
@@ -4074,10 +4946,10 @@ function NotifyInstall({
4074
4946
  borderWidth: "1px",
4075
4947
  borderColor: "gray.200",
4076
4948
  color: "green.600",
4077
- children: /* @__PURE__ */ jsx19(Icon5, { as: step.icon, boxSize: 4 })
4949
+ children: /* @__PURE__ */ jsx22(Icon5, { as: step.icon, boxSize: 4 })
4078
4950
  }
4079
4951
  ),
4080
- /* @__PURE__ */ jsx19(Text10, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
4952
+ /* @__PURE__ */ jsx22(Text11, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
4081
4953
  ] }, i))
4082
4954
  }
4083
4955
  )
@@ -4091,21 +4963,21 @@ function NotifyInstall({
4091
4963
  }
4092
4964
 
4093
4965
  // src/UserProfile/UserProfile.tsx
4094
- import { useEffect as useEffect9, useMemo, useState as useState14 } from "react";
4966
+ import { useEffect as useEffect10, useMemo, useState as useState17 } from "react";
4095
4967
  import {
4096
4968
  Avatar,
4097
4969
  Badge as Badge2,
4098
- Box as Box16,
4099
- Button as Button4,
4100
- Flex as Flex10,
4970
+ Box as Box19,
4971
+ Button as Button5,
4972
+ Flex as Flex11,
4101
4973
  HStack as HStack6,
4102
4974
  IconButton as IconButton3,
4103
- Input as Input4,
4975
+ Input as Input5,
4104
4976
  InputGroup,
4105
4977
  Separator as Separator3,
4106
- Text as Text11,
4107
- useBreakpointValue as useBreakpointValue2,
4108
- VStack as VStack9
4978
+ Text as Text12,
4979
+ useBreakpointValue as useBreakpointValue3,
4980
+ VStack as VStack10
4109
4981
  } from "@chakra-ui/react";
4110
4982
  import {
4111
4983
  RiDashboardFill,
@@ -4128,7 +5000,7 @@ import {
4128
5000
  LuCreditCard,
4129
5001
  LuEye,
4130
5002
  LuEyeOff,
4131
- LuFileText,
5003
+ LuFileText as LuFileText2,
4132
5004
  LuHouse,
4133
5005
  LuLock,
4134
5006
  LuMoon,
@@ -4149,7 +5021,7 @@ import { LiaHandHoldingUsdSolid } from "react-icons/lia";
4149
5021
  import { FaHandHoldingUsd } from "react-icons/fa";
4150
5022
  import { MdManageAccounts, MdOutlineManageAccounts } from "react-icons/md";
4151
5023
  import { IoLeaf, IoLeafOutline } from "react-icons/io5";
4152
- import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
5024
+ import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
4153
5025
  var NAVBAR_STORAGE_KEY = "profile-navbar-quick-items";
4154
5026
  var FONT_SIZE_STORAGE_KEY = "profile-font-size-pref";
4155
5027
  var DEFAULT_NAV_HREFS = ["/", "/plans", "/pay-my-plan", "/claims"];
@@ -4192,8 +5064,8 @@ var ALL_NAV_OPTIONS = [
4192
5064
  key: "/claims",
4193
5065
  title: "Claim",
4194
5066
  href: "/claims",
4195
- Icon: LuFileText,
4196
- activeIcon: LuFileText,
5067
+ Icon: LuFileText2,
5068
+ activeIcon: LuFileText2,
4197
5069
  match: (p) => p.startsWith("/claims"),
4198
5070
  roles: ["branch", "bmstl", "sales-agent"]
4199
5071
  },
@@ -4447,28 +5319,28 @@ function ReusableProfile({
4447
5319
  onTwoFactorChange,
4448
5320
  onToast = noopToast
4449
5321
  }) {
4450
- const [profileView, setProfileView] = useState14("main");
4451
- const [fallbackColorMode, setFallbackColorMode] = useState14("light");
5322
+ const [profileView, setProfileView] = useState17("main");
5323
+ const [fallbackColorMode, setFallbackColorMode] = useState17("light");
4452
5324
  const colorMode = controlledColorMode ?? fallbackColorMode;
4453
- const [fontSize, setFontSizeLocal] = useState14("md");
4454
- const [quickNavHrefs, setQuickNavHrefs] = useState14(initialQuickNavHrefs);
4455
- const [replacingIdx, setReplacingIdx] = useState14(null);
4456
- const [editName, setEditName] = useState14(user.displayName);
4457
- const [editLoading, setEditLoading] = useState14(false);
4458
- const [currentPw, setCurrentPw] = useState14("");
4459
- const [newPw, setNewPw] = useState14("");
4460
- const [confirmPw, setConfirmPw] = useState14("");
4461
- const [showCurrentPw, setShowCurrentPw] = useState14(false);
4462
- const [showNewPw, setShowNewPw] = useState14(false);
4463
- const [showConfirmPw, setShowConfirmPw] = useState14(false);
4464
- const [pwLoading, setPwLoading] = useState14(false);
4465
- const [twoFactorEnabled, setTwoFactorEnabled] = useState14(
5325
+ const [fontSize, setFontSizeLocal] = useState17("md");
5326
+ const [quickNavHrefs, setQuickNavHrefs] = useState17(initialQuickNavHrefs);
5327
+ const [replacingIdx, setReplacingIdx] = useState17(null);
5328
+ const [editName, setEditName] = useState17(user.displayName);
5329
+ const [editLoading, setEditLoading] = useState17(false);
5330
+ const [currentPw, setCurrentPw] = useState17("");
5331
+ const [newPw, setNewPw] = useState17("");
5332
+ const [confirmPw, setConfirmPw] = useState17("");
5333
+ const [showCurrentPw, setShowCurrentPw] = useState17(false);
5334
+ const [showNewPw, setShowNewPw] = useState17(false);
5335
+ const [showConfirmPw, setShowConfirmPw] = useState17(false);
5336
+ const [pwLoading, setPwLoading] = useState17(false);
5337
+ const [twoFactorEnabled, setTwoFactorEnabled] = useState17(
4466
5338
  initialTwoFactorEnabled
4467
5339
  );
4468
- const [isMounted, setIsMounted] = useState14(false);
4469
- const isDesktopRaw = useBreakpointValue2({ base: false, md: true });
5340
+ const [isMounted, setIsMounted] = useState17(false);
5341
+ const isDesktopRaw = useBreakpointValue3({ base: false, md: true });
4470
5342
  const isDesktop = isMounted ? isDesktopRaw ?? false : false;
4471
- useEffect9(() => {
5343
+ useEffect10(() => {
4472
5344
  setIsMounted(true);
4473
5345
  if (!enableLocalStorage || typeof window === "undefined") return;
4474
5346
  setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
@@ -4479,7 +5351,7 @@ function ReusableProfile({
4479
5351
  setQuickNavHrefs(initialQuickNavHrefs);
4480
5352
  }
4481
5353
  }, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
4482
- useEffect9(() => {
5354
+ useEffect10(() => {
4483
5355
  setEditName(user.displayName);
4484
5356
  }, [user.displayName]);
4485
5357
  const availableOptions = useMemo(
@@ -4610,9 +5482,9 @@ function ReusableProfile({
4610
5482
  }
4611
5483
  };
4612
5484
  const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
4613
- const mainContent = /* @__PURE__ */ jsxs17(Fragment4, { children: [
4614
- /* @__PURE__ */ jsxs17(
4615
- Box16,
5485
+ const mainContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
5486
+ /* @__PURE__ */ jsxs19(
5487
+ Box19,
4616
5488
  {
4617
5489
  bg: "var(--chakra-colors-primary)",
4618
5490
  pt: 12,
@@ -4620,7 +5492,7 @@ function ReusableProfile({
4620
5492
  px: 4,
4621
5493
  textAlign: "center",
4622
5494
  children: [
4623
- /* @__PURE__ */ jsxs17(
5495
+ /* @__PURE__ */ jsxs19(
4624
5496
  Avatar.Root,
4625
5497
  {
4626
5498
  size: "2xl",
@@ -4628,13 +5500,13 @@ function ReusableProfile({
4628
5500
  mb: 4,
4629
5501
  colorPalette: pickPalette(user.displayName || "U"),
4630
5502
  children: [
4631
- user.avatarSrc && /* @__PURE__ */ jsx20(Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
4632
- /* @__PURE__ */ jsx20(Avatar.Fallback, { name: user.displayName })
5503
+ user.avatarSrc && /* @__PURE__ */ jsx23(Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
5504
+ /* @__PURE__ */ jsx23(Avatar.Fallback, { name: user.displayName })
4633
5505
  ]
4634
5506
  }
4635
5507
  ),
4636
- /* @__PURE__ */ jsx20(
4637
- Text11,
5508
+ /* @__PURE__ */ jsx23(
5509
+ Text12,
4638
5510
  {
4639
5511
  color: "white",
4640
5512
  fontWeight: "bold",
@@ -4644,8 +5516,8 @@ function ReusableProfile({
4644
5516
  children: user.displayName
4645
5517
  }
4646
5518
  ),
4647
- user.email && /* @__PURE__ */ jsx20(Text11, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
4648
- roleLabel && /* @__PURE__ */ jsx20(Box16, { display: "inline-flex", children: /* @__PURE__ */ jsx20(
5519
+ user.email && /* @__PURE__ */ jsx23(Text12, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
5520
+ roleLabel && /* @__PURE__ */ jsx23(Box19, { display: "inline-flex", children: /* @__PURE__ */ jsx23(
4649
5521
  Badge2,
4650
5522
  {
4651
5523
  bg: "rgba(255,255,255,0.15)",
@@ -4662,9 +5534,9 @@ function ReusableProfile({
4662
5534
  ]
4663
5535
  }
4664
5536
  ),
4665
- /* @__PURE__ */ jsxs17(Box16, { px: 4, pt: 5, pb: 1, children: [
4666
- /* @__PURE__ */ jsx20(
4667
- Text11,
5537
+ /* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 5, pb: 1, children: [
5538
+ /* @__PURE__ */ jsx23(
5539
+ Text12,
4668
5540
  {
4669
5541
  fontSize: "xs",
4670
5542
  fontWeight: "bold",
@@ -4675,8 +5547,8 @@ function ReusableProfile({
4675
5547
  children: "Account"
4676
5548
  }
4677
5549
  ),
4678
- /* @__PURE__ */ jsx20(
4679
- Box16,
5550
+ /* @__PURE__ */ jsx23(
5551
+ Box19,
4680
5552
  {
4681
5553
  as: "button",
4682
5554
  w: "full",
@@ -4684,8 +5556,8 @@ function ReusableProfile({
4684
5556
  _hover: { opacity: 0.7 },
4685
5557
  transition: "opacity 0.15s",
4686
5558
  onClick: () => setProfileView("edit-account"),
4687
- children: /* @__PURE__ */ jsxs17(
4688
- Flex10,
5559
+ children: /* @__PURE__ */ jsxs19(
5560
+ Flex11,
4689
5561
  {
4690
5562
  justify: "space-between",
4691
5563
  align: "center",
@@ -4694,9 +5566,9 @@ function ReusableProfile({
4694
5566
  borderRadius: "lg",
4695
5567
  bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
4696
5568
  children: [
4697
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4698
- /* @__PURE__ */ jsx20(
4699
- Box16,
5569
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5570
+ /* @__PURE__ */ jsx23(
5571
+ Box19,
4700
5572
  {
4701
5573
  w: "38px",
4702
5574
  h: "38px",
@@ -4707,23 +5579,23 @@ function ReusableProfile({
4707
5579
  justifyContent: "center",
4708
5580
  color: "gray.600",
4709
5581
  flexShrink: 0,
4710
- children: /* @__PURE__ */ jsx20(LuUser, { size: 16 })
5582
+ children: /* @__PURE__ */ jsx23(LuUser, { size: 16 })
4711
5583
  }
4712
5584
  ),
4713
- /* @__PURE__ */ jsxs17(Box16, { children: [
4714
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
4715
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
5585
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5586
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
5587
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
4716
5588
  ] })
4717
5589
  ] }),
4718
- /* @__PURE__ */ jsx20(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
5590
+ /* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
4719
5591
  ]
4720
5592
  }
4721
5593
  )
4722
5594
  }
4723
5595
  ),
4724
- /* @__PURE__ */ jsx20(Separator3, {}),
4725
- /* @__PURE__ */ jsx20(
4726
- Box16,
5596
+ /* @__PURE__ */ jsx23(Separator3, {}),
5597
+ /* @__PURE__ */ jsx23(
5598
+ Box19,
4727
5599
  {
4728
5600
  as: "button",
4729
5601
  w: "full",
@@ -4734,8 +5606,8 @@ function ReusableProfile({
4734
5606
  resetPasswordForm();
4735
5607
  setProfileView("change-password");
4736
5608
  },
4737
- children: /* @__PURE__ */ jsxs17(
4738
- Flex10,
5609
+ children: /* @__PURE__ */ jsxs19(
5610
+ Flex11,
4739
5611
  {
4740
5612
  justify: "space-between",
4741
5613
  align: "center",
@@ -4744,9 +5616,9 @@ function ReusableProfile({
4744
5616
  borderRadius: "lg",
4745
5617
  bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
4746
5618
  children: [
4747
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4748
- /* @__PURE__ */ jsx20(
4749
- Box16,
5619
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5620
+ /* @__PURE__ */ jsx23(
5621
+ Box19,
4750
5622
  {
4751
5623
  w: "38px",
4752
5624
  h: "38px",
@@ -4757,25 +5629,25 @@ function ReusableProfile({
4757
5629
  justifyContent: "center",
4758
5630
  color: "gray.600",
4759
5631
  flexShrink: 0,
4760
- children: /* @__PURE__ */ jsx20(LuLock, { size: 16 })
5632
+ children: /* @__PURE__ */ jsx23(LuLock, { size: 16 })
4761
5633
  }
4762
5634
  ),
4763
- /* @__PURE__ */ jsxs17(Box16, { children: [
4764
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
4765
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
5635
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5636
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
5637
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
4766
5638
  ] })
4767
5639
  ] }),
4768
- /* @__PURE__ */ jsx20(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
5640
+ /* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
4769
5641
  ]
4770
5642
  }
4771
5643
  )
4772
5644
  }
4773
5645
  ),
4774
- /* @__PURE__ */ jsx20(Separator3, {}),
4775
- /* @__PURE__ */ jsxs17(Flex10, { justify: "space-between", align: "center", py: 3, children: [
4776
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4777
- /* @__PURE__ */ jsx20(
4778
- Box16,
5646
+ /* @__PURE__ */ jsx23(Separator3, {}),
5647
+ /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
5648
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5649
+ /* @__PURE__ */ jsx23(
5650
+ Box19,
4779
5651
  {
4780
5652
  w: "38px",
4781
5653
  h: "38px",
@@ -4786,16 +5658,16 @@ function ReusableProfile({
4786
5658
  justifyContent: "center",
4787
5659
  color: "gray.600",
4788
5660
  flexShrink: 0,
4789
- children: /* @__PURE__ */ jsx20(LuShield, { size: 16 })
5661
+ children: /* @__PURE__ */ jsx23(LuShield, { size: 16 })
4790
5662
  }
4791
5663
  ),
4792
- /* @__PURE__ */ jsxs17(Box16, { children: [
4793
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
4794
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
5664
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5665
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
5666
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
4795
5667
  ] })
4796
5668
  ] }),
4797
- /* @__PURE__ */ jsx20(
4798
- Box16,
5669
+ /* @__PURE__ */ jsx23(
5670
+ Box19,
4799
5671
  {
4800
5672
  role: "switch",
4801
5673
  "aria-checked": twoFactorEnabled,
@@ -4817,8 +5689,8 @@ function ReusableProfile({
4817
5689
  cursor: "pointer",
4818
5690
  flexShrink: 0,
4819
5691
  outline: "none",
4820
- children: /* @__PURE__ */ jsx20(
4821
- Box16,
5692
+ children: /* @__PURE__ */ jsx23(
5693
+ Box19,
4822
5694
  {
4823
5695
  position: "absolute",
4824
5696
  top: "3px",
@@ -4835,9 +5707,9 @@ function ReusableProfile({
4835
5707
  )
4836
5708
  ] })
4837
5709
  ] }),
4838
- /* @__PURE__ */ jsxs17(Box16, { px: 4, pt: 4, pb: 2, children: [
4839
- /* @__PURE__ */ jsx20(
4840
- Text11,
5710
+ /* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 4, pb: 2, children: [
5711
+ /* @__PURE__ */ jsx23(
5712
+ Text12,
4841
5713
  {
4842
5714
  fontSize: "xs",
4843
5715
  fontWeight: "bold",
@@ -4848,10 +5720,10 @@ function ReusableProfile({
4848
5720
  children: "Preferences"
4849
5721
  }
4850
5722
  ),
4851
- /* @__PURE__ */ jsxs17(Flex10, { justify: "space-between", align: "center", py: 3, children: [
4852
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4853
- /* @__PURE__ */ jsx20(
4854
- Box16,
5723
+ /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
5724
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5725
+ /* @__PURE__ */ jsx23(
5726
+ Box19,
4855
5727
  {
4856
5728
  w: "38px",
4857
5729
  h: "38px",
@@ -4862,18 +5734,18 @@ function ReusableProfile({
4862
5734
  justifyContent: "center",
4863
5735
  color: "gray.600",
4864
5736
  flexShrink: 0,
4865
- children: colorMode === "dark" ? /* @__PURE__ */ jsx20(LuMoon, { size: 16 }) : /* @__PURE__ */ jsx20(LuSun, { size: 16 })
5737
+ children: colorMode === "dark" ? /* @__PURE__ */ jsx23(LuMoon, { size: 16 }) : /* @__PURE__ */ jsx23(LuSun, { size: 16 })
4866
5738
  }
4867
5739
  ),
4868
- /* @__PURE__ */ jsxs17(Box16, { children: [
4869
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
4870
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
5740
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5741
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
5742
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
4871
5743
  ] })
4872
5744
  ] }),
4873
- /* @__PURE__ */ jsx20(HStack6, { gap: 1.5, children: ["light", "dark"].map((mode) => {
5745
+ /* @__PURE__ */ jsx23(HStack6, { gap: 1.5, children: ["light", "dark"].map((mode) => {
4874
5746
  const isActive = colorMode === mode;
4875
- return /* @__PURE__ */ jsxs17(
4876
- Button4,
5747
+ return /* @__PURE__ */ jsxs19(
5748
+ Button5,
4877
5749
  {
4878
5750
  size: "sm",
4879
5751
  variant: "outline",
@@ -4888,9 +5760,9 @@ function ReusableProfile({
4888
5760
  },
4889
5761
  onClick: () => handleColorMode(mode),
4890
5762
  children: [
4891
- mode === "light" ? /* @__PURE__ */ jsx20(LuSun, { size: 13 }) : /* @__PURE__ */ jsx20(LuMoon, { size: 13 }),
4892
- /* @__PURE__ */ jsx20(
4893
- Text11,
5763
+ mode === "light" ? /* @__PURE__ */ jsx23(LuSun, { size: 13 }) : /* @__PURE__ */ jsx23(LuMoon, { size: 13 }),
5764
+ /* @__PURE__ */ jsx23(
5765
+ Text12,
4894
5766
  {
4895
5767
  fontSize: "xs",
4896
5768
  textTransform: "capitalize",
@@ -4904,11 +5776,11 @@ function ReusableProfile({
4904
5776
  );
4905
5777
  }) })
4906
5778
  ] }),
4907
- /* @__PURE__ */ jsx20(Separator3, {}),
4908
- /* @__PURE__ */ jsxs17(Flex10, { justify: "space-between", align: "center", py: 3, children: [
4909
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4910
- /* @__PURE__ */ jsx20(
4911
- Box16,
5779
+ /* @__PURE__ */ jsx23(Separator3, {}),
5780
+ /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
5781
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5782
+ /* @__PURE__ */ jsx23(
5783
+ Box19,
4912
5784
  {
4913
5785
  w: "38px",
4914
5786
  h: "38px",
@@ -4924,15 +5796,15 @@ function ReusableProfile({
4924
5796
  children: "A"
4925
5797
  }
4926
5798
  ),
4927
- /* @__PURE__ */ jsxs17(Box16, { children: [
4928
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
4929
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
5799
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5800
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
5801
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
4930
5802
  ] })
4931
5803
  ] }),
4932
- /* @__PURE__ */ jsx20(HStack6, { gap: 1, children: FONT_SIZES.map((option) => {
5804
+ /* @__PURE__ */ jsx23(HStack6, { gap: 1, children: FONT_SIZES.map((option) => {
4933
5805
  const isActive = fontSize === option.value;
4934
- return /* @__PURE__ */ jsx20(
4935
- Button4,
5806
+ return /* @__PURE__ */ jsx23(
5807
+ Button5,
4936
5808
  {
4937
5809
  size: "sm",
4938
5810
  variant: "outline",
@@ -4947,8 +5819,8 @@ function ReusableProfile({
4947
5819
  },
4948
5820
  onClick: () => handleFontSize(option.value),
4949
5821
  title: option.title,
4950
- children: /* @__PURE__ */ jsx20(
4951
- Text11,
5822
+ children: /* @__PURE__ */ jsx23(
5823
+ Text12,
4952
5824
  {
4953
5825
  fontWeight: isActive ? "bold" : "normal",
4954
5826
  style: { fontSize: `${option.scale * 13}px` },
@@ -4960,9 +5832,9 @@ function ReusableProfile({
4960
5832
  );
4961
5833
  }) })
4962
5834
  ] }),
4963
- /* @__PURE__ */ jsx20(Separator3, {}),
4964
- /* @__PURE__ */ jsx20(
4965
- Box16,
5835
+ /* @__PURE__ */ jsx23(Separator3, {}),
5836
+ /* @__PURE__ */ jsx23(
5837
+ Box19,
4966
5838
  {
4967
5839
  as: "button",
4968
5840
  w: "full",
@@ -4970,10 +5842,10 @@ function ReusableProfile({
4970
5842
  _hover: { opacity: 0.7 },
4971
5843
  transition: "opacity 0.15s",
4972
5844
  onClick: () => setProfileView("navbar-customize"),
4973
- children: /* @__PURE__ */ jsxs17(Flex10, { justify: "space-between", align: "center", py: 3, children: [
4974
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
4975
- /* @__PURE__ */ jsx20(
4976
- Box16,
5845
+ children: /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 3, children: [
5846
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
5847
+ /* @__PURE__ */ jsx23(
5848
+ Box19,
4977
5849
  {
4978
5850
  w: "38px",
4979
5851
  h: "38px",
@@ -4984,12 +5856,12 @@ function ReusableProfile({
4984
5856
  justifyContent: "center",
4985
5857
  color: "gray.600",
4986
5858
  flexShrink: 0,
4987
- children: /* @__PURE__ */ jsx20(LuArrowLeftRight, { size: 16 })
5859
+ children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 16 })
4988
5860
  }
4989
5861
  ),
4990
- /* @__PURE__ */ jsxs17(Box16, { children: [
4991
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
4992
- /* @__PURE__ */ jsxs17(Text11, { fontSize: "xs", color: "gray.500", children: [
5862
+ /* @__PURE__ */ jsxs19(Box19, { children: [
5863
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
5864
+ /* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", children: [
4993
5865
  quickNavHrefs.length,
4994
5866
  " of ",
4995
5867
  maxQuickNavItems,
@@ -4997,13 +5869,13 @@ function ReusableProfile({
4997
5869
  ] })
4998
5870
  ] })
4999
5871
  ] }),
5000
- /* @__PURE__ */ jsx20(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
5872
+ /* @__PURE__ */ jsx23(LuChevronRight3, { size: 16, color: "var(--chakra-colors-gray-400)" })
5001
5873
  ] })
5002
5874
  }
5003
5875
  )
5004
5876
  ] }),
5005
- /* @__PURE__ */ jsx20(Box16, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ jsx20(VStack9, { gap: 2.5, children: /* @__PURE__ */ jsx20(
5006
- Button4,
5877
+ /* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ jsx23(VStack10, { gap: 2.5, children: /* @__PURE__ */ jsx23(
5878
+ Button5,
5007
5879
  {
5008
5880
  w: "full",
5009
5881
  variant: "outline",
@@ -5015,9 +5887,9 @@ function ReusableProfile({
5015
5887
  }
5016
5888
  ) }) })
5017
5889
  ] });
5018
- const editAccountContent = /* @__PURE__ */ jsxs17(Fragment4, { children: [
5019
- /* @__PURE__ */ jsx20(Box16, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 2, pr: 10, children: [
5020
- /* @__PURE__ */ jsx20(
5890
+ const editAccountContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
5891
+ /* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
5892
+ /* @__PURE__ */ jsx23(
5021
5893
  IconButton3,
5022
5894
  {
5023
5895
  size: "sm",
@@ -5025,20 +5897,20 @@ function ReusableProfile({
5025
5897
  "aria-label": "Back",
5026
5898
  color: "gray.600",
5027
5899
  onClick: () => setProfileView("main"),
5028
- children: /* @__PURE__ */ jsx20(LuChevronLeft2, {})
5900
+ children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
5029
5901
  }
5030
5902
  ),
5031
- /* @__PURE__ */ jsx20(Text11, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
5903
+ /* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
5032
5904
  ] }) }),
5033
- /* @__PURE__ */ jsx20(Box16, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ jsxs17(Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
5034
- user.avatarSrc && /* @__PURE__ */ jsx20(Avatar.Image, { src: user.avatarSrc, alt: editName }),
5035
- /* @__PURE__ */ jsx20(Avatar.Fallback, { name: editName })
5905
+ /* @__PURE__ */ jsx23(Box19, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ jsxs19(Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
5906
+ user.avatarSrc && /* @__PURE__ */ jsx23(Avatar.Image, { src: user.avatarSrc, alt: editName }),
5907
+ /* @__PURE__ */ jsx23(Avatar.Fallback, { name: editName })
5036
5908
  ] }) }),
5037
- /* @__PURE__ */ jsxs17(VStack9, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
5038
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5039
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
5040
- /* @__PURE__ */ jsx20(
5041
- Input4,
5909
+ /* @__PURE__ */ jsxs19(VStack10, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
5910
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
5911
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
5912
+ /* @__PURE__ */ jsx23(
5913
+ Input5,
5042
5914
  {
5043
5915
  value: editName,
5044
5916
  onChange: (event) => setEditName(event.target.value),
@@ -5047,10 +5919,10 @@ function ReusableProfile({
5047
5919
  }
5048
5920
  )
5049
5921
  ] }),
5050
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5051
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
5052
- /* @__PURE__ */ jsx20(
5053
- Input4,
5922
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
5923
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
5924
+ /* @__PURE__ */ jsx23(
5925
+ Input5,
5054
5926
  {
5055
5927
  value: user.email ?? "",
5056
5928
  readOnly: true,
@@ -5060,10 +5932,10 @@ function ReusableProfile({
5060
5932
  }
5061
5933
  )
5062
5934
  ] }),
5063
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5064
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
5065
- /* @__PURE__ */ jsx20(
5066
- Input4,
5935
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
5936
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
5937
+ /* @__PURE__ */ jsx23(
5938
+ Input5,
5067
5939
  {
5068
5940
  value: user.mobileNumber ?? "",
5069
5941
  readOnly: true,
@@ -5073,8 +5945,8 @@ function ReusableProfile({
5073
5945
  }
5074
5946
  )
5075
5947
  ] }),
5076
- /* @__PURE__ */ jsx20(
5077
- Button4,
5948
+ /* @__PURE__ */ jsx23(
5949
+ Button5,
5078
5950
  {
5079
5951
  w: "full",
5080
5952
  mt: 2,
@@ -5088,9 +5960,9 @@ function ReusableProfile({
5088
5960
  )
5089
5961
  ] })
5090
5962
  ] });
5091
- const changePasswordContent = /* @__PURE__ */ jsxs17(Fragment4, { children: [
5092
- /* @__PURE__ */ jsx20(Box16, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 2, pr: 10, children: [
5093
- /* @__PURE__ */ jsx20(
5963
+ const changePasswordContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
5964
+ /* @__PURE__ */ jsx23(Box19, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
5965
+ /* @__PURE__ */ jsx23(
5094
5966
  IconButton3,
5095
5967
  {
5096
5968
  size: "sm",
@@ -5098,18 +5970,18 @@ function ReusableProfile({
5098
5970
  "aria-label": "Back",
5099
5971
  color: "gray.600",
5100
5972
  onClick: () => setProfileView("main"),
5101
- children: /* @__PURE__ */ jsx20(LuChevronLeft2, {})
5973
+ children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
5102
5974
  }
5103
5975
  ),
5104
- /* @__PURE__ */ jsx20(Text11, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
5976
+ /* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
5105
5977
  ] }) }),
5106
- /* @__PURE__ */ jsxs17(VStack9, { gap: 5, px: 4, pt: 6, pb: 10, children: [
5107
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5108
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
5109
- /* @__PURE__ */ jsx20(
5978
+ /* @__PURE__ */ jsxs19(VStack10, { gap: 5, px: 4, pt: 6, pb: 10, children: [
5979
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
5980
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
5981
+ /* @__PURE__ */ jsx23(
5110
5982
  InputGroup,
5111
5983
  {
5112
- endElement: /* @__PURE__ */ jsx20(
5984
+ endElement: /* @__PURE__ */ jsx23(
5113
5985
  IconButton3,
5114
5986
  {
5115
5987
  size: "xs",
@@ -5117,11 +5989,11 @@ function ReusableProfile({
5117
5989
  color: "gray.500",
5118
5990
  "aria-label": "Toggle current password visibility",
5119
5991
  onClick: () => setShowCurrentPw(!showCurrentPw),
5120
- children: showCurrentPw ? /* @__PURE__ */ jsx20(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx20(LuEye, { size: 15 })
5992
+ children: showCurrentPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
5121
5993
  }
5122
5994
  ),
5123
- children: /* @__PURE__ */ jsx20(
5124
- Input4,
5995
+ children: /* @__PURE__ */ jsx23(
5996
+ Input5,
5125
5997
  {
5126
5998
  type: showCurrentPw ? "text" : "password",
5127
5999
  value: currentPw,
@@ -5133,12 +6005,12 @@ function ReusableProfile({
5133
6005
  }
5134
6006
  )
5135
6007
  ] }),
5136
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5137
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
5138
- /* @__PURE__ */ jsx20(
6008
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
6009
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
6010
+ /* @__PURE__ */ jsx23(
5139
6011
  InputGroup,
5140
6012
  {
5141
- endElement: /* @__PURE__ */ jsx20(
6013
+ endElement: /* @__PURE__ */ jsx23(
5142
6014
  IconButton3,
5143
6015
  {
5144
6016
  size: "xs",
@@ -5146,11 +6018,11 @@ function ReusableProfile({
5146
6018
  color: "gray.500",
5147
6019
  "aria-label": "Toggle new password visibility",
5148
6020
  onClick: () => setShowNewPw(!showNewPw),
5149
- children: showNewPw ? /* @__PURE__ */ jsx20(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx20(LuEye, { size: 15 })
6021
+ children: showNewPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
5150
6022
  }
5151
6023
  ),
5152
- children: /* @__PURE__ */ jsx20(
5153
- Input4,
6024
+ children: /* @__PURE__ */ jsx23(
6025
+ Input5,
5154
6026
  {
5155
6027
  type: showNewPw ? "text" : "password",
5156
6028
  value: newPw,
@@ -5161,9 +6033,9 @@ function ReusableProfile({
5161
6033
  )
5162
6034
  }
5163
6035
  ),
5164
- newPw && /* @__PURE__ */ jsxs17(Box16, { mt: 2, children: [
5165
- /* @__PURE__ */ jsx20(Flex10, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx20(
5166
- Box16,
6036
+ newPw && /* @__PURE__ */ jsxs19(Box19, { mt: 2, children: [
6037
+ /* @__PURE__ */ jsx23(Flex11, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx23(
6038
+ Box19,
5167
6039
  {
5168
6040
  flex: 1,
5169
6041
  h: "3px",
@@ -5173,15 +6045,15 @@ function ReusableProfile({
5173
6045
  },
5174
6046
  i
5175
6047
  )) }),
5176
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
6048
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
5177
6049
  ] })
5178
6050
  ] }),
5179
- /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5180
- /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
5181
- /* @__PURE__ */ jsx20(
6051
+ /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
6052
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
6053
+ /* @__PURE__ */ jsx23(
5182
6054
  InputGroup,
5183
6055
  {
5184
- endElement: /* @__PURE__ */ jsx20(
6056
+ endElement: /* @__PURE__ */ jsx23(
5185
6057
  IconButton3,
5186
6058
  {
5187
6059
  size: "xs",
@@ -5189,11 +6061,11 @@ function ReusableProfile({
5189
6061
  color: "gray.500",
5190
6062
  "aria-label": "Toggle confirm password visibility",
5191
6063
  onClick: () => setShowConfirmPw(!showConfirmPw),
5192
- children: showConfirmPw ? /* @__PURE__ */ jsx20(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx20(LuEye, { size: 15 })
6064
+ children: showConfirmPw ? /* @__PURE__ */ jsx23(LuEyeOff, { size: 15 }) : /* @__PURE__ */ jsx23(LuEye, { size: 15 })
5193
6065
  }
5194
6066
  ),
5195
- children: /* @__PURE__ */ jsx20(
5196
- Input4,
6067
+ children: /* @__PURE__ */ jsx23(
6068
+ Input5,
5197
6069
  {
5198
6070
  type: showConfirmPw ? "text" : "password",
5199
6071
  value: confirmPw,
@@ -5204,10 +6076,10 @@ function ReusableProfile({
5204
6076
  )
5205
6077
  }
5206
6078
  ),
5207
- confirmPw && confirmPw !== newPw && /* @__PURE__ */ jsx20(Text11, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
6079
+ confirmPw && confirmPw !== newPw && /* @__PURE__ */ jsx23(Text12, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
5208
6080
  ] }),
5209
- /* @__PURE__ */ jsx20(
5210
- Button4,
6081
+ /* @__PURE__ */ jsx23(
6082
+ Button5,
5211
6083
  {
5212
6084
  w: "full",
5213
6085
  mt: 1,
@@ -5222,9 +6094,9 @@ function ReusableProfile({
5222
6094
  )
5223
6095
  ] })
5224
6096
  ] });
5225
- const navbarCustomizeContent = /* @__PURE__ */ jsxs17(Fragment4, { children: [
5226
- /* @__PURE__ */ jsx20(
5227
- Box16,
6097
+ const navbarCustomizeContent = /* @__PURE__ */ jsxs19(Fragment5, { children: [
6098
+ /* @__PURE__ */ jsx23(
6099
+ Box19,
5228
6100
  {
5229
6101
  px: 4,
5230
6102
  pt: 4,
@@ -5235,8 +6107,8 @@ function ReusableProfile({
5235
6107
  top: 0,
5236
6108
  bg: "bg",
5237
6109
  zIndex: 1,
5238
- children: /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 2, pr: 10, children: [
5239
- /* @__PURE__ */ jsx20(
6110
+ children: /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 2, pr: 10, children: [
6111
+ /* @__PURE__ */ jsx23(
5240
6112
  IconButton3,
5241
6113
  {
5242
6114
  size: "sm",
@@ -5247,12 +6119,12 @@ function ReusableProfile({
5247
6119
  setReplacingIdx(null);
5248
6120
  setProfileView("main");
5249
6121
  },
5250
- children: /* @__PURE__ */ jsx20(LuChevronLeft2, {})
6122
+ children: /* @__PURE__ */ jsx23(LuChevronLeft2, {})
5251
6123
  }
5252
6124
  ),
5253
- /* @__PURE__ */ jsxs17(Box16, { children: [
5254
- /* @__PURE__ */ jsx20(Text11, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
5255
- /* @__PURE__ */ jsxs17(Text11, { fontSize: "xs", color: "gray.500", children: [
6125
+ /* @__PURE__ */ jsxs19(Box19, { children: [
6126
+ /* @__PURE__ */ jsx23(Text12, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
6127
+ /* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", children: [
5256
6128
  "Choose up to ",
5257
6129
  maxQuickNavItems,
5258
6130
  " shortcuts for the bottom bar"
@@ -5261,10 +6133,10 @@ function ReusableProfile({
5261
6133
  ] })
5262
6134
  }
5263
6135
  ),
5264
- /* @__PURE__ */ jsxs17(Box16, { px: 4, pt: 5, pb: 2, children: [
5265
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", justify: "space-between", mb: 3, children: [
5266
- /* @__PURE__ */ jsx20(
5267
- Text11,
6136
+ /* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 5, pb: 2, children: [
6137
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", justify: "space-between", mb: 3, children: [
6138
+ /* @__PURE__ */ jsx23(
6139
+ Text12,
5268
6140
  {
5269
6141
  fontSize: "xs",
5270
6142
  fontWeight: "bold",
@@ -5274,8 +6146,8 @@ function ReusableProfile({
5274
6146
  children: "Pinned"
5275
6147
  }
5276
6148
  ),
5277
- /* @__PURE__ */ jsxs17(
5278
- Text11,
6149
+ /* @__PURE__ */ jsxs19(
6150
+ Text12,
5279
6151
  {
5280
6152
  fontSize: "xs",
5281
6153
  color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
@@ -5288,8 +6160,8 @@ function ReusableProfile({
5288
6160
  }
5289
6161
  )
5290
6162
  ] }),
5291
- quickNavHrefs.length === 0 ? /* @__PURE__ */ jsx20(
5292
- Flex10,
6163
+ quickNavHrefs.length === 0 ? /* @__PURE__ */ jsx23(
6164
+ Flex11,
5293
6165
  {
5294
6166
  align: "center",
5295
6167
  justify: "center",
@@ -5298,18 +6170,18 @@ function ReusableProfile({
5298
6170
  borderWidth: "1px",
5299
6171
  borderStyle: "dashed",
5300
6172
  borderColor: "gray.200",
5301
- children: /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
6173
+ children: /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
5302
6174
  }
5303
- ) : /* @__PURE__ */ jsx20(VStack9, { gap: 0, children: quickNavHrefs.map((href, idx) => {
6175
+ ) : /* @__PURE__ */ jsx23(VStack10, { gap: 0, children: quickNavHrefs.map((href, idx) => {
5304
6176
  const option = availableOptions.find((item) => item.key === href);
5305
6177
  if (!option) return null;
5306
6178
  const ItemIcon = option.Icon;
5307
6179
  const isFirst = idx === 0;
5308
6180
  const isLast = idx === quickNavHrefs.length - 1;
5309
6181
  const isReplacing = replacingIdx === idx;
5310
- return /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5311
- /* @__PURE__ */ jsxs17(
5312
- Flex10,
6182
+ return /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
6183
+ /* @__PURE__ */ jsxs19(
6184
+ Flex11,
5313
6185
  {
5314
6186
  justify: "space-between",
5315
6187
  align: "center",
@@ -5321,9 +6193,9 @@ function ReusableProfile({
5321
6193
  borderColor: isReplacing ? "orange.200" : void 0,
5322
6194
  transition: "all 0.15s",
5323
6195
  children: [
5324
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
5325
- /* @__PURE__ */ jsx20(
5326
- Box16,
6196
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
6197
+ /* @__PURE__ */ jsx23(
6198
+ Box19,
5327
6199
  {
5328
6200
  w: "36px",
5329
6201
  h: "36px",
@@ -5334,13 +6206,13 @@ function ReusableProfile({
5334
6206
  justifyContent: "center",
5335
6207
  color: "white",
5336
6208
  flexShrink: 0,
5337
- children: /* @__PURE__ */ jsx20(ItemIcon, { size: 15 })
6209
+ children: /* @__PURE__ */ jsx23(ItemIcon, { size: 15 })
5338
6210
  }
5339
6211
  ),
5340
- /* @__PURE__ */ jsxs17(Box16, { children: [
5341
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", fontWeight: "medium", children: option.title }),
5342
- isReplacing && /* @__PURE__ */ jsx20(
5343
- Text11,
6212
+ /* @__PURE__ */ jsxs19(Box19, { children: [
6213
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", fontWeight: "medium", children: option.title }),
6214
+ isReplacing && /* @__PURE__ */ jsx23(
6215
+ Text12,
5344
6216
  {
5345
6217
  fontSize: "xs",
5346
6218
  color: "orange.500",
@@ -5350,8 +6222,8 @@ function ReusableProfile({
5350
6222
  )
5351
6223
  ] })
5352
6224
  ] }),
5353
- /* @__PURE__ */ jsxs17(HStack6, { gap: 0.5, children: [
5354
- /* @__PURE__ */ jsx20(
6225
+ /* @__PURE__ */ jsxs19(HStack6, { gap: 0.5, children: [
6226
+ /* @__PURE__ */ jsx23(
5355
6227
  IconButton3,
5356
6228
  {
5357
6229
  size: "xs",
@@ -5360,10 +6232,10 @@ function ReusableProfile({
5360
6232
  color: "gray.500",
5361
6233
  disabled: isFirst || isReplacing,
5362
6234
  onClick: () => moveNavItem(idx, -1),
5363
- children: /* @__PURE__ */ jsx20(LuChevronUp3, { size: 14 })
6235
+ children: /* @__PURE__ */ jsx23(LuChevronUp3, { size: 14 })
5364
6236
  }
5365
6237
  ),
5366
- /* @__PURE__ */ jsx20(
6238
+ /* @__PURE__ */ jsx23(
5367
6239
  IconButton3,
5368
6240
  {
5369
6241
  size: "xs",
@@ -5372,10 +6244,10 @@ function ReusableProfile({
5372
6244
  color: "gray.500",
5373
6245
  disabled: isLast || isReplacing,
5374
6246
  onClick: () => moveNavItem(idx, 1),
5375
- children: /* @__PURE__ */ jsx20(LuChevronDown3, { size: 14 })
6247
+ children: /* @__PURE__ */ jsx23(LuChevronDown3, { size: 14 })
5376
6248
  }
5377
6249
  ),
5378
- /* @__PURE__ */ jsx20(
6250
+ /* @__PURE__ */ jsx23(
5379
6251
  IconButton3,
5380
6252
  {
5381
6253
  size: "xs",
@@ -5385,10 +6257,10 @@ function ReusableProfile({
5385
6257
  color: isReplacing ? "white" : "gray.500",
5386
6258
  _hover: { bg: isReplacing ? "orange.500" : "gray.100" },
5387
6259
  onClick: () => setReplacingIdx(isReplacing ? null : idx),
5388
- children: /* @__PURE__ */ jsx20(LuArrowLeftRight, { size: 13 })
6260
+ children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 13 })
5389
6261
  }
5390
6262
  ),
5391
- /* @__PURE__ */ jsx20(
6263
+ /* @__PURE__ */ jsx23(
5392
6264
  IconButton3,
5393
6265
  {
5394
6266
  size: "xs",
@@ -5398,23 +6270,23 @@ function ReusableProfile({
5398
6270
  _hover: { bg: "red.50" },
5399
6271
  disabled: isReplacing,
5400
6272
  onClick: () => removeNavItem(href),
5401
- children: /* @__PURE__ */ jsx20(LuX, { size: 14 })
6273
+ children: /* @__PURE__ */ jsx23(LuX, { size: 14 })
5402
6274
  }
5403
6275
  )
5404
6276
  ] })
5405
6277
  ]
5406
6278
  }
5407
6279
  ),
5408
- !isLast && /* @__PURE__ */ jsx20(Separator3, {})
6280
+ !isLast && /* @__PURE__ */ jsx23(Separator3, {})
5409
6281
  ] }, href);
5410
6282
  }) })
5411
6283
  ] }),
5412
- /* @__PURE__ */ jsx20(Separator3, { mx: 4, my: 1 }),
5413
- /* @__PURE__ */ jsxs17(Box16, { px: 4, pt: 4, pb: 10, children: [
5414
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", justify: "space-between", mb: 3, children: [
5415
- replacingIdx !== null ? /* @__PURE__ */ jsxs17(Box16, { children: [
5416
- /* @__PURE__ */ jsx20(
5417
- Text11,
6284
+ /* @__PURE__ */ jsx23(Separator3, { mx: 4, my: 1 }),
6285
+ /* @__PURE__ */ jsxs19(Box19, { px: 4, pt: 4, pb: 10, children: [
6286
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", justify: "space-between", mb: 3, children: [
6287
+ replacingIdx !== null ? /* @__PURE__ */ jsxs19(Box19, { children: [
6288
+ /* @__PURE__ */ jsx23(
6289
+ Text12,
5418
6290
  {
5419
6291
  fontSize: "xs",
5420
6292
  fontWeight: "bold",
@@ -5424,15 +6296,15 @@ function ReusableProfile({
5424
6296
  children: "Select Replacement"
5425
6297
  }
5426
6298
  ),
5427
- /* @__PURE__ */ jsxs17(Text11, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
6299
+ /* @__PURE__ */ jsxs19(Text12, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
5428
6300
  'for "',
5429
6301
  availableOptions.find(
5430
6302
  (item) => item.key === quickNavHrefs[replacingIdx]
5431
6303
  )?.title,
5432
6304
  '"'
5433
6305
  ] })
5434
- ] }) : /* @__PURE__ */ jsx20(
5435
- Text11,
6306
+ ] }) : /* @__PURE__ */ jsx23(
6307
+ Text12,
5436
6308
  {
5437
6309
  fontSize: "xs",
5438
6310
  fontWeight: "bold",
@@ -5442,8 +6314,8 @@ function ReusableProfile({
5442
6314
  children: "Available"
5443
6315
  }
5444
6316
  ),
5445
- replacingIdx !== null && /* @__PURE__ */ jsx20(
5446
- Button4,
6317
+ replacingIdx !== null && /* @__PURE__ */ jsx23(
6318
+ Button5,
5447
6319
  {
5448
6320
  size: "xs",
5449
6321
  variant: "ghost",
@@ -5453,17 +6325,17 @@ function ReusableProfile({
5453
6325
  }
5454
6326
  )
5455
6327
  ] }),
5456
- unpinnedOptions.length === 0 ? /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ jsx20(VStack9, { gap: 0, children: unpinnedOptions.map((option, idx) => {
6328
+ unpinnedOptions.length === 0 ? /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ jsx23(VStack10, { gap: 0, children: unpinnedOptions.map((option, idx) => {
5457
6329
  const ItemIcon = option.Icon;
5458
6330
  const isLast = idx === unpinnedOptions.length - 1;
5459
6331
  const isReplacingMode = replacingIdx !== null;
5460
6332
  const canAdd = quickNavHrefs.length < maxQuickNavItems;
5461
6333
  const actionEnabled = isReplacingMode || canAdd;
5462
- return /* @__PURE__ */ jsxs17(Box16, { w: "full", children: [
5463
- /* @__PURE__ */ jsxs17(Flex10, { justify: "space-between", align: "center", py: 2.5, children: [
5464
- /* @__PURE__ */ jsxs17(Flex10, { align: "center", gap: 3, children: [
5465
- /* @__PURE__ */ jsx20(
5466
- Box16,
6334
+ return /* @__PURE__ */ jsxs19(Box19, { w: "full", children: [
6335
+ /* @__PURE__ */ jsxs19(Flex11, { justify: "space-between", align: "center", py: 2.5, children: [
6336
+ /* @__PURE__ */ jsxs19(Flex11, { align: "center", gap: 3, children: [
6337
+ /* @__PURE__ */ jsx23(
6338
+ Box19,
5467
6339
  {
5468
6340
  w: "36px",
5469
6341
  h: "36px",
@@ -5474,11 +6346,11 @@ function ReusableProfile({
5474
6346
  justifyContent: "center",
5475
6347
  color: isReplacingMode ? "orange.500" : "gray.500",
5476
6348
  flexShrink: 0,
5477
- children: /* @__PURE__ */ jsx20(ItemIcon, { size: 15 })
6349
+ children: /* @__PURE__ */ jsx23(ItemIcon, { size: 15 })
5478
6350
  }
5479
6351
  ),
5480
- /* @__PURE__ */ jsx20(
5481
- Text11,
6352
+ /* @__PURE__ */ jsx23(
6353
+ Text12,
5482
6354
  {
5483
6355
  fontSize: "sm",
5484
6356
  fontWeight: "medium",
@@ -5487,7 +6359,7 @@ function ReusableProfile({
5487
6359
  }
5488
6360
  )
5489
6361
  ] }),
5490
- isReplacingMode ? /* @__PURE__ */ jsx20(
6362
+ isReplacingMode ? /* @__PURE__ */ jsx23(
5491
6363
  IconButton3,
5492
6364
  {
5493
6365
  size: "xs",
@@ -5497,9 +6369,9 @@ function ReusableProfile({
5497
6369
  color: "orange.500",
5498
6370
  _hover: { bg: "orange.50" },
5499
6371
  onClick: () => replaceNavItem(replacingIdx, option.key),
5500
- children: /* @__PURE__ */ jsx20(LuArrowLeftRight, { size: 13 })
6372
+ children: /* @__PURE__ */ jsx23(LuArrowLeftRight, { size: 13 })
5501
6373
  }
5502
- ) : /* @__PURE__ */ jsx20(
6374
+ ) : /* @__PURE__ */ jsx23(
5503
6375
  IconButton3,
5504
6376
  {
5505
6377
  size: "xs",
@@ -5510,19 +6382,19 @@ function ReusableProfile({
5510
6382
  color: canAdd ? "var(--chakra-colors-primary)" : "gray.300",
5511
6383
  _hover: { bg: canAdd ? "blue.50" : "transparent" },
5512
6384
  onClick: () => addNavItem(option.key),
5513
- children: /* @__PURE__ */ jsx20(LuPlus, { size: 13 })
6385
+ children: /* @__PURE__ */ jsx23(LuPlus, { size: 13 })
5514
6386
  }
5515
6387
  )
5516
6388
  ] }),
5517
- !isLast && /* @__PURE__ */ jsx20(Separator3, {})
6389
+ !isLast && /* @__PURE__ */ jsx23(Separator3, {})
5518
6390
  ] }, option.key);
5519
6391
  }) })
5520
6392
  ] })
5521
6393
  ] });
5522
6394
  const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
5523
6395
  if (isDesktop) {
5524
- return /* @__PURE__ */ jsxs17(
5525
- Flex10,
6396
+ return /* @__PURE__ */ jsxs19(
6397
+ Flex11,
5526
6398
  {
5527
6399
  maxW: "6xl",
5528
6400
  mx: "auto",
@@ -5532,8 +6404,8 @@ function ReusableProfile({
5532
6404
  p: { md: 6, lg: 8 },
5533
6405
  align: "start",
5534
6406
  children: [
5535
- /* @__PURE__ */ jsx20(
5536
- Box16,
6407
+ /* @__PURE__ */ jsx23(
6408
+ Box19,
5537
6409
  {
5538
6410
  w: { md: "300px", lg: "340px" },
5539
6411
  flexShrink: 0,
@@ -5547,8 +6419,8 @@ function ReusableProfile({
5547
6419
  children: mainContent
5548
6420
  }
5549
6421
  ),
5550
- /* @__PURE__ */ jsx20(
5551
- Box16,
6422
+ /* @__PURE__ */ jsx23(
6423
+ Box19,
5552
6424
  {
5553
6425
  flex: "1",
5554
6426
  minW: 0,
@@ -5558,8 +6430,8 @@ function ReusableProfile({
5558
6430
  overflow: "hidden",
5559
6431
  bg: "bg",
5560
6432
  minH: "540px",
5561
- children: subViewContent ?? /* @__PURE__ */ jsxs17(
5562
- Flex10,
6433
+ children: subViewContent ?? /* @__PURE__ */ jsxs19(
6434
+ Flex11,
5563
6435
  {
5564
6436
  direction: "column",
5565
6437
  align: "center",
@@ -5569,8 +6441,8 @@ function ReusableProfile({
5569
6441
  textAlign: "center",
5570
6442
  color: "gray.400",
5571
6443
  children: [
5572
- /* @__PURE__ */ jsx20(
5573
- Box16,
6444
+ /* @__PURE__ */ jsx23(
6445
+ Box19,
5574
6446
  {
5575
6447
  w: "56px",
5576
6448
  h: "56px",
@@ -5580,10 +6452,10 @@ function ReusableProfile({
5580
6452
  alignItems: "center",
5581
6453
  justifyContent: "center",
5582
6454
  mb: 4,
5583
- children: /* @__PURE__ */ jsx20(LuUser, { size: 24 })
6455
+ children: /* @__PURE__ */ jsx23(LuUser, { size: 24 })
5584
6456
  }
5585
6457
  ),
5586
- /* @__PURE__ */ jsx20(Text11, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
6458
+ /* @__PURE__ */ jsx23(Text12, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
5587
6459
  ]
5588
6460
  }
5589
6461
  )
@@ -5593,12 +6465,14 @@ function ReusableProfile({
5593
6465
  }
5594
6466
  );
5595
6467
  }
5596
- return /* @__PURE__ */ jsx20(Box16, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
6468
+ return /* @__PURE__ */ jsx23(Box19, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
5597
6469
  }
5598
6470
  var UserProfile_default = ReusableProfile;
5599
6471
  export {
5600
6472
  beneficiary_default as Beneficiary,
5601
6473
  BottomQuickActions_default as BottomQuickActions,
6474
+ DocumentUploadCard,
6475
+ GetStarted_default as GetStarted,
5602
6476
  HealthDeclaration_default as HealthDeclaration,
5603
6477
  LifePlanApplication1_default as LifePlanApplication1,
5604
6478
  LifePlanApplication2_default as LifePlanApplication2,
@@ -5609,10 +6483,13 @@ export {
5609
6483
  OCR_STORAGE_KEY,
5610
6484
  SharedLifePlanApplication_default as SharedLifePlanApplication,
5611
6485
  UserProfile_default as UserProfile,
6486
+ clearOcrResult,
5612
6487
  createEmptyApplicationData,
5613
6488
  loadApplicationDataFromLocalStorage,
5614
6489
  markOcrApplied,
5615
6490
  readOcrResult,
5616
- saveApplicationDataToLocalStorage
6491
+ saveApplicationDataToLocalStorage,
6492
+ saveOcrResult,
6493
+ useOcr
5617
6494
  };
5618
6495
  //# sourceMappingURL=index.mjs.map