powr-sdk-web 5.8.2 → 5.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/PowrBaseAdminFull.js +32 -0
- package/dist/admin/coreSectionLoaders.js +49 -0
- package/dist/admin/index.js +133 -55
- package/dist/admin/optionalSectionLoaders.js +30 -0
- package/dist/index.js +2 -2
- package/dist/users/admin.js +51 -22
- package/package.json +23 -3
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = PowrBaseAdminFull;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
10
|
+
var _optionalSectionLoaders = require("./optionalSectionLoaders");
|
|
11
|
+
var _excluded = ["sectionLoaders"];
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
21
|
+
/**
|
|
22
|
+
* Full PowrBaseAdmin for host apps that already install optional peers
|
|
23
|
+
* (Excelrs / Spriny via the package root export).
|
|
24
|
+
* Prefer `powr-sdk-web/dist/admin` in lean apps (Ampy Ops) to avoid monaco/lucide.
|
|
25
|
+
*/
|
|
26
|
+
function PowrBaseAdminFull(props) {
|
|
27
|
+
var sectionLoaders = props.sectionLoaders,
|
|
28
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
29
|
+
return /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({}, rest, {
|
|
30
|
+
sectionLoaders: _objectSpread(_objectSpread({}, _optionalSectionLoaders.OPTIONAL_SECTION_LOADERS), sectionLoaders || {})
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CORE_SECTION_LOADERS = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
9
|
+
/**
|
|
10
|
+
* Core admin sections — no heavy optional peers (monaco / lucide / hot-toast).
|
|
11
|
+
* Safe for apps that only need Users (e.g. Ampy Ops).
|
|
12
|
+
*/
|
|
13
|
+
var CORE_SECTION_LOADERS = exports.CORE_SECTION_LOADERS = {
|
|
14
|
+
users: function users() {
|
|
15
|
+
return Promise.resolve().then(function () {
|
|
16
|
+
return _interopRequireWildcard(require('../users/admin'));
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
notifications: function notifications() {
|
|
20
|
+
return Promise.resolve().then(function () {
|
|
21
|
+
return _interopRequireWildcard(require('../notifications/admin'));
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
invoices: function invoices() {
|
|
25
|
+
return Promise.resolve().then(function () {
|
|
26
|
+
return _interopRequireWildcard(require('../invoices/admin'));
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
slides: function slides() {
|
|
30
|
+
return Promise.resolve().then(function () {
|
|
31
|
+
return _interopRequireWildcard(require('../slides/admin'));
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
forms: function forms() {
|
|
35
|
+
return Promise.resolve().then(function () {
|
|
36
|
+
return _interopRequireWildcard(require('../forms/admin'));
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
waitlist: function waitlist() {
|
|
40
|
+
return Promise.resolve().then(function () {
|
|
41
|
+
return _interopRequireWildcard(require('../waitlists/admin'));
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
feeds: function feeds() {
|
|
45
|
+
return Promise.resolve().then(function () {
|
|
46
|
+
return _interopRequireWildcard(require('../feeds/admin'));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
package/dist/admin/index.js
CHANGED
|
@@ -7,36 +7,117 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var
|
|
11
|
-
var _admin2 = _interopRequireDefault(require("../functions/admin"));
|
|
12
|
-
var _admin3 = _interopRequireDefault(require("../notifications/admin"));
|
|
13
|
-
var _admin4 = _interopRequireDefault(require("../invoices/admin"));
|
|
14
|
-
var _admin5 = _interopRequireDefault(require("../slides/admin"));
|
|
15
|
-
var _admin6 = _interopRequireDefault(require("../forms/admin"));
|
|
16
|
-
var _admin7 = _interopRequireDefault(require("../waitlists/admin"));
|
|
17
|
-
var _admin8 = _interopRequireDefault(require("../feeds/admin"));
|
|
18
|
-
var _admin9 = _interopRequireDefault(require("../tasks/admin"));
|
|
10
|
+
var _coreSectionLoaders = require("./coreSectionLoaders");
|
|
19
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
20
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
21
13
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
15
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
16
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
17
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
18
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
22
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
23
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
23
24
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
24
25
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
25
26
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26
27
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
29
|
+
function normalizeSectionKey(section) {
|
|
30
|
+
return String(section || '').trim().toLowerCase();
|
|
31
|
+
}
|
|
32
|
+
function resolveLoader(sectionKey, loaders) {
|
|
33
|
+
if (loaders[sectionKey]) return loaders[sectionKey];
|
|
34
|
+
// Accept "Wait List" / "WaitLists" style labels for waitlist
|
|
35
|
+
if (sectionKey.replace(/\s+/g, '') === 'waitlists') return loaders.waitlist;
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
var MissingSection = function MissingSection(_ref) {
|
|
39
|
+
var section = _ref.section,
|
|
40
|
+
theme = _ref.theme;
|
|
41
|
+
var color = theme === 'dark' ? '#f9fafb' : '#1f2937';
|
|
42
|
+
var muted = theme === 'dark' ? '#9ca3af' : '#6b7280';
|
|
43
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
44
|
+
style: {
|
|
45
|
+
padding: 16,
|
|
46
|
+
color: color
|
|
47
|
+
}
|
|
48
|
+
}, /*#__PURE__*/_react["default"].createElement("h3", {
|
|
49
|
+
style: {
|
|
50
|
+
margin: '0 0 8px 0'
|
|
51
|
+
}
|
|
52
|
+
}, "Section unavailable: ", section), /*#__PURE__*/_react["default"].createElement("p", {
|
|
53
|
+
style: {
|
|
54
|
+
margin: 0,
|
|
55
|
+
color: muted,
|
|
56
|
+
lineHeight: 1.5
|
|
57
|
+
}
|
|
58
|
+
}, "This section needs optional peer dependencies. Install them in the host app, then pass loaders from ", /*#__PURE__*/_react["default"].createElement("code", null, "powr-sdk-web/dist/admin/optionalSectionLoaders"), " via the", ' ', /*#__PURE__*/_react["default"].createElement("code", null, "sectionLoaders"), " prop."));
|
|
59
|
+
};
|
|
60
|
+
var AdminDashboard = function AdminDashboard(_ref2) {
|
|
61
|
+
var apiUrl = _ref2.apiUrl,
|
|
62
|
+
projectId = _ref2.projectId,
|
|
63
|
+
_ref2$sections = _ref2.sections,
|
|
64
|
+
sections = _ref2$sections === void 0 ? [] : _ref2$sections,
|
|
65
|
+
formPublicBaseUrl = _ref2.formPublicBaseUrl,
|
|
66
|
+
_ref2$theme = _ref2.theme,
|
|
67
|
+
theme = _ref2$theme === void 0 ? 'default' : _ref2$theme,
|
|
68
|
+
_ref2$sectionLoaders = _ref2.sectionLoaders,
|
|
69
|
+
sectionLoaders = _ref2$sectionLoaders === void 0 ? {} : _ref2$sectionLoaders,
|
|
70
|
+
_ref2$roleOptions = _ref2.roleOptions,
|
|
71
|
+
roleOptions = _ref2$roleOptions === void 0 ? null : _ref2$roleOptions,
|
|
72
|
+
_ref2$usersProps = _ref2.usersProps,
|
|
73
|
+
usersProps = _ref2$usersProps === void 0 ? null : _ref2$usersProps;
|
|
36
74
|
var _useState = (0, _react.useState)(null),
|
|
37
75
|
_useState2 = _slicedToArray(_useState, 2),
|
|
38
76
|
currentSection = _useState2[0],
|
|
39
77
|
setCurrentSection = _useState2[1];
|
|
78
|
+
var loaders = (0, _react.useMemo)(function () {
|
|
79
|
+
return _objectSpread(_objectSpread({}, _coreSectionLoaders.CORE_SECTION_LOADERS), sectionLoaders);
|
|
80
|
+
}, [sectionLoaders]);
|
|
81
|
+
var LazySection = (0, _react.useMemo)(function () {
|
|
82
|
+
if (!currentSection) return null;
|
|
83
|
+
var loader = resolveLoader(currentSection, loaders);
|
|
84
|
+
if (!loader) {
|
|
85
|
+
return function () {
|
|
86
|
+
return /*#__PURE__*/_react["default"].createElement(MissingSection, {
|
|
87
|
+
section: currentSection,
|
|
88
|
+
theme: theme
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return /*#__PURE__*/(0, _react.lazy)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
93
|
+
var mod, _t;
|
|
94
|
+
return _regenerator().w(function (_context) {
|
|
95
|
+
while (1) switch (_context.p = _context.n) {
|
|
96
|
+
case 0:
|
|
97
|
+
_context.p = 0;
|
|
98
|
+
_context.n = 1;
|
|
99
|
+
return loader();
|
|
100
|
+
case 1:
|
|
101
|
+
mod = _context.v;
|
|
102
|
+
return _context.a(2, {
|
|
103
|
+
"default": mod["default"] || mod
|
|
104
|
+
});
|
|
105
|
+
case 2:
|
|
106
|
+
_context.p = 2;
|
|
107
|
+
_t = _context.v;
|
|
108
|
+
console.error("[PowrBaseAdmin] Failed to load section \"".concat(currentSection, "\""), _t);
|
|
109
|
+
return _context.a(2, {
|
|
110
|
+
"default": function _default() {
|
|
111
|
+
return /*#__PURE__*/_react["default"].createElement(MissingSection, {
|
|
112
|
+
section: currentSection,
|
|
113
|
+
theme: theme
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}, _callee, null, [[0, 2]]);
|
|
119
|
+
})));
|
|
120
|
+
}, [currentSection, loaders, theme]);
|
|
40
121
|
var getThemeStyles = function getThemeStyles() {
|
|
41
122
|
var baseStyles = {
|
|
42
123
|
container: {
|
|
@@ -160,10 +241,12 @@ var AdminDashboard = function AdminDashboard(_ref) {
|
|
|
160
241
|
borderRadius: '12px',
|
|
161
242
|
padding: '24px',
|
|
162
243
|
marginTop: '16px'
|
|
244
|
+
},
|
|
245
|
+
loading: {
|
|
246
|
+
padding: '24px',
|
|
247
|
+
color: '#6b7280'
|
|
163
248
|
}
|
|
164
249
|
};
|
|
165
|
-
|
|
166
|
-
// Theme variations
|
|
167
250
|
if (theme === 'dark') {
|
|
168
251
|
baseStyles.container.backgroundColor = '#1f2937';
|
|
169
252
|
baseStyles.title.color = '#f9fafb';
|
|
@@ -177,69 +260,56 @@ var AdminDashboard = function AdminDashboard(_ref) {
|
|
|
177
260
|
baseStyles.statLabel.color = '#9ca3af';
|
|
178
261
|
baseStyles.sectionContainer.backgroundColor = '#374151';
|
|
179
262
|
baseStyles.sectionContainer.borderColor = '#4b5563';
|
|
263
|
+
baseStyles.loading.color = '#9ca3af';
|
|
180
264
|
}
|
|
181
265
|
return baseStyles;
|
|
182
266
|
};
|
|
183
267
|
var styles = getThemeStyles();
|
|
184
268
|
var handleCardClick = function handleCardClick(section) {
|
|
185
|
-
setCurrentSection(section
|
|
269
|
+
setCurrentSection(normalizeSectionKey(section));
|
|
186
270
|
};
|
|
187
271
|
var handleBackToDashboard = function handleBackToDashboard() {
|
|
188
272
|
setCurrentSection(null);
|
|
189
273
|
};
|
|
190
274
|
var renderAdminSection = function renderAdminSection() {
|
|
275
|
+
if (!LazySection) return null;
|
|
191
276
|
var sectionProps = {
|
|
192
277
|
apiUrl: apiUrl,
|
|
193
278
|
projectId: projectId,
|
|
194
279
|
formPublicBaseUrl: formPublicBaseUrl,
|
|
195
280
|
theme: theme === 'dark' ? 'dark' : 'blue'
|
|
196
281
|
};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
return /*#__PURE__*/_react["default"].createElement(_admin6["default"], sectionProps);
|
|
212
|
-
case 'waitlist':
|
|
213
|
-
return /*#__PURE__*/_react["default"].createElement(_admin7["default"], sectionProps);
|
|
214
|
-
case 'feeds':
|
|
215
|
-
return /*#__PURE__*/_react["default"].createElement(_admin8["default"], sectionProps);
|
|
216
|
-
case 'tasks':
|
|
217
|
-
return /*#__PURE__*/_react["default"].createElement(_admin9["default"], _extends({}, sectionProps, {
|
|
218
|
-
onError: function onError(message) {
|
|
219
|
-
return alert(message);
|
|
220
|
-
}
|
|
221
|
-
}));
|
|
222
|
-
default:
|
|
223
|
-
return null;
|
|
224
|
-
}
|
|
282
|
+
var extraProps = currentSection === 'users' ? _objectSpread(_objectSpread({
|
|
283
|
+
showActions: true
|
|
284
|
+
}, roleOptions ? {
|
|
285
|
+
roleOptions: roleOptions
|
|
286
|
+
} : {}), usersProps || {}) : currentSection === 'tasks' ? {
|
|
287
|
+
onError: function onError(message) {
|
|
288
|
+
return alert(message);
|
|
289
|
+
}
|
|
290
|
+
} : {};
|
|
291
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Suspense, {
|
|
292
|
+
fallback: /*#__PURE__*/_react["default"].createElement("div", {
|
|
293
|
+
style: styles.loading
|
|
294
|
+
}, "Loading ", currentSection, "\u2026")
|
|
295
|
+
}, /*#__PURE__*/_react["default"].createElement(LazySection, _extends({}, sectionProps, extraProps)));
|
|
225
296
|
};
|
|
226
297
|
if (currentSection) {
|
|
227
298
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
228
299
|
style: styles.container
|
|
229
300
|
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
301
|
+
type: "button",
|
|
230
302
|
style: styles.backButton,
|
|
231
303
|
onClick: handleBackToDashboard
|
|
232
304
|
}, "\u2190 Back to Dashboard"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
233
305
|
style: styles.sectionContainer
|
|
234
306
|
}, renderAdminSection()));
|
|
235
307
|
}
|
|
236
|
-
|
|
237
|
-
// Show the main dashboard
|
|
238
308
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
239
309
|
style: styles.container
|
|
240
310
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
241
311
|
style: styles.grid
|
|
242
|
-
}, sections.map(function (section
|
|
312
|
+
}, sections.map(function (section) {
|
|
243
313
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
244
314
|
key: section,
|
|
245
315
|
style: styles.card,
|
|
@@ -261,6 +331,7 @@ var AdminDashboard = function AdminDashboard(_ref) {
|
|
|
261
331
|
}, section)), /*#__PURE__*/_react["default"].createElement("p", {
|
|
262
332
|
style: styles.cardDescription
|
|
263
333
|
}, "Manage your ", section.toLowerCase(), " settings"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
334
|
+
type: "button",
|
|
264
335
|
style: styles.cardButton,
|
|
265
336
|
onMouseEnter: function onMouseEnter(e) {
|
|
266
337
|
e.target.style.background = styles.cardButtonHover.background;
|
|
@@ -272,9 +343,16 @@ var AdminDashboard = function AdminDashboard(_ref) {
|
|
|
272
343
|
})));
|
|
273
344
|
};
|
|
274
345
|
AdminDashboard.propTypes = {
|
|
346
|
+
apiUrl: _propTypes["default"].string,
|
|
275
347
|
projectId: _propTypes["default"].string,
|
|
276
348
|
sections: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
277
349
|
formPublicBaseUrl: _propTypes["default"].string,
|
|
278
|
-
theme: _propTypes["default"].oneOf(['default', 'dark'])
|
|
350
|
+
theme: _propTypes["default"].oneOf(['default', 'dark']),
|
|
351
|
+
sectionLoaders: _propTypes["default"].objectOf(_propTypes["default"].func),
|
|
352
|
+
roleOptions: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
353
|
+
value: _propTypes["default"].number.isRequired,
|
|
354
|
+
label: _propTypes["default"].string.isRequired
|
|
355
|
+
})),
|
|
356
|
+
usersProps: _propTypes["default"].object
|
|
279
357
|
};
|
|
280
|
-
var
|
|
358
|
+
var _default2 = exports["default"] = AdminDashboard;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.OPTIONAL_SECTION_LOADERS = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
9
|
+
/**
|
|
10
|
+
* Heavy admin sections. Import only from apps that install optional peers:
|
|
11
|
+
* lucide-react, @monaco-editor/react, react-hot-toast
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import PowrBaseAdmin from 'powr-sdk-web/dist/admin';
|
|
15
|
+
* import { OPTIONAL_SECTION_LOADERS } from 'powr-sdk-web/dist/admin/optionalSectionLoaders';
|
|
16
|
+
* <PowrBaseAdmin sections={['Users','Functions']} sectionLoaders={OPTIONAL_SECTION_LOADERS} />
|
|
17
|
+
*/
|
|
18
|
+
var OPTIONAL_SECTION_LOADERS = exports.OPTIONAL_SECTION_LOADERS = {
|
|
19
|
+
functions: function functions() {
|
|
20
|
+
return Promise.resolve().then(function () {
|
|
21
|
+
return _interopRequireWildcard(require('../functions/admin'));
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
tasks: function tasks() {
|
|
25
|
+
return Promise.resolve().then(function () {
|
|
26
|
+
return _interopRequireWildcard(require('../tasks/admin'));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var _default = exports["default"] = OPTIONAL_SECTION_LOADERS;
|
package/dist/index.js
CHANGED
|
@@ -48,7 +48,7 @@ Object.defineProperty(exports, "PowrBaseActivities", {
|
|
|
48
48
|
Object.defineProperty(exports, "PowrBaseAdmin", {
|
|
49
49
|
enumerable: true,
|
|
50
50
|
get: function get() {
|
|
51
|
-
return
|
|
51
|
+
return _PowrBaseAdminFull["default"];
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
Object.defineProperty(exports, "PowrBaseBlogs", {
|
|
@@ -325,7 +325,7 @@ var _forms = _interopRequireDefault(require("./forms"));
|
|
|
325
325
|
var _chat = _interopRequireDefault(require("./chat"));
|
|
326
326
|
var _feeds = _interopRequireDefault(require("./feeds"));
|
|
327
327
|
var _thread = _interopRequireDefault(require("./thread"));
|
|
328
|
-
var
|
|
328
|
+
var _PowrBaseAdminFull = _interopRequireDefault(require("./admin/PowrBaseAdminFull"));
|
|
329
329
|
var _tools = _interopRequireDefault(require("./tools"));
|
|
330
330
|
var _tasks = _interopRequireDefault(require("./tasks"));
|
|
331
331
|
var _powrVerify = _interopRequireDefault(require("./powrVerify"));
|
package/dist/users/admin.js
CHANGED
|
@@ -13,6 +13,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
13
13
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
17
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
19
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
16
20
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
17
21
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
18
22
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
@@ -23,23 +27,14 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
23
27
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
24
28
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
25
29
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
26
|
-
|
|
30
|
+
/** Generic Powr defaults — apps pass `roleOptions` for product-specific roles. */
|
|
31
|
+
var DEFAULT_ROLE_OPTIONS = [{
|
|
27
32
|
value: 1,
|
|
28
|
-
label: '
|
|
29
|
-
}, {
|
|
30
|
-
value: 300,
|
|
31
|
-
label: 'College admin'
|
|
32
|
-
}, {
|
|
33
|
-
value: 900,
|
|
34
|
-
label: 'Client'
|
|
33
|
+
label: 'User'
|
|
35
34
|
}, {
|
|
36
35
|
value: 100,
|
|
37
36
|
label: 'Admin'
|
|
38
37
|
}];
|
|
39
|
-
var normalizeAccess = function normalizeAccess(access) {
|
|
40
|
-
if (access === 100 || access === 300 || access === 900) return access;
|
|
41
|
-
return 1;
|
|
42
|
-
};
|
|
43
38
|
var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
44
39
|
var apiUrl = _ref.apiUrl,
|
|
45
40
|
projectId = _ref.projectId,
|
|
@@ -52,7 +47,9 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
52
47
|
_ref$onAddUser = _ref.onAddUser,
|
|
53
48
|
onAddUser = _ref$onAddUser === void 0 ? null : _ref$onAddUser,
|
|
54
49
|
_ref$onRoleChange = _ref.onRoleChange,
|
|
55
|
-
onRoleChange = _ref$onRoleChange === void 0 ? null : _ref$onRoleChange
|
|
50
|
+
onRoleChange = _ref$onRoleChange === void 0 ? null : _ref$onRoleChange,
|
|
51
|
+
_ref$roleOptions = _ref.roleOptions,
|
|
52
|
+
roleOptions = _ref$roleOptions === void 0 ? null : _ref$roleOptions;
|
|
56
53
|
var _useState = (0, _react.useState)([]),
|
|
57
54
|
_useState2 = _slicedToArray(_useState, 2),
|
|
58
55
|
users = _useState2[0],
|
|
@@ -73,6 +70,15 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
73
70
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
74
71
|
updatingUserId = _useState0[0],
|
|
75
72
|
setUpdatingUserId = _useState0[1];
|
|
73
|
+
var resolvedRoleOptions = (0, _react.useMemo)(function () {
|
|
74
|
+
if (Array.isArray(roleOptions) && roleOptions.length > 0) return roleOptions;
|
|
75
|
+
return DEFAULT_ROLE_OPTIONS;
|
|
76
|
+
}, [roleOptions]);
|
|
77
|
+
var knownAccessValues = (0, _react.useMemo)(function () {
|
|
78
|
+
return new Set(resolvedRoleOptions.map(function (role) {
|
|
79
|
+
return Number(role.value);
|
|
80
|
+
}));
|
|
81
|
+
}, [resolvedRoleOptions]);
|
|
76
82
|
(0, _react.useEffect)(function () {
|
|
77
83
|
fetchUsers();
|
|
78
84
|
}, [projectId]);
|
|
@@ -127,17 +133,38 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
127
133
|
return _ref2.apply(this, arguments);
|
|
128
134
|
};
|
|
129
135
|
}();
|
|
136
|
+
var normalizeAccess = function normalizeAccess(access) {
|
|
137
|
+
var _resolvedRoleOptions$;
|
|
138
|
+
var n = Number(access);
|
|
139
|
+
if (knownAccessValues.has(n)) return n;
|
|
140
|
+
return Number((_resolvedRoleOptions$ = resolvedRoleOptions[0]) === null || _resolvedRoleOptions$ === void 0 ? void 0 : _resolvedRoleOptions$.value) || 1;
|
|
141
|
+
};
|
|
142
|
+
var optionsForUser = function optionsForUser(access) {
|
|
143
|
+
var n = Number(access);
|
|
144
|
+
if (Number.isFinite(n) && !knownAccessValues.has(n)) {
|
|
145
|
+
return [].concat(_toConsumableArray(resolvedRoleOptions), [{
|
|
146
|
+
value: n,
|
|
147
|
+
label: "Access ".concat(n)
|
|
148
|
+
}]);
|
|
149
|
+
}
|
|
150
|
+
return resolvedRoleOptions;
|
|
151
|
+
};
|
|
130
152
|
var getBadgeVariant = function getBadgeVariant(access) {
|
|
131
|
-
|
|
132
|
-
if (
|
|
133
|
-
if (
|
|
153
|
+
var n = Number(access);
|
|
154
|
+
if (n === 100) return 'bg-red-100 text-red-800';
|
|
155
|
+
if (n === 300) return 'bg-purple-100 text-purple-800';
|
|
156
|
+
if (n === 500) return 'bg-teal-100 text-teal-800';
|
|
157
|
+
if (n === 900) return 'bg-blue-100 text-blue-800';
|
|
134
158
|
return 'bg-gray-100 text-gray-800';
|
|
135
159
|
};
|
|
136
160
|
var getBadgeText = function getBadgeText(access) {
|
|
137
|
-
var
|
|
138
|
-
|
|
161
|
+
var n = Number(access);
|
|
162
|
+
var option = resolvedRoleOptions.find(function (role) {
|
|
163
|
+
return Number(role.value) === n;
|
|
139
164
|
});
|
|
140
|
-
|
|
165
|
+
if (option) return option.label;
|
|
166
|
+
if (Number.isFinite(n)) return "Access ".concat(n);
|
|
167
|
+
return 'User';
|
|
141
168
|
};
|
|
142
169
|
var updateUserRole = /*#__PURE__*/function () {
|
|
143
170
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(user, newAccess) {
|
|
@@ -153,7 +180,7 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
153
180
|
setFeedback('Could not resolve user id');
|
|
154
181
|
return _context2.a(2);
|
|
155
182
|
case 1:
|
|
156
|
-
if (!(
|
|
183
|
+
if (!(Number(user.access) === newAccess)) {
|
|
157
184
|
_context2.n = 2;
|
|
158
185
|
break;
|
|
159
186
|
}
|
|
@@ -266,6 +293,8 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
266
293
|
var _user$fullName;
|
|
267
294
|
var userId = getUserId(user);
|
|
268
295
|
var isUpdating = updatingUserId === userId;
|
|
296
|
+
var selectOptions = optionsForUser(user.access);
|
|
297
|
+
var selectValue = Number.isFinite(Number(user.access)) ? Number(user.access) : normalizeAccess(user.access);
|
|
269
298
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
270
299
|
key: userId || user._id,
|
|
271
300
|
className: onUserClick ? 'cursor-pointer hover:bg-gray-50' : '',
|
|
@@ -296,13 +325,13 @@ var PowrBaseUsersAdmin = function PowrBaseUsersAdmin(_ref) {
|
|
|
296
325
|
}, showActions ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
297
326
|
className: "flex items-center gap-2"
|
|
298
327
|
}, /*#__PURE__*/_react["default"].createElement("select", {
|
|
299
|
-
value:
|
|
328
|
+
value: selectValue,
|
|
300
329
|
disabled: isUpdating,
|
|
301
330
|
onChange: function onChange(e) {
|
|
302
331
|
return updateUserRole(user, Number(e.target.value));
|
|
303
332
|
},
|
|
304
333
|
className: "text-sm border border-gray-300 rounded-md px-2 py-1.5 bg-white focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50"
|
|
305
|
-
},
|
|
334
|
+
}, selectOptions.map(function (role) {
|
|
306
335
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
307
336
|
key: role.value,
|
|
308
337
|
value: role.value
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "powr-sdk-web",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.9.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "babel src -d dist --copy-files",
|
|
@@ -21,16 +21,37 @@
|
|
|
21
21
|
"url": "git+https://github.com/lawaziatech/powr-sdk-web.git"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
+
"@monaco-editor/react": "*",
|
|
24
25
|
"filepond": "*",
|
|
26
|
+
"lucide-react": "*",
|
|
25
27
|
"react": "*",
|
|
26
28
|
"react-dom": "*",
|
|
29
|
+
"react-hot-toast": "*",
|
|
27
30
|
"react-toastify": "*"
|
|
28
31
|
},
|
|
32
|
+
"peerDependenciesMeta": {
|
|
33
|
+
"@monaco-editor/react": {
|
|
34
|
+
"optional": true
|
|
35
|
+
},
|
|
36
|
+
"filepond": {
|
|
37
|
+
"optional": true
|
|
38
|
+
},
|
|
39
|
+
"lucide-react": {
|
|
40
|
+
"optional": true
|
|
41
|
+
},
|
|
42
|
+
"react-hot-toast": {
|
|
43
|
+
"optional": true
|
|
44
|
+
},
|
|
45
|
+
"react-toastify": {
|
|
46
|
+
"optional": true
|
|
47
|
+
}
|
|
48
|
+
},
|
|
29
49
|
"dependencies": {
|
|
30
50
|
"axios": "^1.7.7",
|
|
31
51
|
"filepond": "*",
|
|
32
52
|
"firebase": "^12.2.1",
|
|
33
53
|
"libphonenumber-js": "^1.12.9",
|
|
54
|
+
"prop-types": "^15.8.1",
|
|
34
55
|
"react-filepond": "^7.1.2",
|
|
35
56
|
"react-hook-form": "^7.58.0"
|
|
36
57
|
},
|
|
@@ -38,7 +59,6 @@
|
|
|
38
59
|
"@babel/cli": "^7.24.1",
|
|
39
60
|
"@babel/core": "^7.24.4",
|
|
40
61
|
"@babel/preset-env": "^7.24.4",
|
|
41
|
-
"@babel/preset-react": "^7.24.1"
|
|
42
|
-
"prop-types": "^15.8.1"
|
|
62
|
+
"@babel/preset-react": "^7.24.1"
|
|
43
63
|
}
|
|
44
64
|
}
|