@cedros/login-react 0.0.4 → 0.0.6
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-CEVF1qTV.cjs → AuthenticationSettings-CDK8XCY-.cjs} +1 -1
- package/dist/{AuthenticationSettings-CEVF1qTV.cjs.map → AuthenticationSettings-CDK8XCY-.cjs.map} +1 -1
- package/dist/{AuthenticationSettings-BKvfIsUy.js → AuthenticationSettings-W4EnVUrv.js} +1 -1
- package/dist/{AuthenticationSettings-BKvfIsUy.js.map → AuthenticationSettings-W4EnVUrv.js.map} +1 -1
- package/dist/{CreditSystemSettings-BL7Lx9MI.js → CreditSystemSettings-BFBTeyl7.js} +1 -1
- package/dist/{CreditSystemSettings-BL7Lx9MI.js.map → CreditSystemSettings-BFBTeyl7.js.map} +1 -1
- package/dist/{CreditSystemSettings-CVxamkZ8.cjs → CreditSystemSettings-k5bOgfpj.cjs} +1 -1
- package/dist/{CreditSystemSettings-CVxamkZ8.cjs.map → CreditSystemSettings-k5bOgfpj.cjs.map} +1 -1
- package/dist/{DepositsSection-BzlzofEm.cjs → DepositsSection-9oW81ocN.cjs} +1 -1
- package/dist/{DepositsSection-BzlzofEm.cjs.map → DepositsSection-9oW81ocN.cjs.map} +1 -1
- package/dist/{DepositsSection-b-VfjqkR.js → DepositsSection-zsNaKqIa.js} +1 -1
- package/dist/{DepositsSection-b-VfjqkR.js.map → DepositsSection-zsNaKqIa.js.map} +1 -1
- package/dist/{EmailSettings-D2Y_T3ea.cjs → EmailSettings-CJ1jwoIw.cjs} +1 -1
- package/dist/{EmailSettings-D2Y_T3ea.cjs.map → EmailSettings-CJ1jwoIw.cjs.map} +1 -1
- package/dist/{EmailSettings-D4kz8cRX.js → EmailSettings-Cs3cKqWy.js} +1 -1
- package/dist/{EmailSettings-D4kz8cRX.js.map → EmailSettings-Cs3cKqWy.js.map} +1 -1
- package/dist/{EmbeddedWalletSettings-D8oqefzm.cjs → EmbeddedWalletSettings-5WhI_6cL.cjs} +1 -1
- package/dist/{EmbeddedWalletSettings-D8oqefzm.cjs.map → EmbeddedWalletSettings-5WhI_6cL.cjs.map} +1 -1
- package/dist/{EmbeddedWalletSettings-BAAnDY3_.js → EmbeddedWalletSettings-BKOvB3Qe.js} +1 -1
- package/dist/{EmbeddedWalletSettings-BAAnDY3_.js.map → EmbeddedWalletSettings-BKOvB3Qe.js.map} +1 -1
- package/dist/{ServerSettings-BRcS4sht.js → ServerSettings-BESj4UDB.js} +1 -1
- package/dist/{ServerSettings-BRcS4sht.js.map → ServerSettings-BESj4UDB.js.map} +1 -1
- package/dist/{ServerSettings-Yrumq_CL.cjs → ServerSettings-UCN7E8sg.cjs} +1 -1
- package/dist/{ServerSettings-Yrumq_CL.cjs.map → ServerSettings-UCN7E8sg.cjs.map} +1 -1
- package/dist/{TeamSection-Dec3HxDj.js → TeamSection-Dt8tPOYm.js} +51 -47
- package/dist/TeamSection-Dt8tPOYm.js.map +1 -0
- package/dist/TeamSection-msFD7Wb5.cjs +1 -0
- package/dist/TeamSection-msFD7Wb5.cjs.map +1 -0
- package/dist/{UsersSection-BImSsHRA.cjs → UsersSection-BAnirT1_.cjs} +1 -1
- package/dist/{UsersSection-BImSsHRA.cjs.map → UsersSection-BAnirT1_.cjs.map} +1 -1
- package/dist/{UsersSection-D1uLBhoF.js → UsersSection-PQVpL6Xo.js} +1 -1
- package/dist/{UsersSection-D1uLBhoF.js.map → UsersSection-PQVpL6Xo.js.map} +1 -1
- package/dist/{WebhookSettings-fOHCAQqx.cjs → WebhookSettings-BrrSXA0B.cjs} +1 -1
- package/dist/{WebhookSettings-fOHCAQqx.cjs.map → WebhookSettings-BrrSXA0B.cjs.map} +1 -1
- package/dist/{WebhookSettings-BD-PNXDX.js → WebhookSettings-eM6U9nOU.js} +1 -1
- package/dist/{WebhookSettings-BD-PNXDX.js.map → WebhookSettings-eM6U9nOU.js.map} +1 -1
- package/dist/{WithdrawalsSection-CLlPpKHf.js → WithdrawalsSection-BGmLLoUa.js} +1 -1
- package/dist/{WithdrawalsSection-CLlPpKHf.js.map → WithdrawalsSection-BGmLLoUa.js.map} +1 -1
- package/dist/{WithdrawalsSection-_7gHudQ8.cjs → WithdrawalsSection-C0fFwIbu.cjs} +1 -1
- package/dist/{WithdrawalsSection-_7gHudQ8.cjs.map → WithdrawalsSection-C0fFwIbu.cjs.map} +1 -1
- package/dist/{index-BRvCMGd5.js → index-D1Ex6YTc.js} +2 -2
- package/dist/index-D1Ex6YTc.js.map +1 -0
- package/dist/{index-Ca3FT7KM.cjs → index-tTVUl19s.cjs} +1 -1
- package/dist/index-tTVUl19s.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/login-react.css +1 -1
- package/package.json +1 -1
- package/dist/TeamSection-BgFEYBD7.cjs +0 -1
- package/dist/TeamSection-BgFEYBD7.cjs.map +0 -1
- package/dist/TeamSection-Dec3HxDj.js.map +0 -1
- package/dist/index-BRvCMGd5.js.map +0 -1
- package/dist/index-Ca3FT7KM.cjs.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-tTVUl19s.cjs");function i(n){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.AuthenticationSettings,{})})}exports.default=i;
|
package/dist/{AuthenticationSettings-CEVF1qTV.cjs.map → AuthenticationSettings-CDK8XCY-.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationSettings-
|
|
1
|
+
{"version":3,"file":"AuthenticationSettings-CDK8XCY-.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-D1Ex6YTc.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-BKvfIsUy.js.map → AuthenticationSettings-W4EnVUrv.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationSettings-
|
|
1
|
+
{"version":3,"file":"AuthenticationSettings-W4EnVUrv.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,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-D1Ex6YTc.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-BFBTeyl7.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");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-tTVUl19s.cjs");function r(s){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.CreditSystemSettings,{})})}exports.default=r;
|
package/dist/{CreditSystemSettings-CVxamkZ8.cjs.map → CreditSystemSettings-k5bOgfpj.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditSystemSettings-
|
|
1
|
+
{"version":3,"file":"CreditSystemSettings-k5bOgfpj.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 +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-tTVUl19s.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-9oW81ocN.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-D1Ex6YTc.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-zsNaKqIa.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-tTVUl19s.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-CJ1jwoIw.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-D1Ex6YTc.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-Cs3cKqWy.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-tTVUl19s.cjs");function r(d){return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(t.EmbeddedWalletSettings,{})})}exports.default=r;
|
package/dist/{EmbeddedWalletSettings-D8oqefzm.cjs.map → EmbeddedWalletSettings-5WhI_6cL.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedWalletSettings-
|
|
1
|
+
{"version":3,"file":"EmbeddedWalletSettings-5WhI_6cL.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-D1Ex6YTc.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-BAAnDY3_.js.map → EmbeddedWalletSettings-BKOvB3Qe.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddedWalletSettings-
|
|
1
|
+
{"version":3,"file":"EmbeddedWalletSettings-BKOvB3Qe.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,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-D1Ex6YTc.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-BESj4UDB.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 +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-tTVUl19s.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-UCN7E8sg.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,49 +1,53 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { c as
|
|
4
|
-
function
|
|
5
|
-
const [s, r] =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x, useEffect as f, useMemo as E } from "react";
|
|
3
|
+
import { c as T, d as j, e as A, S as U, M as z, I as B, f as F, P as q } from "./index-D1Ex6YTc.js";
|
|
4
|
+
function J({ pluginContext: I }) {
|
|
5
|
+
const [s, r] = x("members"), { activeOrg: a, orgs: N, hasPermission: i, role: t, fetchOrgs: C } = T();
|
|
6
|
+
f(() => {
|
|
7
|
+
N.length === 0 && C();
|
|
8
|
+
}, []);
|
|
9
|
+
const {
|
|
10
|
+
members: o,
|
|
11
|
+
isLoading: M,
|
|
12
|
+
error: L,
|
|
9
13
|
fetchMembers: b,
|
|
10
|
-
updateMemberRole:
|
|
11
|
-
removeMember:
|
|
12
|
-
} =
|
|
14
|
+
updateMemberRole: S,
|
|
15
|
+
removeMember: P
|
|
16
|
+
} = j(a?.id ?? ""), {
|
|
13
17
|
invites: v,
|
|
14
18
|
isLoading: u,
|
|
15
19
|
error: h,
|
|
16
20
|
fetchInvites: g,
|
|
17
|
-
createInvite:
|
|
18
|
-
cancelInvite:
|
|
19
|
-
resendInvite:
|
|
20
|
-
} =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, [
|
|
24
|
-
const d =
|
|
25
|
-
() =>
|
|
21
|
+
createInvite: R,
|
|
22
|
+
cancelInvite: w,
|
|
23
|
+
resendInvite: y
|
|
24
|
+
} = A(a?.id ?? "");
|
|
25
|
+
f(() => {
|
|
26
|
+
a?.id && (b(), g());
|
|
27
|
+
}, [a?.id, b, g]);
|
|
28
|
+
const d = E(
|
|
29
|
+
() => o.reduce(
|
|
26
30
|
(l, p) => (l[p.role] = (l[p.role] ?? 0) + 1, l),
|
|
27
31
|
{}
|
|
28
32
|
),
|
|
29
|
-
[
|
|
33
|
+
[o]
|
|
30
34
|
);
|
|
31
|
-
if (!
|
|
35
|
+
if (!a)
|
|
32
36
|
return /* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ e("div", { className: "cedros-dashboard__empty", children: "Select an organization to manage team members." }) });
|
|
33
|
-
const c = i("invite:create"), _ = i("invite:cancel"), m = v.length,
|
|
34
|
-
return /* @__PURE__ */
|
|
37
|
+
const c = i("invite:create"), _ = i("invite:cancel"), m = v.length, O = d.owner ?? 0, $ = d.admin ?? 0, k = d.member ?? 0;
|
|
38
|
+
return /* @__PURE__ */ n("div", { className: "cedros-dashboard__team", children: [
|
|
35
39
|
/* @__PURE__ */ e(
|
|
36
|
-
|
|
40
|
+
U,
|
|
37
41
|
{
|
|
38
42
|
stats: [
|
|
39
|
-
{ label: "Owners", value:
|
|
40
|
-
{ label: "Admins", value:
|
|
41
|
-
{ label: "Members", value:
|
|
43
|
+
{ label: "Owners", value: O },
|
|
44
|
+
{ label: "Admins", value: $ },
|
|
45
|
+
{ label: "Members", value: k },
|
|
42
46
|
{ label: "Pending Invites", value: m }
|
|
43
47
|
]
|
|
44
48
|
}
|
|
45
49
|
),
|
|
46
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ n("div", { className: "cedros-admin-tabs cedros-admin-tabs--line", children: [
|
|
47
51
|
/* @__PURE__ */ e(
|
|
48
52
|
"button",
|
|
49
53
|
{
|
|
@@ -55,7 +59,7 @@ function G({ pluginContext: I }) {
|
|
|
55
59
|
children: "Members"
|
|
56
60
|
}
|
|
57
61
|
),
|
|
58
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ n(
|
|
59
63
|
"button",
|
|
60
64
|
{
|
|
61
65
|
type: "button",
|
|
@@ -69,7 +73,7 @@ function G({ pluginContext: I }) {
|
|
|
69
73
|
]
|
|
70
74
|
}
|
|
71
75
|
),
|
|
72
|
-
|
|
76
|
+
t === "owner" && /* @__PURE__ */ e(
|
|
73
77
|
"button",
|
|
74
78
|
{
|
|
75
79
|
type: "button",
|
|
@@ -81,48 +85,48 @@ function G({ pluginContext: I }) {
|
|
|
81
85
|
}
|
|
82
86
|
)
|
|
83
87
|
] }),
|
|
84
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ n("div", { className: "cedros-admin-tab-content", role: "tabpanel", children: [
|
|
85
89
|
s === "members" && /* @__PURE__ */ e(
|
|
86
|
-
|
|
90
|
+
z,
|
|
87
91
|
{
|
|
88
|
-
members:
|
|
92
|
+
members: o,
|
|
89
93
|
currentUserId: I.userId,
|
|
90
|
-
isLoading:
|
|
91
|
-
error:
|
|
94
|
+
isLoading: M,
|
|
95
|
+
error: L?.message,
|
|
92
96
|
canManage: i("member:remove"),
|
|
93
97
|
canChangeRoles: i("member:role_change"),
|
|
94
|
-
onUpdateRole:
|
|
95
|
-
onRemove:
|
|
98
|
+
onUpdateRole: S,
|
|
99
|
+
onRemove: P
|
|
96
100
|
}
|
|
97
101
|
),
|
|
98
|
-
s === "invites" && /* @__PURE__ */
|
|
99
|
-
c && /* @__PURE__ */
|
|
102
|
+
s === "invites" && /* @__PURE__ */ n("div", { className: "cedros-dashboard__invites", children: [
|
|
103
|
+
c && /* @__PURE__ */ n("div", { className: "cedros-dashboard__section", children: [
|
|
100
104
|
/* @__PURE__ */ e("div", { className: "cedros-dashboard__section-header", children: /* @__PURE__ */ e("h3", { className: "cedros-dashboard__section-title", children: "Send Invitation" }) }),
|
|
101
105
|
/* @__PURE__ */ e(
|
|
102
|
-
|
|
106
|
+
B,
|
|
103
107
|
{
|
|
104
|
-
onSubmit:
|
|
108
|
+
onSubmit: R,
|
|
105
109
|
isLoading: u,
|
|
106
110
|
error: h?.message
|
|
107
111
|
}
|
|
108
112
|
)
|
|
109
113
|
] }),
|
|
110
114
|
/* @__PURE__ */ e("div", { className: "cedros-dashboard__section", children: /* @__PURE__ */ e(
|
|
111
|
-
|
|
115
|
+
F,
|
|
112
116
|
{
|
|
113
117
|
invites: v,
|
|
114
118
|
isLoading: u,
|
|
115
119
|
error: h?.message,
|
|
116
120
|
canManage: _ || c,
|
|
117
|
-
onCancel: _ ?
|
|
118
|
-
onResend: c ?
|
|
121
|
+
onCancel: _ ? w : void 0,
|
|
122
|
+
onResend: c ? y : void 0
|
|
119
123
|
}
|
|
120
124
|
) })
|
|
121
125
|
] }),
|
|
122
|
-
s === "permissions" &&
|
|
126
|
+
s === "permissions" && t === "owner" && /* @__PURE__ */ e(q, { userRole: t })
|
|
123
127
|
] })
|
|
124
128
|
] });
|
|
125
129
|
}
|
|
126
130
|
export {
|
|
127
|
-
|
|
131
|
+
J as default
|
|
128
132
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamSection-Dt8tPOYm.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, fetchOrgs } = useOrgs();\n\n // Auto-fetch orgs on mount so activeOrg gets auto-selected\n useEffect(() => {\n if (orgs.length === 0) {\n fetchOrgs();\n }\n }, []); // 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 (!activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n Select an organization to manage team members.\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","fetchOrgs","useOrgs","useEffect","members","membersLoading","membersError","fetchMembers","updateMemberRole","removeMember","useMembers","invites","invitesLoading","invitesError","fetchInvites","createInvite","cancelInvite","resendInvite","useInvites","roleCounts","useMemo","acc","member","jsx","canInvite","canCancel","pendingCount","ownerCount","adminCount","memberCount","jsxs","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-tTVUl19s.cjs");function E({pluginContext:f}){const[s,t]=a.useState("members"),{activeOrg:i,orgs:p,hasPermission:r,role:o,fetchOrgs:I}=n.useOrgs();a.useEffect(()=>{p.length===0&&I()},[]);const{members:c,isLoading:N,error:C,fetchMembers:v,updateMemberRole:M,removeMember:L}=n.useMembers(i?.id??""),{invites:u,isLoading:h,error:g,fetchInvites:j,createInvite:S,cancelInvite:R,resendInvite:y}=n.useInvites(i?.id??"");a.useEffect(()=>{i?.id&&(v(),j())},[i?.id,v,j]);const d=a.useMemo(()=>c.reduce((b,_)=>(b[_.role]=(b[_.role]??0)+1,b),{}),[c]);if(!i)return e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx("div",{className:"cedros-dashboard__empty",children:"Select an organization to manage team members."})});const m=r("invite:create"),x=r("invite:cancel"),l=u.length,P=d.owner??0,w=d.admin??0,O=d.member??0;return e.jsxs("div",{className:"cedros-dashboard__team",children:[e.jsx(n.StatsBar,{stats:[{label:"Owners",value:P},{label:"Admins",value:w},{label:"Members",value:O},{label:"Pending Invites",value:l}]}),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:()=>t("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:()=>t("invites"),"aria-selected":s==="invites",role:"tab",children:["Pending Invites",l>0&&` (${l})`]}),o==="owner"&&e.jsx("button",{type:"button",className:`cedros-admin-tab ${s==="permissions"?"cedros-admin-tab-active":""}`,onClick:()=>t("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:N,error:C?.message,canManage:r("member:remove"),canChangeRoles:r("member:role_change"),onUpdateRole:M,onRemove:L}),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:h,error:g?.message})]}),e.jsx("div",{className:"cedros-dashboard__section",children:e.jsx(n.InviteList,{invites:u,isLoading:h,error:g?.message,canManage:x||m,onCancel:x?R:void 0,onResend:m?y:void 0})})]}),s==="permissions"&&o==="owner"&&e.jsx(n.PermissionsSection,{userRole:o})]})]})}exports.default=E;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamSection-msFD7Wb5.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, fetchOrgs } = useOrgs();\n\n // Auto-fetch orgs on mount so activeOrg gets auto-selected\n useEffect(() => {\n if (orgs.length === 0) {\n fetchOrgs();\n }\n }, []); // 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 (!activeOrg) {\n return (\n <div className=\"cedros-dashboard__section\">\n <div className=\"cedros-dashboard__empty\">\n Select an organization to manage team members.\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","fetchOrgs","useOrgs","useEffect","members","membersLoading","membersError","fetchMembers","updateMemberRole","removeMember","useMembers","invites","invitesLoading","invitesError","fetchInvites","createInvite","cancelInvite","resendInvite","useInvites","roleCounts","useMemo","acc","member","jsx","canInvite","canCancel","pendingCount","ownerCount","adminCount","memberCount","jsxs","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-tTVUl19s.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-BAnirT1_.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-D1Ex6YTc.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-PQVpL6Xo.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-tTVUl19s.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-BrrSXA0B.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-D1Ex6YTc.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-eM6U9nOU.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;"}
|