@cedros/login-react 0.0.8 → 0.0.9
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-UOHce4G0.cjs → AuthenticationSettings-BxpBLsUX.cjs} +1 -1
- package/dist/{AuthenticationSettings-UOHce4G0.cjs.map → AuthenticationSettings-BxpBLsUX.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-EaQzrn7-.js → AuthenticationSettings-eTN4qtHV.js} +1 -1
- package/dist/{AuthenticationSettings-EaQzrn7-.js.map → AuthenticationSettings-eTN4qtHV.js.map} +1 -1
- package/dist/{CreditSystemSettings-BClUVM4R.cjs → CreditSystemSettings-BuBKDfKL.cjs} +1 -1
- package/dist/{CreditSystemSettings-BClUVM4R.cjs.map → CreditSystemSettings-BuBKDfKL.cjs.map} +1 -1
- package/dist/{CreditSystemSettings-BcoLajmO.js → CreditSystemSettings-D7avf3PS.js} +1 -1
- package/dist/{CreditSystemSettings-BcoLajmO.js.map → CreditSystemSettings-D7avf3PS.js.map} +1 -1
- package/dist/{DepositsSection-DPr60Pty.cjs → DepositsSection-DEh9Oy0V.cjs} +1 -1
- package/dist/{DepositsSection-DPr60Pty.cjs.map → DepositsSection-DEh9Oy0V.cjs.map} +1 -1
- package/dist/{DepositsSection-C6DUs6iI.js → DepositsSection-Db4irTZb.js} +1 -1
- package/dist/{DepositsSection-C6DUs6iI.js.map → DepositsSection-Db4irTZb.js.map} +1 -1
- package/dist/{EmailSettings-BM7tGO1t.cjs → EmailSettings-CGocWYc0.cjs} +1 -1
- package/dist/{EmailSettings-BM7tGO1t.cjs.map → EmailSettings-CGocWYc0.cjs.map} +1 -1
- package/dist/{EmailSettings-DFVkODH_.js → EmailSettings-sN1OCw50.js} +1 -1
- package/dist/{EmailSettings-DFVkODH_.js.map → EmailSettings-sN1OCw50.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-DGJST5MD.cjs → EmbeddedWalletSettings-NZfbc5K8.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-DGJST5MD.cjs.map → EmbeddedWalletSettings-NZfbc5K8.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-BnHEtzpS.js → EmbeddedWalletSettings-qpRuCk4R.js} +1 -1
- package/dist/{EmbeddedWalletSettings-BnHEtzpS.js.map → EmbeddedWalletSettings-qpRuCk4R.js.map} +1 -1
- package/dist/{ServerSettings-B2YxkgLu.cjs → ServerSettings-Bkr_xuDx.cjs} +1 -1
- package/dist/{ServerSettings-B2YxkgLu.cjs.map → ServerSettings-Bkr_xuDx.cjs.map} +1 -1
- package/dist/{ServerSettings-jIwIl7mV.js → ServerSettings-CQn3-uuP.js} +1 -1
- package/dist/{ServerSettings-jIwIl7mV.js.map → ServerSettings-CQn3-uuP.js.map} +1 -1
- package/dist/{TeamSection-D_9-sbM5.js → TeamSection-DNozLdU4.js} +19 -19
- package/dist/TeamSection-DNozLdU4.js.map +1 -0
- package/dist/TeamSection-W9SC2Keh.cjs +1 -0
- package/dist/TeamSection-W9SC2Keh.cjs.map +1 -0
- package/dist/{UsersSection-nwTQCl2X.cjs → UsersSection-DDfHW_ao.cjs} +1 -1
- package/dist/{UsersSection-nwTQCl2X.cjs.map → UsersSection-DDfHW_ao.cjs.map} +1 -1
- package/dist/{UsersSection--yCs-uC9.js → UsersSection-DlfHGrJK.js} +1 -1
- package/dist/{UsersSection--yCs-uC9.js.map → UsersSection-DlfHGrJK.js.map} +1 -1
- package/dist/{WebhookSettings-CDLNe806.cjs → WebhookSettings-9dcnVNH_.cjs} +1 -1
- package/dist/{WebhookSettings-CDLNe806.cjs.map → WebhookSettings-9dcnVNH_.cjs.map} +1 -1
- package/dist/{WebhookSettings-C_3R0bqk.js → WebhookSettings-Cx30aHt_.js} +1 -1
- package/dist/{WebhookSettings-C_3R0bqk.js.map → WebhookSettings-Cx30aHt_.js.map} +1 -1
- package/dist/{WithdrawalsSection-wDptaqpp.cjs → WithdrawalsSection-MFj2muP6.cjs} +1 -1
- package/dist/{WithdrawalsSection-wDptaqpp.cjs.map → WithdrawalsSection-MFj2muP6.cjs.map} +1 -1
- package/dist/{WithdrawalsSection-5I0Ax4H0.js → WithdrawalsSection-ouu6VoQA.js} +1 -1
- package/dist/{WithdrawalsSection-5I0Ax4H0.js.map → WithdrawalsSection-ouu6VoQA.js.map} +1 -1
- package/dist/{index-RSdLR9t4.cjs → index-CCOKNxfU.cjs} +1 -1
- package/dist/{index-RSdLR9t4.cjs.map → index-CCOKNxfU.cjs.map} +1 -1
- package/dist/{index-BO6O-6S_.js → index-Djb8LQZ6.js} +1 -1
- package/dist/{index-BO6O-6S_.js.map → index-Djb8LQZ6.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/TeamSection-CnCzNEe9.cjs +0 -1
- package/dist/TeamSection-CnCzNEe9.cjs.map +0 -1
- package/dist/TeamSection-D_9-sbM5.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-CCOKNxfU.cjs");function i(n){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.AuthenticationSettings,{})})}exports.default=i;
|
package/dist/{AuthenticationSettings-UOHce4G0.cjs.map → AuthenticationSettings-BxpBLsUX.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationSettings-
|
|
1
|
+
{"version":3,"file":"AuthenticationSettings-BxpBLsUX.cjs","sources":["../src/admin/sections/AuthenticationSettings.tsx"],"sourcesContent":["/**\n * Authentication Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AuthenticationSettings as Settings } from '../../components/admin/settings';\n\nexport default function AuthenticationSettings(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _props: AdminSectionProps\n): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["AuthenticationSettings","_props","jsx","Settings"],"mappings":"8KAQA,SAAwBA,EAEtBC,EACmB,CACnB,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,yBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { m as i } from "./index-
|
|
3
|
+
import { m as i } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function s(o) {
|
|
5
5
|
return /* @__PURE__ */ t("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ t(i, {}) });
|
|
6
6
|
}
|
package/dist/{AuthenticationSettings-EaQzrn7-.js.map → AuthenticationSettings-eTN4qtHV.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationSettings-
|
|
1
|
+
{"version":3,"file":"AuthenticationSettings-eTN4qtHV.js","sources":["../src/admin/sections/AuthenticationSettings.tsx"],"sourcesContent":["/**\n * Authentication Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AuthenticationSettings as Settings } from '../../components/admin/settings';\n\nexport default function AuthenticationSettings(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _props: AdminSectionProps\n): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["AuthenticationSettings","_props","jsx","Settings"],"mappings":";;;AAQA,SAAwBA,EAEtBC,GACmB;AACnB,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-CCOKNxfU.cjs");function r(s){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.CreditSystemSettings,{})})}exports.default=r;
|
package/dist/{CreditSystemSettings-BClUVM4R.cjs.map → CreditSystemSettings-BuBKDfKL.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditSystemSettings-
|
|
1
|
+
{"version":3,"file":"CreditSystemSettings-BuBKDfKL.cjs","sources":["../src/admin/sections/CreditSystemSettings.tsx"],"sourcesContent":["/**\n * Credit System Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { CreditSystemSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function CreditSystemSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["CreditSystemSettings","_props","jsx","Settings"],"mappings":"8KASA,SAAwBA,EAAqBC,EAA8C,CACzF,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,uBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { C as r } from "./index-
|
|
3
|
+
import { C as r } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function d(e) {
|
|
5
5
|
return /* @__PURE__ */ t("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ t(r, {}) });
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditSystemSettings-
|
|
1
|
+
{"version":3,"file":"CreditSystemSettings-D7avf3PS.js","sources":["../src/admin/sections/CreditSystemSettings.tsx"],"sourcesContent":["/**\n * Credit System Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { CreditSystemSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function CreditSystemSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["CreditSystemSettings","_props","jsx","Settings"],"mappings":";;;AASA,SAAwBA,EAAqBC,GAA8C;AACzF,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),i=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),i=require("./index-CCOKNxfU.cjs");function r({pageSize:d=20,refreshInterval:s=0}){const[t,a]=o.useState("");return e.jsxs("div",{className:"cedros-dashboard__deposits",children:[e.jsx(i.AdminDepositStats,{refreshInterval:s}),e.jsxs("div",{className:"cedros-dashboard__deposits-list",children:[e.jsx("div",{className:"cedros-dashboard__toolbar",children:e.jsxs("div",{className:"cedros-dashboard__filter",children:[e.jsx("label",{className:"cedros-dashboard__filter-label",htmlFor:"status-filter",children:"Status"}),e.jsxs("select",{id:"status-filter",className:"cedros-dashboard__select",value:t,onChange:l=>a(l.target.value),children:[e.jsx("option",{value:"",children:"All statuses"}),e.jsx("option",{value:"pending",children:"Pending"}),e.jsx("option",{value:"detected",children:"Detected"}),e.jsx("option",{value:"processing",children:"Processing"}),e.jsx("option",{value:"completed",children:"Completed"}),e.jsx("option",{value:"withdrawn",children:"Withdrawn"}),e.jsx("option",{value:"expired",children:"Expired"}),e.jsx("option",{value:"failed",children:"Failed"})]})]})}),e.jsx(i.AdminDepositList,{statusFilter:t||void 0,pageSize:d,refreshInterval:s})]})]})}exports.default=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositsSection-
|
|
1
|
+
{"version":3,"file":"DepositsSection-DEh9Oy0V.cjs","sources":["../src/admin/sections/DepositsSection.tsx"],"sourcesContent":["/**\n * Deposits Section - Plugin wrapper\n *\n * Admin deposit management with stats, list, and filter controls.\n */\n\nimport React, { useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AdminDepositStats, AdminDepositList } from '../../components/deposit/admin';\n\nexport default function DepositsSection({\n pageSize = 20,\n refreshInterval = 0,\n}: AdminSectionProps): React.JSX.Element {\n const [statusFilter, setStatusFilter] = useState<string>('');\n\n return (\n <div className=\"cedros-dashboard__deposits\">\n {/* Stats summary */}\n <AdminDepositStats refreshInterval={refreshInterval} />\n\n {/* Filter and list */}\n <div className=\"cedros-dashboard__deposits-list\">\n <div className=\"cedros-dashboard__toolbar\">\n <div className=\"cedros-dashboard__filter\">\n <label className=\"cedros-dashboard__filter-label\" htmlFor=\"status-filter\">\n Status\n </label>\n <select\n id=\"status-filter\"\n className=\"cedros-dashboard__select\"\n value={statusFilter}\n onChange={(e) => setStatusFilter(e.target.value)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"pending\">Pending</option>\n <option value=\"detected\">Detected</option>\n <option value=\"processing\">Processing</option>\n <option value=\"completed\">Completed</option>\n <option value=\"withdrawn\">Withdrawn</option>\n <option value=\"expired\">Expired</option>\n <option value=\"failed\">Failed</option>\n </select>\n </div>\n </div>\n\n <AdminDepositList\n statusFilter={statusFilter || undefined}\n pageSize={pageSize}\n refreshInterval={refreshInterval}\n />\n </div>\n </div>\n );\n}\n"],"names":["DepositsSection","pageSize","refreshInterval","statusFilter","setStatusFilter","useState","jsxs","jsx","AdminDepositStats","e","AdminDepositList"],"mappings":"0KAUA,SAAwBA,EAAgB,CACtC,SAAAC,EAAW,GACX,gBAAAC,EAAkB,CACpB,EAAyC,CACvC,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAiB,EAAE,EAE3D,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,6BAEb,SAAA,CAAAC,MAACC,EAAAA,mBAAkB,gBAAAN,EAAkC,EAGrDI,EAAAA,KAAC,MAAA,CAAI,UAAU,kCACb,SAAA,CAAAC,EAAAA,IAAC,OAAI,UAAU,4BACb,SAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,2BACb,SAAA,CAAAC,MAAC,QAAA,CAAM,UAAU,iCAAiC,QAAQ,gBAAgB,SAAA,SAE1E,EACAD,EAAAA,KAAC,SAAA,CACC,GAAG,gBACH,UAAU,2BACV,MAAOH,EACP,SAAWM,GAAML,EAAgBK,EAAE,OAAO,KAAK,EAE/C,SAAA,CAAAF,EAAAA,IAAC,SAAA,CAAO,MAAM,GAAG,SAAA,eAAY,EAC7BA,EAAAA,IAAC,SAAA,CAAO,MAAM,UAAU,SAAA,UAAO,EAC/BA,EAAAA,IAAC,SAAA,CAAO,MAAM,WAAW,SAAA,WAAQ,EACjCA,EAAAA,IAAC,SAAA,CAAO,MAAM,aAAa,SAAA,aAAU,EACrCA,EAAAA,IAAC,SAAA,CAAO,MAAM,YAAY,SAAA,YAAS,EACnCA,EAAAA,IAAC,SAAA,CAAO,MAAM,YAAY,SAAA,YAAS,EACnCA,EAAAA,IAAC,SAAA,CAAO,MAAM,UAAU,SAAA,UAAO,EAC/BA,EAAAA,IAAC,SAAA,CAAO,MAAM,SAAS,SAAA,QAAA,CAAM,CAAA,CAAA,CAAA,CAC/B,CAAA,CACF,CAAA,CACF,EAEAA,EAAAA,IAACG,EAAAA,iBAAA,CACC,aAAcP,GAAgB,OAC9B,SAAAF,EACA,gBAAAC,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useState as o } from "react";
|
|
3
|
-
import { g as r, h as n } from "./index-
|
|
3
|
+
import { g as r, h as n } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function u({
|
|
5
5
|
pageSize: d = 20,
|
|
6
6
|
refreshInterval: s = 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositsSection-
|
|
1
|
+
{"version":3,"file":"DepositsSection-Db4irTZb.js","sources":["../src/admin/sections/DepositsSection.tsx"],"sourcesContent":["/**\n * Deposits Section - Plugin wrapper\n *\n * Admin deposit management with stats, list, and filter controls.\n */\n\nimport React, { useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AdminDepositStats, AdminDepositList } from '../../components/deposit/admin';\n\nexport default function DepositsSection({\n pageSize = 20,\n refreshInterval = 0,\n}: AdminSectionProps): React.JSX.Element {\n const [statusFilter, setStatusFilter] = useState<string>('');\n\n return (\n <div className=\"cedros-dashboard__deposits\">\n {/* Stats summary */}\n <AdminDepositStats refreshInterval={refreshInterval} />\n\n {/* Filter and list */}\n <div className=\"cedros-dashboard__deposits-list\">\n <div className=\"cedros-dashboard__toolbar\">\n <div className=\"cedros-dashboard__filter\">\n <label className=\"cedros-dashboard__filter-label\" htmlFor=\"status-filter\">\n Status\n </label>\n <select\n id=\"status-filter\"\n className=\"cedros-dashboard__select\"\n value={statusFilter}\n onChange={(e) => setStatusFilter(e.target.value)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"pending\">Pending</option>\n <option value=\"detected\">Detected</option>\n <option value=\"processing\">Processing</option>\n <option value=\"completed\">Completed</option>\n <option value=\"withdrawn\">Withdrawn</option>\n <option value=\"expired\">Expired</option>\n <option value=\"failed\">Failed</option>\n </select>\n </div>\n </div>\n\n <AdminDepositList\n statusFilter={statusFilter || undefined}\n pageSize={pageSize}\n refreshInterval={refreshInterval}\n />\n </div>\n </div>\n );\n}\n"],"names":["DepositsSection","pageSize","refreshInterval","statusFilter","setStatusFilter","useState","jsxs","jsx","AdminDepositStats","e","AdminDepositList"],"mappings":";;;AAUA,SAAwBA,EAAgB;AAAA,EACtC,UAAAC,IAAW;AAAA,EACX,iBAAAC,IAAkB;AACpB,GAAyC;AACvC,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAiB,EAAE;AAE3D,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,8BAEb,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,iBAAAN,GAAkC;AAAA,IAGrD,gBAAAI,EAAC,OAAA,EAAI,WAAU,mCACb,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAI,WAAU,6BACb,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAA,EAAM,WAAU,kCAAiC,SAAQ,iBAAgB,UAAA,UAE1E;AAAA,QACA,gBAAAD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,WAAU;AAAA,YACV,OAAOH;AAAA,YACP,UAAU,CAACM,MAAML,EAAgBK,EAAE,OAAO,KAAK;AAAA,YAE/C,UAAA;AAAA,cAAA,gBAAAF,EAAC,UAAA,EAAO,OAAM,IAAG,UAAA,gBAAY;AAAA,cAC7B,gBAAAA,EAAC,UAAA,EAAO,OAAM,WAAU,UAAA,WAAO;AAAA,cAC/B,gBAAAA,EAAC,UAAA,EAAO,OAAM,YAAW,UAAA,YAAQ;AAAA,cACjC,gBAAAA,EAAC,UAAA,EAAO,OAAM,cAAa,UAAA,cAAU;AAAA,cACrC,gBAAAA,EAAC,UAAA,EAAO,OAAM,aAAY,UAAA,aAAS;AAAA,cACnC,gBAAAA,EAAC,UAAA,EAAO,OAAM,aAAY,UAAA,aAAS;AAAA,cACnC,gBAAAA,EAAC,UAAA,EAAO,OAAM,WAAU,UAAA,WAAO;AAAA,cAC/B,gBAAAA,EAAC,UAAA,EAAO,OAAM,UAAS,UAAA,SAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC/B,EAAA,CACF,EAAA,CACF;AAAA,MAEA,gBAAAA;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,cAAcP,KAAgB;AAAA,UAC9B,UAAAF;AAAA,UACA,iBAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-CCOKNxfU.cjs");function i(r){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.EmailSettings,{})})}exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailSettings-
|
|
1
|
+
{"version":3,"file":"EmailSettings-CGocWYc0.cjs","sources":["../src/admin/sections/EmailSettings.tsx"],"sourcesContent":["/**\n * Email Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { EmailSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function EmailSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["EmailSettings","_props","jsx","Settings"],"mappings":"8KASA,SAAwBA,EAAcC,EAA8C,CAClF,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,gBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { n as t } from "./index-
|
|
3
|
+
import { n as t } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function e(i) {
|
|
5
5
|
return /* @__PURE__ */ r("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ r(t, {}) });
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailSettings-
|
|
1
|
+
{"version":3,"file":"EmailSettings-sN1OCw50.js","sources":["../src/admin/sections/EmailSettings.tsx"],"sourcesContent":["/**\n * Email Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { EmailSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function EmailSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["EmailSettings","_props","jsx","Settings"],"mappings":";;;AASA,SAAwBA,EAAcC,GAA8C;AAClF,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-CCOKNxfU.cjs");function r(d){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.EmbeddedWalletSettings,{})})}exports.default=r;
|
package/dist/{EmbeddedWalletSettings-DGJST5MD.cjs.map → EmbeddedWalletSettings-NZfbc5K8.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedWalletSettings-
|
|
1
|
+
{"version":3,"file":"EmbeddedWalletSettings-NZfbc5K8.cjs","sources":["../src/admin/sections/EmbeddedWalletSettings.tsx"],"sourcesContent":["/**\n * Embedded Wallet Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { EmbeddedWalletSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function EmbeddedWalletSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["EmbeddedWalletSettings","_props","jsx","Settings"],"mappings":"8KASA,SAAwBA,EAAuBC,EAA8C,CAC3F,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,yBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { E as t } from "./index-
|
|
3
|
+
import { E as t } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function a(d) {
|
|
5
5
|
return /* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ e(t, {}) });
|
|
6
6
|
}
|
package/dist/{EmbeddedWalletSettings-BnHEtzpS.js.map → EmbeddedWalletSettings-qpRuCk4R.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedWalletSettings-
|
|
1
|
+
{"version":3,"file":"EmbeddedWalletSettings-qpRuCk4R.js","sources":["../src/admin/sections/EmbeddedWalletSettings.tsx"],"sourcesContent":["/**\n * Embedded Wallet Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { EmbeddedWalletSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function EmbeddedWalletSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["EmbeddedWalletSettings","_props","jsx","Settings"],"mappings":";;;AASA,SAAwBA,EAAuBC,GAA8C;AAC3F,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const r=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const r=require("./index-CCOKNxfU.cjs");function t(s){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(r.ServerSettings,{})})}exports.default=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSettings-
|
|
1
|
+
{"version":3,"file":"ServerSettings-Bkr_xuDx.cjs","sources":["../src/admin/sections/ServerSettings.tsx"],"sourcesContent":["/**\n * Server Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { ServerSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function ServerSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["ServerSettings","_props","jsx","Settings"],"mappings":"8KASA,SAAwBA,EAAeC,EAA8C,CACnF,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,iBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { o as e } from "./index-
|
|
3
|
+
import { o as e } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function a(o) {
|
|
5
5
|
return /* @__PURE__ */ r("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ r(e, {}) });
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSettings-
|
|
1
|
+
{"version":3,"file":"ServerSettings-CQn3-uuP.js","sources":["../src/admin/sections/ServerSettings.tsx"],"sourcesContent":["/**\n * Server Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { ServerSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function ServerSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["ServerSettings","_props","jsx","Settings"],"mappings":";;;AASA,SAAwBA,EAAeC,GAA8C;AACnF,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
2
2
|
import { useState as T, useEffect as I, useMemo as j } from "react";
|
|
3
|
-
import { c as z, d as A, e as U, S as B, M as F, I as q, f as D, P as G } from "./index-
|
|
3
|
+
import { c as z, d as A, e as U, S as B, M as F, I as q, f as D, P as G } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function Q({ pluginContext: C }) {
|
|
5
|
-
const [s, i] = T("members"), { activeOrg: r, orgs: L, hasPermission: n, role: o, isLoading: M, error:
|
|
5
|
+
const [s, i] = T("members"), { activeOrg: r, orgs: L, hasPermission: n, role: o, isLoading: M, error: v, fetchOrgs: t } = z();
|
|
6
6
|
I(() => {
|
|
7
|
-
L.length === 0 &&
|
|
8
|
-
}, []);
|
|
7
|
+
L.length === 0 && t();
|
|
8
|
+
}, [t]);
|
|
9
9
|
const {
|
|
10
|
-
members:
|
|
10
|
+
members: d,
|
|
11
11
|
isLoading: y,
|
|
12
12
|
error: R,
|
|
13
13
|
fetchMembers: h,
|
|
@@ -25,34 +25,34 @@ function Q({ pluginContext: C }) {
|
|
|
25
25
|
I(() => {
|
|
26
26
|
r?.id && (h(), p());
|
|
27
27
|
}, [r?.id, h, p]);
|
|
28
|
-
const
|
|
29
|
-
() =>
|
|
30
|
-
(
|
|
28
|
+
const c = j(
|
|
29
|
+
() => d.reduce(
|
|
30
|
+
(b, f) => (b[f.role] = (b[f.role] ?? 0) + 1, b),
|
|
31
31
|
{}
|
|
32
32
|
),
|
|
33
|
-
[
|
|
33
|
+
[d]
|
|
34
34
|
);
|
|
35
35
|
if (M && !r)
|
|
36
36
|
return /* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ a("div", { className: "cedros-dashboard__empty", children: [
|
|
37
37
|
/* @__PURE__ */ e("span", { className: "cedros-admin-loading-indicator" }),
|
|
38
38
|
/* @__PURE__ */ e("span", { className: "cedros-admin-loading-text", children: "Loading organization..." })
|
|
39
39
|
] }) });
|
|
40
|
-
if (
|
|
40
|
+
if (v && !r)
|
|
41
41
|
return /* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ a("div", { className: "cedros-dashboard__empty", children: [
|
|
42
|
-
/* @__PURE__ */ e("p", { className: "cedros-admin-error", children:
|
|
42
|
+
/* @__PURE__ */ e("p", { className: "cedros-admin-error", children: v.message }),
|
|
43
43
|
/* @__PURE__ */ e(
|
|
44
44
|
"button",
|
|
45
45
|
{
|
|
46
46
|
type: "button",
|
|
47
47
|
className: "cedros-button cedros-button-outline",
|
|
48
|
-
onClick:
|
|
48
|
+
onClick: t,
|
|
49
49
|
children: "Retry"
|
|
50
50
|
}
|
|
51
51
|
)
|
|
52
52
|
] }) });
|
|
53
53
|
if (!r)
|
|
54
54
|
return /* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ e("div", { className: "cedros-dashboard__empty", children: "No organizations found." }) });
|
|
55
|
-
const
|
|
55
|
+
const m = n("invite:create"), N = n("invite:cancel"), l = u.length, E = c.owner ?? 0, O = c.admin ?? 0, $ = c.member ?? 0;
|
|
56
56
|
return /* @__PURE__ */ a("div", { className: "cedros-dashboard__team", children: [
|
|
57
57
|
/* @__PURE__ */ e(
|
|
58
58
|
B,
|
|
@@ -61,7 +61,7 @@ function Q({ pluginContext: C }) {
|
|
|
61
61
|
{ label: "Owners", value: E },
|
|
62
62
|
{ label: "Admins", value: O },
|
|
63
63
|
{ label: "Members", value: $ },
|
|
64
|
-
{ label: "Pending Invites", value:
|
|
64
|
+
{ label: "Pending Invites", value: l }
|
|
65
65
|
]
|
|
66
66
|
}
|
|
67
67
|
),
|
|
@@ -87,7 +87,7 @@ function Q({ pluginContext: C }) {
|
|
|
87
87
|
role: "tab",
|
|
88
88
|
children: [
|
|
89
89
|
"Pending Invites",
|
|
90
|
-
|
|
90
|
+
l > 0 && ` (${l})`
|
|
91
91
|
]
|
|
92
92
|
}
|
|
93
93
|
),
|
|
@@ -107,7 +107,7 @@ function Q({ pluginContext: C }) {
|
|
|
107
107
|
s === "members" && /* @__PURE__ */ e(
|
|
108
108
|
F,
|
|
109
109
|
{
|
|
110
|
-
members:
|
|
110
|
+
members: d,
|
|
111
111
|
currentUserId: C.userId,
|
|
112
112
|
isLoading: y,
|
|
113
113
|
error: R?.message,
|
|
@@ -118,7 +118,7 @@ function Q({ pluginContext: C }) {
|
|
|
118
118
|
}
|
|
119
119
|
),
|
|
120
120
|
s === "invites" && /* @__PURE__ */ a("div", { className: "cedros-dashboard__invites", children: [
|
|
121
|
-
|
|
121
|
+
m && /* @__PURE__ */ a("div", { className: "cedros-dashboard__section", children: [
|
|
122
122
|
/* @__PURE__ */ e("div", { className: "cedros-dashboard__section-header", children: /* @__PURE__ */ e("h3", { className: "cedros-dashboard__section-title", children: "Send Invitation" }) }),
|
|
123
123
|
/* @__PURE__ */ e(
|
|
124
124
|
q,
|
|
@@ -135,9 +135,9 @@ function Q({ pluginContext: C }) {
|
|
|
135
135
|
invites: u,
|
|
136
136
|
isLoading: g,
|
|
137
137
|
error: _?.message,
|
|
138
|
-
canManage: N ||
|
|
138
|
+
canManage: N || m,
|
|
139
139
|
onCancel: N ? k : void 0,
|
|
140
|
-
onResend:
|
|
140
|
+
onResend: m ? x : void 0
|
|
141
141
|
}
|
|
142
142
|
) })
|
|
143
143
|
] }),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamSection-DNozLdU4.js","sources":["../src/admin/sections/TeamSection.tsx"],"sourcesContent":["/**\n * Team Section - Plugin wrapper\n *\n * Combined team member management and invites for organizations.\n */\n\nimport React, { useEffect, useMemo, useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { MemberList } from '../../components/members/MemberList';\nimport { InviteForm } from '../../components/invites/InviteForm';\nimport { InviteList } from '../../components/invites/InviteList';\nimport { StatsBar } from '../../components/admin/StatsBar';\nimport { PermissionsSection } from '../../components/admin/PermissionsSection';\nimport { useOrgs } from '../../hooks/useOrgs';\nimport { useMembers } from '../../hooks/useMembers';\nimport { useInvites } from '../../hooks/useInvites';\n\ntype TeamTab = 'members' | 'invites' | 'permissions';\n\nexport default function TeamSection({ pluginContext }: AdminSectionProps): React.JSX.Element {\n const [activeTab, setActiveTab] = useState<TeamTab>('members');\n const { activeOrg, orgs, hasPermission, role, isLoading: orgsLoading, error: orgsError, fetchOrgs } = useOrgs();\n\n // Auto-fetch orgs when auth becomes ready.\n // fetchOrgs identity changes when authState changes, so this re-fires\n // if the initial call was a no-op due to auth not being ready yet.\n useEffect(() => {\n if (orgs.length === 0) {\n fetchOrgs();\n }\n }, [fetchOrgs]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const {\n members,\n isLoading: membersLoading,\n error: membersError,\n fetchMembers,\n updateMemberRole,\n removeMember,\n } = useMembers(activeOrg?.id ?? '');\n const {\n invites,\n isLoading: invitesLoading,\n error: invitesError,\n fetchInvites,\n createInvite,\n cancelInvite,\n resendInvite,\n } = useInvites(activeOrg?.id ?? '');\n\n useEffect(() => {\n if (activeOrg?.id) {\n fetchMembers();\n fetchInvites();\n }\n }, [activeOrg?.id, fetchMembers, fetchInvites]);\n\n // P-01: Compute role counts BEFORE any early return to follow React Hooks rules\n const roleCounts = useMemo(\n () =>\n members.reduce(\n (acc, member) => {\n acc[member.role] = (acc[member.role] ?? 0) + 1;\n return acc;\n },\n {} as Record<string, number>\n ),\n [members]\n );\n\n if (orgsLoading && !activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n <span className=\"cedros-admin-loading-indicator\" />\n <span className=\"cedros-admin-loading-text\">Loading organization...</span>\n </div>\n </div>\n );\n }\n\n if (orgsError && !activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n <p className=\"cedros-admin-error\">{orgsError.message}</p>\n <button\n type=\"button\"\n className=\"cedros-button cedros-button-outline\"\n onClick={fetchOrgs}\n >\n Retry\n </button>\n </div>\n </div>\n );\n }\n\n if (!activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n No organizations found.\n </div>\n </div>\n );\n }\n\n const canInvite = hasPermission('invite:create');\n const canCancel = hasPermission('invite:cancel');\n const pendingCount = invites.length;\n const ownerCount = roleCounts.owner ?? 0;\n const adminCount = roleCounts.admin ?? 0;\n const memberCount = roleCounts.member ?? 0;\n\n return (\n <div className=\"cedros-dashboard__team\">\n <StatsBar\n stats={[\n { label: 'Owners', value: ownerCount },\n { label: 'Admins', value: adminCount },\n { label: 'Members', value: memberCount },\n { label: 'Pending Invites', value: pendingCount },\n ]}\n />\n {/* Tabs */}\n <div className=\"cedros-admin-tabs cedros-admin-tabs--line\">\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'members' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('members')}\n aria-selected={activeTab === 'members'}\n role=\"tab\"\n >\n Members\n </button>\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'invites' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('invites')}\n aria-selected={activeTab === 'invites'}\n role=\"tab\"\n >\n Pending Invites{pendingCount > 0 && ` (${pendingCount})`}\n </button>\n {role === 'owner' && (\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'permissions' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('permissions')}\n aria-selected={activeTab === 'permissions'}\n role=\"tab\"\n >\n Permissions\n </button>\n )}\n </div>\n\n {/* Tab content */}\n <div className=\"cedros-admin-tab-content\" role=\"tabpanel\">\n {activeTab === 'members' && (\n <MemberList\n members={members}\n currentUserId={pluginContext.userId}\n isLoading={membersLoading}\n error={membersError?.message}\n canManage={hasPermission('member:remove')}\n canChangeRoles={hasPermission('member:role_change')}\n onUpdateRole={updateMemberRole}\n onRemove={removeMember}\n />\n )}\n\n {activeTab === 'invites' && (\n <div className=\"cedros-dashboard__invites\">\n {canInvite && (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__section-header\">\n <h3 className=\"cedros-dashboard__section-title\">Send Invitation</h3>\n </div>\n <InviteForm\n onSubmit={createInvite}\n isLoading={invitesLoading}\n error={invitesError?.message}\n />\n </div>\n )}\n\n <div className=\"cedros-dashboard__section\">\n <InviteList\n invites={invites}\n isLoading={invitesLoading}\n error={invitesError?.message}\n canManage={canCancel || canInvite}\n onCancel={canCancel ? cancelInvite : undefined}\n onResend={canInvite ? resendInvite : undefined}\n />\n </div>\n </div>\n )}\n\n {activeTab === 'permissions' && role === 'owner' && <PermissionsSection userRole={role} />}\n </div>\n </div>\n );\n}\n"],"names":["TeamSection","pluginContext","activeTab","setActiveTab","useState","activeOrg","orgs","hasPermission","role","orgsLoading","orgsError","fetchOrgs","useOrgs","useEffect","members","membersLoading","membersError","fetchMembers","updateMemberRole","removeMember","useMembers","invites","invitesLoading","invitesError","fetchInvites","createInvite","cancelInvite","resendInvite","useInvites","roleCounts","useMemo","acc","member","jsxs","jsx","canInvite","canCancel","pendingCount","ownerCount","adminCount","memberCount","StatsBar","MemberList","InviteForm","InviteList","PermissionsSection"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react"),n=require("./index-CCOKNxfU.cjs");function T({pluginContext:f}){const[s,o]=a.useState("members"),{activeOrg:r,orgs:I,hasPermission:i,role:t,isLoading:C,error:u,fetchOrgs:d}=n.useOrgs();a.useEffect(()=>{I.length===0&&d()},[d]);const{members:c,isLoading:L,error:M,fetchMembers:h,updateMemberRole:y,removeMember:R}=n.useMembers(r?.id??""),{invites:g,isLoading:x,error:j,fetchInvites:_,createInvite:S,cancelInvite:P,resendInvite:w}=n.useInvites(r?.id??"");a.useEffect(()=>{r?.id&&(h(),_())},[r?.id,h,_]);const l=a.useMemo(()=>c.reduce((v,p)=>(v[p.role]=(v[p.role]??0)+1,v),{}),[c]);if(C&&!r)return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsxs("div",{className:"cedros-dashboard__empty",children:[e.jsx("span",{className:"cedros-admin-loading-indicator"}),e.jsx("span",{className:"cedros-admin-loading-text",children:"Loading organization..."})]})});if(u&&!r)return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsxs("div",{className:"cedros-dashboard__empty",children:[e.jsx("p",{className:"cedros-admin-error",children:u.message}),e.jsx("button",{type:"button",className:"cedros-button cedros-button-outline",onClick:d,children:"Retry"})]})});if(!r)return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx("div",{className:"cedros-dashboard__empty",children:"No organizations found."})});const m=i("invite:create"),N=i("invite:cancel"),b=g.length,E=l.owner??0,O=l.admin??0,k=l.member??0;return e.jsxs("div",{className:"cedros-dashboard__team",children:[e.jsx(n.StatsBar,{stats:[{label:"Owners",value:E},{label:"Admins",value:O},{label:"Members",value:k},{label:"Pending Invites",value:b}]}),e.jsxs("div",{className:"cedros-admin-tabs cedros-admin-tabs--line",children:[e.jsx("button",{type:"button",className:`cedros-admin-tab ${s==="members"?"cedros-admin-tab-active":""}`,onClick:()=>o("members"),"aria-selected":s==="members",role:"tab",children:"Members"}),e.jsxs("button",{type:"button",className:`cedros-admin-tab ${s==="invites"?"cedros-admin-tab-active":""}`,onClick:()=>o("invites"),"aria-selected":s==="invites",role:"tab",children:["Pending Invites",b>0&&` (${b})`]}),t==="owner"&&e.jsx("button",{type:"button",className:`cedros-admin-tab ${s==="permissions"?"cedros-admin-tab-active":""}`,onClick:()=>o("permissions"),"aria-selected":s==="permissions",role:"tab",children:"Permissions"})]}),e.jsxs("div",{className:"cedros-admin-tab-content",role:"tabpanel",children:[s==="members"&&e.jsx(n.MemberList,{members:c,currentUserId:f.userId,isLoading:L,error:M?.message,canManage:i("member:remove"),canChangeRoles:i("member:role_change"),onUpdateRole:y,onRemove:R}),s==="invites"&&e.jsxs("div",{className:"cedros-dashboard__invites",children:[m&&e.jsxs("div",{className:"cedros-dashboard__section",children:[e.jsx("div",{className:"cedros-dashboard__section-header",children:e.jsx("h3",{className:"cedros-dashboard__section-title",children:"Send Invitation"})}),e.jsx(n.InviteForm,{onSubmit:S,isLoading:x,error:j?.message})]}),e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(n.InviteList,{invites:g,isLoading:x,error:j?.message,canManage:N||m,onCancel:N?P:void 0,onResend:m?w:void 0})})]}),s==="permissions"&&t==="owner"&&e.jsx(n.PermissionsSection,{userRole:t})]})]})}exports.default=T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamSection-W9SC2Keh.cjs","sources":["../src/admin/sections/TeamSection.tsx"],"sourcesContent":["/**\n * Team Section - Plugin wrapper\n *\n * Combined team member management and invites for organizations.\n */\n\nimport React, { useEffect, useMemo, useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { MemberList } from '../../components/members/MemberList';\nimport { InviteForm } from '../../components/invites/InviteForm';\nimport { InviteList } from '../../components/invites/InviteList';\nimport { StatsBar } from '../../components/admin/StatsBar';\nimport { PermissionsSection } from '../../components/admin/PermissionsSection';\nimport { useOrgs } from '../../hooks/useOrgs';\nimport { useMembers } from '../../hooks/useMembers';\nimport { useInvites } from '../../hooks/useInvites';\n\ntype TeamTab = 'members' | 'invites' | 'permissions';\n\nexport default function TeamSection({ pluginContext }: AdminSectionProps): React.JSX.Element {\n const [activeTab, setActiveTab] = useState<TeamTab>('members');\n const { activeOrg, orgs, hasPermission, role, isLoading: orgsLoading, error: orgsError, fetchOrgs } = useOrgs();\n\n // Auto-fetch orgs when auth becomes ready.\n // fetchOrgs identity changes when authState changes, so this re-fires\n // if the initial call was a no-op due to auth not being ready yet.\n useEffect(() => {\n if (orgs.length === 0) {\n fetchOrgs();\n }\n }, [fetchOrgs]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const {\n members,\n isLoading: membersLoading,\n error: membersError,\n fetchMembers,\n updateMemberRole,\n removeMember,\n } = useMembers(activeOrg?.id ?? '');\n const {\n invites,\n isLoading: invitesLoading,\n error: invitesError,\n fetchInvites,\n createInvite,\n cancelInvite,\n resendInvite,\n } = useInvites(activeOrg?.id ?? '');\n\n useEffect(() => {\n if (activeOrg?.id) {\n fetchMembers();\n fetchInvites();\n }\n }, [activeOrg?.id, fetchMembers, fetchInvites]);\n\n // P-01: Compute role counts BEFORE any early return to follow React Hooks rules\n const roleCounts = useMemo(\n () =>\n members.reduce(\n (acc, member) => {\n acc[member.role] = (acc[member.role] ?? 0) + 1;\n return acc;\n },\n {} as Record<string, number>\n ),\n [members]\n );\n\n if (orgsLoading && !activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n <span className=\"cedros-admin-loading-indicator\" />\n <span className=\"cedros-admin-loading-text\">Loading organization...</span>\n </div>\n </div>\n );\n }\n\n if (orgsError && !activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n <p className=\"cedros-admin-error\">{orgsError.message}</p>\n <button\n type=\"button\"\n className=\"cedros-button cedros-button-outline\"\n onClick={fetchOrgs}\n >\n Retry\n </button>\n </div>\n </div>\n );\n }\n\n if (!activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n No organizations found.\n </div>\n </div>\n );\n }\n\n const canInvite = hasPermission('invite:create');\n const canCancel = hasPermission('invite:cancel');\n const pendingCount = invites.length;\n const ownerCount = roleCounts.owner ?? 0;\n const adminCount = roleCounts.admin ?? 0;\n const memberCount = roleCounts.member ?? 0;\n\n return (\n <div className=\"cedros-dashboard__team\">\n <StatsBar\n stats={[\n { label: 'Owners', value: ownerCount },\n { label: 'Admins', value: adminCount },\n { label: 'Members', value: memberCount },\n { label: 'Pending Invites', value: pendingCount },\n ]}\n />\n {/* Tabs */}\n <div className=\"cedros-admin-tabs cedros-admin-tabs--line\">\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'members' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('members')}\n aria-selected={activeTab === 'members'}\n role=\"tab\"\n >\n Members\n </button>\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'invites' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('invites')}\n aria-selected={activeTab === 'invites'}\n role=\"tab\"\n >\n Pending Invites{pendingCount > 0 && ` (${pendingCount})`}\n </button>\n {role === 'owner' && (\n <button\n type=\"button\"\n className={`cedros-admin-tab ${activeTab === 'permissions' ? 'cedros-admin-tab-active' : ''}`}\n onClick={() => setActiveTab('permissions')}\n aria-selected={activeTab === 'permissions'}\n role=\"tab\"\n >\n Permissions\n </button>\n )}\n </div>\n\n {/* Tab content */}\n <div className=\"cedros-admin-tab-content\" role=\"tabpanel\">\n {activeTab === 'members' && (\n <MemberList\n members={members}\n currentUserId={pluginContext.userId}\n isLoading={membersLoading}\n error={membersError?.message}\n canManage={hasPermission('member:remove')}\n canChangeRoles={hasPermission('member:role_change')}\n onUpdateRole={updateMemberRole}\n onRemove={removeMember}\n />\n )}\n\n {activeTab === 'invites' && (\n <div className=\"cedros-dashboard__invites\">\n {canInvite && (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__section-header\">\n <h3 className=\"cedros-dashboard__section-title\">Send Invitation</h3>\n </div>\n <InviteForm\n onSubmit={createInvite}\n isLoading={invitesLoading}\n error={invitesError?.message}\n />\n </div>\n )}\n\n <div className=\"cedros-dashboard__section\">\n <InviteList\n invites={invites}\n isLoading={invitesLoading}\n error={invitesError?.message}\n canManage={canCancel || canInvite}\n onCancel={canCancel ? cancelInvite : undefined}\n onResend={canInvite ? resendInvite : undefined}\n />\n </div>\n </div>\n )}\n\n {activeTab === 'permissions' && role === 'owner' && <PermissionsSection userRole={role} />}\n </div>\n </div>\n );\n}\n"],"names":["TeamSection","pluginContext","activeTab","setActiveTab","useState","activeOrg","orgs","hasPermission","role","orgsLoading","orgsError","fetchOrgs","useOrgs","useEffect","members","membersLoading","membersError","fetchMembers","updateMemberRole","removeMember","useMembers","invites","invitesLoading","invitesError","fetchInvites","createInvite","cancelInvite","resendInvite","useInvites","roleCounts","useMemo","acc","member","jsxs","jsx","canInvite","canCancel","pendingCount","ownerCount","adminCount","memberCount","StatsBar","MemberList","InviteForm","InviteList","PermissionsSection"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("react"),u=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("react"),u=require("./index-CCOKNxfU.cjs"),b=["email","google","apple","solana","webauthn","sso"],U={email:"Email Users",google:"Google Users",apple:"Apple Users",solana:"Solana Users",webauthn:"Passkey Users",sso:"SSO Provider Users"},p={email:"auth_email_enabled",google:"auth_google_enabled",apple:"auth_apple_enabled",solana:"auth_solana_enabled",webauthn:"auth_webauthn_enabled",sso:"feature_sso"};function E(){const{getStats:n}=u.useAdminUsers(),{fetchSettings:i,getValue:l}=u.useSystemSettings(),[r,d]=e.useState(null),[h,o]=e.useState(!1),[f,c]=e.useState(null),[m,_]=e.useState(!1);e.useEffect(()=>{m||(i(),_(!0))},[i,m]);const g=e.useCallback(s=>{const t=l(s);return t===void 0?!1:t==="true"||t==="1"},[l]),S=e.useCallback(async()=>{o(!0),c(null);try{const s=await n();d(s)}catch(s){c(s instanceof Error?s.message:"Failed to load user stats")}finally{o(!1)}},[n]);return e.useEffect(()=>{S()},[S]),{statsItems:e.useMemo(()=>{const s=[{label:"Total Users",value:r?.total??"—"}];return b.forEach(t=>{g(p[t])&&s.push({label:U[t],value:r?.authMethodCounts[t]??0})}),s},[r,g]),isLoading:h,error:f,refresh:S}}function I({pluginContext:n,pageSize:i=20}){const[l,r]=e.useState(null),{statsItems:d,isLoading:h,error:o,refresh:f}=E();return l?a.jsx("div",{className:"cedros-dashboard__section",children:a.jsx(u.AdminUserDetail,{userId:l.id,onBack:()=>r(null),currentUserId:n.userId})}):a.jsxs("div",{className:"cedros-dashboard__section",children:[a.jsx(u.StatsBar,{stats:d,isLoading:h,onRefresh:f}),o&&a.jsx("p",{className:"cedros-admin-error-inline",children:o}),a.jsx("p",{className:"cedros-dashboard__text-muted",children:"All registered users in the system. Requires system admin privileges."}),a.jsx(u.AdminUserList,{pageSize:i,currentUserId:n.userId,onUserClick:c=>r(c)})]})}exports.default=I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersSection-
|
|
1
|
+
{"version":3,"file":"UsersSection-DDfHW_ao.cjs","sources":["../src/admin/sections/UsersSection.tsx"],"sourcesContent":["/**\n * Users Section - Plugin wrapper\n *\n * Admin user management with list and detail views.\n */\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AdminUserList } from '../../components/admin/AdminUserList';\nimport { AdminUserDetail } from '../../components/admin/AdminUserDetail';\nimport { StatsBar } from '../../components/admin/StatsBar';\nimport { useAdminUsers } from '../../hooks/useAdminUsers';\nimport { useSystemSettings } from '../../hooks/useSystemSettings';\nimport type { AdminUser, AdminUserStatsResponse } from '../../types';\n\nconst METHOD_ORDER = ['email', 'google', 'apple', 'solana', 'webauthn', 'sso'] as const;\n\nconst METHOD_LABELS: Record<(typeof METHOD_ORDER)[number], string> = {\n email: 'Email Users',\n google: 'Google Users',\n apple: 'Apple Users',\n solana: 'Solana Users',\n webauthn: 'Passkey Users',\n sso: 'SSO Provider Users',\n};\n\nconst METHOD_SETTINGS: Record<(typeof METHOD_ORDER)[number], string> = {\n email: 'auth_email_enabled',\n google: 'auth_google_enabled',\n apple: 'auth_apple_enabled',\n solana: 'auth_solana_enabled',\n webauthn: 'auth_webauthn_enabled',\n sso: 'feature_sso',\n};\n\nfunction useUsersStats() {\n const { getStats } = useAdminUsers();\n const { fetchSettings, getValue } = useSystemSettings();\n const [stats, setStats] = useState<AdminUserStatsResponse | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [settingsFetched, setSettingsFetched] = useState(false);\n\n useEffect(() => {\n if (!settingsFetched) {\n fetchSettings();\n setSettingsFetched(true);\n }\n }, [fetchSettings, settingsFetched]);\n\n const isSettingEnabled = useCallback(\n (key: string): boolean => {\n const value = getValue(key);\n if (value === undefined) return false;\n return value === 'true' || value === '1';\n },\n [getValue]\n );\n\n const fetchStats = useCallback(async () => {\n setIsLoading(true);\n setError(null);\n\n try {\n const result = await getStats();\n setStats(result);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load user stats');\n } finally {\n setIsLoading(false);\n }\n }, [getStats]);\n\n useEffect(() => {\n fetchStats();\n }, [fetchStats]);\n\n const statsItems = useMemo(() => {\n const items = [{ label: 'Total Users', value: stats?.total ?? '—' }];\n\n METHOD_ORDER.forEach((method) => {\n if (!isSettingEnabled(METHOD_SETTINGS[method])) return;\n items.push({\n label: METHOD_LABELS[method],\n value: stats?.authMethodCounts[method] ?? 0,\n });\n });\n\n return items;\n }, [stats, isSettingEnabled]);\n\n return { statsItems, isLoading, error, refresh: fetchStats };\n}\n\nexport default function UsersSection({\n pluginContext,\n pageSize = 20,\n}: AdminSectionProps): React.JSX.Element {\n const [selectedUser, setSelectedUser] = useState<AdminUser | null>(null);\n const { statsItems, isLoading, error, refresh } = useUsersStats();\n\n if (selectedUser) {\n return (\n <div className=\"cedros-dashboard__section\">\n <AdminUserDetail\n userId={selectedUser.id}\n onBack={() => setSelectedUser(null)}\n currentUserId={pluginContext.userId}\n />\n </div>\n );\n }\n\n return (\n <div className=\"cedros-dashboard__section\">\n <StatsBar stats={statsItems} isLoading={isLoading} onRefresh={refresh} />\n {error && <p className=\"cedros-admin-error-inline\">{error}</p>}\n <p className=\"cedros-dashboard__text-muted\">\n All registered users in the system. Requires system admin privileges.\n </p>\n <AdminUserList\n pageSize={pageSize}\n currentUserId={pluginContext.userId}\n onUserClick={(user) => setSelectedUser(user)}\n />\n </div>\n );\n}\n"],"names":["METHOD_ORDER","METHOD_LABELS","METHOD_SETTINGS","useUsersStats","getStats","useAdminUsers","fetchSettings","getValue","useSystemSettings","stats","setStats","useState","isLoading","setIsLoading","error","setError","settingsFetched","setSettingsFetched","useEffect","isSettingEnabled","useCallback","key","value","fetchStats","result","err","useMemo","items","method","UsersSection","pluginContext","pageSize","selectedUser","setSelectedUser","statsItems","refresh","jsx","AdminUserDetail","jsxs","StatsBar","AdminUserList","user"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as a, jsxs as p } from "react/jsx-runtime";
|
|
2
2
|
import { useState as l, useEffect as S, useCallback as _, useMemo as U } from "react";
|
|
3
|
-
import { A as E, S as I, a as v, u as y, b as A } from "./index-
|
|
3
|
+
import { A as E, S as I, a as v, u as y, b as A } from "./index-Djb8LQZ6.js";
|
|
4
4
|
const L = ["email", "google", "apple", "solana", "webauthn", "sso"], T = {
|
|
5
5
|
email: "Email Users",
|
|
6
6
|
google: "Google Users",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UsersSection
|
|
1
|
+
{"version":3,"file":"UsersSection-DlfHGrJK.js","sources":["../src/admin/sections/UsersSection.tsx"],"sourcesContent":["/**\n * Users Section - Plugin wrapper\n *\n * Admin user management with list and detail views.\n */\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { AdminUserList } from '../../components/admin/AdminUserList';\nimport { AdminUserDetail } from '../../components/admin/AdminUserDetail';\nimport { StatsBar } from '../../components/admin/StatsBar';\nimport { useAdminUsers } from '../../hooks/useAdminUsers';\nimport { useSystemSettings } from '../../hooks/useSystemSettings';\nimport type { AdminUser, AdminUserStatsResponse } from '../../types';\n\nconst METHOD_ORDER = ['email', 'google', 'apple', 'solana', 'webauthn', 'sso'] as const;\n\nconst METHOD_LABELS: Record<(typeof METHOD_ORDER)[number], string> = {\n email: 'Email Users',\n google: 'Google Users',\n apple: 'Apple Users',\n solana: 'Solana Users',\n webauthn: 'Passkey Users',\n sso: 'SSO Provider Users',\n};\n\nconst METHOD_SETTINGS: Record<(typeof METHOD_ORDER)[number], string> = {\n email: 'auth_email_enabled',\n google: 'auth_google_enabled',\n apple: 'auth_apple_enabled',\n solana: 'auth_solana_enabled',\n webauthn: 'auth_webauthn_enabled',\n sso: 'feature_sso',\n};\n\nfunction useUsersStats() {\n const { getStats } = useAdminUsers();\n const { fetchSettings, getValue } = useSystemSettings();\n const [stats, setStats] = useState<AdminUserStatsResponse | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [settingsFetched, setSettingsFetched] = useState(false);\n\n useEffect(() => {\n if (!settingsFetched) {\n fetchSettings();\n setSettingsFetched(true);\n }\n }, [fetchSettings, settingsFetched]);\n\n const isSettingEnabled = useCallback(\n (key: string): boolean => {\n const value = getValue(key);\n if (value === undefined) return false;\n return value === 'true' || value === '1';\n },\n [getValue]\n );\n\n const fetchStats = useCallback(async () => {\n setIsLoading(true);\n setError(null);\n\n try {\n const result = await getStats();\n setStats(result);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load user stats');\n } finally {\n setIsLoading(false);\n }\n }, [getStats]);\n\n useEffect(() => {\n fetchStats();\n }, [fetchStats]);\n\n const statsItems = useMemo(() => {\n const items = [{ label: 'Total Users', value: stats?.total ?? '—' }];\n\n METHOD_ORDER.forEach((method) => {\n if (!isSettingEnabled(METHOD_SETTINGS[method])) return;\n items.push({\n label: METHOD_LABELS[method],\n value: stats?.authMethodCounts[method] ?? 0,\n });\n });\n\n return items;\n }, [stats, isSettingEnabled]);\n\n return { statsItems, isLoading, error, refresh: fetchStats };\n}\n\nexport default function UsersSection({\n pluginContext,\n pageSize = 20,\n}: AdminSectionProps): React.JSX.Element {\n const [selectedUser, setSelectedUser] = useState<AdminUser | null>(null);\n const { statsItems, isLoading, error, refresh } = useUsersStats();\n\n if (selectedUser) {\n return (\n <div className=\"cedros-dashboard__section\">\n <AdminUserDetail\n userId={selectedUser.id}\n onBack={() => setSelectedUser(null)}\n currentUserId={pluginContext.userId}\n />\n </div>\n );\n }\n\n return (\n <div className=\"cedros-dashboard__section\">\n <StatsBar stats={statsItems} isLoading={isLoading} onRefresh={refresh} />\n {error && <p className=\"cedros-admin-error-inline\">{error}</p>}\n <p className=\"cedros-dashboard__text-muted\">\n All registered users in the system. Requires system admin privileges.\n </p>\n <AdminUserList\n pageSize={pageSize}\n currentUserId={pluginContext.userId}\n onUserClick={(user) => setSelectedUser(user)}\n />\n </div>\n );\n}\n"],"names":["METHOD_ORDER","METHOD_LABELS","METHOD_SETTINGS","useUsersStats","getStats","useAdminUsers","fetchSettings","getValue","useSystemSettings","stats","setStats","useState","isLoading","setIsLoading","error","setError","settingsFetched","setSettingsFetched","useEffect","isSettingEnabled","useCallback","key","value","fetchStats","result","err","useMemo","items","method","UsersSection","pluginContext","pageSize","selectedUser","setSelectedUser","statsItems","refresh","jsx","AdminUserDetail","jsxs","StatsBar","AdminUserList","user"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./index-CCOKNxfU.cjs");function r(o){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.WebhookSettings,{})})}exports.default=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-9dcnVNH_.cjs","sources":["../src/admin/sections/WebhookSettings.tsx"],"sourcesContent":["/**\n * Webhook Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { WebhookSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function WebhookSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["WebhookSettings","_props","jsx","Settings"],"mappings":"8KASA,SAAwBA,EAAgBC,EAA8C,CACpF,aACG,MAAA,CAAI,UAAU,4BACb,SAAAC,MAACC,EAAAA,kBAAS,EACZ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { W as r } from "./index-
|
|
3
|
+
import { W as r } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function a(t) {
|
|
5
5
|
return /* @__PURE__ */ o("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ o(r, {}) });
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookSettings-
|
|
1
|
+
{"version":3,"file":"WebhookSettings-Cx30aHt_.js","sources":["../src/admin/sections/WebhookSettings.tsx"],"sourcesContent":["/**\n * Webhook Settings Section - Plugin wrapper\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport { WebhookSettings as Settings } from '../../components/admin/settings';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default function WebhookSettings(_props: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__section\">\n <Settings />\n </div>\n );\n}\n"],"names":["WebhookSettings","_props","jsx","Settings"],"mappings":";;;AASA,SAAwBA,EAAgBC,GAA8C;AACpF,2BACG,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAC,EAACC,KAAS,GACZ;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime");require("react");const s=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime");require("react");const s=require("./index-CCOKNxfU.cjs");function a({pageSize:e=20,refreshInterval:i=0}){return d.jsxs("div",{className:"cedros-dashboard__withdrawals",children:[d.jsx(s.AdminWithdrawalStats,{refreshInterval:i}),d.jsx("p",{className:"cedros-dashboard__text-muted",children:"Track deposits through the withdrawal pipeline: privacy period, ready for processing, and completed."}),d.jsxs("div",{className:"cedros-dashboard__pipeline",children:[d.jsx(s.AdminPrivacyPeriodDeposits,{pageSize:e,refreshInterval:i}),d.jsx(s.AdminWithdrawalQueue,{pageSize:e,refreshInterval:i}),d.jsx(s.AdminWithdrawalHistory,{pageSize:e,refreshInterval:i})]})]})}exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithdrawalsSection-
|
|
1
|
+
{"version":3,"file":"WithdrawalsSection-MFj2muP6.cjs","sources":["../src/admin/sections/WithdrawalsSection.tsx"],"sourcesContent":["/**\n * Withdrawals Section - Plugin wrapper\n *\n * Admin withdrawal pipeline: privacy period, queue, and history.\n */\n\nimport React from 'react';\nimport type { AdminSectionProps } from '../types';\nimport {\n AdminPrivacyPeriodDeposits,\n AdminWithdrawalQueue,\n AdminWithdrawalHistory,\n AdminWithdrawalStats,\n} from '../../components/deposit/admin';\n\nexport default function WithdrawalsSection({\n pageSize = 20,\n refreshInterval = 0,\n}: AdminSectionProps): React.JSX.Element {\n return (\n <div className=\"cedros-dashboard__withdrawals\">\n <AdminWithdrawalStats refreshInterval={refreshInterval} />\n <p className=\"cedros-dashboard__text-muted\">\n Track deposits through the withdrawal pipeline: privacy period, ready for processing, and\n completed.\n </p>\n\n {/* Pipeline view: Privacy Period -> Ready -> Completed */}\n <div className=\"cedros-dashboard__pipeline\">\n <AdminPrivacyPeriodDeposits pageSize={pageSize} refreshInterval={refreshInterval} />\n <AdminWithdrawalQueue pageSize={pageSize} refreshInterval={refreshInterval} />\n <AdminWithdrawalHistory pageSize={pageSize} refreshInterval={refreshInterval} />\n </div>\n </div>\n );\n}\n"],"names":["WithdrawalsSection","pageSize","refreshInterval","jsxs","jsx","AdminWithdrawalStats","AdminPrivacyPeriodDeposits","AdminWithdrawalQueue","AdminWithdrawalHistory"],"mappings":"8KAeA,SAAwBA,EAAmB,CACzC,SAAAC,EAAW,GACX,gBAAAC,EAAkB,CACpB,EAAyC,CACvC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,gCACb,SAAA,CAAAC,MAACC,EAAAA,sBAAqB,gBAAAH,EAAkC,EACxDE,EAAAA,IAAC,IAAA,CAAE,UAAU,+BAA+B,SAAA,uGAG5C,EAGAD,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACb,SAAA,CAAAC,EAAAA,IAACE,EAAAA,2BAAA,CAA2B,SAAAL,EAAoB,gBAAAC,CAAA,CAAkC,EAClFE,EAAAA,IAACG,EAAAA,qBAAA,CAAqB,SAAAN,EAAoB,gBAAAC,CAAA,CAAkC,EAC5EE,EAAAA,IAACI,EAAAA,uBAAA,CAAuB,SAAAP,EAAoB,gBAAAC,CAAA,CAAkC,CAAA,CAAA,CAChF,CAAA,EACF,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as s, jsx as d } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { i as r, j as o, k as t, l as e } from "./index-
|
|
3
|
+
import { i as r, j as o, k as t, l as e } from "./index-Djb8LQZ6.js";
|
|
4
4
|
function p({
|
|
5
5
|
pageSize: i = 20,
|
|
6
6
|
refreshInterval: a = 0
|