@cedros/login-react 0.0.44 → 0.0.46
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/{AuthenticationSettings-bNQiNQ9g.cjs → AuthenticationSettings-BBOjHR6j.cjs} +1 -1
- package/dist/{AuthenticationSettings-bNQiNQ9g.cjs.map → AuthenticationSettings-BBOjHR6j.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-BlYOmaEG.cjs → AuthenticationSettings-BXZRBZqc.cjs} +1 -1
- package/dist/{AuthenticationSettings-BlYOmaEG.cjs.map → AuthenticationSettings-BXZRBZqc.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-BsuwWKbT.js → AuthenticationSettings-Bc_qT4nV.js} +1 -1
- package/dist/{AuthenticationSettings-BsuwWKbT.js.map → AuthenticationSettings-Bc_qT4nV.js.map} +1 -1
- package/dist/{AuthenticationSettings-DrHqtD7p.js → AuthenticationSettings-DXWCVZxS.js} +1 -1
- package/dist/{AuthenticationSettings-DrHqtD7p.js.map → AuthenticationSettings-DXWCVZxS.js.map} +1 -1
- package/dist/{AutosaveStatus-CZSwtgrL.cjs → AutosaveStatus-DfMPudTQ.cjs} +1 -1
- package/dist/AutosaveStatus-DfMPudTQ.cjs.map +1 -0
- package/dist/{AutosaveStatus-D-roPsRx.js → AutosaveStatus-DhGM3UUx.js} +103 -36
- package/dist/AutosaveStatus-DhGM3UUx.js.map +1 -0
- package/dist/{CreditSystemSettings-BTqZFn4K.js → CreditSystemSettings-B59-gOQT.js} +1 -1
- package/dist/{CreditSystemSettings-BTqZFn4K.js.map → CreditSystemSettings-B59-gOQT.js.map} +1 -1
- package/dist/{CreditSystemSettings-3R6crxvW.cjs → CreditSystemSettings-Badz4iAc.cjs} +1 -1
- package/dist/{CreditSystemSettings-3R6crxvW.cjs.map → CreditSystemSettings-Badz4iAc.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-BskW_NKx.cjs → CreditSystemSettings-BxSoDwEi.cjs} +1 -1
- package/dist/{CreditSystemSettings-BskW_NKx.cjs.map → CreditSystemSettings-BxSoDwEi.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-SL45GRH3.js → CreditSystemSettings-DxFpOeBW.js} +1 -1
- package/dist/{CreditSystemSettings-SL45GRH3.js.map → CreditSystemSettings-DxFpOeBW.js.map} +1 -1
- package/dist/{EmailSettings-XETM8FdS.js → EmailSettings-0y8D1QzF.js} +1 -1
- package/dist/{EmailSettings-XETM8FdS.js.map → EmailSettings-0y8D1QzF.js.map} +1 -1
- package/dist/{EmailSettings-BUAQji4I.js → EmailSettings-BA722mhf.js} +1 -1
- package/dist/{EmailSettings-BUAQji4I.js.map → EmailSettings-BA722mhf.js.map} +1 -1
- package/dist/{EmailSettings-CihElRkc.cjs → EmailSettings-BwZvdOYB.cjs} +1 -1
- package/dist/{EmailSettings-CihElRkc.cjs.map → EmailSettings-BwZvdOYB.cjs.map} +1 -1
- package/dist/{EmailSettings-CEC1rhrm.cjs → EmailSettings-DIjo3aJo.cjs} +1 -1
- package/dist/{EmailSettings-CEC1rhrm.cjs.map → EmailSettings-DIjo3aJo.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-CCT9DwmL.js → EmbeddedWalletSettings-BDbPpqWD.js} +1 -1
- package/dist/{EmbeddedWalletSettings-CCT9DwmL.js.map → EmbeddedWalletSettings-BDbPpqWD.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-MtwR81WH.cjs → EmbeddedWalletSettings-Db9a0D5l.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-MtwR81WH.cjs.map → EmbeddedWalletSettings-Db9a0D5l.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-B-083zu6.js → EmbeddedWalletSettings-MH4A6e6S.js} +1 -1
- package/dist/{EmbeddedWalletSettings-B-083zu6.js.map → EmbeddedWalletSettings-MH4A6e6S.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-DXIjansC.cjs → EmbeddedWalletSettings-T7LwbGok.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-DXIjansC.cjs.map → EmbeddedWalletSettings-T7LwbGok.cjs.map} +1 -1
- package/dist/{ServerSettings-DBpbRihl.js → ServerSettings-CwCkkU50.js} +1 -1
- package/dist/{ServerSettings-DBpbRihl.js.map → ServerSettings-CwCkkU50.js.map} +1 -1
- package/dist/{ServerSettings-24DA_BOI.js → ServerSettings-DKzWaqjC.js} +1 -1
- package/dist/{ServerSettings-24DA_BOI.js.map → ServerSettings-DKzWaqjC.js.map} +1 -1
- package/dist/{ServerSettings-BTEuzdrf.cjs → ServerSettings-DptlzQAu.cjs} +1 -1
- package/dist/{ServerSettings-BTEuzdrf.cjs.map → ServerSettings-DptlzQAu.cjs.map} +1 -1
- package/dist/{ServerSettings-BNc4LEs4.cjs → ServerSettings-j5Lu5D-R.cjs} +1 -1
- package/dist/{ServerSettings-BNc4LEs4.cjs.map → ServerSettings-j5Lu5D-R.cjs.map} +1 -1
- package/dist/{WebhookSettings-D9IsXZJN.js → WebhookSettings-2hlLLyGd.js} +1 -1
- package/dist/{WebhookSettings-D9IsXZJN.js.map → WebhookSettings-2hlLLyGd.js.map} +1 -1
- package/dist/{WebhookSettings-C6X_JJcD.cjs → WebhookSettings-CoEoVRRO.cjs} +1 -1
- package/dist/{WebhookSettings-C6X_JJcD.cjs.map → WebhookSettings-CoEoVRRO.cjs.map} +1 -1
- package/dist/{WebhookSettings-H1x6IKOj.cjs → WebhookSettings-DOaydSWQ.cjs} +1 -1
- package/dist/{WebhookSettings-H1x6IKOj.cjs.map → WebhookSettings-DOaydSWQ.cjs.map} +1 -1
- package/dist/{WebhookSettings-BhIwucKb.js → WebhookSettings-LS_wUimF.js} +1 -1
- package/dist/{WebhookSettings-BhIwucKb.js.map → WebhookSettings-LS_wUimF.js.map} +1 -1
- package/dist/admin-only.cjs +1 -1
- package/dist/admin-only.js +1 -1
- package/dist/index.cjs +12 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1448 -1489
- package/dist/index.js.map +1 -1
- package/dist/{plugin-BwwJh2cY.cjs → plugin-Ci67QMGG.cjs} +1 -1
- package/dist/{plugin-BwwJh2cY.cjs.map → plugin-Ci67QMGG.cjs.map} +1 -1
- package/dist/{plugin-CetHtdLq.js → plugin-Cm8Q6O4-.js} +1 -1
- package/dist/{plugin-CetHtdLq.js.map → plugin-Cm8Q6O4-.js.map} +1 -1
- package/package.json +1 -1
- package/dist/AutosaveStatus-CZSwtgrL.cjs.map +0 -1
- package/dist/AutosaveStatus-D-roPsRx.js.map +0 -1
- package/dist/assets/argon2Worker-Bi5TuQvD.js +0 -1
- package/dist/assets/argon2Worker-Bi5TuQvD.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsxs as d, jsx as e, Fragment as
|
|
2
|
-
import { useMemo as N, useCallback as m, useState as
|
|
1
|
+
import { jsxs as d, jsx as e, Fragment as S } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as N, useCallback as m, useState as v, useRef as P, useEffect as E } from "react";
|
|
3
3
|
import { u as U } from "./useCedrosLogin-CFfID-0i.js";
|
|
4
4
|
import { u as O } from "./useSystemSettings-rgskaDqP.js";
|
|
5
5
|
function M(t) {
|
|
@@ -1338,6 +1338,68 @@ const W = {
|
|
|
1338
1338
|
inputType: "text",
|
|
1339
1339
|
unit: "seconds",
|
|
1340
1340
|
placeholder: "60"
|
|
1341
|
+
},
|
|
1342
|
+
// ============= Signup Gating =============
|
|
1343
|
+
signup_access_code_enabled: {
|
|
1344
|
+
key: "signup_access_code_enabled",
|
|
1345
|
+
label: "Require Access Code",
|
|
1346
|
+
description: "When enabled, users must provide a valid access code to register. Codes can be global (single shared code), limited-use (admin-created), or user-generated invite codes.",
|
|
1347
|
+
inputType: "boolean"
|
|
1348
|
+
},
|
|
1349
|
+
signup_access_code: {
|
|
1350
|
+
key: "signup_access_code",
|
|
1351
|
+
label: "Global Access Code",
|
|
1352
|
+
description: "A single shared code that anyone can use to register. Leave blank to disable the global code (users must then use a per-code from the access codes list).",
|
|
1353
|
+
inputType: "text",
|
|
1354
|
+
placeholder: "e.g. BETA2025"
|
|
1355
|
+
},
|
|
1356
|
+
signup_limit_enabled: {
|
|
1357
|
+
key: "signup_limit_enabled",
|
|
1358
|
+
label: "Enable Signup Rate Limit",
|
|
1359
|
+
description: "Cap the number of new registrations allowed per time period.",
|
|
1360
|
+
inputType: "boolean"
|
|
1361
|
+
},
|
|
1362
|
+
signup_limit_period: {
|
|
1363
|
+
key: "signup_limit_period",
|
|
1364
|
+
label: "Rate Limit Period",
|
|
1365
|
+
description: "The rolling time window for counting new signups.",
|
|
1366
|
+
inputType: "select",
|
|
1367
|
+
presets: [
|
|
1368
|
+
{ label: "Daily", value: "daily" },
|
|
1369
|
+
{ label: "Weekly", value: "weekly" },
|
|
1370
|
+
{ label: "Monthly", value: "monthly" }
|
|
1371
|
+
]
|
|
1372
|
+
},
|
|
1373
|
+
signup_limit_max: {
|
|
1374
|
+
key: "signup_limit_max",
|
|
1375
|
+
label: "Max Signups Per Period",
|
|
1376
|
+
description: "Maximum number of new registrations allowed within the selected period.",
|
|
1377
|
+
inputType: "text",
|
|
1378
|
+
placeholder: "100"
|
|
1379
|
+
},
|
|
1380
|
+
signup_user_codes_enabled: {
|
|
1381
|
+
key: "signup_user_codes_enabled",
|
|
1382
|
+
label: "Allow User Invite Codes",
|
|
1383
|
+
description: 'Let registered users generate single-use invite codes to share with others. Requires "Require Access Code" to be enabled to have effect.',
|
|
1384
|
+
inputType: "boolean"
|
|
1385
|
+
},
|
|
1386
|
+
signup_user_codes_per_period: {
|
|
1387
|
+
key: "signup_user_codes_per_period",
|
|
1388
|
+
label: "Invite Codes Per User Per Period",
|
|
1389
|
+
description: "Maximum number of invite codes each user may generate within the budget period.",
|
|
1390
|
+
inputType: "text",
|
|
1391
|
+
placeholder: "5"
|
|
1392
|
+
},
|
|
1393
|
+
signup_user_codes_period: {
|
|
1394
|
+
key: "signup_user_codes_period",
|
|
1395
|
+
label: "Invite Code Budget Period",
|
|
1396
|
+
description: "The rolling time window for counting how many invite codes a user has generated.",
|
|
1397
|
+
inputType: "select",
|
|
1398
|
+
presets: [
|
|
1399
|
+
{ label: "Daily", value: "daily" },
|
|
1400
|
+
{ label: "Weekly", value: "weekly" },
|
|
1401
|
+
{ label: "Monthly", value: "monthly" }
|
|
1402
|
+
]
|
|
1341
1403
|
}
|
|
1342
1404
|
}, ae = {
|
|
1343
1405
|
// Auth providers (sorted alphabetically by subcategory)
|
|
@@ -1475,6 +1537,11 @@ const W = {
|
|
|
1475
1537
|
label: "Referrals & Rewards",
|
|
1476
1538
|
description: "Configure referral reward types, amounts, triggers, caps, and payout worker settings.",
|
|
1477
1539
|
icon: ""
|
|
1540
|
+
},
|
|
1541
|
+
signup: {
|
|
1542
|
+
label: "Signup Gating",
|
|
1543
|
+
description: "Control who can register: require access codes, set per-period signup caps, and let users generate invite codes.",
|
|
1544
|
+
icon: ""
|
|
1478
1545
|
}
|
|
1479
1546
|
}, L = [
|
|
1480
1547
|
"SOL",
|
|
@@ -1489,7 +1556,7 @@ const W = {
|
|
|
1489
1556
|
"ORE"
|
|
1490
1557
|
];
|
|
1491
1558
|
function j({ value: t, onChange: i, multiline: a }) {
|
|
1492
|
-
const [n, r] =
|
|
1559
|
+
const [n, r] = v(!1), [s, p] = v(!1), l = t && t.length > 0, o = m(() => {
|
|
1493
1560
|
r(!0), p(!0);
|
|
1494
1561
|
}, []), c = m(() => {
|
|
1495
1562
|
r(!1), p(!1);
|
|
@@ -1537,7 +1604,7 @@ function j({ value: t, onChange: i, multiline: a }) {
|
|
|
1537
1604
|
] });
|
|
1538
1605
|
}
|
|
1539
1606
|
function F({ settingKey: t, value: i }) {
|
|
1540
|
-
const [a, n] =
|
|
1607
|
+
const [a, n] = v(null), [r, s] = v(!1), [p, l] = v(!1), [o, c] = v(null), [y, b] = v(!1), { config: _, _internal: w } = U(), g = a ?? i, x = g && g.length > 0, C = x && !a, h = m(async () => {
|
|
1541
1608
|
if (g)
|
|
1542
1609
|
try {
|
|
1543
1610
|
await navigator.clipboard.writeText(g), s(!0), setTimeout(() => s(!1), 2e3);
|
|
@@ -1548,18 +1615,18 @@ function F({ settingKey: t, value: i }) {
|
|
|
1548
1615
|
}, [g]), k = m(async () => {
|
|
1549
1616
|
l(!0), c(null);
|
|
1550
1617
|
try {
|
|
1551
|
-
const u = w?.getAccessToken?.(),
|
|
1552
|
-
u && (
|
|
1553
|
-
const
|
|
1618
|
+
const u = w?.getAccessToken?.(), f = { "Content-Type": "application/json" };
|
|
1619
|
+
u && (f.Authorization = `Bearer ${u}`);
|
|
1620
|
+
const T = await fetch(
|
|
1554
1621
|
`${_.serverUrl}/auth/admin/settings/regenerate/${t}`,
|
|
1555
|
-
{ method: "POST", headers:
|
|
1622
|
+
{ method: "POST", headers: f, credentials: "include" }
|
|
1556
1623
|
);
|
|
1557
|
-
if (!
|
|
1558
|
-
const A = await
|
|
1559
|
-
throw new Error(A?.message || A?.error || `Regenerate failed (${
|
|
1624
|
+
if (!T.ok) {
|
|
1625
|
+
const A = await T.json().catch(() => null);
|
|
1626
|
+
throw new Error(A?.message || A?.error || `Regenerate failed (${T.status})`);
|
|
1560
1627
|
}
|
|
1561
|
-
const
|
|
1562
|
-
n(
|
|
1628
|
+
const I = await T.json();
|
|
1629
|
+
n(I.value), b(!1);
|
|
1563
1630
|
} catch (u) {
|
|
1564
1631
|
c(u instanceof Error ? u.message : "Failed to regenerate");
|
|
1565
1632
|
} finally {
|
|
@@ -1698,7 +1765,7 @@ function $({ value: t, onChange: i }) {
|
|
|
1698
1765
|
/* @__PURE__ */ e("button", { type: "button", className: "cedros-token-add-btn", onClick: r, children: "+ Add Token" })
|
|
1699
1766
|
] });
|
|
1700
1767
|
}
|
|
1701
|
-
function
|
|
1768
|
+
function B({ value: t, onChange: i }) {
|
|
1702
1769
|
const a = N(() => t.split(",").map((s) => s.trim()).filter(Boolean), [t]), n = m(
|
|
1703
1770
|
(s) => {
|
|
1704
1771
|
if (!s || a.includes(s)) return;
|
|
@@ -1760,7 +1827,7 @@ function ie({
|
|
|
1760
1827
|
externalWarnings: n
|
|
1761
1828
|
}) {
|
|
1762
1829
|
return /* @__PURE__ */ e("div", { className: "cedros-settings-grid", children: t.map((r) => /* @__PURE__ */ e(
|
|
1763
|
-
|
|
1830
|
+
V,
|
|
1764
1831
|
{
|
|
1765
1832
|
setting: r,
|
|
1766
1833
|
editValue: i[r.key],
|
|
@@ -1770,7 +1837,7 @@ function ie({
|
|
|
1770
1837
|
r.key
|
|
1771
1838
|
)) });
|
|
1772
1839
|
}
|
|
1773
|
-
function
|
|
1840
|
+
function V({ setting: t, editValue: i, onChange: a, externalWarning: n }) {
|
|
1774
1841
|
const r = W[t.key], s = i ?? t.value, p = i !== void 0 && i !== t.value, l = r?.inputType === "boolean", o = N(() => {
|
|
1775
1842
|
if (n) return n;
|
|
1776
1843
|
if (!r?.warningThreshold) return null;
|
|
@@ -1783,7 +1850,7 @@ function B({ setting: t, editValue: i, onChange: a, externalWarning: n }) {
|
|
|
1783
1850
|
"div",
|
|
1784
1851
|
{
|
|
1785
1852
|
className: `cedros-setting-row ${p ? "cedros-setting-row-changed" : ""} ${o ? "cedros-setting-row-warning" : ""} ${l ? "cedros-setting-row-toggle" : ""}`,
|
|
1786
|
-
children: l ? /* @__PURE__ */ d(
|
|
1853
|
+
children: l ? /* @__PURE__ */ d(S, { children: [
|
|
1787
1854
|
/* @__PURE__ */ d("div", { className: "cedros-setting-control cedros-setting-control-toggle", children: [
|
|
1788
1855
|
/* @__PURE__ */ e(
|
|
1789
1856
|
R,
|
|
@@ -1799,7 +1866,7 @@ function B({ setting: t, editValue: i, onChange: a, externalWarning: n }) {
|
|
|
1799
1866
|
/* @__PURE__ */ e("span", { className: "cedros-setting-name", children: r.label }),
|
|
1800
1867
|
/* @__PURE__ */ e("span", { className: "cedros-setting-description", children: D(r.description) })
|
|
1801
1868
|
] })
|
|
1802
|
-
] }) : /* @__PURE__ */ d(
|
|
1869
|
+
] }) : /* @__PURE__ */ d(S, { children: [
|
|
1803
1870
|
/* @__PURE__ */ d("div", { className: "cedros-setting-label", children: [
|
|
1804
1871
|
/* @__PURE__ */ e("span", { className: "cedros-setting-name", children: r.label }),
|
|
1805
1872
|
/* @__PURE__ */ e("span", { className: "cedros-setting-description", children: D(r.description) })
|
|
@@ -1836,10 +1903,10 @@ function B({ setting: t, editValue: i, onChange: a, externalWarning: n }) {
|
|
|
1836
1903
|
function R({ meta: t, value: i, onChange: a }) {
|
|
1837
1904
|
switch (t.inputType) {
|
|
1838
1905
|
case "duration":
|
|
1839
|
-
return /* @__PURE__ */ e(
|
|
1906
|
+
return /* @__PURE__ */ e(G, { value: i, onChange: a, presets: t.presets, min: t.min });
|
|
1840
1907
|
case "percentage":
|
|
1841
1908
|
return /* @__PURE__ */ e(
|
|
1842
|
-
|
|
1909
|
+
H,
|
|
1843
1910
|
{
|
|
1844
1911
|
value: i,
|
|
1845
1912
|
onChange: a,
|
|
@@ -1890,7 +1957,7 @@ function R({ meta: t, value: i, onChange: a }) {
|
|
|
1890
1957
|
case "readonlySecret":
|
|
1891
1958
|
return /* @__PURE__ */ e(F, { settingKey: t.key, value: i });
|
|
1892
1959
|
case "tokenSymbolList":
|
|
1893
|
-
return /* @__PURE__ */ e(
|
|
1960
|
+
return /* @__PURE__ */ e(B, { value: i, onChange: a });
|
|
1894
1961
|
default:
|
|
1895
1962
|
return /* @__PURE__ */ e(
|
|
1896
1963
|
"input",
|
|
@@ -1903,7 +1970,7 @@ function R({ meta: t, value: i, onChange: a }) {
|
|
|
1903
1970
|
);
|
|
1904
1971
|
}
|
|
1905
1972
|
}
|
|
1906
|
-
function
|
|
1973
|
+
function G({ value: t, onChange: i, presets: a, min: n = 0 }) {
|
|
1907
1974
|
const r = parseInt(t, 10) || 0, s = q(r), p = m(
|
|
1908
1975
|
(o) => {
|
|
1909
1976
|
o.target.value && i(o.target.value);
|
|
@@ -1948,7 +2015,7 @@ function H({ value: t, onChange: i, presets: a, min: n = 0 }) {
|
|
|
1948
2015
|
] })
|
|
1949
2016
|
] });
|
|
1950
2017
|
}
|
|
1951
|
-
function
|
|
2018
|
+
function H({
|
|
1952
2019
|
value: t,
|
|
1953
2020
|
onChange: i,
|
|
1954
2021
|
min: a,
|
|
@@ -2080,8 +2147,8 @@ function z({ value: t, onChange: i }) {
|
|
|
2080
2147
|
}
|
|
2081
2148
|
const Y = 800, X = 2e3;
|
|
2082
2149
|
function re() {
|
|
2083
|
-
const { settings: t, isLoading: i, error: a, fetchSettings: n, updateSettings: r } = O(), [s, p] =
|
|
2084
|
-
|
|
2150
|
+
const { settings: t, isLoading: i, error: a, fetchSettings: n, updateSettings: r } = O(), [s, p] = v({}), [l, o] = v("idle"), [c, y] = v(null), b = P(null), _ = P(null), w = P({});
|
|
2151
|
+
E(() => () => {
|
|
2085
2152
|
b.current && clearTimeout(b.current), _.current && clearTimeout(_.current);
|
|
2086
2153
|
}, []);
|
|
2087
2154
|
const g = m(async () => {
|
|
@@ -2091,16 +2158,16 @@ function re() {
|
|
|
2091
2158
|
return;
|
|
2092
2159
|
}
|
|
2093
2160
|
o("saving"), y(null);
|
|
2094
|
-
const k = Object.entries(h).map(([u,
|
|
2161
|
+
const k = Object.entries(h).map(([u, f]) => ({
|
|
2095
2162
|
key: u,
|
|
2096
|
-
value:
|
|
2163
|
+
value: f
|
|
2097
2164
|
}));
|
|
2098
2165
|
try {
|
|
2099
2166
|
await r(k), p((u) => {
|
|
2100
|
-
const
|
|
2101
|
-
for (const
|
|
2102
|
-
delete
|
|
2103
|
-
return
|
|
2167
|
+
const f = { ...u };
|
|
2168
|
+
for (const T of Object.keys(h))
|
|
2169
|
+
delete f[T];
|
|
2170
|
+
return f;
|
|
2104
2171
|
});
|
|
2105
2172
|
for (const u of Object.keys(h))
|
|
2106
2173
|
delete w.current[u];
|
|
@@ -2121,7 +2188,7 @@ function re() {
|
|
|
2121
2188
|
(h) => {
|
|
2122
2189
|
if (s[h] !== void 0) return s[h];
|
|
2123
2190
|
for (const k of Object.values(t)) {
|
|
2124
|
-
const u = k.find((
|
|
2191
|
+
const u = k.find((f) => f.key === h);
|
|
2125
2192
|
if (u) return u.value;
|
|
2126
2193
|
}
|
|
2127
2194
|
return "";
|
|
@@ -2142,19 +2209,19 @@ function re() {
|
|
|
2142
2209
|
}
|
|
2143
2210
|
function se({ status: t, error: i }) {
|
|
2144
2211
|
return t === "idle" ? null : /* @__PURE__ */ d("div", { className: `cedros-autosave-status cedros-autosave-status--${t}`, children: [
|
|
2145
|
-
t === "pending" && /* @__PURE__ */ d(
|
|
2212
|
+
t === "pending" && /* @__PURE__ */ d(S, { children: [
|
|
2146
2213
|
/* @__PURE__ */ e("span", { className: "cedros-autosave-dot" }),
|
|
2147
2214
|
/* @__PURE__ */ e("span", { children: "Unsaved changes" })
|
|
2148
2215
|
] }),
|
|
2149
|
-
t === "saving" && /* @__PURE__ */ d(
|
|
2216
|
+
t === "saving" && /* @__PURE__ */ d(S, { children: [
|
|
2150
2217
|
/* @__PURE__ */ e("span", { className: "cedros-autosave-spinner" }),
|
|
2151
2218
|
/* @__PURE__ */ e("span", { children: "Saving..." })
|
|
2152
2219
|
] }),
|
|
2153
|
-
t === "saved" && /* @__PURE__ */ d(
|
|
2220
|
+
t === "saved" && /* @__PURE__ */ d(S, { children: [
|
|
2154
2221
|
/* @__PURE__ */ e("span", { className: "cedros-autosave-check", children: "✓" }),
|
|
2155
2222
|
/* @__PURE__ */ e("span", { children: "Saved" })
|
|
2156
2223
|
] }),
|
|
2157
|
-
t === "error" && /* @__PURE__ */ d(
|
|
2224
|
+
t === "error" && /* @__PURE__ */ d(S, { children: [
|
|
2158
2225
|
/* @__PURE__ */ e("span", { className: "cedros-autosave-error-icon", children: "!" }),
|
|
2159
2226
|
/* @__PURE__ */ e("span", { children: i || "Save failed" })
|
|
2160
2227
|
] })
|