powr-sdk-web 5.6.13 → 5.7.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.
@@ -0,0 +1,216 @@
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"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _OnboardingShell = _interopRequireDefault(require("./OnboardingShell"));
10
+ var _utils = require("./utils");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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 _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); }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ 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); }
18
+ 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 }; })(); }
19
+ 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); }
20
+ 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); }
21
+ 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); }); }; }
22
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
23
+ 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
+ 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
+ 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
+ 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
+ var STEP_TITLES = {
29
+ phone: 'Phone',
30
+ profile: 'Profile',
31
+ app: 'Setup'
32
+ };
33
+ var PowrOnboardingProvider = function PowrOnboardingProvider(_ref) {
34
+ var apiUrl = _ref.apiUrl,
35
+ projectId = _ref.projectId,
36
+ user = _ref.user,
37
+ token = _ref.token,
38
+ _ref$isHydrated = _ref.isHydrated,
39
+ isHydrated = _ref$isHydrated === void 0 ? true : _ref$isHydrated,
40
+ _ref$steps = _ref.steps,
41
+ steps = _ref$steps === void 0 ? [] : _ref$steps,
42
+ _ref$appName = _ref.appName,
43
+ appName = _ref$appName === void 0 ? 'App' : _ref$appName,
44
+ appLogo = _ref.appLogo,
45
+ _ref$skip = _ref.skip,
46
+ skip = _ref$skip === void 0 ? false : _ref$skip,
47
+ _ref$requirePhoneVeri = _ref.requirePhoneVerification,
48
+ requirePhoneVerification = _ref$requirePhoneVeri === void 0 ? false : _ref$requirePhoneVeri,
49
+ onUserUpdate = _ref.onUserUpdate,
50
+ onAllComplete = _ref.onAllComplete,
51
+ children = _ref.children;
52
+ var _useState = (0, _react.useState)(user),
53
+ _useState2 = _slicedToArray(_useState, 2),
54
+ localUser = _useState2[0],
55
+ setLocalUser = _useState2[1];
56
+ var _useState3 = (0, _react.useState)([]),
57
+ _useState4 = _slicedToArray(_useState3, 2),
58
+ pendingSteps = _useState4[0],
59
+ setPendingSteps = _useState4[1];
60
+ var _useState5 = (0, _react.useState)(0),
61
+ _useState6 = _slicedToArray(_useState5, 2),
62
+ activeIndex = _useState6[0],
63
+ setActiveIndex = _useState6[1];
64
+ var _useState7 = (0, _react.useState)(true),
65
+ _useState8 = _slicedToArray(_useState7, 2),
66
+ evaluating = _useState8[0],
67
+ setEvaluating = _useState8[1];
68
+ var allSteps = (0, _react.useMemo)(function () {
69
+ return (0, _utils.mergePowrSteps)(steps);
70
+ }, [steps]);
71
+ var ctx = (0, _react.useMemo)(function () {
72
+ return {
73
+ user: localUser,
74
+ token: token,
75
+ apiUrl: apiUrl,
76
+ projectId: projectId,
77
+ appName: appName,
78
+ requirePhoneVerification: requirePhoneVerification
79
+ };
80
+ }, [localUser, token, apiUrl, projectId, appName, requirePhoneVerification]);
81
+ var runEvaluation = (0, _react.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
82
+ var pending;
83
+ return _regenerator().w(function (_context) {
84
+ while (1) switch (_context.p = _context.n) {
85
+ case 0:
86
+ if (!(skip || !isHydrated || !localUser || !token)) {
87
+ _context.n = 1;
88
+ break;
89
+ }
90
+ setPendingSteps([]);
91
+ setEvaluating(false);
92
+ return _context.a(2);
93
+ case 1:
94
+ setEvaluating(true);
95
+ _context.p = 2;
96
+ _context.n = 3;
97
+ return (0, _utils.evaluateSteps)(allSteps, ctx);
98
+ case 3:
99
+ pending = _context.v;
100
+ setPendingSteps(pending);
101
+ setActiveIndex(0);
102
+ case 4:
103
+ _context.p = 4;
104
+ setEvaluating(false);
105
+ return _context.f(4);
106
+ case 5:
107
+ return _context.a(2);
108
+ }
109
+ }, _callee, null, [[2,, 4, 5]]);
110
+ })), [allSteps, ctx, isHydrated, localUser, skip, token]);
111
+ (0, _react.useEffect)(function () {
112
+ setLocalUser(user);
113
+ }, [user]);
114
+ (0, _react.useEffect)(function () {
115
+ runEvaluation();
116
+ }, [runEvaluation]);
117
+ var handleStepComplete = /*#__PURE__*/function () {
118
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(patch) {
119
+ var updatedUser, pending;
120
+ return _regenerator().w(function (_context2) {
121
+ while (1) switch (_context2.n) {
122
+ case 0:
123
+ updatedUser = patch ? _objectSpread(_objectSpread({}, localUser), patch) : localUser;
124
+ setLocalUser(updatedUser);
125
+ if (typeof onUserUpdate === 'function') {
126
+ onUserUpdate(updatedUser);
127
+ }
128
+ _context2.n = 1;
129
+ return (0, _utils.evaluateSteps)(allSteps, _objectSpread(_objectSpread({}, ctx), {}, {
130
+ user: updatedUser
131
+ }));
132
+ case 1:
133
+ pending = _context2.v;
134
+ if (!(pending.length === 0)) {
135
+ _context2.n = 2;
136
+ break;
137
+ }
138
+ setPendingSteps([]);
139
+ if (typeof onAllComplete === 'function') {
140
+ onAllComplete(updatedUser);
141
+ }
142
+ return _context2.a(2);
143
+ case 2:
144
+ setPendingSteps(pending);
145
+ setActiveIndex(0);
146
+ case 3:
147
+ return _context2.a(2);
148
+ }
149
+ }, _callee2);
150
+ }));
151
+ return function handleStepComplete(_x) {
152
+ return _ref3.apply(this, arguments);
153
+ };
154
+ }();
155
+ var handleSkip = function handleSkip() {
156
+ if (activeIndex < pendingSteps.length - 1) {
157
+ setActiveIndex(function (index) {
158
+ return index + 1;
159
+ });
160
+ return;
161
+ }
162
+ setPendingSteps([]);
163
+ if (typeof onAllComplete === 'function') {
164
+ onAllComplete(localUser);
165
+ }
166
+ };
167
+ if (skip || !isHydrated || !localUser || !token) {
168
+ return children;
169
+ }
170
+ if (evaluating) {
171
+ return /*#__PURE__*/_react["default"].createElement("div", {
172
+ style: loadingStyles.page
173
+ }, /*#__PURE__*/_react["default"].createElement("style", null, '@keyframes powr-onboarding-spin { to { transform: rotate(360deg); } }'), /*#__PURE__*/_react["default"].createElement("div", {
174
+ style: loadingStyles.spinner
175
+ }));
176
+ }
177
+ if (pendingSteps.length === 0) {
178
+ return children;
179
+ }
180
+ var currentStep = pendingSteps[activeIndex] || pendingSteps[0];
181
+ var StepComponent = currentStep.Component;
182
+ return /*#__PURE__*/_react["default"].createElement(_OnboardingShell["default"], {
183
+ appName: appName,
184
+ appLogo: appLogo,
185
+ currentStep: activeIndex + 1,
186
+ totalSteps: pendingSteps.length,
187
+ stepTitle: STEP_TITLES[currentStep.id] || currentStep.id
188
+ }, /*#__PURE__*/_react["default"].createElement(StepComponent, {
189
+ ctx: ctx,
190
+ onComplete: handleStepComplete,
191
+ onSkip: currentStep.optional ? handleSkip : undefined,
192
+ onBack: activeIndex > 0 ? function () {
193
+ return setActiveIndex(function (index) {
194
+ return Math.max(0, index - 1);
195
+ });
196
+ } : undefined
197
+ }));
198
+ };
199
+ var loadingStyles = {
200
+ page: {
201
+ minHeight: '100vh',
202
+ display: 'flex',
203
+ alignItems: 'center',
204
+ justifyContent: 'center',
205
+ background: '#f8fafc'
206
+ },
207
+ spinner: {
208
+ width: 40,
209
+ height: 40,
210
+ border: '3px solid #e5e7eb',
211
+ borderTopColor: '#ff6b35',
212
+ borderRadius: '50%',
213
+ animation: 'powr-onboarding-spin 0.8s linear infinite'
214
+ }
215
+ };
216
+ var _default = exports["default"] = PowrOnboardingProvider;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AddPhonePanel", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _AddPhonePanel["default"];
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "OnboardingShell", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _OnboardingShell["default"];
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "PowrOnboardingProvider", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _PowrOnboardingProvider["default"];
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "addPhoneStep", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _addPhoneStep.addPhoneStep;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "defineAppStep", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _utils.defineAppStep;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "defineOptionalAppStep", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _utils.defineOptionalAppStep;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "evaluateSteps", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _utils.evaluateSteps;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "getUserId", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _utils.getUserId;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "hasValidPhone", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _utils.hasValidPhone;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "mergePowrSteps", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _utils.mergePowrSteps;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "needsOnboarding", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _utils.needsOnboarding;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "needsPhone", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _utils.needsPhone;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "needsProfileName", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _utils.needsProfileName;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "profileNameStep", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _profileNameStep.profileNameStep;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "updatePowrUser", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _utils.updatePowrUser;
94
+ }
95
+ });
96
+ var _utils = require("./utils");
97
+ var _profileNameStep = require("./steps/profileNameStep");
98
+ var _addPhoneStep = require("./steps/addPhoneStep");
99
+ var _AddPhonePanel = _interopRequireDefault(require("./AddPhonePanel"));
100
+ var _OnboardingShell = _interopRequireDefault(require("./OnboardingShell"));
101
+ var _PowrOnboardingProvider = _interopRequireDefault(require("./PowrOnboardingProvider"));
102
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addPhoneStep = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _AddPhonePanel = _interopRequireDefault(require("../AddPhonePanel"));
9
+ var _utils = require("../utils");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ var AddPhoneStepView = function AddPhoneStepView(_ref) {
12
+ var ctx = _ref.ctx,
13
+ _onComplete = _ref.onComplete,
14
+ onBack = _ref.onBack;
15
+ var pendingAuth = {
16
+ user: ctx.user,
17
+ token: ctx.token
18
+ };
19
+ return /*#__PURE__*/_react["default"].createElement(_AddPhonePanel["default"], {
20
+ apiUrl: ctx.apiUrl,
21
+ projectId: ctx.projectId,
22
+ pendingAuth: pendingAuth,
23
+ appName: ctx.appName || 'App',
24
+ onComplete: function onComplete(updatedUser) {
25
+ return _onComplete(updatedUser);
26
+ },
27
+ onBack: onBack,
28
+ requirePhoneVerification: ctx.requirePhoneVerification === true
29
+ });
30
+ };
31
+ var addPhoneStep = exports.addPhoneStep = {
32
+ id: 'phone',
33
+ layer: 'powr',
34
+ order: 5,
35
+ shouldRun: function shouldRun(_ref2) {
36
+ var user = _ref2.user;
37
+ return (0, _utils.needsPhone)(user);
38
+ },
39
+ Component: AddPhoneStepView
40
+ };
@@ -0,0 +1,200 @@
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.profileNameStep = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _utils = require("../utils");
10
+ 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); }
11
+ 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 }; })(); }
12
+ 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); }
13
+ 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); }
14
+ 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); }); }; }
15
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
+ 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."); }
17
+ 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; } }
18
+ 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; }
19
+ 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; } }
20
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
+ var ProfileNameStepView = function ProfileNameStepView(_ref) {
22
+ var _ctx$user;
23
+ var ctx = _ref.ctx,
24
+ onComplete = _ref.onComplete,
25
+ onSkip = _ref.onSkip;
26
+ var _useState = (0, _react.useState)((ctx === null || ctx === void 0 || (_ctx$user = ctx.user) === null || _ctx$user === void 0 ? void 0 : _ctx$user.fullName) || ''),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ name = _useState2[0],
29
+ setName = _useState2[1];
30
+ var _useState3 = (0, _react.useState)(false),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ loading = _useState4[0],
33
+ setLoading = _useState4[1];
34
+ var _useState5 = (0, _react.useState)(''),
35
+ _useState6 = _slicedToArray(_useState5, 2),
36
+ error = _useState6[0],
37
+ setError = _useState6[1];
38
+ var handleSave = /*#__PURE__*/function () {
39
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
40
+ var trimmed, userId, _yield$updatePowrUser, ok, data, _t;
41
+ return _regenerator().w(function (_context) {
42
+ while (1) switch (_context.p = _context.n) {
43
+ case 0:
44
+ trimmed = name.trim();
45
+ if (trimmed) {
46
+ _context.n = 1;
47
+ break;
48
+ }
49
+ setError('Please enter your name');
50
+ return _context.a(2);
51
+ case 1:
52
+ setLoading(true);
53
+ setError('');
54
+ _context.p = 2;
55
+ userId = (0, _utils.getUserId)(ctx.user);
56
+ _context.n = 3;
57
+ return (0, _utils.updatePowrUser)({
58
+ apiUrl: ctx.apiUrl,
59
+ projectId: ctx.projectId,
60
+ userId: userId,
61
+ token: ctx.token,
62
+ body: {
63
+ fullName: trimmed,
64
+ phoneNumber: ctx.user.phoneNumber,
65
+ email: ctx.user.email
66
+ }
67
+ });
68
+ case 3:
69
+ _yield$updatePowrUser = _context.v;
70
+ ok = _yield$updatePowrUser.ok;
71
+ data = _yield$updatePowrUser.data;
72
+ if (ok) {
73
+ _context.n = 4;
74
+ break;
75
+ }
76
+ throw new Error((data === null || data === void 0 ? void 0 : data.message) || 'Failed to save name');
77
+ case 4:
78
+ onComplete({
79
+ fullName: trimmed
80
+ });
81
+ _context.n = 6;
82
+ break;
83
+ case 5:
84
+ _context.p = 5;
85
+ _t = _context.v;
86
+ setError((_t === null || _t === void 0 ? void 0 : _t.message) || 'Something went wrong');
87
+ case 6:
88
+ _context.p = 6;
89
+ setLoading(false);
90
+ return _context.f(6);
91
+ case 7:
92
+ return _context.a(2);
93
+ }
94
+ }, _callee, null, [[2, 5, 6, 7]]);
95
+ }));
96
+ return function handleSave() {
97
+ return _ref2.apply(this, arguments);
98
+ };
99
+ }();
100
+ return /*#__PURE__*/_react["default"].createElement("div", {
101
+ style: styles.wrapper
102
+ }, /*#__PURE__*/_react["default"].createElement("h2", {
103
+ style: styles.title
104
+ }, "What should we call you?"), /*#__PURE__*/_react["default"].createElement("p", {
105
+ style: styles.subtitle
106
+ }, "Add your name so others can recognize you."), /*#__PURE__*/_react["default"].createElement("label", {
107
+ style: styles.label
108
+ }, "Full name"), /*#__PURE__*/_react["default"].createElement("input", {
109
+ type: "text",
110
+ value: name,
111
+ onChange: function onChange(e) {
112
+ return setName(e.target.value);
113
+ },
114
+ placeholder: "Your full name",
115
+ style: styles.input,
116
+ autoFocus: true
117
+ }), error && /*#__PURE__*/_react["default"].createElement("div", {
118
+ style: styles.error
119
+ }, error), /*#__PURE__*/_react["default"].createElement("button", {
120
+ type: "button",
121
+ onClick: handleSave,
122
+ disabled: loading,
123
+ style: styles.button
124
+ }, loading ? 'Saving...' : 'Continue'), onSkip && /*#__PURE__*/_react["default"].createElement("button", {
125
+ type: "button",
126
+ onClick: onSkip,
127
+ style: styles.skipButton
128
+ }, "Skip for now"));
129
+ };
130
+ var profileNameStep = exports.profileNameStep = {
131
+ id: 'profile',
132
+ layer: 'powr',
133
+ order: 10,
134
+ shouldRun: function shouldRun(_ref3) {
135
+ var _user$fullName;
136
+ var user = _ref3.user;
137
+ return !(user !== null && user !== void 0 && (_user$fullName = user.fullName) !== null && _user$fullName !== void 0 && _user$fullName.trim());
138
+ },
139
+ Component: ProfileNameStepView
140
+ };
141
+ var styles = {
142
+ wrapper: {
143
+ width: '100%'
144
+ },
145
+ title: {
146
+ margin: '0 0 8px',
147
+ fontSize: 24,
148
+ fontWeight: 700,
149
+ color: '#111827'
150
+ },
151
+ subtitle: {
152
+ margin: '0 0 20px',
153
+ fontSize: 14,
154
+ color: '#6b7280'
155
+ },
156
+ label: {
157
+ display: 'block',
158
+ fontSize: 13,
159
+ fontWeight: 600,
160
+ marginBottom: 6
161
+ },
162
+ input: {
163
+ width: '100%',
164
+ padding: '12px 14px',
165
+ borderRadius: 8,
166
+ border: '1px solid #e5e7eb',
167
+ fontSize: 15,
168
+ marginBottom: 16,
169
+ boxSizing: 'border-box'
170
+ },
171
+ button: {
172
+ width: '100%',
173
+ padding: 12,
174
+ background: '#ff6b35',
175
+ color: 'white',
176
+ border: 'none',
177
+ borderRadius: 8,
178
+ cursor: 'pointer',
179
+ fontWeight: 700,
180
+ fontSize: 15
181
+ },
182
+ skipButton: {
183
+ width: '100%',
184
+ marginTop: 12,
185
+ padding: 10,
186
+ background: 'transparent',
187
+ border: 'none',
188
+ color: '#6b7280',
189
+ cursor: 'pointer',
190
+ fontSize: 14
191
+ },
192
+ error: {
193
+ marginBottom: 12,
194
+ color: '#dc2626',
195
+ background: '#fff1f2',
196
+ padding: 10,
197
+ borderRadius: 8,
198
+ fontSize: 14
199
+ }
200
+ };