@splpi/estore-shared-components 0.0.6 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +935 -815
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +592 -469
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -49,7 +49,6 @@ module.exports = __toCommonJS(index_exports);
|
|
|
49
49
|
|
|
50
50
|
// src/NewSaleForm/LifePlanApplication1.tsx
|
|
51
51
|
var import_react3 = require("@chakra-ui/react");
|
|
52
|
-
var import_react4 = require("react");
|
|
53
52
|
|
|
54
53
|
// src/lib/theme/layout-tokens.ts
|
|
55
54
|
var RESPONSIVE_LAYOUT_TOKENS = {
|
|
@@ -270,6 +269,9 @@ var STANDARD_ICON_BUTTON_STYLES = {
|
|
|
270
269
|
}
|
|
271
270
|
};
|
|
272
271
|
|
|
272
|
+
// src/NewSaleForm/LifePlanApplication1.tsx
|
|
273
|
+
var import_react4 = require("react");
|
|
274
|
+
|
|
273
275
|
// src/NewSaleForm/ui/FloatingLabelInput.tsx
|
|
274
276
|
var import_react = require("@chakra-ui/react");
|
|
275
277
|
var import_react2 = require("react");
|
|
@@ -395,8 +397,13 @@ var LifePlanApplication1 = ({
|
|
|
395
397
|
if (OCRValue != null) {
|
|
396
398
|
try {
|
|
397
399
|
const ocrData = JSON.parse(OCRValue);
|
|
398
|
-
|
|
399
|
-
|
|
400
|
+
let formattedBirthDate = "";
|
|
401
|
+
if (typeof ocrData?.birthDate === "string") {
|
|
402
|
+
const [month, day, year] = ocrData.birthDate.split("/").map((part) => part.trim());
|
|
403
|
+
if (month && day && year) {
|
|
404
|
+
formattedBirthDate = `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
400
407
|
let mappedIdType = "";
|
|
401
408
|
if (ocrData?.idType) {
|
|
402
409
|
const normalizedIdType = ocrData.idType.toLowerCase().replace(/\s+/g, "_").replace(/'/g, "");
|
|
@@ -648,6 +655,36 @@ var LifePlanApplication1_default = LifePlanApplication1;
|
|
|
648
655
|
// src/NewSaleForm/LifePlanApplication2.tsx
|
|
649
656
|
var import_react5 = require("@chakra-ui/react");
|
|
650
657
|
var import_react6 = require("react");
|
|
658
|
+
|
|
659
|
+
// src/lib/theme/brand-colors.ts
|
|
660
|
+
var BRAND_COLORS = {
|
|
661
|
+
primaryGreen: "#109448",
|
|
662
|
+
darkGreen: "#006838",
|
|
663
|
+
softGreen: "#92DDBF",
|
|
664
|
+
pastelPeaGreen: "#ACD6A6",
|
|
665
|
+
seafoamGreen: "#92DDBF",
|
|
666
|
+
lightCyan: "#D3EDEE",
|
|
667
|
+
successBg: "#F0FDF4",
|
|
668
|
+
warningBg: "#FFF7ED",
|
|
669
|
+
warningText: "#F1592B",
|
|
670
|
+
warningBorder: "#F4845F",
|
|
671
|
+
errorBg: "#FEF2F2",
|
|
672
|
+
destructiveRed: "#BF1F2F",
|
|
673
|
+
errorRed: "#EF4444",
|
|
674
|
+
neutralText: "#22223B",
|
|
675
|
+
neutralBorder: "#E5E7EB",
|
|
676
|
+
mutedBg: "#F3F4F6",
|
|
677
|
+
subtleBg: "#F9FAFB",
|
|
678
|
+
white: "#FFFFFF",
|
|
679
|
+
black: "#000000",
|
|
680
|
+
grey: "#808080",
|
|
681
|
+
ashWhite: "#ECECEC",
|
|
682
|
+
gold: "#CBA135",
|
|
683
|
+
brightGold: "#FFD026",
|
|
684
|
+
paleGold: "#FFF48E"
|
|
685
|
+
};
|
|
686
|
+
|
|
687
|
+
// src/NewSaleForm/LifePlanApplication2.tsx
|
|
651
688
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
652
689
|
var provinceOptions = [
|
|
653
690
|
"Abra",
|
|
@@ -857,6 +894,16 @@ var LifePlanApplication2 = ({
|
|
|
857
894
|
const [province, setProvince] = (0, import_react6.useState)("Metro Manila");
|
|
858
895
|
const [district, setDistrict] = (0, import_react6.useState)("Taguig");
|
|
859
896
|
const [barangay, setBarangay] = (0, import_react6.useState)("San Juan");
|
|
897
|
+
(0, import_react6.useEffect)(() => {
|
|
898
|
+
onAddressUpdate?.({
|
|
899
|
+
lot,
|
|
900
|
+
street,
|
|
901
|
+
barangay,
|
|
902
|
+
district,
|
|
903
|
+
city,
|
|
904
|
+
province
|
|
905
|
+
});
|
|
906
|
+
}, [lot, street, barangay, city, province, district]);
|
|
860
907
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
861
908
|
import_react5.Box,
|
|
862
909
|
{
|
|
@@ -1105,7 +1152,66 @@ var RowItem = ({
|
|
|
1105
1152
|
),
|
|
1106
1153
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react9.Text, { fontWeight: "medium", textAlign: "right", whiteSpace: "nowrap", children: value ?? "-" })
|
|
1107
1154
|
] });
|
|
1108
|
-
|
|
1155
|
+
|
|
1156
|
+
// src/lib/applicationData.ts
|
|
1157
|
+
var LIFE_PLAN_APPLICATION_KEY = "LifePlanApplication";
|
|
1158
|
+
var createEmptyApplicationData = () => ({
|
|
1159
|
+
personalInfo: {
|
|
1160
|
+
firstName: "",
|
|
1161
|
+
middleName: "",
|
|
1162
|
+
lastName: "",
|
|
1163
|
+
suffix: "",
|
|
1164
|
+
birthDate: "",
|
|
1165
|
+
idType: "",
|
|
1166
|
+
idNumber: "",
|
|
1167
|
+
height: 0,
|
|
1168
|
+
weight: 0,
|
|
1169
|
+
gender: "",
|
|
1170
|
+
civilStatus: "",
|
|
1171
|
+
nationality: "",
|
|
1172
|
+
mobileNumber: "",
|
|
1173
|
+
emailAddress: "",
|
|
1174
|
+
mailingAddress: "",
|
|
1175
|
+
landLineNumber: ""
|
|
1176
|
+
},
|
|
1177
|
+
address: {
|
|
1178
|
+
lot: "",
|
|
1179
|
+
street: "",
|
|
1180
|
+
barangay: "",
|
|
1181
|
+
district: "",
|
|
1182
|
+
city: "",
|
|
1183
|
+
province: ""
|
|
1184
|
+
},
|
|
1185
|
+
employment: {
|
|
1186
|
+
occupation: "",
|
|
1187
|
+
employerName: "",
|
|
1188
|
+
employmentStatus: "",
|
|
1189
|
+
officeAddress: "",
|
|
1190
|
+
TIN: "",
|
|
1191
|
+
SSS: "",
|
|
1192
|
+
sourceOfIncome: ""
|
|
1193
|
+
},
|
|
1194
|
+
beneficiaries: [],
|
|
1195
|
+
healthDeclaration: {
|
|
1196
|
+
healthDeclaration1: false,
|
|
1197
|
+
healthDeclaration2: false,
|
|
1198
|
+
healthDeclaration3: false,
|
|
1199
|
+
healthDeclaration4: false
|
|
1200
|
+
}
|
|
1201
|
+
});
|
|
1202
|
+
var loadApplicationDataFromLocalStorage = (storageKey = LIFE_PLAN_APPLICATION_KEY) => {
|
|
1203
|
+
if (typeof window === "undefined") return null;
|
|
1204
|
+
try {
|
|
1205
|
+
const stored = window.localStorage.getItem(storageKey);
|
|
1206
|
+
return stored ? JSON.parse(stored) : null;
|
|
1207
|
+
} catch {
|
|
1208
|
+
return null;
|
|
1209
|
+
}
|
|
1210
|
+
};
|
|
1211
|
+
var saveApplicationDataToLocalStorage = (data, storageKey = LIFE_PLAN_APPLICATION_KEY) => {
|
|
1212
|
+
if (typeof window === "undefined") return;
|
|
1213
|
+
window.localStorage.setItem(storageKey, JSON.stringify(data));
|
|
1214
|
+
};
|
|
1109
1215
|
|
|
1110
1216
|
// src/NewSaleForm/beneficiary.tsx
|
|
1111
1217
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -1126,7 +1232,7 @@ var relationshipTypes = (0, import_react10.createListCollection)({
|
|
|
1126
1232
|
});
|
|
1127
1233
|
var ReviewRows = ({
|
|
1128
1234
|
rows
|
|
1129
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.VStack, { align: "stretch", gap: 1, children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
1235
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.VStack, { align: "stretch", gap: 1, children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RowItem, { label: row.label, value: row.value }, row.label)) });
|
|
1130
1236
|
var Beneficiary = ({ onUpdate }) => {
|
|
1131
1237
|
const isMobile = (0, import_react10.useBreakpointValue)({ base: true, md: false });
|
|
1132
1238
|
const [principalBeneficiaries, setPrincipalBeneficiaries] = (0, import_react11.useState)([]);
|
|
@@ -1152,6 +1258,65 @@ var Beneficiary = ({ onUpdate }) => {
|
|
|
1152
1258
|
relationship: "",
|
|
1153
1259
|
beneficiaryClass: "principal"
|
|
1154
1260
|
});
|
|
1261
|
+
const syncBeneficiaries = (principal, contingent) => {
|
|
1262
|
+
const allBeneficiaries = [...principal, ...contingent];
|
|
1263
|
+
onUpdate?.(
|
|
1264
|
+
principal.length > 0 ? principal[0] : void 0,
|
|
1265
|
+
contingent.length > 0 ? contingent[0] : void 0,
|
|
1266
|
+
allBeneficiaries
|
|
1267
|
+
);
|
|
1268
|
+
const currentData = loadApplicationDataFromLocalStorage() ?? createEmptyApplicationData();
|
|
1269
|
+
const {
|
|
1270
|
+
principalBeneficiary: _oldPrincipal,
|
|
1271
|
+
contingentBeneficiary: _oldContingent,
|
|
1272
|
+
...restData
|
|
1273
|
+
} = currentData;
|
|
1274
|
+
saveApplicationDataToLocalStorage({
|
|
1275
|
+
...restData,
|
|
1276
|
+
beneficiaries: allBeneficiaries,
|
|
1277
|
+
...principal[0] ? { principalBeneficiary: principal[0] } : {},
|
|
1278
|
+
...contingent[0] ? { contingentBeneficiary: contingent[0] } : {}
|
|
1279
|
+
});
|
|
1280
|
+
};
|
|
1281
|
+
(0, import_react11.useEffect)(() => {
|
|
1282
|
+
const timeoutId = window.setTimeout(() => {
|
|
1283
|
+
const currentData = loadApplicationDataFromLocalStorage();
|
|
1284
|
+
if (!currentData) return;
|
|
1285
|
+
const storedBeneficiaries = currentData.beneficiaries ?? [];
|
|
1286
|
+
let principalFromStorage = storedBeneficiaries.filter(
|
|
1287
|
+
(beneficiary) => beneficiary.beneficiaryClass === "principal"
|
|
1288
|
+
);
|
|
1289
|
+
let contingentFromStorage = storedBeneficiaries.filter(
|
|
1290
|
+
(beneficiary) => beneficiary.beneficiaryClass === "contingent"
|
|
1291
|
+
);
|
|
1292
|
+
if (storedBeneficiaries.length === 0) {
|
|
1293
|
+
if (currentData.principalBeneficiary) {
|
|
1294
|
+
principalFromStorage = [
|
|
1295
|
+
{
|
|
1296
|
+
...currentData.principalBeneficiary,
|
|
1297
|
+
beneficiaryClass: currentData.principalBeneficiary.beneficiaryClass || "principal"
|
|
1298
|
+
}
|
|
1299
|
+
];
|
|
1300
|
+
}
|
|
1301
|
+
if (currentData.contingentBeneficiary) {
|
|
1302
|
+
contingentFromStorage = [
|
|
1303
|
+
{
|
|
1304
|
+
...currentData.contingentBeneficiary,
|
|
1305
|
+
beneficiaryClass: currentData.contingentBeneficiary.beneficiaryClass || "contingent"
|
|
1306
|
+
}
|
|
1307
|
+
];
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
setPrincipalBeneficiaries(principalFromStorage);
|
|
1311
|
+
setContingentBeneficiaries(contingentFromStorage);
|
|
1312
|
+
onUpdate?.(
|
|
1313
|
+
principalFromStorage.length > 0 ? principalFromStorage[0] : void 0,
|
|
1314
|
+
contingentFromStorage.length > 0 ? contingentFromStorage[0] : void 0,
|
|
1315
|
+
[...principalFromStorage, ...contingentFromStorage]
|
|
1316
|
+
);
|
|
1317
|
+
}, 0);
|
|
1318
|
+
return () => window.clearTimeout(timeoutId);
|
|
1319
|
+
}, [onUpdate]);
|
|
1155
1320
|
const handleSaveAddBeneficiary = () => {
|
|
1156
1321
|
if (!addFormBeneficiary.firstName || !addFormBeneficiary.lastName || !addFormBeneficiary.birthDate || !addFormBeneficiary.relationship || !addFormBeneficiary.address) {
|
|
1157
1322
|
alert("Please fill in all required fields");
|
|
@@ -1177,6 +1342,7 @@ var Beneficiary = ({ onUpdate }) => {
|
|
|
1177
1342
|
});
|
|
1178
1343
|
setAddDialogOpen(false);
|
|
1179
1344
|
console.log("Beneficiary added:", addFormBeneficiary);
|
|
1345
|
+
syncBeneficiaries(newPrincipal, newContingent);
|
|
1180
1346
|
};
|
|
1181
1347
|
const formatFullName = (beneficiary) => {
|
|
1182
1348
|
return [
|
|
@@ -1200,9 +1366,6 @@ var Beneficiary = ({ onUpdate }) => {
|
|
|
1200
1366
|
setFormBeneficiary({ ...beneficiary });
|
|
1201
1367
|
setEditDialogOpen(true);
|
|
1202
1368
|
};
|
|
1203
|
-
function handleDeleteBeneficiary(arg0, idx) {
|
|
1204
|
-
throw new Error("Function not implemented.");
|
|
1205
|
-
}
|
|
1206
1369
|
const handleSaveEdit = () => {
|
|
1207
1370
|
if (!selectedBeneficiary) return;
|
|
1208
1371
|
let updatedPrincipal = principalBeneficiaries;
|
|
@@ -1218,9 +1381,26 @@ var Beneficiary = ({ onUpdate }) => {
|
|
|
1218
1381
|
);
|
|
1219
1382
|
setContingentBeneficiaries(updatedContingent);
|
|
1220
1383
|
}
|
|
1384
|
+
syncBeneficiaries(updatedPrincipal, updatedContingent);
|
|
1221
1385
|
setEditDialogOpen(false);
|
|
1222
1386
|
setSelectedBeneficiary(null);
|
|
1223
1387
|
};
|
|
1388
|
+
const handleDeleteBeneficiary = (type, index) => {
|
|
1389
|
+
let updatedPrincipal = principalBeneficiaries;
|
|
1390
|
+
let updatedContingent = contingentBeneficiaries;
|
|
1391
|
+
if (type === "principal") {
|
|
1392
|
+
updatedPrincipal = principalBeneficiaries.filter(
|
|
1393
|
+
(_, beneficiaryIndex) => beneficiaryIndex !== index
|
|
1394
|
+
);
|
|
1395
|
+
setPrincipalBeneficiaries(updatedPrincipal);
|
|
1396
|
+
} else {
|
|
1397
|
+
updatedContingent = contingentBeneficiaries.filter(
|
|
1398
|
+
(_, beneficiaryIndex) => beneficiaryIndex !== index
|
|
1399
|
+
);
|
|
1400
|
+
setContingentBeneficiaries(updatedContingent);
|
|
1401
|
+
}
|
|
1402
|
+
syncBeneficiaries(updatedPrincipal, updatedContingent);
|
|
1403
|
+
};
|
|
1224
1404
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
|
|
1225
1405
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
1226
1406
|
import_react10.Flex,
|
|
@@ -1240,14 +1420,14 @@ var Beneficiary = ({ onUpdate }) => {
|
|
|
1240
1420
|
{
|
|
1241
1421
|
placement: "center",
|
|
1242
1422
|
motionPreset: "slide-in-bottom",
|
|
1243
|
-
size: { mdDown: "full", md: "
|
|
1423
|
+
size: { mdDown: "full", md: "xl" },
|
|
1244
1424
|
open: addDialogOpen,
|
|
1245
1425
|
onOpenChange: (details) => setAddDialogOpen(details.open),
|
|
1246
1426
|
children: [
|
|
1247
1427
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Button, { w: { base: "full", md: "auto" }, children: "Add Beneficiary" }) }),
|
|
1248
1428
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Portal, { children: [
|
|
1249
1429
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Backdrop, {}),
|
|
1250
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Dialog.Content, {
|
|
1430
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.Dialog.Content, { children: [
|
|
1251
1431
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Title, { children: "Add Beneficiary" }) }),
|
|
1252
1432
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react10.Dialog.Body, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react10.VStack, { gap: 5, w: "full", align: "stretch", children: [
|
|
1253
1433
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
@@ -1753,6 +1933,29 @@ var HealthDeclaration = () => {
|
|
|
1753
1933
|
healthDeclaration3: false,
|
|
1754
1934
|
healthDeclaration4: false
|
|
1755
1935
|
});
|
|
1936
|
+
(0, import_react12.useEffect)(() => {
|
|
1937
|
+
let appData = loadApplicationDataFromLocalStorage();
|
|
1938
|
+
if (!appData) {
|
|
1939
|
+
appData = createEmptyApplicationData();
|
|
1940
|
+
saveApplicationDataToLocalStorage(appData);
|
|
1941
|
+
}
|
|
1942
|
+
if (appData && appData.healthDeclaration) {
|
|
1943
|
+
setHealthDeclarationValues(appData.healthDeclaration);
|
|
1944
|
+
}
|
|
1945
|
+
}, []);
|
|
1946
|
+
(0, import_react12.useEffect)(() => {
|
|
1947
|
+
return () => {
|
|
1948
|
+
const appData = loadApplicationDataFromLocalStorage();
|
|
1949
|
+
if (appData) {
|
|
1950
|
+
appData.healthDeclaration = healthDeclarationValues;
|
|
1951
|
+
saveApplicationDataToLocalStorage(appData);
|
|
1952
|
+
console.log(
|
|
1953
|
+
"Health Declaration saved to localStorage",
|
|
1954
|
+
healthDeclarationValues
|
|
1955
|
+
);
|
|
1956
|
+
}
|
|
1957
|
+
};
|
|
1958
|
+
}, [healthDeclarationValues]);
|
|
1756
1959
|
const items = [
|
|
1757
1960
|
{
|
|
1758
1961
|
value: "first-item",
|
|
@@ -1889,76 +2092,15 @@ var HealthDeclaration = () => {
|
|
|
1889
2092
|
var HealthDeclaration_default = HealthDeclaration;
|
|
1890
2093
|
|
|
1891
2094
|
// src/NewSaleForm/LifePlanApplicationFormWrapper.tsx
|
|
1892
|
-
var
|
|
2095
|
+
var import_react17 = require("@chakra-ui/react");
|
|
1893
2096
|
var import_fa2 = require("react-icons/fa");
|
|
1894
2097
|
var import_io = require("react-icons/io");
|
|
1895
2098
|
var import_lu3 = require("react-icons/lu");
|
|
1896
|
-
var
|
|
1897
|
-
var import_st_peter_ui3 = require("st-peter-ui");
|
|
1898
|
-
|
|
1899
|
-
// src/lib/applicationData.ts
|
|
1900
|
-
var LIFE_PLAN_APPLICATION_KEY = "LifePlanApplication";
|
|
1901
|
-
var createEmptyApplicationData = () => ({
|
|
1902
|
-
personalInfo: {
|
|
1903
|
-
firstName: "",
|
|
1904
|
-
middleName: "",
|
|
1905
|
-
lastName: "",
|
|
1906
|
-
suffix: "",
|
|
1907
|
-
birthDate: "",
|
|
1908
|
-
idType: "",
|
|
1909
|
-
idNumber: "",
|
|
1910
|
-
height: 0,
|
|
1911
|
-
weight: 0,
|
|
1912
|
-
gender: "",
|
|
1913
|
-
civilStatus: "",
|
|
1914
|
-
nationality: "",
|
|
1915
|
-
mobileNumber: "",
|
|
1916
|
-
emailAddress: "",
|
|
1917
|
-
mailingAddress: "",
|
|
1918
|
-
landLineNumber: ""
|
|
1919
|
-
},
|
|
1920
|
-
address: {
|
|
1921
|
-
lot: "",
|
|
1922
|
-
street: "",
|
|
1923
|
-
barangay: "",
|
|
1924
|
-
district: "",
|
|
1925
|
-
city: "",
|
|
1926
|
-
province: ""
|
|
1927
|
-
},
|
|
1928
|
-
employment: {
|
|
1929
|
-
occupation: "",
|
|
1930
|
-
employerName: "",
|
|
1931
|
-
employmentStatus: "",
|
|
1932
|
-
officeAddress: "",
|
|
1933
|
-
TIN: "",
|
|
1934
|
-
SSS: "",
|
|
1935
|
-
sourceOfIncome: ""
|
|
1936
|
-
},
|
|
1937
|
-
beneficiaries: [],
|
|
1938
|
-
healthDeclaration: {
|
|
1939
|
-
healthDeclaration1: false,
|
|
1940
|
-
healthDeclaration2: false,
|
|
1941
|
-
healthDeclaration3: false,
|
|
1942
|
-
healthDeclaration4: false
|
|
1943
|
-
}
|
|
1944
|
-
});
|
|
1945
|
-
var loadApplicationDataFromLocalStorage = (storageKey = LIFE_PLAN_APPLICATION_KEY) => {
|
|
1946
|
-
if (typeof window === "undefined") return null;
|
|
1947
|
-
try {
|
|
1948
|
-
const stored = window.localStorage.getItem(storageKey);
|
|
1949
|
-
return stored ? JSON.parse(stored) : null;
|
|
1950
|
-
} catch {
|
|
1951
|
-
return null;
|
|
1952
|
-
}
|
|
1953
|
-
};
|
|
1954
|
-
var saveApplicationDataToLocalStorage = (data, storageKey = LIFE_PLAN_APPLICATION_KEY) => {
|
|
1955
|
-
if (typeof window === "undefined") return;
|
|
1956
|
-
window.localStorage.setItem(storageKey, JSON.stringify(data));
|
|
1957
|
-
};
|
|
2099
|
+
var import_react18 = require("react");
|
|
1958
2100
|
|
|
1959
2101
|
// src/NewSaleForm/ui/info-card.tsx
|
|
1960
|
-
var import_react14 = require("react");
|
|
1961
|
-
var
|
|
2102
|
+
var import_react14 = require("@chakra-ui/react");
|
|
2103
|
+
var import_st_peter_ui3 = require("st-peter-ui");
|
|
1962
2104
|
var import_hi = require("react-icons/hi");
|
|
1963
2105
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1964
2106
|
var InfoCard = ({
|
|
@@ -1966,28 +2108,35 @@ var InfoCard = ({
|
|
|
1966
2108
|
icon = import_hi.HiInformationCircle
|
|
1967
2109
|
}) => {
|
|
1968
2110
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1969
|
-
|
|
2111
|
+
import_react14.HStack,
|
|
1970
2112
|
{
|
|
1971
|
-
gap:
|
|
2113
|
+
gap: STANDARD_SPACING.sm,
|
|
1972
2114
|
align: "center",
|
|
1973
2115
|
p: "8px",
|
|
1974
|
-
borderRadius:
|
|
2116
|
+
borderRadius: STANDARD_RADIUS.md,
|
|
1975
2117
|
bg: "#ebf4fb",
|
|
1976
2118
|
borderWidth: "1px",
|
|
1977
2119
|
borderColor: "#1976d2",
|
|
1978
|
-
color:
|
|
2120
|
+
color: BRAND_COLORS.darkGreen,
|
|
1979
2121
|
children: [
|
|
1980
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1981
|
-
|
|
2122
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2123
|
+
import_react14.Box,
|
|
2124
|
+
{
|
|
2125
|
+
as: icon,
|
|
2126
|
+
boxSize: STANDARD_SIZES.iconButton.sm,
|
|
2127
|
+
color: "#1976d2",
|
|
2128
|
+
flexShrink: 0
|
|
2129
|
+
}
|
|
2130
|
+
),
|
|
2131
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react14.Text, { color: "#1976d2", fontSize: "xs", children })
|
|
1982
2132
|
]
|
|
1983
2133
|
}
|
|
1984
2134
|
);
|
|
1985
2135
|
};
|
|
1986
|
-
var info_card_default = InfoCard;
|
|
1987
2136
|
|
|
1988
2137
|
// src/NewSaleForm/ui/input-card-accordion.tsx
|
|
1989
|
-
var
|
|
1990
|
-
var
|
|
2138
|
+
var import_react15 = require("@chakra-ui/react");
|
|
2139
|
+
var import_react16 = require("react");
|
|
1991
2140
|
var import_lu2 = require("react-icons/lu");
|
|
1992
2141
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1993
2142
|
function InputCardAccordion({
|
|
@@ -2001,7 +2150,7 @@ function InputCardAccordion({
|
|
|
2001
2150
|
onToggle,
|
|
2002
2151
|
isComplete
|
|
2003
2152
|
}) {
|
|
2004
|
-
const [internalOpen, setInternalOpen] = (0,
|
|
2153
|
+
const [internalOpen, setInternalOpen] = (0, import_react16.useState)(defaultOpen);
|
|
2005
2154
|
const isControlled = controlledOpen !== void 0;
|
|
2006
2155
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
2007
2156
|
const toggle = () => {
|
|
@@ -2019,7 +2168,7 @@ function InputCardAccordion({
|
|
|
2019
2168
|
};
|
|
2020
2169
|
const activeIcon = isOpen && openedIcon ? openedIcon : icon;
|
|
2021
2170
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2022
|
-
|
|
2171
|
+
import_react15.Box,
|
|
2023
2172
|
{
|
|
2024
2173
|
w: "full",
|
|
2025
2174
|
position: "relative",
|
|
@@ -2033,7 +2182,7 @@ function InputCardAccordion({
|
|
|
2033
2182
|
cursor: "pointer",
|
|
2034
2183
|
children: [
|
|
2035
2184
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2036
|
-
|
|
2185
|
+
import_react15.Flex,
|
|
2037
2186
|
{
|
|
2038
2187
|
align: "center",
|
|
2039
2188
|
justify: "space-between",
|
|
@@ -2048,9 +2197,9 @@ function InputCardAccordion({
|
|
|
2048
2197
|
_hover: { bg: "gray.50" },
|
|
2049
2198
|
transition: "background 0.15s ease",
|
|
2050
2199
|
children: [
|
|
2051
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2200
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react15.Flex, { align: "center", gap: 2, children: [
|
|
2052
2201
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2053
|
-
|
|
2202
|
+
import_react15.Box,
|
|
2054
2203
|
{
|
|
2055
2204
|
p: 2,
|
|
2056
2205
|
borderRadius: "full",
|
|
@@ -2060,28 +2209,29 @@ function InputCardAccordion({
|
|
|
2060
2209
|
children: activeIcon
|
|
2061
2210
|
}
|
|
2062
2211
|
),
|
|
2063
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2064
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2065
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2212
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react15.Box, { children: [
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react15.Text, { fontWeight: "bold", fontSize: "md", lineHeight: "1.2", children: title }),
|
|
2214
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react15.Flex, { align: "center", gap: 1, fontSize: "xs", color: "gray.500", children: [
|
|
2066
2215
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lu2.LuHash, { size: 12 }),
|
|
2067
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2216
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react15.Text, { children: subtitle })
|
|
2068
2217
|
] })
|
|
2069
2218
|
] })
|
|
2070
2219
|
] }),
|
|
2071
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2072
|
-
isComplete && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2073
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react15.Flex, { align: "center", gap: 1.5, flexShrink: 0, children: [
|
|
2221
|
+
isComplete && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react15.Box, { color: "green.500", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lu2.LuCheck, { size: 16 }) }),
|
|
2222
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react15.Box, { color: "gray.400", children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lu2.LuChevronUp, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lu2.LuChevronDown, { size: 16 }) })
|
|
2074
2223
|
] })
|
|
2075
2224
|
]
|
|
2076
2225
|
}
|
|
2077
2226
|
),
|
|
2078
|
-
isOpen && children && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2227
|
+
isOpen && children && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react15.Box, { p: 4, borderTopWidth: 1, borderColor: "gray.100", children })
|
|
2079
2228
|
]
|
|
2080
2229
|
}
|
|
2081
2230
|
);
|
|
2082
2231
|
}
|
|
2083
2232
|
|
|
2084
2233
|
// src/NewSaleForm/LifePlanApplicationFormWrapper.tsx
|
|
2234
|
+
var import_st_peter_ui4 = require("st-peter-ui");
|
|
2085
2235
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2086
2236
|
var hasText = (value) => String(value ?? "").trim() !== "";
|
|
2087
2237
|
var isPersonalComplete = (p) => !!p && [
|
|
@@ -2112,12 +2262,12 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2112
2262
|
openSectionKey,
|
|
2113
2263
|
onValidChange
|
|
2114
2264
|
}) => {
|
|
2115
|
-
const [applicationData, setApplicationData] = (0,
|
|
2265
|
+
const [applicationData, setApplicationData] = (0, import_react18.useState)(
|
|
2116
2266
|
createEmptyApplicationData
|
|
2117
2267
|
);
|
|
2118
|
-
const [hydrated, setHydrated] = (0,
|
|
2119
|
-
const [openSections, setOpenSections] = (0,
|
|
2120
|
-
(0,
|
|
2268
|
+
const [hydrated, setHydrated] = (0, import_react18.useState)(false);
|
|
2269
|
+
const [openSections, setOpenSections] = (0, import_react18.useState)(["personal"]);
|
|
2270
|
+
(0, import_react18.useEffect)(() => {
|
|
2121
2271
|
const timeoutId = window.setTimeout(() => {
|
|
2122
2272
|
const saved = loadApplicationDataFromLocalStorage();
|
|
2123
2273
|
if (saved) setApplicationData(saved);
|
|
@@ -2125,15 +2275,15 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2125
2275
|
}, 0);
|
|
2126
2276
|
return () => window.clearTimeout(timeoutId);
|
|
2127
2277
|
}, []);
|
|
2128
|
-
(0,
|
|
2278
|
+
(0, import_react18.useEffect)(() => {
|
|
2129
2279
|
if (!hydrated) return;
|
|
2130
2280
|
saveApplicationDataToLocalStorage(applicationData);
|
|
2131
2281
|
}, [applicationData, hydrated]);
|
|
2132
2282
|
const isComplete = isPersonalComplete(applicationData.personalInfo) && isAddressComplete(applicationData.address);
|
|
2133
|
-
(0,
|
|
2283
|
+
(0, import_react18.useEffect)(() => {
|
|
2134
2284
|
onValidChange?.(isComplete);
|
|
2135
2285
|
}, [isComplete, onValidChange]);
|
|
2136
|
-
(0,
|
|
2286
|
+
(0, import_react18.useEffect)(() => {
|
|
2137
2287
|
if (!openSection) return;
|
|
2138
2288
|
const timer = window.setTimeout(() => {
|
|
2139
2289
|
setOpenSections(
|
|
@@ -2143,7 +2293,7 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2143
2293
|
}, 80);
|
|
2144
2294
|
return () => window.clearTimeout(timer);
|
|
2145
2295
|
}, [openSection, openSectionKey]);
|
|
2146
|
-
const handlePersonalInfoUpdate = (0,
|
|
2296
|
+
const handlePersonalInfoUpdate = (0, import_react18.useCallback)(
|
|
2147
2297
|
(personalInfo) => {
|
|
2148
2298
|
setApplicationData((prev) => ({
|
|
2149
2299
|
...prev,
|
|
@@ -2152,13 +2302,13 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2152
2302
|
},
|
|
2153
2303
|
[]
|
|
2154
2304
|
);
|
|
2155
|
-
const handleAddressUpdate = (0,
|
|
2305
|
+
const handleAddressUpdate = (0, import_react18.useCallback)((address) => {
|
|
2156
2306
|
setApplicationData((prev) => ({
|
|
2157
2307
|
...prev,
|
|
2158
2308
|
address
|
|
2159
2309
|
}));
|
|
2160
2310
|
}, []);
|
|
2161
|
-
const handleEmploymentUpdate = (0,
|
|
2311
|
+
const handleEmploymentUpdate = (0, import_react18.useCallback)((employment) => {
|
|
2162
2312
|
setApplicationData((prev) => ({
|
|
2163
2313
|
...prev,
|
|
2164
2314
|
employment
|
|
@@ -2209,23 +2359,23 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2209
2359
|
(prev) => prev.includes(value) ? prev.filter((sectionValue) => sectionValue !== value) : [...prev, value]
|
|
2210
2360
|
);
|
|
2211
2361
|
};
|
|
2212
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react17.Box, { w: "full", children: [
|
|
2213
2363
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2214
|
-
|
|
2364
|
+
import_react17.Flex,
|
|
2215
2365
|
{
|
|
2216
2366
|
direction: { base: "column", sm: "row" },
|
|
2217
2367
|
align: { base: "stretch", sm: "center" },
|
|
2218
2368
|
justify: "space-between",
|
|
2219
2369
|
gap: STANDARD_SPACING.sm,
|
|
2220
2370
|
mb: STANDARD_SPACING.sm,
|
|
2221
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2222
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2223
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2224
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2371
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react17.Flex, { direction: "column", gap: STANDARD_SPACING.xs, w: "full", children: [
|
|
2372
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoCard, { children: "Sections below are expandable and collapsible. Use them to focus only on relevant details." }),
|
|
2373
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react17.Flex, { gap: STANDARD_SPACING.xs, justify: "flex-end", children: [
|
|
2374
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_st_peter_ui4.TertiarySmButton, { onClick: expandAll, children: [
|
|
2225
2375
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_lu3.LuChevronsDown, { size: 14 }),
|
|
2226
2376
|
"Expand All"
|
|
2227
2377
|
] }),
|
|
2228
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2378
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_st_peter_ui4.TertiarySmButton, { onClick: collapseAll, children: [
|
|
2229
2379
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_lu3.LuChevronsUp, { size: 14 }),
|
|
2230
2380
|
"Collapse All"
|
|
2231
2381
|
] })
|
|
@@ -2233,15 +2383,15 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2233
2383
|
] })
|
|
2234
2384
|
}
|
|
2235
2385
|
),
|
|
2236
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2237
|
-
|
|
2386
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react17.VStack, { align: "stretch", gap: 2, children: sections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2387
|
+
import_react17.Box,
|
|
2238
2388
|
{
|
|
2239
2389
|
id: `app-section-${section.value}`,
|
|
2240
2390
|
scrollMarginTop: "80px",
|
|
2241
2391
|
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2242
2392
|
InputCardAccordion,
|
|
2243
2393
|
{
|
|
2244
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2394
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react17.Icon, { as: section.icon, boxSize: "18px" }),
|
|
2245
2395
|
title: section.label,
|
|
2246
2396
|
subtitle: section.description,
|
|
2247
2397
|
isOpen: openSections.includes(section.value),
|
|
@@ -2258,107 +2408,126 @@ var LifePlanApplicationFormWrapper = ({
|
|
|
2258
2408
|
var LifePlanApplicationFormWrapper_default = LifePlanApplicationFormWrapper;
|
|
2259
2409
|
|
|
2260
2410
|
// src/NewSaleForm/SharedLifePlanApplication.tsx
|
|
2261
|
-
var
|
|
2262
|
-
var
|
|
2411
|
+
var import_react26 = require("@chakra-ui/react");
|
|
2412
|
+
var import_react27 = require("react");
|
|
2263
2413
|
|
|
2264
2414
|
// src/NewSaleForm/data/lifePlanSteps.tsx
|
|
2265
2415
|
var import_fa4 = require("react-icons/fa");
|
|
2266
2416
|
var import_io3 = require("react-icons/io");
|
|
2267
2417
|
|
|
2268
2418
|
// src/NewSaleForm/confirmation.tsx
|
|
2269
|
-
var
|
|
2270
|
-
var
|
|
2419
|
+
var import_react22 = require("@chakra-ui/react");
|
|
2420
|
+
var import_st_peter_ui6 = require("st-peter-ui");
|
|
2271
2421
|
var import_fa6 = require("react-icons/fa6");
|
|
2272
2422
|
var import_fa3 = require("react-icons/fa");
|
|
2273
2423
|
var import_io2 = require("react-icons/io");
|
|
2274
|
-
var
|
|
2424
|
+
var import_fi = require("react-icons/fi");
|
|
2425
|
+
var import_react23 = require("react");
|
|
2275
2426
|
|
|
2276
2427
|
// src/NewSaleForm/data/checkBoxList.tsx
|
|
2277
|
-
var
|
|
2278
|
-
var
|
|
2428
|
+
var import_react19 = require("@chakra-ui/react");
|
|
2429
|
+
var import_st_peter_ui5 = require("st-peter-ui");
|
|
2279
2430
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2280
2431
|
var checkboxList = [
|
|
2281
2432
|
{
|
|
2282
2433
|
title: "TERMS OF USE",
|
|
2283
2434
|
checkBoxTitle: "I hereby confirm that the information that I provided is correct and that I accept the TERMS AND CONDITIONS AND DATA PRIVACY AGREEMENT.",
|
|
2284
|
-
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2285
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2286
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2287
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2288
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2289
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2290
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2291
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2292
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2293
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2294
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2295
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2296
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2297
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2298
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2299
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2300
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2301
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2302
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2303
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2304
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2305
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2435
|
+
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react19.Box, { children: [
|
|
2436
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Please read these Terms and Conditions of Use carefully before using this website. Using this website means you have read, understood, agreed to and accepted these Terms and Conditions of Use. If you do not accept these Terms and Conditions of Use, do not use this website." }),
|
|
2437
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "CHANGES TO THIS TERMS AND USE" }),
|
|
2438
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "St. Peter Group reserves the right to change these Terms and Conditions of Use from time to time, in whole or in part, without prior notice. Your continued use of this Website after changes to the Terms and Conditions of Use have been published constitutes your binding agreement and acceptance of the updated Terms and Conditions of Use. If at any time the Terms and Conditions of Use are not acceptable to you, you should immediately cease use of this website." }),
|
|
2439
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "TRADEMARKS" }),
|
|
2440
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "The trademarks, logos, and service marks displayed on this Website are the properties of the St. Peter Group or the St. Peter Group. You are not permitted to use these items without the prior written consent of St. Peter Group or the St. Peter Group." }),
|
|
2441
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "INTELLECTUAL PROPERTY RIGHTS" }),
|
|
2442
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "The St. Peter Group owns the intellectual property rights in the content that is made available on this Website, or has obtained the permission of the proper owner/s to make such content available. The St. Peter Group strictly prohibits the redistribution or copying of this Website, in whole or in part, without written permission." }),
|
|
2443
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "LINKS TO OTHER SITES" }),
|
|
2444
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "This website contains links to other websites and are provided for convenience only. St. Peter Group has not reviewed the linked websites and is not responsible for the content or availability of any linked websites. Inclusion of any link does not imply endorsement." }),
|
|
2445
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "SUBMISSION OF UNOFFICIAL IDEAS" }),
|
|
2446
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "St. Peter Group does not accept unsolicited unofficial ideas. Do not send original creative artwork, samples, demos, or other works. Any submissions will not be treated as confidential or proprietary." }),
|
|
2447
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "RULES OF CONDUCT" }),
|
|
2448
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Your use of this Website is subject to all applicable laws. Do not post threatening, abusive, defamatory, obscene, hateful, or illegal content. Do not upload harmful software or attempt to disrupt the Website." }),
|
|
2449
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { mt: 2, children: "You may not post advertisements, political materials, chain letters, spam, or use robots or scraping tools. You may not harvest data without consent." }),
|
|
2450
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "GLOBAL AVAILABILITY" }),
|
|
2451
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "St. Peter Group manages this site from the Philippines. You are responsible for complying with local laws if used from other locations. Some products may not be available worldwide." }),
|
|
2452
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "ACCURACY, COMPLETENESS AND TIMELINESS OF INFORMATION" }),
|
|
2453
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "St. Peter Group is not responsible if information on this Website is inaccurate or incomplete for very specific needs. You are responsible for monitoring changes." }),
|
|
2454
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "DISCLAIMER" }),
|
|
2455
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "The Website is provided \u201Cas is\u201D. St. Peter Group makes no warranties and is not liable for any damages, including loss of data, viruses, errors, or reliance on content." }),
|
|
2456
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "LIMITATION OF LIABILITY" }),
|
|
2457
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "St. Peter Group is not liable for any direct, indirect, punitive, special, incidental, or consequential damages, including loss of business or data." }),
|
|
2458
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { mt: 2, children: "Some jurisdictions may not allow the exclusion of certain damages." }),
|
|
2459
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "JURISDICTION" }),
|
|
2460
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "These Terms are governed by Philippine law. If any provision is held invalid, the remainder stays effective." }),
|
|
2461
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "PRIVACY POLICY" }),
|
|
2462
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Please read our Privacy Policy." }),
|
|
2463
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react19.Separator, { my: 8 }),
|
|
2464
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "HOW TO CONTACT US" }),
|
|
2465
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "If you have any concern regarding these Terms of Use, contact us:" }),
|
|
2466
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { mt: 2, fontWeight: "semibold", children: "For website concerns: ronagl@stpeter.com.ph" }),
|
|
2467
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { mt: 2, fontWeight: "semibold", children: "For data privacy concerns: joycemb@stpeter.com.ph" }),
|
|
2468
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Small, { textAlign: "center", mt: 8, children: "This Terms of Use was amended on August 30, 2018" })
|
|
2306
2469
|
] })
|
|
2307
2470
|
},
|
|
2308
2471
|
{
|
|
2309
2472
|
title: "TERMS OF LIFE PLAN CONTRACT",
|
|
2310
2473
|
checkBoxTitle: "I hereby confirm that the information that I provided is correct and that I accept the TERMS OF LIFE PLAN CONTRACT.",
|
|
2311
|
-
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2312
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2313
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2314
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2315
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2316
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2317
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2318
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2319
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2320
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2321
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2322
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2323
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2324
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2325
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2326
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2327
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2328
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2329
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2330
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2331
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2332
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2333
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2334
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2335
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2336
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2337
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2338
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2474
|
+
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react19.Box, { children: [
|
|
2475
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "ARTICLE I. DEFINITION OF TERMS" }),
|
|
2476
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "ST. PETER" }),
|
|
2477
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "ST. PETER LIFE PLAN, INC." }),
|
|
2478
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "PLANHOLDER" }),
|
|
2479
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the person who purchases and owns the plan for whom or for whose beneficiaries benefits are to be delivered, as stipulated and guaranteed by ST. PETER. The term includes the assignee, transferee, and any successor-in-interest of the PLANHOLDER." }),
|
|
2480
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Contract" }),
|
|
2481
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the Life Plan Contract between ST. PETER and the PLANHOLDER providing the terms and conditions thereof." }),
|
|
2482
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Contract Price" }),
|
|
2483
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the stipulated price of the Life Plan which may be paid either in lump sum or in installments, net of handling fees and other charges, if any." }),
|
|
2484
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Gross Contract Price" }),
|
|
2485
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the stipulated price of the Life Plan which includes handling fees and other charges." }),
|
|
2486
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Plan Installment" }),
|
|
2487
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the monthly, quarterly, semi-annual or annual installment amounts paid by the PLANHOLDER." }),
|
|
2488
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Paying Period" }),
|
|
2489
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the period of time within which the PLANHOLDER has to pay for the Gross Contract Price of the plan in monthly, quarterly, semi-annual, annual installments or lump sum." }),
|
|
2490
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Due Date" }),
|
|
2491
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the date when the PLANHOLDER\u2019s installment should be paid." }),
|
|
2492
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Beneficiary" }),
|
|
2493
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the person designated by the PLANHOLDER, in accordance with law, to receive the plan\u2019s insurance proceeds and/or pre-need benefits in case of unrendered service. The PLANHOLDER has the right to change the beneficiary/ies designated in the application subject to the submission of the standard form and approval." }),
|
|
2494
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Grace Period" }),
|
|
2495
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the sixty-day period given to the PLANHOLDER within which to pay accrued installments due, counted from the due date of the first unpaid installment in default, as stipulated in this Life Plan Contract." }),
|
|
2496
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Lapsed Plan" }),
|
|
2497
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to a delinquent plan which has remained unpaid beyond the grace period. A Lapsed Plan has no force and effect." }),
|
|
2498
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Reinstatement" }),
|
|
2499
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the process of reactivating a lapsed plan." }),
|
|
2500
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Certificate of Full Payment" }),
|
|
2501
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to ST. PETER\u2019s duly signed certification stating that a plan has been fully paid." }),
|
|
2502
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "In Force Plan or Active Plan" }),
|
|
2503
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to a pre-need plan for which ST. PETER has an outstanding obligation, either for (1) delivery of benefits or services or (2) payment of termination value." }),
|
|
2504
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Mortuary Tie-Up" }),
|
|
2505
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the memorial servicing tie-up or mortuary accredited with ST. PETER which renders the memorial services stipulated hereunder." }),
|
|
2506
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Effective Date" }),
|
|
2507
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "Refers to the date when the payment of at least one (1) modal installment has been accepted and the purchase has been approved by ST. PETER with the issuance of this Contract and as indicated herein." })
|
|
2339
2508
|
] })
|
|
2340
2509
|
},
|
|
2341
2510
|
{
|
|
2342
2511
|
title: "OUR CUSTOMER SERVICE CHARTER",
|
|
2343
2512
|
checkBoxTitle: "I have read and understood the CUSTOMER SERVICE CHARTER.",
|
|
2344
|
-
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2345
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2346
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2347
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2513
|
+
description: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react19.Box, { children: [
|
|
2514
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { children: "We at ST. PETER LIFE PLAN, INC. hold ourselves as DeathCare Experts who aspire to be the most trusted and reliable provider in your Pre-Need Life Plan needs. We also aim to deliver world-class DeathCare services to our planholders. At the core of our corporate values is customer satisfaction. We believe that every filipino family should have a St. Peter Life Plan. These are the pillars of our company\u2019s customer service commitment especially in our online facility and in social media." }),
|
|
2515
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { fontWeight: "semibold", mt: 4, children: "Our customer service charter reflects our commitment to:" }),
|
|
2516
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react19.Box, { as: "ul", listStyleType: "circle", listStylePosition: "inside", children: [
|
|
2348
2517
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { children: "Safe and Secure Operations" }),
|
|
2349
2518
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { children: "Maintenance of Customer Privacy" }),
|
|
2350
2519
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { children: "Quality Services" }),
|
|
2351
2520
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { children: "Transparent Product Information" }),
|
|
2352
2521
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { children: "Prompt Response to Inquiries and Complaints" })
|
|
2353
2522
|
] }),
|
|
2354
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2523
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_st_peter_ui5.Body, { mt: 4, fontWeight: "semibold", children: "OUR CUSTOMER SERVICE STANDARDS AND COMMITMENTS" })
|
|
2355
2524
|
] })
|
|
2356
2525
|
}
|
|
2357
2526
|
];
|
|
2358
2527
|
|
|
2359
2528
|
// src/NewSaleForm/ui/info-card-accordion.tsx
|
|
2360
|
-
var
|
|
2361
|
-
var
|
|
2529
|
+
var import_react20 = require("@chakra-ui/react");
|
|
2530
|
+
var import_react21 = require("react");
|
|
2362
2531
|
var import_lu4 = require("react-icons/lu");
|
|
2363
2532
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2364
2533
|
function InfoCardAccordion({
|
|
@@ -2372,7 +2541,7 @@ function InfoCardAccordion({
|
|
|
2372
2541
|
onToggle,
|
|
2373
2542
|
onEdit
|
|
2374
2543
|
}) {
|
|
2375
|
-
const [internalOpen, setInternalOpen] = (0,
|
|
2544
|
+
const [internalOpen, setInternalOpen] = (0, import_react21.useState)(defaultOpen);
|
|
2376
2545
|
const isControlled = controlledOpen !== void 0;
|
|
2377
2546
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
2378
2547
|
const toggle = () => {
|
|
@@ -2390,7 +2559,7 @@ function InfoCardAccordion({
|
|
|
2390
2559
|
};
|
|
2391
2560
|
const activeIcon = isOpen && openedIcon ? openedIcon : icon;
|
|
2392
2561
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2393
|
-
|
|
2562
|
+
import_react20.Box,
|
|
2394
2563
|
{
|
|
2395
2564
|
w: "full",
|
|
2396
2565
|
position: "relative",
|
|
@@ -2404,7 +2573,7 @@ function InfoCardAccordion({
|
|
|
2404
2573
|
cursor: "pointer",
|
|
2405
2574
|
children: [
|
|
2406
2575
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2407
|
-
|
|
2576
|
+
import_react20.Flex,
|
|
2408
2577
|
{
|
|
2409
2578
|
align: "center",
|
|
2410
2579
|
justify: "space-between",
|
|
@@ -2419,9 +2588,9 @@ function InfoCardAccordion({
|
|
|
2419
2588
|
_hover: { bg: "gray.50" },
|
|
2420
2589
|
transition: "background 0.15s ease",
|
|
2421
2590
|
children: [
|
|
2422
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2591
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react20.Flex, { align: "center", gap: 2, children: [
|
|
2423
2592
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2424
|
-
|
|
2593
|
+
import_react20.Box,
|
|
2425
2594
|
{
|
|
2426
2595
|
p: 2,
|
|
2427
2596
|
borderRadius: "full",
|
|
@@ -2431,17 +2600,17 @@ function InfoCardAccordion({
|
|
|
2431
2600
|
children: activeIcon
|
|
2432
2601
|
}
|
|
2433
2602
|
),
|
|
2434
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2435
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2436
|
-
subtitle && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2603
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react20.Box, { children: [
|
|
2604
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react20.Text, { fontWeight: "bold", fontSize: "md", lineHeight: "1.2", children: title }),
|
|
2605
|
+
subtitle && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react20.Flex, { align: "center", gap: 1, fontSize: "xs", color: "gray.500", children: [
|
|
2437
2606
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lu4.LuHash, { size: 12 }),
|
|
2438
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2607
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react20.Text, { children: subtitle })
|
|
2439
2608
|
] })
|
|
2440
2609
|
] })
|
|
2441
2610
|
] }),
|
|
2442
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
2611
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react20.Flex, { align: "center", gap: 1, flexShrink: 0, children: [
|
|
2443
2612
|
onEdit && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2444
|
-
|
|
2613
|
+
import_react20.Button,
|
|
2445
2614
|
{
|
|
2446
2615
|
variant: "ghost",
|
|
2447
2616
|
p: 0,
|
|
@@ -2453,15 +2622,15 @@ function InfoCardAccordion({
|
|
|
2453
2622
|
e.stopPropagation();
|
|
2454
2623
|
onEdit();
|
|
2455
2624
|
},
|
|
2456
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2625
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react20.Icon, { as: import_lu4.LuPencil, boxSize: 4 })
|
|
2457
2626
|
}
|
|
2458
2627
|
),
|
|
2459
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2628
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react20.Box, { color: "gray.400", children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lu4.LuChevronUp, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lu4.LuChevronDown, { size: 16 }) })
|
|
2460
2629
|
] })
|
|
2461
2630
|
]
|
|
2462
2631
|
}
|
|
2463
2632
|
),
|
|
2464
|
-
isOpen && children && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2633
|
+
isOpen && children && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react20.Box, { p: 4, borderTopWidth: 1, borderColor: "gray.100", children })
|
|
2465
2634
|
]
|
|
2466
2635
|
}
|
|
2467
2636
|
);
|
|
@@ -2489,10 +2658,10 @@ var ApplicationAccordion = ({
|
|
|
2489
2658
|
items,
|
|
2490
2659
|
onEdit
|
|
2491
2660
|
}) => {
|
|
2492
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.VStack, { align: "stretch", gap: 3, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2493
2662
|
InfoCardAccordion,
|
|
2494
2663
|
{
|
|
2495
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2664
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Icon, { as: item.icon, boxSize: "18px" }),
|
|
2496
2665
|
title: item.label,
|
|
2497
2666
|
...item.subtitle !== void 0 ? { subtitle: item.subtitle } : {},
|
|
2498
2667
|
defaultOpen: index === 0,
|
|
@@ -2504,16 +2673,66 @@ var ApplicationAccordion = ({
|
|
|
2504
2673
|
};
|
|
2505
2674
|
var ReviewRows2 = ({
|
|
2506
2675
|
rows
|
|
2507
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2676
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.VStack, { align: "stretch", gap: 1, children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(RowItem, { label: row.label, value: row.value }, row.label)) });
|
|
2677
|
+
var FieldGrid = ({
|
|
2678
|
+
rows
|
|
2679
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.SimpleGrid, { columns: { base: 1, sm: 2 }, columnGap: 6, rowGap: 5, children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Box, { minW: 0, children: [
|
|
2680
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Text, { fontSize: "xs", color: "gray.500", mb: 1, children: row.label }),
|
|
2681
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2682
|
+
import_react22.Text,
|
|
2683
|
+
{
|
|
2684
|
+
fontSize: "sm",
|
|
2685
|
+
fontWeight: "600",
|
|
2686
|
+
color: "gray.900",
|
|
2687
|
+
wordBreak: "break-word",
|
|
2688
|
+
children: row.value ?? "-"
|
|
2689
|
+
}
|
|
2690
|
+
)
|
|
2691
|
+
] }, row.label)) });
|
|
2692
|
+
var SectionCard = ({
|
|
2693
|
+
title,
|
|
2694
|
+
onEdit,
|
|
2695
|
+
children
|
|
2696
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2697
|
+
import_react22.Box,
|
|
2698
|
+
{
|
|
2699
|
+
css: { breakInside: "avoid" },
|
|
2700
|
+
mb: 6,
|
|
2701
|
+
bg: "white",
|
|
2702
|
+
borderWidth: "1px",
|
|
2703
|
+
borderColor: "gray.200",
|
|
2704
|
+
borderRadius: "xl",
|
|
2705
|
+
boxShadow: "sm",
|
|
2706
|
+
p: 6,
|
|
2707
|
+
children: [
|
|
2708
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Flex, { justify: "space-between", align: "center", mb: 5, children: [
|
|
2709
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Heading, { as: "h3", fontSize: "lg", fontWeight: "bold", color: "gray.900", children: title }),
|
|
2710
|
+
onEdit ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2711
|
+
import_react22.IconButton,
|
|
2712
|
+
{
|
|
2713
|
+
"aria-label": `Edit ${title}`,
|
|
2714
|
+
size: "sm",
|
|
2715
|
+
variant: "ghost",
|
|
2716
|
+
color: "gray.400",
|
|
2717
|
+
_hover: { color: "green.600", bg: "green.50" },
|
|
2718
|
+
onClick: onEdit,
|
|
2719
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_fi.FiEdit2, {})
|
|
2720
|
+
}
|
|
2721
|
+
) : null
|
|
2722
|
+
] }),
|
|
2723
|
+
children
|
|
2724
|
+
]
|
|
2725
|
+
}
|
|
2726
|
+
);
|
|
2508
2727
|
var Confirmation = ({ onAllAcceptedChange, onEdit }) => {
|
|
2509
|
-
const [cartItems, setCartItems] = (0,
|
|
2510
|
-
const [lifePlanApplication, setLifePlanApplication] = (0,
|
|
2511
|
-
const [openDialog, setOpenDialog] = (0,
|
|
2512
|
-
const [pendingCheck, setPendingCheck] = (0,
|
|
2513
|
-
const [acceptedAgreements, setAcceptedAgreements] = (0,
|
|
2728
|
+
const [cartItems, setCartItems] = (0, import_react23.useState)(null);
|
|
2729
|
+
const [lifePlanApplication, setLifePlanApplication] = (0, import_react23.useState)(null);
|
|
2730
|
+
const [openDialog, setOpenDialog] = (0, import_react23.useState)(false);
|
|
2731
|
+
const [pendingCheck, setPendingCheck] = (0, import_react23.useState)(null);
|
|
2732
|
+
const [acceptedAgreements, setAcceptedAgreements] = (0, import_react23.useState)(
|
|
2514
2733
|
() => checkboxList.map(() => false)
|
|
2515
2734
|
);
|
|
2516
|
-
(0,
|
|
2735
|
+
(0, import_react23.useEffect)(() => {
|
|
2517
2736
|
const loadStoredData = () => {
|
|
2518
2737
|
try {
|
|
2519
2738
|
const checkoutStored = sessionStorage.getItem("CheckoutCart");
|
|
@@ -2548,7 +2767,7 @@ var Confirmation = ({ onAllAcceptedChange, onEdit }) => {
|
|
|
2548
2767
|
const acceptedCount = acceptedAgreements.filter(Boolean).length;
|
|
2549
2768
|
const allAccepted = checkboxList.length > 0 && acceptedCount === checkboxList.length;
|
|
2550
2769
|
const pendingAgreement = pendingCheck !== null ? checkboxList[pendingCheck] : null;
|
|
2551
|
-
(0,
|
|
2770
|
+
(0, import_react23.useEffect)(() => {
|
|
2552
2771
|
onAllAcceptedChange?.(allAccepted);
|
|
2553
2772
|
}, [allAccepted, onAllAcceptedChange]);
|
|
2554
2773
|
const beneficiaries = [
|
|
@@ -2575,335 +2794,265 @@ var Confirmation = ({ onAllAcceptedChange, onEdit }) => {
|
|
|
2575
2794
|
setOpenDialog(false);
|
|
2576
2795
|
setPendingCheck(null);
|
|
2577
2796
|
};
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2797
|
+
const orderRows = [
|
|
2798
|
+
{ label: "Selected Plan", value: selectedPlan?.planDesc },
|
|
2799
|
+
{ label: "Quantity", value: selectedPlan?.quantity },
|
|
2800
|
+
{
|
|
2801
|
+
label: "Total Amount Payable",
|
|
2802
|
+
value: selectedPlan ? `\u20B1 ${selectedPlan.total}` : void 0
|
|
2803
|
+
}
|
|
2804
|
+
];
|
|
2805
|
+
const personalRows = [
|
|
2806
|
+
{ label: "Uploaded ID", value: lifePlanApplication?.personalInfo.idType },
|
|
2807
|
+
{ label: "Last Name", value: lifePlanApplication?.personalInfo.lastName },
|
|
2808
|
+
{ label: "First Name", value: lifePlanApplication?.personalInfo.firstName },
|
|
2809
|
+
{
|
|
2810
|
+
label: "Middle Name",
|
|
2811
|
+
value: lifePlanApplication?.personalInfo.middleName
|
|
2812
|
+
},
|
|
2813
|
+
{ label: "Suffix", value: lifePlanApplication?.personalInfo.suffix },
|
|
2814
|
+
{
|
|
2815
|
+
label: "Date of Birth",
|
|
2816
|
+
value: lifePlanApplication?.personalInfo.birthDate
|
|
2817
|
+
},
|
|
2818
|
+
{ label: "Gender", value: lifePlanApplication?.personalInfo.gender },
|
|
2819
|
+
{
|
|
2820
|
+
label: "Contact Number",
|
|
2821
|
+
value: lifePlanApplication?.personalInfo.mobileNumber
|
|
2822
|
+
},
|
|
2823
|
+
{ label: "Email", value: lifePlanApplication?.personalInfo.emailAddress },
|
|
2824
|
+
{
|
|
2825
|
+
label: "Landline Number",
|
|
2826
|
+
value: lifePlanApplication?.personalInfo.landLineNumber
|
|
2827
|
+
},
|
|
2828
|
+
{
|
|
2829
|
+
label: "Mailing Address",
|
|
2830
|
+
value: lifePlanApplication?.personalInfo.mailingAddress
|
|
2831
|
+
},
|
|
2832
|
+
{
|
|
2833
|
+
label: "Civil Status",
|
|
2834
|
+
value: lifePlanApplication?.personalInfo.civilStatus
|
|
2835
|
+
}
|
|
2836
|
+
];
|
|
2837
|
+
const addressRows = [
|
|
2838
|
+
{ label: "Lot #", value: lifePlanApplication?.address.lot },
|
|
2839
|
+
{ label: "Street", value: lifePlanApplication?.address.street },
|
|
2840
|
+
{ label: "Barangay", value: lifePlanApplication?.address.barangay },
|
|
2841
|
+
{ label: "City", value: lifePlanApplication?.address.city },
|
|
2842
|
+
{ label: "Province", value: lifePlanApplication?.address.province }
|
|
2843
|
+
];
|
|
2844
|
+
const employmentRows = [
|
|
2845
|
+
{ label: "Occupation", value: lifePlanApplication?.employment.occupation },
|
|
2846
|
+
{
|
|
2847
|
+
label: "Employer Name",
|
|
2848
|
+
value: lifePlanApplication?.employment.employerName
|
|
2849
|
+
},
|
|
2850
|
+
{
|
|
2851
|
+
label: "Employment Status",
|
|
2852
|
+
value: lifePlanApplication?.employment.employmentStatus
|
|
2853
|
+
},
|
|
2854
|
+
{
|
|
2855
|
+
label: "Office Address",
|
|
2856
|
+
value: lifePlanApplication?.employment.officeAddress
|
|
2857
|
+
},
|
|
2858
|
+
{ label: "TIN", value: lifePlanApplication?.employment.TIN },
|
|
2859
|
+
{ label: "SSS/GSIS", value: lifePlanApplication?.employment.SSS },
|
|
2860
|
+
{
|
|
2861
|
+
label: "Source of Income",
|
|
2862
|
+
value: lifePlanApplication?.employment.sourceOfIncome
|
|
2863
|
+
}
|
|
2864
|
+
];
|
|
2865
|
+
const beneficiaryItems = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.VStack, { align: "stretch", gap: 4, children: beneficiaries.map((beneficiary, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Box, { children: [
|
|
2866
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Text, { fontWeight: "semibold", fontSize: "sm", mb: 1, children: beneficiary.name }),
|
|
2607
2867
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2608
|
-
|
|
2868
|
+
ReviewRows2,
|
|
2609
2869
|
{
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
{
|
|
2614
|
-
icon: import_fa3.FaRegUser,
|
|
2615
|
-
label: "Personal Info",
|
|
2616
|
-
subtitle: "Identification and full name",
|
|
2617
|
-
value: "personal",
|
|
2618
|
-
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2619
|
-
ReviewRows2,
|
|
2620
|
-
{
|
|
2621
|
-
rows: [
|
|
2622
|
-
{
|
|
2623
|
-
label: "Uploaded ID",
|
|
2624
|
-
value: lifePlanApplication?.personalInfo.idType
|
|
2625
|
-
},
|
|
2626
|
-
{
|
|
2627
|
-
label: "Last Name",
|
|
2628
|
-
value: lifePlanApplication?.personalInfo.lastName
|
|
2629
|
-
},
|
|
2630
|
-
{
|
|
2631
|
-
label: "First Name",
|
|
2632
|
-
value: lifePlanApplication?.personalInfo.firstName
|
|
2633
|
-
},
|
|
2634
|
-
{
|
|
2635
|
-
label: "Middle Name",
|
|
2636
|
-
value: lifePlanApplication?.personalInfo.middleName
|
|
2637
|
-
},
|
|
2638
|
-
{
|
|
2639
|
-
label: "Suffix",
|
|
2640
|
-
value: lifePlanApplication?.personalInfo.suffix
|
|
2641
|
-
},
|
|
2642
|
-
{
|
|
2643
|
-
label: "Date of Birth",
|
|
2644
|
-
value: lifePlanApplication?.personalInfo.birthDate
|
|
2645
|
-
},
|
|
2646
|
-
{
|
|
2647
|
-
label: "Gender",
|
|
2648
|
-
value: lifePlanApplication?.personalInfo.gender
|
|
2649
|
-
},
|
|
2650
|
-
{
|
|
2651
|
-
label: "Contact Number",
|
|
2652
|
-
value: lifePlanApplication?.personalInfo.mobileNumber
|
|
2653
|
-
},
|
|
2654
|
-
{
|
|
2655
|
-
label: "Email",
|
|
2656
|
-
value: lifePlanApplication?.personalInfo.emailAddress
|
|
2657
|
-
},
|
|
2658
|
-
{
|
|
2659
|
-
label: "Landline Number",
|
|
2660
|
-
value: lifePlanApplication?.personalInfo.landLineNumber
|
|
2661
|
-
},
|
|
2662
|
-
{
|
|
2663
|
-
label: "Mailing Address",
|
|
2664
|
-
value: lifePlanApplication?.personalInfo.mailingAddress
|
|
2665
|
-
},
|
|
2666
|
-
{
|
|
2667
|
-
label: "Civil Status",
|
|
2668
|
-
value: lifePlanApplication?.personalInfo.civilStatus
|
|
2669
|
-
}
|
|
2670
|
-
]
|
|
2671
|
-
}
|
|
2672
|
-
)
|
|
2673
|
-
},
|
|
2674
|
-
{
|
|
2675
|
-
icon: import_fa6.FaRegAddressCard,
|
|
2676
|
-
label: "Address",
|
|
2677
|
-
subtitle: "Where you currently live",
|
|
2678
|
-
value: "address",
|
|
2679
|
-
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2680
|
-
ReviewRows2,
|
|
2681
|
-
{
|
|
2682
|
-
rows: [
|
|
2683
|
-
{
|
|
2684
|
-
label: "Lot #",
|
|
2685
|
-
value: lifePlanApplication?.address.lot
|
|
2686
|
-
},
|
|
2687
|
-
{
|
|
2688
|
-
label: "Street",
|
|
2689
|
-
value: lifePlanApplication?.address.street
|
|
2690
|
-
},
|
|
2691
|
-
{
|
|
2692
|
-
label: "Barangay",
|
|
2693
|
-
value: lifePlanApplication?.address.barangay
|
|
2694
|
-
},
|
|
2695
|
-
{
|
|
2696
|
-
label: "City",
|
|
2697
|
-
value: lifePlanApplication?.address.city
|
|
2698
|
-
},
|
|
2699
|
-
{
|
|
2700
|
-
label: "Province",
|
|
2701
|
-
value: lifePlanApplication?.address.province
|
|
2702
|
-
}
|
|
2703
|
-
]
|
|
2704
|
-
}
|
|
2705
|
-
)
|
|
2706
|
-
},
|
|
2707
|
-
{
|
|
2708
|
-
icon: import_io2.IoIosInformationCircleOutline,
|
|
2709
|
-
label: "Employment",
|
|
2710
|
-
subtitle: "Work and income details",
|
|
2711
|
-
value: "employment",
|
|
2712
|
-
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2713
|
-
ReviewRows2,
|
|
2714
|
-
{
|
|
2715
|
-
rows: [
|
|
2716
|
-
{
|
|
2717
|
-
label: "Occupation",
|
|
2718
|
-
value: lifePlanApplication?.employment.occupation
|
|
2719
|
-
},
|
|
2720
|
-
{
|
|
2721
|
-
label: "Employer Name",
|
|
2722
|
-
value: lifePlanApplication?.employment.employerName
|
|
2723
|
-
},
|
|
2724
|
-
{
|
|
2725
|
-
label: "Employment Status",
|
|
2726
|
-
value: lifePlanApplication?.employment.employmentStatus
|
|
2727
|
-
},
|
|
2728
|
-
{
|
|
2729
|
-
label: "Office Address",
|
|
2730
|
-
value: lifePlanApplication?.employment.officeAddress
|
|
2731
|
-
},
|
|
2732
|
-
{
|
|
2733
|
-
label: "TIN",
|
|
2734
|
-
value: lifePlanApplication?.employment.TIN
|
|
2735
|
-
},
|
|
2736
|
-
{
|
|
2737
|
-
label: "SSS/GSIS",
|
|
2738
|
-
value: lifePlanApplication?.employment.SSS
|
|
2739
|
-
},
|
|
2740
|
-
{
|
|
2741
|
-
label: "Source of Income",
|
|
2742
|
-
value: lifePlanApplication?.employment.sourceOfIncome
|
|
2743
|
-
}
|
|
2744
|
-
]
|
|
2745
|
-
}
|
|
2746
|
-
)
|
|
2747
|
-
}
|
|
2870
|
+
rows: [
|
|
2871
|
+
{ label: "Relationship", value: beneficiary.relationship },
|
|
2872
|
+
{ label: "Date of Birth", value: beneficiary.dob },
|
|
2873
|
+
{ label: "Address", value: beneficiary.address }
|
|
2748
2874
|
]
|
|
2749
2875
|
}
|
|
2750
|
-
)
|
|
2751
|
-
|
|
2752
|
-
|
|
2876
|
+
)
|
|
2877
|
+
] }, `${beneficiary.name}-${index}`)) });
|
|
2878
|
+
const agreementItems = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.VStack, { align: "stretch", gap: 3, children: checkboxList.map((item, index) => {
|
|
2879
|
+
const isAccepted = acceptedAgreements[index];
|
|
2880
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2881
|
+
import_react22.Box,
|
|
2753
2882
|
{
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2883
|
+
role: "button",
|
|
2884
|
+
tabIndex: 0,
|
|
2885
|
+
p: 4,
|
|
2886
|
+
borderWidth: "1px",
|
|
2887
|
+
rounded: "xl",
|
|
2888
|
+
bg: isAccepted ? "green.50" : "gray.50",
|
|
2889
|
+
transition: "all 0.15s ease",
|
|
2890
|
+
_hover: { bg: isAccepted ? "green.100" : "gray.100" },
|
|
2891
|
+
onClick: () => {
|
|
2892
|
+
setPendingCheck(index);
|
|
2893
|
+
setOpenDialog(true);
|
|
2894
|
+
},
|
|
2895
|
+
onKeyDown: (e) => {
|
|
2896
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
2897
|
+
e.preventDefault();
|
|
2898
|
+
setPendingCheck(index);
|
|
2899
|
+
setOpenDialog(true);
|
|
2900
|
+
}
|
|
2901
|
+
},
|
|
2902
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Flex, { justify: "space-between", align: "start", gap: 4, children: [
|
|
2903
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Box, { flex: "1", minW: 0, children: [
|
|
2904
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Text, { fontWeight: "semibold", lineClamp: 2, children: [
|
|
2905
|
+
item.checkBoxTitle,
|
|
2906
|
+
"."
|
|
2907
|
+
] }),
|
|
2908
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Text, { fontSize: "sm", color: "gray.600", mt: 1, lineClamp: 1, children: "Tap to review details." })
|
|
2909
|
+
] }),
|
|
2759
2910
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2760
|
-
|
|
2911
|
+
import_react22.Badge,
|
|
2761
2912
|
{
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
value: beneficiary.relationship
|
|
2766
|
-
},
|
|
2767
|
-
{
|
|
2768
|
-
label: "Date of Birth",
|
|
2769
|
-
value: beneficiary.dob
|
|
2770
|
-
},
|
|
2771
|
-
{
|
|
2772
|
-
label: "Address",
|
|
2773
|
-
value: beneficiary.address
|
|
2774
|
-
}
|
|
2775
|
-
]
|
|
2913
|
+
variant: "subtle",
|
|
2914
|
+
colorPalette: isAccepted ? "green" : "gray",
|
|
2915
|
+
children: isAccepted ? "Accepted" : "Review"
|
|
2776
2916
|
}
|
|
2777
2917
|
)
|
|
2778
|
-
] }
|
|
2779
|
-
}
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2918
|
+
] })
|
|
2919
|
+
},
|
|
2920
|
+
index
|
|
2921
|
+
);
|
|
2922
|
+
}) });
|
|
2923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Box, { minH: "100vh", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Box, { px: { base: 0, md: 8 }, pb: { base: 4, md: 8 }, children: [
|
|
2924
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Box, { display: { base: "block", lg: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.VStack, { align: "stretch", gap: 3, children: [
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2926
|
+
InfoCardAccordion,
|
|
2927
|
+
{
|
|
2928
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Icon, { as: import_io2.IoIosInformationCircleOutline, boxSize: "18px" }),
|
|
2929
|
+
title: "Order Summary",
|
|
2930
|
+
subtitle: modeLabel(selectedPlan?.mode),
|
|
2931
|
+
defaultOpen: true,
|
|
2932
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ReviewRows2, { rows: orderRows })
|
|
2933
|
+
}
|
|
2934
|
+
),
|
|
2935
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2936
|
+
ApplicationAccordion,
|
|
2937
|
+
{
|
|
2938
|
+
onEdit: onEdit ?? (() => {
|
|
2939
|
+
}),
|
|
2940
|
+
items: [
|
|
2791
2941
|
{
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
bg: isAccepted ? "green.50" : "gray.50",
|
|
2798
|
-
transition: "all 0.15s ease",
|
|
2799
|
-
_hover: { bg: isAccepted ? "green.100" : "gray.100" },
|
|
2800
|
-
onClick: () => {
|
|
2801
|
-
setPendingCheck(index);
|
|
2802
|
-
setOpenDialog(true);
|
|
2803
|
-
},
|
|
2804
|
-
onKeyDown: (e) => {
|
|
2805
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
2806
|
-
e.preventDefault();
|
|
2807
|
-
setPendingCheck(index);
|
|
2808
|
-
setOpenDialog(true);
|
|
2809
|
-
}
|
|
2810
|
-
},
|
|
2811
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react23.Flex, { justify: "space-between", align: "start", gap: 4, children: [
|
|
2812
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react23.Box, { flex: "1", minW: 0, children: [
|
|
2813
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react23.Text, { fontWeight: "semibold", lineClamp: 2, children: [
|
|
2814
|
-
item.checkBoxTitle,
|
|
2815
|
-
"."
|
|
2816
|
-
] }),
|
|
2817
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2818
|
-
import_react23.Text,
|
|
2819
|
-
{
|
|
2820
|
-
fontSize: "sm",
|
|
2821
|
-
color: "gray.600",
|
|
2822
|
-
mt: 1,
|
|
2823
|
-
lineClamp: 1,
|
|
2824
|
-
children: "Tap to review details."
|
|
2825
|
-
}
|
|
2826
|
-
)
|
|
2827
|
-
] }),
|
|
2828
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2829
|
-
import_react23.Badge,
|
|
2830
|
-
{
|
|
2831
|
-
variant: "subtle",
|
|
2832
|
-
colorPalette: isAccepted ? "green" : "gray",
|
|
2833
|
-
children: isAccepted ? "Accepted" : "Review"
|
|
2834
|
-
}
|
|
2835
|
-
)
|
|
2836
|
-
] })
|
|
2942
|
+
icon: import_fa3.FaRegUser,
|
|
2943
|
+
label: "Personal Info",
|
|
2944
|
+
subtitle: "Identification and full name",
|
|
2945
|
+
value: "personal",
|
|
2946
|
+
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ReviewRows2, { rows: personalRows })
|
|
2837
2947
|
},
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2948
|
+
{
|
|
2949
|
+
icon: import_fa6.FaRegAddressCard,
|
|
2950
|
+
label: "Address",
|
|
2951
|
+
subtitle: "Where you currently live",
|
|
2952
|
+
value: "address",
|
|
2953
|
+
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ReviewRows2, { rows: addressRows })
|
|
2954
|
+
},
|
|
2955
|
+
{
|
|
2956
|
+
icon: import_io2.IoIosInformationCircleOutline,
|
|
2957
|
+
label: "Employment",
|
|
2958
|
+
subtitle: "Work and income details",
|
|
2959
|
+
value: "employment",
|
|
2960
|
+
page: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ReviewRows2, { rows: employmentRows })
|
|
2961
|
+
}
|
|
2962
|
+
]
|
|
2963
|
+
}
|
|
2964
|
+
),
|
|
2965
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2966
|
+
InfoCardAccordion,
|
|
2967
|
+
{
|
|
2968
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Icon, { as: import_fa3.FaRegUser, boxSize: "18px" }),
|
|
2969
|
+
title: "Beneficiaries",
|
|
2970
|
+
subtitle: `${beneficiaries.length} listed`,
|
|
2971
|
+
children: beneficiaryItems
|
|
2972
|
+
}
|
|
2973
|
+
),
|
|
2974
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2975
|
+
InfoCardAccordion,
|
|
2976
|
+
{
|
|
2977
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Icon, { as: import_io2.IoIosInformationCircleOutline, boxSize: "18px" }),
|
|
2978
|
+
title: "Agreements",
|
|
2979
|
+
subtitle: `${acceptedCount}/${checkboxList.length} accepted`,
|
|
2980
|
+
children: agreementItems
|
|
2981
|
+
}
|
|
2982
|
+
)
|
|
2983
|
+
] }) }),
|
|
2984
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2985
|
+
import_react22.Box,
|
|
2986
|
+
{
|
|
2987
|
+
display: { base: "none", lg: "block" },
|
|
2988
|
+
css: { columnCount: 2, columnGap: "24px" },
|
|
2989
|
+
children: [
|
|
2990
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2991
|
+
SectionCard,
|
|
2992
|
+
{
|
|
2993
|
+
title: "Personal Information",
|
|
2994
|
+
onEdit: () => onEdit?.("personal"),
|
|
2995
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldGrid, { rows: personalRows })
|
|
2996
|
+
}
|
|
2997
|
+
),
|
|
2998
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionCard, { title: "Order Summary", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldGrid, { rows: orderRows }) }),
|
|
2999
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionCard, { title: "Address", onEdit: () => onEdit?.("address"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldGrid, { rows: addressRows }) }),
|
|
3000
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionCard, { title: "Employment", onEdit: () => onEdit?.("employment"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldGrid, { rows: employmentRows }) }),
|
|
3001
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionCard, { title: "Beneficiaries", children: beneficiaryItems }),
|
|
3002
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(SectionCard, { title: "Agreements", children: [
|
|
3003
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Text, { fontSize: "xs", color: "gray.500", mb: 4, children: [
|
|
3004
|
+
acceptedCount,
|
|
3005
|
+
"/",
|
|
3006
|
+
checkboxList.length,
|
|
3007
|
+
" accepted"
|
|
3008
|
+
] }),
|
|
3009
|
+
agreementItems
|
|
3010
|
+
] })
|
|
3011
|
+
]
|
|
2841
3012
|
}
|
|
2842
3013
|
),
|
|
2843
3014
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2844
|
-
|
|
3015
|
+
import_react22.Dialog.Root,
|
|
2845
3016
|
{
|
|
2846
3017
|
open: openDialog,
|
|
2847
3018
|
onOpenChange: (details) => setOpenDialog(details.open),
|
|
2848
3019
|
size: { mdDown: "full", md: "xl" },
|
|
2849
3020
|
scrollBehavior: "inside",
|
|
2850
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2851
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2852
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2853
|
-
|
|
3021
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Portal, { children: [
|
|
3022
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Dialog.Backdrop, { backdropFilter: "blur(6px)" }),
|
|
3023
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Dialog.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
3024
|
+
import_react22.Dialog.Content,
|
|
2854
3025
|
{
|
|
2855
3026
|
bg: "white",
|
|
2856
3027
|
rounded: "xl",
|
|
2857
3028
|
shadow: "lg",
|
|
2858
3029
|
overflow: "hidden",
|
|
2859
3030
|
children: [
|
|
2860
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2861
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2862
|
-
|
|
2863
|
-
{
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
children: pendingCheck !== null ? pendingAgreement?.description || "Please review and confirm before proceeding." : "Please review and confirm before proceeding."
|
|
2879
|
-
}
|
|
2880
|
-
) }) }),
|
|
2881
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2882
|
-
import_react23.Dialog.Footer,
|
|
2883
|
-
{
|
|
2884
|
-
px: { base: 4, md: 6 },
|
|
2885
|
-
pb: { base: 5, md: 6 },
|
|
2886
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react23.HStack, { justify: "flex-end", gap: 3, w: "full", children: [
|
|
2887
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2888
|
-
import_st_peter_ui5.CancelButton,
|
|
2889
|
-
{
|
|
2890
|
-
onClick: () => {
|
|
2891
|
-
setOpenDialog(false);
|
|
2892
|
-
setPendingCheck(null);
|
|
2893
|
-
}
|
|
2894
|
-
}
|
|
2895
|
-
),
|
|
2896
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_st_peter_ui5.ConfirmButton, { onClick: confirmAgreement })
|
|
2897
|
-
] })
|
|
2898
|
-
}
|
|
2899
|
-
)
|
|
3031
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Dialog.CloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.CloseButton, { position: "absolute", top: 3, right: 3 }) }),
|
|
3032
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.Dialog.Header, { px: { base: 4, md: 6 }, pt: { base: 5, md: 6 }, children: [
|
|
3033
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_st_peter_ui6.H3, { children: pendingCheck !== null ? pendingAgreement?.title || "Agreement" : "Agreement" }),
|
|
3034
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Text, { fontSize: "sm", color: "gray.600", mt: 2, children: "Please read carefully. Confirm to accept this agreement." })
|
|
3035
|
+
] }),
|
|
3036
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Dialog.Body, { px: { base: 4, md: 6 }, pb: { base: 5, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Box, { p: 4, borderWidth: "0px", rounded: "lg", bg: "gray.50", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Text, { whiteSpace: "pre-wrap", fontSize: "sm", color: "gray.800", children: pendingCheck !== null ? pendingAgreement?.description || "Please review and confirm before proceeding." : "Please review and confirm before proceeding." }) }) }),
|
|
3037
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react22.Dialog.Footer, { px: { base: 4, md: 6 }, pb: { base: 5, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react22.HStack, { justify: "flex-end", gap: 3, w: "full", children: [
|
|
3038
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3039
|
+
import_st_peter_ui6.CancelButton,
|
|
3040
|
+
{
|
|
3041
|
+
onClick: () => {
|
|
3042
|
+
setOpenDialog(false);
|
|
3043
|
+
setPendingCheck(null);
|
|
3044
|
+
}
|
|
3045
|
+
}
|
|
3046
|
+
),
|
|
3047
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_st_peter_ui6.ConfirmButton, { onClick: confirmAgreement })
|
|
3048
|
+
] }) })
|
|
2900
3049
|
]
|
|
2901
3050
|
}
|
|
2902
3051
|
) })
|
|
2903
3052
|
] })
|
|
2904
3053
|
}
|
|
2905
3054
|
)
|
|
2906
|
-
] }) })
|
|
3055
|
+
] }) });
|
|
2907
3056
|
};
|
|
2908
3057
|
var confirmation_default = Confirmation;
|
|
2909
3058
|
|
|
@@ -2971,9 +3120,9 @@ var createLifePlanSteps = (confirmationProps) => [
|
|
|
2971
3120
|
];
|
|
2972
3121
|
|
|
2973
3122
|
// src/NewSaleForm/ui/horizontal-stepper.tsx
|
|
2974
|
-
var
|
|
2975
|
-
var
|
|
2976
|
-
var
|
|
3123
|
+
var import_react24 = require("react");
|
|
3124
|
+
var import_react25 = require("@chakra-ui/react");
|
|
3125
|
+
var import_st_peter_ui7 = require("st-peter-ui");
|
|
2977
3126
|
var import_lu5 = require("react-icons/lu");
|
|
2978
3127
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2979
3128
|
var PRIMARY = "var(--chakra-colors-primary)";
|
|
@@ -2990,9 +3139,9 @@ var HorizontalStepper = ({
|
|
|
2990
3139
|
nextDisabled,
|
|
2991
3140
|
submitButtonText = "Proceed To Payment"
|
|
2992
3141
|
}) => {
|
|
2993
|
-
const [localActiveStep, setLocalActiveStep] = (0,
|
|
3142
|
+
const [localActiveStep, setLocalActiveStep] = (0, import_react24.useState)(0);
|
|
2994
3143
|
const activeStep = controlledActiveStep !== void 0 ? controlledActiveStep : localActiveStep;
|
|
2995
|
-
const formTopRef = (0,
|
|
3144
|
+
const formTopRef = (0, import_react24.useRef)(null);
|
|
2996
3145
|
const isCompact = steps.length < 3;
|
|
2997
3146
|
const isLastStep = activeStep === steps.length - 1;
|
|
2998
3147
|
const nextStepTitle = steps[activeStep + 1]?.title;
|
|
@@ -3016,7 +3165,7 @@ var HorizontalStepper = ({
|
|
|
3016
3165
|
handleStepChange(Math.min(activeStep + 1, steps.length - 1));
|
|
3017
3166
|
};
|
|
3018
3167
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3019
|
-
|
|
3168
|
+
import_react25.Flex,
|
|
3020
3169
|
{
|
|
3021
3170
|
direction: "column",
|
|
3022
3171
|
align: "start",
|
|
@@ -3025,9 +3174,10 @@ var HorizontalStepper = ({
|
|
|
3025
3174
|
overflow: "visible",
|
|
3026
3175
|
pb: { base: "12px", md: "0px" },
|
|
3027
3176
|
children: [
|
|
3028
|
-
|
|
3177
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Box, { ref: formTopRef, h: "0", w: "full", scrollMarginTop: { base: 4, md: 6 } }),
|
|
3178
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react25.Box, { mb: 4, children: [
|
|
3029
3179
|
title && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3030
|
-
|
|
3180
|
+
import_react25.Box,
|
|
3031
3181
|
{
|
|
3032
3182
|
as: "h1",
|
|
3033
3183
|
m: "0",
|
|
@@ -3043,10 +3193,10 @@ var HorizontalStepper = ({
|
|
|
3043
3193
|
children: title
|
|
3044
3194
|
}
|
|
3045
3195
|
),
|
|
3046
|
-
description && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3196
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Text, { fontSize: "sm", color: "gray.500", mt: 1, children: description })
|
|
3047
3197
|
] }),
|
|
3048
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3049
|
-
|
|
3198
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Box, { w: "full", rounded: "2xl", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3199
|
+
import_react25.Steps.Root,
|
|
3050
3200
|
{
|
|
3051
3201
|
step: activeStep,
|
|
3052
3202
|
onStepChange: (index) => handleStepChange(index.step),
|
|
@@ -3055,7 +3205,7 @@ var HorizontalStepper = ({
|
|
|
3055
3205
|
colorPalette: "green",
|
|
3056
3206
|
children: [
|
|
3057
3207
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3058
|
-
|
|
3208
|
+
import_react25.Box,
|
|
3059
3209
|
{
|
|
3060
3210
|
position: "sticky",
|
|
3061
3211
|
top: 0,
|
|
@@ -3070,7 +3220,7 @@ var HorizontalStepper = ({
|
|
|
3070
3220
|
boxShadow: "0 2px 8px -2px rgba(0,0,0,0.06)",
|
|
3071
3221
|
children: [
|
|
3072
3222
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3073
|
-
|
|
3223
|
+
import_react25.Steps.List,
|
|
3074
3224
|
{
|
|
3075
3225
|
py: 0,
|
|
3076
3226
|
flexDirection: "row",
|
|
@@ -3081,7 +3231,7 @@ var HorizontalStepper = ({
|
|
|
3081
3231
|
const isCompleted = index < activeStep;
|
|
3082
3232
|
const isActive = index === activeStep;
|
|
3083
3233
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3084
|
-
|
|
3234
|
+
import_react25.Steps.Item,
|
|
3085
3235
|
{
|
|
3086
3236
|
index,
|
|
3087
3237
|
title: step.title,
|
|
@@ -3089,7 +3239,7 @@ var HorizontalStepper = ({
|
|
|
3089
3239
|
flex: isCompact ? "0 0 auto" : "1",
|
|
3090
3240
|
children: [
|
|
3091
3241
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3092
|
-
|
|
3242
|
+
import_react25.Steps.Trigger,
|
|
3093
3243
|
{
|
|
3094
3244
|
flexDirection: isCompact ? "row" : "column",
|
|
3095
3245
|
alignItems: "center",
|
|
@@ -3101,7 +3251,7 @@ var HorizontalStepper = ({
|
|
|
3101
3251
|
_hover: { bg: "gray.50" },
|
|
3102
3252
|
children: [
|
|
3103
3253
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3104
|
-
|
|
3254
|
+
import_react25.Steps.Indicator,
|
|
3105
3255
|
{
|
|
3106
3256
|
borderWidth: "2px",
|
|
3107
3257
|
transition: "all 0.25s",
|
|
@@ -3111,11 +3261,11 @@ var HorizontalStepper = ({
|
|
|
3111
3261
|
color: isCompleted ? "white" : isActive ? PRIMARY : void 0,
|
|
3112
3262
|
boxShadow: isActive ? `0 0 0 3px ${PRIMARY_DISABLED}` : "none"
|
|
3113
3263
|
},
|
|
3114
|
-
children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuCheck, { size: 14 }) : step.icon ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3264
|
+
children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuCheck, { size: 14 }) : step.icon ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Box, { as: step.icon, w: 4, h: 4 }) : null
|
|
3115
3265
|
}
|
|
3116
3266
|
),
|
|
3117
3267
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3118
|
-
|
|
3268
|
+
import_react25.Steps.Title,
|
|
3119
3269
|
{
|
|
3120
3270
|
fontSize: { base: "xs", md: "sm" },
|
|
3121
3271
|
textAlign: isCompact ? "left" : "center",
|
|
@@ -3131,7 +3281,7 @@ var HorizontalStepper = ({
|
|
|
3131
3281
|
}
|
|
3132
3282
|
),
|
|
3133
3283
|
!isCompact && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3134
|
-
|
|
3284
|
+
import_react25.Steps.Separator,
|
|
3135
3285
|
{
|
|
3136
3286
|
display: { base: "none", md: "block" }
|
|
3137
3287
|
}
|
|
@@ -3144,7 +3294,7 @@ var HorizontalStepper = ({
|
|
|
3144
3294
|
}
|
|
3145
3295
|
),
|
|
3146
3296
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3147
|
-
|
|
3297
|
+
import_react25.Box,
|
|
3148
3298
|
{
|
|
3149
3299
|
w: "full",
|
|
3150
3300
|
h: "3px",
|
|
@@ -3153,7 +3303,7 @@ var HorizontalStepper = ({
|
|
|
3153
3303
|
overflow: "hidden",
|
|
3154
3304
|
mt: 1,
|
|
3155
3305
|
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3156
|
-
|
|
3306
|
+
import_react25.Box,
|
|
3157
3307
|
{
|
|
3158
3308
|
h: "full",
|
|
3159
3309
|
bg: PRIMARY,
|
|
@@ -3166,9 +3316,9 @@ var HorizontalStepper = ({
|
|
|
3166
3316
|
]
|
|
3167
3317
|
}
|
|
3168
3318
|
),
|
|
3169
|
-
steps.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3319
|
+
steps.map((step, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Steps.Content, { index, children: step.component ?? step.description }, index)),
|
|
3170
3320
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3171
|
-
|
|
3321
|
+
import_react25.Flex,
|
|
3172
3322
|
{
|
|
3173
3323
|
w: "full",
|
|
3174
3324
|
justify: "space-between",
|
|
@@ -3177,8 +3327,8 @@ var HorizontalStepper = ({
|
|
|
3177
3327
|
gap: 2,
|
|
3178
3328
|
display: { base: "flex", md: "none" },
|
|
3179
3329
|
children: [
|
|
3180
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3181
|
-
|
|
3330
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Steps.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3331
|
+
import_react25.Box,
|
|
3182
3332
|
{
|
|
3183
3333
|
as: "button",
|
|
3184
3334
|
display: "flex",
|
|
@@ -3204,7 +3354,7 @@ var HorizontalStepper = ({
|
|
|
3204
3354
|
}
|
|
3205
3355
|
) }),
|
|
3206
3356
|
!isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3207
|
-
|
|
3357
|
+
import_react25.Box,
|
|
3208
3358
|
{
|
|
3209
3359
|
as: "button",
|
|
3210
3360
|
display: "flex",
|
|
@@ -3229,7 +3379,7 @@ var HorizontalStepper = ({
|
|
|
3229
3379
|
]
|
|
3230
3380
|
}
|
|
3231
3381
|
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3232
|
-
|
|
3382
|
+
import_react25.Box,
|
|
3233
3383
|
{
|
|
3234
3384
|
as: "button",
|
|
3235
3385
|
display: "flex",
|
|
@@ -3258,18 +3408,18 @@ var HorizontalStepper = ({
|
|
|
3258
3408
|
}
|
|
3259
3409
|
),
|
|
3260
3410
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3261
|
-
|
|
3411
|
+
import_react25.ButtonGroup,
|
|
3262
3412
|
{
|
|
3263
3413
|
size: "sm",
|
|
3264
3414
|
variant: "outline",
|
|
3265
3415
|
display: { base: "none", md: "flex" },
|
|
3266
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3267
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3416
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react25.Flex, { mt: 5, w: "full", align: "center", justify: "space-between", children: [
|
|
3417
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react25.Steps.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_st_peter_ui7.SecondaryMdButton, { children: [
|
|
3268
3418
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronLeft, {}),
|
|
3269
3419
|
"Previous"
|
|
3270
3420
|
] }) }),
|
|
3271
3421
|
!isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
3272
|
-
|
|
3422
|
+
import_react25.Box,
|
|
3273
3423
|
{
|
|
3274
3424
|
as: "button",
|
|
3275
3425
|
display: "flex",
|
|
@@ -3294,7 +3444,7 @@ var HorizontalStepper = ({
|
|
|
3294
3444
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lu5.LuChevronRight, { size: 15 })
|
|
3295
3445
|
]
|
|
3296
3446
|
}
|
|
3297
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3447
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_st_peter_ui7.PrimaryMdButton, { disabled: !!submitDisabled, onClick: onSubmit, children: submitButtonText })
|
|
3298
3448
|
] })
|
|
3299
3449
|
}
|
|
3300
3450
|
)
|
|
@@ -3314,12 +3464,12 @@ var SharedLifePlanApplication = ({
|
|
|
3314
3464
|
description = "Please fill out the form below to apply for a life plan.",
|
|
3315
3465
|
onPaymentError
|
|
3316
3466
|
}) => {
|
|
3317
|
-
const [currentStep, setCurrentStep] = (0,
|
|
3318
|
-
const [loading, setLoading] = (0,
|
|
3319
|
-
const [allAgreementsAccepted, setAllAgreementsAccepted] = (0,
|
|
3320
|
-
const [applicationSection, setApplicationSection] = (0,
|
|
3321
|
-
const [applicationSectionKey, setApplicationSectionKey] = (0,
|
|
3322
|
-
const [applicationValid, setApplicationValid] = (0,
|
|
3467
|
+
const [currentStep, setCurrentStep] = (0, import_react27.useState)(0);
|
|
3468
|
+
const [loading, setLoading] = (0, import_react27.useState)(false);
|
|
3469
|
+
const [allAgreementsAccepted, setAllAgreementsAccepted] = (0, import_react27.useState)(false);
|
|
3470
|
+
const [applicationSection, setApplicationSection] = (0, import_react27.useState)();
|
|
3471
|
+
const [applicationSectionKey, setApplicationSectionKey] = (0, import_react27.useState)(0);
|
|
3472
|
+
const [applicationValid, setApplicationValid] = (0, import_react27.useState)(false);
|
|
3323
3473
|
const steps = createLifePlanSteps({
|
|
3324
3474
|
onAllAcceptedChange: setAllAgreementsAccepted,
|
|
3325
3475
|
...applicationSection ? { applicationSection } : {},
|
|
@@ -3336,7 +3486,7 @@ var SharedLifePlanApplication = ({
|
|
|
3336
3486
|
if (!allAgreementsAccepted) return;
|
|
3337
3487
|
setLoading(true);
|
|
3338
3488
|
};
|
|
3339
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3489
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react26.Box, { w: "full", overflowX: "hidden", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3340
3490
|
horizontal_stepper_default,
|
|
3341
3491
|
{
|
|
3342
3492
|
steps,
|
|
@@ -3358,40 +3508,10 @@ var LifePlanApplicationStepWrapper = () => {
|
|
|
3358
3508
|
var LifePlanApplicationStepWrapper_default = LifePlanApplicationStepWrapper;
|
|
3359
3509
|
|
|
3360
3510
|
// src/Generic/BottomQuickActions.tsx
|
|
3361
|
-
var
|
|
3362
|
-
var
|
|
3511
|
+
var import_react28 = __toESM(require("react"));
|
|
3512
|
+
var import_react29 = require("@chakra-ui/react");
|
|
3363
3513
|
var import_lu6 = require("react-icons/lu");
|
|
3364
3514
|
var import_link = __toESM(require("next/link"));
|
|
3365
|
-
|
|
3366
|
-
// src/lib/theme/brand-colors.ts
|
|
3367
|
-
var BRAND_COLORS = {
|
|
3368
|
-
primaryGreen: "#109448",
|
|
3369
|
-
darkGreen: "#006838",
|
|
3370
|
-
softGreen: "#92DDBF",
|
|
3371
|
-
pastelPeaGreen: "#ACD6A6",
|
|
3372
|
-
seafoamGreen: "#92DDBF",
|
|
3373
|
-
lightCyan: "#D3EDEE",
|
|
3374
|
-
successBg: "#F0FDF4",
|
|
3375
|
-
warningBg: "#FFF7ED",
|
|
3376
|
-
warningText: "#F1592B",
|
|
3377
|
-
warningBorder: "#F4845F",
|
|
3378
|
-
errorBg: "#FEF2F2",
|
|
3379
|
-
destructiveRed: "#BF1F2F",
|
|
3380
|
-
errorRed: "#EF4444",
|
|
3381
|
-
neutralText: "#22223B",
|
|
3382
|
-
neutralBorder: "#E5E7EB",
|
|
3383
|
-
mutedBg: "#F3F4F6",
|
|
3384
|
-
subtleBg: "#F9FAFB",
|
|
3385
|
-
white: "#FFFFFF",
|
|
3386
|
-
black: "#000000",
|
|
3387
|
-
grey: "#808080",
|
|
3388
|
-
ashWhite: "#ECECEC",
|
|
3389
|
-
gold: "#CBA135",
|
|
3390
|
-
brightGold: "#FFD026",
|
|
3391
|
-
paleGold: "#FFF48E"
|
|
3392
|
-
};
|
|
3393
|
-
|
|
3394
|
-
// src/Generic/BottomQuickActions.tsx
|
|
3395
3515
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3396
3516
|
var SHEET_BG = BRAND_COLORS.white;
|
|
3397
3517
|
var DRAG_COLOR = BRAND_COLORS.neutralBorder;
|
|
@@ -3409,7 +3529,7 @@ var SUBTITLE_COLOR = BRAND_COLORS.grey;
|
|
|
3409
3529
|
var LABEL_COLOR = BRAND_COLORS.neutralText;
|
|
3410
3530
|
var DESC_COLOR = BRAND_COLORS.grey;
|
|
3411
3531
|
var CHEVRON_COLOR = BRAND_COLORS.ashWhite;
|
|
3412
|
-
var QuickActionsHeaderCard =
|
|
3532
|
+
var QuickActionsHeaderCard = import_react28.default.memo(
|
|
3413
3533
|
({
|
|
3414
3534
|
initials,
|
|
3415
3535
|
avatarBg = AVATAR_DEFAULT_BG,
|
|
@@ -3417,7 +3537,7 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3417
3537
|
meta,
|
|
3418
3538
|
trailing
|
|
3419
3539
|
}) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3420
|
-
|
|
3540
|
+
import_react29.HStack,
|
|
3421
3541
|
{
|
|
3422
3542
|
gap: STANDARD_SPACING.sm,
|
|
3423
3543
|
px: STANDARD_SPACING.sm,
|
|
@@ -3428,7 +3548,7 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3428
3548
|
borderColor: HEADER_CARD_BORDER,
|
|
3429
3549
|
children: [
|
|
3430
3550
|
initials && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3431
|
-
|
|
3551
|
+
import_react29.Flex,
|
|
3432
3552
|
{
|
|
3433
3553
|
w: "40px",
|
|
3434
3554
|
h: "40px",
|
|
@@ -3438,7 +3558,7 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3438
3558
|
justify: "center",
|
|
3439
3559
|
flexShrink: 0,
|
|
3440
3560
|
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3441
|
-
|
|
3561
|
+
import_react29.Text,
|
|
3442
3562
|
{
|
|
3443
3563
|
fontSize: "14px",
|
|
3444
3564
|
fontWeight: "700",
|
|
@@ -3449,9 +3569,9 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3449
3569
|
)
|
|
3450
3570
|
}
|
|
3451
3571
|
),
|
|
3452
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3572
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react29.Box, { flex: "1", minW: 0, children: [
|
|
3453
3573
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3454
|
-
|
|
3574
|
+
import_react29.Text,
|
|
3455
3575
|
{
|
|
3456
3576
|
fontSize: "15px",
|
|
3457
3577
|
fontWeight: "700",
|
|
@@ -3464,7 +3584,7 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3464
3584
|
}
|
|
3465
3585
|
),
|
|
3466
3586
|
meta && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3467
|
-
|
|
3587
|
+
import_react29.Text,
|
|
3468
3588
|
{
|
|
3469
3589
|
fontSize: "12px",
|
|
3470
3590
|
color: SUBTITLE_COLOR,
|
|
@@ -3485,11 +3605,11 @@ var QuickActionsHeaderCard = import_react29.default.memo(
|
|
|
3485
3605
|
var ITEM_TRANSITION = {
|
|
3486
3606
|
transition: "background 0.15s ease, transform 0.1s ease"
|
|
3487
3607
|
};
|
|
3488
|
-
var ActionItem =
|
|
3608
|
+
var ActionItem = import_react28.default.memo(({ action }) => {
|
|
3489
3609
|
const iconBg = action.iconBg ?? DEFAULT_ICON_BG;
|
|
3490
3610
|
const iconColor = action.iconColor ?? DEFAULT_ICON_COLOR;
|
|
3491
3611
|
const inner = /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3492
|
-
|
|
3612
|
+
import_react29.HStack,
|
|
3493
3613
|
{
|
|
3494
3614
|
gap: STANDARD_SPACING.sm,
|
|
3495
3615
|
px: STANDARD_SPACING.sm,
|
|
@@ -3512,7 +3632,7 @@ var ActionItem = import_react29.default.memo(({ action }) => {
|
|
|
3512
3632
|
style: ITEM_TRANSITION,
|
|
3513
3633
|
children: [
|
|
3514
3634
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3515
|
-
|
|
3635
|
+
import_react29.Flex,
|
|
3516
3636
|
{
|
|
3517
3637
|
w: "40px",
|
|
3518
3638
|
h: "40px",
|
|
@@ -3521,12 +3641,12 @@ var ActionItem = import_react29.default.memo(({ action }) => {
|
|
|
3521
3641
|
align: "center",
|
|
3522
3642
|
justify: "center",
|
|
3523
3643
|
flexShrink: 0,
|
|
3524
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3644
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Icon, { as: action.icon, boxSize: "20px", color: iconColor })
|
|
3525
3645
|
}
|
|
3526
3646
|
),
|
|
3527
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3647
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react29.Box, { flex: "1", minW: 0, children: [
|
|
3528
3648
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3529
|
-
|
|
3649
|
+
import_react29.Text,
|
|
3530
3650
|
{
|
|
3531
3651
|
fontSize: "15px",
|
|
3532
3652
|
fontWeight: "600",
|
|
@@ -3536,7 +3656,7 @@ var ActionItem = import_react29.default.memo(({ action }) => {
|
|
|
3536
3656
|
}
|
|
3537
3657
|
),
|
|
3538
3658
|
action.description && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3539
|
-
|
|
3659
|
+
import_react29.Text,
|
|
3540
3660
|
{
|
|
3541
3661
|
fontSize: "12px",
|
|
3542
3662
|
color: DESC_COLOR,
|
|
@@ -3550,7 +3670,7 @@ var ActionItem = import_react29.default.memo(({ action }) => {
|
|
|
3550
3670
|
)
|
|
3551
3671
|
] }),
|
|
3552
3672
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3553
|
-
|
|
3673
|
+
import_react29.Icon,
|
|
3554
3674
|
{
|
|
3555
3675
|
as: import_lu6.LuChevronRight,
|
|
3556
3676
|
boxSize: "18px",
|
|
@@ -3582,15 +3702,15 @@ var BottomQuickActions = ({
|
|
|
3582
3702
|
actions
|
|
3583
3703
|
}) => {
|
|
3584
3704
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3585
|
-
|
|
3705
|
+
import_react29.Drawer.Root,
|
|
3586
3706
|
{
|
|
3587
3707
|
open,
|
|
3588
3708
|
onOpenChange: (e) => onOpenChange(e.open),
|
|
3589
3709
|
placement: "bottom",
|
|
3590
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3591
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3592
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3593
|
-
|
|
3710
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react29.Portal, { children: [
|
|
3711
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Drawer.Backdrop, {}),
|
|
3712
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Drawer.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3713
|
+
import_react29.Drawer.Content,
|
|
3594
3714
|
{
|
|
3595
3715
|
borderTopRadius: "l3",
|
|
3596
3716
|
borderBottomRadius: "0",
|
|
@@ -3600,8 +3720,8 @@ var BottomQuickActions = ({
|
|
|
3600
3720
|
pb: `calc(${STANDARD_SPACING.sm} + env(safe-area-inset-bottom))`,
|
|
3601
3721
|
boxShadow: STANDARD_SHADOWS.level4,
|
|
3602
3722
|
children: [
|
|
3603
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3604
|
-
|
|
3723
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Flex, { justify: "center", pt: "10px", pb: "4px", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3724
|
+
import_react29.Box,
|
|
3605
3725
|
{
|
|
3606
3726
|
w: "36px",
|
|
3607
3727
|
h: "4px",
|
|
@@ -3610,16 +3730,16 @@ var BottomQuickActions = ({
|
|
|
3610
3730
|
}
|
|
3611
3731
|
) }),
|
|
3612
3732
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3613
|
-
|
|
3733
|
+
import_react29.Drawer.Header,
|
|
3614
3734
|
{
|
|
3615
3735
|
px: STANDARD_SPACING.sm,
|
|
3616
3736
|
pt: "12px",
|
|
3617
3737
|
pb: "0",
|
|
3618
3738
|
borderBottomWidth: "0",
|
|
3619
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3620
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3739
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react29.Flex, { align: "flex-start", justify: "space-between", gap: "12px", children: [
|
|
3740
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react29.Box, { flex: "1", minW: 0, children: [
|
|
3621
3741
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3622
|
-
|
|
3742
|
+
import_react29.Drawer.Title,
|
|
3623
3743
|
{
|
|
3624
3744
|
fontSize: "18px",
|
|
3625
3745
|
fontWeight: "700",
|
|
@@ -3630,7 +3750,7 @@ var BottomQuickActions = ({
|
|
|
3630
3750
|
}
|
|
3631
3751
|
),
|
|
3632
3752
|
subtitle && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3633
|
-
|
|
3753
|
+
import_react29.Text,
|
|
3634
3754
|
{
|
|
3635
3755
|
fontSize: "13px",
|
|
3636
3756
|
color: SUBTITLE_COLOR,
|
|
@@ -3641,8 +3761,8 @@ var BottomQuickActions = ({
|
|
|
3641
3761
|
}
|
|
3642
3762
|
)
|
|
3643
3763
|
] }),
|
|
3644
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3645
|
-
|
|
3764
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Drawer.CloseTrigger, { asChild: true, mt: "2px", flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3765
|
+
import_react29.CloseButton,
|
|
3646
3766
|
{
|
|
3647
3767
|
size: "sm",
|
|
3648
3768
|
color: BRAND_COLORS.neutralText,
|
|
@@ -3654,14 +3774,14 @@ var BottomQuickActions = ({
|
|
|
3654
3774
|
}
|
|
3655
3775
|
),
|
|
3656
3776
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
3657
|
-
|
|
3777
|
+
import_react29.Drawer.Body,
|
|
3658
3778
|
{
|
|
3659
3779
|
px: STANDARD_SPACING.sm,
|
|
3660
3780
|
pt: STANDARD_SPACING.sm,
|
|
3661
3781
|
pb: "4px",
|
|
3662
3782
|
children: [
|
|
3663
|
-
headerSlot && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3664
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3783
|
+
headerSlot && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.Box, { mb: STANDARD_SPACING.xs, children: headerSlot }),
|
|
3784
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react29.VStack, { gap: STANDARD_SPACING.xs, align: "stretch", children: actions.map((action, i) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ActionItem, { action }, i)) })
|
|
3665
3785
|
]
|
|
3666
3786
|
}
|
|
3667
3787
|
)
|
|
@@ -3675,18 +3795,18 @@ var BottomQuickActions = ({
|
|
|
3675
3795
|
var BottomQuickActions_default = BottomQuickActions;
|
|
3676
3796
|
|
|
3677
3797
|
// src/Generic/NotifyInstall.tsx
|
|
3678
|
-
var
|
|
3679
|
-
var
|
|
3680
|
-
var
|
|
3681
|
-
var
|
|
3798
|
+
var import_react31 = require("react");
|
|
3799
|
+
var import_react32 = require("@chakra-ui/react");
|
|
3800
|
+
var import_react33 = require("motion/react");
|
|
3801
|
+
var import_fi2 = require("react-icons/fi");
|
|
3682
3802
|
|
|
3683
3803
|
// src/hooks/useNotifyInstall.ts
|
|
3684
|
-
var
|
|
3804
|
+
var import_react30 = require("react");
|
|
3685
3805
|
function useNotifyInstall() {
|
|
3686
|
-
const [isInstalled, setIsInstalled] = (0,
|
|
3687
|
-
const [isMobile, setIsMobile] = (0,
|
|
3688
|
-
const [installPrompt, setInstallPrompt] = (0,
|
|
3689
|
-
(0,
|
|
3806
|
+
const [isInstalled, setIsInstalled] = (0, import_react30.useState)(false);
|
|
3807
|
+
const [isMobile, setIsMobile] = (0, import_react30.useState)(false);
|
|
3808
|
+
const [installPrompt, setInstallPrompt] = (0, import_react30.useState)(null);
|
|
3809
|
+
(0, import_react30.useEffect)(() => {
|
|
3690
3810
|
const mobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
|
3691
3811
|
setIsMobile(mobile);
|
|
3692
3812
|
const installed = window.matchMedia("(display-mode: standalone)").matches || window.navigator.standalone === true;
|
|
@@ -3720,8 +3840,8 @@ function useNotifyInstall() {
|
|
|
3720
3840
|
// src/Generic/NotifyInstall.tsx
|
|
3721
3841
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3722
3842
|
var STEPS = [
|
|
3723
|
-
{ icon:
|
|
3724
|
-
{ icon:
|
|
3843
|
+
{ icon: import_fi2.FiShare, label: "Tap the browser menu or Share button" },
|
|
3844
|
+
{ icon: import_fi2.FiPlusSquare, label: 'Choose "Add to Home Screen"' }
|
|
3725
3845
|
];
|
|
3726
3846
|
var DISMISSED_KEY = "estore-install-dialog-dismissed";
|
|
3727
3847
|
function NotifyInstall({
|
|
@@ -3729,8 +3849,8 @@ function NotifyInstall({
|
|
|
3729
3849
|
appName
|
|
3730
3850
|
}) {
|
|
3731
3851
|
const { isInstalled, isMobile, canInstall, install } = useNotifyInstall();
|
|
3732
|
-
const [isDismissed, setIsDismissed] = (0,
|
|
3733
|
-
(0,
|
|
3852
|
+
const [isDismissed, setIsDismissed] = (0, import_react31.useState)(true);
|
|
3853
|
+
(0, import_react31.useEffect)(() => {
|
|
3734
3854
|
if (localStorage.getItem(DISMISSED_KEY) !== "true") {
|
|
3735
3855
|
setIsDismissed(false);
|
|
3736
3856
|
}
|
|
@@ -3742,9 +3862,9 @@ function NotifyInstall({
|
|
|
3742
3862
|
const showPrompt = isMobile && !isInstalled && !isDismissed;
|
|
3743
3863
|
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3744
3864
|
children,
|
|
3745
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3865
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react33.AnimatePresence, { children: showPrompt && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3746
3866
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3747
|
-
|
|
3867
|
+
import_react33.motion.div,
|
|
3748
3868
|
{
|
|
3749
3869
|
initial: { opacity: 0 },
|
|
3750
3870
|
animate: { opacity: 1 },
|
|
@@ -3763,7 +3883,7 @@ function NotifyInstall({
|
|
|
3763
3883
|
"install-backdrop"
|
|
3764
3884
|
),
|
|
3765
3885
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3766
|
-
|
|
3886
|
+
import_react33.motion.div,
|
|
3767
3887
|
{
|
|
3768
3888
|
initial: { y: "100%" },
|
|
3769
3889
|
animate: { y: 0 },
|
|
@@ -3800,12 +3920,12 @@ function NotifyInstall({
|
|
|
3800
3920
|
justifyContent: "center",
|
|
3801
3921
|
color: "#9ca3af"
|
|
3802
3922
|
},
|
|
3803
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3923
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_fi2.FiX, { size: 18 })
|
|
3804
3924
|
}
|
|
3805
3925
|
),
|
|
3806
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3926
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.VStack, { gap: 6, textAlign: "center", px: 6, py: 8, children: [
|
|
3807
3927
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3808
|
-
|
|
3928
|
+
import_react32.Flex,
|
|
3809
3929
|
{
|
|
3810
3930
|
boxSize: 16,
|
|
3811
3931
|
align: "center",
|
|
@@ -3814,12 +3934,12 @@ function NotifyInstall({
|
|
|
3814
3934
|
bg: "green.50",
|
|
3815
3935
|
color: "green.600",
|
|
3816
3936
|
shadow: "sm",
|
|
3817
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3937
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Icon, { as: import_fi2.FiDownload, boxSize: 8 })
|
|
3818
3938
|
}
|
|
3819
3939
|
),
|
|
3820
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3940
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.VStack, { gap: 2, children: [
|
|
3821
3941
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3822
|
-
|
|
3942
|
+
import_react32.Text,
|
|
3823
3943
|
{
|
|
3824
3944
|
fontSize: "lg",
|
|
3825
3945
|
fontWeight: "bold",
|
|
@@ -3831,10 +3951,10 @@ function NotifyInstall({
|
|
|
3831
3951
|
]
|
|
3832
3952
|
}
|
|
3833
3953
|
),
|
|
3834
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3954
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", color: "gray.500", lineHeight: "tall", children: "Add the app to your home screen for a faster, app-like experience before continuing." })
|
|
3835
3955
|
] }),
|
|
3836
3956
|
canInstall ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3837
|
-
|
|
3957
|
+
import_react32.Button,
|
|
3838
3958
|
{
|
|
3839
3959
|
onClick: install,
|
|
3840
3960
|
colorPalette: "green",
|
|
@@ -3842,12 +3962,12 @@ function NotifyInstall({
|
|
|
3842
3962
|
w: "full",
|
|
3843
3963
|
rounded: "xl",
|
|
3844
3964
|
children: [
|
|
3845
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3965
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Icon, { as: import_fi2.FiDownload }),
|
|
3846
3966
|
"Add to Home Screen"
|
|
3847
3967
|
]
|
|
3848
3968
|
}
|
|
3849
3969
|
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3850
|
-
|
|
3970
|
+
import_react32.VStack,
|
|
3851
3971
|
{
|
|
3852
3972
|
w: "full",
|
|
3853
3973
|
bg: "gray.50",
|
|
@@ -3857,9 +3977,9 @@ function NotifyInstall({
|
|
|
3857
3977
|
p: 4,
|
|
3858
3978
|
gap: 4,
|
|
3859
3979
|
align: "stretch",
|
|
3860
|
-
children: STEPS.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
3980
|
+
children: STEPS.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react32.HStack, { gap: 3, align: "center", children: [
|
|
3861
3981
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3862
|
-
|
|
3982
|
+
import_react32.Flex,
|
|
3863
3983
|
{
|
|
3864
3984
|
boxSize: 9,
|
|
3865
3985
|
flexShrink: 0,
|
|
@@ -3870,10 +3990,10 @@ function NotifyInstall({
|
|
|
3870
3990
|
borderWidth: "1px",
|
|
3871
3991
|
borderColor: "gray.200",
|
|
3872
3992
|
color: "green.600",
|
|
3873
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3993
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Icon, { as: step.icon, boxSize: 4 })
|
|
3874
3994
|
}
|
|
3875
3995
|
),
|
|
3876
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3996
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react32.Text, { fontSize: "sm", color: "gray.700", textAlign: "left", children: step.label })
|
|
3877
3997
|
] }, i))
|
|
3878
3998
|
}
|
|
3879
3999
|
)
|
|
@@ -3887,8 +4007,8 @@ function NotifyInstall({
|
|
|
3887
4007
|
}
|
|
3888
4008
|
|
|
3889
4009
|
// src/UserProfile/UserProfile.tsx
|
|
3890
|
-
var
|
|
3891
|
-
var
|
|
4010
|
+
var import_react34 = require("react");
|
|
4011
|
+
var import_react35 = require("@chakra-ui/react");
|
|
3892
4012
|
var import_ri = require("react-icons/ri");
|
|
3893
4013
|
var import_lu7 = require("react-icons/lu");
|
|
3894
4014
|
var import_hi2 = require("react-icons/hi2");
|
|
@@ -4195,28 +4315,28 @@ function ReusableProfile({
|
|
|
4195
4315
|
onTwoFactorChange,
|
|
4196
4316
|
onToast = noopToast
|
|
4197
4317
|
}) {
|
|
4198
|
-
const [profileView, setProfileView] = (0,
|
|
4199
|
-
const [fallbackColorMode, setFallbackColorMode] = (0,
|
|
4318
|
+
const [profileView, setProfileView] = (0, import_react34.useState)("main");
|
|
4319
|
+
const [fallbackColorMode, setFallbackColorMode] = (0, import_react34.useState)("light");
|
|
4200
4320
|
const colorMode = controlledColorMode ?? fallbackColorMode;
|
|
4201
|
-
const [fontSize, setFontSizeLocal] = (0,
|
|
4202
|
-
const [quickNavHrefs, setQuickNavHrefs] = (0,
|
|
4203
|
-
const [replacingIdx, setReplacingIdx] = (0,
|
|
4204
|
-
const [editName, setEditName] = (0,
|
|
4205
|
-
const [editLoading, setEditLoading] = (0,
|
|
4206
|
-
const [currentPw, setCurrentPw] = (0,
|
|
4207
|
-
const [newPw, setNewPw] = (0,
|
|
4208
|
-
const [confirmPw, setConfirmPw] = (0,
|
|
4209
|
-
const [showCurrentPw, setShowCurrentPw] = (0,
|
|
4210
|
-
const [showNewPw, setShowNewPw] = (0,
|
|
4211
|
-
const [showConfirmPw, setShowConfirmPw] = (0,
|
|
4212
|
-
const [pwLoading, setPwLoading] = (0,
|
|
4213
|
-
const [twoFactorEnabled, setTwoFactorEnabled] = (0,
|
|
4321
|
+
const [fontSize, setFontSizeLocal] = (0, import_react34.useState)("md");
|
|
4322
|
+
const [quickNavHrefs, setQuickNavHrefs] = (0, import_react34.useState)(initialQuickNavHrefs);
|
|
4323
|
+
const [replacingIdx, setReplacingIdx] = (0, import_react34.useState)(null);
|
|
4324
|
+
const [editName, setEditName] = (0, import_react34.useState)(user.displayName);
|
|
4325
|
+
const [editLoading, setEditLoading] = (0, import_react34.useState)(false);
|
|
4326
|
+
const [currentPw, setCurrentPw] = (0, import_react34.useState)("");
|
|
4327
|
+
const [newPw, setNewPw] = (0, import_react34.useState)("");
|
|
4328
|
+
const [confirmPw, setConfirmPw] = (0, import_react34.useState)("");
|
|
4329
|
+
const [showCurrentPw, setShowCurrentPw] = (0, import_react34.useState)(false);
|
|
4330
|
+
const [showNewPw, setShowNewPw] = (0, import_react34.useState)(false);
|
|
4331
|
+
const [showConfirmPw, setShowConfirmPw] = (0, import_react34.useState)(false);
|
|
4332
|
+
const [pwLoading, setPwLoading] = (0, import_react34.useState)(false);
|
|
4333
|
+
const [twoFactorEnabled, setTwoFactorEnabled] = (0, import_react34.useState)(
|
|
4214
4334
|
initialTwoFactorEnabled
|
|
4215
4335
|
);
|
|
4216
|
-
const [isMounted, setIsMounted] = (0,
|
|
4217
|
-
const isDesktopRaw = (0,
|
|
4336
|
+
const [isMounted, setIsMounted] = (0, import_react34.useState)(false);
|
|
4337
|
+
const isDesktopRaw = (0, import_react35.useBreakpointValue)({ base: false, md: true });
|
|
4218
4338
|
const isDesktop = isMounted ? isDesktopRaw ?? false : false;
|
|
4219
|
-
(0,
|
|
4339
|
+
(0, import_react34.useEffect)(() => {
|
|
4220
4340
|
setIsMounted(true);
|
|
4221
4341
|
if (!enableLocalStorage || typeof window === "undefined") return;
|
|
4222
4342
|
setFontSizeLocal(localStorage.getItem(FONT_SIZE_STORAGE_KEY) ?? "md");
|
|
@@ -4227,10 +4347,10 @@ function ReusableProfile({
|
|
|
4227
4347
|
setQuickNavHrefs(initialQuickNavHrefs);
|
|
4228
4348
|
}
|
|
4229
4349
|
}, [enableLocalStorage, initialQuickNavHrefs, storageKey]);
|
|
4230
|
-
(0,
|
|
4350
|
+
(0, import_react34.useEffect)(() => {
|
|
4231
4351
|
setEditName(user.displayName);
|
|
4232
4352
|
}, [user.displayName]);
|
|
4233
|
-
const availableOptions = (0,
|
|
4353
|
+
const availableOptions = (0, import_react34.useMemo)(
|
|
4234
4354
|
() => availableNavOptions.filter(
|
|
4235
4355
|
(option) => !user.role || option.roles.includes(user.role)
|
|
4236
4356
|
),
|
|
@@ -4360,7 +4480,7 @@ function ReusableProfile({
|
|
|
4360
4480
|
const roleLabel = user.role ? ROLE_LABELS[user.role] ?? user.role : "";
|
|
4361
4481
|
const mainContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4362
4482
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4363
|
-
|
|
4483
|
+
import_react35.Box,
|
|
4364
4484
|
{
|
|
4365
4485
|
bg: "var(--chakra-colors-primary)",
|
|
4366
4486
|
pt: 12,
|
|
@@ -4369,20 +4489,20 @@ function ReusableProfile({
|
|
|
4369
4489
|
textAlign: "center",
|
|
4370
4490
|
children: [
|
|
4371
4491
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4372
|
-
|
|
4492
|
+
import_react35.Avatar.Root,
|
|
4373
4493
|
{
|
|
4374
4494
|
size: "2xl",
|
|
4375
4495
|
mx: "auto",
|
|
4376
4496
|
mb: 4,
|
|
4377
4497
|
colorPalette: pickPalette(user.displayName || "U"),
|
|
4378
4498
|
children: [
|
|
4379
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4380
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4499
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Image, { src: user.avatarSrc, alt: user.displayName }),
|
|
4500
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Fallback, { name: user.displayName })
|
|
4381
4501
|
]
|
|
4382
4502
|
}
|
|
4383
4503
|
),
|
|
4384
4504
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4385
|
-
|
|
4505
|
+
import_react35.Text,
|
|
4386
4506
|
{
|
|
4387
4507
|
color: "white",
|
|
4388
4508
|
fontWeight: "bold",
|
|
@@ -4392,9 +4512,9 @@ function ReusableProfile({
|
|
|
4392
4512
|
children: user.displayName
|
|
4393
4513
|
}
|
|
4394
4514
|
),
|
|
4395
|
-
user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4396
|
-
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4397
|
-
|
|
4515
|
+
user.email && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { color: "rgba(255,255,255,0.75)", fontSize: "sm", mb: 2, children: user.email }),
|
|
4516
|
+
roleLabel && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { display: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4517
|
+
import_react35.Badge,
|
|
4398
4518
|
{
|
|
4399
4519
|
bg: "rgba(255,255,255,0.15)",
|
|
4400
4520
|
color: "white",
|
|
@@ -4410,9 +4530,9 @@ function ReusableProfile({
|
|
|
4410
4530
|
]
|
|
4411
4531
|
}
|
|
4412
4532
|
),
|
|
4413
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4533
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 5, pb: 1, children: [
|
|
4414
4534
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4415
|
-
|
|
4535
|
+
import_react35.Text,
|
|
4416
4536
|
{
|
|
4417
4537
|
fontSize: "xs",
|
|
4418
4538
|
fontWeight: "bold",
|
|
@@ -4424,7 +4544,7 @@ function ReusableProfile({
|
|
|
4424
4544
|
}
|
|
4425
4545
|
),
|
|
4426
4546
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4427
|
-
|
|
4547
|
+
import_react35.Box,
|
|
4428
4548
|
{
|
|
4429
4549
|
as: "button",
|
|
4430
4550
|
w: "full",
|
|
@@ -4433,7 +4553,7 @@ function ReusableProfile({
|
|
|
4433
4553
|
transition: "opacity 0.15s",
|
|
4434
4554
|
onClick: () => setProfileView("edit-account"),
|
|
4435
4555
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4436
|
-
|
|
4556
|
+
import_react35.Flex,
|
|
4437
4557
|
{
|
|
4438
4558
|
justify: "space-between",
|
|
4439
4559
|
align: "center",
|
|
@@ -4442,9 +4562,9 @@ function ReusableProfile({
|
|
|
4442
4562
|
borderRadius: "lg",
|
|
4443
4563
|
bg: isDesktop && profileView === "edit-account" ? "gray.100" : void 0,
|
|
4444
4564
|
children: [
|
|
4445
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4565
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4446
4566
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4447
|
-
|
|
4567
|
+
import_react35.Box,
|
|
4448
4568
|
{
|
|
4449
4569
|
w: "38px",
|
|
4450
4570
|
h: "38px",
|
|
@@ -4458,9 +4578,9 @@ function ReusableProfile({
|
|
|
4458
4578
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 16 })
|
|
4459
4579
|
}
|
|
4460
4580
|
),
|
|
4461
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4462
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4463
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4581
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4582
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Edit Account" }),
|
|
4583
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: "Update your display name and contact details" })
|
|
4464
4584
|
] })
|
|
4465
4585
|
] }),
|
|
4466
4586
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4469,9 +4589,9 @@ function ReusableProfile({
|
|
|
4469
4589
|
)
|
|
4470
4590
|
}
|
|
4471
4591
|
),
|
|
4472
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4592
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
|
|
4473
4593
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4474
|
-
|
|
4594
|
+
import_react35.Box,
|
|
4475
4595
|
{
|
|
4476
4596
|
as: "button",
|
|
4477
4597
|
w: "full",
|
|
@@ -4483,7 +4603,7 @@ function ReusableProfile({
|
|
|
4483
4603
|
setProfileView("change-password");
|
|
4484
4604
|
},
|
|
4485
4605
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4486
|
-
|
|
4606
|
+
import_react35.Flex,
|
|
4487
4607
|
{
|
|
4488
4608
|
justify: "space-between",
|
|
4489
4609
|
align: "center",
|
|
@@ -4492,9 +4612,9 @@ function ReusableProfile({
|
|
|
4492
4612
|
borderRadius: "lg",
|
|
4493
4613
|
bg: isDesktop && profileView === "change-password" ? "gray.100" : void 0,
|
|
4494
4614
|
children: [
|
|
4495
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4615
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4496
4616
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4497
|
-
|
|
4617
|
+
import_react35.Box,
|
|
4498
4618
|
{
|
|
4499
4619
|
w: "38px",
|
|
4500
4620
|
h: "38px",
|
|
@@ -4508,9 +4628,9 @@ function ReusableProfile({
|
|
|
4508
4628
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuLock, { size: 16 })
|
|
4509
4629
|
}
|
|
4510
4630
|
),
|
|
4511
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4512
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4513
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4631
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4632
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Change Password" }),
|
|
4633
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: "Test locally through the callback prop" })
|
|
4514
4634
|
] })
|
|
4515
4635
|
] }),
|
|
4516
4636
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronRight, { size: 16, color: "var(--chakra-colors-gray-400)" })
|
|
@@ -4519,11 +4639,11 @@ function ReusableProfile({
|
|
|
4519
4639
|
)
|
|
4520
4640
|
}
|
|
4521
4641
|
),
|
|
4522
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4523
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4524
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4642
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
|
|
4643
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4644
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4525
4645
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4526
|
-
|
|
4646
|
+
import_react35.Box,
|
|
4527
4647
|
{
|
|
4528
4648
|
w: "38px",
|
|
4529
4649
|
h: "38px",
|
|
@@ -4537,13 +4657,13 @@ function ReusableProfile({
|
|
|
4537
4657
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuShield, { size: 16 })
|
|
4538
4658
|
}
|
|
4539
4659
|
),
|
|
4540
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4541
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4542
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4660
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4661
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Two Factor Authentication" }),
|
|
4662
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: twoFactorEnabled ? "Enabled" : "Disabled" })
|
|
4543
4663
|
] })
|
|
4544
4664
|
] }),
|
|
4545
4665
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4546
|
-
|
|
4666
|
+
import_react35.Box,
|
|
4547
4667
|
{
|
|
4548
4668
|
role: "switch",
|
|
4549
4669
|
"aria-checked": twoFactorEnabled,
|
|
@@ -4566,7 +4686,7 @@ function ReusableProfile({
|
|
|
4566
4686
|
flexShrink: 0,
|
|
4567
4687
|
outline: "none",
|
|
4568
4688
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4569
|
-
|
|
4689
|
+
import_react35.Box,
|
|
4570
4690
|
{
|
|
4571
4691
|
position: "absolute",
|
|
4572
4692
|
top: "3px",
|
|
@@ -4583,9 +4703,9 @@ function ReusableProfile({
|
|
|
4583
4703
|
)
|
|
4584
4704
|
] })
|
|
4585
4705
|
] }),
|
|
4586
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4706
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 4, pb: 2, children: [
|
|
4587
4707
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4588
|
-
|
|
4708
|
+
import_react35.Text,
|
|
4589
4709
|
{
|
|
4590
4710
|
fontSize: "xs",
|
|
4591
4711
|
fontWeight: "bold",
|
|
@@ -4596,10 +4716,10 @@ function ReusableProfile({
|
|
|
4596
4716
|
children: "Preferences"
|
|
4597
4717
|
}
|
|
4598
4718
|
),
|
|
4599
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4600
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4719
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4720
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4601
4721
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4602
|
-
|
|
4722
|
+
import_react35.Box,
|
|
4603
4723
|
{
|
|
4604
4724
|
w: "38px",
|
|
4605
4725
|
h: "38px",
|
|
@@ -4613,15 +4733,15 @@ function ReusableProfile({
|
|
|
4613
4733
|
children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 16 })
|
|
4614
4734
|
}
|
|
4615
4735
|
),
|
|
4616
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4617
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4618
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4736
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4737
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Appearance" }),
|
|
4738
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: colorMode === "light" ? "Light mode" : "Dark mode" })
|
|
4619
4739
|
] })
|
|
4620
4740
|
] }),
|
|
4621
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4741
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.HStack, { gap: 1.5, children: ["light", "dark"].map((mode) => {
|
|
4622
4742
|
const isActive = colorMode === mode;
|
|
4623
4743
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4624
|
-
|
|
4744
|
+
import_react35.Button,
|
|
4625
4745
|
{
|
|
4626
4746
|
size: "sm",
|
|
4627
4747
|
variant: "outline",
|
|
@@ -4638,7 +4758,7 @@ function ReusableProfile({
|
|
|
4638
4758
|
children: [
|
|
4639
4759
|
mode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuSun, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuMoon, { size: 13 }),
|
|
4640
4760
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4641
|
-
|
|
4761
|
+
import_react35.Text,
|
|
4642
4762
|
{
|
|
4643
4763
|
fontSize: "xs",
|
|
4644
4764
|
textTransform: "capitalize",
|
|
@@ -4652,11 +4772,11 @@ function ReusableProfile({
|
|
|
4652
4772
|
);
|
|
4653
4773
|
}) })
|
|
4654
4774
|
] }),
|
|
4655
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4656
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4657
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4775
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
|
|
4776
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4777
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4658
4778
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4659
|
-
|
|
4779
|
+
import_react35.Box,
|
|
4660
4780
|
{
|
|
4661
4781
|
w: "38px",
|
|
4662
4782
|
h: "38px",
|
|
@@ -4672,15 +4792,15 @@ function ReusableProfile({
|
|
|
4672
4792
|
children: "A"
|
|
4673
4793
|
}
|
|
4674
4794
|
),
|
|
4675
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4676
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4677
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4795
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4796
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Text Size" }),
|
|
4797
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: fontSizeLabel })
|
|
4678
4798
|
] })
|
|
4679
4799
|
] }),
|
|
4680
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4800
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.HStack, { gap: 1, children: FONT_SIZES.map((option) => {
|
|
4681
4801
|
const isActive = fontSize === option.value;
|
|
4682
4802
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4683
|
-
|
|
4803
|
+
import_react35.Button,
|
|
4684
4804
|
{
|
|
4685
4805
|
size: "sm",
|
|
4686
4806
|
variant: "outline",
|
|
@@ -4696,7 +4816,7 @@ function ReusableProfile({
|
|
|
4696
4816
|
onClick: () => handleFontSize(option.value),
|
|
4697
4817
|
title: option.title,
|
|
4698
4818
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4699
|
-
|
|
4819
|
+
import_react35.Text,
|
|
4700
4820
|
{
|
|
4701
4821
|
fontWeight: isActive ? "bold" : "normal",
|
|
4702
4822
|
style: { fontSize: `${option.scale * 13}px` },
|
|
@@ -4708,9 +4828,9 @@ function ReusableProfile({
|
|
|
4708
4828
|
);
|
|
4709
4829
|
}) })
|
|
4710
4830
|
] }),
|
|
4711
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4831
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {}),
|
|
4712
4832
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4713
|
-
|
|
4833
|
+
import_react35.Box,
|
|
4714
4834
|
{
|
|
4715
4835
|
as: "button",
|
|
4716
4836
|
w: "full",
|
|
@@ -4718,10 +4838,10 @@ function ReusableProfile({
|
|
|
4718
4838
|
_hover: { opacity: 0.7 },
|
|
4719
4839
|
transition: "opacity 0.15s",
|
|
4720
4840
|
onClick: () => setProfileView("navbar-customize"),
|
|
4721
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4722
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4841
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 3, children: [
|
|
4842
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
4723
4843
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4724
|
-
|
|
4844
|
+
import_react35.Box,
|
|
4725
4845
|
{
|
|
4726
4846
|
w: "38px",
|
|
4727
4847
|
h: "38px",
|
|
@@ -4735,9 +4855,9 @@ function ReusableProfile({
|
|
|
4735
4855
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 16 })
|
|
4736
4856
|
}
|
|
4737
4857
|
),
|
|
4738
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4739
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4740
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4858
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
4859
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "semibold", children: "Quick Navigation" }),
|
|
4860
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
4741
4861
|
quickNavHrefs.length,
|
|
4742
4862
|
" of ",
|
|
4743
4863
|
maxQuickNavItems,
|
|
@@ -4750,8 +4870,8 @@ function ReusableProfile({
|
|
|
4750
4870
|
}
|
|
4751
4871
|
)
|
|
4752
4872
|
] }),
|
|
4753
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4754
|
-
|
|
4873
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 10, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 2.5, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4874
|
+
import_react35.Button,
|
|
4755
4875
|
{
|
|
4756
4876
|
w: "full",
|
|
4757
4877
|
variant: "outline",
|
|
@@ -4764,9 +4884,9 @@ function ReusableProfile({
|
|
|
4764
4884
|
) }) })
|
|
4765
4885
|
] });
|
|
4766
4886
|
const editAccountContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4767
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4887
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4768
4888
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4769
|
-
|
|
4889
|
+
import_react35.IconButton,
|
|
4770
4890
|
{
|
|
4771
4891
|
size: "sm",
|
|
4772
4892
|
variant: "ghost",
|
|
@@ -4776,17 +4896,17 @@ function ReusableProfile({
|
|
|
4776
4896
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4777
4897
|
}
|
|
4778
4898
|
),
|
|
4779
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4899
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Edit Account" })
|
|
4780
4900
|
] }) }),
|
|
4781
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4782
|
-
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4783
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4901
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { textAlign: "center", pt: 5, pb: 4, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Avatar.Root, { size: "xl", mx: "auto", mb: 1, children: [
|
|
4902
|
+
user.avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Image, { src: user.avatarSrc, alt: editName }),
|
|
4903
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Avatar.Fallback, { name: editName })
|
|
4784
4904
|
] }) }),
|
|
4785
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4786
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4787
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4905
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.VStack, { gap: 4, px: 4, pb: 10, align: "stretch", children: [
|
|
4906
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
4907
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Display Name" }),
|
|
4788
4908
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4789
|
-
|
|
4909
|
+
import_react35.Input,
|
|
4790
4910
|
{
|
|
4791
4911
|
value: editName,
|
|
4792
4912
|
onChange: (event) => setEditName(event.target.value),
|
|
@@ -4795,10 +4915,10 @@ function ReusableProfile({
|
|
|
4795
4915
|
}
|
|
4796
4916
|
)
|
|
4797
4917
|
] }),
|
|
4798
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4799
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4918
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
4919
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Email" }),
|
|
4800
4920
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4801
|
-
|
|
4921
|
+
import_react35.Input,
|
|
4802
4922
|
{
|
|
4803
4923
|
value: user.email ?? "",
|
|
4804
4924
|
readOnly: true,
|
|
@@ -4808,10 +4928,10 @@ function ReusableProfile({
|
|
|
4808
4928
|
}
|
|
4809
4929
|
)
|
|
4810
4930
|
] }),
|
|
4811
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4812
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4931
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
4932
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Mobile Number" }),
|
|
4813
4933
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4814
|
-
|
|
4934
|
+
import_react35.Input,
|
|
4815
4935
|
{
|
|
4816
4936
|
value: user.mobileNumber ?? "",
|
|
4817
4937
|
readOnly: true,
|
|
@@ -4822,7 +4942,7 @@ function ReusableProfile({
|
|
|
4822
4942
|
)
|
|
4823
4943
|
] }),
|
|
4824
4944
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4825
|
-
|
|
4945
|
+
import_react35.Button,
|
|
4826
4946
|
{
|
|
4827
4947
|
w: "full",
|
|
4828
4948
|
mt: 2,
|
|
@@ -4837,9 +4957,9 @@ function ReusableProfile({
|
|
|
4837
4957
|
] })
|
|
4838
4958
|
] });
|
|
4839
4959
|
const changePasswordContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4840
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4960
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { px: 4, pt: 4, pb: 3, borderBottomWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4841
4961
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4842
|
-
|
|
4962
|
+
import_react35.IconButton,
|
|
4843
4963
|
{
|
|
4844
4964
|
size: "sm",
|
|
4845
4965
|
variant: "ghost",
|
|
@@ -4849,16 +4969,16 @@ function ReusableProfile({
|
|
|
4849
4969
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4850
4970
|
}
|
|
4851
4971
|
),
|
|
4852
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4972
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Change Password" })
|
|
4853
4973
|
] }) }),
|
|
4854
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4855
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4856
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4974
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.VStack, { gap: 5, px: 4, pt: 6, pb: 10, children: [
|
|
4975
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
4976
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Current Password" }),
|
|
4857
4977
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4858
|
-
|
|
4978
|
+
import_react35.InputGroup,
|
|
4859
4979
|
{
|
|
4860
4980
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4861
|
-
|
|
4981
|
+
import_react35.IconButton,
|
|
4862
4982
|
{
|
|
4863
4983
|
size: "xs",
|
|
4864
4984
|
variant: "ghost",
|
|
@@ -4869,7 +4989,7 @@ function ReusableProfile({
|
|
|
4869
4989
|
}
|
|
4870
4990
|
),
|
|
4871
4991
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4872
|
-
|
|
4992
|
+
import_react35.Input,
|
|
4873
4993
|
{
|
|
4874
4994
|
type: showCurrentPw ? "text" : "password",
|
|
4875
4995
|
value: currentPw,
|
|
@@ -4881,13 +5001,13 @@ function ReusableProfile({
|
|
|
4881
5001
|
}
|
|
4882
5002
|
)
|
|
4883
5003
|
] }),
|
|
4884
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4885
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5004
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
5005
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "New Password" }),
|
|
4886
5006
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4887
|
-
|
|
5007
|
+
import_react35.InputGroup,
|
|
4888
5008
|
{
|
|
4889
5009
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4890
|
-
|
|
5010
|
+
import_react35.IconButton,
|
|
4891
5011
|
{
|
|
4892
5012
|
size: "xs",
|
|
4893
5013
|
variant: "ghost",
|
|
@@ -4898,7 +5018,7 @@ function ReusableProfile({
|
|
|
4898
5018
|
}
|
|
4899
5019
|
),
|
|
4900
5020
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4901
|
-
|
|
5021
|
+
import_react35.Input,
|
|
4902
5022
|
{
|
|
4903
5023
|
type: showNewPw ? "text" : "password",
|
|
4904
5024
|
value: newPw,
|
|
@@ -4909,9 +5029,9 @@ function ReusableProfile({
|
|
|
4909
5029
|
)
|
|
4910
5030
|
}
|
|
4911
5031
|
),
|
|
4912
|
-
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4913
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4914
|
-
|
|
5032
|
+
newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { mt: 2, children: [
|
|
5033
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Flex, { gap: 1, mb: 1, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5034
|
+
import_react35.Box,
|
|
4915
5035
|
{
|
|
4916
5036
|
flex: 1,
|
|
4917
5037
|
h: "3px",
|
|
@@ -4921,16 +5041,16 @@ function ReusableProfile({
|
|
|
4921
5041
|
},
|
|
4922
5042
|
i
|
|
4923
5043
|
)) }),
|
|
4924
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5044
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: pwMeta.color, fontWeight: "medium", children: pwMeta.label })
|
|
4925
5045
|
] })
|
|
4926
5046
|
] }),
|
|
4927
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
4928
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5047
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
5048
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", fontWeight: "semibold", color: "gray.500", mb: 1.5, children: "Confirm New Password" }),
|
|
4929
5049
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4930
|
-
|
|
5050
|
+
import_react35.InputGroup,
|
|
4931
5051
|
{
|
|
4932
5052
|
endElement: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4933
|
-
|
|
5053
|
+
import_react35.IconButton,
|
|
4934
5054
|
{
|
|
4935
5055
|
size: "xs",
|
|
4936
5056
|
variant: "ghost",
|
|
@@ -4941,7 +5061,7 @@ function ReusableProfile({
|
|
|
4941
5061
|
}
|
|
4942
5062
|
),
|
|
4943
5063
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4944
|
-
|
|
5064
|
+
import_react35.Input,
|
|
4945
5065
|
{
|
|
4946
5066
|
type: showConfirmPw ? "text" : "password",
|
|
4947
5067
|
value: confirmPw,
|
|
@@ -4952,10 +5072,10 @@ function ReusableProfile({
|
|
|
4952
5072
|
)
|
|
4953
5073
|
}
|
|
4954
5074
|
),
|
|
4955
|
-
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5075
|
+
confirmPw && confirmPw !== newPw && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "xs", color: "red.500", mt: 1, children: "Passwords do not match" })
|
|
4956
5076
|
] }),
|
|
4957
5077
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4958
|
-
|
|
5078
|
+
import_react35.Button,
|
|
4959
5079
|
{
|
|
4960
5080
|
w: "full",
|
|
4961
5081
|
mt: 1,
|
|
@@ -4972,7 +5092,7 @@ function ReusableProfile({
|
|
|
4972
5092
|
] });
|
|
4973
5093
|
const navbarCustomizeContent = /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
4974
5094
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4975
|
-
|
|
5095
|
+
import_react35.Box,
|
|
4976
5096
|
{
|
|
4977
5097
|
px: 4,
|
|
4978
5098
|
pt: 4,
|
|
@@ -4983,9 +5103,9 @@ function ReusableProfile({
|
|
|
4983
5103
|
top: 0,
|
|
4984
5104
|
bg: "bg",
|
|
4985
5105
|
zIndex: 1,
|
|
4986
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5106
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 2, pr: 10, children: [
|
|
4987
5107
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4988
|
-
|
|
5108
|
+
import_react35.IconButton,
|
|
4989
5109
|
{
|
|
4990
5110
|
size: "sm",
|
|
4991
5111
|
variant: "ghost",
|
|
@@ -4998,9 +5118,9 @@ function ReusableProfile({
|
|
|
4998
5118
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuChevronLeft, {})
|
|
4999
5119
|
}
|
|
5000
5120
|
),
|
|
5001
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5002
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5003
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5121
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
5122
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontWeight: "bold", fontSize: "md", children: "Quick Navigation" }),
|
|
5123
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", children: [
|
|
5004
5124
|
"Choose up to ",
|
|
5005
5125
|
maxQuickNavItems,
|
|
5006
5126
|
" shortcuts for the bottom bar"
|
|
@@ -5009,10 +5129,10 @@ function ReusableProfile({
|
|
|
5009
5129
|
] })
|
|
5010
5130
|
}
|
|
5011
5131
|
),
|
|
5012
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5013
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5132
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 5, pb: 2, children: [
|
|
5133
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
5014
5134
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5015
|
-
|
|
5135
|
+
import_react35.Text,
|
|
5016
5136
|
{
|
|
5017
5137
|
fontSize: "xs",
|
|
5018
5138
|
fontWeight: "bold",
|
|
@@ -5023,7 +5143,7 @@ function ReusableProfile({
|
|
|
5023
5143
|
}
|
|
5024
5144
|
),
|
|
5025
5145
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5026
|
-
|
|
5146
|
+
import_react35.Text,
|
|
5027
5147
|
{
|
|
5028
5148
|
fontSize: "xs",
|
|
5029
5149
|
color: quickNavHrefs.length >= maxQuickNavItems ? "orange.500" : "gray.400",
|
|
@@ -5037,7 +5157,7 @@ function ReusableProfile({
|
|
|
5037
5157
|
)
|
|
5038
5158
|
] }),
|
|
5039
5159
|
quickNavHrefs.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5040
|
-
|
|
5160
|
+
import_react35.Flex,
|
|
5041
5161
|
{
|
|
5042
5162
|
align: "center",
|
|
5043
5163
|
justify: "center",
|
|
@@ -5046,18 +5166,18 @@ function ReusableProfile({
|
|
|
5046
5166
|
borderWidth: "1px",
|
|
5047
5167
|
borderStyle: "dashed",
|
|
5048
5168
|
borderColor: "gray.200",
|
|
5049
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5169
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", color: "gray.400", children: "No items pinned \u2014 add from below" })
|
|
5050
5170
|
}
|
|
5051
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5171
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 0, children: quickNavHrefs.map((href, idx) => {
|
|
5052
5172
|
const option = availableOptions.find((item) => item.key === href);
|
|
5053
5173
|
if (!option) return null;
|
|
5054
5174
|
const ItemIcon = option.Icon;
|
|
5055
5175
|
const isFirst = idx === 0;
|
|
5056
5176
|
const isLast = idx === quickNavHrefs.length - 1;
|
|
5057
5177
|
const isReplacing = replacingIdx === idx;
|
|
5058
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
5059
5179
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5060
|
-
|
|
5180
|
+
import_react35.Flex,
|
|
5061
5181
|
{
|
|
5062
5182
|
justify: "space-between",
|
|
5063
5183
|
align: "center",
|
|
@@ -5069,9 +5189,9 @@ function ReusableProfile({
|
|
|
5069
5189
|
borderColor: isReplacing ? "orange.200" : void 0,
|
|
5070
5190
|
transition: "all 0.15s",
|
|
5071
5191
|
children: [
|
|
5072
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5192
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
5073
5193
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5074
|
-
|
|
5194
|
+
import_react35.Box,
|
|
5075
5195
|
{
|
|
5076
5196
|
w: "36px",
|
|
5077
5197
|
h: "36px",
|
|
@@ -5085,10 +5205,10 @@ function ReusableProfile({
|
|
|
5085
5205
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemIcon, { size: 15 })
|
|
5086
5206
|
}
|
|
5087
5207
|
),
|
|
5088
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5089
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5208
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
5209
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", fontWeight: "medium", children: option.title }),
|
|
5090
5210
|
isReplacing && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5091
|
-
|
|
5211
|
+
import_react35.Text,
|
|
5092
5212
|
{
|
|
5093
5213
|
fontSize: "xs",
|
|
5094
5214
|
color: "orange.500",
|
|
@@ -5098,9 +5218,9 @@ function ReusableProfile({
|
|
|
5098
5218
|
)
|
|
5099
5219
|
] })
|
|
5100
5220
|
] }),
|
|
5101
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5221
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.HStack, { gap: 0.5, children: [
|
|
5102
5222
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5103
|
-
|
|
5223
|
+
import_react35.IconButton,
|
|
5104
5224
|
{
|
|
5105
5225
|
size: "xs",
|
|
5106
5226
|
variant: "ghost",
|
|
@@ -5112,7 +5232,7 @@ function ReusableProfile({
|
|
|
5112
5232
|
}
|
|
5113
5233
|
),
|
|
5114
5234
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5115
|
-
|
|
5235
|
+
import_react35.IconButton,
|
|
5116
5236
|
{
|
|
5117
5237
|
size: "xs",
|
|
5118
5238
|
variant: "ghost",
|
|
@@ -5124,7 +5244,7 @@ function ReusableProfile({
|
|
|
5124
5244
|
}
|
|
5125
5245
|
),
|
|
5126
5246
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5127
|
-
|
|
5247
|
+
import_react35.IconButton,
|
|
5128
5248
|
{
|
|
5129
5249
|
size: "xs",
|
|
5130
5250
|
variant: isReplacing ? "solid" : "ghost",
|
|
@@ -5137,7 +5257,7 @@ function ReusableProfile({
|
|
|
5137
5257
|
}
|
|
5138
5258
|
),
|
|
5139
5259
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5140
|
-
|
|
5260
|
+
import_react35.IconButton,
|
|
5141
5261
|
{
|
|
5142
5262
|
size: "xs",
|
|
5143
5263
|
variant: "ghost",
|
|
@@ -5153,16 +5273,16 @@ function ReusableProfile({
|
|
|
5153
5273
|
]
|
|
5154
5274
|
}
|
|
5155
5275
|
),
|
|
5156
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5276
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {})
|
|
5157
5277
|
] }, href);
|
|
5158
5278
|
}) })
|
|
5159
5279
|
] }),
|
|
5160
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5161
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5162
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5163
|
-
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5280
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, { mx: 4, my: 1 }),
|
|
5281
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { px: 4, pt: 4, pb: 10, children: [
|
|
5282
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", justify: "space-between", mb: 3, children: [
|
|
5283
|
+
replacingIdx !== null ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { children: [
|
|
5164
5284
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5165
|
-
|
|
5285
|
+
import_react35.Text,
|
|
5166
5286
|
{
|
|
5167
5287
|
fontSize: "xs",
|
|
5168
5288
|
fontWeight: "bold",
|
|
@@ -5172,7 +5292,7 @@ function ReusableProfile({
|
|
|
5172
5292
|
children: "Select Replacement"
|
|
5173
5293
|
}
|
|
5174
5294
|
),
|
|
5175
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5295
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Text, { fontSize: "xs", color: "gray.500", mt: 0.5, children: [
|
|
5176
5296
|
'for "',
|
|
5177
5297
|
availableOptions.find(
|
|
5178
5298
|
(item) => item.key === quickNavHrefs[replacingIdx]
|
|
@@ -5180,7 +5300,7 @@ function ReusableProfile({
|
|
|
5180
5300
|
'"'
|
|
5181
5301
|
] })
|
|
5182
5302
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5183
|
-
|
|
5303
|
+
import_react35.Text,
|
|
5184
5304
|
{
|
|
5185
5305
|
fontSize: "xs",
|
|
5186
5306
|
fontWeight: "bold",
|
|
@@ -5191,7 +5311,7 @@ function ReusableProfile({
|
|
|
5191
5311
|
}
|
|
5192
5312
|
),
|
|
5193
5313
|
replacingIdx !== null && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5194
|
-
|
|
5314
|
+
import_react35.Button,
|
|
5195
5315
|
{
|
|
5196
5316
|
size: "xs",
|
|
5197
5317
|
variant: "ghost",
|
|
@@ -5201,17 +5321,17 @@ function ReusableProfile({
|
|
|
5201
5321
|
}
|
|
5202
5322
|
)
|
|
5203
5323
|
] }),
|
|
5204
|
-
unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5324
|
+
unpinnedOptions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", color: "gray.400", py: 3, textAlign: "center", children: "All available items are pinned" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.VStack, { gap: 0, children: unpinnedOptions.map((option, idx) => {
|
|
5205
5325
|
const ItemIcon = option.Icon;
|
|
5206
5326
|
const isLast = idx === unpinnedOptions.length - 1;
|
|
5207
5327
|
const isReplacingMode = replacingIdx !== null;
|
|
5208
5328
|
const canAdd = quickNavHrefs.length < maxQuickNavItems;
|
|
5209
5329
|
const actionEnabled = isReplacingMode || canAdd;
|
|
5210
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5211
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5212
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Box, { w: "full", children: [
|
|
5331
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { justify: "space-between", align: "center", py: 2.5, children: [
|
|
5332
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_react35.Flex, { align: "center", gap: 3, children: [
|
|
5213
5333
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5214
|
-
|
|
5334
|
+
import_react35.Box,
|
|
5215
5335
|
{
|
|
5216
5336
|
w: "36px",
|
|
5217
5337
|
h: "36px",
|
|
@@ -5226,7 +5346,7 @@ function ReusableProfile({
|
|
|
5226
5346
|
}
|
|
5227
5347
|
),
|
|
5228
5348
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5229
|
-
|
|
5349
|
+
import_react35.Text,
|
|
5230
5350
|
{
|
|
5231
5351
|
fontSize: "sm",
|
|
5232
5352
|
fontWeight: "medium",
|
|
@@ -5236,7 +5356,7 @@ function ReusableProfile({
|
|
|
5236
5356
|
)
|
|
5237
5357
|
] }),
|
|
5238
5358
|
isReplacingMode ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5239
|
-
|
|
5359
|
+
import_react35.IconButton,
|
|
5240
5360
|
{
|
|
5241
5361
|
size: "xs",
|
|
5242
5362
|
variant: "outline",
|
|
@@ -5248,7 +5368,7 @@ function ReusableProfile({
|
|
|
5248
5368
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuArrowLeftRight, { size: 13 })
|
|
5249
5369
|
}
|
|
5250
5370
|
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5251
|
-
|
|
5371
|
+
import_react35.IconButton,
|
|
5252
5372
|
{
|
|
5253
5373
|
size: "xs",
|
|
5254
5374
|
variant: "outline",
|
|
@@ -5262,7 +5382,7 @@ function ReusableProfile({
|
|
|
5262
5382
|
}
|
|
5263
5383
|
)
|
|
5264
5384
|
] }),
|
|
5265
|
-
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5385
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Separator, {})
|
|
5266
5386
|
] }, option.key);
|
|
5267
5387
|
}) })
|
|
5268
5388
|
] })
|
|
@@ -5270,7 +5390,7 @@ function ReusableProfile({
|
|
|
5270
5390
|
const subViewContent = profileView === "edit-account" ? editAccountContent : profileView === "change-password" ? changePasswordContent : profileView === "navbar-customize" ? navbarCustomizeContent : null;
|
|
5271
5391
|
if (isDesktop) {
|
|
5272
5392
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5273
|
-
|
|
5393
|
+
import_react35.Flex,
|
|
5274
5394
|
{
|
|
5275
5395
|
maxW: "6xl",
|
|
5276
5396
|
mx: "auto",
|
|
@@ -5281,7 +5401,7 @@ function ReusableProfile({
|
|
|
5281
5401
|
align: "start",
|
|
5282
5402
|
children: [
|
|
5283
5403
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5284
|
-
|
|
5404
|
+
import_react35.Box,
|
|
5285
5405
|
{
|
|
5286
5406
|
w: { md: "300px", lg: "340px" },
|
|
5287
5407
|
flexShrink: 0,
|
|
@@ -5296,7 +5416,7 @@ function ReusableProfile({
|
|
|
5296
5416
|
}
|
|
5297
5417
|
),
|
|
5298
5418
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5299
|
-
|
|
5419
|
+
import_react35.Box,
|
|
5300
5420
|
{
|
|
5301
5421
|
flex: "1",
|
|
5302
5422
|
minW: 0,
|
|
@@ -5307,7 +5427,7 @@ function ReusableProfile({
|
|
|
5307
5427
|
bg: "bg",
|
|
5308
5428
|
minH: "540px",
|
|
5309
5429
|
children: subViewContent ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5310
|
-
|
|
5430
|
+
import_react35.Flex,
|
|
5311
5431
|
{
|
|
5312
5432
|
direction: "column",
|
|
5313
5433
|
align: "center",
|
|
@@ -5318,7 +5438,7 @@ function ReusableProfile({
|
|
|
5318
5438
|
color: "gray.400",
|
|
5319
5439
|
children: [
|
|
5320
5440
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5321
|
-
|
|
5441
|
+
import_react35.Box,
|
|
5322
5442
|
{
|
|
5323
5443
|
w: "56px",
|
|
5324
5444
|
h: "56px",
|
|
@@ -5331,7 +5451,7 @@ function ReusableProfile({
|
|
|
5331
5451
|
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lu7.LuUser, { size: 24 })
|
|
5332
5452
|
}
|
|
5333
5453
|
),
|
|
5334
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5454
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Text, { fontSize: "sm", mt: 1, maxW: "280px", children: "Choose Edit Account, Change Password, or Quick Navigation from the menu to update your details here." })
|
|
5335
5455
|
]
|
|
5336
5456
|
}
|
|
5337
5457
|
)
|
|
@@ -5341,7 +5461,7 @@ function ReusableProfile({
|
|
|
5341
5461
|
}
|
|
5342
5462
|
);
|
|
5343
5463
|
}
|
|
5344
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react35.Box, { maxW: "480px", mx: "auto", w: "full", minH: "100%", bg: "bg", children: profileView === "main" ? mainContent : subViewContent });
|
|
5345
5465
|
}
|
|
5346
5466
|
var UserProfile_default = ReusableProfile;
|
|
5347
5467
|
// Annotate the CommonJS export names for ESM import in node:
|