PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.2
Elementor Website Builder – more than just a page builder v4.3.2
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/onboarding/onboarding.js +3178 -5425 4.2.3 → 4.3.2 View file →
@@ -1,5503 +1,3256 @@
1 -/******/ (function() { // webpackBootstrap
2 -/******/ "use strict";
3 -/******/ var __webpack_modules__ = ({
1 +(function(react, _elementor_query, _elementor_store, _elementor_ui, _elementor_events, _elementor_utils, _elementor_icons) {
4 2
5 -/***/ "./packages/apps/onboarding/src/analytics/core-feature-ids.ts":
6 -/*!********************************************************************!*\
7 - !*** ./packages/apps/onboarding/src/analytics/core-feature-ids.ts ***!
8 - \********************************************************************/
9 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3 +//#region \0rolldown/runtime.js
4 + var __create = Object.create;
5 + var __defProp = Object.defineProperty;
6 + var __name = (target, value) => __defProp(target, "name", {
7 + value,
8 + configurable: true
9 + });
10 + var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 + var __getOwnPropNames = Object.getOwnPropertyNames;
12 + var __getProtoOf = Object.getPrototypeOf;
13 + var __hasOwnProp = Object.prototype.hasOwnProperty;
14 + var __exportAll = (all, no_symbols) => {
15 + let target = {};
16 + for (var name in all) {
17 + __defProp(target, name, {
18 + get: all[name],
19 + enumerable: true
20 + });
21 + }
22 + if (!no_symbols) {
23 + __defProp(target, Symbol.toStringTag, { value: "Module" });
24 + }
25 + return target;
26 + };
27 + var __copyProps = (to, from, except, desc) => {
28 + if (from && typeof from === "object" || typeof from === "function") {
29 + for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
30 + key = keys[i];
31 + if (!__hasOwnProp.call(to, key) && key !== except) {
32 + __defProp(to, key, {
33 + get: ((k) => from[k]).bind(null, key),
34 + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
35 + });
36 + }
37 + }
38 + }
39 + return to;
40 + };
41 + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
42 + value: mod,
43 + enumerable: true
44 + }) : target, mod));
10 45
11 -__webpack_require__.r(__webpack_exports__);
12 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 -/* harmony export */ CORE_FEATURE_IDS: function() { return /* reexport safe */ _steps_components_site_features_feature_options__WEBPACK_IMPORTED_MODULE_0__.CORE_FEATURE_IDS; }
14 -/* harmony export */ });
15 -/* harmony import */ var _steps_components_site_features_feature_options__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../steps/components/site-features/feature-options */ "./packages/apps/onboarding/src/steps/components/site-features/feature-options.ts");
46 +//#endregion
47 +react = __toESM(react);
16 48
49 +//#region packages/apps/onboarding/src/store/selectors.ts
50 + var selectSteps = (state) => state.onboarding.steps;
51 + var selectCurrentStepId = (state) => state.onboarding.currentStepId;
52 + var selectCurrentStepIndex = (state) => state.onboarding.currentStepIndex;
53 + var selectCompletedSteps = (state) => state.onboarding.completedSteps;
54 + var selectChoices = (state) => state.onboarding.choices;
55 + var selectIsLoading = (state) => state.onboarding.isLoading;
56 + var selectError = (state) => state.onboarding.error;
57 + var selectHadUnexpectedExit = (state) => state.onboarding.hadUnexpectedExit;
58 + var selectResumeStepIdForTracking = (state) => state.onboarding.resumeStepIdForTracking;
59 + var selectIsConnected = (state) => state.onboarding.isConnected;
60 + var selectIsGuest = (state) => state.onboarding.isGuest;
61 + var selectUserName = (state) => state.onboarding.userName;
62 + var selectUrls = (state) => state.onboarding.urls;
63 + var selectShouldShowProInstallScreen = (state) => state.onboarding.shouldShowProInstallScreen;
64 + var selectHasProInstallScreenDismissed = (state) => state.onboarding.hasProInstallScreenDismissed;
65 + var selectCurrentStep = (0, _elementor_store.__createSelector)([selectSteps, selectCurrentStepIndex], (steps, index) => steps[index] ?? null);
66 + var selectIsFirstStep = (0, _elementor_store.__createSelector)([selectCurrentStepIndex], (index) => index === 0);
67 + var selectIsLastStep = (0, _elementor_store.__createSelector)([selectSteps, selectCurrentStepIndex], (steps, index) => index === steps.length - 1);
68 + var selectTotalSteps = (0, _elementor_store.__createSelector)([selectSteps], (steps) => steps.length);
69 + var selectIsStepCompleted = (0, _elementor_store.__createSelector)([selectCompletedSteps, (_state, stepId) => stepId], (completedSteps, stepId) => completedSteps.includes(stepId));
70 + var selectHasPassedLogin = (0, _elementor_store.__createSelector)([selectIsConnected, selectIsGuest], (isConnected, isGuest) => isConnected || isGuest);
71 + var selectShouldShowProInstall = (0, _elementor_store.__createSelector)([
72 + selectIsConnected,
73 + selectShouldShowProInstallScreen,
74 + selectHasProInstallScreenDismissed
75 + ], (isConnected, shouldShowProInstallScreen, isDismissed) => isConnected && shouldShowProInstallScreen && !isDismissed);
17 76
18 -/***/ }),
77 +//#endregion
78 +//#region packages/apps/onboarding/src/analytics/init-tracking.ts
79 + function updateLibraryConnectConfig(data) {
80 + const config = window.elementorCommon?.config;
81 + if (!config?.library_connect) return;
82 + const libraryConnectConfig = config.library_connect;
83 + libraryConnectConfig.is_connected = true;
84 + libraryConnectConfig.current_access_level = data.kits_access_level ?? data.access_level ?? 0;
85 + libraryConnectConfig.current_access_tier = data.access_tier;
86 + libraryConnectConfig.plan_type = data.plan_type;
87 + libraryConnectConfig.user_id = data.user_id ? String(data.user_id) : null;
88 + }
19 89
20 -/***/ "./packages/apps/onboarding/src/analytics/event-queue.ts":
21 -/*!***************************************************************!*\
22 - !*** ./packages/apps/onboarding/src/analytics/event-queue.ts ***!
23 - \***************************************************************/
24 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
90 +//#endregion
91 +//#region packages/apps/onboarding/src/icons/login/apple-icon.tsx
92 + function AppleIcon() {
93 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
94 + viewBox: "0 0 24 24",
95 + "aria-label": "Apple"
96 + }, /* @__PURE__ */ react.createElement("path", {
97 + d: "M18.8456 19.5C18.0156 20.74 17.1356 21.95 15.7956 21.97C14.4556 22 14.0256 21.18 12.5056 21.18C10.9756 21.18 10.5056 21.95 9.23559 22C7.92559 22.05 6.93559 20.68 6.09559 19.47C4.38559 17 3.07559 12.45 4.83559 9.39C5.70559 7.87 7.26559 6.91 8.95559 6.88C10.2356 6.86 11.4556 7.75 12.2456 7.75C13.0256 7.75 14.5056 6.68 16.0556 6.84C16.7056 6.87 18.5256 7.1 19.6956 8.82C19.6056 8.88 17.5256 10.1 17.5456 12.63C17.5756 15.65 20.1956 16.66 20.2256 16.67C20.1956 16.74 19.8056 18.11 18.8456 19.5ZM13.1356 3.5C13.8656 2.67 15.0756 2.04 16.0756 2C16.2056 3.17 15.7356 4.35 15.0356 5.19C14.3456 6.04 13.2056 6.7 12.0856 6.61C11.9356 5.46 12.4956 4.26 13.1356 3.5Z",
98 + fill: "currentColor"
99 + }));
100 + }
25 101
26 -__webpack_require__.r(__webpack_exports__);
27 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
28 -/* harmony export */ clearEventQueue: function() { return /* binding */ clearEventQueue; },
29 -/* harmony export */ enqueueEvent: function() { return /* binding */ enqueueEvent; },
30 -/* harmony export */ getEventQueue: function() { return /* binding */ getEventQueue; }
31 -/* harmony export */ });
32 -const STORAGE_KEY = 'elementor_ob_event_queue';
33 -function enqueueEvent(name, payload) {
34 - try {
35 - const queue = getEventQueue();
36 - queue.push({
37 - name,
38 - payload,
39 - timestamp: Date.now()
40 - });
41 - sessionStorage.setItem(STORAGE_KEY, JSON.stringify(queue));
42 - } catch {}
43 -}
44 -function getEventQueue() {
45 - try {
46 - const raw = sessionStorage.getItem(STORAGE_KEY);
47 - return raw ? JSON.parse(raw) : [];
48 - } catch {
49 - return [];
50 - }
51 -}
52 -function clearEventQueue() {
53 - try {
54 - sessionStorage.removeItem(STORAGE_KEY);
55 - } catch {}
56 -}
102 +//#endregion
103 +//#region packages/apps/onboarding/src/icons/login/facebook-icon.tsx
104 + function FacebookIcon() {
105 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
106 + viewBox: "0 0 24 24",
107 + "aria-label": "Facebook"
108 + }, /* @__PURE__ */ react.createElement("g", { clipPath: "url(#fb-clip)" }, /* @__PURE__ */ react.createElement("path", {
109 + d: "M21 12C21 7.02947 16.9705 3 12 3C7.02947 3 3 7.02947 3 12C3 16.4921 6.29119 20.2155 10.5938 20.8907V14.6016H8.30859V12H10.5938V10.0172C10.5938 7.76156 11.9374 6.51562 13.9932 6.51562C14.9779 6.51562 16.0078 6.69141 16.0078 6.69141V8.90625H14.873C13.7549 8.90625 13.4062 9.60002 13.4062 10.3118V12H15.9023L15.5033 14.6016H13.4062V20.8907C17.7088 20.2155 21 16.4922 21 12Z",
110 + fill: "#3975EA"
111 + }), /* @__PURE__ */ react.createElement("path", {
112 + d: "M15.5033 14.6016L15.9023 12H13.4062V10.3118C13.4062 9.59995 13.7549 8.90625 14.873 8.90625H16.0078V6.69141C16.0078 6.69141 14.9779 6.51562 13.9931 6.51562C11.9374 6.51562 10.5938 7.76156 10.5938 10.0172V12H8.30859V14.6016H10.5938V20.8907C11.059 20.9636 11.5291 21.0001 12 21C12.4709 21.0001 12.941 20.9636 13.4062 20.8907V14.6016H15.5033Z",
113 + fill: "white"
114 + })), /* @__PURE__ */ react.createElement("defs", null, /* @__PURE__ */ react.createElement("clipPath", { id: "fb-clip" }, /* @__PURE__ */ react.createElement("rect", {
115 + width: "18",
116 + height: "18",
117 + fill: "white",
118 + transform: "translate(3 3)"
119 + }))));
120 + }
57 121
58 -/***/ }),
122 +//#endregion
123 +//#region packages/apps/onboarding/src/icons/login/google-icon.tsx
124 + function GoogleIcon() {
125 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
126 + viewBox: "0 0 24 24",
127 + "aria-label": "Google"
128 + }, /* @__PURE__ */ react.createElement("path", {
129 + d: "M9.32142 4.43335C7.72278 4.98794 6.3441 6.04056 5.38791 7.4366C4.43172 8.83265 3.94841 10.4985 4.00898 12.1896C4.06954 13.8806 4.67078 15.5076 5.72439 16.8317C6.77801 18.1558 8.22845 19.1071 9.86267 19.5459C11.1876 19.8877 12.5757 19.9027 13.9077 19.5896C15.1143 19.3186 16.2299 18.7388 17.1452 17.9071C18.0978 17.015 18.7892 15.8802 19.1452 14.6246C19.5321 13.2592 19.6009 11.8233 19.3464 10.4271H11.9064V13.5134H16.2152C16.1291 14.0056 15.9445 14.4754 15.6726 14.8946C15.4007 15.3139 15.047 15.674 14.6327 15.9534C14.1065 16.3014 13.5134 16.5356 12.8914 16.6409C12.2676 16.7568 11.6277 16.7568 11.0039 16.6409C10.3717 16.5101 9.77355 16.2492 9.24767 15.8746C8.40286 15.2766 7.76852 14.427 7.43517 13.4471C7.09619 12.4488 7.09619 11.3666 7.43517 10.3684C7.67246 9.66862 8.06472 9.03152 8.58267 8.5046C9.17541 7.89054 9.92584 7.4516 10.7516 7.23595C11.5774 7.0203 12.4466 7.03627 13.2639 7.2821C13.9024 7.47809 14.4862 7.82052 14.9689 8.2821C15.4548 7.79877 15.9398 7.31419 16.4239 6.82835C16.6739 6.5671 16.9464 6.31835 17.1927 6.05085C16.4559 5.3652 15.591 4.83167 14.6477 4.48085C12.9298 3.85709 11.0501 3.84033 9.32142 4.43335Z",
130 + fill: "#515962"
131 + }), /* @__PURE__ */ react.createElement("path", {
132 + d: "M9.32128 4.43347C11.0499 3.84004 12.9295 3.85636 14.6475 4.47972C15.591 4.83293 16.4555 5.36902 17.1913 6.05722C16.9413 6.32472 16.6775 6.57472 16.4225 6.83472C15.9375 7.31889 15.4529 7.80139 14.9688 8.28222C14.4861 7.82064 13.9022 7.47821 13.2638 7.28222C12.4467 7.03552 11.5776 7.01863 10.7516 7.2334C9.92555 7.44817 9.17467 7.8863 8.58128 8.49972C8.06332 9.02664 7.67106 9.66374 7.43378 10.3635L4.84253 8.35722C5.77004 6.51792 7.37597 5.111 9.32128 4.43347Z",
133 + fill: "#E33629"
134 + }), /* @__PURE__ */ react.createElement("path", {
135 + d: "M4.155 10.3449C4.29427 9.65466 4.5255 8.9862 4.8425 8.35742L7.43375 10.3687C7.09476 11.3669 7.09476 12.4492 7.43375 13.4474C6.57041 14.1141 5.70666 14.7841 4.8425 15.4574C4.04893 13.8778 3.80691 12.078 4.155 10.3449Z",
136 + fill: "#F8BD00"
137 + }), /* @__PURE__ */ react.createElement("path", {
138 + d: "M11.9063 10.4258H19.3463C19.6008 11.8219 19.532 13.2579 19.1451 14.6233C18.7891 15.8789 18.0977 17.0137 17.1451 17.9058C16.3088 17.2533 15.4688 16.6058 14.6326 15.9533C15.0472 15.6736 15.401 15.3131 15.673 14.8934C15.9449 14.4737 16.1293 14.0035 16.2151 13.5108H11.9063C11.9051 12.4833 11.9063 11.4545 11.9063 10.4258Z",
139 + fill: "#587DBD"
140 + }), /* @__PURE__ */ react.createElement("path", {
141 + d: "M4.84131 15.4573C5.70548 14.7906 6.56923 14.1206 7.43256 13.4473C7.76657 14.4275 8.40181 15.2771 9.24756 15.8748C9.77507 16.2476 10.3745 16.5064 11.0076 16.6348C11.6314 16.7508 12.2712 16.7508 12.8951 16.6348C13.5171 16.5295 14.1102 16.2953 14.6363 15.9473C15.4726 16.5998 16.3126 17.2473 17.1488 17.8998C16.2337 18.7319 15.1181 19.3121 13.9113 19.5835C12.5793 19.8966 11.1912 19.8816 9.86631 19.5398C8.81844 19.26 7.83965 18.7668 6.99131 18.091C6.09339 17.3781 5.36 16.4797 4.84131 15.4573Z",
142 + fill: "#319F43"
143 + }));
144 + }
59 145
60 -/***/ "./packages/apps/onboarding/src/analytics/events.ts":
61 -/*!**********************************************************!*\
62 - !*** ./packages/apps/onboarding/src/analytics/events.ts ***!
63 - \**********************************************************/
64 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
146 +//#endregion
147 +//#region packages/apps/onboarding/src/icons/site-features/accessibility-tools-icon.tsx
148 + var AccessibilityToolsIcon = react.forwardRef((props, ref) => {
149 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
150 + viewBox: "0 0 32 32",
151 + ...props,
152 + ref,
153 + width: "32",
154 + height: "32"
155 + }, /* @__PURE__ */ react.createElement("circle", {
156 + cx: "16.4814",
157 + cy: "5.64844",
158 + r: "2.25",
159 + fill: "none",
160 + stroke: "currentColor",
161 + strokeWidth: "1.5"
162 + }), /* @__PURE__ */ react.createElement("path", {
163 + d: "M6.3341 10.6687L10.8605 11.3515C14.2811 11.8671 17.7598 11.8666 21.18 11.3492L25.6649 10.6698C26.6404 10.5223 27.5187 11.2782 27.5187 12.2649V12.9296C27.5186 13.7277 26.9344 14.4061 26.1452 14.5247L21.7875 15.1786C21.1891 15.2684 20.5856 15.3434 19.986 15.4357C19.5122 15.5086 19.1722 15.9214 19.1722 16.4007V17.9094C19.1722 18.3051 19.2445 18.7152 19.5101 19.0086L24.5906 24.6215C25.1883 25.2818 25.1373 26.3017 24.477 26.8993L23.7211 27.5832C23.0608 28.1807 22.042 28.1298 21.4444 27.4696L16.8529 22.3973C16.3956 21.8921 15.6022 21.8921 15.145 22.3973L10.5535 27.4696C9.95579 28.1299 8.93591 28.1809 8.27561 27.5832L7.5197 26.8993C6.85956 26.3018 6.80874 25.2818 7.40609 24.6215L12.497 18.9966C12.7597 18.7064 12.8324 18.3009 12.8324 17.9094V16.4085C12.8324 15.9237 12.4847 15.5082 12.0054 15.4354C11.4147 15.3457 10.8218 15.2669 10.2316 15.1786L5.8549 14.5236C5.06549 14.4052 4.48145 13.7268 4.48145 12.9285V12.2637C4.4815 11.2775 5.35894 10.5219 6.3341 10.6687Z",
164 + fill: "none",
165 + stroke: "currentColor",
166 + strokeWidth: "1.5"
167 + }));
168 + });
65 169
66 -__webpack_require__.r(__webpack_exports__);
67 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
68 -/* harmony export */ EXPERIENCE_VALUE_MAP: function() { return /* binding */ EXPERIENCE_VALUE_MAP; },
69 -/* harmony export */ OnboardingEventName: function() { return /* binding */ OnboardingEventName; },
70 -/* harmony export */ PERSONA_VALUE_MAP: function() { return /* binding */ PERSONA_VALUE_MAP; },
71 -/* harmony export */ STEP_NUMBERS: function() { return /* binding */ STEP_NUMBERS; },
72 -/* harmony export */ STEP_SPEC_NAMES: function() { return /* binding */ STEP_SPEC_NAMES; },
73 -/* harmony export */ TARGET_NAME_PERSONA: function() { return /* binding */ TARGET_NAME_PERSONA; },
74 -/* harmony export */ THEME_VALUE_MAP: function() { return /* binding */ THEME_VALUE_MAP; }
75 -/* harmony export */ });
76 -const OnboardingEventName = {
77 - INITIALIZED: 'ob_onboarding_initialized',
78 - LOGIN_TYPE: 'ob_login_type',
79 - CONNECT: 'ob_connect',
80 - PRO_INSTALL: 'ob_pro_install',
81 - STEP_VIEWED: 'ob_step_viewed',
82 - PERSONA_SELECTED: 'ob_persona_selected',
83 - SITE_TOPIC_SELECTED: 'ob_site_topic_selected',
84 - EXPERIENCE_SELECTED: 'ob_experience_selected',
85 - THEME_SELECTED: 'ob_theme_selected',
86 - THEME_UNSELECTED: 'ob_theme_unselected',
87 - PRO_FEATURES_SELECTED: 'ob_pro_features_selected',
88 - BACK_CLICKED: 'ob_back_clicked',
89 - SKIP_CLICKED: 'ob_skip_clicked',
90 - UPGRADE_CLICKED: 'ob_upgrade_clicked',
91 - RESUME_ONBOARDING: 'ob_resume_onboarding',
92 - SITE_STARTER_SELECTED: 'ob_site_starter_selected',
93 - SUMMARY: 'ob_summary',
94 - ERROR_REPORTED: 'ob_error_reported'
95 -};
96 -const STEP_NUMBERS = {
97 - login: '0',
98 - pro_install: '0',
99 - theme_selection: '1',
100 - site_features: '1'
101 -};
102 -const TARGET_NAME_PERSONA = 'who_are_you_building_for';
103 -const PERSONA_VALUE_MAP = {
104 - myself: 'myself_or_someone_i_know',
105 - business: 'my_business_or_workplace',
106 - client: 'a_client',
107 - exploring: 'just_exploring'
108 -};
109 -const EXPERIENCE_VALUE_MAP = {
110 - beginner: 'beginner',
111 - intermediate: 'intermediate',
112 - advanced: 'expert'
113 -};
114 -const THEME_VALUE_MAP = {
115 - 'hello-elementor': 'hello'
116 -};
117 -const STEP_SPEC_NAMES = {
118 - login: 'login',
119 - pro_install: 'pro_install',
120 - building_for: 'who_are_you_building_for',
121 - site_about: 'what_is_your_site_about',
122 - experience_level: 'how_experienced_are_you',
123 - theme_selection: 'theme_install',
124 - site_features: 'pro_features'
125 -};
170 +//#endregion
171 +//#region packages/apps/onboarding/src/icons/site-features/ai-generator-icon.tsx
172 + var AIGeneratorIcon = react.forwardRef((props, ref) => {
173 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
174 + viewBox: "0 0 32 32",
175 + ...props,
176 + ref,
177 + width: "32",
178 + height: "32"
179 + }, /* @__PURE__ */ react.createElement("path", {
180 + d: "M23.2273 4.83321C23.4152 4.47883 23.9229 4.47883 24.1108 4.83321L24.4249 5.42564C24.8747 6.27415 25.5688 6.9682 26.4173 7.41807L27.0097 7.73216C27.3641 7.92005 27.3641 8.42778 27.0097 8.61567L26.4173 8.92976C25.5688 9.37962 24.8747 10.0737 24.4249 10.9222L24.1108 11.5146C23.9229 11.869 23.4152 11.869 23.2273 11.5146L22.9132 10.9222C22.4633 10.0737 21.7693 9.37962 20.9208 8.92976L20.3283 8.61567C19.9739 8.42778 19.9739 7.92005 20.3283 7.73216L20.9208 7.41807C21.7693 6.9682 22.4633 6.27415 22.9132 5.42564L23.2273 4.83321Z",
181 + fill: "none",
182 + stroke: "currentColor",
183 + strokeWidth: "1.25"
184 + }), /* @__PURE__ */ react.createElement("path", {
185 + d: "M13.7075 8.79729C14.0833 8.08851 15.0988 8.08851 15.4745 8.79729L17.3436 12.3226C17.9059 13.3832 18.7735 14.2508 19.8341 14.8131L23.3594 16.6821C24.0682 17.0579 24.0682 18.0734 23.3594 18.4491L19.8341 20.3182C18.7735 20.8805 17.9059 21.7481 17.3436 22.8087L15.4745 26.334C15.0988 27.0428 14.0833 27.0428 13.7075 26.334L11.8385 22.8087C11.2762 21.7481 10.4086 20.8805 9.34796 20.3182L5.82268 18.4492C5.1139 18.0734 5.1139 17.0579 5.82268 16.6821L9.34796 14.8131C10.4086 14.2508 11.2762 13.3832 11.8385 12.3226L13.7075 8.79729Z",
186 + fill: "none",
187 + stroke: "currentColor",
188 + strokeWidth: "1.5"
189 + }));
190 + });
126 191
127 -/** Snapshot of onboarding state for ob_summary. */
192 +//#endregion
193 +//#region packages/apps/onboarding/src/icons/site-features/classes-variables-icon.tsx
194 + var ClassesVariablesIcon = react.forwardRef((props, ref) => {
195 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
196 + viewBox: "0 0 32 32",
197 + ...props,
198 + ref,
199 + width: "32",
200 + height: "32"
201 + }, /* @__PURE__ */ react.createElement("path", {
202 + d: "M6.66797 4H12.0013C12.7085 4 13.3868 4.28095 13.8869 4.78105C14.387 5.28115 14.668 5.95942 14.668 6.66667V22.6667C14.668 24.0812 14.1061 25.4377 13.1059 26.4379C12.1057 27.4381 10.7491 28 9.33464 28C7.92015 28 6.56359 27.4381 5.5634 26.4379C4.56321 25.4377 4.0013 24.0812 4.0013 22.6667V6.66667C4.0013 5.95942 4.28225 5.28115 4.78235 4.78105C5.28245 4.28095 5.96072 4 6.66797 4Z",
203 + fill: "none",
204 + stroke: "currentColor",
205 + strokeWidth: "1.5",
206 + strokeLinecap: "round",
207 + strokeLinejoin: "round"
208 + }), /* @__PURE__ */ react.createElement("path", {
209 + d: "M14.6685 9.8029L17.3351 7.13623C17.8352 6.63631 18.5134 6.35547 19.2205 6.35547C19.9276 6.35547 20.6057 6.63631 21.1058 7.13623L24.8765 10.9069C25.3764 11.407 25.6572 12.0851 25.6572 12.7922C25.6572 13.4993 25.3764 14.1775 24.8765 14.6776L12.8765 26.6776",
210 + fill: "none",
211 + stroke: "currentColor",
212 + strokeWidth: "1.5",
213 + strokeLinecap: "round",
214 + strokeLinejoin: "round"
215 + }), /* @__PURE__ */ react.createElement("path", {
216 + d: "M22.2686 17.332H25.3353C26.0425 17.332 26.7208 17.613 27.2209 18.1131C27.721 18.6132 28.002 19.2915 28.002 19.9987V25.332C28.002 26.0393 27.721 26.7176 27.2209 27.2176C26.7208 27.7177 26.0425 27.9987 25.3353 27.9987H9.33529",
217 + fill: "none",
218 + stroke: "currentColor",
219 + strokeWidth: "1.5",
220 + strokeLinecap: "round",
221 + strokeLinejoin: "round"
222 + }), /* @__PURE__ */ react.createElement("path", {
223 + d: "M9.33496 22.668V22.6813",
224 + fill: "none",
225 + stroke: "currentColor",
226 + strokeWidth: "2",
227 + strokeLinecap: "round",
228 + strokeLinejoin: "round"
229 + }));
230 + });
128 231
129 -/** Enforces target_type/target_name pairing for ob_error_reported. */
232 +//#endregion
233 +//#region packages/apps/onboarding/src/icons/site-features/cookie-consent-icon.tsx
234 + var CookieConsentIcon = react.forwardRef((props, ref) => {
235 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
236 + viewBox: "0 0 32 32",
237 + ...props,
238 + ref,
239 + width: "32",
240 + height: "32"
241 + }, /* @__PURE__ */ react.createElement("circle", {
242 + cx: "14.56",
243 + cy: "12.317",
244 + r: "2.16",
245 + fill: "none",
246 + stroke: "currentColor",
247 + strokeWidth: "1.5"
248 + }), /* @__PURE__ */ react.createElement("circle", {
249 + cx: "11.801",
250 + cy: "19.158",
251 + r: "1.8",
252 + fill: "none",
253 + stroke: "currentColor",
254 + strokeWidth: "1.5"
255 + }), /* @__PURE__ */ react.createElement("circle", {
256 + cx: "19.96",
257 + cy: "19.96",
258 + r: "1.56",
259 + fill: "none",
260 + stroke: "currentColor",
261 + strokeWidth: "1.5"
262 + }), /* @__PURE__ */ react.createElement("path", {
263 + d: "M16 3.999C16.19 3.999 16.378 4.004 16.566 4.013C17.055 4.037 17.446 4.395 17.654 4.838C18.421 6.47 20.078 7.599 22 7.599C22.609 7.599 23.2 8.19 23.2 8.799C23.2 11.049 24.748 12.938 26.837 13.458C27.369 13.59 27.84 13.969 27.908 14.513C27.969 15 28 15.496 28 16C28 22.627 22.628 28 16 28C9.372 28 4 22.627 4 16C4.001 9.372 9.373 3.999 16 3.999Z",
264 + fill: "none",
265 + stroke: "currentColor",
266 + strokeWidth: "1.5"
267 + }));
268 + });
130 269
131 -/***/ }),
270 +//#endregion
271 +//#region packages/apps/onboarding/src/icons/site-features/core-placeholder-icon.tsx
272 + var CorePlaceholderIcon = react.forwardRef((props, ref) => {
273 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
274 + viewBox: "0 0 32 32",
275 + ...props,
276 + ref,
277 + width: "32",
278 + height: "32"
279 + }, /* @__PURE__ */ react.createElement("path", {
280 + d: "M15.333 15.9997C15.333 16.1765 15.4032 16.3461 15.5283 16.4711C15.6533 16.5961 15.8229 16.6663 15.9997 16.6663C16.1765 16.6663 16.3461 16.5961 16.4711 16.4711C16.5961 16.3461 16.6663 16.1765 16.6663 15.9997C16.6663 15.8229 16.5961 15.6533 16.4711 15.5283C16.3461 15.4032 16.1765 15.333 15.9997 15.333C15.8229 15.333 15.6533 15.4032 15.5283 15.5283C15.4032 15.6533 15.333 15.8229 15.333 15.9997Z",
281 + fill: "currentColor",
282 + stroke: "currentColor",
283 + strokeWidth: "2",
284 + strokeLinecap: "round",
285 + strokeLinejoin: "round"
286 + }), /* @__PURE__ */ react.createElement("path", {
287 + d: "M6.66699 16.0003C6.66699 17.226 6.90841 18.4397 7.37745 19.572C7.84649 20.7044 8.53398 21.7333 9.40066 22.6C10.2673 23.4667 11.2962 24.1542 12.4286 24.6232C13.561 25.0922 14.7747 25.3337 16.0003 25.3337C17.226 25.3337 18.4397 25.0922 19.572 24.6232C20.7044 24.1542 21.7333 23.4667 22.6 22.6C23.4667 21.7333 24.1542 20.7044 24.6232 19.572C25.0922 18.4397 25.3337 17.226 25.3337 16.0003C25.3337 14.7747 25.0922 13.561 24.6232 12.4286C24.1542 11.2962 23.4667 10.2673 22.6 9.40066C21.7333 8.53398 20.7044 7.84649 19.572 7.37745C18.4397 6.90841 17.226 6.66699 16.0003 6.66699C14.7747 6.66699 13.561 6.90841 12.4286 7.37745C11.2962 7.84649 10.2673 8.53398 9.40066 9.40066C8.53398 10.2673 7.84649 11.2962 7.37745 12.4286C6.90841 13.561 6.66699 14.7747 6.66699 16.0003Z",
288 + fill: "none",
289 + stroke: "currentColor",
290 + strokeWidth: "1.5",
291 + strokeLinecap: "round",
292 + strokeLinejoin: "round"
293 + }), /* @__PURE__ */ react.createElement("path", {
294 + d: "M16 4V6.66667",
295 + fill: "none",
296 + stroke: "currentColor",
297 + strokeWidth: "1.5",
298 + strokeLinecap: "round",
299 + strokeLinejoin: "round"
300 + }), /* @__PURE__ */ react.createElement("path", {
301 + d: "M4 16H6.66667",
302 + fill: "none",
303 + stroke: "currentColor",
304 + strokeWidth: "1.5",
305 + strokeLinecap: "round",
306 + strokeLinejoin: "round"
307 + }), /* @__PURE__ */ react.createElement("path", {
308 + d: "M16 25.333V27.9997",
309 + fill: "none",
310 + stroke: "currentColor",
311 + strokeWidth: "1.5",
312 + strokeLinecap: "round",
313 + strokeLinejoin: "round"
314 + }), /* @__PURE__ */ react.createElement("path", {
315 + d: "M25.333 16H27.9997",
316 + fill: "none",
317 + stroke: "currentColor",
318 + strokeWidth: "1.5",
319 + strokeLinecap: "round",
320 + strokeLinejoin: "round"
321 + }));
322 + });
132 323
133 -/***/ "./packages/apps/onboarding/src/analytics/index.ts":
134 -/*!*********************************************************!*\
135 - !*** ./packages/apps/onboarding/src/analytics/index.ts ***!
136 - \*********************************************************/
137 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
324 +//#endregion
325 +//#region packages/apps/onboarding/src/icons/site-features/custom-code-icon.tsx
326 + var CustomCodeIcon = react.forwardRef((props, ref) => {
327 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
328 + viewBox: "0 0 32 32",
329 + ...props,
330 + ref,
331 + width: "32",
332 + height: "32"
333 + }, /* @__PURE__ */ react.createElement("path", {
334 + d: "M9.33333 10.666L4 15.9993L9.33333 21.3327",
335 + fill: "none",
336 + stroke: "currentColor",
337 + strokeWidth: "1.5",
338 + strokeLinecap: "round",
339 + strokeLinejoin: "round"
340 + }), /* @__PURE__ */ react.createElement("path", {
341 + d: "M22.667 10.666L28.0003 15.9993L22.667 21.3327",
342 + fill: "none",
343 + stroke: "currentColor",
344 + strokeWidth: "1.5",
345 + strokeLinecap: "round",
346 + strokeLinejoin: "round"
347 + }), /* @__PURE__ */ react.createElement("path", {
348 + d: "M18.6663 5.33301L13.333 26.6663",
349 + fill: "none",
350 + stroke: "currentColor",
351 + strokeWidth: "1.5",
352 + strokeLinecap: "round",
353 + strokeLinejoin: "round"
354 + }));
355 + });
138 356
139 -__webpack_require__.r(__webpack_exports__);
140 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
141 -/* harmony export */ EXPERIENCE_VALUE_MAP: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.EXPERIENCE_VALUE_MAP; },
142 -/* harmony export */ OnboardingEventName: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.OnboardingEventName; },
143 -/* harmony export */ PERSONA_VALUE_MAP: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.PERSONA_VALUE_MAP; },
144 -/* harmony export */ STEP_NUMBERS: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.STEP_NUMBERS; },
145 -/* harmony export */ STEP_SPEC_NAMES: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.STEP_SPEC_NAMES; },
146 -/* harmony export */ TARGET_NAME_PERSONA: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.TARGET_NAME_PERSONA; },
147 -/* harmony export */ THEME_VALUE_MAP: function() { return /* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.THEME_VALUE_MAP; },
148 -/* harmony export */ canSendEvents: function() { return /* reexport safe */ _init_tracking__WEBPACK_IMPORTED_MODULE_2__.canSendEvents; },
149 -/* harmony export */ clearEventQueue: function() { return /* reexport safe */ _event_queue__WEBPACK_IMPORTED_MODULE_1__.clearEventQueue; },
150 -/* harmony export */ enqueueEvent: function() { return /* reexport safe */ _event_queue__WEBPACK_IMPORTED_MODULE_1__.enqueueEvent; },
151 -/* harmony export */ getEventQueue: function() { return /* reexport safe */ _event_queue__WEBPACK_IMPORTED_MODULE_1__.getEventQueue; },
152 -/* harmony export */ initializeAndEnableTracking: function() { return /* reexport safe */ _init_tracking__WEBPACK_IMPORTED_MODULE_2__.initializeAndEnableTracking; },
153 -/* harmony export */ setCanSendEvents: function() { return /* reexport safe */ _init_tracking__WEBPACK_IMPORTED_MODULE_2__.setCanSendEvents; },
154 -/* harmony export */ updateLibraryConnectConfig: function() { return /* reexport safe */ _init_tracking__WEBPACK_IMPORTED_MODULE_2__.updateLibraryConnectConfig; }
155 -/* harmony export */ });
156 -/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./packages/apps/onboarding/src/analytics/events.ts");
157 -/* harmony import */ var _event_queue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event-queue */ "./packages/apps/onboarding/src/analytics/event-queue.ts");
158 -/* harmony import */ var _init_tracking__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./init-tracking */ "./packages/apps/onboarding/src/analytics/init-tracking.ts");
357 +//#endregion
358 +//#region packages/apps/onboarding/src/icons/site-features/interactions-icon.tsx
359 + var InteractionsIcon = react.forwardRef((props, ref) => {
360 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
361 + viewBox: "0 0 32 32",
362 + ...props,
363 + ref,
364 + width: "32",
365 + height: "32"
366 + }, /* @__PURE__ */ react.createElement("path", {
367 + d: "M12.3001 24.5497C12.1024 24.7925 11.8534 24.9888 11.5711 25.1243C11.2887 25.2598 10.9799 25.3313 10.6667 25.3337C10.0427 25.3337 9.44807 25.0483 9.03341 24.5497L3.21874 17.5523C2.86185 17.1138 2.66699 16.5657 2.66699 16.0003C2.66699 15.4349 2.86185 14.8868 3.21874 14.4483L9.03341 7.45099C9.23113 7.2081 9.48006 7.01189 9.76241 6.87636C10.0448 6.74083 10.3536 6.66934 10.6667 6.66699C11.2907 6.66699 11.8854 6.95233 12.3001 7.45099L18.1147 14.4483C18.4716 14.8868 18.6665 15.4349 18.6665 16.0003C18.6665 16.5657 18.4716 17.1138 18.1147 17.5523L12.3001 24.5497Z",
368 + fill: "none",
369 + stroke: "currentColor",
370 + strokeWidth: "1.5",
371 + strokeLinecap: "round",
372 + strokeLinejoin: "round"
373 + }), /* @__PURE__ */ react.createElement("path", {
374 + d: "M22.667 6.66699L28.7817 14.4483C29.1386 14.8868 29.3334 15.4349 29.3334 16.0003C29.3334 16.5657 29.1386 17.1138 28.7817 17.5523L22.667 25.3337",
375 + fill: "none",
376 + stroke: "currentColor",
377 + strokeWidth: "1.5",
378 + strokeLinecap: "round",
379 + strokeLinejoin: "round"
380 + }), /* @__PURE__ */ react.createElement("path", {
381 + d: "M17.333 6.66699L23.4477 14.4483C23.8046 14.8868 23.9994 15.4349 23.9994 16.0003C23.9994 16.5657 23.8046 17.1138 23.4477 17.5523L17.333 25.3337",
382 + fill: "none",
383 + stroke: "currentColor",
384 + strokeWidth: "1.5",
385 + strokeLinecap: "round",
386 + strokeLinejoin: "round"
387 + }));
388 + });
159 389
390 +//#endregion
391 +//#region packages/apps/onboarding/src/icons/site-features/email-deliverability-icon.tsx
392 + var EmailDeliverabilityIcon = react.forwardRef((props, ref) => {
393 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
394 + viewBox: "0 0 32 32",
395 + ...props,
396 + ref,
397 + width: "32",
398 + height: "32"
399 + }, /* @__PURE__ */ react.createElement("path", {
400 + d: "M13.8998 26.8185H8.91711C6.32659 26.8185 4.22656 24.7185 4.22656 22.128V9.15636C4.22656 7.17638 5.82548 5.56771 7.80544 5.55962C13.2372 5.53744 18.6688 5.5374 24.1005 5.5596C26.0804 5.56769 27.6793 7.17636 27.6793 9.15632V16.6031",
401 + fill: "none",
402 + stroke: "currentColor",
403 + strokeWidth: "1.5",
404 + strokeLinecap: "round"
405 + }), /* @__PURE__ */ react.createElement("path", {
406 + d: "M5.35254 6.66406L13.4831 11.7007C14.9964 12.6381 16.91 12.6381 18.4233 11.7007L26.5538 6.66406",
407 + fill: "none",
408 + stroke: "currentColor",
409 + strokeWidth: "1.5",
410 + strokeLinecap: "round"
411 + }), /* @__PURE__ */ react.createElement("path", {
412 + d: "M28.2246 21.62L19.5512 16.2156C18.5501 15.5918 17.344 16.6355 17.8176 17.7158L19.6501 21.8962C19.7847 22.2033 19.7847 22.5527 19.6501 22.8598L17.7337 27.2315C17.268 28.2939 18.4308 29.3331 19.4344 28.7515L28.1917 23.6767C28.9747 23.223 28.9927 22.0987 28.2246 21.62Z",
413 + fill: "none",
414 + stroke: "currentColor",
415 + strokeWidth: "1.5"
416 + }), /* @__PURE__ */ react.createElement("path", {
417 + d: "M12.7002 22.6016L15.1002 22.6016",
418 + fill: "none",
419 + stroke: "currentColor",
420 + strokeWidth: "1.5",
421 + strokeLinecap: "round"
422 + }), /* @__PURE__ */ react.createElement("path", {
423 + d: "M10 18.3984L14.2 18.3984",
424 + fill: "none",
425 + stroke: "currentColor",
426 + strokeWidth: "1.5",
427 + strokeLinecap: "round"
428 + }));
429 + });
160 430
431 +//#endregion
432 +//#region packages/apps/onboarding/src/icons/site-features/explore-more-icon.tsx
433 + var ExploreMoreIcon = react.forwardRef((props, ref) => {
434 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
435 + viewBox: "0 0 24 24",
436 + ...props,
437 + ref,
438 + width: "24",
439 + height: "24"
440 + }, /* @__PURE__ */ react.createElement("path", {
441 + d: "M6.74805 3.75L12.748 9.75L6.74805 15.75",
442 + fill: "none",
443 + stroke: "currentColor",
444 + strokeWidth: "1.5",
445 + strokeLinecap: "round",
446 + strokeLinejoin: "round"
447 + }));
448 + });
161 449
450 +//#endregion
451 +//#region packages/apps/onboarding/src/icons/site-features/hello-theme-icon.tsx
452 + var HelloThemeIcon = react.forwardRef((props, ref) => {
453 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
454 + viewBox: "0 0 32 32",
455 + ...props,
456 + ref,
457 + width: "32",
458 + height: "32"
459 + }, /* @__PURE__ */ react.createElement("rect", {
460 + x: "4",
461 + y: "4",
462 + width: "24",
463 + height: "24",
464 + rx: "1.25",
465 + fill: "none",
466 + stroke: "currentColor",
467 + strokeWidth: "1.5"
468 + }), /* @__PURE__ */ react.createElement("path", {
469 + d: "M12 11.75V21.36M20 11.75V21.36M4 11.22H28M4 20.82H28",
470 + fill: "none",
471 + stroke: "currentColor",
472 + strokeWidth: "1.5"
473 + }));
474 + });
162 475
163 -/***/ }),
476 +//#endregion
477 +//#region packages/apps/onboarding/src/icons/site-features/image-optimization-icon.tsx
478 + var ImageOptimizationIcon = react.forwardRef((props, ref) => {
479 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
480 + viewBox: "0 0 32 32",
481 + ...props,
482 + ref,
483 + width: "32",
484 + height: "32"
485 + }, /* @__PURE__ */ react.createElement("rect", {
486 + x: "4.59961",
487 + y: "4.60156",
488 + width: "22.8",
489 + height: "22.8",
490 + rx: "4.56",
491 + fill: "none",
492 + stroke: "currentColor",
493 + strokeWidth: "1.5"
494 + }), /* @__PURE__ */ react.createElement("path", {
495 + d: "M5.74023 26.2611L11.8306 18.6481C12.2446 18.1306 12.9998 18.0467 13.5173 18.4607L17.3432 21.5215C17.8607 21.9355 18.6159 21.8516 19.0299 21.3341L27.4002 10.8711",
496 + fill: "none",
497 + stroke: "currentColor",
498 + strokeWidth: "1.5"
499 + }), /* @__PURE__ */ react.createElement("circle", {
500 + cx: "10.4802",
501 + cy: "10.4792",
502 + r: "2.28",
503 + fill: "none",
504 + stroke: "currentColor",
505 + strokeWidth: "1.5"
506 + }));
507 + });
164 508
165 -/***/ "./packages/apps/onboarding/src/analytics/init-tracking.ts":
166 -/*!*****************************************************************!*\
167 - !*** ./packages/apps/onboarding/src/analytics/init-tracking.ts ***!
168 - \*****************************************************************/
169 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
509 +//#endregion
510 +//#region packages/apps/onboarding/src/icons/site-features/theme-builder-icon.tsx
511 + var ThemeBuilderIcon = react.forwardRef((props, ref) => {
512 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
513 + viewBox: "0 0 32 32",
514 + ...props,
515 + ref,
516 + width: "32",
517 + height: "32"
518 + }, /* @__PURE__ */ react.createElement("path", {
519 + d: "M4.5 5.9375C4.5 5.55625 4.65145 5.19062 4.92103 4.92103C5.19062 4.65145 5.55625 4.5 5.9375 4.5H26.0625C26.4437 4.5 26.8094 4.65145 27.079 4.92103C27.3486 5.19062 27.5 5.55625 27.5 5.9375V8.8125C27.5 9.19375 27.3486 9.55938 27.079 9.82897C26.8094 10.0985 26.4437 10.25 26.0625 10.25H5.9375C5.55625 10.25 5.19062 10.0985 4.92103 9.82897C4.65145 9.55938 4.5 9.19375 4.5 8.8125V5.9375Z",
520 + fill: "none",
521 + stroke: "currentColor",
522 + strokeWidth: "1.5",
523 + strokeLinecap: "round",
524 + strokeLinejoin: "round"
525 + }), /* @__PURE__ */ react.createElement("path", {
526 + d: "M4.5 17.4375C4.5 17.0563 4.65145 16.6906 4.92103 16.421C5.19062 16.1515 5.55625 16 5.9375 16H11.6875C12.0687 16 12.4344 16.1515 12.704 16.421C12.9735 16.6906 13.125 17.0563 13.125 17.4375V26.0625C13.125 26.4437 12.9735 26.8094 12.704 27.079C12.4344 27.3486 12.0687 27.5 11.6875 27.5H5.9375C5.55625 27.5 5.19062 27.3486 4.92103 27.079C4.65145 26.8094 4.5 26.4437 4.5 26.0625V17.4375Z",
527 + fill: "none",
528 + stroke: "currentColor",
529 + strokeWidth: "1.5",
530 + strokeLinecap: "round",
531 + strokeLinejoin: "round"
532 + }), /* @__PURE__ */ react.createElement("path", {
533 + d: "M18.875 16H27.5",
534 + fill: "none",
535 + stroke: "currentColor",
536 + strokeWidth: "1.5",
537 + strokeLinecap: "round",
538 + strokeLinejoin: "round"
539 + }), /* @__PURE__ */ react.createElement("path", {
540 + d: "M18.875 21.75H27.5",
541 + fill: "none",
542 + stroke: "currentColor",
543 + strokeWidth: "1.5",
544 + strokeLinecap: "round",
545 + strokeLinejoin: "round"
546 + }), /* @__PURE__ */ react.createElement("path", {
547 + d: "M18.875 27.5H27.5",
548 + fill: "none",
549 + stroke: "currentColor",
550 + strokeWidth: "1.5",
551 + strokeLinecap: "round",
552 + strokeLinejoin: "round"
553 + }));
554 + });
170 555
171 -__webpack_require__.r(__webpack_exports__);
172 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
173 -/* harmony export */ canSendEvents: function() { return /* reexport safe */ _elementor_events__WEBPACK_IMPORTED_MODULE_0__.canSendEvents; },
174 -/* harmony export */ initializeAndEnableTracking: function() { return /* reexport safe */ _elementor_events__WEBPACK_IMPORTED_MODULE_0__.initializeAndEnableTracking; },
175 -/* harmony export */ setCanSendEvents: function() { return /* reexport safe */ _elementor_events__WEBPACK_IMPORTED_MODULE_0__.setCanSendEvents; },
176 -/* harmony export */ updateLibraryConnectConfig: function() { return /* binding */ updateLibraryConnectConfig; }
177 -/* harmony export */ });
178 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/events */ "@elementor/events");
179 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_events__WEBPACK_IMPORTED_MODULE_0__);
556 +//#endregion
557 +//#region packages/apps/onboarding/src/icons/site-features/woocommerce-icon.tsx
558 + var WoocommerceIcon = react.forwardRef((props, ref) => {
559 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
560 + viewBox: "0 0 32 32",
561 + ...props,
562 + ref,
563 + width: "32",
564 + height: "32"
565 + }, /* @__PURE__ */ react.createElement("path", {
566 + d: "M17.9998 28V18C17.9998 17.7348 18.1052 17.4804 18.2927 17.2929C18.4803 17.1054 18.7346 17 18.9998 17H22.9998C23.265 17 23.5194 17.1054 23.7069 17.2929C23.8945 17.4804 23.9998 17.7348 23.9998 18V28M17.9998 28H3.14649M17.9998 28H23.9998M23.9998 28H28.8532M26.9998 28V12.4653M26.9998 12.4653C26.1999 12.9268 25.2651 13.0974 24.3537 12.9482C23.4424 12.799 22.6108 12.3391 21.9998 11.6467C21.2665 12.476 20.1945 13 18.9998 13C18.4322 13.0005 17.871 12.88 17.3536 12.6464C16.8363 12.4128 16.3748 12.0715 15.9998 11.6453C15.2665 12.476 14.1945 13 12.9998 13C12.4322 13.0005 11.871 12.88 11.3536 12.6464C10.8363 12.4128 10.3748 12.0715 9.99982 11.6453C9.38905 12.338 8.55748 12.7981 7.64615 12.9476C6.73482 13.097 5.79985 12.9266 4.99982 12.4653M26.9998 12.4653C27.5313 12.1585 27.985 11.7336 28.326 11.2234C28.6669 10.7131 28.8858 10.1313 28.9659 9.52287C29.0459 8.91446 28.9849 8.29579 28.7876 7.71473C28.5902 7.13368 28.2618 6.60582 27.8278 6.172L26.2412 4.58667C25.8664 4.21149 25.3581 4.00047 24.8278 4H7.17049C6.64043 4.00011 6.13209 4.21064 5.75716 4.58533L4.17182 6.172C3.73881 6.60632 3.41131 7.13427 3.21458 7.71516C3.01786 8.29605 2.95715 8.91436 3.03715 9.52242C3.11715 10.1305 3.33572 10.712 3.67601 11.2223C4.01629 11.7325 4.4692 12.1578 4.99982 12.4653M4.99982 28V12.4653M8.99982 24H13.9998C14.265 24 14.5194 23.8946 14.7069 23.7071C14.8945 23.5196 14.9998 23.2652 14.9998 23V18C14.9998 17.7348 14.8945 17.4804 14.7069 17.2929C14.5194 17.1054 14.265 17 13.9998 17H8.99982C8.73461 17 8.48025 17.1054 8.29272 17.2929C8.10518 17.4804 7.99982 17.7348 7.99982 18V23C7.99982 23.552 8.44782 24 8.99982 24Z",
567 + fill: "none",
568 + stroke: "currentColor",
569 + strokeWidth: "1.5",
570 + strokeLinecap: "round",
571 + strokeLinejoin: "round"
572 + }));
573 + });
180 574
181 -function updateLibraryConnectConfig(data) {
182 - const extendedWindow = window;
183 - const config = extendedWindow.elementorCommon?.config;
184 - if (!config?.library_connect) {
185 - return;
186 - }
187 - const libraryConnectConfig = config.library_connect;
188 - libraryConnectConfig.is_connected = true;
189 - libraryConnectConfig.current_access_level = data.kits_access_level ?? data.access_level ?? 0;
190 - libraryConnectConfig.current_access_tier = data.access_tier;
191 - libraryConnectConfig.plan_type = data.plan_type;
192 - libraryConnectConfig.user_id = data.user_id ? String(data.user_id) : null;
193 -}
575 +//#endregion
576 +//#region packages/apps/onboarding/src/icons/theme-selection/elementor-logo-icon.tsx
577 + var ElementorLogoIcon = react.forwardRef((props, ref) => {
578 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
579 + viewBox: "0 0 44 44",
580 + ...props,
581 + ref
582 + }, /* @__PURE__ */ react.createElement("circle", {
583 + cx: "22",
584 + cy: "22",
585 + r: "22",
586 + fill: "#ffffff"
587 + }), /* @__PURE__ */ react.createElement("path", {
588 + d: "M22 0C9.85 0 0 9.85 0 22s9.85 22 22 22 22-9.85 22-22S34.15 0 22 0ZM15.4 33H11V11h4.4v22Zm17.6 0H19.8v-4.4H33V33Zm0-8.8H19.8v-4.4H33v4.4Zm0-8.8H19.8V11H33v4.4Z",
589 + fill: "#515962",
590 + fillOpacity: "0.38"
591 + }));
592 + });
194 593
594 +//#endregion
595 +//#region packages/apps/onboarding/src/icons/theme-selection/hello-layout-icon.tsx
596 + var HelloLayoutIcon = react.forwardRef((props, ref) => {
597 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
598 + viewBox: "0 0 48 48",
599 + ...props,
600 + ref
601 + }, /* @__PURE__ */ react.createElement("rect", {
602 + x: "1.66",
603 + y: "1.66",
604 + width: "44.68",
605 + height: "44.68",
606 + rx: "3.88",
607 + ry: "3.88",
608 + fill: "none",
609 + stroke: "currentColor",
610 + strokeWidth: "3.33"
611 + }), /* @__PURE__ */ react.createElement("path", {
612 + d: "M3.33 17.11H44.67M3.33 30.89H44.67",
613 + fill: "none",
614 + stroke: "currentColor",
615 + strokeWidth: "3.33"
616 + }), /* @__PURE__ */ react.createElement("path", {
617 + d: "M17.11 17.11V30.89M30.89 17.11V30.89",
618 + fill: "none",
619 + stroke: "currentColor",
620 + strokeWidth: "3.33"
621 + }));
622 + });
195 623
196 -/***/ }),
624 +//#endregion
625 +//#region packages/apps/onboarding/src/icons/theme-selection/plus-icon.tsx
626 + var PLUS_PATH = "M20.7273 2.72725C21.8317 2.72726 22.7271 3.62279 22.7273 4.72725V11.8171H29.8181C30.9226 11.8171 31.818 12.7126 31.8181 13.8171V20.7263C31.818 21.8308 30.9226 22.7263 29.8181 22.7263H22.7273V29.8181C22.7273 30.9226 21.8318 31.8181 20.7273 31.8181H13.8181C12.7136 31.818 11.8181 30.9226 11.8181 29.8181V22.7263H4.72725C3.62282 22.7261 2.72729 21.8307 2.72725 20.7263V13.8171C2.72731 12.7127 3.62284 11.8172 4.72725 11.8171H11.8181V4.72725C11.8182 3.62283 12.7136 2.72733 13.8181 2.72725H20.7273Z";
627 + var PlusIcon = react.forwardRef(({ sx, strokeColor = "#ffffff", ...props }, ref) => {
628 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
629 + viewBox: "0 0 34.545 34.545",
630 + ...props,
631 + ref,
632 + sx: {
633 + overflow: "visible",
634 + ...sx
635 + }
636 + }, /* @__PURE__ */ react.createElement("path", {
637 + d: PLUS_PATH,
638 + fill: "none",
639 + stroke: strokeColor,
640 + strokeWidth: "5.454",
641 + strokeLinejoin: "round"
642 + }), /* @__PURE__ */ react.createElement("path", {
643 + d: PLUS_PATH,
644 + fill: "currentColor"
645 + }));
646 + });
197 647
198 -/***/ "./packages/apps/onboarding/src/analytics/onboarding-tracking.ts":
199 -/*!***********************************************************************!*\
200 - !*** ./packages/apps/onboarding/src/analytics/onboarding-tracking.ts ***!
201 - \***********************************************************************/
202 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
648 +//#endregion
649 +//#region packages/apps/onboarding/src/steps/components/site-features/feature-options.ts
650 + var COOKIE_CONSENT_FEATURE_ID = "cookie_consent";
651 + var FEATURE_OPTIONS = [
652 + {
653 + id: "classes_variables",
654 + labelKey: "steps.site_features.option_classes_variables",
655 + Icon: ClassesVariablesIcon,
656 + licenseType: "core"
657 + },
658 + {
659 + id: "interactions",
660 + labelKey: "steps.site_features.option_interactions",
661 + Icon: InteractionsIcon,
662 + licenseType: "core"
663 + },
664 + {
665 + id: "theme_builder",
666 + labelKey: "steps.site_features.option_theme_builder",
667 + Icon: ThemeBuilderIcon,
668 + licenseType: "pro"
669 + },
670 + {
671 + id: "lead_collection",
672 + labelKey: "steps.site_features.option_lead_collection",
673 + Icon: CorePlaceholderIcon,
674 + licenseType: "pro"
675 + },
676 + {
677 + id: "custom_code_css",
678 + labelKey: "steps.site_features.option_custom_code",
679 + Icon: CustomCodeIcon,
680 + licenseType: "pro"
681 + },
682 + {
683 + id: "email_deliverability",
684 + labelKey: "steps.site_features.option_email_deliverability",
685 + Icon: EmailDeliverabilityIcon,
686 + licenseType: "one"
687 + },
688 + {
689 + id: COOKIE_CONSENT_FEATURE_ID,
690 + labelKey: "steps.site_features.option_cookie_consent",
691 + Icon: CookieConsentIcon,
692 + licenseType: "one"
693 + },
694 + {
695 + id: "ai_features",
696 + labelKey: "steps.site_features.option_ai_generator",
697 + Icon: AIGeneratorIcon,
698 + licenseType: "one"
699 + },
700 + {
701 + id: "image_optimization",
702 + labelKey: "steps.site_features.option_image_optimization",
703 + Icon: ImageOptimizationIcon,
704 + licenseType: "one"
705 + },
706 + {
707 + id: "accessibility",
708 + labelKey: "steps.site_features.option_accessibility_tools",
709 + Icon: AccessibilityToolsIcon,
710 + licenseType: "one"
711 + }
712 + ];
713 + var CORE_FEATURE_IDS = new Set(FEATURE_OPTIONS.flatMap((option) => option.licenseType === "core" ? [option.id] : []));
203 714
204 -__webpack_require__.r(__webpack_exports__);
205 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
206 -/* harmony export */ flushQueue: function() { return /* binding */ flushQueue; },
207 -/* harmony export */ trackBackClicked: function() { return /* binding */ trackBackClicked; },
208 -/* harmony export */ trackConnect: function() { return /* binding */ trackConnect; },
209 -/* harmony export */ trackErrorReported: function() { return /* binding */ trackErrorReported; },
210 -/* harmony export */ trackLoginType: function() { return /* binding */ trackLoginType; },
211 -/* harmony export */ trackOnboardingInitialized: function() { return /* binding */ trackOnboardingInitialized; },
212 -/* harmony export */ trackProFeaturesSelected: function() { return /* binding */ trackProFeaturesSelected; },
213 -/* harmony export */ trackProInstall: function() { return /* binding */ trackProInstall; },
214 -/* harmony export */ trackResumeOnboarding: function() { return /* binding */ trackResumeOnboarding; },
215 -/* harmony export */ trackSiteStarterSelected: function() { return /* binding */ trackSiteStarterSelected; },
216 -/* harmony export */ trackSkipClicked: function() { return /* binding */ trackSkipClicked; },
217 -/* harmony export */ trackStepViewed: function() { return /* binding */ trackStepViewed; },
218 -/* harmony export */ trackSummary: function() { return /* binding */ trackSummary; },
219 -/* harmony export */ trackThemeSelected: function() { return /* binding */ trackThemeSelected; },
220 -/* harmony export */ trackThemeUnselected: function() { return /* binding */ trackThemeUnselected; },
221 -/* harmony export */ trackUpgradeClicked: function() { return /* binding */ trackUpgradeClicked; }
222 -/* harmony export */ });
223 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/events */ "@elementor/events");
224 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_events__WEBPACK_IMPORTED_MODULE_0__);
225 -/* harmony import */ var _core_feature_ids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core-feature-ids */ "./packages/apps/onboarding/src/analytics/core-feature-ids.ts");
226 -/* harmony import */ var _event_queue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./event-queue */ "./packages/apps/onboarding/src/analytics/event-queue.ts");
227 -/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./events */ "./packages/apps/onboarding/src/analytics/events.ts");
715 +//#endregion
716 +//#region packages/apps/onboarding/src/analytics/event-queue.ts
717 + var STORAGE_KEY = "elementor_ob_event_queue";
718 + function enqueueEvent(name, payload) {
719 + try {
720 + const queue = getEventQueue();
721 + queue.push({
722 + name,
723 + payload,
724 + timestamp: Date.now()
725 + });
726 + sessionStorage.setItem(STORAGE_KEY, JSON.stringify(queue));
727 + } catch {}
728 + }
729 + function getEventQueue() {
730 + try {
731 + const raw = sessionStorage.getItem(STORAGE_KEY);
732 + return raw ? JSON.parse(raw) : [];
733 + } catch {
734 + return [];
735 + }
736 + }
737 + function clearEventQueue() {
738 + try {
739 + sessionStorage.removeItem(STORAGE_KEY);
740 + } catch {}
741 + }
228 742
743 +//#endregion
744 +//#region packages/apps/onboarding/src/analytics/events.ts
745 + var OnboardingEventName = {
746 + INITIALIZED: "ob_onboarding_initialized",
747 + LOGIN_TYPE: "ob_login_type",
748 + CONNECT: "ob_connect",
749 + PRO_INSTALL: "ob_pro_install",
750 + STEP_VIEWED: "ob_step_viewed",
751 + PERSONA_SELECTED: "ob_persona_selected",
752 + SITE_TOPIC_SELECTED: "ob_site_topic_selected",
753 + EXPERIENCE_SELECTED: "ob_experience_selected",
754 + THEME_SELECTED: "ob_theme_selected",
755 + THEME_UNSELECTED: "ob_theme_unselected",
756 + PRO_FEATURES_SELECTED: "ob_pro_features_selected",
757 + BACK_CLICKED: "ob_back_clicked",
758 + SKIP_CLICKED: "ob_skip_clicked",
759 + UPGRADE_CLICKED: "ob_upgrade_clicked",
760 + RESUME_ONBOARDING: "ob_resume_onboarding",
761 + SITE_STARTER_SELECTED: "ob_site_starter_selected",
762 + SUMMARY: "ob_summary",
763 + ERROR_REPORTED: "ob_error_reported"
764 + };
765 + var STEP_NUMBERS = {
766 + login: "0",
767 + pro_install: "0",
768 + theme_selection: "1",
769 + site_features: "1"
770 + };
771 + var PERSONA_VALUE_MAP = {
772 + myself: "myself_or_someone_i_know",
773 + business: "my_business_or_workplace",
774 + client: "a_client",
775 + exploring: "just_exploring"
776 + };
777 + var EXPERIENCE_VALUE_MAP = {
778 + beginner: "beginner",
779 + intermediate: "intermediate",
780 + advanced: "expert"
781 + };
782 + var THEME_VALUE_MAP = { "hello-elementor": "hello" };
783 + var STEP_SPEC_NAMES = {
784 + login: "login",
785 + pro_install: "pro_install",
786 + building_for: "who_are_you_building_for",
787 + site_about: "what_is_your_site_about",
788 + experience_level: "how_experienced_are_you",
789 + theme_selection: "theme_install",
790 + site_features: "pro_features"
791 + };
229 792
793 +//#endregion
794 +//#region packages/apps/onboarding/src/analytics/onboarding-tracking.ts
795 + function dispatchDirectly(eventName, payload) {
796 + const { dispatchEvent } = (0, _elementor_events.getMixpanel)();
797 + dispatchEvent?.(eventName, payload);
798 + }
799 + function trackEvent(isActive, eventName, payload) {
800 + const fullPayload = {
801 + window_name: "core_onboarding",
802 + ...payload
803 + };
804 + if (isActive && (0, _elementor_events.canSendEvents)()) dispatchDirectly(eventName, fullPayload);
805 + else enqueueEvent(eventName, fullPayload);
806 + }
807 + function flushQueue() {
808 + getEventQueue().sort((a, b) => a.timestamp - b.timestamp).forEach((event) => {
809 + if (event.name && event.payload) dispatchDirectly(event.name, event.payload);
810 + });
811 + clearEventQueue();
812 + }
813 + function trackOnboardingInitialized(isActive) {
814 + clearEventQueue();
815 + trackEvent(isActive, OnboardingEventName.INITIALIZED, {
816 + interaction_type: "load",
817 + target_type: "loaded",
818 + target_name: "onboarding_first_load",
819 + interaction_result: "onboarding_loaded",
820 + target_location: "onboarding",
821 + interaction_description: "first step of the onboarding funnel"
822 + });
823 + }
824 + function trackLoginType(isActive, loginType) {
825 + trackEvent(isActive, OnboardingEventName.LOGIN_TYPE, {
826 + interaction_type: "click",
827 + target_type: "button",
828 + target_name: "login",
829 + interaction_result: loginType === "guest" ? "skip_and_onboarding_initialization" : "login_option selected",
830 + target_value: loginType,
831 + target_location: "onboarding",
832 + location_l1: "login_step",
833 + interaction_description: "user connect process loaded from onboarding"
834 + });
835 + }
836 + function trackConnect(isActive, success, error) {
837 + trackEvent(isActive, OnboardingEventName.CONNECT, {
838 + interaction_type: "click",
839 + target_type: "button",
840 + target_name: "connect",
841 + interaction_result: "user_connect",
842 + target_value: success,
843 + target_location: "onboarding",
844 + location_l1: "connect_flow",
845 + interaction_description: "user connect process loaded from onboarding",
846 + metadata: !success && error ? { error } : void 0
847 + });
848 + }
849 + function trackProInstall(isActive, action) {
850 + trackEvent(isActive, OnboardingEventName.PRO_INSTALL, {
851 + interaction_type: "click",
852 + target_type: "button",
853 + target_name: action === "install" ? "install_pro_on_this_site" : "i'll_do_it_later",
854 + interaction_result: action === "install" ? "pro_installed_onboarding_initialization" : "skip_and_onboarding_initialization",
855 + target_location: "onboarding",
856 + location_l1: "install_pro_step",
857 + state: action === "install"
858 + });
859 + }
860 + function trackStepViewed(isActive, viewedStepId) {
861 + trackEvent(isActive, OnboardingEventName.STEP_VIEWED, {
862 + interaction_type: "step_load",
863 + target_type: "loaded",
864 + target_name: STEP_SPEC_NAMES[viewedStepId] ?? viewedStepId,
865 + interaction_result: "step_load",
866 + target_value: STEP_NUMBERS[viewedStepId],
867 + target_location: "onboarding",
868 + location_l1: STEP_NUMBERS[viewedStepId],
869 + interaction_description: "onboarding step loaded"
870 + });
871 + }
872 + function trackThemeSelected(isActive, theme, source) {
873 + const isSiteFeatures = source === "site_features";
874 + trackEvent(isActive, OnboardingEventName.THEME_SELECTED, {
875 + interaction_type: "click",
876 + target_type: "button",
877 + target_name: isSiteFeatures ? "continue_with_free" : "continue_with_hello",
878 + interaction_result: "theme_installed",
879 + target_value: THEME_VALUE_MAP[theme] ?? theme,
880 + target_location: "onboarding",
881 + location_l1: isSiteFeatures ? "pro_features" : "select_theme",
882 + location_l2: isSiteFeatures ? STEP_NUMBERS.site_features : STEP_NUMBERS.theme_selection,
883 + interaction_description: isSiteFeatures ? "user installed hello theme on pro features step" : "user installed a certain theme"
884 + });
885 + }
886 + function trackThemeUnselected(isActive) {
887 + trackEvent(isActive, OnboardingEventName.THEME_UNSELECTED, {
888 + interaction_type: "click",
889 + target_type: "button",
890 + target_name: "hello_theme",
891 + interaction_result: "theme_install_skipped",
892 + target_value: "hello_theme",
893 + target_location: "onboarding",
894 + location_l1: "pro_features",
895 + location_l2: STEP_NUMBERS.site_features,
896 + interaction_description: "user unselected hello theme box and continued"
897 + });
898 + }
899 + function trackProFeaturesSelected(isActive, params) {
900 + const featuresWithoutCore = params.features.filter((id) => !CORE_FEATURE_IDS.has(id));
901 + trackEvent(isActive, OnboardingEventName.PRO_FEATURES_SELECTED, {
902 + interaction_type: "click",
903 + target_type: "cards",
904 + target_name: params.targetName,
905 + interaction_result: params.targetName === "continue_with_free" ? "finish_onboarding" : "pricing_page",
906 + target_value: featuresWithoutCore,
907 + target_location: "onboarding",
908 + location_l1: "pro_features",
909 + location_l2: STEP_NUMBERS.site_features,
910 + interaction_description: "user selected pro features and continued"
911 + });
912 + }
913 + function trackBackClicked(isActive, currentStepId) {
914 + trackEvent(isActive, OnboardingEventName.BACK_CLICKED, {
915 + interaction_type: "click",
916 + target_type: "button",
917 + target_name: "back",
918 + interaction_result: "redirect_back",
919 + target_value: STEP_NUMBERS[currentStepId],
920 + target_location: "onboarding_navigation",
921 + location_l1: "footer",
922 + location_l2: STEP_NUMBERS[currentStepId]
923 + });
924 + }
925 + function trackSkipClicked(isActive, currentStepId) {
926 + trackEvent(isActive, OnboardingEventName.SKIP_CLICKED, {
927 + interaction_type: "click",
928 + target_type: "button",
929 + target_name: "skip",
930 + interaction_result: "skip_step",
931 + target_value: STEP_NUMBERS[currentStepId],
932 + target_location: "onboarding_navigation",
933 + location_l1: "footer",
934 + location_l2: STEP_NUMBERS[currentStepId]
935 + });
936 + }
937 + function trackUpgradeClicked(isActive, currentStepId) {
938 + trackEvent(isActive, OnboardingEventName.UPGRADE_CLICKED, {
939 + interaction_type: "click",
940 + target_type: "button",
941 + target_name: "upgrade",
942 + interaction_result: "pricing_page_opened",
943 + target_value: STEP_NUMBERS[currentStepId],
944 + target_location: "onboarding_navigation",
945 + location_l1: "header",
946 + location_l2: STEP_NUMBERS[currentStepId]
947 + });
948 + }
949 + function trackResumeOnboarding(isActive, resumeStepId) {
950 + trackEvent(isActive, OnboardingEventName.RESUME_ONBOARDING, {
951 + interaction_type: "onboarding_load",
952 + target_type: "reloaded",
953 + target_name: "reloaded",
954 + interaction_result: "onboarding_load",
955 + target_value: STEP_NUMBERS[resumeStepId],
956 + target_location: "onboarding",
957 + location_l1: STEP_NUMBERS[resumeStepId],
958 + interaction_description: "onboarding step loaded"
959 + });
960 + }
961 + function trackSiteStarterSelected(isActive, params) {
962 + trackEvent(isActive, OnboardingEventName.SITE_STARTER_SELECTED, {
963 + window_name: "editor",
964 + interaction_type: "click",
965 + target_type: "card",
966 + target_name: params.targetName,
967 + interaction_result: params.interactionResult,
968 + target_location: "start_building",
969 + location_l1: "",
970 + interaction_description: "user selected or ignored site starters on first load of canvas"
971 + });
972 + }
973 + function toSummaryValue(v) {
974 + if (v === null || v === void 0 || v === "") return "skip";
975 + if (Array.isArray(v) && v.length === 0) return "skip";
976 + return v;
977 + }
978 + function trackSummary(isActive, snapshot) {
979 + const proFeaturesOnly = (snapshot.choices.site_features ?? []).filter((id) => !CORE_FEATURE_IDS.has(id));
980 + const metadata = [
981 + {
982 + key: "login_type",
983 + value: toSummaryValue(snapshot.isGuest ? "guest" : "elementor_login")
984 + },
985 + {
986 + key: "connect",
987 + value: snapshot.isConnected
988 + },
989 + {
990 + key: "pro_install",
991 + value: toSummaryValue(snapshot.proInstall ?? false)
992 + },
993 + {
994 + key: "persona",
995 + value: toSummaryValue(snapshot.choices.building_for !== null && snapshot.choices.building_for !== void 0 ? PERSONA_VALUE_MAP[snapshot.choices.building_for] ?? snapshot.choices.building_for : null)
996 + },
997 + {
998 + key: "site_topic",
999 + value: toSummaryValue(snapshot.choices.site_about ?? [])
1000 + },
1001 + {
1002 + key: "experience_level",
1003 + value: toSummaryValue(snapshot.choices.experience_level !== null && snapshot.choices.experience_level !== void 0 ? EXPERIENCE_VALUE_MAP[snapshot.choices.experience_level] ?? snapshot.choices.experience_level : null)
1004 + },
1005 + {
1006 + key: "theme_installed",
1007 + value: (() => {
1008 + if (snapshot.choices.theme_selection !== null && snapshot.choices.theme_selection !== void 0) return THEME_VALUE_MAP[snapshot.choices.theme_selection] ?? snapshot.choices.theme_selection;
1009 + if ((snapshot.choices.site_features ?? []).includes("hello_theme")) return "hello";
1010 + return "none";
1011 + })()
1012 + },
1013 + {
1014 + key: "pro_features",
1015 + value: toSummaryValue(proFeaturesOnly.length ? proFeaturesOnly : "skip")
1016 + },
1017 + {
1018 + key: "steps_completed",
1019 + value: snapshot.completedSteps.length
1020 + }
1021 + ];
1022 + trackEvent(isActive, OnboardingEventName.SUMMARY, {
1023 + interaction_type: "onboarding_complete",
1024 + target_type: "summary",
1025 + target_name: "ob_summary",
1026 + interaction_result: "onboarding_final_choices",
1027 + target_location: "onboarding",
1028 + location_l1: "summary",
1029 + interaction_description: "trigger event upon onboarding completion or when flow is closed abruptly",
1030 + metadata: { summary: metadata }
1031 + });
1032 + }
1033 + function trackErrorReported(isActive, params) {
1034 + trackEvent(isActive, OnboardingEventName.ERROR_REPORTED, {
1035 + interaction_type: "action_failed",
1036 + target_type: params.targetType,
1037 + target_name: params.targetName,
1038 + interaction_result: "error_reported",
1039 + target_value: STEP_NUMBERS[params.stepId] ?? params.stepId,
1040 + target_location: "onboarding",
1041 + location_l1: STEP_NUMBERS[params.stepId] ?? params.stepId,
1042 + interaction_description: "onboarding step loaded",
1043 + metadata: { error_title: params.errorBody }
1044 + });
1045 + }
230 1046
1047 +//#endregion
1048 +//#region packages/apps/onboarding/src/analytics/tracking-context.tsx
1049 + var TrackingContext = (0, react.createContext)(null);
1050 + function TrackingProvider({ children }) {
1051 + const [isActive, setIsActive] = (0, react.useState)(false);
1052 + const activate = (0, react.useCallback)(() => setIsActive(true), []);
1053 + const isConnected = (0, _elementor_store.__useSelector)(selectIsConnected);
1054 + const isGuest = (0, _elementor_store.__useSelector)(selectIsGuest);
1055 + const hasActivated = (0, react.useRef)(false);
1056 + (0, react.useEffect)(() => {
1057 + if (hasActivated.current || isActive || !isConnected || isGuest) return;
1058 + if ((0, _elementor_events.canSendEvents)()) {
1059 + hasActivated.current = true;
1060 + (0, _elementor_events.initializeAndEnableTracking)((mp) => {
1061 + mp?.set_config?.({ api_transport: "sendbeacon" });
1062 + setIsActive(true);
1063 + flushQueue();
1064 + });
1065 + }
1066 + }, [
1067 + isConnected,
1068 + isGuest,
1069 + isActive
1070 + ]);
1071 + const value = {
1072 + isActive,
1073 + activate
1074 + };
1075 + return /* @__PURE__ */ react.createElement(TrackingContext.Provider, { value }, children);
1076 + }
1077 + function useTrackingState() {
1078 + const ctx = (0, react.useContext)(TrackingContext);
1079 + if (!ctx) throw new Error("useTrackingState must be used within TrackingProvider");
1080 + return ctx;
1081 + }
231 1082
232 -function dispatchDirectly(eventName, payload) {
233 - const {
234 - dispatchEvent
235 - } = (0,_elementor_events__WEBPACK_IMPORTED_MODULE_0__.getMixpanel)();
236 - dispatchEvent?.(eventName, payload);
237 -}
238 -function trackEvent(isActive, eventName, payload) {
239 - const fullPayload = {
240 - app_type: 'editor',
241 - window_name: 'core_onboarding',
242 - ...payload
243 - };
244 - if (isActive && (0,_elementor_events__WEBPACK_IMPORTED_MODULE_0__.canSendEvents)()) {
245 - dispatchDirectly(eventName, fullPayload);
246 - } else {
247 - (0,_event_queue__WEBPACK_IMPORTED_MODULE_2__.enqueueEvent)(eventName, fullPayload);
248 - }
249 -}
250 -function flushQueue() {
251 - const queued = (0,_event_queue__WEBPACK_IMPORTED_MODULE_2__.getEventQueue)();
252 - queued.sort((a, b) => a.timestamp - b.timestamp).forEach(event => {
253 - if (event.name && event.payload) {
254 - dispatchDirectly(event.name, event.payload);
255 - }
256 - });
257 - (0,_event_queue__WEBPACK_IMPORTED_MODULE_2__.clearEventQueue)();
258 -}
259 -function trackOnboardingInitialized(isActive) {
260 - (0,_event_queue__WEBPACK_IMPORTED_MODULE_2__.clearEventQueue)();
261 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.INITIALIZED, {
262 - interaction_type: 'load',
263 - target_type: 'loaded',
264 - target_name: 'onboarding_first_load',
265 - interaction_result: 'onboarding_loaded',
266 - target_location: 'onboarding',
267 - interaction_description: 'first step of the onboarding funnel'
268 - });
269 -}
270 -function trackLoginType(isActive, loginType) {
271 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.LOGIN_TYPE, {
272 - interaction_type: 'click',
273 - target_type: 'button',
274 - target_name: 'login',
275 - interaction_result: loginType === 'guest' ? 'skip_and_onboarding_initialization' : 'login_option selected',
276 - target_value: loginType,
277 - target_location: 'onboarding',
278 - location_l1: 'login_step',
279 - interaction_description: 'user connect process loaded from onboarding'
280 - });
281 -}
282 -function trackConnect(isActive, success, error) {
283 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.CONNECT, {
284 - interaction_type: 'click',
285 - target_type: 'button',
286 - target_name: 'connect',
287 - interaction_result: 'user_connect',
288 - target_value: success,
289 - target_location: 'onboarding',
290 - location_l1: 'connect_flow',
291 - interaction_description: 'user connect process loaded from onboarding',
292 - metadata: !success && error ? {
293 - error
294 - } : undefined
295 - });
296 -}
297 -function trackProInstall(isActive, action) {
298 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.PRO_INSTALL, {
299 - interaction_type: 'click',
300 - target_type: 'button',
301 - target_name: action === 'install' ? 'install_pro_on_this_site' : "i'll_do_it_later",
302 - interaction_result: action === 'install' ? 'pro_installed_onboarding_initialization' : 'skip_and_onboarding_initialization',
303 - target_location: 'onboarding',
304 - location_l1: 'install_pro_step',
305 - state: action === 'install'
306 - });
307 -}
308 -function trackStepViewed(isActive, viewedStepId) {
309 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.STEP_VIEWED, {
310 - interaction_type: 'step_load',
311 - target_type: 'loaded',
312 - target_name: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_SPEC_NAMES[viewedStepId] ?? viewedStepId,
313 - interaction_result: 'step_load',
314 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[viewedStepId],
315 - target_location: 'onboarding',
316 - location_l1: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[viewedStepId],
317 - interaction_description: 'onboarding step loaded'
318 - });
319 -}
320 -function trackThemeSelected(isActive, theme, source) {
321 - const isSiteFeatures = source === 'site_features';
322 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.THEME_SELECTED, {
323 - interaction_type: 'click',
324 - target_type: 'button',
325 - target_name: isSiteFeatures ? 'continue_with_free' : 'continue_with_hello',
326 - interaction_result: 'theme_installed',
327 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.THEME_VALUE_MAP[theme] ?? theme,
328 - target_location: 'onboarding',
329 - location_l1: isSiteFeatures ? 'pro_features' : 'select_theme',
330 - location_l2: isSiteFeatures ? _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS.site_features : _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS.theme_selection,
331 - interaction_description: isSiteFeatures ? 'user installed hello theme on pro features step' : 'user installed a certain theme'
332 - });
333 -}
334 -function trackThemeUnselected(isActive) {
335 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.THEME_UNSELECTED, {
336 - interaction_type: 'click',
337 - target_type: 'button',
338 - target_name: 'hello_theme',
339 - interaction_result: 'theme_install_skipped',
340 - target_value: 'hello_theme',
341 - target_location: 'onboarding',
342 - location_l1: 'pro_features',
343 - location_l2: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS.site_features,
344 - interaction_description: 'user unselected hello theme box and continued'
345 - });
346 -}
347 -function trackProFeaturesSelected(isActive, params) {
348 - const featuresWithoutCore = params.features.filter(id => !_core_feature_ids__WEBPACK_IMPORTED_MODULE_1__.CORE_FEATURE_IDS.has(id));
349 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.PRO_FEATURES_SELECTED, {
350 - interaction_type: 'click',
351 - target_type: 'cards',
352 - target_name: params.targetName,
353 - interaction_result: params.targetName === 'continue_with_free' ? 'finish_onboarding' : 'pricing_page',
354 - target_value: featuresWithoutCore,
355 - target_location: 'onboarding',
356 - location_l1: 'pro_features',
357 - location_l2: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS.site_features,
358 - interaction_description: 'user selected pro features and continued'
359 - });
360 -}
361 -function trackBackClicked(isActive, currentStepId) {
362 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.BACK_CLICKED, {
363 - interaction_type: 'click',
364 - target_type: 'button',
365 - target_name: 'back',
366 - interaction_result: 'redirect_back',
367 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId],
368 - target_location: 'onboarding_navigation',
369 - location_l1: 'footer',
370 - location_l2: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId]
371 - });
372 -}
373 -function trackSkipClicked(isActive, currentStepId) {
374 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.SKIP_CLICKED, {
375 - interaction_type: 'click',
376 - target_type: 'button',
377 - target_name: 'skip',
378 - interaction_result: 'skip_step',
379 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId],
380 - target_location: 'onboarding_navigation',
381 - location_l1: 'footer',
382 - location_l2: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId]
383 - });
384 -}
385 -function trackUpgradeClicked(isActive, currentStepId) {
386 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.UPGRADE_CLICKED, {
387 - interaction_type: 'click',
388 - target_type: 'button',
389 - target_name: 'upgrade',
390 - interaction_result: 'pricing_page_opened',
391 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId],
392 - target_location: 'onboarding_navigation',
393 - location_l1: 'header',
394 - location_l2: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[currentStepId]
395 - });
396 -}
397 -function trackResumeOnboarding(isActive, resumeStepId) {
398 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.RESUME_ONBOARDING, {
399 - interaction_type: 'onboarding_load',
400 - target_type: 'reloaded',
401 - target_name: 'reloaded',
402 - interaction_result: 'onboarding_load',
403 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[resumeStepId],
404 - target_location: 'onboarding',
405 - location_l1: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[resumeStepId],
406 - interaction_description: 'onboarding step loaded'
407 - });
408 -}
409 -function trackSiteStarterSelected(isActive, params) {
410 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.SITE_STARTER_SELECTED, {
411 - window_name: 'editor',
412 - interaction_type: 'click',
413 - target_type: 'card',
414 - target_name: params.targetName,
415 - interaction_result: params.interactionResult,
416 - target_location: 'start_building',
417 - location_l1: '',
418 - interaction_description: 'user selected or ignored site starters on first load of canvas'
419 - });
420 -}
421 -function toSummaryValue(v) {
422 - if (v === null || v === undefined || v === '') {
423 - return 'skip';
424 - }
425 - if (Array.isArray(v) && v.length === 0) {
426 - return 'skip';
427 - }
428 - return v;
429 -}
430 -function trackSummary(isActive, snapshot) {
431 - const proFeaturesOnly = (snapshot.choices.site_features ?? []).filter(id => !_core_feature_ids__WEBPACK_IMPORTED_MODULE_1__.CORE_FEATURE_IDS.has(id));
432 - const metadata = [{
433 - key: 'login_type',
434 - value: toSummaryValue(snapshot.isGuest ? 'guest' : 'elementor_login')
435 - }, {
436 - key: 'connect',
437 - value: snapshot.isConnected
438 - }, {
439 - key: 'pro_install',
440 - value: toSummaryValue(snapshot.proInstall ?? false)
441 - }, {
442 - key: 'persona',
443 - value: toSummaryValue(snapshot.choices.building_for !== null && snapshot.choices.building_for !== undefined ? _events__WEBPACK_IMPORTED_MODULE_3__.PERSONA_VALUE_MAP[snapshot.choices.building_for] ?? snapshot.choices.building_for : null)
444 - }, {
445 - key: 'site_topic',
446 - value: toSummaryValue(snapshot.choices.site_about ?? [])
447 - }, {
448 - key: 'experience_level',
449 - value: toSummaryValue(snapshot.choices.experience_level !== null && snapshot.choices.experience_level !== undefined ? _events__WEBPACK_IMPORTED_MODULE_3__.EXPERIENCE_VALUE_MAP[snapshot.choices.experience_level] ?? snapshot.choices.experience_level : null)
450 - }, {
451 - key: 'theme_installed',
452 - value: (() => {
453 - if (snapshot.choices.theme_selection !== null && snapshot.choices.theme_selection !== undefined) {
454 - return _events__WEBPACK_IMPORTED_MODULE_3__.THEME_VALUE_MAP[snapshot.choices.theme_selection] ?? snapshot.choices.theme_selection;
455 - }
456 - if ((snapshot.choices.site_features ?? []).includes('hello_theme')) {
457 - return 'hello';
458 - }
459 - return 'none';
460 - })()
461 - }, {
462 - key: 'pro_features',
463 - value: toSummaryValue(proFeaturesOnly.length ? proFeaturesOnly : 'skip')
464 - }, {
465 - key: 'steps_completed',
466 - value: snapshot.completedSteps.length
467 - }];
468 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.SUMMARY, {
469 - interaction_type: 'onboarding_complete',
470 - target_type: 'summary',
471 - target_name: 'ob_summary',
472 - interaction_result: 'onboarding_final_choices',
473 - target_location: 'onboarding',
474 - location_l1: 'summary',
475 - interaction_description: 'trigger event upon onboarding completion or when flow is closed abruptly',
476 - metadata: {
477 - summary: metadata
478 - }
479 - });
480 -}
481 -function trackErrorReported(isActive, params) {
482 - trackEvent(isActive, _events__WEBPACK_IMPORTED_MODULE_3__.OnboardingEventName.ERROR_REPORTED, {
483 - interaction_type: 'action_failed',
484 - target_type: params.targetType,
485 - target_name: params.targetName,
486 - interaction_result: 'error_reported',
487 - target_value: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[params.stepId] ?? params.stepId,
488 - target_location: 'onboarding',
489 - location_l1: _events__WEBPACK_IMPORTED_MODULE_3__.STEP_NUMBERS[params.stepId] ?? params.stepId,
490 - interaction_description: 'onboarding step loaded',
491 - metadata: {
492 - error_title: params.errorBody
493 - }
494 - });
495 -}
1083 +//#endregion
1084 +//#region packages/apps/onboarding/src/types.ts
1085 + var StepId = {
1086 + THEME_SELECTION: "theme_selection",
1087 + SITE_FEATURES: "site_features"
1088 + };
496 1089
497 -/***/ }),
1090 +//#endregion
1091 +//#region packages/apps/onboarding/src/utils/default-strings.ts
1092 + var DEFAULT_STRINGS = {
1093 + "common.continue": "Continue",
1094 + "common.skip": "Skip",
1095 + "common.back": "Back",
1096 + "common.finish": "Finish",
1097 + "common.loading": "Loading…",
1098 + "common.upgrade": "Upgrade",
1099 + "common.close_onboarding": "Close onboarding",
1100 + "common.installed": "Installed",
1101 + "common.recommended": "Recommended",
1102 + "error.failed_mark_exit": "Failed to mark user exit.",
1103 + "error.failed_complete_step": "Failed to complete step.",
1104 + "error.pro_install_failed": "Couldn't install Elementor Pro. Please try again later",
1105 + "error.theme_install_failed": "Theme installation didn't complete. Please try again later",
1106 + "login.title": "Let's get to work.",
1107 + "login.sign_in": "Sign in to Elementor",
1108 + "login.continue_another_way": "Continue another way",
1109 + "login.continue_as_guest": "Continue as a guest",
1110 + "steps.building_for.title": "Who are you building for?",
1111 + "steps.building_for.greeting_with_name": "Hey %1$s %2$s Let's get your site set up.",
1112 + "steps.building_for.greeting_without_name": "Hey%s Let's get your site set up.",
1113 + "steps.building_for.option_myself": "Myself or someone I know",
1114 + "steps.building_for.option_business": "My business or workplace",
1115 + "steps.building_for.option_client": "A client",
1116 + "steps.building_for.option_exploring": "Just exploring",
1117 + "steps.site_about.title": "What is your site about?",
1118 + "steps.site_about.subtitle": "Choose anything that applies.",
1119 + "steps.site_about.option_small_med_business": "Small-Med Business",
1120 + "steps.site_about.option_online_store": "Online store",
1121 + "steps.site_about.option_company_site": "Company site",
1122 + "steps.site_about.option_blog": "Blog",
1123 + "steps.site_about.option_landing_page": "Landing page",
1124 + "steps.site_about.option_booking": "Booking",
1125 + "steps.site_about.option_organization": "Organization",
1126 + "steps.site_about.option_other": "Other",
1127 + "steps.site_about.greeting_myself": "Got it! We'll keep things simple.",
1128 + "steps.site_about.greeting_business": "Great! Let's set up your business site.",
1129 + "steps.site_about.greeting_client": "Nice! Let's create something for your client.",
1130 + "steps.site_about.greeting_fallback": "Let's get started!",
1131 + "steps.experience_level.title": "How experienced are you with Elementor?",
1132 + "steps.experience_level.subtitle": "This helps us adjust the editor to your workflow.",
1133 + "steps.experience_level.option_beginner": "I'm just getting started",
1134 + "steps.experience_level.option_intermediate": "I have some experience",
1135 + "steps.experience_level.option_advanced": "I'm very comfortable with Elementor",
1136 + "steps.theme_selection.title": "Start with a theme that fits your needs",
1137 + "steps.theme_selection.subtitle": "Hello themes are built to work seamlessly with Elementor.",
1138 + "steps.theme_selection.v2.title": "Build faster with Hello Theme",
1139 + "steps.theme_selection.v2.subtitle": "Use Elementor's lightweight theme for faster setup and full design control.",
1140 + "steps.theme_selection.aria_label": "Theme selection",
1141 + "steps.theme_selection.theme_hello_label": "Hello",
1142 + "steps.theme_selection.theme_hello_description": "A flexible canvas theme you can shape from the ground up",
1143 + "steps.theme_selection.by_elementor": "by Elementor",
1144 + "steps.theme_selection.greeting_beginner": "Glad you're here!",
1145 + "steps.theme_selection.greeting_default": "Great. Let's take it to the next step",
1146 + "steps.theme_selection.continue_with_theme": "Continue with this theme",
1147 + "steps.theme_selection.v2.continue_with_theme": "Continue with Hello",
1148 + "steps.theme_selection.highlight_fast": "Fast by design",
1149 + "steps.theme_selection.highlight_responsive": "Responsive from the start",
1150 + "steps.theme_selection.highlight_built_for_elementor": "Built for Elementor",
1151 + "steps.site_features.title": "What do you want to include in your site?",
1152 + "steps.site_features.subtitle": "We'll use this to tailor suggestions for you.",
1153 + "steps.site_features.continue_with_free": "Continue with Free",
1154 + "steps.site_features.option_classes_variables": "Design system",
1155 + "steps.site_features.option_interactions": "Interactions",
1156 + "steps.site_features.option_cookie_consent": "Cookie Consent",
1157 + "steps.site_features.option_theme_builder": "Theme builder",
1158 + "steps.site_features.option_lead_collection": "Forms & leads",
1159 + "steps.site_features.option_custom_code": "Custom Code",
1160 + "steps.site_features.option_email_deliverability": "Email deliverability",
1161 + "steps.site_features.option_ai_generator": "AI tools",
1162 + "steps.site_features.option_image_optimization": "Image optimization",
1163 + "steps.site_features.option_accessibility_tools": "Accessibility",
1164 + "steps.site_features.included": "Included",
1165 + "steps.site_features.plan_recommendation_one": "Nice picks 🙂 Elementor One has you covered.",
1166 + "steps.site_features.plan_recommendation_pro": "Advanced tools? Elementor Pro includes them.",
1167 + "steps.site_features.compare_plans": "View plans",
1168 + "pro_install.title": "You already have a Pro subscription",
1169 + "pro_install.subtitle": "Would you like to install it on this site now?",
1170 + "pro_install.installing": "Installing Elementor Pro…",
1171 + "pro_install.installing_short": "Installing…",
1172 + "pro_install.install_button": "Install Pro on this site",
1173 + "pro_install.logo_alt": "Elementor + Elementor Pro",
1174 + "pro_install.do_it_later": "I'll do it later",
1175 + "completion.title": "Getting things ready",
1176 + "completion.subtitle": "Tailoring the editor to your goals and workflow…"
1177 + };
498 1178
499 -/***/ "./packages/apps/onboarding/src/analytics/tracking-context.tsx":
500 -/*!*********************************************************************!*\
501 - !*** ./packages/apps/onboarding/src/analytics/tracking-context.tsx ***!
502 - \*********************************************************************/
503 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1179 +//#endregion
1180 +//#region packages/apps/onboarding/src/utils/translations.ts
1181 + var t = (0, _elementor_utils.createTranslate)({
1182 + configKey: "onboarding",
1183 + defaultStrings: DEFAULT_STRINGS
1184 + });
504 1185
505 -__webpack_require__.r(__webpack_exports__);
506 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
507 -/* harmony export */ TrackingProvider: function() { return /* binding */ TrackingProvider; },
508 -/* harmony export */ useTrackingState: function() { return /* binding */ useTrackingState; }
509 -/* harmony export */ });
510 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
511 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
512 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
513 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
514 -/* harmony import */ var _store_selectors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store/selectors */ "./packages/apps/onboarding/src/store/selectors.ts");
515 -/* harmony import */ var _init_tracking__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./init-tracking */ "./packages/apps/onboarding/src/analytics/init-tracking.ts");
516 -/* harmony import */ var _onboarding_tracking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onboarding-tracking */ "./packages/apps/onboarding/src/analytics/onboarding-tracking.ts");
1186 +//#endregion
1187 +//#region packages/apps/onboarding/src/store/slice.ts
1188 + function createThemeSelectionStep() {
1189 + return {
1190 + id: StepId.THEME_SELECTION,
1191 + label: t("steps.theme_selection.title"),
1192 + type: "single"
1193 + };
1194 + }
1195 + function getDefaultSteps() {
1196 + return [{
1197 + id: StepId.SITE_FEATURES,
1198 + label: t("steps.site_features.title"),
1199 + type: "multiple"
1200 + }];
1201 + }
1202 + function applyProInstalledSteps(steps) {
1203 + const withoutSiteFeatures = steps.filter((step) => step.id !== StepId.SITE_FEATURES);
1204 + if (withoutSiteFeatures.some((step) => step.id === StepId.THEME_SELECTION)) return withoutSiteFeatures;
1205 + return [...withoutSiteFeatures, createThemeSelectionStep()];
1206 + }
1207 + function parseStepsFromConfig(configSteps) {
1208 + if (!configSteps || configSteps.length === 0) return getDefaultSteps();
1209 + return configSteps.map((step) => ({
1210 + id: step.id,
1211 + label: step.label,
1212 + type: step.type || "single"
1213 + }));
1214 + }
1215 + function parseCompletedSteps(completedSteps) {
1216 + if (!completedSteps) return [];
1217 + return completedSteps;
1218 + }
1219 + function getDefaultChoices() {
1220 + return {
1221 + building_for: null,
1222 + site_about: [],
1223 + experience_level: null,
1224 + theme_selection: null,
1225 + site_features: []
1226 + };
1227 + }
1228 + function getEmptyState() {
1229 + const steps = getDefaultSteps();
1230 + return {
1231 + steps,
1232 + currentStepId: steps[0]?.id ?? StepId.SITE_FEATURES,
1233 + currentStepIndex: 0,
1234 + completedSteps: [],
1235 + exitType: null,
1236 + lastActiveTimestamp: null,
1237 + startedAt: null,
1238 + choices: getDefaultChoices(),
1239 + isLoading: false,
1240 + error: null,
1241 + hadUnexpectedExit: false,
1242 + resumeStepIdForTracking: null,
1243 + isConnected: false,
1244 + isGuest: false,
1245 + userName: "",
1246 + urls: {
1247 + dashboard: "",
1248 + editor: "",
1249 + connect: "",
1250 + signUp: "",
1251 + comparePlans: "",
1252 + upgradeUrl: ""
1253 + },
1254 + shouldShowProInstallScreen: false,
1255 + hasProInstallScreenDismissed: false
1256 + };
1257 + }
1258 + function buildStateFromConfig(config) {
1259 + if (!config) return getEmptyState();
1260 + const steps = parseStepsFromConfig(config.steps);
1261 + const firstStepId = steps[0]?.id ?? StepId.SITE_FEATURES;
1262 + const progress = config.progress ?? {};
1263 + let currentStepIndex = progress.current_step_index ?? 0;
1264 + const progressStepId = progress.current_step_id;
1265 + const isInvalidStepIndex = currentStepIndex < 0 || currentStepIndex >= steps.length;
1266 + const isInvalidStepId = Boolean(progressStepId) && !steps.some((step) => step.id === progressStepId);
1267 + if (isInvalidStepIndex || isInvalidStepId) currentStepIndex = 0;
1268 + const currentStepId = steps[currentStepIndex]?.id ?? firstStepId;
1269 + return {
1270 + steps,
1271 + currentStepId,
1272 + currentStepIndex,
1273 + completedSteps: parseCompletedSteps(progress.completed_steps),
1274 + exitType: progress.exit_type ?? null,
1275 + lastActiveTimestamp: progress.last_active_timestamp ?? null,
1276 + startedAt: progress.started_at ?? null,
1277 + choices: {
1278 + ...getDefaultChoices(),
1279 + ...config.choices
1280 + },
1281 + isLoading: false,
1282 + error: null,
1283 + hadUnexpectedExit: false,
1284 + resumeStepIdForTracking: config.hadUnexpectedExit ? currentStepId : null,
1285 + isConnected: config.isConnected ?? false,
1286 + isGuest: false,
1287 + userName: config.userName ?? "",
1288 + urls: config.urls ?? {
1289 + dashboard: "",
1290 + editor: "",
1291 + connect: "",
1292 + signUp: "",
1293 + comparePlans: "",
1294 + upgradeUrl: ""
1295 + },
1296 + shouldShowProInstallScreen: config.shouldShowProInstallScreen ?? false,
1297 + hasProInstallScreenDismissed: false
1298 + };
1299 + }
1300 + var slice = (0, _elementor_store.__createSlice)({
1301 + name: "onboarding",
1302 + initialState: getEmptyState(),
1303 + reducers: {
1304 + initFromConfig: (state) => {
1305 + const config = window.elementorAppConfig?.onboarding;
1306 + if (config) return buildStateFromConfig(config);
1307 + return state;
1308 + },
1309 + goToStep: (state, action) => {
1310 + const stepId = action.payload;
1311 + const stepIndex = state.steps.findIndex((s) => s.id === stepId);
1312 + if (stepIndex !== -1) {
1313 + state.currentStepId = stepId;
1314 + state.currentStepIndex = stepIndex;
1315 + }
1316 + },
1317 + goToStepIndex: (state, action) => {
1318 + const index = action.payload;
1319 + if (index >= 0 && index < state.steps.length) {
1320 + state.currentStepId = state.steps[index].id;
1321 + state.currentStepIndex = index;
1322 + }
1323 + },
1324 + nextStep: (state) => {
1325 + const nextIndex = state.currentStepIndex + 1;
1326 + if (nextIndex < state.steps.length) {
1327 + state.currentStepId = state.steps[nextIndex].id;
1328 + state.currentStepIndex = nextIndex;
1329 + }
1330 + },
1331 + prevStep: (state) => {
1332 + const prevIndex = state.currentStepIndex - 1;
1333 + if (prevIndex >= 0) {
1334 + state.currentStepId = state.steps[prevIndex].id;
1335 + state.currentStepIndex = prevIndex;
1336 + }
1337 + },
1338 + completeStep: (state, action) => {
1339 + const stepId = action.payload;
1340 + if (!state.completedSteps.includes(stepId)) state.completedSteps.push(stepId);
1341 + },
1342 + setUserChoice: (state, action) => {
1343 + const { key, value } = action.payload;
1344 + state.choices[key] = value;
1345 + },
1346 + setUserChoices: (state, action) => {
1347 + state.choices = {
1348 + ...state.choices,
1349 + ...action.payload
1350 + };
1351 + },
1352 + setExitType: (state, action) => {
1353 + state.exitType = action.payload;
1354 + },
1355 + startOnboarding: (state) => {
1356 + state.startedAt = Date.now();
1357 + state.exitType = null;
1358 + state.hadUnexpectedExit = false;
1359 + },
1360 + completeOnboarding: (state) => {
1361 + state.exitType = "user_exit";
1362 + },
1363 + setLoading: (state, action) => {
1364 + state.isLoading = action.payload;
1365 + },
1366 + setError: (state, action) => {
1367 + state.error = action.payload;
1368 + },
1369 + clearUnexpectedExit: (state) => {
1370 + state.hadUnexpectedExit = false;
1371 + },
1372 + clearResumeStepIdForTracking: (state) => {
1373 + state.resumeStepIdForTracking = null;
1374 + },
1375 + setConnected: (state, action) => {
1376 + state.isConnected = action.payload;
1377 + },
1378 + setGuest: (state, action) => {
1379 + state.isGuest = action.payload;
1380 + },
1381 + setShouldShowProInstallScreen: (state, action) => {
1382 + state.shouldShowProInstallScreen = action.payload;
1383 + },
1384 + dismissProInstallScreen: (state) => {
1385 + state.hasProInstallScreenDismissed = true;
1386 + },
1387 + markProInstalled: (state) => {
1388 + state.hasProInstallScreenDismissed = true;
1389 + state.steps = applyProInstalledSteps(state.steps);
1390 + state.currentStepIndex = 0;
1391 + state.currentStepId = state.steps[0]?.id ?? StepId.THEME_SELECTION;
1392 + }
1393 + }
1394 + });
1395 + var { initFromConfig, goToStep, goToStepIndex, nextStep, prevStep, completeStep, setUserChoice, setUserChoices, setExitType, startOnboarding, completeOnboarding, setLoading, setError, clearUnexpectedExit, clearResumeStepIdForTracking, setConnected, setGuest, setShouldShowProInstallScreen, dismissProInstallScreen, markProInstalled } = slice.actions;
1396 + function registerOnboardingSlice() {
1397 + (0, _elementor_store.__registerSlice)(slice);
1398 + }
517 1399
1400 +//#endregion
1401 +//#region packages/apps/onboarding/src/utils/get-config.ts
1402 + function getConfig() {
1403 + return window.elementorAppConfig?.onboarding ?? null;
1404 + }
518 1405
1406 +//#endregion
1407 +//#region packages/apps/onboarding/src/hooks/use-check-pro-install-screen.ts
1408 + function useCheckProInstallScreen() {
1409 + return (0, react.useCallback)(async () => {
1410 + const config = getConfig();
1411 + if (!config) return { shouldShowProInstallScreen: false };
1412 + const response = await fetch(`${config.restUrl}pro-install-screen`, {
1413 + method: "GET",
1414 + headers: { "X-WP-Nonce": config.nonce }
1415 + });
1416 + if (!response.ok) return { shouldShowProInstallScreen: false };
1417 + return { shouldShowProInstallScreen: (await response.json()).data?.shouldShowProInstallScreen ?? false };
1418 + }, []);
1419 + }
519 1420
1421 +//#endregion
1422 +//#region packages/apps/onboarding/src/hooks/use-elementor-connect.ts
1423 + var POPUP_WIDTH = 600;
1424 + var POPUP_HEIGHT = 700;
1425 + var POPUP_TOP = 200;
1426 + var POPUP_LEFT = 0;
1427 + var CONNECT_SUCCESS_EVENT = "elementor/connect/success";
1428 + function useElementorConnect({ connectUrl, onSuccess }) {
1429 + const onSuccessRef = (0, react.useRef)(onSuccess);
1430 + onSuccessRef.current = onSuccess;
1431 + (0, react.useEffect)(() => {
1432 + const handleNativeSuccess = (event) => {
1433 + const data = event.detail ?? {};
1434 + onSuccessRef.current?.(data);
1435 + };
1436 + window.addEventListener(CONNECT_SUCCESS_EVENT, handleNativeSuccess);
1437 + return () => {
1438 + window.removeEventListener(CONNECT_SUCCESS_EVENT, handleNativeSuccess);
1439 + };
1440 + }, []);
1441 + return (0, react.useCallback)(() => {
1442 + if (!connectUrl) return;
1443 + const popupUrl = `${connectUrl}${connectUrl.includes("?") ? "&" : "?"}mode=popup`;
1444 + const features = `toolbar=no,menubar=no,width=${POPUP_WIDTH},height=${POPUP_HEIGHT},top=${POPUP_TOP},left=${POPUP_LEFT}`;
1445 + if (!window.open(popupUrl, "elementorConnect", features)) window.location.href = connectUrl;
1446 + }, [connectUrl]);
1447 + }
520 1448
1449 +//#endregion
1450 +//#region packages/apps/onboarding/src/utils/retry.ts
1451 + async function withRetry(fn, maxRetries = 1, delayMs = 1e3) {
1452 + let lastError = /* @__PURE__ */ new Error("withRetry: all attempts failed");
1453 + for (let attempt = 0; attempt <= maxRetries; attempt++) try {
1454 + return await fn();
1455 + } catch (error) {
1456 + lastError = error instanceof Error ? error : new Error(String(error));
1457 + if (attempt < maxRetries) await new Promise((r) => setTimeout(r, delayMs));
1458 + }
1459 + throw lastError;
1460 + }
521 1461
1462 +//#endregion
1463 +//#region packages/apps/onboarding/src/hooks/use-install-theme.ts
1464 + async function installThemeRequest(themeSlug) {
1465 + const config = getConfig();
1466 + if (!config) throw new Error("Onboarding config not found");
1467 + const response = await fetch(`${config.restUrl}install-theme`, {
1468 + method: "POST",
1469 + headers: {
1470 + "Content-Type": "application/json",
1471 + "X-WP-Nonce": config.nonce
1472 + },
1473 + body: JSON.stringify({ theme_slug: themeSlug })
1474 + });
1475 + if (!response.ok) {
1476 + const error = await response.json().catch(() => null);
1477 + throw new Error(error?.message || "Failed to install theme");
1478 + }
1479 + return (await response.json()).data;
1480 + }
1481 + function useInstallTheme() {
1482 + return (0, _elementor_query.useMutation)({ mutationFn: (themeSlug) => withRetry(() => installThemeRequest(themeSlug)) });
1483 + }
522 1484
523 -const TrackingContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
524 -function TrackingProvider({
525 - children
526 -}) {
527 - const [isActive, setIsActive] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
528 - const activate = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => setIsActive(true), []);
529 - const isConnected = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store_selectors__WEBPACK_IMPORTED_MODULE_2__.selectIsConnected);
530 - const isGuest = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store_selectors__WEBPACK_IMPORTED_MODULE_2__.selectIsGuest);
531 - const hasActivated = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
532 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
533 - if (hasActivated.current || isActive || !isConnected || isGuest) {
534 - return;
535 - }
536 - if ((0,_init_tracking__WEBPACK_IMPORTED_MODULE_3__.canSendEvents)()) {
537 - hasActivated.current = true;
538 - (0,_init_tracking__WEBPACK_IMPORTED_MODULE_3__.initializeAndEnableTracking)(mp => {
539 - mp?.set_config?.({
540 - api_transport: 'sendbeacon'
541 - });
542 - setIsActive(true);
543 - (0,_onboarding_tracking__WEBPACK_IMPORTED_MODULE_4__.flushQueue)();
544 - });
545 - }
546 - }, [isConnected, isGuest, isActive]);
547 - const value = {
548 - isActive,
549 - activate
550 - };
551 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(TrackingContext.Provider, {
552 - value: value
553 - }, children);
554 -}
555 -function useTrackingState() {
556 - const ctx = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(TrackingContext);
557 - if (!ctx) {
558 - throw new Error('useTrackingState must be used within TrackingProvider');
559 - }
560 - return ctx;
561 -}
1485 +//#endregion
1486 +//#region packages/apps/onboarding/src/hooks/use-onboarding.ts
1487 + function useOnboarding() {
1488 + const dispatch = (0, _elementor_store.__useDispatch)();
1489 + return {
1490 + stepId: (0, _elementor_store.__useSelector)(selectCurrentStepId),
1491 + stepIndex: (0, _elementor_store.__useSelector)(selectCurrentStepIndex),
1492 + step: (0, _elementor_store.__useSelector)(selectCurrentStep),
1493 + steps: (0, _elementor_store.__useSelector)(selectSteps),
1494 + isFirst: (0, _elementor_store.__useSelector)(selectIsFirstStep),
1495 + isLast: (0, _elementor_store.__useSelector)(selectIsLastStep),
1496 + totalSteps: (0, _elementor_store.__useSelector)(selectTotalSteps),
1497 + completedSteps: (0, _elementor_store.__useSelector)(selectCompletedSteps),
1498 + choices: (0, _elementor_store.__useSelector)(selectChoices),
1499 + isLoading: (0, _elementor_store.__useSelector)(selectIsLoading),
1500 + error: (0, _elementor_store.__useSelector)(selectError),
1501 + hadUnexpectedExit: (0, _elementor_store.__useSelector)(selectHadUnexpectedExit),
1502 + resumeStepIdForTracking: (0, _elementor_store.__useSelector)(selectResumeStepIdForTracking),
1503 + isConnected: (0, _elementor_store.__useSelector)(selectIsConnected),
1504 + isGuest: (0, _elementor_store.__useSelector)(selectIsGuest),
1505 + hasPassedLogin: (0, _elementor_store.__useSelector)(selectHasPassedLogin),
1506 + shouldShowProInstall: (0, _elementor_store.__useSelector)(selectShouldShowProInstall),
1507 + userName: (0, _elementor_store.__useSelector)(selectUserName),
1508 + urls: (0, _elementor_store.__useSelector)(selectUrls),
1509 + actions: (0, react.useMemo)(() => ({
1510 + goToStep: (id) => dispatch(goToStep(id)),
1511 + goToStepIndex: (index) => dispatch(goToStepIndex(index)),
1512 + nextStep: () => dispatch(nextStep()),
1513 + prevStep: () => dispatch(prevStep()),
1514 + completeStep: (id) => dispatch(completeStep(id)),
1515 + setUserChoice: (key, value) => dispatch(setUserChoice({
1516 + key,
1517 + value
1518 + })),
1519 + setUserChoices: (data) => dispatch(setUserChoices(data)),
1520 + setExitType: (type) => dispatch(setExitType(type)),
1521 + startOnboarding: () => dispatch(startOnboarding()),
1522 + completeOnboarding: () => dispatch(completeOnboarding()),
1523 + setLoading: (loading) => dispatch(setLoading(loading)),
1524 + setError: (err) => dispatch(setError(err)),
1525 + clearUnexpectedExit: () => dispatch(clearUnexpectedExit()),
1526 + clearResumeStepIdForTracking: () => dispatch(clearResumeStepIdForTracking()),
1527 + setConnected: (connected) => dispatch(setConnected(connected)),
1528 + setGuest: (guest) => dispatch(setGuest(guest)),
1529 + setShouldShowProInstallScreen: (value) => dispatch(setShouldShowProInstallScreen(value)),
1530 + dismissProInstallScreen: () => dispatch(dismissProInstallScreen()),
1531 + markProInstalled: () => dispatch(markProInstalled())
1532 + }), [dispatch])
1533 + };
1534 + }
562 1535
563 -/***/ }),
1536 +//#endregion
1537 +//#region packages/apps/onboarding/src/hooks/use-onboarding-event.ts
1538 + function useOnboardingEvent() {
1539 + const { isActive, activate } = useTrackingState();
1540 + return (0, react.useMemo)(() => ({
1541 + trackOnboardingInitialized: () => trackOnboardingInitialized(isActive),
1542 + trackLoginType: (loginType) => trackLoginType(isActive, loginType),
1543 + trackConnect: (success, error) => trackConnect(isActive, success, error),
1544 + trackProInstall: (action) => trackProInstall(isActive, action),
1545 + trackStepViewed: (viewedStepId) => trackStepViewed(isActive, viewedStepId),
1546 + trackThemeSelected: (theme, source) => trackThemeSelected(isActive, theme, source),
1547 + trackThemeUnselected: () => trackThemeUnselected(isActive),
1548 + trackProFeaturesSelected: (params) => trackProFeaturesSelected(isActive, params),
1549 + trackBackClicked: (currentStepId) => trackBackClicked(isActive, currentStepId),
1550 + trackSkipClicked: (currentStepId) => trackSkipClicked(isActive, currentStepId),
1551 + trackUpgradeClicked: (currentStepId) => trackUpgradeClicked(isActive, currentStepId),
1552 + trackResumeOnboarding: (resumeStepId) => trackResumeOnboarding(isActive, resumeStepId),
1553 + trackSiteStarterSelected: (params) => trackSiteStarterSelected(isActive, params),
1554 + trackSummary: (snapshot) => trackSummary(isActive, snapshot),
1555 + trackErrorReported: (params) => trackErrorReported(isActive, params),
1556 + activateTracking: activate,
1557 + flushQueue
1558 + }), [isActive, activate]);
1559 + }
564 1560
565 -/***/ "./packages/apps/onboarding/src/components/app-content.tsx":
566 -/*!*****************************************************************!*\
567 - !*** ./packages/apps/onboarding/src/components/app-content.tsx ***!
568 - \*****************************************************************/
569 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1561 +//#endregion
1562 +//#region packages/apps/onboarding/src/hooks/use-update-choices.ts
1563 + async function updateChoices(params) {
1564 + const config = getConfig();
1565 + if (!config) throw new Error("Onboarding config not found");
1566 + if (!(await fetch(`${config.restUrl}user-choices`, {
1567 + method: "POST",
1568 + headers: {
1569 + "Content-Type": "application/json",
1570 + "X-WP-Nonce": config.nonce
1571 + },
1572 + body: JSON.stringify(params)
1573 + })).ok) throw new Error("Failed to update choices");
1574 + }
1575 + function useUpdateChoices() {
1576 + return (0, _elementor_query.useMutation)({ mutationFn: updateChoices });
1577 + }
570 1578
571 -__webpack_require__.r(__webpack_exports__);
572 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
573 -/* harmony export */ AppContent: function() { return /* binding */ AppContent; }
574 -/* harmony export */ });
575 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
576 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
577 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/events */ "@elementor/events");
578 -/* harmony import */ var _elementor_events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_events__WEBPACK_IMPORTED_MODULE_1__);
579 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
580 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
581 -/* harmony import */ var _analytics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../analytics */ "./packages/apps/onboarding/src/analytics/index.ts");
582 -/* harmony import */ var _hooks_use_check_pro_install_screen__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/use-check-pro-install-screen */ "./packages/apps/onboarding/src/hooks/use-check-pro-install-screen.ts");
583 -/* harmony import */ var _hooks_use_elementor_connect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../hooks/use-elementor-connect */ "./packages/apps/onboarding/src/hooks/use-elementor-connect.ts");
584 -/* harmony import */ var _hooks_use_install_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/use-install-theme */ "./packages/apps/onboarding/src/hooks/use-install-theme.ts");
585 -/* harmony import */ var _hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../hooks/use-onboarding */ "./packages/apps/onboarding/src/hooks/use-onboarding.ts");
586 -/* harmony import */ var _hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/use-onboarding-event */ "./packages/apps/onboarding/src/hooks/use-onboarding-event.ts");
587 -/* harmony import */ var _hooks_use_update_choices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../hooks/use-update-choices */ "./packages/apps/onboarding/src/hooks/use-update-choices.ts");
588 -/* harmony import */ var _hooks_use_update_progress__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../hooks/use-update-progress */ "./packages/apps/onboarding/src/hooks/use-update-progress.ts");
589 -/* harmony import */ var _hooks_use_video_preload__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../hooks/use-video-preload */ "./packages/apps/onboarding/src/hooks/use-video-preload.ts");
590 -/* harmony import */ var _steps_screens_login__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../steps/screens/login */ "./packages/apps/onboarding/src/steps/screens/login.tsx");
591 -/* harmony import */ var _steps_screens_pro_install__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../steps/screens/pro-install */ "./packages/apps/onboarding/src/steps/screens/pro-install.tsx");
592 -/* harmony import */ var _steps_screens_site_features__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../steps/screens/site-features */ "./packages/apps/onboarding/src/steps/screens/site-features.tsx");
593 -/* harmony import */ var _steps_screens_theme_selection__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../steps/screens/theme-selection */ "./packages/apps/onboarding/src/steps/screens/theme-selection.tsx");
594 -/* harmony import */ var _steps_step_visuals__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../steps/step-visuals */ "./packages/apps/onboarding/src/steps/step-visuals.ts");
595 -/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../types */ "./packages/apps/onboarding/src/types.ts");
596 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
597 -/* harmony import */ var _toast_toast_context__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./toast/toast-context */ "./packages/apps/onboarding/src/components/toast/toast-context.tsx");
598 -/* harmony import */ var _ui_base_layout__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./ui/base-layout */ "./packages/apps/onboarding/src/components/ui/base-layout.tsx");
599 -/* harmony import */ var _ui_completion_screen__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ui/completion-screen */ "./packages/apps/onboarding/src/components/ui/completion-screen.tsx");
600 -/* harmony import */ var _ui_footer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./ui/footer */ "./packages/apps/onboarding/src/components/ui/footer.tsx");
601 -/* harmony import */ var _ui_footer_actions__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ui/footer-actions */ "./packages/apps/onboarding/src/components/ui/footer-actions.tsx");
602 -/* harmony import */ var _ui_split_layout__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./ui/split-layout */ "./packages/apps/onboarding/src/components/ui/split-layout.tsx");
603 -/* harmony import */ var _ui_top_bar__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./ui/top-bar */ "./packages/apps/onboarding/src/components/ui/top-bar.tsx");
604 -/* harmony import */ var _ui_top_bar_content__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ui/top-bar-content */ "./packages/apps/onboarding/src/components/ui/top-bar-content.tsx");
1579 +//#endregion
1580 +//#region packages/apps/onboarding/src/hooks/use-update-progress.ts
1581 + async function updateProgress(params) {
1582 + const config = getConfig();
1583 + if (!config) throw new Error("Onboarding config not found");
1584 + if (!(await fetch(`${config.restUrl}user-progress`, {
1585 + method: "POST",
1586 + headers: {
1587 + "Content-Type": "application/json",
1588 + "X-WP-Nonce": config.nonce
1589 + },
1590 + body: JSON.stringify(params)
1591 + })).ok) throw new Error("Failed to update progress");
1592 + }
1593 + function useUpdateProgress() {
1594 + return (0, _elementor_query.useMutation)({ mutationFn: updateProgress });
1595 + }
605 1596
1597 +//#endregion
1598 +//#region packages/apps/onboarding/src/steps/step-visuals.ts
1599 + var ONBOARDING_ASSETS_PATH = "images/app/onboarding/";
1600 + var VIDEOS_BASE_URL = "https://assets.elementor.com/onboarding/v1/videos/";
1601 + var CONTENT_MAX_WIDTH_WIDE_ELEMENT = 724;
1602 + var getAssetsBaseUrl = () => window.elementorCommon?.config?.urls?.assets ?? "";
1603 + var getOnboardingAssetUrl = (fileName) => {
1604 + const baseUrl = getAssetsBaseUrl();
1605 + const path = `${ONBOARDING_ASSETS_PATH}${fileName}`;
1606 + return baseUrl ? `${baseUrl}${path}` : path;
1607 + };
1608 + var getOnboardingVideoUrl = (fileName) => `${VIDEOS_BASE_URL}${fileName}`;
1609 + var buildBackground = (fileName) => {
1610 + return `url(${getOnboardingAssetUrl(fileName)}) center / cover no-repeat`;
1611 + };
1612 + var DEFAULT_CONFIG = { background: buildBackground("step-1.webp") };
1613 + var LOGIN_CONFIG = { background: buildBackground("login.webp") };
1614 + var stepVisuals = {
1615 + [StepId.THEME_SELECTION]: {
1616 + background: "",
1617 + video: getOnboardingVideoUrl("step-4-v2.webm"),
1618 + contentMaxWidth: CONTENT_MAX_WIDTH_WIDE_ELEMENT
1619 + },
1620 + [StepId.SITE_FEATURES]: {
1621 + background: "",
1622 + video: getOnboardingVideoUrl("step-4-v2.webm"),
1623 + contentMaxWidth: CONTENT_MAX_WIDTH_WIDE_ELEMENT
1624 + }
1625 + };
1626 + var getLoginVisualConfig = () => LOGIN_CONFIG;
1627 + var getStepVisualConfig = (stepId) => stepVisuals[stepId] ?? DEFAULT_CONFIG;
1628 + var getVideoUrls = () => {
1629 + const urls = Object.values(stepVisuals).flatMap((config) => config.video ? [config.video] : []);
1630 + return [...new Set(urls)];
1631 + };
606 1632
1633 +//#endregion
1634 +//#region packages/apps/onboarding/src/hooks/use-video-preload.ts
1635 + var preloadedUrls = /* @__PURE__ */ new Set();
1636 + function useVideoPreload() {
1637 + (0, react.useEffect)(() => {
1638 + let isMounted = true;
1639 + const preloadSequentially = async () => {
1640 + for (const url of getVideoUrls()) {
1641 + if (!isMounted) break;
1642 + if (preloadedUrls.has(url)) continue;
1643 + await waitForVideo(url);
1644 + }
1645 + };
1646 + preloadSequentially();
1647 + return () => {
1648 + isMounted = false;
1649 + };
1650 + }, []);
1651 + }
1652 + var waitForVideo = (url) => new Promise((resolve) => {
1653 + const video = document.createElement("video");
1654 + const cleanup = () => {
1655 + video.removeEventListener("canplaythrough", onCanPlayThrough);
1656 + video.removeEventListener("error", onError);
1657 + video.src = "";
1658 + video.load();
1659 + };
1660 + const onCanPlayThrough = () => {
1661 + preloadedUrls.add(url);
1662 + cleanup();
1663 + resolve();
1664 + };
1665 + const onError = () => {
1666 + cleanup();
1667 + resolve();
1668 + };
1669 + video.addEventListener("canplaythrough", onCanPlayThrough);
1670 + video.addEventListener("error", onError);
1671 + video.preload = "auto";
1672 + video.src = url;
1673 + video.load();
1674 + });
607 1675
1676 +//#endregion
1677 +//#region packages/apps/onboarding/src/components/fullscreen-card.tsx
1678 + var BACKDROP_OPACITY = .6;
1679 + var FullscreenCardRoot = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => prop !== "background" })(({ theme, background }) => ({
1680 + position: "relative",
1681 + minHeight: "100%",
1682 + width: "100%",
1683 + display: "flex",
1684 + alignItems: "center",
1685 + justifyContent: "center",
1686 + padding: theme.spacing(4),
1687 + background
1688 + }));
1689 + var Backdrop = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
1690 + position: "absolute",
1691 + inset: 0,
1692 + backgroundColor: theme.palette.mode === "dark" ? theme.palette.common.black : theme.palette.text.primary,
1693 + opacity: BACKDROP_OPACITY
1694 + }));
1695 + var Card = (0, _elementor_ui.styled)(_elementor_ui.Paper)(({ theme }) => ({
1696 + width: 512,
1697 + maxWidth: "90%",
1698 + padding: theme.spacing(6, 6, 5),
1699 + borderRadius: theme.shape.borderRadius * 2,
1700 + boxShadow: theme.shadows[24],
1701 + display: "flex",
1702 + flexDirection: "column",
1703 + alignItems: "center",
1704 + gap: theme.spacing(3),
1705 + position: "relative",
1706 + zIndex: 1
1707 + }));
1708 + var PrimaryButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => ({
1709 + borderRadius: theme.shape.borderRadius,
1710 + textTransform: "none",
1711 + fontSize: theme.typography.pxToRem(15),
1712 + fontWeight: 500,
1713 + letterSpacing: "0.46px",
1714 + lineHeight: theme.typography.pxToRem(26),
1715 + padding: theme.spacing(1, 2.75),
1716 + minHeight: theme.spacing(6)
1717 + }));
1718 + var SecondaryButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => ({
1719 + display: "flex",
1720 + alignItems: "center",
1721 + justifyContent: "center",
1722 + flexWrap: "wrap",
1723 + gap: theme.spacing(1),
1724 + border: `1px solid ${theme.palette.divider}`,
1725 + borderRadius: theme.shape.borderRadius,
1726 + textTransform: "none",
1727 + fontSize: theme.typography.pxToRem(15),
1728 + fontWeight: 500,
1729 + letterSpacing: "0.46px",
1730 + lineHeight: theme.typography.pxToRem(26),
1731 + padding: theme.spacing(1, 3)
1732 + }));
1733 + var SocialIconWrapper = (0, _elementor_ui.styled)(_elementor_ui.Paper)(({ theme }) => ({
1734 + backgroundColor: theme.palette.background.paper,
1735 + backgroundImage: theme.palette.mode === "dark" ? "linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))" : "none",
1736 + width: theme.spacing(3.5),
1737 + height: theme.spacing(3.5),
1738 + borderRadius: "50%",
1739 + border: `1px solid ${theme.palette.divider}`,
1740 + boxShadow: "none",
1741 + display: "flex",
1742 + alignItems: "center",
1743 + justifyContent: "center",
1744 + marginLeft: theme.spacing(-1),
1745 + "&:first-of-type": {
1746 + marginLeft: 0,
1747 + zIndex: 1
1748 + },
1749 + "&:nth-of-type(2)": { zIndex: 2 },
1750 + "&:nth-of-type(3)": { zIndex: 3 },
1751 + "& svg": {
1752 + width: theme.spacing(2.5),
1753 + height: theme.spacing(2.5)
1754 + }
1755 + }));
1756 + var TextButton = (0, _elementor_ui.styled)(_elementor_ui.Link)(({ theme }) => ({
1757 + textTransform: "none",
1758 + fontSize: theme.typography.pxToRem(13),
1759 + fontWeight: 500,
1760 + letterSpacing: "0.46px",
1761 + lineHeight: theme.typography.pxToRem(22)
1762 + }));
1763 + function FullscreenCard({ children, "data-testid": testId }) {
1764 + const { background } = getLoginVisualConfig();
1765 + return /* @__PURE__ */ react.createElement(FullscreenCardRoot, {
1766 + background,
1767 + "data-testid": testId
1768 + }, /* @__PURE__ */ react.createElement(Backdrop, null), /* @__PURE__ */ react.createElement(Card, { elevation: 24 }, children));
1769 + }
608 1770
1771 +//#endregion
1772 +//#region packages/apps/onboarding/src/components/ui/elementor-icon.tsx
1773 + function ElementorIcon(props) {
1774 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
1775 + viewBox: "0 0 32 32",
1776 + ...props
1777 + }, /* @__PURE__ */ react.createElement("path", {
1778 + d: "M15.93 0C7.13 0 0 7.16 0 16s7.13 16 15.93 16c8.8 0 15.93-7.16 15.93-16S24.73 0 15.93 0zM11.15 24H7.97V8h3.18v16zm12.74 0h-9.56v-3.2h9.56V24zm0-6.4h-9.56v-3.2h9.56v3.2zm0-6.4h-9.56V8h9.56v3.2z",
1779 + fill: "currentColor"
1780 + }));
1781 + }
609 1782
1783 +//#endregion
1784 +//#region packages/apps/onboarding/src/steps/screens/login.tsx
1785 + function Login({ onConnect, onSignUp, onContinueAsGuest }) {
1786 + const theme = (0, _elementor_ui.useTheme)();
1787 + return /* @__PURE__ */ react.createElement(FullscreenCard, { "data-testid": "login-screen" }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
1788 + display: "flex",
1789 + alignItems: "center",
1790 + marginBottom: -1
1791 + }, /* @__PURE__ */ react.createElement(ElementorIcon, { sx: {
1792 + width: 32,
1793 + height: 32
1794 + } })), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
1795 + variant: "h5",
1796 + color: "text.primary",
1797 + align: "center",
1798 + fontWeight: 500,
1799 + fontFamily: "Poppins"
1800 + }, t("login.title")), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
1801 + width: "100%",
1802 + gap: theme.spacing(2)
1803 + }, /* @__PURE__ */ react.createElement(PrimaryButton, {
1804 + variant: "contained",
1805 + color: "primary",
1806 + fullWidth: true,
1807 + size: "large",
1808 + onClick: onConnect
1809 + }, t("login.sign_in")), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, { spacing: 6 }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
1810 + spacing: 2,
1811 + alignItems: "center"
1812 + }, /* @__PURE__ */ react.createElement(SecondaryButton, {
1813 + onClick: onSignUp,
1814 + variant: "outlined",
1815 + color: "primary",
1816 + fullWidth: true
1817 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
1818 + display: "flex",
1819 + alignItems: "center"
1820 + }, /* @__PURE__ */ react.createElement(SocialIconWrapper, { elevation: 24 }, /* @__PURE__ */ react.createElement(GoogleIcon, null)), /* @__PURE__ */ react.createElement(SocialIconWrapper, { elevation: 24 }, /* @__PURE__ */ react.createElement(FacebookIcon, null)), /* @__PURE__ */ react.createElement(SocialIconWrapper, { elevation: 24 }, /* @__PURE__ */ react.createElement(AppleIcon, null))), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
1821 + variant: "button",
1822 + fontWeight: "500"
1823 + }, t("login.continue_another_way")))), /* @__PURE__ */ react.createElement(TextButton, {
1824 + href: "#",
1825 + color: "info.main",
1826 + align: "center",
1827 + variant: "body2",
1828 + onClick: (event) => onContinueAsGuest?.(event),
1829 + sx: { textDecoration: "none" }
1830 + }, t("common.skip")))));
1831 + }
610 1832
1833 +//#endregion
1834 +//#region packages/apps/onboarding/src/components/toast/toast-context.tsx
1835 + var AUTO_HIDE_DURATION = 8e3;
1836 + var ToastContext = (0, react.createContext)(null);
1837 + function ToastProvider({ children }) {
1838 + const [toasts, setToasts] = (0, react.useState)([]);
1839 + const idCounter = (0, react.useRef)(0);
1840 + const showToast = (0, react.useCallback)((message) => {
1841 + const id = String(++idCounter.current);
1842 + setToasts((prev) => [...prev, {
1843 + id,
1844 + message
1845 + }]);
1846 + }, []);
1847 + const dismissToast = (0, react.useCallback)((id) => {
1848 + setToasts((prev) => prev.filter((t) => t.id !== id));
1849 + }, []);
1850 + const value = (0, react.useMemo)(() => ({
1851 + showToast,
1852 + dismissToast
1853 + }), [showToast, dismissToast]);
1854 + const currentToast = toasts[0] ?? null;
1855 + const handleClose = (0, react.useCallback)((_event, reason) => {
1856 + if (reason === "clickaway") return;
1857 + if (currentToast) dismissToast(currentToast.id);
1858 + }, [currentToast, dismissToast]);
1859 + return /* @__PURE__ */ react.createElement(ToastContext.Provider, { value }, children, /* @__PURE__ */ react.createElement(_elementor_ui.Snackbar, {
1860 + open: !!currentToast,
1861 + autoHideDuration: AUTO_HIDE_DURATION,
1862 + onClose: handleClose,
1863 + anchorOrigin: {
1864 + vertical: "top",
1865 + horizontal: "center"
1866 + },
1867 + ContentProps: {
1868 + elevation: 6,
1869 + sx: {
1870 + borderRadius: "4px",
1871 + "& .MuiSnackbarContent-action": {
1872 + gap: "4px",
1873 + marginInlineStart: "4px"
1874 + }
1875 + }
1876 + },
1877 + message: currentToast?.message,
1878 + action: /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, {
1879 + size: "small",
1880 + "aria-label": "close",
1881 + color: "inherit",
1882 + onClick: handleClose
1883 + }, /* @__PURE__ */ react.createElement(_elementor_icons.XIcon, { fontSize: "small" }))
1884 + }));
1885 + }
1886 + function useToast() {
1887 + const ctx = (0, react.useContext)(ToastContext);
1888 + if (!ctx) throw new Error("useToast must be used within a ToastProvider");
1889 + return ctx;
1890 + }
611 1891
1892 +//#endregion
1893 +//#region packages/apps/onboarding/src/hooks/use-install-pro.ts
1894 + async function installProRequest() {
1895 + const config = getConfig();
1896 + if (!config) throw new Error("Onboarding config not found");
1897 + const response = await fetch(`${config.restUrl}install-pro`, {
1898 + method: "POST",
1899 + headers: {
1900 + "Content-Type": "application/json",
1901 + "X-WP-Nonce": config.nonce
1902 + }
1903 + });
1904 + if (!response.ok) {
1905 + const error = await response.json().catch(() => null);
1906 + throw new Error(error?.message || "Failed to install Elementor Pro");
1907 + }
1908 + return (await response.json()).data;
1909 + }
1910 + function useInstallPro() {
1911 + return (0, _elementor_query.useMutation)({ mutationFn: () => withRetry(installProRequest) });
1912 + }
612 1913
1914 +//#endregion
1915 +//#region packages/apps/onboarding/src/steps/screens/pro-install.tsx
1916 + var ProLogo = (0, _elementor_ui.styled)("img")(({ theme }) => ({
1917 + maxWidth: 200,
1918 + height: "auto",
1919 + margin: theme.spacing(1, 0)
1920 + }));
1921 + function ProInstall() {
1922 + const { actions } = useOnboarding();
1923 + const installPro = useInstallPro();
1924 + const { showToast } = useToast();
1925 + const { trackProInstall, trackStepViewed, trackErrorReported } = useOnboardingEvent();
1926 + const hasTrackedView = (0, react.useRef)(false);
1927 + (0, react.useEffect)(() => {
1928 + if (!hasTrackedView.current) {
1929 + hasTrackedView.current = true;
1930 + trackStepViewed("pro_install");
1931 + }
1932 + }, [trackStepViewed]);
1933 + function handleInstall() {
1934 + trackProInstall("install");
1935 + installPro.mutate(void 0, {
1936 + onSuccess: () => {
1937 + actions.markProInstalled();
1938 + },
1939 + onError: (error) => {
1940 + trackErrorReported({
1941 + targetType: "install",
1942 + targetName: "install_pro_on_this_site",
1943 + stepId: "pro_install",
1944 + errorBody: error instanceof Error ? error.message : "Failed to install Elementor Pro"
1945 + });
1946 + showToast(t("error.pro_install_failed"));
1947 + actions.dismissProInstallScreen();
1948 + }
1949 + });
1950 + }
1951 + function handleDismiss(event) {
1952 + event.preventDefault();
1953 + trackProInstall("later");
1954 + actions.dismissProInstallScreen();
1955 + }
1956 + const isInstalling = installPro.isPending;
1957 + return /* @__PURE__ */ react.createElement(FullscreenCard, { "data-testid": "pro-install-screen" }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
1958 + variant: "h5",
1959 + color: "text.primary",
1960 + align: "center",
1961 + fontWeight: 500,
1962 + fontFamily: "Poppins",
1963 + marginBottom: -2
1964 + }, t("pro_install.title")), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
1965 + variant: "body2",
1966 + align: "center",
1967 + color: "text.secondary"
1968 + }, isInstalling ? t("pro_install.installing") : t("pro_install.subtitle")), /* @__PURE__ */ react.createElement(ProLogo, {
1969 + src: getOnboardingAssetUrl("install-pro-logo.png"),
1970 + alt: t("pro_install.logo_alt")
1971 + }), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
1972 + spacing: 2,
1973 + width: "100%",
1974 + alignItems: "center"
1975 + }, /* @__PURE__ */ react.createElement(PrimaryButton, {
1976 + variant: "contained",
1977 + color: "primary",
1978 + fullWidth: true,
1979 + size: "large",
1980 + onClick: handleInstall,
1981 + disabled: isInstalling,
1982 + startIcon: isInstalling ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, {
1983 + size: 18,
1984 + color: "inherit"
1985 + }) : void 0
1986 + }, isInstalling ? t("pro_install.installing_short") : t("pro_install.install_button")), /* @__PURE__ */ react.createElement(TextButton, {
1987 + href: "#",
1988 + align: "center",
1989 + onClick: (event) => handleDismiss(event),
1990 + disabled: isInstalling,
1991 + sx: { textDecoration: "none" }
1992 + }, t("pro_install.do_it_later"))));
1993 + }
613 1994
1995 +//#endregion
1996 +//#region packages/apps/onboarding/src/components/ui/styled-components.ts
1997 + var GREETING_BANNER_BG_COLOR_LIGHT = "#fae4fa";
1998 + var GREETING_BANNER_BG_COLOR_DARK = "#491146";
1999 + var StepTitle = (0, _elementor_ui.styled)(_elementor_ui.Typography)({
2000 + fontWeight: 500,
2001 + fontFamily: "Poppins"
2002 + });
2003 + var GreetingBannerRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2004 + display: "inline-flex",
2005 + alignItems: "center",
2006 + justifyContent: "center",
2007 + paddingInline: theme.spacing(3),
2008 + paddingBlock: theme.spacing(1.5),
2009 + borderRadius: 16,
2010 + backgroundColor: theme.palette.mode === "dark" ? GREETING_BANNER_BG_COLOR_DARK : GREETING_BANNER_BG_COLOR_LIGHT,
2011 + alignSelf: "flex-start"
2012 + }));
614 2013
2014 +//#endregion
2015 +//#region packages/apps/onboarding/src/components/ui/selection-badge.tsx
2016 + var SelectionBadgeRoot = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => "variant" !== prop })(({ theme, variant }) => ({
2017 + position: "absolute",
2018 + top: theme.spacing(-1),
2019 + insetInlineEnd: theme.spacing(-1),
2020 + display: "flex",
2021 + alignItems: "center",
2022 + justifyContent: "center",
2023 + width: theme.spacing(2.25),
2024 + height: theme.spacing(2.25),
2025 + borderRadius: "50%",
2026 + backgroundColor: variant === "paid" ? theme.palette.promotion.main : theme.palette.text.primary,
2027 + color: theme.palette.common.white,
2028 + "& .MuiSvgIcon-root": { fontSize: theme.typography.pxToRem(14) }
2029 + }));
2030 + function SelectionBadge({ icon: Icon, variant = "free" }) {
2031 + const theme = (0, _elementor_ui.useTheme)();
2032 + return /* @__PURE__ */ react.createElement(SelectionBadgeRoot, { variant }, /* @__PURE__ */ react.createElement(Icon, { sx: { fill: variant === "paid" ? theme.palette.common.white : theme.palette.secondary.contrastText } }));
2033 + }
615 2034
2035 +//#endregion
2036 +//#region packages/apps/onboarding/src/steps/components/site-features/pro-plan-notice.tsx
2037 + var PRO_PLAN_NOTICE_BG_LIGHT = "#FAE4FA";
2038 + var PRO_PLAN_NOTICE_BG_DARK = "#491146";
2039 + var ProPlanNoticeRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2040 + display: "flex",
2041 + alignItems: "center",
2042 + gap: theme.spacing(1),
2043 + padding: theme.spacing(1.5, 3),
2044 + borderRadius: theme.spacing(2),
2045 + backgroundColor: theme.palette.mode === "dark" ? PRO_PLAN_NOTICE_BG_DARK : PRO_PLAN_NOTICE_BG_LIGHT,
2046 + width: "max-content",
2047 + gridColumn: "1 / -1",
2048 + marginBlockStart: theme.spacing(2),
2049 + [theme.breakpoints.down("sm")]: {
2050 + flexDirection: "column",
2051 + justifyContent: "center",
2052 + justifySelf: "center"
2053 + }
2054 + }));
2055 + function ProPlanNotice({ planName }) {
2056 + const { urls, choices } = useOnboarding();
2057 + const { trackProFeaturesSelected } = useOnboardingEvent();
2058 + const comparePlansUrl = urls.comparePlans;
2059 + const theme = (0, _elementor_ui.useTheme)();
2060 + const isOne = "One" === planName;
2061 + const handleComparePlansClick = (0, react.useCallback)(() => {
2062 + trackProFeaturesSelected({
2063 + targetName: "compare plans",
2064 + features: choices.site_features || []
2065 + });
2066 + }, [trackProFeaturesSelected, choices.site_features]);
2067 + return /* @__PURE__ */ react.createElement(ProPlanNoticeRoot, null, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2068 + direction: "row",
2069 + spacing: 1.5,
2070 + alignItems: "center"
2071 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2072 + variant: "body2",
2073 + color: "text.primary",
2074 + fontSize: theme.spacing(2)
2075 + }, isOne ? t("steps.site_features.plan_recommendation_one") : t("steps.site_features.plan_recommendation_pro"))), /* @__PURE__ */ react.createElement(_elementor_ui.Link, {
2076 + href: comparePlansUrl,
2077 + target: "_blank",
2078 + color: theme.palette.mode === "dark" ? "common.white" : "promotion.main",
2079 + onClick: handleComparePlansClick,
2080 + sx: {
2081 + display: "flex",
2082 + alignItems: "center",
2083 + gap: theme.spacing(.25),
2084 + fontSize: theme.spacing(2),
2085 + "&:hover": {
2086 + textDecoration: "underline",
2087 + textDecorationColor: "rgba(147, 0, 63, 0.4)"
2088 + },
2089 + "& > svg": { fontSize: "inherit" }
2090 + }
2091 + }, t("steps.site_features.compare_plans"), /* @__PURE__ */ react.createElement(_elementor_icons.ArrowUpRightIcon, null)));
2092 + }
616 2093
2094 +//#endregion
2095 +//#region packages/apps/onboarding/src/steps/components/site-features/feature-grid.tsx
2096 + var CornerChip = (0, _elementor_ui.styled)(_elementor_ui.Chip)(({ theme }) => ({
2097 + position: "absolute",
2098 + insetBlockStart: theme.spacing(.75),
2099 + insetInlineStart: theme.spacing(.75),
2100 + height: theme.spacing(2.25),
2101 + "& .MuiChip-label": {
2102 + fontSize: theme.spacing(1.5),
2103 + padding: `${theme.spacing(.375)} ${theme.spacing(.625)}`
2104 + }
2105 + }));
2106 + var FeatureCard = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => !["isSelected", "isCore"].includes(prop) })(({ theme, isSelected, isCore }) => ({
2107 + position: "relative",
2108 + display: "flex",
2109 + flexDirection: "column",
2110 + alignItems: "center",
2111 + justifyContent: "center",
2112 + aspectRatio: "1",
2113 + minHeight: theme.spacing(12),
2114 + padding: theme.spacing(2),
2115 + borderRadius: theme.spacing(1),
2116 + border: isSelected ? `2px solid ${theme.palette.text.primary}` : `1px solid ${theme.palette.divider}`,
2117 + cursor: isCore ? "default" : "pointer",
2118 + transition: "border-color 0.2s ease, background-color 0.2s ease",
2119 + ...!isCore && { "&:hover": { backgroundColor: theme.palette.action.hover } }
2120 + }));
2121 + function FeatureGrid({ options, selectedValues, onFeatureClick }) {
2122 + const theme = (0, _elementor_ui.useTheme)();
2123 + const isPaid = (licenseType) => licenseType === "pro" || licenseType === "one";
2124 + const selectedPaidFeatures = selectedValues.filter((id) => {
2125 + const featureOption = options.find((item) => item.id === id);
2126 + return featureOption && isPaid(featureOption.licenseType);
2127 + });
2128 + const shouldDisplayProPlanNotice = selectedPaidFeatures.length > 0;
2129 + const planName = selectedPaidFeatures.some((id) => {
2130 + return options.find((item) => item.id === id)?.licenseType === "one";
2131 + }) ? "One" : "Pro";
2132 + const handleKeyDown = (event, handler) => {
2133 + if (["Enter", " "].includes(event.key)) {
2134 + event.preventDefault();
2135 + handler();
2136 + }
2137 + };
2138 + return /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
2139 + justifyContent: "center",
2140 + sx: {
2141 + display: "grid",
2142 + gridTemplateColumns: {
2143 + xs: "repeat(auto-fit, minmax(100px, 135px))",
2144 + sm: "repeat(4, 140px)",
2145 + md: "repeat(5, 140px)"
2146 + },
2147 + gap: 2,
2148 + width: "100%"
2149 + }
2150 + }, options.map((option) => {
2151 + const isSelected = selectedValues.includes(option.id);
2152 + const Icon = option.Icon;
2153 + const isOptionPaid = isPaid(option.licenseType);
2154 + const BadgeIcon = isOptionPaid ? _elementor_icons.CrownFilledIcon : _elementor_icons.CheckIcon;
2155 + const isCore = option.licenseType === "core";
2156 + const handleClick = () => onFeatureClick(option.id);
2157 + const handleKeyDownEvent = isCore ? void 0 : (event) => handleKeyDown(event, handleClick);
2158 + return /* @__PURE__ */ react.createElement(FeatureCard, {
2159 + key: option.id,
2160 + "data-testid": `feature-card-${option.id}`,
2161 + isSelected,
2162 + isCore,
2163 + onClick: isCore ? void 0 : handleClick,
2164 + role: isCore ? void 0 : "button",
2165 + tabIndex: isCore ? void 0 : 0,
2166 + onKeyDown: handleKeyDownEvent,
2167 + "aria-pressed": isCore ? void 0 : isSelected,
2168 + "aria-label": isCore ? void 0 : t(option.labelKey)
2169 + }, isCore && /* @__PURE__ */ react.createElement(CornerChip, {
2170 + label: t("steps.site_features.included"),
2171 + size: "small"
2172 + }), isSelected && /* @__PURE__ */ react.createElement(SelectionBadge, {
2173 + icon: BadgeIcon,
2174 + variant: isOptionPaid ? "paid" : "free"
2175 + }), /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
2176 + className: "feature-icon",
2177 + display: "flex",
2178 + alignItems: "center",
2179 + justifyContent: "center",
2180 + color: "primary.dark",
2181 + width: theme.spacing(4),
2182 + height: theme.spacing(4),
2183 + sx: {
2184 + mt: 2,
2185 + mb: 1
2186 + }
2187 + }, /* @__PURE__ */ react.createElement(Icon, { sx: {
2188 + width: theme.spacing(4),
2189 + height: theme.spacing(4),
2190 + fontSize: theme.spacing(4)
2191 + } })), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2192 + variant: "body2",
2193 + color: "text.secondary",
2194 + display: "flex",
2195 + alignItems: "center",
2196 + align: "center",
2197 + sx: { minHeight: theme.spacing(5) }
2198 + }, t(option.labelKey)));
2199 + }), shouldDisplayProPlanNotice && /* @__PURE__ */ react.createElement(ProPlanNotice, { planName }));
2200 + }
617 2201
2202 +//#endregion
2203 +//#region packages/apps/onboarding/src/steps/screens/site-features.tsx
2204 + var FEATURE_OPTION_IDS = new Set(FEATURE_OPTIONS.map((featureOption) => featureOption.id));
2205 + function SiteFeatures() {
2206 + const { choices, actions } = useOnboarding();
2207 + const theme = (0, _elementor_ui.useTheme)();
2208 + const rawSiteFeatures = choices.site_features;
2209 + const storedSelectableFeatures = (0, react.useMemo)(() => (rawSiteFeatures || []).filter((id) => FEATURE_OPTION_IDS.has(id) && !CORE_FEATURE_IDS.has(id)), [rawSiteFeatures]);
2210 + const selectedValues = (0, react.useMemo)(() => {
2211 + const combined = [...CORE_FEATURE_IDS, ...storedSelectableFeatures];
2212 + return combined.filter((id, index) => combined.indexOf(id) === index);
2213 + }, [storedSelectableFeatures]);
2214 + function handleFeatureClick(id) {
2215 + if (CORE_FEATURE_IDS.has(id)) return;
2216 + const updatedSelectableFeatures = storedSelectableFeatures.includes(id) ? storedSelectableFeatures.filter((featureId) => featureId !== id) : [...storedSelectableFeatures, id];
2217 + actions.setUserChoice("site_features", updatedSelectableFeatures);
2218 + }
2219 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2220 + spacing: 4,
2221 + width: "100%",
2222 + "data-testid": "site-features-step"
2223 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2224 + spacing: 1,
2225 + textAlign: "center",
2226 + alignItems: "center"
2227 + }, /* @__PURE__ */ react.createElement(StepTitle, {
2228 + color: "text.primary",
2229 + variant: "h5",
2230 + align: "center",
2231 + paddingBlockStart: theme.spacing(2.5)
2232 + }, t("steps.site_features.title")), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2233 + variant: "body1",
2234 + color: "text.secondary"
2235 + }, t("steps.site_features.subtitle"))), /* @__PURE__ */ react.createElement(FeatureGrid, {
2236 + options: FEATURE_OPTIONS,
2237 + selectedValues,
2238 + onFeatureClick: handleFeatureClick
2239 + }));
2240 + }
618 2241
2242 +//#endregion
2243 +//#region packages/apps/onboarding/src/components/theme-selection/constants.ts
2244 + var HELLO_THEME = {
2245 + slug: "hello-elementor",
2246 + labelKey: "steps.theme_selection.theme_hello_label",
2247 + descriptionKey: "steps.theme_selection.theme_hello_description",
2248 + previewBgColor: "#f6f6f6"
2249 + };
2250 + function getGreetingText(experienceLevel) {
2251 + if (experienceLevel === "beginner") return t("steps.theme_selection.greeting_beginner");
2252 + return t("steps.theme_selection.greeting_default");
2253 + }
619 2254
2255 +//#endregion
2256 +//#region packages/apps/onboarding/src/components/theme-selection/styled-components.ts
2257 + var InstalledChip = (0, _elementor_ui.styled)(_elementor_ui.Chip)(({ theme }) => ({
2258 + position: "absolute",
2259 + insetBlockStart: theme.spacing(1),
2260 + insetInlineStart: theme.spacing(1),
2261 + zIndex: 1,
2262 + backgroundColor: theme.palette.success.main,
2263 + color: theme.palette.success.contrastText,
2264 + "& .MuiChip-icon": { color: "inherit" }
2265 + }));
620 2266
2267 +//#endregion
2268 +//#region packages/apps/onboarding/src/components/theme-selection/hello-theme-preview.tsx
2269 + var HELLO_BADGE_BG_COLOR = "#ED01EE";
2270 + var LEFT_CARD_SIZE = 120;
2271 + var RIGHT_CARD_SIZE = 144;
2272 + var CARDS_OVERLAP = 15;
2273 + var PLUS_SIZE = 32;
2274 + var PreviewRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)({
2275 + position: "relative",
2276 + display: "flex",
2277 + alignItems: "center",
2278 + justifyContent: "center"
2279 + });
2280 + var ElementorPlaceholderCard = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2281 + display: "flex",
2282 + alignItems: "center",
2283 + justifyContent: "center",
2284 + inlineSize: LEFT_CARD_SIZE,
2285 + blockSize: LEFT_CARD_SIZE,
2286 + borderRadius: theme.spacing(1.25),
2287 + border: `2px dashed ${theme.palette.divider}`,
2288 + backgroundColor: "#F4F4F4",
2289 + flexShrink: 0
2290 + }));
2291 + var HelloCard = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2292 + position: "relative",
2293 + display: "flex",
2294 + flexDirection: "column",
2295 + alignItems: "center",
2296 + justifyContent: "flex-start",
2297 + gap: theme.spacing(1.5),
2298 + inlineSize: RIGHT_CARD_SIZE,
2299 + blockSize: RIGHT_CARD_SIZE,
2300 + paddingBlockStart: theme.spacing(5.5),
2301 + paddingBlockEnd: theme.spacing(2.5),
2302 + borderRadius: theme.spacing(1.25),
2303 + border: `2px solid ${theme.palette.text.primary}`,
2304 + backgroundColor: theme.palette.background.paper,
2305 + marginInlineStart: `-${CARDS_OVERLAP}px`,
2306 + flexShrink: 0,
2307 + zIndex: 1
2308 + }));
2309 + var HelloBadge = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2310 + position: "absolute",
2311 + insetBlockStart: theme.spacing(-1.5),
2312 + insetInlineEnd: theme.spacing(-1.5),
2313 + paddingBlock: theme.spacing(.375),
2314 + paddingInline: theme.spacing(1),
2315 + borderRadius: theme.spacing(2.5),
2316 + backgroundColor: HELLO_BADGE_BG_COLOR,
2317 + color: theme.palette.common.white,
2318 + zIndex: 2
2319 + }));
2320 + var PlusOverlay = (0, _elementor_ui.styled)(_elementor_ui.Box)({
2321 + position: "absolute",
2322 + insetBlockStart: "50%",
2323 + insetInlineStart: `${LEFT_CARD_SIZE - CARDS_OVERLAP}px`,
2324 + transform: "translate(-50%, -50%)",
2325 + display: "flex",
2326 + alignItems: "center",
2327 + justifyContent: "center",
2328 + zIndex: 3,
2329 + pointerEvents: "none"
2330 + });
2331 + function HelloThemePreview({ isInstalled = false }) {
2332 + const theme = (0, _elementor_ui.useTheme)();
2333 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2334 + alignItems: "center",
2335 + width: "100%",
2336 + "data-testid": "hello-theme-preview"
2337 + }, /* @__PURE__ */ react.createElement(PreviewRoot, null, /* @__PURE__ */ react.createElement(ElementorPlaceholderCard, null, /* @__PURE__ */ react.createElement(ElementorLogoIcon, { sx: { fontSize: theme.spacing(5.5) } })), /* @__PURE__ */ react.createElement(HelloCard, null, isInstalled ? /* @__PURE__ */ react.createElement(InstalledChip, {
2338 + label: t("common.installed"),
2339 + size: "small",
2340 + color: "success",
2341 + icon: /* @__PURE__ */ react.createElement(_elementor_icons.CheckedCircleIcon, null),
2342 + sx: {
2343 + position: "absolute",
2344 + insetBlockStart: theme.spacing(1),
2345 + insetInlineStart: theme.spacing(1),
2346 + zIndex: 2
2347 + }
2348 + }) : /* @__PURE__ */ react.createElement(HelloBadge, null, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2349 + variant: "caption",
2350 + color: "inherit",
2351 + sx: {
2352 + fontWeight: 400,
2353 + lineHeight: 1.5
2354 + }
2355 + }, t("steps.theme_selection.theme_hello_label"))), /* @__PURE__ */ react.createElement(HelloLayoutIcon, { sx: {
2356 + fontSize: theme.spacing(6),
2357 + color: "text.primary"
2358 + } }), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2359 + variant: "caption",
2360 + color: "text.secondary"
2361 + }, t("steps.theme_selection.by_elementor"))), /* @__PURE__ */ react.createElement(PlusOverlay, null, /* @__PURE__ */ react.createElement(PlusIcon, {
2362 + sx: {
2363 + width: PLUS_SIZE,
2364 + height: PLUS_SIZE,
2365 + color: "text.primary"
2366 + },
2367 + strokeColor: theme.palette.mode === "dark" ? theme.palette.common.black : theme.palette.common.white
2368 + }))));
2369 + }
621 2370
2371 +//#endregion
2372 +//#region packages/apps/onboarding/src/components/ui/footer-highlights.tsx
2373 + function FooterHighlights({ items, testId = "footer-highlights", sx }) {
2374 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2375 + direction: "row",
2376 + alignItems: "center",
2377 + justifyContent: "center",
2378 + gap: 3,
2379 + "data-testid": testId,
2380 + sx
2381 + }, items.map((item) => /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2382 + key: item.labelKey,
2383 + direction: "row",
2384 + alignItems: "center",
2385 + gap: .75
2386 + }, /* @__PURE__ */ react.createElement(_elementor_icons.CircleCheckFilledIcon, {
2387 + fontSize: "tiny",
2388 + sx: { color: "text.secondary" }
2389 + }), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2390 + variant: "body2",
2391 + sx: { color: "text.secondary" }
2392 + }, t(item.labelKey)))));
2393 + }
622 2394
2395 +//#endregion
2396 +//#region packages/apps/onboarding/src/components/ui/greeting-banner.tsx
2397 + function GreetingBanner({ children }) {
2398 + return /* @__PURE__ */ react.createElement(GreetingBannerRoot, null, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2399 + variant: "body1",
2400 + color: "text.primary",
2401 + align: "center"
2402 + }, children));
2403 + }
623 2404
2405 +//#endregion
2406 +//#region packages/apps/onboarding/src/steps/theme-selection-footer.ts
2407 + var THEME_SELECTION_FOOTER_HIGHLIGHTS = [
2408 + { labelKey: "steps.theme_selection.highlight_fast" },
2409 + { labelKey: "steps.theme_selection.highlight_responsive" },
2410 + { labelKey: "steps.theme_selection.highlight_built_for_elementor" }
2411 + ];
624 2412
2413 +//#endregion
2414 +//#region packages/apps/onboarding/src/steps/screens/theme-selection.tsx
2415 + function ThemeSelection() {
2416 + const { choices, completedSteps } = useOnboarding();
2417 + const isStepCompleted = completedSteps.includes(StepId.THEME_SELECTION);
2418 + const isInstalled = (getConfig()?.isHelloThemeActive ?? false) || isStepCompleted && choices.theme_selection === HELLO_THEME.slug;
2419 + const greetingText = (0, react.useMemo)(() => getGreetingText(null), []);
2420 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2421 + spacing: 7.5,
2422 + width: "100%",
2423 + sx: { flex: 1 },
2424 + "data-testid": "theme-selection-step"
2425 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2426 + width: "100%",
2427 + maxWidth: 386,
2428 + alignSelf: "center"
2429 + }, /* @__PURE__ */ react.createElement(GreetingBanner, null, greetingText)), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2430 + useFlexGap: true,
2431 + spacing: 4,
2432 + alignItems: "center",
2433 + width: "100%"
2434 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2435 + spacing: 1,
2436 + textAlign: "center",
2437 + alignItems: "center"
2438 + }, /* @__PURE__ */ react.createElement(StepTitle, {
2439 + color: "text.primary",
2440 + variant: "h5",
2441 + align: "center"
2442 + }, t("steps.theme_selection.v2.title")), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2443 + variant: "body1",
2444 + color: "text.secondary"
2445 + }, t("steps.theme_selection.v2.subtitle"))), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2446 + useFlexGap: true,
2447 + alignItems: "center",
2448 + width: "100%",
2449 + sx: { gap: "60px" }
2450 + }, /* @__PURE__ */ react.createElement(HelloThemePreview, { isInstalled }), /* @__PURE__ */ react.createElement(FooterHighlights, {
2451 + items: THEME_SELECTION_FOOTER_HIGHLIGHTS,
2452 + testId: "theme-selection-highlights"
2453 + }))));
2454 + }
625 2455
2456 +//#endregion
2457 +//#region packages/apps/onboarding/src/components/ui/base-layout.tsx
2458 + var TOPBAR_HEIGHT = 48;
2459 + var FOOTER_HEIGHT = 68;
2460 + var LayoutRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2461 + position: "fixed",
2462 + inset: 0,
2463 + display: "flex",
2464 + flexDirection: "column",
2465 + background: theme.palette.background.default,
2466 + zIndex: theme.zIndex?.modal || 1300
2467 + }));
2468 + var ContentArea = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => !["topBarHeight", "footerHeight"].includes(prop) })(({ topBarHeight, footerHeight }) => ({
2469 + flex: 1,
2470 + display: "flex",
2471 + flexDirection: "column",
2472 + overflow: "auto",
2473 + paddingTop: topBarHeight,
2474 + paddingBottom: footerHeight
2475 + }));
2476 + function BaseLayout({ children, topBar, footer, testId }) {
2477 + const topBarHeight = topBar ? 48 : 0;
2478 + const footerHeight = footer ? 68 : 0;
2479 + return /* @__PURE__ */ react.createElement(LayoutRoot, {
2480 + "data-module": "onboarding",
2481 + "data-testid": testId
2482 + }, topBar, /* @__PURE__ */ react.createElement(ContentArea, {
2483 + topBarHeight,
2484 + footerHeight
2485 + }, children), footer);
2486 + }
626 2487
2488 +//#endregion
2489 +//#region packages/apps/onboarding/src/components/ui/completion-screen.tsx
2490 + var PROGRESS_BAR_WIDTH = 192;
2491 + var ProgressTrack = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2492 + width: PROGRESS_BAR_WIDTH,
2493 + height: 4,
2494 + borderRadius: 22,
2495 + backgroundColor: theme.palette.action.hover,
2496 + position: "relative",
2497 + overflow: "hidden"
2498 + }));
2499 + var FAKE_PROGRESS_KEYFRAMES = {
2500 + "0%": { width: "0%" },
2501 + "30%": { width: "35%" },
2502 + "60%": { width: "55%" },
2503 + "80%": { width: "68%" },
2504 + "100%": { width: "75%" }
2505 + };
2506 + var ProgressFill = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2507 + position: "absolute",
2508 + left: 0,
2509 + top: 0,
2510 + height: "100%",
2511 + borderRadius: 22,
2512 + backgroundColor: theme.palette.text.primary,
2513 + animation: "onboarding-fake-progress 3s ease-out forwards",
2514 + "@keyframes onboarding-fake-progress": FAKE_PROGRESS_KEYFRAMES
2515 + }));
2516 + function CompletionScreen() {
2517 + return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: {
2518 + width: "100%",
2519 + height: "100vh",
2520 + display: "flex",
2521 + alignItems: "center",
2522 + justifyContent: "center",
2523 + bgcolor: "background.paper"
2524 + } }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2525 + spacing: 4,
2526 + alignItems: "center",
2527 + sx: {
2528 + maxWidth: 463,
2529 + width: "100%",
2530 + px: 3
2531 + }
2532 + }, /* @__PURE__ */ react.createElement(ProgressTrack, null, /* @__PURE__ */ react.createElement(ProgressFill, null)), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2533 + spacing: 1,
2534 + textAlign: "center"
2535 + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2536 + variant: "h5",
2537 + fontWeight: 500,
2538 + color: "text.primary"
2539 + }, t("completion.title")), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, {
2540 + variant: "body1",
2541 + color: "text.secondary"
2542 + }, t("completion.subtitle")))));
2543 + }
627 2544
2545 +//#endregion
2546 +//#region packages/apps/onboarding/src/components/ui/footer.tsx
2547 + var FooterRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2548 + position: "fixed",
2549 + bottom: 0,
2550 + left: 0,
2551 + right: 0,
2552 + height: 68,
2553 + display: "flex",
2554 + alignItems: "center",
2555 + justifyContent: "space-between",
2556 + padding: theme.spacing(2, 3),
2557 + background: theme.palette.background.paper,
2558 + boxShadow: theme.shadows[4],
2559 + zIndex: theme.zIndex?.appBar || 1100
2560 + }));
2561 + function Footer({ children }) {
2562 + return /* @__PURE__ */ react.createElement(FooterRoot, { component: "footer" }, children);
2563 + }
628 2564
2565 +//#endregion
2566 +//#region packages/apps/onboarding/src/components/ui/footer-actions.tsx
2567 + var LeftActions = (0, _elementor_ui.styled)(_elementor_ui.Box)({
2568 + display: "flex",
2569 + alignItems: "center",
2570 + gap: 8
2571 + });
2572 + var RightActions = (0, _elementor_ui.styled)(_elementor_ui.Box)({
2573 + display: "flex",
2574 + alignItems: "center",
2575 + gap: 8
2576 + });
2577 + var DirectionalArrowLeftIcon = (0, _elementor_ui.withDirection)(_elementor_icons.ArrowLeftIcon);
2578 + var BackButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => ({
2579 + color: theme.palette.text.primary,
2580 + padding: theme.spacing(.75, 1),
2581 + minHeight: 0,
2582 + borderRadius: theme.shape.borderRadius,
2583 + textTransform: "none",
2584 + fontSize: theme.typography.pxToRem(14),
2585 + fontWeight: 500,
2586 + lineHeight: theme.typography.pxToRem(24),
2587 + letterSpacing: "0.4px"
2588 + }));
2589 + var SkipButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => {
2590 + const outlinedBorderColor = theme.palette.primary?.states?.outlinedBorder ?? theme.palette.divider;
2591 + return {
2592 + color: theme.palette.text.primary,
2593 + borderColor: outlinedBorderColor,
2594 + padding: theme.spacing(.75, 2),
2595 + minHeight: 0,
2596 + borderRadius: theme.shape.borderRadius,
2597 + textTransform: "none",
2598 + fontSize: theme.typography.pxToRem(14),
2599 + fontWeight: 500,
2600 + lineHeight: theme.typography.pxToRem(24),
2601 + letterSpacing: "0.4px",
2602 + "&:hover": { borderColor: outlinedBorderColor }
2603 + };
2604 + });
2605 + var ContinueButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => ({
2606 + padding: theme.spacing(.75, 2),
2607 + minHeight: 0,
2608 + borderRadius: theme.shape.borderRadius,
2609 + textTransform: "none",
2610 + fontSize: theme.typography.pxToRem(14),
2611 + fontWeight: 500,
2612 + lineHeight: theme.typography.pxToRem(24),
2613 + letterSpacing: "0.4px",
2614 + "&:focus-visible": { backgroundColor: theme.palette.promotion.main }
2615 + }));
2616 + function FooterActions({ showBack = true, showSkip = true, showContinue = true, backLabel = t("common.back"), skipLabel = t("common.skip"), continueLabel = t("common.continue"), isBackDisabled = false, continueDisabled = false, continueLoading = false, onBack, onSkip, onContinue }) {
2617 + const { direction } = (0, _elementor_ui.useTheme)();
2618 + const isRtl = direction === "rtl";
2619 + const backIcon = /* @__PURE__ */ react.createElement(DirectionalArrowLeftIcon, { fontSize: "tiny" });
2620 + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(LeftActions, null, showBack && /* @__PURE__ */ react.createElement(BackButton, {
2621 + variant: "text",
2622 + onClick: onBack,
2623 + disabled: isBackDisabled,
2624 + startIcon: isRtl ? void 0 : backIcon,
2625 + endIcon: isRtl ? backIcon : void 0
2626 + }, backLabel)), /* @__PURE__ */ react.createElement(RightActions, null, showSkip && /* @__PURE__ */ react.createElement(SkipButton, {
2627 + variant: "outlined",
2628 + onClick: onSkip
2629 + }, skipLabel), showContinue && /* @__PURE__ */ react.createElement(ContinueButton, {
2630 + color: "primary",
2631 + variant: "contained",
2632 + onClick: onContinue,
2633 + disabled: continueDisabled || continueLoading
2634 + }, continueLoading ? t("common.loading") : continueLabel)));
2635 + }
629 2636
2637 +//#endregion
2638 +//#region packages/apps/onboarding/src/components/ui/right-panel.tsx
2639 + var PANEL_RADIUS_MULTIPLIER = 2;
2640 + var PANEL_MIN_HEIGHT = 36;
2641 + var VIDEO_TRANSITION_MS = 400;
2642 + var ALL_VIDEO_URLS = getVideoUrls();
2643 + var RightPanelRoot = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => prop !== "background" })(({ theme, background }) => {
2644 + return {
2645 + position: "relative",
2646 + width: "100%",
2647 + height: `calc(100vh - ${48}px - ${68}px - ${theme.spacing(4 * 2)})`,
2648 + minHeight: theme.spacing(PANEL_MIN_HEIGHT),
2649 + borderRadius: theme.shape.borderRadius * PANEL_RADIUS_MULTIPLIER,
2650 + overflow: "hidden",
2651 + background
2652 + };
2653 + });
2654 + var VideoStack = react.memo(function({ activeUrl }) {
2655 + const videoRefs = (0, react.useRef)(/* @__PURE__ */ new Map());
2656 + const [readyUrls, setReadyUrls] = (0, react.useState)(() => /* @__PURE__ */ new Set());
2657 + (0, react.useLayoutEffect)(() => {
2658 + videoRefs.current.forEach((element, videoUrl) => {
2659 + if (videoUrl === activeUrl) {
2660 + element.currentTime = 0;
2661 + element.play()?.catch(() => {});
2662 + } else element.pause();
2663 + });
2664 + }, [activeUrl]);
2665 + const markReady = (0, react.useCallback)((videoUrl) => {
2666 + setReadyUrls((prev) => {
2667 + if (prev.has(videoUrl)) return prev;
2668 + const next = new Set(prev);
2669 + next.add(videoUrl);
2670 + return next;
2671 + });
2672 + }, []);
2673 + const visibleUrl = activeUrl && readyUrls.has(activeUrl) ? activeUrl : void 0;
2674 + return /* @__PURE__ */ react.createElement(react.Fragment, null, ALL_VIDEO_URLS.map((videoUrl) => /* @__PURE__ */ react.createElement(_elementor_ui.Box, {
2675 + key: videoUrl,
2676 + component: "video",
2677 + src: videoUrl,
2678 + preload: "auto",
2679 + muted: true,
2680 + playsInline: true,
2681 + onLoadedData: () => markReady(videoUrl),
2682 + ref: (element) => {
2683 + if (element) videoRefs.current.set(videoUrl, element);
2684 + },
2685 + sx: {
2686 + position: "absolute",
2687 + inset: 0,
2688 + width: "100%",
2689 + height: "100%",
2690 + objectFit: "cover",
2691 + opacity: videoUrl === visibleUrl ? 1 : 0,
2692 + transition: `opacity ${VIDEO_TRANSITION_MS}ms ease`
2693 + }
2694 + })));
2695 + });
2696 + var RightPanel = react.memo(function({ config }) {
2697 + return /* @__PURE__ */ react.createElement(RightPanelRoot, { background: config.background }, /* @__PURE__ */ react.createElement(VideoStack, { activeUrl: config.video }));
2698 + });
630 2699
2700 +//#endregion
2701 +//#region packages/apps/onboarding/src/components/ui/split-layout.tsx
2702 + var LAYOUT_GAP = 4;
2703 + var LAYOUT_TRANSITION_MS = 300;
2704 + var LEFT_PANEL_CONTENT_WIDTH = 386;
2705 + var LEFT_PANEL_PADDING_X = 80;
2706 + var LEFT_PANEL_PADDING_TOP = 40;
2707 + var LEFT_PANEL_GAP = 32;
2708 + var SplitLayoutRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => {
2709 + const hideImageBreakpoint = 1122;
2710 + return {
2711 + flex: 1,
2712 + display: "grid",
2713 + gridTemplateColumns: `2fr 1fr`,
2714 + gap: theme.spacing(LAYOUT_GAP),
2715 + padding: theme.spacing(4),
2716 + transition: `grid-template-columns ${300}ms ease`,
2717 + [theme.breakpoints.up("md")]: { minHeight: 0 },
2718 + [`@media (max-width: ${hideImageBreakpoint}px)`]: {
2719 + gridTemplateColumns: "1fr",
2720 + "& > *:last-child": { display: "none" }
2721 + }
2722 + };
2723 + });
2724 + var LeftPanel = (0, _elementor_ui.styled)(_elementor_ui.Box, { shouldForwardProp: (prop) => "contentMaxWidth" !== prop })(({ theme, contentMaxWidth }) => ({
2725 + display: "flex",
2726 + flexDirection: "column",
2727 + alignItems: "center",
2728 + gap: LEFT_PANEL_GAP,
2729 + minHeight: 0,
2730 + paddingBlockStart: LEFT_PANEL_PADDING_TOP,
2731 + paddingInline: LEFT_PANEL_PADDING_X,
2732 + "& > *": { width: "100%" },
2733 + "& > *:last-of-type": {
2734 + maxWidth: contentMaxWidth,
2735 + flex: 1,
2736 + display: "flex",
2737 + flexDirection: "column",
2738 + minHeight: 0
2739 + },
2740 + [theme.breakpoints.down("sm")]: {
2741 + padding: 0,
2742 + gap: LEFT_PANEL_GAP / 2,
2743 + "& > *": { maxWidth: "none" }
2744 + }
2745 + }));
2746 + function SplitLayout({ left, rightConfig }) {
2747 + const contentMaxWidth = rightConfig.contentMaxWidth ?? LEFT_PANEL_CONTENT_WIDTH;
2748 + return /* @__PURE__ */ react.createElement(SplitLayoutRoot, null, /* @__PURE__ */ react.createElement(LeftPanel, { contentMaxWidth }, left), /* @__PURE__ */ react.createElement(RightPanel, { config: rightConfig }));
2749 + }
631 2750
2751 +//#endregion
2752 +//#region packages/apps/onboarding/src/components/ui/top-bar.tsx
2753 + var TopBarRoot = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({
2754 + position: "fixed",
2755 + top: 0,
2756 + left: 0,
2757 + right: 0,
2758 + height: 48,
2759 + display: "flex",
2760 + alignItems: "center",
2761 + justifyContent: "space-between",
2762 + paddingInlineStart: 41,
2763 + paddingInlineEnd: 16,
2764 + background: theme.palette.background.paper,
2765 + zIndex: theme.zIndex?.appBar || 1100
2766 + }));
2767 + function TopBar({ children }) {
2768 + return /* @__PURE__ */ react.createElement(TopBarRoot, { component: "header" }, children, /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { absolute: true }));
2769 + }
632 2770
633 -const isChoiceEmpty = choice => {
634 - return choice === null || choice === undefined || Array.isArray(choice) && choice.length === 0;
635 -};
636 -const isContinueDisabled = (stepId, isLast, choiceForStep) => {
637 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION) {
638 - return false;
639 - }
640 - if (isLast) {
641 - return false;
642 - }
643 - return isChoiceEmpty(choiceForStep);
644 -};
645 -function AppContent({
646 - onClose
647 -}) {
648 - const {
649 - stepId,
650 - stepIndex,
651 - isFirst,
652 - isLast,
653 - totalSteps,
654 - resumeStepIdForTracking,
655 - isLoading,
656 - isConnected,
657 - hasPassedLogin,
658 - shouldShowProInstall,
659 - choices,
660 - completedSteps,
661 - urls,
662 - actions,
663 - isGuest
664 - } = (0,_hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_7__.useOnboarding)();
665 - const [isCompleting, setIsCompleting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
666 - const isCompletingRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
667 - const {
668 - showToast
669 - } = (0,_toast_toast_context__WEBPACK_IMPORTED_MODULE_19__.useToast)();
670 - (0,_hooks_use_video_preload__WEBPACK_IMPORTED_MODULE_11__.useVideoPreload)();
671 - const updateProgress = (0,_hooks_use_update_progress__WEBPACK_IMPORTED_MODULE_10__.useUpdateProgress)();
672 - const updateChoices = (0,_hooks_use_update_choices__WEBPACK_IMPORTED_MODULE_9__.useUpdateChoices)();
673 - const installTheme = (0,_hooks_use_install_theme__WEBPACK_IMPORTED_MODULE_6__.useInstallTheme)();
674 - const {
675 - trackOnboardingInitialized,
676 - trackLoginType,
677 - trackConnect,
678 - trackStepViewed,
679 - trackProFeaturesSelected,
680 - trackBackClicked,
681 - trackSkipClicked,
682 - trackUpgradeClicked,
683 - trackResumeOnboarding,
684 - trackSummary,
685 - trackThemeSelected,
686 - trackErrorReported,
687 - activateTracking,
688 - flushQueue
689 - } = (0,_hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_8__.useOnboardingEvent)();
690 - const hasTrackedInit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
691 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
692 - if (!hasTrackedInit.current) {
693 - hasTrackedInit.current = true;
694 - trackOnboardingInitialized();
695 - if (resumeStepIdForTracking) {
696 - trackResumeOnboarding(resumeStepIdForTracking);
697 - actions.clearResumeStepIdForTracking();
698 - } else {
699 - trackStepViewed('login');
700 - }
701 - return;
702 - }
703 - if (hasPassedLogin && stepId && !isCompletingRef.current) {
704 - trackStepViewed(stepId);
705 - }
706 - }, [stepId, resumeStepIdForTracking, hasPassedLogin, actions, trackOnboardingInitialized, trackResumeOnboarding, trackStepViewed]);
707 - const checkProInstallScreen = (0,_hooks_use_check_pro_install_screen__WEBPACK_IMPORTED_MODULE_4__.useCheckProInstallScreen)();
708 - const handleConnectSuccess = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async (data, loginType) => {
709 - trackConnect(true);
710 - trackLoginType(loginType);
711 - const shouldEnableTracking = data.tracking_opted_in || (0,_analytics__WEBPACK_IMPORTED_MODULE_3__.canSendEvents)();
712 - if (data.tracking_opted_in) {
713 - (0,_analytics__WEBPACK_IMPORTED_MODULE_3__.setCanSendEvents)(true);
714 - }
715 - (0,_analytics__WEBPACK_IMPORTED_MODULE_3__.updateLibraryConnectConfig)(data);
716 - if (shouldEnableTracking) {
717 - (0,_analytics__WEBPACK_IMPORTED_MODULE_3__.initializeAndEnableTracking)(mp => {
718 - mp?.set_config?.({
719 - api_transport: 'sendbeacon'
720 - });
721 - activateTracking();
722 - flushQueue();
723 - });
724 - }
725 - const result = await checkProInstallScreen();
726 - actions.setShouldShowProInstallScreen(result.shouldShowProInstallScreen);
727 - actions.setConnected(true);
728 - }, [actions, checkProInstallScreen, trackConnect, trackLoginType, activateTracking, flushQueue]);
729 - const handleConnect = (0,_hooks_use_elementor_connect__WEBPACK_IMPORTED_MODULE_5__.useElementorConnect)({
730 - connectUrl: urls.connect,
731 - onSuccess: data => handleConnectSuccess(data, 'elementor_login')
732 - });
733 - const handleSignUp = (0,_hooks_use_elementor_connect__WEBPACK_IMPORTED_MODULE_5__.useElementorConnect)({
734 - connectUrl: urls.signUp,
735 - onSuccess: data => handleConnectSuccess(data, 'social_login')
736 - });
737 - function handleContinueAsGuest(event) {
738 - event.preventDefault();
739 - trackLoginType('guest');
740 - actions.setGuest(true);
741 - }
742 - const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
743 - trackSummary({
744 - choices,
745 - completedSteps: [...completedSteps],
746 - isConnected,
747 - isGuest
748 - });
749 - window.dispatchEvent(new CustomEvent('onboarding-user-exit'));
750 - updateProgress.mutate({
751 - user_exit: true
752 - }, {
753 - onSuccess: () => {
754 - actions.setExitType('user_exit');
755 - onClose?.();
756 - },
757 - onError: () => {
758 - actions.setExitType('user_exit');
759 - onClose?.();
760 - }
761 - });
762 - }, [actions, choices, completedSteps, isConnected, isGuest, onClose, trackSummary, updateProgress]);
763 - function handleBack() {
764 - trackBackClicked(stepId);
765 - if (isFirst) {
766 - actions.setGuest(false);
767 - } else {
768 - actions.prevStep();
769 - }
770 - }
771 - const redirectToNewPage = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
772 - const redirectUrl = urls.createNewPage || urls.editor || urls.dashboard;
773 - const mp = (0,_elementor_events__WEBPACK_IMPORTED_MODULE_1__.getMixpanel)().getMixpanelInstance?.();
774 - mp?.request_batchers?.events?.flush?.();
775 - window.location.href = redirectUrl;
776 - }, [urls]);
777 - const completeAndRedirect = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
778 - updateProgress.mutate({
779 - complete_step: stepId,
780 - complete: true,
781 - step_index: stepIndex,
782 - total_steps: totalSteps
783 - }, {
784 - onSuccess: redirectToNewPage,
785 - onError: () => {
786 - redirectToNewPage();
787 - }
788 - });
789 - }, [updateProgress, stepId, stepIndex, totalSteps, redirectToNewPage]);
790 - const handleSkip = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
791 - trackSkipClicked(stepId);
792 - if (isLast) {
793 - trackSummary({
794 - choices,
795 - completedSteps: [...completedSteps, stepId],
796 - isConnected,
797 - isGuest
798 - });
799 - isCompletingRef.current = true;
800 - setIsCompleting(true);
801 - updateProgress.mutate({
802 - skip_step: true,
803 - complete: true,
804 - step_index: stepIndex,
805 - total_steps: totalSteps
806 - }, {
807 - onSuccess: redirectToNewPage,
808 - onError: () => {
809 - redirectToNewPage();
810 - }
811 - });
812 - return;
813 - }
814 - updateProgress.mutate({
815 - skip_step: true,
816 - step_index: stepIndex,
817 - total_steps: totalSteps
818 - }, {
819 - onSuccess: () => {
820 - actions.nextStep();
821 - },
822 - onError: () => {
823 - actions.nextStep();
824 - }
825 - });
826 - }, [actions, choices, completedSteps, isConnected, isGuest, isLast, stepId, stepIndex, totalSteps, trackSkipClicked, trackSummary, updateProgress, redirectToNewPage]);
827 - const saveChoicesFireAndForget = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(choiceData => {
828 - updateChoices.mutate(choiceData);
829 - }, [updateChoices]);
830 - const handleContinue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(directChoice => {
831 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.SITE_FEATURES) {
832 - trackProFeaturesSelected({
833 - targetName: 'continue_with_free',
834 - features: choices.site_features || []
835 - });
836 - }
837 - let effectiveDirectChoice = directChoice;
838 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION && !effectiveDirectChoice) {
839 - effectiveDirectChoice = {
840 - theme_selection: 'hello-elementor'
841 - };
842 - }
843 - const storedChoice = choices[stepId];
844 - const choiceData = effectiveDirectChoice ?? (isChoiceEmpty(storedChoice) ? null : {
845 - [stepId]: storedChoice
846 - });
847 - if (choiceData) {
848 - saveChoicesFireAndForget(choiceData);
849 - }
850 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION) {
851 - const themeSlug = choiceData?.theme_selection ?? choices.theme_selection ?? 'hello-elementor';
852 - if (themeSlug && isLast) {
853 - trackThemeSelected(themeSlug, 'theme_selection');
854 - isCompletingRef.current = true;
855 - setIsCompleting(true);
856 - installTheme.mutate(themeSlug, {
857 - onSuccess: completeAndRedirect,
858 - onError: error => {
859 - trackErrorReported({
860 - targetType: 'install',
861 - targetName: 'continue_with_hello',
862 - stepId: 'theme_selection',
863 - errorBody: error instanceof Error ? error.message : 'Failed to install theme'
864 - });
865 - showToast((0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('error.theme_install_failed'));
866 - completeAndRedirect();
867 - }
868 - });
869 - return;
870 - }
871 - if (themeSlug) {
872 - trackThemeSelected(themeSlug, 'theme_selection');
873 - installTheme.mutate(themeSlug, {
874 - onError: error => {
875 - trackErrorReported({
876 - targetType: 'install',
877 - targetName: 'continue_with_hello',
878 - stepId: 'theme_selection',
879 - errorBody: error instanceof Error ? error.message : 'Failed to install theme'
880 - });
881 - showToast((0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('error.theme_install_failed'));
882 - }
883 - });
884 - }
885 - }
886 - if (isLast) {
887 - trackSummary({
888 - choices,
889 - completedSteps: [...completedSteps, stepId],
890 - isConnected,
891 - isGuest
892 - });
893 - isCompletingRef.current = true;
894 - setIsCompleting(true);
895 - completeAndRedirect();
896 - return;
897 - }
898 - updateProgress.mutate({
899 - complete_step: stepId,
900 - step_index: stepIndex,
901 - total_steps: totalSteps
902 - }, {
903 - onSuccess: () => {
904 - actions.completeStep(stepId);
905 - actions.nextStep();
906 - },
907 - onError: () => {
908 - actions.completeStep(stepId);
909 - actions.nextStep();
910 - }
911 - });
912 - }, [actions, choices, completedSteps, isConnected, isGuest, isLast, stepId, stepIndex, totalSteps, updateProgress, saveChoicesFireAndForget, installTheme, showToast, completeAndRedirect, trackErrorReported, trackProFeaturesSelected, trackSummary, trackThemeSelected]);
913 - const rightPanelConfig = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_steps_step_visuals__WEBPACK_IMPORTED_MODULE_16__.getStepVisualConfig)(stepId), [stepId]);
914 - const isPending = updateProgress.isPending || isLoading;
915 - const choiceForStep = choices[stepId];
916 - const continueDisabled = isContinueDisabled(stepId, isLast, choiceForStep);
917 - const isBackDisabled = isFirst && isConnected;
918 - const getContinueLabel = () => {
919 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION && !completedSteps.includes(_types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION)) {
920 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('steps.theme_selection.v2.continue_with_theme');
921 - }
922 - if (stepId === _types__WEBPACK_IMPORTED_MODULE_17__.StepId.SITE_FEATURES && !completedSteps.includes(_types__WEBPACK_IMPORTED_MODULE_17__.StepId.SITE_FEATURES)) {
923 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('steps.site_features.continue_with_free');
924 - }
925 - if (isLast) {
926 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('common.finish');
927 - }
928 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_18__.t)('common.continue');
929 - };
930 - const renderStepContent = () => {
931 - switch (stepId) {
932 - case _types__WEBPACK_IMPORTED_MODULE_17__.StepId.THEME_SELECTION:
933 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_steps_screens_theme_selection__WEBPACK_IMPORTED_MODULE_15__.ThemeSelection, null);
934 - case _types__WEBPACK_IMPORTED_MODULE_17__.StepId.SITE_FEATURES:
935 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_steps_screens_site_features__WEBPACK_IMPORTED_MODULE_14__.SiteFeatures, null);
936 - default:
937 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
938 - sx: {
939 - flex: 1,
940 - width: '100%'
941 - }
942 - });
943 - }
944 - };
945 - if (isCompleting) {
946 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_completion_screen__WEBPACK_IMPORTED_MODULE_21__.CompletionScreen, null);
947 - }
948 - if (!hasPassedLogin) {
949 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_base_layout__WEBPACK_IMPORTED_MODULE_20__.BaseLayout, {
950 - topBar: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar__WEBPACK_IMPORTED_MODULE_25__.TopBar, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar_content__WEBPACK_IMPORTED_MODULE_26__.TopBarContent, {
951 - showUpgrade: true,
952 - showClose: false,
953 - onUpgrade: () => {
954 - trackUpgradeClicked('login');
955 - window.open(urls.upgradeUrl, '_blank');
956 - }
957 - }))
958 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_steps_screens_login__WEBPACK_IMPORTED_MODULE_12__.Login, {
959 - onConnect: handleConnect,
960 - onSignUp: handleSignUp,
961 - onContinueAsGuest: handleContinueAsGuest
962 - }));
963 - }
964 - if (shouldShowProInstall) {
965 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_base_layout__WEBPACK_IMPORTED_MODULE_20__.BaseLayout, {
966 - topBar: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar__WEBPACK_IMPORTED_MODULE_25__.TopBar, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar_content__WEBPACK_IMPORTED_MODULE_26__.TopBarContent, {
967 - showUpgrade: false,
968 - showClose: false
969 - }))
970 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_steps_screens_pro_install__WEBPACK_IMPORTED_MODULE_13__.ProInstall, null));
971 - }
972 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_base_layout__WEBPACK_IMPORTED_MODULE_20__.BaseLayout, {
973 - testId: "onboarding-steps",
974 - topBar: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar__WEBPACK_IMPORTED_MODULE_25__.TopBar, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_top_bar_content__WEBPACK_IMPORTED_MODULE_26__.TopBarContent, {
975 - showClose: false,
976 - onClose: handleClose,
977 - onUpgrade: () => {
978 - trackUpgradeClicked(stepId);
979 - window.open(urls.upgradeUrl, '_blank');
980 - }
981 - })),
982 - footer: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_footer__WEBPACK_IMPORTED_MODULE_22__.Footer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_footer_actions__WEBPACK_IMPORTED_MODULE_23__.FooterActions, {
983 - showBack: true,
984 - showSkip: true,
985 - showContinue: true,
986 - isBackDisabled: isBackDisabled,
987 - continueLabel: getContinueLabel(),
988 - continueDisabled: continueDisabled,
989 - continueLoading: isPending,
990 - onBack: handleBack,
991 - onSkip: handleSkip,
992 - onContinue: () => handleContinue()
993 - }))
994 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ui_split_layout__WEBPACK_IMPORTED_MODULE_24__.SplitLayout, {
995 - left: renderStepContent(),
996 - rightConfig: rightPanelConfig
997 - }));
998 -}
2771 +//#endregion
2772 +//#region packages/apps/onboarding/src/components/ui/elementor-wordmark.tsx
2773 + function ElementorWordmark(props) {
2774 + return /* @__PURE__ */ react.createElement(_elementor_ui.SvgIcon, {
2775 + viewBox: "0 0 90 15",
2776 + ...props
2777 + }, /* @__PURE__ */ react.createElement("path", {
2778 + d: "M2.96457 11.7721C3.50632 12.322 4.19354 12.5969 5.01619 12.5969C5.70843 12.5969 6.27526 12.4519 6.71668 12.162C7.16313 11.8721 7.44905 11.4622 7.58449 10.9323H9.69631C9.51071 11.977 8.99404 12.8119 8.14129 13.4417C7.29355 14.0716 6.25018 14.3815 5.01619 14.3815C4.02299 14.3815 3.15017 14.1666 2.39774 13.7367C1.65033 13.3068 1.06343 12.7269 0.64709 12.002C0.230745 11.2772 0.0150486 10.4874 0 9.64254H2.05162C2.11683 10.5174 2.42282 11.2272 2.96959 11.7771L2.96457 11.7721ZM2.01149 8.98768C2.01149 8.76273 2.03657 8.46779 2.09175 8.09287H7.48416C7.42898 7.37802 7.16814 6.80314 6.69662 6.36823C6.2251 5.93333 5.59807 5.71337 4.81555 5.71337C4.08318 5.71337 3.48625 5.92333 3.01473 6.34824C2.54321 6.77315 2.23722 7.35303 2.08674 8.09287H0.0351132C0.155502 7.33803 0.42136 6.65317 0.832688 6.0383C1.24402 5.42343 1.79078 4.93854 2.47298 4.58861C3.15519 4.23868 3.93771 4.06372 4.81053 4.06372C5.83383 4.06372 6.70665 4.28367 7.42898 4.72858C8.15131 5.17349 8.69808 5.75336 9.05925 6.47321C9.42543 7.19306 9.60601 7.98289 9.60601 8.84271C9.60601 9.08266 9.59096 9.3476 9.56588 9.63754H2.04159C2.01651 9.32261 2.00146 9.10266 2.00146 8.98268L2.01149 8.98768Z",
2779 + fill: "currentColor"
2780 + }), /* @__PURE__ */ react.createElement("path", {
2781 + d: "M11.0857 1.82461H9.49561V0H13.2176V14.222H11.0857V1.82461Z",
2782 + fill: "currentColor"
2783 + }), /* @__PURE__ */ react.createElement("path", {
2784 + d: "M17.3762 11.7721C17.9179 12.322 18.6052 12.5969 19.4278 12.5969C20.12 12.5969 20.6869 12.4519 21.1283 12.162C21.5747 11.8721 21.8607 11.4622 21.9961 10.9323H24.1079C23.9223 11.977 23.4057 12.8119 22.5529 13.4417C21.7052 14.0716 20.6618 14.3815 19.4278 14.3815C18.4346 14.3815 17.5618 14.1666 16.8094 13.7367C16.0619 13.3068 15.4751 12.7269 15.0587 12.002C14.6424 11.2772 14.4267 10.4874 14.4116 9.64254H16.4632C16.5285 10.5174 16.8344 11.2272 17.3812 11.7771L17.3762 11.7721ZM16.4231 8.98768C16.4231 8.76273 16.4482 8.46779 16.5034 8.09287H21.8958C21.8406 7.37802 21.5798 6.80314 21.1082 6.36823C20.6367 5.93333 20.0097 5.71337 19.2272 5.71337C18.4948 5.71337 17.8979 5.92333 17.4264 6.34824C16.9548 6.77315 16.6488 7.35303 16.4984 8.09287H14.4467C14.5671 7.33803 14.833 6.65317 15.2443 6.0383C15.6556 5.42343 16.2024 4.93854 16.8846 4.58861C17.5668 4.23868 18.3493 4.06372 19.2221 4.06372C20.2455 4.06372 21.1183 4.28367 21.8406 4.72858C22.5629 5.17349 23.1097 5.75336 23.4709 6.47321C23.837 7.19306 24.0176 7.98289 24.0176 8.84271C24.0176 9.08266 24.0026 9.3476 23.9775 9.63754H16.4532C16.4281 9.32261 16.4131 9.10266 16.4131 8.98268L16.4231 8.98768Z",
2785 + fill: "currentColor"
2786 + }), /* @__PURE__ */ react.createElement("path", {
2787 + d: "M26.1243 6.03319H24.5342V4.22857H28.2361V5.91321C28.4769 5.34333 28.8531 4.89343 29.3698 4.5635C29.8865 4.23357 30.5034 4.0686 31.2208 4.0686C31.9782 4.0686 32.6454 4.24857 33.2222 4.60349C33.7991 4.95842 34.1853 5.44831 34.386 6.07318C34.6117 5.4933 35.0331 5.0134 35.6501 4.63348C36.2671 4.25856 36.9392 4.0686 37.6716 4.0686C38.7601 4.0686 39.6229 4.41353 40.2599 5.09839C40.897 5.78824 41.213 6.69805 41.213 7.83781V14.2265H39.1012V8.43268C39.1012 7.66784 38.9156 7.05297 38.5444 6.58807C38.1732 6.12317 37.6766 5.89322 37.0496 5.89322C36.3473 5.89322 35.7805 6.17316 35.3591 6.72804C34.9327 7.28292 34.7221 7.95778 34.7221 8.75261V14.2265H32.5902V8.43268C32.5902 7.66784 32.4096 7.05297 32.0434 6.58807C31.6772 6.12317 31.1857 5.89322 30.5586 5.89322C29.8664 5.89322 29.3096 6.17316 28.8782 6.73804C28.4468 7.29792 28.2311 7.97278 28.2311 8.75261V14.2265H26.1193V6.03319H26.1243Z",
2788 + fill: "currentColor"
2789 + }), /* @__PURE__ */ react.createElement("path", {
2790 + d: "M45.3518 11.7721C45.8935 12.322 46.5807 12.5969 47.4034 12.5969C48.0956 12.5969 48.6625 12.4519 49.1039 12.162C49.5503 11.8721 49.8363 11.4622 49.9717 10.9323H52.0835C51.8979 11.977 51.3812 12.8119 50.5285 13.4417C49.6808 14.0716 48.6374 14.3815 47.4034 14.3815C46.4102 14.3815 45.5374 14.1666 44.7849 13.7367C44.0375 13.3068 43.4506 12.7269 43.0343 12.002C42.6179 11.2772 42.4023 10.4874 42.3872 9.64254H44.4388C44.504 10.5174 44.81 11.2272 45.3568 11.7771L45.3518 11.7721ZM44.3987 8.98768C44.3987 8.76273 44.4238 8.46779 44.479 8.09287H49.8714C49.8162 7.37802 49.5554 6.80314 49.0838 6.36823C48.6123 5.93333 47.9853 5.71337 47.2028 5.71337C46.4704 5.71337 45.8735 5.92333 45.4019 6.34824C44.9304 6.77315 44.6244 7.35303 44.4739 8.09287H42.4223C42.5427 7.33803 42.8086 6.65317 43.2199 6.0383C43.6312 5.42343 44.178 4.93854 44.8602 4.58861C45.5424 4.23868 46.3249 4.06372 47.1977 4.06372C48.221 4.06372 49.0939 4.28367 49.8162 4.72858C50.5385 5.17349 51.0853 5.75336 51.4465 6.47321C51.8126 7.19306 51.9932 7.98289 51.9932 8.84271C51.9932 9.08266 51.9782 9.3476 51.9531 9.63754H44.4288C44.4037 9.32261 44.3887 9.10266 44.3887 8.98268L44.3987 8.98768Z",
2791 + fill: "currentColor"
2792 + }), /* @__PURE__ */ react.createElement("path", {
2793 + d: "M54.0144 6.03319H52.4243V4.22857H56.1263V5.91321C56.3921 5.31834 56.8085 4.86344 57.3703 4.5435C57.9321 4.22857 58.5892 4.0686 59.3316 4.0686C60.4603 4.0686 61.3632 4.43353 62.0504 5.16837C62.7326 5.90322 63.0737 6.86301 63.0737 8.05276V14.2215H60.9418V8.48767C60.9418 7.73283 60.7362 7.12796 60.3248 6.66305C59.9135 6.19815 59.3717 5.9682 58.6946 5.9682C57.9522 5.9682 57.3352 6.23315 56.8536 6.76303C56.367 7.29292 56.1263 7.96778 56.1263 8.78761V14.2215H54.0144V6.03319Z",
2794 + fill: "currentColor"
2795 + }), /* @__PURE__ */ react.createElement("path", {
2796 + d: "M66.8009 13.3318C66.1839 12.7369 65.8729 11.9171 65.8729 10.8723V6.03336H63.8413V4.22875H65.8729V1.1344H67.9847V4.22875H70.8891V6.03336H67.9847V10.7924C67.9847 11.3072 68.1201 11.7072 68.391 11.9921C68.6619 12.277 69.0381 12.417 69.5146 12.417H70.8891V14.2216H69.2989C68.2505 14.2216 67.4179 13.9217 66.8009 13.3268V13.3318Z",
2797 + fill: "currentColor"
2798 + }), /* @__PURE__ */ react.createElement("path", {
2799 + d: "M74.024 13.7167C73.2364 13.2718 72.6195 12.6619 72.173 11.8821C71.7266 11.1022 71.5059 10.2174 71.5059 9.22263C71.5059 8.22784 71.7266 7.34303 72.173 6.56319C72.6195 5.78336 73.2364 5.17349 74.024 4.72858C74.8115 4.28367 75.7044 4.06372 76.7026 4.06372C77.7009 4.06372 78.5887 4.28367 79.3813 4.72858C80.1688 5.17349 80.7858 5.78336 81.2323 6.56319C81.6787 7.34303 81.8994 8.22784 81.8994 9.22263C81.8994 10.2174 81.6787 11.1022 81.2323 11.8821C80.7858 12.6619 80.1688 13.2718 79.3813 13.7167C78.5937 14.1616 77.7009 14.3815 76.7026 14.3815C75.7044 14.3815 74.8165 14.1616 74.024 13.7167ZM78.8997 11.6171C79.4615 11.0023 79.7475 10.2074 79.7475 9.22763C79.7475 8.24784 79.4666 7.453 78.8997 6.83813C78.3379 6.22326 77.6005 5.91333 76.7026 5.91333C75.8047 5.91333 75.0724 6.21827 74.5106 6.83813C73.9538 7.453 73.6729 8.24784 73.6729 9.22763C73.6729 10.2074 73.9538 11.0023 74.5106 11.6171C75.0674 12.232 75.7997 12.5419 76.7026 12.5419C77.6056 12.5419 78.3379 12.237 78.8997 11.6171Z",
2800 + fill: "currentColor"
2801 + }), /* @__PURE__ */ react.createElement("path", {
2802 + d: "M83.8411 6.03362H82.251V4.229H85.9529V6.09361C86.1937 5.44375 86.5198 4.97385 86.9361 4.67391C87.3524 4.37397 87.9092 4.229 88.5965 4.229H89.7903V6.03362H88.2955C87.4728 6.03362 86.8759 6.35355 86.5047 6.99342C86.1335 7.63328 85.9479 8.5131 85.9479 9.62286V14.2269H83.8361V6.03362H83.8411Z",
2803 + fill: "currentColor"
2804 + }));
2805 + }
999 2806
1000 -/***/ }),
2807 +//#endregion
2808 +//#region packages/apps/onboarding/src/components/ui/elementor-logo.tsx
2809 + function ElementorLogo({ height = 20, sx, ...props }) {
2810 + const theme = (0, _elementor_ui.useTheme)();
2811 + const iconSize = height;
2812 + const wordmarkHeight = height * .8;
2813 + const wordmarkWidth = wordmarkHeight * 6;
2814 + return /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2815 + direction: "row",
2816 + alignItems: "center",
2817 + spacing: .5,
2818 + sx: {
2819 + color: theme.palette.text.primary,
2820 + ...sx
2821 + },
2822 + ...props
2823 + }, /* @__PURE__ */ react.createElement(ElementorIcon, { sx: {
2824 + width: iconSize,
2825 + height: iconSize
2826 + } }), /* @__PURE__ */ react.createElement(ElementorWordmark, { sx: {
2827 + width: wordmarkWidth,
2828 + height: wordmarkHeight
2829 + } }));
2830 + }
1001 2831
1002 -/***/ "./packages/apps/onboarding/src/components/app.tsx":
1003 -/*!*********************************************************!*\
1004 - !*** ./packages/apps/onboarding/src/components/app.tsx ***!
1005 - \*********************************************************/
1006 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2832 +//#endregion
2833 +//#region packages/apps/onboarding/src/components/ui/top-bar-content.tsx
2834 + var UpgradeButton = (0, _elementor_ui.styled)(_elementor_ui.Button)(({ theme }) => ({
2835 + backgroundColor: theme.palette.promotion.main,
2836 + color: theme.palette.promotion.contrastText,
2837 + padding: theme.spacing(.5, 1.25),
2838 + minHeight: 0,
2839 + borderRadius: 8,
2840 + textTransform: "none",
2841 + fontSize: theme.typography.pxToRem(13),
2842 + fontWeight: 500,
2843 + lineHeight: theme.typography.pxToRem(22),
2844 + letterSpacing: "0.46px"
2845 + }));
2846 + var Divider = (0, _elementor_ui.styled)("div")(({ theme }) => ({
2847 + width: 2,
2848 + height: 20,
2849 + backgroundColor: theme.palette.divider
2850 + }));
2851 + function TopBarContent({ showUpgrade = true, showClose = true, onUpgrade, onClose }) {
2852 + const theme = (0, _elementor_ui.useTheme)();
2853 + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ElementorLogo, { height: 20 }), /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2854 + direction: "row",
2855 + alignItems: "center",
2856 + spacing: 2
2857 + }, showUpgrade && /* @__PURE__ */ react.createElement(UpgradeButton, {
2858 + color: "promotion",
2859 + variant: "contained",
2860 + onClick: onUpgrade
2861 + }, t("common.upgrade")), showClose && /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
2862 + direction: "row",
2863 + alignItems: "center",
2864 + spacing: 1.5
2865 + }, /* @__PURE__ */ react.createElement(Divider, null), /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, {
2866 + "aria-label": t("common.close_onboarding"),
2867 + onClick: onClose,
2868 + size: "small",
2869 + sx: {
2870 + color: theme.palette.text.secondary,
2871 + padding: 0
2872 + }
2873 + }, /* @__PURE__ */ react.createElement(_elementor_icons.XIcon, { fontSize: "tiny" })))));
2874 + }
1007 2875
1008 -__webpack_require__.r(__webpack_exports__);
1009 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1010 -/* harmony export */ App: function() { return /* binding */ App; }
1011 -/* harmony export */ });
1012 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1013 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1014 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/query */ "@elementor/query");
1015 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_query__WEBPACK_IMPORTED_MODULE_1__);
1016 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
1017 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_2__);
1018 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1019 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__);
1020 -/* harmony import */ var _analytics_tracking_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../analytics/tracking-context */ "./packages/apps/onboarding/src/analytics/tracking-context.tsx");
1021 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../store */ "./packages/apps/onboarding/src/store/index.ts");
1022 -/* harmony import */ var _app_content__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./app-content */ "./packages/apps/onboarding/src/components/app-content.tsx");
1023 -/* harmony import */ var _toast_toast_context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./toast/toast-context */ "./packages/apps/onboarding/src/components/toast/toast-context.tsx");
2876 +//#endregion
2877 +//#region packages/apps/onboarding/src/components/app-content.tsx
2878 + var isChoiceEmpty = (choice) => {
2879 + return choice === null || choice === void 0 || Array.isArray(choice) && choice.length === 0;
2880 + };
2881 + var isContinueDisabled = (stepId, isLast, choiceForStep) => {
2882 + if (stepId === StepId.THEME_SELECTION) return false;
2883 + if (isLast) return false;
2884 + return isChoiceEmpty(choiceForStep);
2885 + };
2886 + function AppContent({ onClose }) {
2887 + const { stepId, stepIndex, isFirst, isLast, totalSteps, resumeStepIdForTracking, isLoading, isConnected, hasPassedLogin, shouldShowProInstall, choices, completedSteps, urls, actions, isGuest } = useOnboarding();
2888 + const [isCompleting, setIsCompleting] = (0, react.useState)(false);
2889 + const isCompletingRef = (0, react.useRef)(false);
2890 + const { showToast } = useToast();
2891 + useVideoPreload();
2892 + const updateProgress = useUpdateProgress();
2893 + const updateChoices = useUpdateChoices();
2894 + const installTheme = useInstallTheme();
2895 + const { trackOnboardingInitialized, trackLoginType, trackConnect, trackStepViewed, trackProFeaturesSelected, trackBackClicked, trackSkipClicked, trackUpgradeClicked, trackResumeOnboarding, trackSummary, trackThemeSelected, trackErrorReported, activateTracking, flushQueue } = useOnboardingEvent();
2896 + const hasTrackedInit = (0, react.useRef)(false);
2897 + (0, react.useEffect)(() => {
2898 + if (!hasTrackedInit.current) {
2899 + hasTrackedInit.current = true;
2900 + trackOnboardingInitialized();
2901 + if (resumeStepIdForTracking) {
2902 + trackResumeOnboarding(resumeStepIdForTracking);
2903 + actions.clearResumeStepIdForTracking();
2904 + } else trackStepViewed("login");
2905 + return;
2906 + }
2907 + if (hasPassedLogin && stepId && !isCompletingRef.current) trackStepViewed(stepId);
2908 + }, [
2909 + stepId,
2910 + resumeStepIdForTracking,
2911 + hasPassedLogin,
2912 + actions,
2913 + trackOnboardingInitialized,
2914 + trackResumeOnboarding,
2915 + trackStepViewed
2916 + ]);
2917 + const checkProInstallScreen = useCheckProInstallScreen();
2918 + const handleConnectSuccess = (0, react.useCallback)(async (data, loginType) => {
2919 + trackConnect(true);
2920 + trackLoginType(loginType);
2921 + const shouldEnableTracking = data.tracking_opted_in || (0, _elementor_events.canSendEvents)();
2922 + if (data.tracking_opted_in) (0, _elementor_events.setCanSendEvents)(true);
2923 + updateLibraryConnectConfig(data);
2924 + if (shouldEnableTracking) (0, _elementor_events.initializeAndEnableTracking)((mp) => {
2925 + mp?.set_config?.({ api_transport: "sendbeacon" });
2926 + activateTracking();
2927 + flushQueue();
2928 + });
2929 + const result = await checkProInstallScreen();
2930 + actions.setShouldShowProInstallScreen(result.shouldShowProInstallScreen);
2931 + actions.setConnected(true);
2932 + }, [
2933 + actions,
2934 + checkProInstallScreen,
2935 + trackConnect,
2936 + trackLoginType,
2937 + activateTracking,
2938 + flushQueue
2939 + ]);
2940 + const handleConnect = useElementorConnect({
2941 + connectUrl: urls.connect,
2942 + onSuccess: (data) => handleConnectSuccess(data, "elementor_login")
2943 + });
2944 + const handleSignUp = useElementorConnect({
2945 + connectUrl: urls.signUp,
2946 + onSuccess: (data) => handleConnectSuccess(data, "social_login")
2947 + });
2948 + function handleContinueAsGuest(event) {
2949 + event.preventDefault();
2950 + trackLoginType("guest");
2951 + actions.setGuest(true);
2952 + }
2953 + const handleClose = (0, react.useCallback)(() => {
2954 + trackSummary({
2955 + choices,
2956 + completedSteps: [...completedSteps],
2957 + isConnected,
2958 + isGuest
2959 + });
2960 + window.dispatchEvent(new CustomEvent("onboarding-user-exit"));
2961 + updateProgress.mutate({ user_exit: true }, {
2962 + onSuccess: () => {
2963 + actions.setExitType("user_exit");
2964 + onClose?.();
2965 + },
2966 + onError: () => {
2967 + actions.setExitType("user_exit");
2968 + onClose?.();
2969 + }
2970 + });
2971 + }, [
2972 + actions,
2973 + choices,
2974 + completedSteps,
2975 + isConnected,
2976 + isGuest,
2977 + onClose,
2978 + trackSummary,
2979 + updateProgress
2980 + ]);
2981 + function handleBack() {
2982 + trackBackClicked(stepId);
2983 + if (isFirst) actions.setGuest(false);
2984 + else actions.prevStep();
2985 + }
2986 + const redirectToNewPage = (0, react.useCallback)(() => {
2987 + const redirectUrl = urls.createNewPage || urls.editor || urls.dashboard;
2988 + ((0, _elementor_events.getMixpanel)().getMixpanelInstance?.())?.request_batchers?.events?.flush?.();
2989 + window.location.href = redirectUrl;
2990 + }, [urls]);
2991 + const completeAndRedirect = (0, react.useCallback)(() => {
2992 + updateProgress.mutate({
2993 + complete_step: stepId,
2994 + complete: true,
2995 + step_index: stepIndex,
2996 + total_steps: totalSteps
2997 + }, {
2998 + onSuccess: redirectToNewPage,
2999 + onError: () => {
3000 + redirectToNewPage();
3001 + }
3002 + });
3003 + }, [
3004 + updateProgress,
3005 + stepId,
3006 + stepIndex,
3007 + totalSteps,
3008 + redirectToNewPage
3009 + ]);
3010 + const handleSkip = (0, react.useCallback)(() => {
3011 + trackSkipClicked(stepId);
3012 + if (isLast) {
3013 + trackSummary({
3014 + choices,
3015 + completedSteps: [...completedSteps, stepId],
3016 + isConnected,
3017 + isGuest
3018 + });
3019 + isCompletingRef.current = true;
3020 + setIsCompleting(true);
3021 + updateProgress.mutate({
3022 + skip_step: true,
3023 + complete: true,
3024 + step_index: stepIndex,
3025 + total_steps: totalSteps
3026 + }, {
3027 + onSuccess: redirectToNewPage,
3028 + onError: () => {
3029 + redirectToNewPage();
3030 + }
3031 + });
3032 + return;
3033 + }
3034 + updateProgress.mutate({
3035 + skip_step: true,
3036 + step_index: stepIndex,
3037 + total_steps: totalSteps
3038 + }, {
3039 + onSuccess: () => {
3040 + actions.nextStep();
3041 + },
3042 + onError: () => {
3043 + actions.nextStep();
3044 + }
3045 + });
3046 + }, [
3047 + actions,
3048 + choices,
3049 + completedSteps,
3050 + isConnected,
3051 + isGuest,
3052 + isLast,
3053 + stepId,
3054 + stepIndex,
3055 + totalSteps,
3056 + trackSkipClicked,
3057 + trackSummary,
3058 + updateProgress,
3059 + redirectToNewPage
3060 + ]);
3061 + const saveChoicesFireAndForget = (0, react.useCallback)((choiceData) => {
3062 + updateChoices.mutate(choiceData);
3063 + }, [updateChoices]);
3064 + const handleContinue = (0, react.useCallback)((directChoice) => {
3065 + if (stepId === StepId.SITE_FEATURES) trackProFeaturesSelected({
3066 + targetName: "continue_with_free",
3067 + features: choices.site_features || []
3068 + });
3069 + let effectiveDirectChoice = directChoice;
3070 + if (stepId === StepId.THEME_SELECTION && !effectiveDirectChoice) effectiveDirectChoice = { theme_selection: "hello-elementor" };
3071 + const storedChoice = choices[stepId];
3072 + const choiceData = effectiveDirectChoice ?? (isChoiceEmpty(storedChoice) ? null : { [stepId]: storedChoice });
3073 + if (choiceData) saveChoicesFireAndForget(choiceData);
3074 + if (stepId === StepId.THEME_SELECTION) {
3075 + const themeSlug = choiceData?.theme_selection ?? choices.theme_selection ?? "hello-elementor";
3076 + if (themeSlug && isLast) {
3077 + trackThemeSelected(themeSlug, "theme_selection");
3078 + isCompletingRef.current = true;
3079 + setIsCompleting(true);
3080 + installTheme.mutate(themeSlug, {
3081 + onSuccess: completeAndRedirect,
3082 + onError: (error) => {
3083 + trackErrorReported({
3084 + targetType: "install",
3085 + targetName: "continue_with_hello",
3086 + stepId: "theme_selection",
3087 + errorBody: error instanceof Error ? error.message : "Failed to install theme"
3088 + });
3089 + showToast(t("error.theme_install_failed"));
3090 + completeAndRedirect();
3091 + }
3092 + });
3093 + return;
3094 + }
3095 + if (themeSlug) {
3096 + trackThemeSelected(themeSlug, "theme_selection");
3097 + installTheme.mutate(themeSlug, { onError: (error) => {
3098 + trackErrorReported({
3099 + targetType: "install",
3100 + targetName: "continue_with_hello",
3101 + stepId: "theme_selection",
3102 + errorBody: error instanceof Error ? error.message : "Failed to install theme"
3103 + });
3104 + showToast(t("error.theme_install_failed"));
3105 + } });
3106 + }
3107 + }
3108 + if (isLast) {
3109 + trackSummary({
3110 + choices,
3111 + completedSteps: [...completedSteps, stepId],
3112 + isConnected,
3113 + isGuest
3114 + });
3115 + isCompletingRef.current = true;
3116 + setIsCompleting(true);
3117 + completeAndRedirect();
3118 + return;
3119 + }
3120 + updateProgress.mutate({
3121 + complete_step: stepId,
3122 + step_index: stepIndex,
3123 + total_steps: totalSteps
3124 + }, {
3125 + onSuccess: () => {
3126 + actions.completeStep(stepId);
3127 + actions.nextStep();
3128 + },
3129 + onError: () => {
3130 + actions.completeStep(stepId);
3131 + actions.nextStep();
3132 + }
3133 + });
3134 + }, [
3135 + actions,
3136 + choices,
3137 + completedSteps,
3138 + isConnected,
3139 + isGuest,
3140 + isLast,
3141 + stepId,
3142 + stepIndex,
3143 + totalSteps,
3144 + updateProgress,
3145 + saveChoicesFireAndForget,
3146 + installTheme,
3147 + showToast,
3148 + completeAndRedirect,
3149 + trackErrorReported,
3150 + trackProFeaturesSelected,
3151 + trackSummary,
3152 + trackThemeSelected
3153 + ]);
3154 + const rightPanelConfig = (0, react.useMemo)(() => getStepVisualConfig(stepId), [stepId]);
3155 + const isPending = updateProgress.isPending || isLoading;
3156 + const choiceForStep = choices[stepId];
3157 + const continueDisabled = isContinueDisabled(stepId, isLast, choiceForStep);
3158 + const isBackDisabled = isFirst && isConnected;
3159 + const getContinueLabel = () => {
3160 + if (stepId === StepId.THEME_SELECTION && !completedSteps.includes(StepId.THEME_SELECTION)) return t("steps.theme_selection.v2.continue_with_theme");
3161 + if (stepId === StepId.SITE_FEATURES && !completedSteps.includes(StepId.SITE_FEATURES)) return t("steps.site_features.continue_with_free");
3162 + if (isLast) return t("common.finish");
3163 + return t("common.continue");
3164 + };
3165 + const renderStepContent = () => {
3166 + switch (stepId) {
3167 + case StepId.THEME_SELECTION: return /* @__PURE__ */ react.createElement(ThemeSelection, null);
3168 + case StepId.SITE_FEATURES: return /* @__PURE__ */ react.createElement(SiteFeatures, null);
3169 + default: return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: {
3170 + flex: 1,
3171 + width: "100%"
3172 + } });
3173 + }
3174 + };
3175 + if (isCompleting) return /* @__PURE__ */ react.createElement(CompletionScreen, null);
3176 + if (!hasPassedLogin) return /* @__PURE__ */ react.createElement(BaseLayout, { topBar: /* @__PURE__ */ react.createElement(TopBar, null, /* @__PURE__ */ react.createElement(TopBarContent, {
3177 + showUpgrade: true,
3178 + showClose: false,
3179 + onUpgrade: () => {
3180 + trackUpgradeClicked("login");
3181 + window.open(urls.upgradeUrl, "_blank");
3182 + }
3183 + })) }, /* @__PURE__ */ react.createElement(Login, {
3184 + onConnect: handleConnect,
3185 + onSignUp: handleSignUp,
3186 + onContinueAsGuest: handleContinueAsGuest
3187 + }));
3188 + if (shouldShowProInstall) return /* @__PURE__ */ react.createElement(BaseLayout, { topBar: /* @__PURE__ */ react.createElement(TopBar, null, /* @__PURE__ */ react.createElement(TopBarContent, {
3189 + showUpgrade: false,
3190 + showClose: false
3191 + })) }, /* @__PURE__ */ react.createElement(ProInstall, null));
3192 + return /* @__PURE__ */ react.createElement(BaseLayout, {
3193 + testId: "onboarding-steps",
3194 + topBar: /* @__PURE__ */ react.createElement(TopBar, null, /* @__PURE__ */ react.createElement(TopBarContent, {
3195 + showClose: false,
3196 + onClose: handleClose,
3197 + onUpgrade: () => {
3198 + trackUpgradeClicked(stepId);
3199 + window.open(urls.upgradeUrl, "_blank");
3200 + }
3201 + })),
3202 + footer: /* @__PURE__ */ react.createElement(Footer, null, /* @__PURE__ */ react.createElement(FooterActions, {
3203 + showBack: true,
3204 + showSkip: true,
3205 + showContinue: true,
3206 + isBackDisabled,
3207 + continueLabel: getContinueLabel(),
3208 + continueDisabled,
3209 + continueLoading: isPending,
3210 + onBack: handleBack,
3211 + onSkip: handleSkip,
3212 + onContinue: () => handleContinue()
3213 + }))
3214 + }, /* @__PURE__ */ react.createElement(SplitLayout, {
3215 + left: renderStepContent(),
3216 + rightConfig: rightPanelConfig
3217 + }));
3218 + }
1024 3219
3220 +//#endregion
3221 +//#region packages/apps/onboarding/src/components/app.tsx
3222 + function resolveColorScheme(preference) {
3223 + if (preference === "dark") return "dark";
3224 + if (preference === "light") return "light";
3225 + return window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light";
3226 + }
3227 + function App(props) {
3228 + const store = (0, react.useMemo)(() => {
3229 + registerOnboardingSlice();
3230 + let existingStore = (0, _elementor_store.__getStore)();
3231 + if (!existingStore) existingStore = (0, _elementor_store.__createStore)();
3232 + existingStore.dispatch(initFromConfig());
3233 + return existingStore;
3234 + }, []);
3235 + const queryClient = (0, react.useMemo)(() => (0, _elementor_query.createQueryClient)(), []);
3236 + const uiTheme = window.elementorAppConfig?.onboarding?.uiTheme ?? "auto";
3237 + const colorScheme = (0, react.useMemo)(() => resolveColorScheme(uiTheme), [uiTheme]);
3238 + const isRtl = window.elementorCommon?.config?.isRTL ?? false;
3239 + return /* @__PURE__ */ react.createElement(_elementor_store.__StoreProvider, { store }, /* @__PURE__ */ react.createElement(_elementor_query.QueryClientProvider, { client: queryClient }, /* @__PURE__ */ react.createElement(_elementor_ui.DirectionProvider, { rtl: isRtl }, /* @__PURE__ */ react.createElement(_elementor_ui.ThemeProvider, {
3240 + colorScheme,
3241 + palette: "argon-beta"
3242 + }, /* @__PURE__ */ react.createElement(ToastProvider, null, /* @__PURE__ */ react.createElement(TrackingProvider, null, /* @__PURE__ */ react.createElement(AppContent, { ...props })))))));
3243 + }
1025 3244
3245 +//#endregion
3246 +//#region packages/apps/onboarding/src/index.ts
3247 + var src_exports = /* @__PURE__ */ __exportAll({ App: () => App });
1026 3248
3249 +//#endregion
3250 +//#region \0elementor-package-library-entry
3251 + (window.elementorV2 = window.elementorV2 || {}).onboarding = src_exports;
1027 3252
1028 -
1029 -
1030 -
1031 -
1032 -
1033 -function resolveColorScheme(preference) {
1034 - if (preference === 'dark') {
1035 - return 'dark';
1036 - }
1037 - if (preference === 'light') {
1038 - return 'light';
1039 - }
1040 - const prefersDark = window.matchMedia?.('(prefers-color-scheme: dark)').matches;
1041 - return prefersDark ? 'dark' : 'light';
1042 -}
1043 -function App(props) {
1044 - const store = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
1045 - (0,_store__WEBPACK_IMPORTED_MODULE_5__.registerOnboardingSlice)();
1046 - let existingStore = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_2__.__getStore)();
1047 - if (!existingStore) {
1048 - existingStore = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_2__.__createStore)();
1049 - }
1050 - existingStore.dispatch((0,_store__WEBPACK_IMPORTED_MODULE_5__.initFromConfig)());
1051 - return existingStore;
1052 - }, []);
1053 - const queryClient = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_elementor_query__WEBPACK_IMPORTED_MODULE_1__.createQueryClient)(), []);
1054 - const uiTheme = window.elementorAppConfig?.onboarding?.uiTheme ?? 'auto';
1055 - const colorScheme = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => resolveColorScheme(uiTheme), [uiTheme]);
1056 - const isRtl = window.elementorCommon?.config?.isRTL ?? false;
1057 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_store__WEBPACK_IMPORTED_MODULE_2__.__StoreProvider, {
1058 - store: store
1059 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_query__WEBPACK_IMPORTED_MODULE_1__.QueryClientProvider, {
1060 - client: queryClient
1061 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.DirectionProvider, {
1062 - rtl: isRtl
1063 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {
1064 - colorScheme: colorScheme,
1065 - palette: "argon-beta"
1066 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_toast_toast_context__WEBPACK_IMPORTED_MODULE_7__.ToastProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_analytics_tracking_context__WEBPACK_IMPORTED_MODULE_4__.TrackingProvider, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_app_content__WEBPACK_IMPORTED_MODULE_6__.AppContent, props)))))));
1067 -}
1068 -
1069 -/***/ }),
1070 -
1071 -/***/ "./packages/apps/onboarding/src/components/fullscreen-card.tsx":
1072 -/*!*********************************************************************!*\
1073 - !*** ./packages/apps/onboarding/src/components/fullscreen-card.tsx ***!
1074 - \*********************************************************************/
1075 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1076 -
1077 -__webpack_require__.r(__webpack_exports__);
1078 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1079 -/* harmony export */ Card: function() { return /* binding */ Card; },
1080 -/* harmony export */ FullscreenCard: function() { return /* binding */ FullscreenCard; },
1081 -/* harmony export */ PrimaryButton: function() { return /* binding */ PrimaryButton; },
1082 -/* harmony export */ SecondaryButton: function() { return /* binding */ SecondaryButton; },
1083 -/* harmony export */ SocialIconWrapper: function() { return /* binding */ SocialIconWrapper; },
1084 -/* harmony export */ TextButton: function() { return /* binding */ TextButton; }
1085 -/* harmony export */ });
1086 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1087 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1088 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1089 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1090 -/* harmony import */ var _steps_step_visuals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../steps/step-visuals */ "./packages/apps/onboarding/src/steps/step-visuals.ts");
1091 -
1092 -
1093 -
1094 -const BACKDROP_OPACITY = 0.6;
1095 -const FullscreenCardRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
1096 - shouldForwardProp: prop => prop !== 'background'
1097 -})(({
1098 - theme,
1099 - background
1100 -}) => ({
1101 - position: 'relative',
1102 - minHeight: '100%',
1103 - width: '100%',
1104 - display: 'flex',
1105 - alignItems: 'center',
1106 - justifyContent: 'center',
1107 - padding: theme.spacing(4),
1108 - background
1109 -}));
1110 -const Backdrop = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
1111 - theme
1112 -}) => ({
1113 - position: 'absolute',
1114 - inset: 0,
1115 - backgroundColor: theme.palette.mode === 'dark' ? theme.palette.common.black : theme.palette.text.primary,
1116 - opacity: BACKDROP_OPACITY
1117 -}));
1118 -const Card = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Paper)(({
1119 - theme
1120 -}) => ({
1121 - width: 512,
1122 - maxWidth: '90%',
1123 - padding: theme.spacing(6, 6, 5),
1124 - borderRadius: theme.shape.borderRadius * 2,
1125 - boxShadow: theme.shadows[24],
1126 - display: 'flex',
1127 - flexDirection: 'column',
1128 - alignItems: 'center',
1129 - gap: theme.spacing(3),
1130 - position: 'relative',
1131 - zIndex: 1
1132 -}));
1133 -const PrimaryButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Button)(({
1134 - theme
1135 -}) => ({
1136 - borderRadius: theme.shape.borderRadius,
1137 - textTransform: 'none',
1138 - fontSize: theme.typography.pxToRem(15),
1139 - fontWeight: 500,
1140 - letterSpacing: '0.46px',
1141 - lineHeight: theme.typography.pxToRem(26),
1142 - padding: theme.spacing(1, 2.75),
1143 - minHeight: theme.spacing(6)
1144 -}));
1145 -const SecondaryButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Button)(({
1146 - theme
1147 -}) => ({
1148 - display: 'flex',
1149 - alignItems: 'center',
1150 - justifyContent: 'center',
1151 - flexWrap: 'wrap',
1152 - gap: theme.spacing(1),
1153 - border: `1px solid ${theme.palette.divider}`,
1154 - borderRadius: theme.shape.borderRadius,
1155 - textTransform: 'none',
1156 - fontSize: theme.typography.pxToRem(15),
1157 - fontWeight: 500,
1158 - letterSpacing: '0.46px',
1159 - lineHeight: theme.typography.pxToRem(26),
1160 - padding: theme.spacing(1, 3)
1161 -}));
1162 -const SocialIconWrapper = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Paper)(({
1163 - theme
1164 -}) => ({
1165 - backgroundColor: theme.palette.background.paper,
1166 - backgroundImage: theme.palette.mode === 'dark' ? 'linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))' : 'none',
1167 - width: theme.spacing(3.5),
1168 - height: theme.spacing(3.5),
1169 - borderRadius: '50%',
1170 - border: `1px solid ${theme.palette.divider}`,
1171 - boxShadow: 'none',
1172 - display: 'flex',
1173 - alignItems: 'center',
1174 - justifyContent: 'center',
1175 - marginLeft: theme.spacing(-1),
1176 - '&:first-of-type': {
1177 - marginLeft: 0,
1178 - zIndex: 1
1179 - },
1180 - '&:nth-of-type(2)': {
1181 - zIndex: 2
1182 - },
1183 - '&:nth-of-type(3)': {
1184 - zIndex: 3
1185 - },
1186 - '& svg': {
1187 - width: theme.spacing(2.5),
1188 - height: theme.spacing(2.5)
1189 - }
1190 -}));
1191 -const TextButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Link)(({
1192 - theme
1193 -}) => ({
1194 - textTransform: 'none',
1195 - fontSize: theme.typography.pxToRem(13),
1196 - fontWeight: 500,
1197 - letterSpacing: '0.46px',
1198 - lineHeight: theme.typography.pxToRem(22)
1199 -}));
1200 -function FullscreenCard({
1201 - children,
1202 - 'data-testid': testId
1203 -}) {
1204 - const {
1205 - background
1206 - } = (0,_steps_step_visuals__WEBPACK_IMPORTED_MODULE_2__.getLoginVisualConfig)();
1207 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FullscreenCardRoot, {
1208 - background: background,
1209 - "data-testid": testId
1210 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Backdrop, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Card, {
1211 - elevation: 24
1212 - }, children));
1213 -}
1214 -
1215 -/***/ }),
1216 -
1217 -/***/ "./packages/apps/onboarding/src/components/index.ts":
1218 -/*!**********************************************************!*\
1219 - !*** ./packages/apps/onboarding/src/components/index.ts ***!
1220 - \**********************************************************/
1221 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1222 -
1223 -__webpack_require__.r(__webpack_exports__);
1224 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1225 -/* harmony export */ App: function() { return /* reexport safe */ _app__WEBPACK_IMPORTED_MODULE_0__.App; }
1226 -/* harmony export */ });
1227 -/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app */ "./packages/apps/onboarding/src/components/app.tsx");
1228 -
1229 -
1230 -/***/ }),
1231 -
1232 -/***/ "./packages/apps/onboarding/src/components/theme-selection/constants.ts":
1233 -/*!******************************************************************************!*\
1234 - !*** ./packages/apps/onboarding/src/components/theme-selection/constants.ts ***!
1235 - \******************************************************************************/
1236 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1237 -
1238 -__webpack_require__.r(__webpack_exports__);
1239 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1240 -/* harmony export */ HELLO_THEME: function() { return /* binding */ HELLO_THEME; },
1241 -/* harmony export */ getGreetingText: function() { return /* binding */ getGreetingText; }
1242 -/* harmony export */ });
1243 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
1244 -
1245 -const HELLO_THEME = {
1246 - slug: 'hello-elementor',
1247 - labelKey: 'steps.theme_selection.theme_hello_label',
1248 - descriptionKey: 'steps.theme_selection.theme_hello_description',
1249 - previewBgColor: '#f6f6f6'
1250 -};
1251 -function getGreetingText(experienceLevel) {
1252 - if (experienceLevel === 'beginner') {
1253 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_0__.t)('steps.theme_selection.greeting_beginner');
1254 - }
1255 - return (0,_utils_translations__WEBPACK_IMPORTED_MODULE_0__.t)('steps.theme_selection.greeting_default');
1256 -}
1257 -
1258 -/***/ }),
1259 -
1260 -/***/ "./packages/apps/onboarding/src/components/theme-selection/hello-theme-preview.tsx":
1261 -/*!*****************************************************************************************!*\
1262 - !*** ./packages/apps/onboarding/src/components/theme-selection/hello-theme-preview.tsx ***!
1263 - \*****************************************************************************************/
1264 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1265 -
1266 -__webpack_require__.r(__webpack_exports__);
1267 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1268 -/* harmony export */ HelloThemePreview: function() { return /* binding */ HelloThemePreview; }
1269 -/* harmony export */ });
1270 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1271 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1272 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1273 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1274 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1275 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1276 -/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../icons */ "./packages/apps/onboarding/src/icons/index.ts");
1277 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
1278 -/* harmony import */ var _styled_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styled-components */ "./packages/apps/onboarding/src/components/theme-selection/styled-components.ts");
1279 -
1280 -
1281 -
1282 -
1283 -
1284 -
1285 -const HELLO_BADGE_BG_COLOR = '#ED01EE';
1286 -const LEFT_CARD_SIZE = 120;
1287 -const RIGHT_CARD_SIZE = 144;
1288 -const CARDS_OVERLAP = 15;
1289 -const PLUS_SIZE = 32;
1290 -const PreviewRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)({
1291 - position: 'relative',
1292 - display: 'flex',
1293 - alignItems: 'center',
1294 - justifyContent: 'center'
1295 -});
1296 -const ElementorPlaceholderCard = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)(({
1297 - theme
1298 -}) => ({
1299 - display: 'flex',
1300 - alignItems: 'center',
1301 - justifyContent: 'center',
1302 - inlineSize: LEFT_CARD_SIZE,
1303 - blockSize: LEFT_CARD_SIZE,
1304 - borderRadius: theme.spacing(1.25),
1305 - border: `2px dashed ${theme.palette.divider}`,
1306 - backgroundColor: '#F4F4F4',
1307 - flexShrink: 0
1308 -}));
1309 -const HelloCard = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)(({
1310 - theme
1311 -}) => ({
1312 - position: 'relative',
1313 - display: 'flex',
1314 - flexDirection: 'column',
1315 - alignItems: 'center',
1316 - justifyContent: 'flex-start',
1317 - gap: theme.spacing(1.5),
1318 - inlineSize: RIGHT_CARD_SIZE,
1319 - blockSize: RIGHT_CARD_SIZE,
1320 - paddingBlockStart: theme.spacing(5.5),
1321 - paddingBlockEnd: theme.spacing(2.5),
1322 - borderRadius: theme.spacing(1.25),
1323 - border: `2px solid ${theme.palette.text.primary}`,
1324 - backgroundColor: theme.palette.background.paper,
1325 - marginInlineStart: `-${CARDS_OVERLAP}px`,
1326 - flexShrink: 0,
1327 - zIndex: 1
1328 -}));
1329 -const HelloBadge = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)(({
1330 - theme
1331 -}) => ({
1332 - position: 'absolute',
1333 - insetBlockStart: theme.spacing(-1.5),
1334 - insetInlineEnd: theme.spacing(-1.5),
1335 - paddingBlock: theme.spacing(0.375),
1336 - paddingInline: theme.spacing(1),
1337 - borderRadius: theme.spacing(2.5),
1338 - backgroundColor: HELLO_BADGE_BG_COLOR,
1339 - color: theme.palette.common.white,
1340 - zIndex: 2
1341 -}));
1342 -const PlusOverlay = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)({
1343 - position: 'absolute',
1344 - insetBlockStart: '50%',
1345 - insetInlineStart: `${LEFT_CARD_SIZE - CARDS_OVERLAP}px`,
1346 - transform: 'translate(-50%, -50%)',
1347 - display: 'flex',
1348 - alignItems: 'center',
1349 - justifyContent: 'center',
1350 - zIndex: 3,
1351 - pointerEvents: 'none'
1352 -});
1353 -function HelloThemePreview({
1354 - isInstalled = false
1355 -}) {
1356 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.useTheme)();
1357 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1358 - alignItems: "center",
1359 - width: "100%",
1360 - "data-testid": "hello-theme-preview"
1361 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(PreviewRoot, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ElementorPlaceholderCard, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_3__.ElementorLogoIcon, {
1362 - sx: {
1363 - fontSize: theme.spacing(5.5)
1364 - }
1365 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(HelloCard, null, isInstalled ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_styled_components__WEBPACK_IMPORTED_MODULE_5__.InstalledChip, {
1366 - label: (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('common.installed'),
1367 - size: "small",
1368 - color: "success",
1369 - icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CheckedCircleIcon, null),
1370 - sx: {
1371 - position: 'absolute',
1372 - insetBlockStart: theme.spacing(1),
1373 - insetInlineStart: theme.spacing(1),
1374 - zIndex: 2
1375 - }
1376 - }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(HelloBadge, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1377 - variant: "caption",
1378 - color: "inherit",
1379 - sx: {
1380 - fontWeight: 400,
1381 - lineHeight: 1.5
1382 - }
1383 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('steps.theme_selection.theme_hello_label'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_3__.HelloLayoutIcon, {
1384 - sx: {
1385 - fontSize: theme.spacing(6),
1386 - color: 'text.primary'
1387 - }
1388 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
1389 - variant: "caption",
1390 - color: "text.secondary"
1391 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('steps.theme_selection.by_elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(PlusOverlay, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_3__.PlusIcon, {
1392 - sx: {
1393 - width: PLUS_SIZE,
1394 - height: PLUS_SIZE,
1395 - color: 'text.primary'
1396 - },
1397 - strokeColor: theme.palette.mode === 'dark' ? theme.palette.common.black : theme.palette.common.white
1398 - }))));
1399 -}
1400 -
1401 -/***/ }),
1402 -
1403 -/***/ "./packages/apps/onboarding/src/components/theme-selection/index.ts":
1404 -/*!**************************************************************************!*\
1405 - !*** ./packages/apps/onboarding/src/components/theme-selection/index.ts ***!
1406 - \**************************************************************************/
1407 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1408 -
1409 -__webpack_require__.r(__webpack_exports__);
1410 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1411 -/* harmony export */ HELLO_THEME: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.HELLO_THEME; },
1412 -/* harmony export */ HelloThemePreview: function() { return /* reexport safe */ _hello_theme_preview__WEBPACK_IMPORTED_MODULE_1__.HelloThemePreview; },
1413 -/* harmony export */ getGreetingText: function() { return /* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.getGreetingText; }
1414 -/* harmony export */ });
1415 -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./packages/apps/onboarding/src/components/theme-selection/constants.ts");
1416 -/* harmony import */ var _hello_theme_preview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hello-theme-preview */ "./packages/apps/onboarding/src/components/theme-selection/hello-theme-preview.tsx");
1417 -
1418 -
1419 -
1420 -/***/ }),
1421 -
1422 -/***/ "./packages/apps/onboarding/src/components/theme-selection/styled-components.ts":
1423 -/*!**************************************************************************************!*\
1424 - !*** ./packages/apps/onboarding/src/components/theme-selection/styled-components.ts ***!
1425 - \**************************************************************************************/
1426 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1427 -
1428 -__webpack_require__.r(__webpack_exports__);
1429 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1430 -/* harmony export */ InstalledChip: function() { return /* binding */ InstalledChip; }
1431 -/* harmony export */ });
1432 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1433 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_0__);
1434 -
1435 -const InstalledChip = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.Chip)(({
1436 - theme
1437 -}) => ({
1438 - position: 'absolute',
1439 - insetBlockStart: theme.spacing(1),
1440 - insetInlineStart: theme.spacing(1),
1441 - zIndex: 1,
1442 - backgroundColor: theme.palette.success.main,
1443 - color: theme.palette.success.contrastText,
1444 - '& .MuiChip-icon': {
1445 - color: 'inherit'
1446 - }
1447 -}));
1448 -
1449 -/***/ }),
1450 -
1451 -/***/ "./packages/apps/onboarding/src/components/toast/toast-context.tsx":
1452 -/*!*************************************************************************!*\
1453 - !*** ./packages/apps/onboarding/src/components/toast/toast-context.tsx ***!
1454 - \*************************************************************************/
1455 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1456 -
1457 -__webpack_require__.r(__webpack_exports__);
1458 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1459 -/* harmony export */ ToastProvider: function() { return /* binding */ ToastProvider; },
1460 -/* harmony export */ useToast: function() { return /* binding */ useToast; }
1461 -/* harmony export */ });
1462 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1463 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1464 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1465 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1466 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1467 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1468 -
1469 -
1470 -
1471 -
1472 -const AUTO_HIDE_DURATION = 8000;
1473 -const ToastContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
1474 -function ToastProvider({
1475 - children
1476 -}) {
1477 - const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);
1478 - const idCounter = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);
1479 - const showToast = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(message => {
1480 - const id = String(++idCounter.current);
1481 - setToasts(prev => [...prev, {
1482 - id,
1483 - message
1484 - }]);
1485 - }, []);
1486 - const dismissToast = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(id => {
1487 - setToasts(prev => prev.filter(t => t.id !== id));
1488 - }, []);
1489 - const value = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
1490 - showToast,
1491 - dismissToast
1492 - }), [showToast, dismissToast]);
1493 - const currentToast = toasts[0] ?? null;
1494 - const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((_event, reason) => {
1495 - if (reason === 'clickaway') {
1496 - return;
1497 - }
1498 - if (currentToast) {
1499 - dismissToast(currentToast.id);
1500 - }
1501 - }, [currentToast, dismissToast]);
1502 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ToastContext.Provider, {
1503 - value: value
1504 - }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Snackbar, {
1505 - open: !!currentToast,
1506 - autoHideDuration: AUTO_HIDE_DURATION,
1507 - onClose: handleClose,
1508 - anchorOrigin: {
1509 - vertical: 'top',
1510 - horizontal: 'center'
1511 - },
1512 - ContentProps: {
1513 - elevation: 6,
1514 - sx: {
1515 - borderRadius: '4px',
1516 - '& .MuiSnackbarContent-action': {
1517 - gap: '4px',
1518 - marginInlineStart: '4px'
1519 - }
1520 - }
1521 - },
1522 - message: currentToast?.message,
1523 - action: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, {
1524 - size: "small",
1525 - "aria-label": "close",
1526 - color: "inherit",
1527 - onClick: handleClose
1528 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.XIcon, {
1529 - fontSize: "small"
1530 - }))
1531 - }));
1532 -}
1533 -function useToast() {
1534 - const ctx = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ToastContext);
1535 - if (!ctx) {
1536 - throw new Error('useToast must be used within a ToastProvider');
1537 - }
1538 - return ctx;
1539 -}
1540 -
1541 -/***/ }),
1542 -
1543 -/***/ "./packages/apps/onboarding/src/components/ui/base-layout.tsx":
1544 -/*!********************************************************************!*\
1545 - !*** ./packages/apps/onboarding/src/components/ui/base-layout.tsx ***!
1546 - \********************************************************************/
1547 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1548 -
1549 -__webpack_require__.r(__webpack_exports__);
1550 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1551 -/* harmony export */ BaseLayout: function() { return /* binding */ BaseLayout; },
1552 -/* harmony export */ FOOTER_HEIGHT: function() { return /* binding */ FOOTER_HEIGHT; },
1553 -/* harmony export */ LAYOUT_PADDING: function() { return /* binding */ LAYOUT_PADDING; },
1554 -/* harmony export */ TOPBAR_HEIGHT: function() { return /* binding */ TOPBAR_HEIGHT; }
1555 -/* harmony export */ });
1556 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1557 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1558 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1559 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1560 -
1561 -
1562 -const TOPBAR_HEIGHT = 48;
1563 -const FOOTER_HEIGHT = 68;
1564 -const LayoutRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
1565 - theme
1566 -}) => ({
1567 - position: 'fixed',
1568 - inset: 0,
1569 - display: 'flex',
1570 - flexDirection: 'column',
1571 - background: theme.palette.background.default,
1572 - zIndex: theme.zIndex?.modal || 1300
1573 -}));
1574 -const ContentArea = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
1575 - shouldForwardProp: prop => !['topBarHeight', 'footerHeight'].includes(prop)
1576 -})(({
1577 - topBarHeight,
1578 - footerHeight
1579 -}) => ({
1580 - flex: 1,
1581 - display: 'flex',
1582 - flexDirection: 'column',
1583 - overflow: 'auto',
1584 - paddingTop: topBarHeight,
1585 - paddingBottom: footerHeight
1586 -}));
1587 -function BaseLayout({
1588 - children,
1589 - topBar,
1590 - footer,
1591 - testId
1592 -}) {
1593 - const topBarHeight = topBar ? TOPBAR_HEIGHT : 0;
1594 - const footerHeight = footer ? FOOTER_HEIGHT : 0;
1595 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(LayoutRoot, {
1596 - "data-module": "onboarding",
1597 - "data-testid": testId
1598 - }, topBar, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ContentArea, {
1599 - topBarHeight: topBarHeight,
1600 - footerHeight: footerHeight
1601 - }, children), footer);
1602 -}
1603 -const LAYOUT_PADDING = 4;
1604 -
1605 -
1606 -/***/ }),
1607 -
1608 -/***/ "./packages/apps/onboarding/src/components/ui/completion-screen.tsx":
1609 -/*!**************************************************************************!*\
1610 - !*** ./packages/apps/onboarding/src/components/ui/completion-screen.tsx ***!
1611 - \**************************************************************************/
1612 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1613 -
1614 -__webpack_require__.r(__webpack_exports__);
1615 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1616 -/* harmony export */ CompletionScreen: function() { return /* binding */ CompletionScreen; }
1617 -/* harmony export */ });
1618 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1619 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1620 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1621 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1622 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
1623 -
1624 -
1625 -
1626 -const PROGRESS_BAR_WIDTH = 192;
1627 -const ProgressTrack = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
1628 - theme
1629 -}) => ({
1630 - width: PROGRESS_BAR_WIDTH,
1631 - height: 4,
1632 - borderRadius: 22,
1633 - backgroundColor: theme.palette.action.hover,
1634 - position: 'relative',
1635 - overflow: 'hidden'
1636 -}));
1637 -const FAKE_PROGRESS_KEYFRAMES = {
1638 - '0%': {
1639 - width: '0%'
1640 - },
1641 - '30%': {
1642 - width: '35%'
1643 - },
1644 - '60%': {
1645 - width: '55%'
1646 - },
1647 - '80%': {
1648 - width: '68%'
1649 - },
1650 - '100%': {
1651 - width: '75%'
1652 - }
1653 -};
1654 -const ProgressFill = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
1655 - theme
1656 -}) => ({
1657 - position: 'absolute',
1658 - left: 0,
1659 - top: 0,
1660 - height: '100%',
1661 - borderRadius: 22,
1662 - backgroundColor: theme.palette.text.primary,
1663 - animation: 'onboarding-fake-progress 3s ease-out forwards',
1664 - '@keyframes onboarding-fake-progress': FAKE_PROGRESS_KEYFRAMES
1665 -}));
1666 -function CompletionScreen() {
1667 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
1668 - sx: {
1669 - width: '100%',
1670 - height: '100vh',
1671 - display: 'flex',
1672 - alignItems: 'center',
1673 - justifyContent: 'center',
1674 - bgcolor: 'background.paper'
1675 - }
1676 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
1677 - spacing: 4,
1678 - alignItems: "center",
1679 - sx: {
1680 - maxWidth: 463,
1681 - width: '100%',
1682 - px: 3
1683 - }
1684 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProgressTrack, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProgressFill, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
1685 - spacing: 1,
1686 - textAlign: "center"
1687 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
1688 - variant: "h5",
1689 - fontWeight: 500,
1690 - color: "text.primary"
1691 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_2__.t)('completion.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
1692 - variant: "body1",
1693 - color: "text.secondary"
1694 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_2__.t)('completion.subtitle')))));
1695 -}
1696 -
1697 -/***/ }),
1698 -
1699 -/***/ "./packages/apps/onboarding/src/components/ui/elementor-icon.tsx":
1700 -/*!***********************************************************************!*\
1701 - !*** ./packages/apps/onboarding/src/components/ui/elementor-icon.tsx ***!
1702 - \***********************************************************************/
1703 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1704 -
1705 -__webpack_require__.r(__webpack_exports__);
1706 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1707 -/* harmony export */ ElementorIcon: function() { return /* binding */ ElementorIcon; }
1708 -/* harmony export */ });
1709 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1710 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1711 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1712 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1713 -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); }
1714 -
1715 -
1716 -
1717 -/**
1718 - * Elementor "E" logo icon.
1719 - * Uses currentColor by default, so it inherits color from parent or theme.
1720 - * @param props
1721 - */
1722 -function ElementorIcon(props) {
1723 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
1724 - viewBox: "0 0 32 32"
1725 - }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1726 - d: "M15.93 0C7.13 0 0 7.16 0 16s7.13 16 15.93 16c8.8 0 15.93-7.16 15.93-16S24.73 0 15.93 0zM11.15 24H7.97V8h3.18v16zm12.74 0h-9.56v-3.2h9.56V24zm0-6.4h-9.56v-3.2h9.56v3.2zm0-6.4h-9.56V8h9.56v3.2z",
1727 - fill: "currentColor"
1728 - }));
1729 -}
1730 -
1731 -/***/ }),
1732 -
1733 -/***/ "./packages/apps/onboarding/src/components/ui/elementor-logo.tsx":
1734 -/*!***********************************************************************!*\
1735 - !*** ./packages/apps/onboarding/src/components/ui/elementor-logo.tsx ***!
1736 - \***********************************************************************/
1737 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1738 -
1739 -__webpack_require__.r(__webpack_exports__);
1740 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1741 -/* harmony export */ ElementorLogo: function() { return /* binding */ ElementorLogo; }
1742 -/* harmony export */ });
1743 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1744 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1745 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1746 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1747 -/* harmony import */ var _elementor_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./elementor-icon */ "./packages/apps/onboarding/src/components/ui/elementor-icon.tsx");
1748 -/* harmony import */ var _elementor_wordmark__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./elementor-wordmark */ "./packages/apps/onboarding/src/components/ui/elementor-wordmark.tsx");
1749 -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); }
1750 -
1751 -
1752 -
1753 -
1754 -function ElementorLogo({
1755 - height = 20,
1756 - sx,
1757 - ...props
1758 -}) {
1759 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.useTheme)();
1760 -
1761 - // Icon is square
1762 - const iconSize = height;
1763 -
1764 - // Wordmark viewBox is 90x15, aspect ratio 6
1765 - const wordmarkHeight = height * 0.8;
1766 - const wordmarkWidth = wordmarkHeight * 6;
1767 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, _extends({
1768 - direction: "row",
1769 - alignItems: "center",
1770 - spacing: 0.5,
1771 - sx: {
1772 - color: theme.palette.text.primary,
1773 - ...sx
1774 - }
1775 - }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icon__WEBPACK_IMPORTED_MODULE_2__.ElementorIcon, {
1776 - sx: {
1777 - width: iconSize,
1778 - height: iconSize
1779 - }
1780 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_wordmark__WEBPACK_IMPORTED_MODULE_3__.ElementorWordmark, {
1781 - sx: {
1782 - width: wordmarkWidth,
1783 - height: wordmarkHeight
1784 - }
1785 - }));
1786 -}
1787 -
1788 -/***/ }),
1789 -
1790 -/***/ "./packages/apps/onboarding/src/components/ui/elementor-wordmark.tsx":
1791 -/*!***************************************************************************!*\
1792 - !*** ./packages/apps/onboarding/src/components/ui/elementor-wordmark.tsx ***!
1793 - \***************************************************************************/
1794 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1795 -
1796 -__webpack_require__.r(__webpack_exports__);
1797 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1798 -/* harmony export */ ElementorWordmark: function() { return /* binding */ ElementorWordmark; }
1799 -/* harmony export */ });
1800 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1801 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1802 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1803 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
1804 -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); }
1805 -
1806 -
1807 -
1808 -/**
1809 - * Elementor wordmark (text "elementor").
1810 - * Uses currentColor by default, so it inherits color from parent or theme.
1811 - * @param props
1812 - */
1813 -function ElementorWordmark(props) {
1814 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
1815 - viewBox: "0 0 90 15"
1816 - }, props), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1817 - d: "M2.96457 11.7721C3.50632 12.322 4.19354 12.5969 5.01619 12.5969C5.70843 12.5969 6.27526 12.4519 6.71668 12.162C7.16313 11.8721 7.44905 11.4622 7.58449 10.9323H9.69631C9.51071 11.977 8.99404 12.8119 8.14129 13.4417C7.29355 14.0716 6.25018 14.3815 5.01619 14.3815C4.02299 14.3815 3.15017 14.1666 2.39774 13.7367C1.65033 13.3068 1.06343 12.7269 0.64709 12.002C0.230745 11.2772 0.0150486 10.4874 0 9.64254H2.05162C2.11683 10.5174 2.42282 11.2272 2.96959 11.7771L2.96457 11.7721ZM2.01149 8.98768C2.01149 8.76273 2.03657 8.46779 2.09175 8.09287H7.48416C7.42898 7.37802 7.16814 6.80314 6.69662 6.36823C6.2251 5.93333 5.59807 5.71337 4.81555 5.71337C4.08318 5.71337 3.48625 5.92333 3.01473 6.34824C2.54321 6.77315 2.23722 7.35303 2.08674 8.09287H0.0351132C0.155502 7.33803 0.42136 6.65317 0.832688 6.0383C1.24402 5.42343 1.79078 4.93854 2.47298 4.58861C3.15519 4.23868 3.93771 4.06372 4.81053 4.06372C5.83383 4.06372 6.70665 4.28367 7.42898 4.72858C8.15131 5.17349 8.69808 5.75336 9.05925 6.47321C9.42543 7.19306 9.60601 7.98289 9.60601 8.84271C9.60601 9.08266 9.59096 9.3476 9.56588 9.63754H2.04159C2.01651 9.32261 2.00146 9.10266 2.00146 8.98268L2.01149 8.98768Z",
1818 - fill: "currentColor"
1819 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1820 - d: "M11.0857 1.82461H9.49561V0H13.2176V14.222H11.0857V1.82461Z",
1821 - fill: "currentColor"
1822 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1823 - d: "M17.3762 11.7721C17.9179 12.322 18.6052 12.5969 19.4278 12.5969C20.12 12.5969 20.6869 12.4519 21.1283 12.162C21.5747 11.8721 21.8607 11.4622 21.9961 10.9323H24.1079C23.9223 11.977 23.4057 12.8119 22.5529 13.4417C21.7052 14.0716 20.6618 14.3815 19.4278 14.3815C18.4346 14.3815 17.5618 14.1666 16.8094 13.7367C16.0619 13.3068 15.4751 12.7269 15.0587 12.002C14.6424 11.2772 14.4267 10.4874 14.4116 9.64254H16.4632C16.5285 10.5174 16.8344 11.2272 17.3812 11.7771L17.3762 11.7721ZM16.4231 8.98768C16.4231 8.76273 16.4482 8.46779 16.5034 8.09287H21.8958C21.8406 7.37802 21.5798 6.80314 21.1082 6.36823C20.6367 5.93333 20.0097 5.71337 19.2272 5.71337C18.4948 5.71337 17.8979 5.92333 17.4264 6.34824C16.9548 6.77315 16.6488 7.35303 16.4984 8.09287H14.4467C14.5671 7.33803 14.833 6.65317 15.2443 6.0383C15.6556 5.42343 16.2024 4.93854 16.8846 4.58861C17.5668 4.23868 18.3493 4.06372 19.2221 4.06372C20.2455 4.06372 21.1183 4.28367 21.8406 4.72858C22.5629 5.17349 23.1097 5.75336 23.4709 6.47321C23.837 7.19306 24.0176 7.98289 24.0176 8.84271C24.0176 9.08266 24.0026 9.3476 23.9775 9.63754H16.4532C16.4281 9.32261 16.4131 9.10266 16.4131 8.98268L16.4231 8.98768Z",
1824 - fill: "currentColor"
1825 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1826 - d: "M26.1243 6.03319H24.5342V4.22857H28.2361V5.91321C28.4769 5.34333 28.8531 4.89343 29.3698 4.5635C29.8865 4.23357 30.5034 4.0686 31.2208 4.0686C31.9782 4.0686 32.6454 4.24857 33.2222 4.60349C33.7991 4.95842 34.1853 5.44831 34.386 6.07318C34.6117 5.4933 35.0331 5.0134 35.6501 4.63348C36.2671 4.25856 36.9392 4.0686 37.6716 4.0686C38.7601 4.0686 39.6229 4.41353 40.2599 5.09839C40.897 5.78824 41.213 6.69805 41.213 7.83781V14.2265H39.1012V8.43268C39.1012 7.66784 38.9156 7.05297 38.5444 6.58807C38.1732 6.12317 37.6766 5.89322 37.0496 5.89322C36.3473 5.89322 35.7805 6.17316 35.3591 6.72804C34.9327 7.28292 34.7221 7.95778 34.7221 8.75261V14.2265H32.5902V8.43268C32.5902 7.66784 32.4096 7.05297 32.0434 6.58807C31.6772 6.12317 31.1857 5.89322 30.5586 5.89322C29.8664 5.89322 29.3096 6.17316 28.8782 6.73804C28.4468 7.29792 28.2311 7.97278 28.2311 8.75261V14.2265H26.1193V6.03319H26.1243Z",
1827 - fill: "currentColor"
1828 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1829 - d: "M45.3518 11.7721C45.8935 12.322 46.5807 12.5969 47.4034 12.5969C48.0956 12.5969 48.6625 12.4519 49.1039 12.162C49.5503 11.8721 49.8363 11.4622 49.9717 10.9323H52.0835C51.8979 11.977 51.3812 12.8119 50.5285 13.4417C49.6808 14.0716 48.6374 14.3815 47.4034 14.3815C46.4102 14.3815 45.5374 14.1666 44.7849 13.7367C44.0375 13.3068 43.4506 12.7269 43.0343 12.002C42.6179 11.2772 42.4023 10.4874 42.3872 9.64254H44.4388C44.504 10.5174 44.81 11.2272 45.3568 11.7771L45.3518 11.7721ZM44.3987 8.98768C44.3987 8.76273 44.4238 8.46779 44.479 8.09287H49.8714C49.8162 7.37802 49.5554 6.80314 49.0838 6.36823C48.6123 5.93333 47.9853 5.71337 47.2028 5.71337C46.4704 5.71337 45.8735 5.92333 45.4019 6.34824C44.9304 6.77315 44.6244 7.35303 44.4739 8.09287H42.4223C42.5427 7.33803 42.8086 6.65317 43.2199 6.0383C43.6312 5.42343 44.178 4.93854 44.8602 4.58861C45.5424 4.23868 46.3249 4.06372 47.1977 4.06372C48.221 4.06372 49.0939 4.28367 49.8162 4.72858C50.5385 5.17349 51.0853 5.75336 51.4465 6.47321C51.8126 7.19306 51.9932 7.98289 51.9932 8.84271C51.9932 9.08266 51.9782 9.3476 51.9531 9.63754H44.4288C44.4037 9.32261 44.3887 9.10266 44.3887 8.98268L44.3987 8.98768Z",
1830 - fill: "currentColor"
1831 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1832 - d: "M54.0144 6.03319H52.4243V4.22857H56.1263V5.91321C56.3921 5.31834 56.8085 4.86344 57.3703 4.5435C57.9321 4.22857 58.5892 4.0686 59.3316 4.0686C60.4603 4.0686 61.3632 4.43353 62.0504 5.16837C62.7326 5.90322 63.0737 6.86301 63.0737 8.05276V14.2215H60.9418V8.48767C60.9418 7.73283 60.7362 7.12796 60.3248 6.66305C59.9135 6.19815 59.3717 5.9682 58.6946 5.9682C57.9522 5.9682 57.3352 6.23315 56.8536 6.76303C56.367 7.29292 56.1263 7.96778 56.1263 8.78761V14.2215H54.0144V6.03319Z",
1833 - fill: "currentColor"
1834 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1835 - d: "M66.8009 13.3318C66.1839 12.7369 65.8729 11.9171 65.8729 10.8723V6.03336H63.8413V4.22875H65.8729V1.1344H67.9847V4.22875H70.8891V6.03336H67.9847V10.7924C67.9847 11.3072 68.1201 11.7072 68.391 11.9921C68.6619 12.277 69.0381 12.417 69.5146 12.417H70.8891V14.2216H69.2989C68.2505 14.2216 67.4179 13.9217 66.8009 13.3268V13.3318Z",
1836 - fill: "currentColor"
1837 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1838 - d: "M74.024 13.7167C73.2364 13.2718 72.6195 12.6619 72.173 11.8821C71.7266 11.1022 71.5059 10.2174 71.5059 9.22263C71.5059 8.22784 71.7266 7.34303 72.173 6.56319C72.6195 5.78336 73.2364 5.17349 74.024 4.72858C74.8115 4.28367 75.7044 4.06372 76.7026 4.06372C77.7009 4.06372 78.5887 4.28367 79.3813 4.72858C80.1688 5.17349 80.7858 5.78336 81.2323 6.56319C81.6787 7.34303 81.8994 8.22784 81.8994 9.22263C81.8994 10.2174 81.6787 11.1022 81.2323 11.8821C80.7858 12.6619 80.1688 13.2718 79.3813 13.7167C78.5937 14.1616 77.7009 14.3815 76.7026 14.3815C75.7044 14.3815 74.8165 14.1616 74.024 13.7167ZM78.8997 11.6171C79.4615 11.0023 79.7475 10.2074 79.7475 9.22763C79.7475 8.24784 79.4666 7.453 78.8997 6.83813C78.3379 6.22326 77.6005 5.91333 76.7026 5.91333C75.8047 5.91333 75.0724 6.21827 74.5106 6.83813C73.9538 7.453 73.6729 8.24784 73.6729 9.22763C73.6729 10.2074 73.9538 11.0023 74.5106 11.6171C75.0674 12.232 75.7997 12.5419 76.7026 12.5419C77.6056 12.5419 78.3379 12.237 78.8997 11.6171Z",
1839 - fill: "currentColor"
1840 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
1841 - d: "M83.8411 6.03362H82.251V4.229H85.9529V6.09361C86.1937 5.44375 86.5198 4.97385 86.9361 4.67391C87.3524 4.37397 87.9092 4.229 88.5965 4.229H89.7903V6.03362H88.2955C87.4728 6.03362 86.8759 6.35355 86.5047 6.99342C86.1335 7.63328 85.9479 8.5131 85.9479 9.62286V14.2269H83.8361V6.03362H83.8411Z",
1842 - fill: "currentColor"
1843 - }));
1844 -}
1845 -
1846 -/***/ }),
1847 -
1848 -/***/ "./packages/apps/onboarding/src/components/ui/footer-actions.tsx":
1849 -/*!***********************************************************************!*\
1850 - !*** ./packages/apps/onboarding/src/components/ui/footer-actions.tsx ***!
1851 - \***********************************************************************/
1852 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1853 -
1854 -__webpack_require__.r(__webpack_exports__);
1855 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1856 -/* harmony export */ FooterActions: function() { return /* binding */ FooterActions; }
1857 -/* harmony export */ });
1858 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1859 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1860 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1861 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1862 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1863 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1864 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
1865 -
1866 -
1867 -
1868 -
1869 -const LeftActions = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)({
1870 - display: 'flex',
1871 - alignItems: 'center',
1872 - gap: 8
1873 -});
1874 -const RightActions = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)({
1875 - display: 'flex',
1876 - alignItems: 'center',
1877 - gap: 8
1878 -});
1879 -const DirectionalArrowLeftIcon = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.withDirection)(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ArrowLeftIcon);
1880 -const BackButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button)(({
1881 - theme
1882 -}) => ({
1883 - color: theme.palette.text.primary,
1884 - padding: theme.spacing(0.75, 1),
1885 - minHeight: 0,
1886 - borderRadius: theme.shape.borderRadius,
1887 - textTransform: 'none',
1888 - fontSize: theme.typography.pxToRem(14),
1889 - fontWeight: 500,
1890 - lineHeight: theme.typography.pxToRem(24),
1891 - letterSpacing: '0.4px'
1892 -}));
1893 -const SkipButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button)(({
1894 - theme
1895 -}) => {
1896 - const outlinedBorderColor = theme.palette.primary?.states?.outlinedBorder ?? theme.palette.divider;
1897 - return {
1898 - color: theme.palette.text.primary,
1899 - borderColor: outlinedBorderColor,
1900 - padding: theme.spacing(0.75, 2),
1901 - minHeight: 0,
1902 - borderRadius: theme.shape.borderRadius,
1903 - textTransform: 'none',
1904 - fontSize: theme.typography.pxToRem(14),
1905 - fontWeight: 500,
1906 - lineHeight: theme.typography.pxToRem(24),
1907 - letterSpacing: '0.4px',
1908 - '&:hover': {
1909 - borderColor: outlinedBorderColor
1910 - }
1911 - };
1912 -});
1913 -const ContinueButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button)(({
1914 - theme
1915 -}) => ({
1916 - padding: theme.spacing(0.75, 2),
1917 - minHeight: 0,
1918 - borderRadius: theme.shape.borderRadius,
1919 - textTransform: 'none',
1920 - fontSize: theme.typography.pxToRem(14),
1921 - fontWeight: 500,
1922 - lineHeight: theme.typography.pxToRem(24),
1923 - letterSpacing: '0.4px',
1924 - '&:focus-visible': {
1925 - backgroundColor: theme.palette.promotion.main
1926 - }
1927 -}));
1928 -function FooterActions({
1929 - showBack = true,
1930 - showSkip = true,
1931 - showContinue = true,
1932 - backLabel = (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.back'),
1933 - skipLabel = (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.skip'),
1934 - continueLabel = (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.continue'),
1935 - isBackDisabled = false,
1936 - continueDisabled = false,
1937 - continueLoading = false,
1938 - onBack,
1939 - onSkip,
1940 - onContinue
1941 -}) {
1942 - const {
1943 - direction
1944 - } = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.useTheme)();
1945 - const isRtl = direction === 'rtl';
1946 - const backIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(DirectionalArrowLeftIcon, {
1947 - fontSize: "tiny"
1948 - });
1949 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(LeftActions, null, showBack && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(BackButton, {
1950 - variant: "text",
1951 - onClick: onBack,
1952 - disabled: isBackDisabled,
1953 - startIcon: isRtl ? undefined : backIcon,
1954 - endIcon: isRtl ? backIcon : undefined
1955 - }, backLabel)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(RightActions, null, showSkip && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SkipButton, {
1956 - variant: "outlined",
1957 - onClick: onSkip
1958 - }, skipLabel), showContinue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ContinueButton, {
1959 - color: "primary",
1960 - variant: "contained",
1961 - onClick: onContinue,
1962 - disabled: continueDisabled || continueLoading
1963 - }, continueLoading ? (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.loading') : continueLabel)));
1964 -}
1965 -
1966 -/***/ }),
1967 -
1968 -/***/ "./packages/apps/onboarding/src/components/ui/footer-highlights.tsx":
1969 -/*!**************************************************************************!*\
1970 - !*** ./packages/apps/onboarding/src/components/ui/footer-highlights.tsx ***!
1971 - \**************************************************************************/
1972 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1973 -
1974 -__webpack_require__.r(__webpack_exports__);
1975 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1976 -/* harmony export */ FooterHighlights: function() { return /* binding */ FooterHighlights; }
1977 -/* harmony export */ });
1978 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1979 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1980 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1981 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
1982 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1983 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
1984 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
1985 -
1986 -
1987 -
1988 -
1989 -function FooterHighlights({
1990 - items,
1991 - testId = 'footer-highlights',
1992 - sx
1993 -}) {
1994 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
1995 - direction: "row",
1996 - alignItems: "center",
1997 - justifyContent: "center",
1998 - gap: 3,
1999 - "data-testid": testId,
2000 - sx: sx
2001 - }, items.map(item => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
2002 - key: item.labelKey,
2003 - direction: "row",
2004 - alignItems: "center",
2005 - gap: 0.75
2006 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CircleCheckFilledIcon, {
2007 - fontSize: "tiny",
2008 - sx: {
2009 - color: 'text.secondary'
2010 - }
2011 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
2012 - variant: "body2",
2013 - sx: {
2014 - color: 'text.secondary'
2015 - }
2016 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)(item.labelKey)))));
2017 -}
2018 -
2019 -/***/ }),
2020 -
2021 -/***/ "./packages/apps/onboarding/src/components/ui/footer.tsx":
2022 -/*!***************************************************************!*\
2023 - !*** ./packages/apps/onboarding/src/components/ui/footer.tsx ***!
2024 - \***************************************************************/
2025 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2026 -
2027 -__webpack_require__.r(__webpack_exports__);
2028 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2029 -/* harmony export */ Footer: function() { return /* binding */ Footer; }
2030 -/* harmony export */ });
2031 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2032 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2033 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2034 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2035 -/* harmony import */ var _base_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base-layout */ "./packages/apps/onboarding/src/components/ui/base-layout.tsx");
2036 -
2037 -
2038 -
2039 -const FooterRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
2040 - theme
2041 -}) => ({
2042 - position: 'fixed',
2043 - bottom: 0,
2044 - left: 0,
2045 - right: 0,
2046 - height: _base_layout__WEBPACK_IMPORTED_MODULE_2__.FOOTER_HEIGHT,
2047 - display: 'flex',
2048 - alignItems: 'center',
2049 - justifyContent: 'space-between',
2050 - padding: theme.spacing(2, 3),
2051 - background: theme.palette.background.paper,
2052 - boxShadow: theme.shadows[4],
2053 - zIndex: theme.zIndex?.appBar || 1100
2054 -}));
2055 -function Footer({
2056 - children
2057 -}) {
2058 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FooterRoot, {
2059 - component: "footer"
2060 - }, children);
2061 -}
2062 -
2063 -/***/ }),
2064 -
2065 -/***/ "./packages/apps/onboarding/src/components/ui/greeting-banner.tsx":
2066 -/*!************************************************************************!*\
2067 - !*** ./packages/apps/onboarding/src/components/ui/greeting-banner.tsx ***!
2068 - \************************************************************************/
2069 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2070 -
2071 -__webpack_require__.r(__webpack_exports__);
2072 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2073 -/* harmony export */ GreetingBanner: function() { return /* binding */ GreetingBanner; }
2074 -/* harmony export */ });
2075 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2076 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2077 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2078 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2079 -/* harmony import */ var _styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styled-components */ "./packages/apps/onboarding/src/components/ui/styled-components.ts");
2080 -
2081 -
2082 -
2083 -function GreetingBanner({
2084 - children
2085 -}) {
2086 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_styled_components__WEBPACK_IMPORTED_MODULE_2__.GreetingBannerRoot, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
2087 - variant: "body1",
2088 - color: "text.primary",
2089 - align: "center"
2090 - }, children));
2091 -}
2092 -
2093 -/***/ }),
2094 -
2095 -/***/ "./packages/apps/onboarding/src/components/ui/right-panel.tsx":
2096 -/*!********************************************************************!*\
2097 - !*** ./packages/apps/onboarding/src/components/ui/right-panel.tsx ***!
2098 - \********************************************************************/
2099 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2100 -
2101 -__webpack_require__.r(__webpack_exports__);
2102 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2103 -/* harmony export */ RightPanel: function() { return /* binding */ RightPanel; }
2104 -/* harmony export */ });
2105 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2106 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2107 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2108 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2109 -/* harmony import */ var _steps_step_visuals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../steps/step-visuals */ "./packages/apps/onboarding/src/steps/step-visuals.ts");
2110 -/* harmony import */ var _base_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base-layout */ "./packages/apps/onboarding/src/components/ui/base-layout.tsx");
2111 -
2112 -
2113 -
2114 -
2115 -
2116 -const PANEL_RADIUS_MULTIPLIER = 2;
2117 -const PANEL_MIN_HEIGHT = 36;
2118 -const VIDEO_TRANSITION_MS = 400;
2119 -const ALL_VIDEO_URLS = (0,_steps_step_visuals__WEBPACK_IMPORTED_MODULE_2__.getVideoUrls)();
2120 -const RightPanelRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
2121 - shouldForwardProp: prop => prop !== 'background'
2122 -})(({
2123 - theme,
2124 - background
2125 -}) => {
2126 - const height = `calc(100vh - ${_base_layout__WEBPACK_IMPORTED_MODULE_3__.TOPBAR_HEIGHT}px - ${_base_layout__WEBPACK_IMPORTED_MODULE_3__.FOOTER_HEIGHT}px - ${theme.spacing(_base_layout__WEBPACK_IMPORTED_MODULE_3__.LAYOUT_PADDING * 2)})`;
2127 - return {
2128 - position: 'relative',
2129 - width: '100%',
2130 - height,
2131 - minHeight: theme.spacing(PANEL_MIN_HEIGHT),
2132 - borderRadius: theme.shape.borderRadius * PANEL_RADIUS_MULTIPLIER,
2133 - overflow: 'hidden',
2134 - background
2135 - };
2136 -});
2137 -const VideoStack = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.memo(function VideoStack({
2138 - activeUrl
2139 -}) {
2140 - const videoRefs = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(new Map());
2141 - const [readyUrls, setReadyUrls] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => new Set());
2142 -
2143 - // Reset the incoming video to its first frame *before* the browser paints it,
2144 - // otherwise the element is revealed still showing the last frame from its
2145 - // previous play and then visibly jumps back to the start. useLayoutEffect
2146 - // runs after the DOM mutation but before paint, so the seek is never seen.
2147 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(() => {
2148 - videoRefs.current.forEach((element, videoUrl) => {
2149 - if (videoUrl === activeUrl) {
2150 - element.currentTime = 0;
2151 - element.play()?.catch(() => {});
2152 - } else {
2153 - element.pause();
2154 - }
2155 - });
2156 - }, [activeUrl]);
2157 - const markReady = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(videoUrl => {
2158 - setReadyUrls(prev => {
2159 - if (prev.has(videoUrl)) {
2160 - return prev;
2161 - }
2162 - const next = new Set(prev);
2163 - next.add(videoUrl);
2164 - return next;
2165 - });
2166 - }, []);
2167 -
2168 - // Only reveal the active video once its own element has a decoded frame.
2169 - const visibleUrl = activeUrl && readyUrls.has(activeUrl) ? activeUrl : undefined;
2170 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, ALL_VIDEO_URLS.map(videoUrl => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
2171 - key: videoUrl,
2172 - component: "video",
2173 - src: videoUrl,
2174 - preload: "auto",
2175 - muted: true,
2176 - playsInline: true,
2177 - onLoadedData: () => markReady(videoUrl),
2178 - ref: element => {
2179 - if (element) {
2180 - videoRefs.current.set(videoUrl, element);
2181 - }
2182 - },
2183 - sx: {
2184 - position: 'absolute',
2185 - inset: 0,
2186 - width: '100%',
2187 - height: '100%',
2188 - objectFit: 'cover',
2189 - opacity: videoUrl === visibleUrl ? 1 : 0,
2190 - transition: `opacity ${VIDEO_TRANSITION_MS}ms ease`
2191 - }
2192 - })));
2193 -});
2194 -const RightPanel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.memo(function RightPanel({
2195 - config
2196 -}) {
2197 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(RightPanelRoot, {
2198 - background: config.background
2199 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(VideoStack, {
2200 - activeUrl: config.video
2201 - }));
2202 -});
2203 -
2204 -/***/ }),
2205 -
2206 -/***/ "./packages/apps/onboarding/src/components/ui/selection-badge.tsx":
2207 -/*!************************************************************************!*\
2208 - !*** ./packages/apps/onboarding/src/components/ui/selection-badge.tsx ***!
2209 - \************************************************************************/
2210 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2211 -
2212 -__webpack_require__.r(__webpack_exports__);
2213 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2214 -/* harmony export */ SelectionBadge: function() { return /* binding */ SelectionBadge; }
2215 -/* harmony export */ });
2216 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2217 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2218 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2219 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2220 -
2221 -
2222 -const SelectionBadgeRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
2223 - shouldForwardProp: prop => 'variant' !== prop
2224 -})(({
2225 - theme,
2226 - variant
2227 -}) => ({
2228 - position: 'absolute',
2229 - top: theme.spacing(-1),
2230 - insetInlineEnd: theme.spacing(-1),
2231 - display: 'flex',
2232 - alignItems: 'center',
2233 - justifyContent: 'center',
2234 - width: theme.spacing(2.25),
2235 - height: theme.spacing(2.25),
2236 - borderRadius: '50%',
2237 - backgroundColor: variant === 'paid' ? theme.palette.promotion.main : theme.palette.text.primary,
2238 - color: theme.palette.common.white,
2239 - '& .MuiSvgIcon-root': {
2240 - fontSize: theme.typography.pxToRem(14)
2241 - }
2242 -}));
2243 -function SelectionBadge({
2244 - icon: Icon,
2245 - variant = 'free'
2246 -}) {
2247 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.useTheme)();
2248 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SelectionBadgeRoot, {
2249 - variant: variant
2250 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, {
2251 - sx: {
2252 - fill: variant === 'paid' ? theme.palette.common.white : theme.palette.secondary.contrastText
2253 - }
2254 - }));
2255 -}
2256 -
2257 -/***/ }),
2258 -
2259 -/***/ "./packages/apps/onboarding/src/components/ui/split-layout.tsx":
2260 -/*!*********************************************************************!*\
2261 - !*** ./packages/apps/onboarding/src/components/ui/split-layout.tsx ***!
2262 - \*********************************************************************/
2263 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2264 -
2265 -__webpack_require__.r(__webpack_exports__);
2266 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2267 -/* harmony export */ LAYOUT_PADDING: function() { return /* reexport safe */ _base_layout__WEBPACK_IMPORTED_MODULE_2__.LAYOUT_PADDING; },
2268 -/* harmony export */ LAYOUT_TRANSITION_MS: function() { return /* binding */ LAYOUT_TRANSITION_MS; },
2269 -/* harmony export */ SplitLayout: function() { return /* binding */ SplitLayout; }
2270 -/* harmony export */ });
2271 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2272 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2273 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2274 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2275 -/* harmony import */ var _base_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base-layout */ "./packages/apps/onboarding/src/components/ui/base-layout.tsx");
2276 -/* harmony import */ var _right_panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./right-panel */ "./packages/apps/onboarding/src/components/ui/right-panel.tsx");
2277 -
2278 -
2279 -
2280 -
2281 -const LAYOUT_GAP = 4;
2282 -
2283 -const LAYOUT_TRANSITION_MS = 300;
2284 -const LEFT_PANEL_CONTENT_WIDTH = 386;
2285 -const LEFT_PANEL_PADDING_X = 80;
2286 -const LEFT_PANEL_PADDING_TOP = 40;
2287 -const LEFT_PANEL_GAP = 32;
2288 -const IMAGE_MIN_WIDTH = 464;
2289 -const CONTENT_IMAGE_MIN_GAP = 80;
2290 -const SplitLayoutRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
2291 - theme
2292 -}) => {
2293 - const hideImageBreakpoint = LEFT_PANEL_CONTENT_WIDTH + LEFT_PANEL_PADDING_X * 2 + CONTENT_IMAGE_MIN_GAP + IMAGE_MIN_WIDTH + LAYOUT_GAP * 8;
2294 - return {
2295 - flex: 1,
2296 - display: 'grid',
2297 - gridTemplateColumns: `2fr 1fr`,
2298 - gap: theme.spacing(LAYOUT_GAP),
2299 - padding: theme.spacing(_base_layout__WEBPACK_IMPORTED_MODULE_2__.LAYOUT_PADDING),
2300 - transition: `grid-template-columns ${LAYOUT_TRANSITION_MS}ms ease`,
2301 - [theme.breakpoints.up('md')]: {
2302 - minHeight: 0
2303 - },
2304 - [`@media (max-width: ${hideImageBreakpoint}px)`]: {
2305 - gridTemplateColumns: '1fr',
2306 - '& > *:last-child': {
2307 - display: 'none'
2308 - }
2309 - }
2310 - };
2311 -});
2312 -const LeftPanel = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
2313 - shouldForwardProp: prop => 'contentMaxWidth' !== prop
2314 -})(({
2315 - theme,
2316 - contentMaxWidth
2317 -}) => ({
2318 - display: 'flex',
2319 - flexDirection: 'column',
2320 - alignItems: 'center',
2321 - gap: LEFT_PANEL_GAP,
2322 - minHeight: 0,
2323 - paddingBlockStart: LEFT_PANEL_PADDING_TOP,
2324 - paddingInline: LEFT_PANEL_PADDING_X,
2325 - '& > *': {
2326 - width: '100%'
2327 - },
2328 - '& > *:last-of-type': {
2329 - maxWidth: contentMaxWidth,
2330 - flex: 1,
2331 - display: 'flex',
2332 - flexDirection: 'column',
2333 - minHeight: 0
2334 - },
2335 - [theme.breakpoints.down('sm')]: {
2336 - padding: 0,
2337 - gap: LEFT_PANEL_GAP / 2,
2338 - '& > *': {
2339 - maxWidth: 'none'
2340 - }
2341 - }
2342 -}));
2343 -function SplitLayout({
2344 - left,
2345 - rightConfig
2346 -}) {
2347 - const contentMaxWidth = rightConfig.contentMaxWidth ?? LEFT_PANEL_CONTENT_WIDTH;
2348 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(SplitLayoutRoot, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(LeftPanel, {
2349 - contentMaxWidth: contentMaxWidth
2350 - }, left), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_right_panel__WEBPACK_IMPORTED_MODULE_3__.RightPanel, {
2351 - config: rightConfig
2352 - }));
2353 -}
2354 -
2355 -/***/ }),
2356 -
2357 -/***/ "./packages/apps/onboarding/src/components/ui/styled-components.ts":
2358 -/*!*************************************************************************!*\
2359 - !*** ./packages/apps/onboarding/src/components/ui/styled-components.ts ***!
2360 - \*************************************************************************/
2361 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2362 -
2363 -__webpack_require__.r(__webpack_exports__);
2364 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2365 -/* harmony export */ GreetingBannerRoot: function() { return /* binding */ GreetingBannerRoot; },
2366 -/* harmony export */ StepTitle: function() { return /* binding */ StepTitle; }
2367 -/* harmony export */ });
2368 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2369 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_0__);
2370 -
2371 -const GREETING_BANNER_BG_COLOR_LIGHT = '#fae4fa';
2372 -const GREETING_BANNER_BG_COLOR_DARK = '#491146';
2373 -const StepTitle = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.Typography)({
2374 - fontWeight: 500,
2375 - fontFamily: 'Poppins'
2376 -});
2377 -const GreetingBannerRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_0__.Box)(({
2378 - theme
2379 -}) => ({
2380 - display: 'inline-flex',
2381 - alignItems: 'center',
2382 - justifyContent: 'center',
2383 - paddingInline: theme.spacing(3),
2384 - paddingBlock: theme.spacing(1.5),
2385 - borderRadius: 16,
2386 - backgroundColor: theme.palette.mode === 'dark' ? GREETING_BANNER_BG_COLOR_DARK : GREETING_BANNER_BG_COLOR_LIGHT,
2387 - alignSelf: 'flex-start'
2388 -}));
2389 -
2390 -/***/ }),
2391 -
2392 -/***/ "./packages/apps/onboarding/src/components/ui/top-bar-content.tsx":
2393 -/*!************************************************************************!*\
2394 - !*** ./packages/apps/onboarding/src/components/ui/top-bar-content.tsx ***!
2395 - \************************************************************************/
2396 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2397 -
2398 -__webpack_require__.r(__webpack_exports__);
2399 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2400 -/* harmony export */ TopBarContent: function() { return /* binding */ TopBarContent; }
2401 -/* harmony export */ });
2402 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2403 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2404 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2405 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
2406 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2407 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
2408 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
2409 -/* harmony import */ var _elementor_logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./elementor-logo */ "./packages/apps/onboarding/src/components/ui/elementor-logo.tsx");
2410 -
2411 -
2412 -
2413 -
2414 -
2415 -const UpgradeButton = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Button)(({
2416 - theme
2417 -}) => ({
2418 - backgroundColor: theme.palette.promotion.main,
2419 - color: theme.palette.promotion.contrastText,
2420 - padding: theme.spacing(0.5, 1.25),
2421 - minHeight: 0,
2422 - borderRadius: 8,
2423 - textTransform: 'none',
2424 - fontSize: theme.typography.pxToRem(13),
2425 - fontWeight: 500,
2426 - lineHeight: theme.typography.pxToRem(22),
2427 - letterSpacing: '0.46px'
2428 -}));
2429 -const Divider = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)('div')(({
2430 - theme
2431 -}) => ({
2432 - width: 2,
2433 - height: 20,
2434 - backgroundColor: theme.palette.divider
2435 -}));
2436 -function TopBarContent({
2437 - showUpgrade = true,
2438 - showClose = true,
2439 - onUpgrade,
2440 - onClose
2441 -}) {
2442 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.useTheme)();
2443 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_logo__WEBPACK_IMPORTED_MODULE_4__.ElementorLogo, {
2444 - height: 20
2445 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
2446 - direction: "row",
2447 - alignItems: "center",
2448 - spacing: 2
2449 - }, showUpgrade && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(UpgradeButton, {
2450 - color: "promotion",
2451 - variant: "contained",
2452 - onClick: onUpgrade
2453 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.upgrade')), showClose && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
2454 - direction: "row",
2455 - alignItems: "center",
2456 - spacing: 1.5
2457 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Divider, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.IconButton, {
2458 - "aria-label": (0,_utils_translations__WEBPACK_IMPORTED_MODULE_3__.t)('common.close_onboarding'),
2459 - onClick: onClose,
2460 - size: "small",
2461 - sx: {
2462 - color: theme.palette.text.secondary,
2463 - padding: 0
2464 - }
2465 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.XIcon, {
2466 - fontSize: "tiny"
2467 - })))));
2468 -}
2469 -
2470 -/***/ }),
2471 -
2472 -/***/ "./packages/apps/onboarding/src/components/ui/top-bar.tsx":
2473 -/*!****************************************************************!*\
2474 - !*** ./packages/apps/onboarding/src/components/ui/top-bar.tsx ***!
2475 - \****************************************************************/
2476 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2477 -
2478 -__webpack_require__.r(__webpack_exports__);
2479 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2480 -/* harmony export */ TopBar: function() { return /* binding */ TopBar; }
2481 -/* harmony export */ });
2482 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2483 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2484 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2485 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
2486 -/* harmony import */ var _base_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base-layout */ "./packages/apps/onboarding/src/components/ui/base-layout.tsx");
2487 -
2488 -
2489 -
2490 -const TopBarRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box)(({
2491 - theme
2492 -}) => ({
2493 - position: 'fixed',
2494 - top: 0,
2495 - left: 0,
2496 - right: 0,
2497 - height: _base_layout__WEBPACK_IMPORTED_MODULE_2__.TOPBAR_HEIGHT,
2498 - display: 'flex',
2499 - alignItems: 'center',
2500 - justifyContent: 'space-between',
2501 - paddingInlineStart: 41,
2502 - paddingInlineEnd: 16,
2503 - background: theme.palette.background.paper,
2504 - zIndex: theme.zIndex?.appBar || 1100
2505 -}));
2506 -function TopBar({
2507 - children
2508 -}) {
2509 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(TopBarRoot, {
2510 - component: "header"
2511 - }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Divider, {
2512 - absolute: true
2513 - }));
2514 -}
2515 -
2516 -/***/ }),
2517 -
2518 -/***/ "./packages/apps/onboarding/src/hooks/use-check-pro-install-screen.ts":
2519 -/*!****************************************************************************!*\
2520 - !*** ./packages/apps/onboarding/src/hooks/use-check-pro-install-screen.ts ***!
2521 - \****************************************************************************/
2522 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2523 -
2524 -__webpack_require__.r(__webpack_exports__);
2525 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2526 -/* harmony export */ useCheckProInstallScreen: function() { return /* binding */ useCheckProInstallScreen; }
2527 -/* harmony export */ });
2528 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2529 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2530 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
2531 -
2532 -
2533 -function useCheckProInstallScreen() {
2534 - const checkProInstallScreen = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async () => {
2535 - const config = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)();
2536 - if (!config) {
2537 - return {
2538 - shouldShowProInstallScreen: false
2539 - };
2540 - }
2541 - const response = await fetch(`${config.restUrl}pro-install-screen`, {
2542 - method: 'GET',
2543 - headers: {
2544 - 'X-WP-Nonce': config.nonce
2545 - }
2546 - });
2547 - if (!response.ok) {
2548 - return {
2549 - shouldShowProInstallScreen: false
2550 - };
2551 - }
2552 - const json = await response.json();
2553 - return {
2554 - shouldShowProInstallScreen: json.data?.shouldShowProInstallScreen ?? false
2555 - };
2556 - }, []);
2557 - return checkProInstallScreen;
2558 -}
2559 -
2560 -/***/ }),
2561 -
2562 -/***/ "./packages/apps/onboarding/src/hooks/use-elementor-connect.ts":
2563 -/*!*********************************************************************!*\
2564 - !*** ./packages/apps/onboarding/src/hooks/use-elementor-connect.ts ***!
2565 - \*********************************************************************/
2566 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2567 -
2568 -__webpack_require__.r(__webpack_exports__);
2569 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2570 -/* harmony export */ useElementorConnect: function() { return /* binding */ useElementorConnect; }
2571 -/* harmony export */ });
2572 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2573 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2574 -
2575 -const POPUP_WIDTH = 600;
2576 -const POPUP_HEIGHT = 700;
2577 -const POPUP_TOP = 200;
2578 -const POPUP_LEFT = 0;
2579 -const CONNECT_SUCCESS_EVENT = 'elementor/connect/success';
2580 -function useElementorConnect({
2581 - connectUrl,
2582 - onSuccess
2583 -}) {
2584 - const onSuccessRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(onSuccess);
2585 - onSuccessRef.current = onSuccess;
2586 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
2587 - const handleNativeSuccess = event => {
2588 - const detail = event.detail;
2589 - const data = detail ?? {};
2590 - onSuccessRef.current?.(data);
2591 - };
2592 - window.addEventListener(CONNECT_SUCCESS_EVENT, handleNativeSuccess);
2593 - return () => {
2594 - window.removeEventListener(CONNECT_SUCCESS_EVENT, handleNativeSuccess);
2595 - };
2596 - }, []);
2597 - const triggerConnect = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
2598 - if (!connectUrl) {
2599 - return;
2600 - }
2601 - const separator = connectUrl.includes('?') ? '&' : '?';
2602 - const popupUrl = `${connectUrl}${separator}mode=popup`;
2603 - const features = `toolbar=no,menubar=no,width=${POPUP_WIDTH},height=${POPUP_HEIGHT},top=${POPUP_TOP},left=${POPUP_LEFT}`;
2604 - const popup = window.open(popupUrl, 'elementorConnect', features);
2605 - if (!popup) {
2606 - window.location.href = connectUrl;
2607 - }
2608 - }, [connectUrl]);
2609 - return triggerConnect;
2610 -}
2611 -
2612 -/***/ }),
2613 -
2614 -/***/ "./packages/apps/onboarding/src/hooks/use-install-pro.ts":
2615 -/*!***************************************************************!*\
2616 - !*** ./packages/apps/onboarding/src/hooks/use-install-pro.ts ***!
2617 - \***************************************************************/
2618 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2619 -
2620 -__webpack_require__.r(__webpack_exports__);
2621 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2622 -/* harmony export */ useInstallPro: function() { return /* binding */ useInstallPro; }
2623 -/* harmony export */ });
2624 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/query */ "@elementor/query");
2625 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_query__WEBPACK_IMPORTED_MODULE_0__);
2626 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
2627 -/* harmony import */ var _utils_retry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/retry */ "./packages/apps/onboarding/src/utils/retry.ts");
2628 -
2629 -
2630 -
2631 -async function installProRequest() {
2632 - const config = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)();
2633 - if (!config) {
2634 - throw new Error('Onboarding config not found');
2635 - }
2636 - const response = await fetch(`${config.restUrl}install-pro`, {
2637 - method: 'POST',
2638 - headers: {
2639 - 'Content-Type': 'application/json',
2640 - 'X-WP-Nonce': config.nonce
2641 - }
2642 - });
2643 - if (!response.ok) {
2644 - const error = await response.json().catch(() => null);
2645 - throw new Error(error?.message || 'Failed to install Elementor Pro');
2646 - }
2647 - const json = await response.json();
2648 - return json.data;
2649 -}
2650 -function useInstallPro() {
2651 - return (0,_elementor_query__WEBPACK_IMPORTED_MODULE_0__.useMutation)({
2652 - mutationFn: () => (0,_utils_retry__WEBPACK_IMPORTED_MODULE_2__.withRetry)(installProRequest)
2653 - });
2654 -}
2655 -
2656 -/***/ }),
2657 -
2658 -/***/ "./packages/apps/onboarding/src/hooks/use-install-theme.ts":
2659 -/*!*****************************************************************!*\
2660 - !*** ./packages/apps/onboarding/src/hooks/use-install-theme.ts ***!
2661 - \*****************************************************************/
2662 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2663 -
2664 -__webpack_require__.r(__webpack_exports__);
2665 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2666 -/* harmony export */ useInstallTheme: function() { return /* binding */ useInstallTheme; }
2667 -/* harmony export */ });
2668 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/query */ "@elementor/query");
2669 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_query__WEBPACK_IMPORTED_MODULE_0__);
2670 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
2671 -/* harmony import */ var _utils_retry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/retry */ "./packages/apps/onboarding/src/utils/retry.ts");
2672 -
2673 -
2674 -
2675 -async function installThemeRequest(themeSlug) {
2676 - const config = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)();
2677 - if (!config) {
2678 - throw new Error('Onboarding config not found');
2679 - }
2680 - const response = await fetch(`${config.restUrl}install-theme`, {
2681 - method: 'POST',
2682 - headers: {
2683 - 'Content-Type': 'application/json',
2684 - 'X-WP-Nonce': config.nonce
2685 - },
2686 - body: JSON.stringify({
2687 - theme_slug: themeSlug
2688 - })
2689 - });
2690 - if (!response.ok) {
2691 - const error = await response.json().catch(() => null);
2692 - throw new Error(error?.message || 'Failed to install theme');
2693 - }
2694 - const json = await response.json();
2695 - return json.data;
2696 -}
2697 -function useInstallTheme() {
2698 - return (0,_elementor_query__WEBPACK_IMPORTED_MODULE_0__.useMutation)({
2699 - mutationFn: themeSlug => (0,_utils_retry__WEBPACK_IMPORTED_MODULE_2__.withRetry)(() => installThemeRequest(themeSlug))
2700 - });
2701 -}
2702 -
2703 -/***/ }),
2704 -
2705 -/***/ "./packages/apps/onboarding/src/hooks/use-onboarding-event.ts":
2706 -/*!********************************************************************!*\
2707 - !*** ./packages/apps/onboarding/src/hooks/use-onboarding-event.ts ***!
2708 - \********************************************************************/
2709 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2710 -
2711 -__webpack_require__.r(__webpack_exports__);
2712 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2713 -/* harmony export */ useOnboardingEvent: function() { return /* binding */ useOnboardingEvent; }
2714 -/* harmony export */ });
2715 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2716 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2717 -/* harmony import */ var _analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../analytics/onboarding-tracking */ "./packages/apps/onboarding/src/analytics/onboarding-tracking.ts");
2718 -/* harmony import */ var _analytics_tracking_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../analytics/tracking-context */ "./packages/apps/onboarding/src/analytics/tracking-context.tsx");
2719 -
2720 -
2721 -
2722 -function useOnboardingEvent() {
2723 - const {
2724 - isActive,
2725 - activate
2726 - } = (0,_analytics_tracking_context__WEBPACK_IMPORTED_MODULE_2__.useTrackingState)();
2727 - return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
2728 - trackOnboardingInitialized: () => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackOnboardingInitialized)(isActive),
2729 - trackLoginType: loginType => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackLoginType)(isActive, loginType),
2730 - trackConnect: (success, error) => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackConnect)(isActive, success, error),
2731 - trackProInstall: action => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackProInstall)(isActive, action),
2732 - trackStepViewed: viewedStepId => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackStepViewed)(isActive, viewedStepId),
2733 - trackThemeSelected: (theme, source) => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackThemeSelected)(isActive, theme, source),
2734 - trackThemeUnselected: () => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackThemeUnselected)(isActive),
2735 - trackProFeaturesSelected: params => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackProFeaturesSelected)(isActive, params),
2736 - trackBackClicked: currentStepId => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackBackClicked)(isActive, currentStepId),
2737 - trackSkipClicked: currentStepId => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackSkipClicked)(isActive, currentStepId),
2738 - trackUpgradeClicked: currentStepId => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackUpgradeClicked)(isActive, currentStepId),
2739 - trackResumeOnboarding: resumeStepId => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackResumeOnboarding)(isActive, resumeStepId),
2740 - trackSiteStarterSelected: params => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackSiteStarterSelected)(isActive, params),
2741 - trackSummary: snapshot => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackSummary)(isActive, snapshot),
2742 - trackErrorReported: params => (0,_analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.trackErrorReported)(isActive, params),
2743 - activateTracking: activate,
2744 - flushQueue: _analytics_onboarding_tracking__WEBPACK_IMPORTED_MODULE_1__.flushQueue
2745 - }), [isActive, activate]);
2746 -}
2747 -
2748 -/***/ }),
2749 -
2750 -/***/ "./packages/apps/onboarding/src/hooks/use-onboarding.ts":
2751 -/*!**************************************************************!*\
2752 - !*** ./packages/apps/onboarding/src/hooks/use-onboarding.ts ***!
2753 - \**************************************************************/
2754 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2755 -
2756 -__webpack_require__.r(__webpack_exports__);
2757 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2758 -/* harmony export */ useOnboarding: function() { return /* binding */ useOnboarding; }
2759 -/* harmony export */ });
2760 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2761 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2762 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
2763 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_1__);
2764 -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store */ "./packages/apps/onboarding/src/store/index.ts");
2765 -
2766 -
2767 -
2768 -function useOnboarding() {
2769 - const dispatch = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useDispatch)();
2770 - const stepId = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectCurrentStepId);
2771 - const stepIndex = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectCurrentStepIndex);
2772 - const step = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectCurrentStep);
2773 - const steps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectSteps);
2774 - const isFirst = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectIsFirstStep);
2775 - const isLast = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectIsLastStep);
2776 - const totalSteps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectTotalSteps);
2777 - const completedSteps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectCompletedSteps);
2778 - const choices = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectChoices);
2779 - const isLoading = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectIsLoading);
2780 - const error = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectError);
2781 - const hadUnexpectedExit = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectHadUnexpectedExit);
2782 - const resumeStepIdForTracking = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectResumeStepIdForTracking);
2783 - const isConnected = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectIsConnected);
2784 - const isGuest = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectIsGuest);
2785 - const hasPassedLogin = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectHasPassedLogin);
2786 - const shouldShowProInstall = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectShouldShowProInstall);
2787 - const userName = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectUserName);
2788 - const urls = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_1__.__useSelector)(_store__WEBPACK_IMPORTED_MODULE_2__.selectUrls);
2789 - const actions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({
2790 - goToStep: id => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.goToStep)(id)),
2791 - goToStepIndex: index => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.goToStepIndex)(index)),
2792 - nextStep: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.nextStep)()),
2793 - prevStep: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.prevStep)()),
2794 - completeStep: id => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.completeStep)(id)),
2795 - setUserChoice: (key, value) => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setUserChoice)({
2796 - key,
2797 - value
2798 - })),
2799 - setUserChoices: data => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setUserChoices)(data)),
2800 - setExitType: type => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setExitType)(type)),
2801 - startOnboarding: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.startOnboarding)()),
2802 - completeOnboarding: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.completeOnboarding)()),
2803 - setLoading: loading => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setLoading)(loading)),
2804 - setError: err => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setError)(err)),
2805 - clearUnexpectedExit: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.clearUnexpectedExit)()),
2806 - clearResumeStepIdForTracking: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.clearResumeStepIdForTracking)()),
2807 - setConnected: connected => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setConnected)(connected)),
2808 - setGuest: guest => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setGuest)(guest)),
2809 - setShouldShowProInstallScreen: value => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.setShouldShowProInstallScreen)(value)),
2810 - dismissProInstallScreen: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.dismissProInstallScreen)()),
2811 - markProInstalled: () => dispatch((0,_store__WEBPACK_IMPORTED_MODULE_2__.markProInstalled)())
2812 - }), [dispatch]);
2813 - return {
2814 - stepId,
2815 - stepIndex,
2816 - step,
2817 - steps,
2818 - isFirst,
2819 - isLast,
2820 - totalSteps,
2821 - completedSteps,
2822 - choices,
2823 - isLoading,
2824 - error,
2825 - hadUnexpectedExit,
2826 - resumeStepIdForTracking,
2827 - isConnected,
2828 - isGuest,
2829 - hasPassedLogin,
2830 - shouldShowProInstall,
2831 - userName,
2832 - urls,
2833 - actions
2834 - };
2835 -}
2836 -
2837 -/***/ }),
2838 -
2839 -/***/ "./packages/apps/onboarding/src/hooks/use-update-choices.ts":
2840 -/*!******************************************************************!*\
2841 - !*** ./packages/apps/onboarding/src/hooks/use-update-choices.ts ***!
2842 - \******************************************************************/
2843 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2844 -
2845 -__webpack_require__.r(__webpack_exports__);
2846 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2847 -/* harmony export */ useUpdateChoices: function() { return /* binding */ useUpdateChoices; }
2848 -/* harmony export */ });
2849 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/query */ "@elementor/query");
2850 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_query__WEBPACK_IMPORTED_MODULE_0__);
2851 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
2852 -
2853 -
2854 -async function updateChoices(params) {
2855 - const config = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)();
2856 - if (!config) {
2857 - throw new Error('Onboarding config not found');
2858 - }
2859 - const response = await fetch(`${config.restUrl}user-choices`, {
2860 - method: 'POST',
2861 - headers: {
2862 - 'Content-Type': 'application/json',
2863 - 'X-WP-Nonce': config.nonce
2864 - },
2865 - body: JSON.stringify(params)
2866 - });
2867 - if (!response.ok) {
2868 - throw new Error('Failed to update choices');
2869 - }
2870 -}
2871 -function useUpdateChoices() {
2872 - return (0,_elementor_query__WEBPACK_IMPORTED_MODULE_0__.useMutation)({
2873 - mutationFn: updateChoices
2874 - });
2875 -}
2876 -
2877 -/***/ }),
2878 -
2879 -/***/ "./packages/apps/onboarding/src/hooks/use-update-progress.ts":
2880 -/*!*******************************************************************!*\
2881 - !*** ./packages/apps/onboarding/src/hooks/use-update-progress.ts ***!
2882 - \*******************************************************************/
2883 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2884 -
2885 -__webpack_require__.r(__webpack_exports__);
2886 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2887 -/* harmony export */ useUpdateProgress: function() { return /* binding */ useUpdateProgress; }
2888 -/* harmony export */ });
2889 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/query */ "@elementor/query");
2890 -/* harmony import */ var _elementor_query__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_query__WEBPACK_IMPORTED_MODULE_0__);
2891 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
2892 -
2893 -
2894 -async function updateProgress(params) {
2895 - const config = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_1__.getConfig)();
2896 - if (!config) {
2897 - throw new Error('Onboarding config not found');
2898 - }
2899 - const response = await fetch(`${config.restUrl}user-progress`, {
2900 - method: 'POST',
2901 - headers: {
2902 - 'Content-Type': 'application/json',
2903 - 'X-WP-Nonce': config.nonce
2904 - },
2905 - body: JSON.stringify(params)
2906 - });
2907 - if (!response.ok) {
2908 - throw new Error('Failed to update progress');
2909 - }
2910 -}
2911 -function useUpdateProgress() {
2912 - return (0,_elementor_query__WEBPACK_IMPORTED_MODULE_0__.useMutation)({
2913 - mutationFn: updateProgress
2914 - });
2915 -}
2916 -
2917 -/***/ }),
2918 -
2919 -/***/ "./packages/apps/onboarding/src/hooks/use-video-preload.ts":
2920 -/*!*****************************************************************!*\
2921 - !*** ./packages/apps/onboarding/src/hooks/use-video-preload.ts ***!
2922 - \*****************************************************************/
2923 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2924 -
2925 -__webpack_require__.r(__webpack_exports__);
2926 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2927 -/* harmony export */ isVideoPreloaded: function() { return /* binding */ isVideoPreloaded; },
2928 -/* harmony export */ useVideoPreload: function() { return /* binding */ useVideoPreload; }
2929 -/* harmony export */ });
2930 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2931 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2932 -/* harmony import */ var _steps_step_visuals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../steps/step-visuals */ "./packages/apps/onboarding/src/steps/step-visuals.ts");
2933 -
2934 -
2935 -const preloadedUrls = new Set();
2936 -function useVideoPreload() {
2937 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
2938 - let isMounted = true;
2939 - const preloadSequentially = async () => {
2940 - for (const url of (0,_steps_step_visuals__WEBPACK_IMPORTED_MODULE_1__.getVideoUrls)()) {
2941 - if (!isMounted) {
2942 - break;
2943 - }
2944 - if (preloadedUrls.has(url)) {
2945 - continue;
2946 - }
2947 - await waitForVideo(url);
2948 - }
2949 - };
2950 - preloadSequentially();
2951 - return () => {
2952 - isMounted = false;
2953 - };
2954 - }, []);
2955 -}
2956 -function isVideoPreloaded(url) {
2957 - return preloadedUrls.has(url);
2958 -}
2959 -const waitForVideo = url => new Promise(resolve => {
2960 - const video = document.createElement('video');
2961 - const cleanup = () => {
2962 - video.removeEventListener('canplaythrough', onCanPlayThrough);
2963 - video.removeEventListener('error', onError);
2964 - video.src = '';
2965 - video.load();
2966 - };
2967 - const onCanPlayThrough = () => {
2968 - preloadedUrls.add(url);
2969 - cleanup();
2970 - resolve();
2971 - };
2972 - const onError = () => {
2973 - cleanup();
2974 - resolve();
2975 - };
2976 - video.addEventListener('canplaythrough', onCanPlayThrough);
2977 - video.addEventListener('error', onError);
2978 - video.preload = 'auto';
2979 - video.src = url;
2980 - video.load();
2981 -});
2982 -
2983 -/***/ }),
2984 -
2985 -/***/ "./packages/apps/onboarding/src/icons/index.ts":
2986 -/*!*****************************************************!*\
2987 - !*** ./packages/apps/onboarding/src/icons/index.ts ***!
2988 - \*****************************************************/
2989 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2990 -
2991 -__webpack_require__.r(__webpack_exports__);
2992 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2993 -/* harmony export */ AIGeneratorIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.AIGeneratorIcon; },
2994 -/* harmony export */ AccessibilityToolsIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.AccessibilityToolsIcon; },
2995 -/* harmony export */ AppleIcon: function() { return /* reexport safe */ _login_apple_icon__WEBPACK_IMPORTED_MODULE_0__.AppleIcon; },
2996 -/* harmony export */ ClassesVariablesIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.ClassesVariablesIcon; },
2997 -/* harmony export */ CookieConsentIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.CookieConsentIcon; },
2998 -/* harmony export */ CorePlaceholderIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.CorePlaceholderIcon; },
2999 -/* harmony export */ CustomCodeIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.CustomCodeIcon; },
3000 -/* harmony export */ ElementorLogoIcon: function() { return /* reexport safe */ _theme_selection__WEBPACK_IMPORTED_MODULE_4__.ElementorLogoIcon; },
3001 -/* harmony export */ EmailDeliverabilityIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.EmailDeliverabilityIcon; },
3002 -/* harmony export */ ExploreMoreIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.ExploreMoreIcon; },
3003 -/* harmony export */ FacebookIcon: function() { return /* reexport safe */ _login_facebook_icon__WEBPACK_IMPORTED_MODULE_1__.FacebookIcon; },
3004 -/* harmony export */ GoogleIcon: function() { return /* reexport safe */ _login_google_icon__WEBPACK_IMPORTED_MODULE_2__.GoogleIcon; },
3005 -/* harmony export */ HelloLayoutIcon: function() { return /* reexport safe */ _theme_selection__WEBPACK_IMPORTED_MODULE_4__.HelloLayoutIcon; },
3006 -/* harmony export */ HelloThemeIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.HelloThemeIcon; },
3007 -/* harmony export */ ImageOptimizationIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.ImageOptimizationIcon; },
3008 -/* harmony export */ InteractionsIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.InteractionsIcon; },
3009 -/* harmony export */ PlusIcon: function() { return /* reexport safe */ _theme_selection__WEBPACK_IMPORTED_MODULE_4__.PlusIcon; },
3010 -/* harmony export */ ThemeBuilderIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.ThemeBuilderIcon; },
3011 -/* harmony export */ WoocommerceIcon: function() { return /* reexport safe */ _site_features__WEBPACK_IMPORTED_MODULE_3__.WoocommerceIcon; }
3012 -/* harmony export */ });
3013 -/* harmony import */ var _login_apple_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login/apple-icon */ "./packages/apps/onboarding/src/icons/login/apple-icon.tsx");
3014 -/* harmony import */ var _login_facebook_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login/facebook-icon */ "./packages/apps/onboarding/src/icons/login/facebook-icon.tsx");
3015 -/* harmony import */ var _login_google_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./login/google-icon */ "./packages/apps/onboarding/src/icons/login/google-icon.tsx");
3016 -/* harmony import */ var _site_features__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./site-features */ "./packages/apps/onboarding/src/icons/site-features/index.ts");
3017 -/* harmony import */ var _theme_selection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./theme-selection */ "./packages/apps/onboarding/src/icons/theme-selection/index.ts");
3018 -
3019 -
3020 -
3021 -
3022 -
3023 -
3024 -/***/ }),
3025 -
3026 -/***/ "./packages/apps/onboarding/src/icons/login/apple-icon.tsx":
3027 -/*!*****************************************************************!*\
3028 - !*** ./packages/apps/onboarding/src/icons/login/apple-icon.tsx ***!
3029 - \*****************************************************************/
3030 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3031 -
3032 -__webpack_require__.r(__webpack_exports__);
3033 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3034 -/* harmony export */ AppleIcon: function() { return /* binding */ AppleIcon; }
3035 -/* harmony export */ });
3036 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3037 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3038 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3039 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3040 -
3041 -
3042 -function AppleIcon() {
3043 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, {
3044 - viewBox: "0 0 24 24",
3045 - "aria-label": "Apple"
3046 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3047 - d: "M18.8456 19.5C18.0156 20.74 17.1356 21.95 15.7956 21.97C14.4556 22 14.0256 21.18 12.5056 21.18C10.9756 21.18 10.5056 21.95 9.23559 22C7.92559 22.05 6.93559 20.68 6.09559 19.47C4.38559 17 3.07559 12.45 4.83559 9.39C5.70559 7.87 7.26559 6.91 8.95559 6.88C10.2356 6.86 11.4556 7.75 12.2456 7.75C13.0256 7.75 14.5056 6.68 16.0556 6.84C16.7056 6.87 18.5256 7.1 19.6956 8.82C19.6056 8.88 17.5256 10.1 17.5456 12.63C17.5756 15.65 20.1956 16.66 20.2256 16.67C20.1956 16.74 19.8056 18.11 18.8456 19.5ZM13.1356 3.5C13.8656 2.67 15.0756 2.04 16.0756 2C16.2056 3.17 15.7356 4.35 15.0356 5.19C14.3456 6.04 13.2056 6.7 12.0856 6.61C11.9356 5.46 12.4956 4.26 13.1356 3.5Z",
3048 - fill: "currentColor"
3049 - }));
3050 -}
3051 -
3052 -/***/ }),
3053 -
3054 -/***/ "./packages/apps/onboarding/src/icons/login/facebook-icon.tsx":
3055 -/*!********************************************************************!*\
3056 - !*** ./packages/apps/onboarding/src/icons/login/facebook-icon.tsx ***!
3057 - \********************************************************************/
3058 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3059 -
3060 -__webpack_require__.r(__webpack_exports__);
3061 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3062 -/* harmony export */ FacebookIcon: function() { return /* binding */ FacebookIcon; }
3063 -/* harmony export */ });
3064 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3065 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3066 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3067 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3068 -
3069 -
3070 -function FacebookIcon() {
3071 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, {
3072 - viewBox: "0 0 24 24",
3073 - "aria-label": "Facebook"
3074 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("g", {
3075 - clipPath: "url(#fb-clip)"
3076 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3077 - d: "M21 12C21 7.02947 16.9705 3 12 3C7.02947 3 3 7.02947 3 12C3 16.4921 6.29119 20.2155 10.5938 20.8907V14.6016H8.30859V12H10.5938V10.0172C10.5938 7.76156 11.9374 6.51562 13.9932 6.51562C14.9779 6.51562 16.0078 6.69141 16.0078 6.69141V8.90625H14.873C13.7549 8.90625 13.4062 9.60002 13.4062 10.3118V12H15.9023L15.5033 14.6016H13.4062V20.8907C17.7088 20.2155 21 16.4922 21 12Z",
3078 - fill: "#3975EA"
3079 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3080 - d: "M15.5033 14.6016L15.9023 12H13.4062V10.3118C13.4062 9.59995 13.7549 8.90625 14.873 8.90625H16.0078V6.69141C16.0078 6.69141 14.9779 6.51562 13.9931 6.51562C11.9374 6.51562 10.5938 7.76156 10.5938 10.0172V12H8.30859V14.6016H10.5938V20.8907C11.059 20.9636 11.5291 21.0001 12 21C12.4709 21.0001 12.941 20.9636 13.4062 20.8907V14.6016H15.5033Z",
3081 - fill: "white"
3082 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("defs", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("clipPath", {
3083 - id: "fb-clip"
3084 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
3085 - width: "18",
3086 - height: "18",
3087 - fill: "white",
3088 - transform: "translate(3 3)"
3089 - }))));
3090 -}
3091 -
3092 -/***/ }),
3093 -
3094 -/***/ "./packages/apps/onboarding/src/icons/login/google-icon.tsx":
3095 -/*!******************************************************************!*\
3096 - !*** ./packages/apps/onboarding/src/icons/login/google-icon.tsx ***!
3097 - \******************************************************************/
3098 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3099 -
3100 -__webpack_require__.r(__webpack_exports__);
3101 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3102 -/* harmony export */ GoogleIcon: function() { return /* binding */ GoogleIcon; }
3103 -/* harmony export */ });
3104 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3105 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3106 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3107 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3108 -
3109 -
3110 -function GoogleIcon() {
3111 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, {
3112 - viewBox: "0 0 24 24",
3113 - "aria-label": "Google"
3114 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3115 - d: "M9.32142 4.43335C7.72278 4.98794 6.3441 6.04056 5.38791 7.4366C4.43172 8.83265 3.94841 10.4985 4.00898 12.1896C4.06954 13.8806 4.67078 15.5076 5.72439 16.8317C6.77801 18.1558 8.22845 19.1071 9.86267 19.5459C11.1876 19.8877 12.5757 19.9027 13.9077 19.5896C15.1143 19.3186 16.2299 18.7388 17.1452 17.9071C18.0978 17.015 18.7892 15.8802 19.1452 14.6246C19.5321 13.2592 19.6009 11.8233 19.3464 10.4271H11.9064V13.5134H16.2152C16.1291 14.0056 15.9445 14.4754 15.6726 14.8946C15.4007 15.3139 15.047 15.674 14.6327 15.9534C14.1065 16.3014 13.5134 16.5356 12.8914 16.6409C12.2676 16.7568 11.6277 16.7568 11.0039 16.6409C10.3717 16.5101 9.77355 16.2492 9.24767 15.8746C8.40286 15.2766 7.76852 14.427 7.43517 13.4471C7.09619 12.4488 7.09619 11.3666 7.43517 10.3684C7.67246 9.66862 8.06472 9.03152 8.58267 8.5046C9.17541 7.89054 9.92584 7.4516 10.7516 7.23595C11.5774 7.0203 12.4466 7.03627 13.2639 7.2821C13.9024 7.47809 14.4862 7.82052 14.9689 8.2821C15.4548 7.79877 15.9398 7.31419 16.4239 6.82835C16.6739 6.5671 16.9464 6.31835 17.1927 6.05085C16.4559 5.3652 15.591 4.83167 14.6477 4.48085C12.9298 3.85709 11.0501 3.84033 9.32142 4.43335Z",
3116 - fill: "#515962"
3117 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3118 - d: "M9.32128 4.43347C11.0499 3.84004 12.9295 3.85636 14.6475 4.47972C15.591 4.83293 16.4555 5.36902 17.1913 6.05722C16.9413 6.32472 16.6775 6.57472 16.4225 6.83472C15.9375 7.31889 15.4529 7.80139 14.9688 8.28222C14.4861 7.82064 13.9022 7.47821 13.2638 7.28222C12.4467 7.03552 11.5776 7.01863 10.7516 7.2334C9.92555 7.44817 9.17467 7.8863 8.58128 8.49972C8.06332 9.02664 7.67106 9.66374 7.43378 10.3635L4.84253 8.35722C5.77004 6.51792 7.37597 5.111 9.32128 4.43347Z",
3119 - fill: "#E33629"
3120 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3121 - d: "M4.155 10.3449C4.29427 9.65466 4.5255 8.9862 4.8425 8.35742L7.43375 10.3687C7.09476 11.3669 7.09476 12.4492 7.43375 13.4474C6.57041 14.1141 5.70666 14.7841 4.8425 15.4574C4.04893 13.8778 3.80691 12.078 4.155 10.3449Z",
3122 - fill: "#F8BD00"
3123 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3124 - d: "M11.9063 10.4258H19.3463C19.6008 11.8219 19.532 13.2579 19.1451 14.6233C18.7891 15.8789 18.0977 17.0137 17.1451 17.9058C16.3088 17.2533 15.4688 16.6058 14.6326 15.9533C15.0472 15.6736 15.401 15.3131 15.673 14.8934C15.9449 14.4737 16.1293 14.0035 16.2151 13.5108H11.9063C11.9051 12.4833 11.9063 11.4545 11.9063 10.4258Z",
3125 - fill: "#587DBD"
3126 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3127 - d: "M4.84131 15.4573C5.70548 14.7906 6.56923 14.1206 7.43256 13.4473C7.76657 14.4275 8.40181 15.2771 9.24756 15.8748C9.77507 16.2476 10.3745 16.5064 11.0076 16.6348C11.6314 16.7508 12.2712 16.7508 12.8951 16.6348C13.5171 16.5295 14.1102 16.2953 14.6363 15.9473C15.4726 16.5998 16.3126 17.2473 17.1488 17.8998C16.2337 18.7319 15.1181 19.3121 13.9113 19.5835C12.5793 19.8966 11.1912 19.8816 9.86631 19.5398C8.81844 19.26 7.83965 18.7668 6.99131 18.091C6.09339 17.3781 5.36 16.4797 4.84131 15.4573Z",
3128 - fill: "#319F43"
3129 - }));
3130 -}
3131 -
3132 -/***/ }),
3133 -
3134 -/***/ "./packages/apps/onboarding/src/icons/site-features/accessibility-tools-icon.tsx":
3135 -/*!***************************************************************************************!*\
3136 - !*** ./packages/apps/onboarding/src/icons/site-features/accessibility-tools-icon.tsx ***!
3137 - \***************************************************************************************/
3138 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3139 -
3140 -__webpack_require__.r(__webpack_exports__);
3141 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3142 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3143 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3144 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3145 -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); }
3146 -
3147 -
3148 -const AccessibilityToolsIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3149 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3150 - viewBox: "0 0 32 32"
3151 - }, props, {
3152 - ref: ref,
3153 - width: "32",
3154 - height: "32"
3155 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3156 - cx: "16.4814",
3157 - cy: "5.64844",
3158 - r: "2.25",
3159 - fill: "none",
3160 - stroke: "currentColor",
3161 - strokeWidth: "1.5"
3162 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3163 - d: "M6.3341 10.6687L10.8605 11.3515C14.2811 11.8671 17.7598 11.8666 21.18 11.3492L25.6649 10.6698C26.6404 10.5223 27.5187 11.2782 27.5187 12.2649V12.9296C27.5186 13.7277 26.9344 14.4061 26.1452 14.5247L21.7875 15.1786C21.1891 15.2684 20.5856 15.3434 19.986 15.4357C19.5122 15.5086 19.1722 15.9214 19.1722 16.4007V17.9094C19.1722 18.3051 19.2445 18.7152 19.5101 19.0086L24.5906 24.6215C25.1883 25.2818 25.1373 26.3017 24.477 26.8993L23.7211 27.5832C23.0608 28.1807 22.042 28.1298 21.4444 27.4696L16.8529 22.3973C16.3956 21.8921 15.6022 21.8921 15.145 22.3973L10.5535 27.4696C9.95579 28.1299 8.93591 28.1809 8.27561 27.5832L7.5197 26.8993C6.85956 26.3018 6.80874 25.2818 7.40609 24.6215L12.497 18.9966C12.7597 18.7064 12.8324 18.3009 12.8324 17.9094V16.4085C12.8324 15.9237 12.4847 15.5082 12.0054 15.4354C11.4147 15.3457 10.8218 15.2669 10.2316 15.1786L5.8549 14.5236C5.06549 14.4052 4.48145 13.7268 4.48145 12.9285V12.2637C4.4815 11.2775 5.35894 10.5219 6.3341 10.6687Z",
3164 - fill: "none",
3165 - stroke: "currentColor",
3166 - strokeWidth: "1.5"
3167 - }));
3168 -});
3169 -/* harmony default export */ __webpack_exports__["default"] = (AccessibilityToolsIcon);
3170 -
3171 -/***/ }),
3172 -
3173 -/***/ "./packages/apps/onboarding/src/icons/site-features/ai-generator-icon.tsx":
3174 -/*!********************************************************************************!*\
3175 - !*** ./packages/apps/onboarding/src/icons/site-features/ai-generator-icon.tsx ***!
3176 - \********************************************************************************/
3177 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3178 -
3179 -__webpack_require__.r(__webpack_exports__);
3180 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3181 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3182 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3183 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3184 -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); }
3185 -
3186 -
3187 -const AIGeneratorIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3188 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3189 - viewBox: "0 0 32 32"
3190 - }, props, {
3191 - ref: ref,
3192 - width: "32",
3193 - height: "32"
3194 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3195 - d: "M23.2273 4.83321C23.4152 4.47883 23.9229 4.47883 24.1108 4.83321L24.4249 5.42564C24.8747 6.27415 25.5688 6.9682 26.4173 7.41807L27.0097 7.73216C27.3641 7.92005 27.3641 8.42778 27.0097 8.61567L26.4173 8.92976C25.5688 9.37962 24.8747 10.0737 24.4249 10.9222L24.1108 11.5146C23.9229 11.869 23.4152 11.869 23.2273 11.5146L22.9132 10.9222C22.4633 10.0737 21.7693 9.37962 20.9208 8.92976L20.3283 8.61567C19.9739 8.42778 19.9739 7.92005 20.3283 7.73216L20.9208 7.41807C21.7693 6.9682 22.4633 6.27415 22.9132 5.42564L23.2273 4.83321Z",
3196 - fill: "none",
3197 - stroke: "currentColor",
3198 - strokeWidth: "1.25"
3199 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3200 - d: "M13.7075 8.79729C14.0833 8.08851 15.0988 8.08851 15.4745 8.79729L17.3436 12.3226C17.9059 13.3832 18.7735 14.2508 19.8341 14.8131L23.3594 16.6821C24.0682 17.0579 24.0682 18.0734 23.3594 18.4491L19.8341 20.3182C18.7735 20.8805 17.9059 21.7481 17.3436 22.8087L15.4745 26.334C15.0988 27.0428 14.0833 27.0428 13.7075 26.334L11.8385 22.8087C11.2762 21.7481 10.4086 20.8805 9.34796 20.3182L5.82268 18.4492C5.1139 18.0734 5.1139 17.0579 5.82268 16.6821L9.34796 14.8131C10.4086 14.2508 11.2762 13.3832 11.8385 12.3226L13.7075 8.79729Z",
3201 - fill: "none",
3202 - stroke: "currentColor",
3203 - strokeWidth: "1.5"
3204 - }));
3205 -});
3206 -/* harmony default export */ __webpack_exports__["default"] = (AIGeneratorIcon);
3207 -
3208 -/***/ }),
3209 -
3210 -/***/ "./packages/apps/onboarding/src/icons/site-features/classes-variables-icon.tsx":
3211 -/*!*************************************************************************************!*\
3212 - !*** ./packages/apps/onboarding/src/icons/site-features/classes-variables-icon.tsx ***!
3213 - \*************************************************************************************/
3214 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3215 -
3216 -__webpack_require__.r(__webpack_exports__);
3217 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3218 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3219 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3220 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3221 -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); }
3222 -
3223 -
3224 -const ClassesVariablesIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3225 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3226 - viewBox: "0 0 32 32"
3227 - }, props, {
3228 - ref: ref,
3229 - width: "32",
3230 - height: "32"
3231 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3232 - d: "M6.66797 4H12.0013C12.7085 4 13.3868 4.28095 13.8869 4.78105C14.387 5.28115 14.668 5.95942 14.668 6.66667V22.6667C14.668 24.0812 14.1061 25.4377 13.1059 26.4379C12.1057 27.4381 10.7491 28 9.33464 28C7.92015 28 6.56359 27.4381 5.5634 26.4379C4.56321 25.4377 4.0013 24.0812 4.0013 22.6667V6.66667C4.0013 5.95942 4.28225 5.28115 4.78235 4.78105C5.28245 4.28095 5.96072 4 6.66797 4Z",
3233 - fill: "none",
3234 - stroke: "currentColor",
3235 - strokeWidth: "1.5",
3236 - strokeLinecap: "round",
3237 - strokeLinejoin: "round"
3238 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3239 - d: "M14.6685 9.8029L17.3351 7.13623C17.8352 6.63631 18.5134 6.35547 19.2205 6.35547C19.9276 6.35547 20.6057 6.63631 21.1058 7.13623L24.8765 10.9069C25.3764 11.407 25.6572 12.0851 25.6572 12.7922C25.6572 13.4993 25.3764 14.1775 24.8765 14.6776L12.8765 26.6776",
3240 - fill: "none",
3241 - stroke: "currentColor",
3242 - strokeWidth: "1.5",
3243 - strokeLinecap: "round",
3244 - strokeLinejoin: "round"
3245 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3246 - d: "M22.2686 17.332H25.3353C26.0425 17.332 26.7208 17.613 27.2209 18.1131C27.721 18.6132 28.002 19.2915 28.002 19.9987V25.332C28.002 26.0393 27.721 26.7176 27.2209 27.2176C26.7208 27.7177 26.0425 27.9987 25.3353 27.9987H9.33529",
3247 - fill: "none",
3248 - stroke: "currentColor",
3249 - strokeWidth: "1.5",
3250 - strokeLinecap: "round",
3251 - strokeLinejoin: "round"
3252 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3253 - d: "M9.33496 22.668V22.6813",
3254 - fill: "none",
3255 - stroke: "currentColor",
3256 - strokeWidth: "2",
3257 - strokeLinecap: "round",
3258 - strokeLinejoin: "round"
3259 - }));
3260 -});
3261 -/* harmony default export */ __webpack_exports__["default"] = (ClassesVariablesIcon);
3262 -
3263 -/***/ }),
3264 -
3265 -/***/ "./packages/apps/onboarding/src/icons/site-features/cookie-consent-icon.tsx":
3266 -/*!**********************************************************************************!*\
3267 - !*** ./packages/apps/onboarding/src/icons/site-features/cookie-consent-icon.tsx ***!
3268 - \**********************************************************************************/
3269 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3270 -
3271 -__webpack_require__.r(__webpack_exports__);
3272 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3273 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3274 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3275 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3276 -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); }
3277 -
3278 -
3279 -const CookieConsentIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3280 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3281 - viewBox: "0 0 32 32"
3282 - }, props, {
3283 - ref: ref,
3284 - width: "32",
3285 - height: "32"
3286 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3287 - cx: "14.56",
3288 - cy: "12.317",
3289 - r: "2.16",
3290 - fill: "none",
3291 - stroke: "currentColor",
3292 - strokeWidth: "1.5"
3293 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3294 - cx: "11.801",
3295 - cy: "19.158",
3296 - r: "1.8",
3297 - fill: "none",
3298 - stroke: "currentColor",
3299 - strokeWidth: "1.5"
3300 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3301 - cx: "19.96",
3302 - cy: "19.96",
3303 - r: "1.56",
3304 - fill: "none",
3305 - stroke: "currentColor",
3306 - strokeWidth: "1.5"
3307 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3308 - d: "M16 3.999C16.19 3.999 16.378 4.004 16.566 4.013C17.055 4.037 17.446 4.395 17.654 4.838C18.421 6.47 20.078 7.599 22 7.599C22.609 7.599 23.2 8.19 23.2 8.799C23.2 11.049 24.748 12.938 26.837 13.458C27.369 13.59 27.84 13.969 27.908 14.513C27.969 15 28 15.496 28 16C28 22.627 22.628 28 16 28C9.372 28 4 22.627 4 16C4.001 9.372 9.373 3.999 16 3.999Z",
3309 - fill: "none",
3310 - stroke: "currentColor",
3311 - strokeWidth: "1.5"
3312 - }));
3313 -});
3314 -/* harmony default export */ __webpack_exports__["default"] = (CookieConsentIcon);
3315 -
3316 -/***/ }),
3317 -
3318 -/***/ "./packages/apps/onboarding/src/icons/site-features/core-placeholder-icon.tsx":
3319 -/*!************************************************************************************!*\
3320 - !*** ./packages/apps/onboarding/src/icons/site-features/core-placeholder-icon.tsx ***!
3321 - \************************************************************************************/
3322 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3323 -
3324 -__webpack_require__.r(__webpack_exports__);
3325 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3326 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3327 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3328 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3329 -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); }
3330 -
3331 -
3332 -const CorePlaceholderIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3333 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3334 - viewBox: "0 0 32 32"
3335 - }, props, {
3336 - ref: ref,
3337 - width: "32",
3338 - height: "32"
3339 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3340 - d: "M15.333 15.9997C15.333 16.1765 15.4032 16.3461 15.5283 16.4711C15.6533 16.5961 15.8229 16.6663 15.9997 16.6663C16.1765 16.6663 16.3461 16.5961 16.4711 16.4711C16.5961 16.3461 16.6663 16.1765 16.6663 15.9997C16.6663 15.8229 16.5961 15.6533 16.4711 15.5283C16.3461 15.4032 16.1765 15.333 15.9997 15.333C15.8229 15.333 15.6533 15.4032 15.5283 15.5283C15.4032 15.6533 15.333 15.8229 15.333 15.9997Z",
3341 - fill: "currentColor",
3342 - stroke: "currentColor",
3343 - strokeWidth: "2",
3344 - strokeLinecap: "round",
3345 - strokeLinejoin: "round"
3346 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3347 - d: "M6.66699 16.0003C6.66699 17.226 6.90841 18.4397 7.37745 19.572C7.84649 20.7044 8.53398 21.7333 9.40066 22.6C10.2673 23.4667 11.2962 24.1542 12.4286 24.6232C13.561 25.0922 14.7747 25.3337 16.0003 25.3337C17.226 25.3337 18.4397 25.0922 19.572 24.6232C20.7044 24.1542 21.7333 23.4667 22.6 22.6C23.4667 21.7333 24.1542 20.7044 24.6232 19.572C25.0922 18.4397 25.3337 17.226 25.3337 16.0003C25.3337 14.7747 25.0922 13.561 24.6232 12.4286C24.1542 11.2962 23.4667 10.2673 22.6 9.40066C21.7333 8.53398 20.7044 7.84649 19.572 7.37745C18.4397 6.90841 17.226 6.66699 16.0003 6.66699C14.7747 6.66699 13.561 6.90841 12.4286 7.37745C11.2962 7.84649 10.2673 8.53398 9.40066 9.40066C8.53398 10.2673 7.84649 11.2962 7.37745 12.4286C6.90841 13.561 6.66699 14.7747 6.66699 16.0003Z",
3348 - fill: "none",
3349 - stroke: "currentColor",
3350 - strokeWidth: "1.5",
3351 - strokeLinecap: "round",
3352 - strokeLinejoin: "round"
3353 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3354 - d: "M16 4V6.66667",
3355 - fill: "none",
3356 - stroke: "currentColor",
3357 - strokeWidth: "1.5",
3358 - strokeLinecap: "round",
3359 - strokeLinejoin: "round"
3360 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3361 - d: "M4 16H6.66667",
3362 - fill: "none",
3363 - stroke: "currentColor",
3364 - strokeWidth: "1.5",
3365 - strokeLinecap: "round",
3366 - strokeLinejoin: "round"
3367 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3368 - d: "M16 25.333V27.9997",
3369 - fill: "none",
3370 - stroke: "currentColor",
3371 - strokeWidth: "1.5",
3372 - strokeLinecap: "round",
3373 - strokeLinejoin: "round"
3374 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3375 - d: "M25.333 16H27.9997",
3376 - fill: "none",
3377 - stroke: "currentColor",
3378 - strokeWidth: "1.5",
3379 - strokeLinecap: "round",
3380 - strokeLinejoin: "round"
3381 - }));
3382 -});
3383 -/* harmony default export */ __webpack_exports__["default"] = (CorePlaceholderIcon);
3384 -
3385 -/***/ }),
3386 -
3387 -/***/ "./packages/apps/onboarding/src/icons/site-features/custom-code-icon.tsx":
3388 -/*!*******************************************************************************!*\
3389 - !*** ./packages/apps/onboarding/src/icons/site-features/custom-code-icon.tsx ***!
3390 - \*******************************************************************************/
3391 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3392 -
3393 -__webpack_require__.r(__webpack_exports__);
3394 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3395 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3396 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3397 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3398 -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); }
3399 -
3400 -
3401 -const CustomCodeIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3402 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3403 - viewBox: "0 0 32 32"
3404 - }, props, {
3405 - ref: ref,
3406 - width: "32",
3407 - height: "32"
3408 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3409 - d: "M9.33333 10.666L4 15.9993L9.33333 21.3327",
3410 - fill: "none",
3411 - stroke: "currentColor",
3412 - strokeWidth: "1.5",
3413 - strokeLinecap: "round",
3414 - strokeLinejoin: "round"
3415 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3416 - d: "M22.667 10.666L28.0003 15.9993L22.667 21.3327",
3417 - fill: "none",
3418 - stroke: "currentColor",
3419 - strokeWidth: "1.5",
3420 - strokeLinecap: "round",
3421 - strokeLinejoin: "round"
3422 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3423 - d: "M18.6663 5.33301L13.333 26.6663",
3424 - fill: "none",
3425 - stroke: "currentColor",
3426 - strokeWidth: "1.5",
3427 - strokeLinecap: "round",
3428 - strokeLinejoin: "round"
3429 - }));
3430 -});
3431 -/* harmony default export */ __webpack_exports__["default"] = (CustomCodeIcon);
3432 -
3433 -/***/ }),
3434 -
3435 -/***/ "./packages/apps/onboarding/src/icons/site-features/email-deliverability-icon.tsx":
3436 -/*!****************************************************************************************!*\
3437 - !*** ./packages/apps/onboarding/src/icons/site-features/email-deliverability-icon.tsx ***!
3438 - \****************************************************************************************/
3439 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3440 -
3441 -__webpack_require__.r(__webpack_exports__);
3442 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3443 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3444 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3445 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3446 -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); }
3447 -
3448 -
3449 -const EmailDeliverabilityIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3450 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3451 - viewBox: "0 0 32 32"
3452 - }, props, {
3453 - ref: ref,
3454 - width: "32",
3455 - height: "32"
3456 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3457 - d: "M13.8998 26.8185H8.91711C6.32659 26.8185 4.22656 24.7185 4.22656 22.128V9.15636C4.22656 7.17638 5.82548 5.56771 7.80544 5.55962C13.2372 5.53744 18.6688 5.5374 24.1005 5.5596C26.0804 5.56769 27.6793 7.17636 27.6793 9.15632V16.6031",
3458 - fill: "none",
3459 - stroke: "currentColor",
3460 - strokeWidth: "1.5",
3461 - strokeLinecap: "round"
3462 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3463 - d: "M5.35254 6.66406L13.4831 11.7007C14.9964 12.6381 16.91 12.6381 18.4233 11.7007L26.5538 6.66406",
3464 - fill: "none",
3465 - stroke: "currentColor",
3466 - strokeWidth: "1.5",
3467 - strokeLinecap: "round"
3468 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3469 - d: "M28.2246 21.62L19.5512 16.2156C18.5501 15.5918 17.344 16.6355 17.8176 17.7158L19.6501 21.8962C19.7847 22.2033 19.7847 22.5527 19.6501 22.8598L17.7337 27.2315C17.268 28.2939 18.4308 29.3331 19.4344 28.7515L28.1917 23.6767C28.9747 23.223 28.9927 22.0987 28.2246 21.62Z",
3470 - fill: "none",
3471 - stroke: "currentColor",
3472 - strokeWidth: "1.5"
3473 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3474 - d: "M12.7002 22.6016L15.1002 22.6016",
3475 - fill: "none",
3476 - stroke: "currentColor",
3477 - strokeWidth: "1.5",
3478 - strokeLinecap: "round"
3479 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3480 - d: "M10 18.3984L14.2 18.3984",
3481 - fill: "none",
3482 - stroke: "currentColor",
3483 - strokeWidth: "1.5",
3484 - strokeLinecap: "round"
3485 - }));
3486 -});
3487 -/* harmony default export */ __webpack_exports__["default"] = (EmailDeliverabilityIcon);
3488 -
3489 -/***/ }),
3490 -
3491 -/***/ "./packages/apps/onboarding/src/icons/site-features/explore-more-icon.tsx":
3492 -/*!********************************************************************************!*\
3493 - !*** ./packages/apps/onboarding/src/icons/site-features/explore-more-icon.tsx ***!
3494 - \********************************************************************************/
3495 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3496 -
3497 -__webpack_require__.r(__webpack_exports__);
3498 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3499 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3500 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3501 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3502 -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); }
3503 -
3504 -
3505 -const ExploreMoreIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3506 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3507 - viewBox: "0 0 24 24"
3508 - }, props, {
3509 - ref: ref,
3510 - width: "24",
3511 - height: "24"
3512 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3513 - d: "M6.74805 3.75L12.748 9.75L6.74805 15.75",
3514 - fill: "none",
3515 - stroke: "currentColor",
3516 - strokeWidth: "1.5",
3517 - strokeLinecap: "round",
3518 - strokeLinejoin: "round"
3519 - }));
3520 -});
3521 -/* harmony default export */ __webpack_exports__["default"] = (ExploreMoreIcon);
3522 -
3523 -/***/ }),
3524 -
3525 -/***/ "./packages/apps/onboarding/src/icons/site-features/hello-theme-icon.tsx":
3526 -/*!*******************************************************************************!*\
3527 - !*** ./packages/apps/onboarding/src/icons/site-features/hello-theme-icon.tsx ***!
3528 - \*******************************************************************************/
3529 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3530 -
3531 -__webpack_require__.r(__webpack_exports__);
3532 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3533 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3534 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3535 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3536 -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); }
3537 -
3538 -
3539 -const HelloThemeIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3540 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3541 - viewBox: "0 0 32 32"
3542 - }, props, {
3543 - ref: ref,
3544 - width: "32",
3545 - height: "32"
3546 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
3547 - x: "4",
3548 - y: "4",
3549 - width: "24",
3550 - height: "24",
3551 - rx: "1.25",
3552 - fill: "none",
3553 - stroke: "currentColor",
3554 - strokeWidth: "1.5"
3555 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3556 - d: "M12 11.75V21.36M20 11.75V21.36M4 11.22H28M4 20.82H28",
3557 - fill: "none",
3558 - stroke: "currentColor",
3559 - strokeWidth: "1.5"
3560 - }));
3561 -});
3562 -/* harmony default export */ __webpack_exports__["default"] = (HelloThemeIcon);
3563 -
3564 -/***/ }),
3565 -
3566 -/***/ "./packages/apps/onboarding/src/icons/site-features/image-optimization-icon.tsx":
3567 -/*!**************************************************************************************!*\
3568 - !*** ./packages/apps/onboarding/src/icons/site-features/image-optimization-icon.tsx ***!
3569 - \**************************************************************************************/
3570 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3571 -
3572 -__webpack_require__.r(__webpack_exports__);
3573 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3574 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3575 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3576 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3577 -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); }
3578 -
3579 -
3580 -const ImageOptimizationIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3581 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3582 - viewBox: "0 0 32 32"
3583 - }, props, {
3584 - ref: ref,
3585 - width: "32",
3586 - height: "32"
3587 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
3588 - x: "4.59961",
3589 - y: "4.60156",
3590 - width: "22.8",
3591 - height: "22.8",
3592 - rx: "4.56",
3593 - fill: "none",
3594 - stroke: "currentColor",
3595 - strokeWidth: "1.5"
3596 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3597 - d: "M5.74023 26.2611L11.8306 18.6481C12.2446 18.1306 12.9998 18.0467 13.5173 18.4607L17.3432 21.5215C17.8607 21.9355 18.6159 21.8516 19.0299 21.3341L27.4002 10.8711",
3598 - fill: "none",
3599 - stroke: "currentColor",
3600 - strokeWidth: "1.5"
3601 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3602 - cx: "10.4802",
3603 - cy: "10.4792",
3604 - r: "2.28",
3605 - fill: "none",
3606 - stroke: "currentColor",
3607 - strokeWidth: "1.5"
3608 - }));
3609 -});
3610 -/* harmony default export */ __webpack_exports__["default"] = (ImageOptimizationIcon);
3611 -
3612 -/***/ }),
3613 -
3614 -/***/ "./packages/apps/onboarding/src/icons/site-features/index.ts":
3615 -/*!*******************************************************************!*\
3616 - !*** ./packages/apps/onboarding/src/icons/site-features/index.ts ***!
3617 - \*******************************************************************/
3618 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3619 -
3620 -__webpack_require__.r(__webpack_exports__);
3621 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3622 -/* harmony export */ AIGeneratorIcon: function() { return /* reexport safe */ _ai_generator_icon__WEBPACK_IMPORTED_MODULE_1__["default"]; },
3623 -/* harmony export */ AccessibilityToolsIcon: function() { return /* reexport safe */ _accessibility_tools_icon__WEBPACK_IMPORTED_MODULE_0__["default"]; },
3624 -/* harmony export */ ClassesVariablesIcon: function() { return /* reexport safe */ _classes_variables_icon__WEBPACK_IMPORTED_MODULE_2__["default"]; },
3625 -/* harmony export */ CookieConsentIcon: function() { return /* reexport safe */ _cookie_consent_icon__WEBPACK_IMPORTED_MODULE_3__["default"]; },
3626 -/* harmony export */ CorePlaceholderIcon: function() { return /* reexport safe */ _core_placeholder_icon__WEBPACK_IMPORTED_MODULE_4__["default"]; },
3627 -/* harmony export */ CustomCodeIcon: function() { return /* reexport safe */ _custom_code_icon__WEBPACK_IMPORTED_MODULE_5__["default"]; },
3628 -/* harmony export */ EmailDeliverabilityIcon: function() { return /* reexport safe */ _email_deliverability_icon__WEBPACK_IMPORTED_MODULE_7__["default"]; },
3629 -/* harmony export */ ExploreMoreIcon: function() { return /* reexport safe */ _explore_more_icon__WEBPACK_IMPORTED_MODULE_8__["default"]; },
3630 -/* harmony export */ HelloThemeIcon: function() { return /* reexport safe */ _hello_theme_icon__WEBPACK_IMPORTED_MODULE_9__["default"]; },
3631 -/* harmony export */ ImageOptimizationIcon: function() { return /* reexport safe */ _image_optimization_icon__WEBPACK_IMPORTED_MODULE_10__["default"]; },
3632 -/* harmony export */ InteractionsIcon: function() { return /* reexport safe */ _interactions_icon__WEBPACK_IMPORTED_MODULE_6__["default"]; },
3633 -/* harmony export */ ThemeBuilderIcon: function() { return /* reexport safe */ _theme_builder_icon__WEBPACK_IMPORTED_MODULE_11__["default"]; },
3634 -/* harmony export */ WoocommerceIcon: function() { return /* reexport safe */ _woocommerce_icon__WEBPACK_IMPORTED_MODULE_12__["default"]; }
3635 -/* harmony export */ });
3636 -/* harmony import */ var _accessibility_tools_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./accessibility-tools-icon */ "./packages/apps/onboarding/src/icons/site-features/accessibility-tools-icon.tsx");
3637 -/* harmony import */ var _ai_generator_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ai-generator-icon */ "./packages/apps/onboarding/src/icons/site-features/ai-generator-icon.tsx");
3638 -/* harmony import */ var _classes_variables_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes-variables-icon */ "./packages/apps/onboarding/src/icons/site-features/classes-variables-icon.tsx");
3639 -/* harmony import */ var _cookie_consent_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cookie-consent-icon */ "./packages/apps/onboarding/src/icons/site-features/cookie-consent-icon.tsx");
3640 -/* harmony import */ var _core_placeholder_icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./core-placeholder-icon */ "./packages/apps/onboarding/src/icons/site-features/core-placeholder-icon.tsx");
3641 -/* harmony import */ var _custom_code_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./custom-code-icon */ "./packages/apps/onboarding/src/icons/site-features/custom-code-icon.tsx");
3642 -/* harmony import */ var _interactions_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./interactions-icon */ "./packages/apps/onboarding/src/icons/site-features/interactions-icon.tsx");
3643 -/* harmony import */ var _email_deliverability_icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./email-deliverability-icon */ "./packages/apps/onboarding/src/icons/site-features/email-deliverability-icon.tsx");
3644 -/* harmony import */ var _explore_more_icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./explore-more-icon */ "./packages/apps/onboarding/src/icons/site-features/explore-more-icon.tsx");
3645 -/* harmony import */ var _hello_theme_icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./hello-theme-icon */ "./packages/apps/onboarding/src/icons/site-features/hello-theme-icon.tsx");
3646 -/* harmony import */ var _image_optimization_icon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./image-optimization-icon */ "./packages/apps/onboarding/src/icons/site-features/image-optimization-icon.tsx");
3647 -/* harmony import */ var _theme_builder_icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./theme-builder-icon */ "./packages/apps/onboarding/src/icons/site-features/theme-builder-icon.tsx");
3648 -/* harmony import */ var _woocommerce_icon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./woocommerce-icon */ "./packages/apps/onboarding/src/icons/site-features/woocommerce-icon.tsx");
3649 -
3650 -
3651 -
3652 -
3653 -
3654 -
3655 -
3656 -
3657 -
3658 -
3659 -
3660 -
3661 -
3662 -
3663 -/***/ }),
3664 -
3665 -/***/ "./packages/apps/onboarding/src/icons/site-features/interactions-icon.tsx":
3666 -/*!********************************************************************************!*\
3667 - !*** ./packages/apps/onboarding/src/icons/site-features/interactions-icon.tsx ***!
3668 - \********************************************************************************/
3669 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3670 -
3671 -__webpack_require__.r(__webpack_exports__);
3672 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3673 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3674 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3675 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3676 -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); }
3677 -
3678 -
3679 -const InteractionsIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3680 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3681 - viewBox: "0 0 32 32"
3682 - }, props, {
3683 - ref: ref,
3684 - width: "32",
3685 - height: "32"
3686 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3687 - d: "M12.3001 24.5497C12.1024 24.7925 11.8534 24.9888 11.5711 25.1243C11.2887 25.2598 10.9799 25.3313 10.6667 25.3337C10.0427 25.3337 9.44807 25.0483 9.03341 24.5497L3.21874 17.5523C2.86185 17.1138 2.66699 16.5657 2.66699 16.0003C2.66699 15.4349 2.86185 14.8868 3.21874 14.4483L9.03341 7.45099C9.23113 7.2081 9.48006 7.01189 9.76241 6.87636C10.0448 6.74083 10.3536 6.66934 10.6667 6.66699C11.2907 6.66699 11.8854 6.95233 12.3001 7.45099L18.1147 14.4483C18.4716 14.8868 18.6665 15.4349 18.6665 16.0003C18.6665 16.5657 18.4716 17.1138 18.1147 17.5523L12.3001 24.5497Z",
3688 - fill: "none",
3689 - stroke: "currentColor",
3690 - strokeWidth: "1.5",
3691 - strokeLinecap: "round",
3692 - strokeLinejoin: "round"
3693 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3694 - d: "M22.667 6.66699L28.7817 14.4483C29.1386 14.8868 29.3334 15.4349 29.3334 16.0003C29.3334 16.5657 29.1386 17.1138 28.7817 17.5523L22.667 25.3337",
3695 - fill: "none",
3696 - stroke: "currentColor",
3697 - strokeWidth: "1.5",
3698 - strokeLinecap: "round",
3699 - strokeLinejoin: "round"
3700 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3701 - d: "M17.333 6.66699L23.4477 14.4483C23.8046 14.8868 23.9994 15.4349 23.9994 16.0003C23.9994 16.5657 23.8046 17.1138 23.4477 17.5523L17.333 25.3337",
3702 - fill: "none",
3703 - stroke: "currentColor",
3704 - strokeWidth: "1.5",
3705 - strokeLinecap: "round",
3706 - strokeLinejoin: "round"
3707 - }));
3708 -});
3709 -/* harmony default export */ __webpack_exports__["default"] = (InteractionsIcon);
3710 -
3711 -/***/ }),
3712 -
3713 -/***/ "./packages/apps/onboarding/src/icons/site-features/theme-builder-icon.tsx":
3714 -/*!*********************************************************************************!*\
3715 - !*** ./packages/apps/onboarding/src/icons/site-features/theme-builder-icon.tsx ***!
3716 - \*********************************************************************************/
3717 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3718 -
3719 -__webpack_require__.r(__webpack_exports__);
3720 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3721 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3722 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3723 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3724 -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); }
3725 -
3726 -
3727 -const ThemeBuilderIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3728 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3729 - viewBox: "0 0 32 32"
3730 - }, props, {
3731 - ref: ref,
3732 - width: "32",
3733 - height: "32"
3734 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3735 - d: "M4.5 5.9375C4.5 5.55625 4.65145 5.19062 4.92103 4.92103C5.19062 4.65145 5.55625 4.5 5.9375 4.5H26.0625C26.4437 4.5 26.8094 4.65145 27.079 4.92103C27.3486 5.19062 27.5 5.55625 27.5 5.9375V8.8125C27.5 9.19375 27.3486 9.55938 27.079 9.82897C26.8094 10.0985 26.4437 10.25 26.0625 10.25H5.9375C5.55625 10.25 5.19062 10.0985 4.92103 9.82897C4.65145 9.55938 4.5 9.19375 4.5 8.8125V5.9375Z",
3736 - fill: "none",
3737 - stroke: "currentColor",
3738 - strokeWidth: "1.5",
3739 - strokeLinecap: "round",
3740 - strokeLinejoin: "round"
3741 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3742 - d: "M4.5 17.4375C4.5 17.0563 4.65145 16.6906 4.92103 16.421C5.19062 16.1515 5.55625 16 5.9375 16H11.6875C12.0687 16 12.4344 16.1515 12.704 16.421C12.9735 16.6906 13.125 17.0563 13.125 17.4375V26.0625C13.125 26.4437 12.9735 26.8094 12.704 27.079C12.4344 27.3486 12.0687 27.5 11.6875 27.5H5.9375C5.55625 27.5 5.19062 27.3486 4.92103 27.079C4.65145 26.8094 4.5 26.4437 4.5 26.0625V17.4375Z",
3743 - fill: "none",
3744 - stroke: "currentColor",
3745 - strokeWidth: "1.5",
3746 - strokeLinecap: "round",
3747 - strokeLinejoin: "round"
3748 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3749 - d: "M18.875 16H27.5",
3750 - fill: "none",
3751 - stroke: "currentColor",
3752 - strokeWidth: "1.5",
3753 - strokeLinecap: "round",
3754 - strokeLinejoin: "round"
3755 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3756 - d: "M18.875 21.75H27.5",
3757 - fill: "none",
3758 - stroke: "currentColor",
3759 - strokeWidth: "1.5",
3760 - strokeLinecap: "round",
3761 - strokeLinejoin: "round"
3762 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3763 - d: "M18.875 27.5H27.5",
3764 - fill: "none",
3765 - stroke: "currentColor",
3766 - strokeWidth: "1.5",
3767 - strokeLinecap: "round",
3768 - strokeLinejoin: "round"
3769 - }));
3770 -});
3771 -/* harmony default export */ __webpack_exports__["default"] = (ThemeBuilderIcon);
3772 -
3773 -/***/ }),
3774 -
3775 -/***/ "./packages/apps/onboarding/src/icons/site-features/woocommerce-icon.tsx":
3776 -/*!*******************************************************************************!*\
3777 - !*** ./packages/apps/onboarding/src/icons/site-features/woocommerce-icon.tsx ***!
3778 - \*******************************************************************************/
3779 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3780 -
3781 -__webpack_require__.r(__webpack_exports__);
3782 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3783 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3784 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3785 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3786 -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); }
3787 -
3788 -
3789 -const WoocommerceIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3790 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3791 - viewBox: "0 0 32 32"
3792 - }, props, {
3793 - ref: ref,
3794 - width: "32",
3795 - height: "32"
3796 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3797 - d: "M17.9998 28V18C17.9998 17.7348 18.1052 17.4804 18.2927 17.2929C18.4803 17.1054 18.7346 17 18.9998 17H22.9998C23.265 17 23.5194 17.1054 23.7069 17.2929C23.8945 17.4804 23.9998 17.7348 23.9998 18V28M17.9998 28H3.14649M17.9998 28H23.9998M23.9998 28H28.8532M26.9998 28V12.4653M26.9998 12.4653C26.1999 12.9268 25.2651 13.0974 24.3537 12.9482C23.4424 12.799 22.6108 12.3391 21.9998 11.6467C21.2665 12.476 20.1945 13 18.9998 13C18.4322 13.0005 17.871 12.88 17.3536 12.6464C16.8363 12.4128 16.3748 12.0715 15.9998 11.6453C15.2665 12.476 14.1945 13 12.9998 13C12.4322 13.0005 11.871 12.88 11.3536 12.6464C10.8363 12.4128 10.3748 12.0715 9.99982 11.6453C9.38905 12.338 8.55748 12.7981 7.64615 12.9476C6.73482 13.097 5.79985 12.9266 4.99982 12.4653M26.9998 12.4653C27.5313 12.1585 27.985 11.7336 28.326 11.2234C28.6669 10.7131 28.8858 10.1313 28.9659 9.52287C29.0459 8.91446 28.9849 8.29579 28.7876 7.71473C28.5902 7.13368 28.2618 6.60582 27.8278 6.172L26.2412 4.58667C25.8664 4.21149 25.3581 4.00047 24.8278 4H7.17049C6.64043 4.00011 6.13209 4.21064 5.75716 4.58533L4.17182 6.172C3.73881 6.60632 3.41131 7.13427 3.21458 7.71516C3.01786 8.29605 2.95715 8.91436 3.03715 9.52242C3.11715 10.1305 3.33572 10.712 3.67601 11.2223C4.01629 11.7325 4.4692 12.1578 4.99982 12.4653M4.99982 28V12.4653M8.99982 24H13.9998C14.265 24 14.5194 23.8946 14.7069 23.7071C14.8945 23.5196 14.9998 23.2652 14.9998 23V18C14.9998 17.7348 14.8945 17.4804 14.7069 17.2929C14.5194 17.1054 14.265 17 13.9998 17H8.99982C8.73461 17 8.48025 17.1054 8.29272 17.2929C8.10518 17.4804 7.99982 17.7348 7.99982 18V23C7.99982 23.552 8.44782 24 8.99982 24Z",
3798 - fill: "none",
3799 - stroke: "currentColor",
3800 - strokeWidth: "1.5",
3801 - strokeLinecap: "round",
3802 - strokeLinejoin: "round"
3803 - }));
3804 -});
3805 -/* harmony default export */ __webpack_exports__["default"] = (WoocommerceIcon);
3806 -
3807 -/***/ }),
3808 -
3809 -/***/ "./packages/apps/onboarding/src/icons/theme-selection/elementor-logo-icon.tsx":
3810 -/*!************************************************************************************!*\
3811 - !*** ./packages/apps/onboarding/src/icons/theme-selection/elementor-logo-icon.tsx ***!
3812 - \************************************************************************************/
3813 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3814 -
3815 -__webpack_require__.r(__webpack_exports__);
3816 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3817 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3818 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3819 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3820 -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); }
3821 -
3822 -
3823 -const ElementorLogoIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3824 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3825 - viewBox: "0 0 44 44"
3826 - }, props, {
3827 - ref: ref
3828 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
3829 - cx: "22",
3830 - cy: "22",
3831 - r: "22",
3832 - fill: "#ffffff"
3833 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3834 - d: "M22 0C9.85 0 0 9.85 0 22s9.85 22 22 22 22-9.85 22-22S34.15 0 22 0ZM15.4 33H11V11h4.4v22Zm17.6 0H19.8v-4.4H33V33Zm0-8.8H19.8v-4.4H33v4.4Zm0-8.8H19.8V11H33v4.4Z",
3835 - fill: "#515962",
3836 - fillOpacity: "0.38"
3837 - }));
3838 -});
3839 -/* harmony default export */ __webpack_exports__["default"] = (ElementorLogoIcon);
3840 -
3841 -/***/ }),
3842 -
3843 -/***/ "./packages/apps/onboarding/src/icons/theme-selection/hello-layout-icon.tsx":
3844 -/*!**********************************************************************************!*\
3845 - !*** ./packages/apps/onboarding/src/icons/theme-selection/hello-layout-icon.tsx ***!
3846 - \**********************************************************************************/
3847 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3848 -
3849 -__webpack_require__.r(__webpack_exports__);
3850 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3851 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3852 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3853 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3854 -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); }
3855 -
3856 -
3857 -const HelloLayoutIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {
3858 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3859 - viewBox: "0 0 48 48"
3860 - }, props, {
3861 - ref: ref
3862 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("rect", {
3863 - x: "1.66",
3864 - y: "1.66",
3865 - width: "44.68",
3866 - height: "44.68",
3867 - rx: "3.88",
3868 - ry: "3.88",
3869 - fill: "none",
3870 - stroke: "currentColor",
3871 - strokeWidth: "3.33"
3872 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3873 - d: "M3.33 17.11H44.67M3.33 30.89H44.67",
3874 - fill: "none",
3875 - stroke: "currentColor",
3876 - strokeWidth: "3.33"
3877 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3878 - d: "M17.11 17.11V30.89M30.89 17.11V30.89",
3879 - fill: "none",
3880 - stroke: "currentColor",
3881 - strokeWidth: "3.33"
3882 - }));
3883 -});
3884 -/* harmony default export */ __webpack_exports__["default"] = (HelloLayoutIcon);
3885 -
3886 -/***/ }),
3887 -
3888 -/***/ "./packages/apps/onboarding/src/icons/theme-selection/index.ts":
3889 -/*!*********************************************************************!*\
3890 - !*** ./packages/apps/onboarding/src/icons/theme-selection/index.ts ***!
3891 - \*********************************************************************/
3892 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3893 -
3894 -__webpack_require__.r(__webpack_exports__);
3895 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3896 -/* harmony export */ ElementorLogoIcon: function() { return /* reexport safe */ _elementor_logo_icon__WEBPACK_IMPORTED_MODULE_0__["default"]; },
3897 -/* harmony export */ HelloLayoutIcon: function() { return /* reexport safe */ _hello_layout_icon__WEBPACK_IMPORTED_MODULE_1__["default"]; },
3898 -/* harmony export */ PlusIcon: function() { return /* reexport safe */ _plus_icon__WEBPACK_IMPORTED_MODULE_2__["default"]; }
3899 -/* harmony export */ });
3900 -/* harmony import */ var _elementor_logo_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./elementor-logo-icon */ "./packages/apps/onboarding/src/icons/theme-selection/elementor-logo-icon.tsx");
3901 -/* harmony import */ var _hello_layout_icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hello-layout-icon */ "./packages/apps/onboarding/src/icons/theme-selection/hello-layout-icon.tsx");
3902 -/* harmony import */ var _plus_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plus-icon */ "./packages/apps/onboarding/src/icons/theme-selection/plus-icon.tsx");
3903 -
3904 -
3905 -
3906 -
3907 -/***/ }),
3908 -
3909 -/***/ "./packages/apps/onboarding/src/icons/theme-selection/plus-icon.tsx":
3910 -/*!**************************************************************************!*\
3911 - !*** ./packages/apps/onboarding/src/icons/theme-selection/plus-icon.tsx ***!
3912 - \**************************************************************************/
3913 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3914 -
3915 -__webpack_require__.r(__webpack_exports__);
3916 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3917 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3918 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3919 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
3920 -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); }
3921 -
3922 -
3923 -const PLUS_PATH = 'M20.7273 2.72725C21.8317 2.72726 22.7271 3.62279 22.7273 4.72725V11.8171H29.8181C30.9226 11.8171 31.818 12.7126 31.8181 13.8171V20.7263C31.818 21.8308 30.9226 22.7263 29.8181 22.7263H22.7273V29.8181C22.7273 30.9226 21.8318 31.8181 20.7273 31.8181H13.8181C12.7136 31.818 11.8181 30.9226 11.8181 29.8181V22.7263H4.72725C3.62282 22.7261 2.72729 21.8307 2.72725 20.7263V13.8171C2.72731 12.7127 3.62284 11.8172 4.72725 11.8171H11.8181V4.72725C11.8182 3.62283 12.7136 2.72733 13.8181 2.72725H20.7273Z';
3924 -const PlusIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({
3925 - sx,
3926 - strokeColor = '#ffffff',
3927 - ...props
3928 -}, ref) => {
3929 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.SvgIcon, _extends({
3930 - viewBox: "0 0 34.545 34.545"
3931 - }, props, {
3932 - ref: ref,
3933 - sx: {
3934 - overflow: 'visible',
3935 - ...sx
3936 - }
3937 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3938 - d: PLUS_PATH,
3939 - fill: "none",
3940 - stroke: strokeColor,
3941 - strokeWidth: "5.454",
3942 - strokeLinejoin: "round"
3943 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
3944 - d: PLUS_PATH,
3945 - fill: "currentColor"
3946 - }));
3947 -});
3948 -/* harmony default export */ __webpack_exports__["default"] = (PlusIcon);
3949 -
3950 -/***/ }),
3951 -
3952 -/***/ "./packages/apps/onboarding/src/steps/components/site-features/feature-grid.tsx":
3953 -/*!**************************************************************************************!*\
3954 - !*** ./packages/apps/onboarding/src/steps/components/site-features/feature-grid.tsx ***!
3955 - \**************************************************************************************/
3956 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3957 -
3958 -__webpack_require__.r(__webpack_exports__);
3959 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3960 -/* harmony export */ FeatureGrid: function() { return /* binding */ FeatureGrid; }
3961 -/* harmony export */ });
3962 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3963 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3964 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3965 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
3966 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3967 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
3968 -/* harmony import */ var _components_ui_selection_badge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../components/ui/selection-badge */ "./packages/apps/onboarding/src/components/ui/selection-badge.tsx");
3969 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
3970 -/* harmony import */ var _pro_plan_notice__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pro-plan-notice */ "./packages/apps/onboarding/src/steps/components/site-features/pro-plan-notice.tsx");
3971 -
3972 -
3973 -
3974 -
3975 -
3976 -
3977 -const CornerChip = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Chip)(({
3978 - theme
3979 -}) => ({
3980 - position: 'absolute',
3981 - insetBlockStart: theme.spacing(0.75),
3982 - insetInlineStart: theme.spacing(0.75),
3983 - height: theme.spacing(2.25),
3984 - '& .MuiChip-label': {
3985 - fontSize: theme.spacing(1.5),
3986 - padding: `${theme.spacing(0.375)} ${theme.spacing(0.625)}`
3987 - }
3988 -}));
3989 -const FeatureCard = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
3990 - shouldForwardProp: prop => !['isSelected', 'isCore'].includes(prop)
3991 -})(({
3992 - theme,
3993 - isSelected,
3994 - isCore
3995 -}) => ({
3996 - position: 'relative',
3997 - display: 'flex',
3998 - flexDirection: 'column',
3999 - alignItems: 'center',
4000 - justifyContent: 'center',
4001 - aspectRatio: '1',
4002 - minHeight: theme.spacing(12),
4003 - padding: theme.spacing(2),
4004 - borderRadius: theme.spacing(1),
4005 - border: isSelected ? `2px solid ${theme.palette.text.primary}` : `1px solid ${theme.palette.divider}`,
4006 - cursor: isCore ? 'default' : 'pointer',
4007 - transition: 'border-color 0.2s ease, background-color 0.2s ease',
4008 - ...(!isCore && {
4009 - '&:hover': {
4010 - backgroundColor: theme.palette.action.hover
4011 - }
4012 - })
4013 -}));
4014 -function FeatureGrid({
4015 - options,
4016 - selectedValues,
4017 - onFeatureClick
4018 -}) {
4019 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.useTheme)();
4020 - const isPaid = licenseType => licenseType === 'pro' || licenseType === 'one';
4021 - const selectedPaidFeatures = selectedValues.filter(id => {
4022 - const featureOption = options.find(item => item.id === id);
4023 - return featureOption && isPaid(featureOption.licenseType);
4024 - });
4025 - const shouldDisplayProPlanNotice = selectedPaidFeatures.length > 0;
4026 - const planName = selectedPaidFeatures.some(id => {
4027 - const featureOption = options.find(item => item.id === id);
4028 - return featureOption?.licenseType === 'one';
4029 - }) ? 'One' : 'Pro';
4030 - const handleKeyDown = (event, handler) => {
4031 - if (['Enter', ' '].includes(event.key)) {
4032 - event.preventDefault();
4033 - handler();
4034 - }
4035 - };
4036 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
4037 - justifyContent: "center",
4038 - sx: {
4039 - display: 'grid',
4040 - gridTemplateColumns: {
4041 - xs: 'repeat(auto-fit, minmax(100px, 135px))',
4042 - sm: 'repeat(4, 140px)',
4043 - md: 'repeat(5, 140px)'
4044 - },
4045 - gap: 2,
4046 - width: '100%'
4047 - }
4048 - }, options.map(option => {
4049 - const isSelected = selectedValues.includes(option.id);
4050 - const Icon = option.Icon;
4051 - const isOptionPaid = isPaid(option.licenseType);
4052 - const BadgeIcon = isOptionPaid ? _elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CrownFilledIcon : _elementor_icons__WEBPACK_IMPORTED_MODULE_1__.CheckIcon;
4053 - const isCore = option.licenseType === 'core';
4054 - const handleClick = () => onFeatureClick(option.id);
4055 - const handleKeyDownEvent = isCore ? undefined : event => handleKeyDown(event, handleClick);
4056 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(FeatureCard, {
4057 - key: option.id,
4058 - "data-testid": `feature-card-${option.id}`,
4059 - isSelected: isSelected,
4060 - isCore: isCore,
4061 - onClick: isCore ? undefined : handleClick,
4062 - role: isCore ? undefined : 'button',
4063 - tabIndex: isCore ? undefined : 0,
4064 - onKeyDown: handleKeyDownEvent,
4065 - "aria-pressed": isCore ? undefined : isSelected,
4066 - "aria-label": isCore ? undefined : (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)(option.labelKey)
4067 - }, isCore && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(CornerChip, {
4068 - label: (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('steps.site_features.included'),
4069 - size: "small"
4070 - }), isSelected && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_selection_badge__WEBPACK_IMPORTED_MODULE_3__.SelectionBadge, {
4071 - icon: BadgeIcon,
4072 - variant: isOptionPaid ? 'paid' : 'free'
4073 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box, {
4074 - className: "feature-icon",
4075 - display: "flex",
4076 - alignItems: "center",
4077 - justifyContent: "center",
4078 - color: "primary.dark",
4079 - width: theme.spacing(4),
4080 - height: theme.spacing(4),
4081 - sx: {
4082 - mt: 2,
4083 - mb: 1
4084 - }
4085 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, {
4086 - sx: {
4087 - width: theme.spacing(4),
4088 - height: theme.spacing(4),
4089 - fontSize: theme.spacing(4)
4090 - }
4091 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
4092 - variant: "body2",
4093 - color: "text.secondary",
4094 - display: "flex",
4095 - alignItems: "center",
4096 - align: "center",
4097 - sx: {
4098 - minHeight: theme.spacing(5)
4099 - }
4100 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)(option.labelKey)));
4101 - }), shouldDisplayProPlanNotice && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_pro_plan_notice__WEBPACK_IMPORTED_MODULE_5__.ProPlanNotice, {
4102 - planName: planName
4103 - }));
4104 -}
4105 -
4106 -/***/ }),
4107 -
4108 -/***/ "./packages/apps/onboarding/src/steps/components/site-features/feature-options.ts":
4109 -/*!****************************************************************************************!*\
4110 - !*** ./packages/apps/onboarding/src/steps/components/site-features/feature-options.ts ***!
4111 - \****************************************************************************************/
4112 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4113 -
4114 -__webpack_require__.r(__webpack_exports__);
4115 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4116 -/* harmony export */ COOKIE_CONSENT_FEATURE_ID: function() { return /* binding */ COOKIE_CONSENT_FEATURE_ID; },
4117 -/* harmony export */ CORE_FEATURE_IDS: function() { return /* binding */ CORE_FEATURE_IDS; },
4118 -/* harmony export */ FEATURE_OPTIONS: function() { return /* binding */ FEATURE_OPTIONS; }
4119 -/* harmony export */ });
4120 -/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../icons */ "./packages/apps/onboarding/src/icons/index.ts");
4121 -
4122 -const COOKIE_CONSENT_FEATURE_ID = 'cookie_consent';
4123 -const FEATURE_OPTIONS = [{
4124 - id: 'classes_variables',
4125 - labelKey: 'steps.site_features.option_classes_variables',
4126 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.ClassesVariablesIcon,
4127 - licenseType: 'core'
4128 -}, {
4129 - id: 'interactions',
4130 - labelKey: 'steps.site_features.option_interactions',
4131 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.InteractionsIcon,
4132 - licenseType: 'core'
4133 -}, {
4134 - id: 'theme_builder',
4135 - labelKey: 'steps.site_features.option_theme_builder',
4136 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.ThemeBuilderIcon,
4137 - licenseType: 'pro'
4138 -}, {
4139 - id: 'lead_collection',
4140 - labelKey: 'steps.site_features.option_lead_collection',
4141 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.CorePlaceholderIcon,
4142 - licenseType: 'pro'
4143 -}, {
4144 - id: 'custom_code_css',
4145 - labelKey: 'steps.site_features.option_custom_code',
4146 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.CustomCodeIcon,
4147 - licenseType: 'pro'
4148 -}, {
4149 - id: 'email_deliverability',
4150 - labelKey: 'steps.site_features.option_email_deliverability',
4151 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.EmailDeliverabilityIcon,
4152 - licenseType: 'one'
4153 -}, {
4154 - id: COOKIE_CONSENT_FEATURE_ID,
4155 - labelKey: 'steps.site_features.option_cookie_consent',
4156 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.CookieConsentIcon,
4157 - licenseType: 'one'
4158 -}, {
4159 - id: 'ai_features',
4160 - labelKey: 'steps.site_features.option_ai_generator',
4161 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.AIGeneratorIcon,
4162 - licenseType: 'one'
4163 -}, {
4164 - id: 'image_optimization',
4165 - labelKey: 'steps.site_features.option_image_optimization',
4166 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.ImageOptimizationIcon,
4167 - licenseType: 'one'
4168 -}, {
4169 - id: 'accessibility',
4170 - labelKey: 'steps.site_features.option_accessibility_tools',
4171 - Icon: _icons__WEBPACK_IMPORTED_MODULE_0__.AccessibilityToolsIcon,
4172 - licenseType: 'one'
4173 -}];
4174 -const CORE_FEATURE_IDS = new Set(FEATURE_OPTIONS.flatMap(option => option.licenseType === 'core' ? [option.id] : []));
4175 -
4176 -/***/ }),
4177 -
4178 -/***/ "./packages/apps/onboarding/src/steps/components/site-features/index.ts":
4179 -/*!******************************************************************************!*\
4180 - !*** ./packages/apps/onboarding/src/steps/components/site-features/index.ts ***!
4181 - \******************************************************************************/
4182 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4183 -
4184 -__webpack_require__.r(__webpack_exports__);
4185 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4186 -/* harmony export */ COOKIE_CONSENT_FEATURE_ID: function() { return /* reexport safe */ _feature_options__WEBPACK_IMPORTED_MODULE_1__.COOKIE_CONSENT_FEATURE_ID; },
4187 -/* harmony export */ CORE_FEATURE_IDS: function() { return /* reexport safe */ _feature_options__WEBPACK_IMPORTED_MODULE_1__.CORE_FEATURE_IDS; },
4188 -/* harmony export */ FEATURE_OPTIONS: function() { return /* reexport safe */ _feature_options__WEBPACK_IMPORTED_MODULE_1__.FEATURE_OPTIONS; },
4189 -/* harmony export */ FeatureGrid: function() { return /* reexport safe */ _feature_grid__WEBPACK_IMPORTED_MODULE_0__.FeatureGrid; },
4190 -/* harmony export */ ProPlanNotice: function() { return /* reexport safe */ _pro_plan_notice__WEBPACK_IMPORTED_MODULE_2__.ProPlanNotice; }
4191 -/* harmony export */ });
4192 -/* harmony import */ var _feature_grid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./feature-grid */ "./packages/apps/onboarding/src/steps/components/site-features/feature-grid.tsx");
4193 -/* harmony import */ var _feature_options__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./feature-options */ "./packages/apps/onboarding/src/steps/components/site-features/feature-options.ts");
4194 -/* harmony import */ var _pro_plan_notice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pro-plan-notice */ "./packages/apps/onboarding/src/steps/components/site-features/pro-plan-notice.tsx");
4195 -
4196 -
4197 -
4198 -
4199 -/***/ }),
4200 -
4201 -/***/ "./packages/apps/onboarding/src/steps/components/site-features/pro-plan-notice.tsx":
4202 -/*!*****************************************************************************************!*\
4203 - !*** ./packages/apps/onboarding/src/steps/components/site-features/pro-plan-notice.tsx ***!
4204 - \*****************************************************************************************/
4205 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4206 -
4207 -__webpack_require__.r(__webpack_exports__);
4208 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4209 -/* harmony export */ ProPlanNotice: function() { return /* binding */ ProPlanNotice; }
4210 -/* harmony export */ });
4211 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4212 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4213 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
4214 -/* harmony import */ var _elementor_icons__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__);
4215 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4216 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__);
4217 -/* harmony import */ var _hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../hooks/use-onboarding */ "./packages/apps/onboarding/src/hooks/use-onboarding.ts");
4218 -/* harmony import */ var _hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../hooks/use-onboarding-event */ "./packages/apps/onboarding/src/hooks/use-onboarding-event.ts");
4219 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4220 -
4221 -
4222 -
4223 -
4224 -
4225 -
4226 -
4227 -const PRO_PLAN_NOTICE_BG_LIGHT = '#FAE4FA';
4228 -const PRO_PLAN_NOTICE_BG_DARK = '#491146';
4229 -const ProPlanNoticeRoot = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.styled)(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Box)(({
4230 - theme
4231 -}) => ({
4232 - display: 'flex',
4233 - alignItems: 'center',
4234 - gap: theme.spacing(1),
4235 - padding: theme.spacing(1.5, 3),
4236 - borderRadius: theme.spacing(2),
4237 - backgroundColor: theme.palette.mode === 'dark' ? PRO_PLAN_NOTICE_BG_DARK : PRO_PLAN_NOTICE_BG_LIGHT,
4238 - width: 'max-content',
4239 - gridColumn: '1 / -1',
4240 - marginBlockStart: theme.spacing(2),
4241 - [theme.breakpoints.down('sm')]: {
4242 - flexDirection: 'column',
4243 - justifyContent: 'center',
4244 - justifySelf: 'center'
4245 - }
4246 -}));
4247 -function ProPlanNotice({
4248 - planName
4249 -}) {
4250 - const {
4251 - urls,
4252 - choices
4253 - } = (0,_hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_3__.useOnboarding)();
4254 - const {
4255 - trackProFeaturesSelected
4256 - } = (0,_hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_4__.useOnboardingEvent)();
4257 - const comparePlansUrl = urls.comparePlans;
4258 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.useTheme)();
4259 - const isOne = 'One' === planName;
4260 - const handleComparePlansClick = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
4261 - trackProFeaturesSelected({
4262 - targetName: 'compare plans',
4263 - features: choices.site_features || []
4264 - });
4265 - }, [trackProFeaturesSelected, choices.site_features]);
4266 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProPlanNoticeRoot, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Stack, {
4267 - direction: "row",
4268 - spacing: 1.5,
4269 - alignItems: "center"
4270 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Typography, {
4271 - variant: "body2",
4272 - color: "text.primary",
4273 - fontSize: theme.spacing(2)
4274 - }, isOne ? (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('steps.site_features.plan_recommendation_one') : (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('steps.site_features.plan_recommendation_pro'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_2__.Link, {
4275 - href: comparePlansUrl,
4276 - target: "_blank",
4277 - color: theme.palette.mode === 'dark' ? 'common.white' : 'promotion.main',
4278 - onClick: handleComparePlansClick,
4279 - sx: {
4280 - display: 'flex',
4281 - alignItems: 'center',
4282 - gap: theme.spacing(0.25),
4283 - fontSize: theme.spacing(2),
4284 - '&:hover': {
4285 - textDecoration: 'underline',
4286 - textDecorationColor: 'rgba(147, 0, 63, 0.4)'
4287 - },
4288 - '& > svg': {
4289 - fontSize: 'inherit'
4290 - }
4291 - }
4292 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('steps.site_features.compare_plans'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_icons__WEBPACK_IMPORTED_MODULE_1__.ArrowUpRightIcon, null)));
4293 -}
4294 -
4295 -/***/ }),
4296 -
4297 -/***/ "./packages/apps/onboarding/src/steps/screens/login.tsx":
4298 -/*!**************************************************************!*\
4299 - !*** ./packages/apps/onboarding/src/steps/screens/login.tsx ***!
4300 - \**************************************************************/
4301 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4302 -
4303 -__webpack_require__.r(__webpack_exports__);
4304 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4305 -/* harmony export */ Login: function() { return /* binding */ Login; }
4306 -/* harmony export */ });
4307 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4308 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4309 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4310 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
4311 -/* harmony import */ var _components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/fullscreen-card */ "./packages/apps/onboarding/src/components/fullscreen-card.tsx");
4312 -/* harmony import */ var _components_ui_elementor_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/ui/elementor-icon */ "./packages/apps/onboarding/src/components/ui/elementor-icon.tsx");
4313 -/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../icons */ "./packages/apps/onboarding/src/icons/index.ts");
4314 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4315 -
4316 -
4317 -
4318 -
4319 -
4320 -
4321 -function Login({
4322 - onConnect,
4323 - onSignUp,
4324 - onContinueAsGuest
4325 -}) {
4326 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.useTheme)();
4327 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.FullscreenCard, {
4328 - "data-testid": "login-screen"
4329 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4330 - display: "flex",
4331 - alignItems: "center",
4332 - marginBottom: -1
4333 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_elementor_icon__WEBPACK_IMPORTED_MODULE_3__.ElementorIcon, {
4334 - sx: {
4335 - width: 32,
4336 - height: 32
4337 - }
4338 - })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4339 - variant: "h5",
4340 - color: "text.primary",
4341 - align: "center",
4342 - fontWeight: 500,
4343 - fontFamily: "Poppins"
4344 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('login.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4345 - width: "100%",
4346 - gap: theme.spacing(2)
4347 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.PrimaryButton, {
4348 - variant: "contained",
4349 - color: "primary",
4350 - fullWidth: true,
4351 - size: "large",
4352 - onClick: onConnect
4353 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('login.sign_in')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4354 - spacing: 6
4355 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4356 - spacing: 2,
4357 - alignItems: "center"
4358 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.SecondaryButton, {
4359 - onClick: onSignUp,
4360 - variant: "outlined",
4361 - color: "primary",
4362 - fullWidth: true
4363 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Box, {
4364 - display: "flex",
4365 - alignItems: "center"
4366 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.SocialIconWrapper, {
4367 - elevation: 24
4368 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_4__.GoogleIcon, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.SocialIconWrapper, {
4369 - elevation: 24
4370 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_4__.FacebookIcon, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.SocialIconWrapper, {
4371 - elevation: 24
4372 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons__WEBPACK_IMPORTED_MODULE_4__.AppleIcon, null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4373 - variant: "button",
4374 - fontWeight: "500"
4375 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('login.continue_another_way')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.TextButton, {
4376 - href: '#',
4377 - color: "info.main",
4378 - align: "center",
4379 - variant: "body2",
4380 - onClick: event => onContinueAsGuest?.(event),
4381 - sx: {
4382 - textDecoration: 'none'
4383 - }
4384 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_5__.t)('common.skip')))));
4385 -}
4386 -
4387 -/***/ }),
4388 -
4389 -/***/ "./packages/apps/onboarding/src/steps/screens/pro-install.tsx":
4390 -/*!********************************************************************!*\
4391 - !*** ./packages/apps/onboarding/src/steps/screens/pro-install.tsx ***!
4392 - \********************************************************************/
4393 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4394 -
4395 -__webpack_require__.r(__webpack_exports__);
4396 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4397 -/* harmony export */ ProInstall: function() { return /* binding */ ProInstall; }
4398 -/* harmony export */ });
4399 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4400 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4401 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4402 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
4403 -/* harmony import */ var _components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/fullscreen-card */ "./packages/apps/onboarding/src/components/fullscreen-card.tsx");
4404 -/* harmony import */ var _components_toast_toast_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/toast/toast-context */ "./packages/apps/onboarding/src/components/toast/toast-context.tsx");
4405 -/* harmony import */ var _hooks_use_install_pro__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../hooks/use-install-pro */ "./packages/apps/onboarding/src/hooks/use-install-pro.ts");
4406 -/* harmony import */ var _hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/use-onboarding */ "./packages/apps/onboarding/src/hooks/use-onboarding.ts");
4407 -/* harmony import */ var _hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../hooks/use-onboarding-event */ "./packages/apps/onboarding/src/hooks/use-onboarding-event.ts");
4408 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4409 -/* harmony import */ var _step_visuals__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../step-visuals */ "./packages/apps/onboarding/src/steps/step-visuals.ts");
4410 -
4411 -
4412 -
4413 -
4414 -
4415 -
4416 -
4417 -
4418 -
4419 -
4420 -const ProLogo = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.styled)('img')(({
4421 - theme
4422 -}) => ({
4423 - maxWidth: 200,
4424 - height: 'auto',
4425 - margin: theme.spacing(1, 0)
4426 -}));
4427 -function ProInstall() {
4428 - const {
4429 - actions
4430 - } = (0,_hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_5__.useOnboarding)();
4431 - const installPro = (0,_hooks_use_install_pro__WEBPACK_IMPORTED_MODULE_4__.useInstallPro)();
4432 - const {
4433 - showToast
4434 - } = (0,_components_toast_toast_context__WEBPACK_IMPORTED_MODULE_3__.useToast)();
4435 - const {
4436 - trackProInstall,
4437 - trackStepViewed,
4438 - trackErrorReported
4439 - } = (0,_hooks_use_onboarding_event__WEBPACK_IMPORTED_MODULE_6__.useOnboardingEvent)();
4440 - const hasTrackedView = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
4441 - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
4442 - if (!hasTrackedView.current) {
4443 - hasTrackedView.current = true;
4444 - trackStepViewed('pro_install');
4445 - }
4446 - }, [trackStepViewed]);
4447 - function handleInstall() {
4448 - trackProInstall('install');
4449 - installPro.mutate(undefined, {
4450 - onSuccess: () => {
4451 - actions.markProInstalled();
4452 - },
4453 - onError: error => {
4454 - trackErrorReported({
4455 - targetType: 'install',
4456 - targetName: 'install_pro_on_this_site',
4457 - stepId: 'pro_install',
4458 - errorBody: error instanceof Error ? error.message : 'Failed to install Elementor Pro'
4459 - });
4460 - showToast((0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('error.pro_install_failed'));
4461 - actions.dismissProInstallScreen();
4462 - }
4463 - });
4464 - }
4465 - function handleDismiss(event) {
4466 - event.preventDefault();
4467 - trackProInstall('later');
4468 - actions.dismissProInstallScreen();
4469 - }
4470 - const isInstalling = installPro.isPending;
4471 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.FullscreenCard, {
4472 - "data-testid": "pro-install-screen"
4473 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4474 - variant: "h5",
4475 - color: "text.primary",
4476 - align: "center",
4477 - fontWeight: 500,
4478 - fontFamily: "Poppins",
4479 - marginBottom: -2
4480 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4481 - variant: "body2",
4482 - align: "center",
4483 - color: "text.secondary"
4484 - }, isInstalling ? (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.installing') : (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.subtitle')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(ProLogo, {
4485 - src: (0,_step_visuals__WEBPACK_IMPORTED_MODULE_8__.getOnboardingAssetUrl)('install-pro-logo.png'),
4486 - alt: (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.logo_alt')
4487 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4488 - spacing: 2,
4489 - width: "100%",
4490 - alignItems: "center"
4491 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.PrimaryButton, {
4492 - variant: "contained",
4493 - color: "primary",
4494 - fullWidth: true,
4495 - size: "large",
4496 - onClick: handleInstall,
4497 - disabled: isInstalling,
4498 - startIcon: isInstalling ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.CircularProgress, {
4499 - size: 18,
4500 - color: "inherit"
4501 - }) : undefined
4502 - }, isInstalling ? (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.installing_short') : (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.install_button')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_fullscreen_card__WEBPACK_IMPORTED_MODULE_2__.TextButton, {
4503 - href: '#',
4504 - align: "center",
4505 - onClick: event => handleDismiss(event),
4506 - disabled: isInstalling,
4507 - sx: {
4508 - textDecoration: 'none'
4509 - }
4510 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_7__.t)('pro_install.do_it_later'))));
4511 -}
4512 -
4513 -/***/ }),
4514 -
4515 -/***/ "./packages/apps/onboarding/src/steps/screens/site-features.tsx":
4516 -/*!**********************************************************************!*\
4517 - !*** ./packages/apps/onboarding/src/steps/screens/site-features.tsx ***!
4518 - \**********************************************************************/
4519 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4520 -
4521 -__webpack_require__.r(__webpack_exports__);
4522 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4523 -/* harmony export */ SiteFeatures: function() { return /* binding */ SiteFeatures; }
4524 -/* harmony export */ });
4525 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4526 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4527 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4528 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
4529 -/* harmony import */ var _components_ui_styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/ui/styled-components */ "./packages/apps/onboarding/src/components/ui/styled-components.ts");
4530 -/* harmony import */ var _hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../hooks/use-onboarding */ "./packages/apps/onboarding/src/hooks/use-onboarding.ts");
4531 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4532 -/* harmony import */ var _components_site_features__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../components/site-features */ "./packages/apps/onboarding/src/steps/components/site-features/index.ts");
4533 -
4534 -
4535 -
4536 -
4537 -
4538 -
4539 -
4540 -const FEATURE_OPTION_IDS = new Set(_components_site_features__WEBPACK_IMPORTED_MODULE_5__.FEATURE_OPTIONS.map(featureOption => featureOption.id));
4541 -function SiteFeatures() {
4542 - const {
4543 - choices,
4544 - actions
4545 - } = (0,_hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_3__.useOnboarding)();
4546 - const theme = (0,_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.useTheme)();
4547 - const rawSiteFeatures = choices.site_features;
4548 - const storedSelectableFeatures = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (rawSiteFeatures || []).filter(id => FEATURE_OPTION_IDS.has(id) && !_components_site_features__WEBPACK_IMPORTED_MODULE_5__.CORE_FEATURE_IDS.has(id)), [rawSiteFeatures]);
4549 - const selectedValues = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
4550 - const combined = [..._components_site_features__WEBPACK_IMPORTED_MODULE_5__.CORE_FEATURE_IDS, ...storedSelectableFeatures];
4551 - return combined.filter((id, index) => combined.indexOf(id) === index);
4552 - }, [storedSelectableFeatures]);
4553 - function handleFeatureClick(id) {
4554 - if (_components_site_features__WEBPACK_IMPORTED_MODULE_5__.CORE_FEATURE_IDS.has(id)) {
4555 - return;
4556 - }
4557 - const isCurrentlySelected = storedSelectableFeatures.includes(id);
4558 - const updatedSelectableFeatures = isCurrentlySelected ? storedSelectableFeatures.filter(featureId => featureId !== id) : [...storedSelectableFeatures, id];
4559 - actions.setUserChoice('site_features', updatedSelectableFeatures);
4560 - }
4561 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4562 - spacing: 4,
4563 - width: "100%",
4564 - "data-testid": "site-features-step"
4565 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4566 - spacing: 1,
4567 - textAlign: "center",
4568 - alignItems: "center"
4569 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_styled_components__WEBPACK_IMPORTED_MODULE_2__.StepTitle, {
4570 - color: "text.primary",
4571 - variant: "h5",
4572 - align: "center",
4573 - paddingBlockStart: theme.spacing(2.5)
4574 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('steps.site_features.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4575 - variant: "body1",
4576 - color: "text.secondary"
4577 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_4__.t)('steps.site_features.subtitle'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_site_features__WEBPACK_IMPORTED_MODULE_5__.FeatureGrid, {
4578 - options: _components_site_features__WEBPACK_IMPORTED_MODULE_5__.FEATURE_OPTIONS,
4579 - selectedValues: selectedValues,
4580 - onFeatureClick: handleFeatureClick
4581 - }));
4582 -}
4583 -
4584 -/***/ }),
4585 -
4586 -/***/ "./packages/apps/onboarding/src/steps/screens/theme-selection.tsx":
4587 -/*!************************************************************************!*\
4588 - !*** ./packages/apps/onboarding/src/steps/screens/theme-selection.tsx ***!
4589 - \************************************************************************/
4590 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4591 -
4592 -__webpack_require__.r(__webpack_exports__);
4593 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4594 -/* harmony export */ ThemeSelection: function() { return /* binding */ ThemeSelection; }
4595 -/* harmony export */ });
4596 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4597 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4598 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4599 -/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
4600 -/* harmony import */ var _components_theme_selection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/theme-selection */ "./packages/apps/onboarding/src/components/theme-selection/index.ts");
4601 -/* harmony import */ var _components_theme_selection_hello_theme_preview__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/theme-selection/hello-theme-preview */ "./packages/apps/onboarding/src/components/theme-selection/hello-theme-preview.tsx");
4602 -/* harmony import */ var _components_ui_footer_highlights__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/ui/footer-highlights */ "./packages/apps/onboarding/src/components/ui/footer-highlights.tsx");
4603 -/* harmony import */ var _components_ui_greeting_banner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../components/ui/greeting-banner */ "./packages/apps/onboarding/src/components/ui/greeting-banner.tsx");
4604 -/* harmony import */ var _components_ui_styled_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../components/ui/styled-components */ "./packages/apps/onboarding/src/components/ui/styled-components.ts");
4605 -/* harmony import */ var _hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../hooks/use-onboarding */ "./packages/apps/onboarding/src/hooks/use-onboarding.ts");
4606 -/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../types */ "./packages/apps/onboarding/src/types.ts");
4607 -/* harmony import */ var _utils_get_config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/get-config */ "./packages/apps/onboarding/src/utils/get-config.ts");
4608 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4609 -/* harmony import */ var _theme_selection_footer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../theme-selection-footer */ "./packages/apps/onboarding/src/steps/theme-selection-footer.ts");
4610 -
4611 -
4612 -
4613 -
4614 -
4615 -
4616 -
4617 -
4618 -
4619 -
4620 -
4621 -
4622 -
4623 -function ThemeSelection() {
4624 - const {
4625 - choices,
4626 - completedSteps
4627 - } = (0,_hooks_use_onboarding__WEBPACK_IMPORTED_MODULE_7__.useOnboarding)();
4628 - const isStepCompleted = completedSteps.includes(_types__WEBPACK_IMPORTED_MODULE_8__.StepId.THEME_SELECTION);
4629 - const isHelloThemeActive = (0,_utils_get_config__WEBPACK_IMPORTED_MODULE_9__.getConfig)()?.isHelloThemeActive ?? false;
4630 - const isInstalled = isHelloThemeActive || isStepCompleted && choices.theme_selection === _components_theme_selection__WEBPACK_IMPORTED_MODULE_2__.HELLO_THEME.slug;
4631 - const greetingText = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_components_theme_selection__WEBPACK_IMPORTED_MODULE_2__.getGreetingText)(null), []);
4632 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4633 - spacing: 7.5,
4634 - width: "100%",
4635 - sx: {
4636 - flex: 1
4637 - },
4638 - "data-testid": "theme-selection-step"
4639 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4640 - width: "100%",
4641 - maxWidth: 386,
4642 - alignSelf: "center"
4643 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_greeting_banner__WEBPACK_IMPORTED_MODULE_5__.GreetingBanner, null, greetingText)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4644 - useFlexGap: true,
4645 - spacing: 4,
4646 - alignItems: "center",
4647 - width: "100%"
4648 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4649 - spacing: 1,
4650 - textAlign: "center",
4651 - alignItems: "center"
4652 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_styled_components__WEBPACK_IMPORTED_MODULE_6__.StepTitle, {
4653 - color: "text.primary",
4654 - variant: "h5",
4655 - align: "center"
4656 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_10__.t)('steps.theme_selection.v2.title')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Typography, {
4657 - variant: "body1",
4658 - color: "text.secondary"
4659 - }, (0,_utils_translations__WEBPACK_IMPORTED_MODULE_10__.t)('steps.theme_selection.v2.subtitle'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Stack, {
4660 - useFlexGap: true,
4661 - alignItems: "center",
4662 - width: "100%",
4663 - sx: {
4664 - gap: '60px'
4665 - }
4666 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_theme_selection_hello_theme_preview__WEBPACK_IMPORTED_MODULE_3__.HelloThemePreview, {
4667 - isInstalled: isInstalled
4668 - }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_ui_footer_highlights__WEBPACK_IMPORTED_MODULE_4__.FooterHighlights, {
4669 - items: _theme_selection_footer__WEBPACK_IMPORTED_MODULE_11__.THEME_SELECTION_FOOTER_HIGHLIGHTS,
4670 - testId: "theme-selection-highlights"
4671 - }))));
4672 -}
4673 -
4674 -/***/ }),
4675 -
4676 -/***/ "./packages/apps/onboarding/src/steps/step-visuals.ts":
4677 -/*!************************************************************!*\
4678 - !*** ./packages/apps/onboarding/src/steps/step-visuals.ts ***!
4679 - \************************************************************/
4680 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4681 -
4682 -__webpack_require__.r(__webpack_exports__);
4683 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4684 -/* harmony export */ LOGIN_CONFIG: function() { return /* binding */ LOGIN_CONFIG; },
4685 -/* harmony export */ getLoginVisualConfig: function() { return /* binding */ getLoginVisualConfig; },
4686 -/* harmony export */ getOnboardingAssetUrl: function() { return /* binding */ getOnboardingAssetUrl; },
4687 -/* harmony export */ getOnboardingVideoUrl: function() { return /* binding */ getOnboardingVideoUrl; },
4688 -/* harmony export */ getStepVisualConfig: function() { return /* binding */ getStepVisualConfig; },
4689 -/* harmony export */ getVideoUrls: function() { return /* binding */ getVideoUrls; }
4690 -/* harmony export */ });
4691 -/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../types */ "./packages/apps/onboarding/src/types.ts");
4692 -
4693 -const ONBOARDING_ASSETS_PATH = 'images/app/onboarding/';
4694 -const VIDEOS_BASE_URL = 'https://assets.elementor.com/onboarding/v1/videos/';
4695 -const CONTENT_MAX_WIDTH_WIDE_ELEMENT = 724;
4696 -const getAssetsBaseUrl = () => window.elementorCommon?.config?.urls?.assets ?? '';
4697 -const getOnboardingAssetUrl = fileName => {
4698 - const baseUrl = getAssetsBaseUrl();
4699 - const path = `${ONBOARDING_ASSETS_PATH}${fileName}`;
4700 - return baseUrl ? `${baseUrl}${path}` : path;
4701 -};
4702 -const getOnboardingVideoUrl = fileName => `${VIDEOS_BASE_URL}${fileName}`;
4703 -const buildBackground = fileName => {
4704 - const imageUrl = getOnboardingAssetUrl(fileName);
4705 - return `url(${imageUrl}) center / cover no-repeat`;
4706 -};
4707 -const DEFAULT_CONFIG = {
4708 - background: buildBackground('step-1.webp')
4709 -};
4710 -const LOGIN_CONFIG = {
4711 - background: buildBackground('login.webp')
4712 -};
4713 -const stepVisuals = {
4714 - [_types__WEBPACK_IMPORTED_MODULE_0__.StepId.THEME_SELECTION]: {
4715 - background: '',
4716 - video: getOnboardingVideoUrl('step-4-v2.webm'),
4717 - contentMaxWidth: CONTENT_MAX_WIDTH_WIDE_ELEMENT
4718 - },
4719 - [_types__WEBPACK_IMPORTED_MODULE_0__.StepId.SITE_FEATURES]: {
4720 - background: '',
4721 - video: getOnboardingVideoUrl('step-4-v2.webm'),
4722 - contentMaxWidth: CONTENT_MAX_WIDTH_WIDE_ELEMENT
4723 - }
4724 -};
4725 -const getLoginVisualConfig = () => LOGIN_CONFIG;
4726 -const getStepVisualConfig = stepId => stepVisuals[stepId] ?? DEFAULT_CONFIG;
4727 -
4728 -// Deduplicated so shared videos (e.g. steps 4 and 5 use the same clip) yield a
4729 -// single <video> element rather than two with a colliding React key.
4730 -const getVideoUrls = () => {
4731 - const urls = Object.values(stepVisuals).flatMap(config => config.video ? [config.video] : []);
4732 - return [...new Set(urls)];
4733 -};
4734 -
4735 -/***/ }),
4736 -
4737 -/***/ "./packages/apps/onboarding/src/steps/theme-selection-footer.ts":
4738 -/*!**********************************************************************!*\
4739 - !*** ./packages/apps/onboarding/src/steps/theme-selection-footer.ts ***!
4740 - \**********************************************************************/
4741 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4742 -
4743 -__webpack_require__.r(__webpack_exports__);
4744 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4745 -/* harmony export */ THEME_SELECTION_FOOTER_HIGHLIGHTS: function() { return /* binding */ THEME_SELECTION_FOOTER_HIGHLIGHTS; }
4746 -/* harmony export */ });
4747 -const THEME_SELECTION_FOOTER_HIGHLIGHTS = [{
4748 - labelKey: 'steps.theme_selection.highlight_fast'
4749 -}, {
4750 - labelKey: 'steps.theme_selection.highlight_responsive'
4751 -}, {
4752 - labelKey: 'steps.theme_selection.highlight_built_for_elementor'
4753 -}];
4754 -
4755 -/***/ }),
4756 -
4757 -/***/ "./packages/apps/onboarding/src/store/index.ts":
4758 -/*!*****************************************************!*\
4759 - !*** ./packages/apps/onboarding/src/store/index.ts ***!
4760 - \*****************************************************/
4761 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4762 -
4763 -__webpack_require__.r(__webpack_exports__);
4764 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4765 -/* harmony export */ clearResumeStepIdForTracking: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.clearResumeStepIdForTracking; },
4766 -/* harmony export */ clearUnexpectedExit: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.clearUnexpectedExit; },
4767 -/* harmony export */ completeOnboarding: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.completeOnboarding; },
4768 -/* harmony export */ completeStep: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.completeStep; },
4769 -/* harmony export */ dismissProInstallScreen: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.dismissProInstallScreen; },
4770 -/* harmony export */ goToStep: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.goToStep; },
4771 -/* harmony export */ goToStepIndex: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.goToStepIndex; },
4772 -/* harmony export */ initFromConfig: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.initFromConfig; },
4773 -/* harmony export */ markProInstalled: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.markProInstalled; },
4774 -/* harmony export */ nextStep: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.nextStep; },
4775 -/* harmony export */ prevStep: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.prevStep; },
4776 -/* harmony export */ registerOnboardingSlice: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.registerOnboardingSlice; },
4777 -/* harmony export */ selectChoices: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectChoices; },
4778 -/* harmony export */ selectCompletedSteps: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectCompletedSteps; },
4779 -/* harmony export */ selectCurrentStep: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectCurrentStep; },
4780 -/* harmony export */ selectCurrentStepId: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectCurrentStepId; },
4781 -/* harmony export */ selectCurrentStepIndex: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectCurrentStepIndex; },
4782 -/* harmony export */ selectError: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectError; },
4783 -/* harmony export */ selectHadUnexpectedExit: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectHadUnexpectedExit; },
4784 -/* harmony export */ selectHasPassedLogin: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectHasPassedLogin; },
4785 -/* harmony export */ selectHasProInstallScreenDismissed: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectHasProInstallScreenDismissed; },
4786 -/* harmony export */ selectIsConnected: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsConnected; },
4787 -/* harmony export */ selectIsFirstStep: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsFirstStep; },
4788 -/* harmony export */ selectIsGuest: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsGuest; },
4789 -/* harmony export */ selectIsLastStep: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsLastStep; },
4790 -/* harmony export */ selectIsLoading: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsLoading; },
4791 -/* harmony export */ selectIsStepCompleted: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectIsStepCompleted; },
4792 -/* harmony export */ selectOnboarding: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectOnboarding; },
4793 -/* harmony export */ selectResumeStepIdForTracking: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectResumeStepIdForTracking; },
4794 -/* harmony export */ selectShouldShowProInstall: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectShouldShowProInstall; },
4795 -/* harmony export */ selectSteps: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectSteps; },
4796 -/* harmony export */ selectTotalSteps: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectTotalSteps; },
4797 -/* harmony export */ selectUrls: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectUrls; },
4798 -/* harmony export */ selectUserName: function() { return /* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_1__.selectUserName; },
4799 -/* harmony export */ setConnected: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setConnected; },
4800 -/* harmony export */ setError: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setError; },
4801 -/* harmony export */ setExitType: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setExitType; },
4802 -/* harmony export */ setGuest: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setGuest; },
4803 -/* harmony export */ setLoading: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setLoading; },
4804 -/* harmony export */ setShouldShowProInstallScreen: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setShouldShowProInstallScreen; },
4805 -/* harmony export */ setUserChoice: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setUserChoice; },
4806 -/* harmony export */ setUserChoices: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.setUserChoices; },
4807 -/* harmony export */ slice: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.slice; },
4808 -/* harmony export */ startOnboarding: function() { return /* reexport safe */ _slice__WEBPACK_IMPORTED_MODULE_0__.startOnboarding; }
4809 -/* harmony export */ });
4810 -/* harmony import */ var _slice__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slice */ "./packages/apps/onboarding/src/store/slice.ts");
4811 -/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectors */ "./packages/apps/onboarding/src/store/selectors.ts");
4812 -
4813 -
4814 -
4815 -/***/ }),
4816 -
4817 -/***/ "./packages/apps/onboarding/src/store/selectors.ts":
4818 -/*!*********************************************************!*\
4819 - !*** ./packages/apps/onboarding/src/store/selectors.ts ***!
4820 - \*********************************************************/
4821 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4822 -
4823 -__webpack_require__.r(__webpack_exports__);
4824 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4825 -/* harmony export */ selectChoices: function() { return /* binding */ selectChoices; },
4826 -/* harmony export */ selectCompletedSteps: function() { return /* binding */ selectCompletedSteps; },
4827 -/* harmony export */ selectCurrentStep: function() { return /* binding */ selectCurrentStep; },
4828 -/* harmony export */ selectCurrentStepId: function() { return /* binding */ selectCurrentStepId; },
4829 -/* harmony export */ selectCurrentStepIndex: function() { return /* binding */ selectCurrentStepIndex; },
4830 -/* harmony export */ selectError: function() { return /* binding */ selectError; },
4831 -/* harmony export */ selectHadUnexpectedExit: function() { return /* binding */ selectHadUnexpectedExit; },
4832 -/* harmony export */ selectHasPassedLogin: function() { return /* binding */ selectHasPassedLogin; },
4833 -/* harmony export */ selectHasProInstallScreenDismissed: function() { return /* binding */ selectHasProInstallScreenDismissed; },
4834 -/* harmony export */ selectIsConnected: function() { return /* binding */ selectIsConnected; },
4835 -/* harmony export */ selectIsFirstStep: function() { return /* binding */ selectIsFirstStep; },
4836 -/* harmony export */ selectIsGuest: function() { return /* binding */ selectIsGuest; },
4837 -/* harmony export */ selectIsLastStep: function() { return /* binding */ selectIsLastStep; },
4838 -/* harmony export */ selectIsLoading: function() { return /* binding */ selectIsLoading; },
4839 -/* harmony export */ selectIsStepCompleted: function() { return /* binding */ selectIsStepCompleted; },
4840 -/* harmony export */ selectOnboarding: function() { return /* binding */ selectOnboarding; },
4841 -/* harmony export */ selectResumeStepIdForTracking: function() { return /* binding */ selectResumeStepIdForTracking; },
4842 -/* harmony export */ selectShouldShowProInstall: function() { return /* binding */ selectShouldShowProInstall; },
4843 -/* harmony export */ selectSteps: function() { return /* binding */ selectSteps; },
4844 -/* harmony export */ selectTotalSteps: function() { return /* binding */ selectTotalSteps; },
4845 -/* harmony export */ selectUrls: function() { return /* binding */ selectUrls; },
4846 -/* harmony export */ selectUserName: function() { return /* binding */ selectUserName; }
4847 -/* harmony export */ });
4848 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4849 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
4850 -
4851 -const selectOnboarding = state => state.onboarding;
4852 -const selectSteps = state => state.onboarding.steps;
4853 -const selectCurrentStepId = state => state.onboarding.currentStepId;
4854 -const selectCurrentStepIndex = state => state.onboarding.currentStepIndex;
4855 -const selectCompletedSteps = state => state.onboarding.completedSteps;
4856 -const selectChoices = state => state.onboarding.choices;
4857 -const selectIsLoading = state => state.onboarding.isLoading;
4858 -const selectError = state => state.onboarding.error;
4859 -const selectHadUnexpectedExit = state => state.onboarding.hadUnexpectedExit;
4860 -const selectResumeStepIdForTracking = state => state.onboarding.resumeStepIdForTracking;
4861 -const selectIsConnected = state => state.onboarding.isConnected;
4862 -const selectIsGuest = state => state.onboarding.isGuest;
4863 -const selectUserName = state => state.onboarding.userName;
4864 -const selectUrls = state => state.onboarding.urls;
4865 -const selectShouldShowProInstallScreen = state => state.onboarding.shouldShowProInstallScreen;
4866 -const selectHasProInstallScreenDismissed = state => state.onboarding.hasProInstallScreenDismissed;
4867 -const selectCurrentStep = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectSteps, selectCurrentStepIndex], (steps, index) => steps[index] ?? null);
4868 -const selectIsFirstStep = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectCurrentStepIndex], index => index === 0);
4869 -const selectIsLastStep = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectSteps, selectCurrentStepIndex], (steps, index) => index === steps.length - 1);
4870 -const selectTotalSteps = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectSteps], steps => steps.length);
4871 -const selectIsStepCompleted = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectCompletedSteps, (_state, stepId) => stepId], (completedSteps, stepId) => completedSteps.includes(stepId));
4872 -const selectHasPassedLogin = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectIsConnected, selectIsGuest], (isConnected, isGuest) => isConnected || isGuest);
4873 -const selectShouldShowProInstall = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSelector)([selectIsConnected, selectShouldShowProInstallScreen, selectHasProInstallScreenDismissed], (isConnected, shouldShowProInstallScreen, isDismissed) => isConnected && shouldShowProInstallScreen && !isDismissed);
4874 -
4875 -/***/ }),
4876 -
4877 -/***/ "./packages/apps/onboarding/src/store/slice.ts":
4878 -/*!*****************************************************!*\
4879 - !*** ./packages/apps/onboarding/src/store/slice.ts ***!
4880 - \*****************************************************/
4881 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4882 -
4883 -__webpack_require__.r(__webpack_exports__);
4884 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4885 -/* harmony export */ clearResumeStepIdForTracking: function() { return /* binding */ clearResumeStepIdForTracking; },
4886 -/* harmony export */ clearUnexpectedExit: function() { return /* binding */ clearUnexpectedExit; },
4887 -/* harmony export */ completeOnboarding: function() { return /* binding */ completeOnboarding; },
4888 -/* harmony export */ completeStep: function() { return /* binding */ completeStep; },
4889 -/* harmony export */ dismissProInstallScreen: function() { return /* binding */ dismissProInstallScreen; },
4890 -/* harmony export */ goToStep: function() { return /* binding */ goToStep; },
4891 -/* harmony export */ goToStepIndex: function() { return /* binding */ goToStepIndex; },
4892 -/* harmony export */ initFromConfig: function() { return /* binding */ initFromConfig; },
4893 -/* harmony export */ markProInstalled: function() { return /* binding */ markProInstalled; },
4894 -/* harmony export */ nextStep: function() { return /* binding */ nextStep; },
4895 -/* harmony export */ prevStep: function() { return /* binding */ prevStep; },
4896 -/* harmony export */ registerOnboardingSlice: function() { return /* binding */ registerOnboardingSlice; },
4897 -/* harmony export */ setConnected: function() { return /* binding */ setConnected; },
4898 -/* harmony export */ setError: function() { return /* binding */ setError; },
4899 -/* harmony export */ setExitType: function() { return /* binding */ setExitType; },
4900 -/* harmony export */ setGuest: function() { return /* binding */ setGuest; },
4901 -/* harmony export */ setLoading: function() { return /* binding */ setLoading; },
4902 -/* harmony export */ setShouldShowProInstallScreen: function() { return /* binding */ setShouldShowProInstallScreen; },
4903 -/* harmony export */ setUserChoice: function() { return /* binding */ setUserChoice; },
4904 -/* harmony export */ setUserChoices: function() { return /* binding */ setUserChoices; },
4905 -/* harmony export */ slice: function() { return /* binding */ slice; },
4906 -/* harmony export */ startOnboarding: function() { return /* binding */ startOnboarding; }
4907 -/* harmony export */ });
4908 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/store */ "@elementor/store");
4909 -/* harmony import */ var _elementor_store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_store__WEBPACK_IMPORTED_MODULE_0__);
4910 -/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types */ "./packages/apps/onboarding/src/types.ts");
4911 -/* harmony import */ var _utils_translations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/translations */ "./packages/apps/onboarding/src/utils/translations.ts");
4912 -
4913 -
4914 -
4915 -function createThemeSelectionStep() {
4916 - return {
4917 - id: _types__WEBPACK_IMPORTED_MODULE_1__.StepId.THEME_SELECTION,
4918 - label: (0,_utils_translations__WEBPACK_IMPORTED_MODULE_2__.t)('steps.theme_selection.title'),
4919 - type: 'single'
4920 - };
4921 -}
4922 -function getDefaultSteps() {
4923 - return [{
4924 - id: _types__WEBPACK_IMPORTED_MODULE_1__.StepId.SITE_FEATURES,
4925 - label: (0,_utils_translations__WEBPACK_IMPORTED_MODULE_2__.t)('steps.site_features.title'),
4926 - type: 'multiple'
4927 - }];
4928 -}
4929 -function applyProInstalledSteps(steps) {
4930 - const withoutSiteFeatures = steps.filter(step => step.id !== _types__WEBPACK_IMPORTED_MODULE_1__.StepId.SITE_FEATURES);
4931 - if (withoutSiteFeatures.some(step => step.id === _types__WEBPACK_IMPORTED_MODULE_1__.StepId.THEME_SELECTION)) {
4932 - return withoutSiteFeatures;
4933 - }
4934 - return [...withoutSiteFeatures, createThemeSelectionStep()];
4935 -}
4936 -function parseStepsFromConfig(configSteps) {
4937 - if (!configSteps || configSteps.length === 0) {
4938 - return getDefaultSteps();
4939 - }
4940 - return configSteps.map(step => ({
4941 - id: step.id,
4942 - label: step.label,
4943 - type: step.type || 'single'
4944 - }));
4945 -}
4946 -function parseCompletedSteps(completedSteps) {
4947 - if (!completedSteps) {
4948 - return [];
4949 - }
4950 - return completedSteps;
4951 -}
4952 -function getDefaultChoices() {
4953 - return {
4954 - building_for: null,
4955 - site_about: [],
4956 - experience_level: null,
4957 - theme_selection: null,
4958 - site_features: []
4959 - };
4960 -}
4961 -function getEmptyState() {
4962 - const steps = getDefaultSteps();
4963 - return {
4964 - steps,
4965 - currentStepId: steps[0]?.id ?? _types__WEBPACK_IMPORTED_MODULE_1__.StepId.SITE_FEATURES,
4966 - currentStepIndex: 0,
4967 - completedSteps: [],
4968 - exitType: null,
4969 - lastActiveTimestamp: null,
4970 - startedAt: null,
4971 - choices: getDefaultChoices(),
4972 - isLoading: false,
4973 - error: null,
4974 - hadUnexpectedExit: false,
4975 - resumeStepIdForTracking: null,
4976 - isConnected: false,
4977 - isGuest: false,
4978 - userName: '',
4979 - urls: {
4980 - dashboard: '',
4981 - editor: '',
4982 - connect: '',
4983 - signUp: '',
4984 - comparePlans: '',
4985 - upgradeUrl: ''
4986 - },
4987 - shouldShowProInstallScreen: false,
4988 - hasProInstallScreenDismissed: false
4989 - };
4990 -}
4991 -function buildStateFromConfig(config) {
4992 - if (!config) {
4993 - return getEmptyState();
4994 - }
4995 - const steps = parseStepsFromConfig(config.steps);
4996 - const firstStepId = steps[0]?.id ?? _types__WEBPACK_IMPORTED_MODULE_1__.StepId.SITE_FEATURES;
4997 - const progress = config.progress ?? {};
4998 - let currentStepIndex = progress.current_step_index ?? 0;
4999 - const progressStepId = progress.current_step_id;
5000 - const isInvalidStepIndex = currentStepIndex < 0 || currentStepIndex >= steps.length;
5001 - const isInvalidStepId = Boolean(progressStepId) && !steps.some(step => step.id === progressStepId);
5002 - if (isInvalidStepIndex || isInvalidStepId) {
5003 - currentStepIndex = 0;
5004 - }
5005 - const currentStepId = steps[currentStepIndex]?.id ?? firstStepId;
5006 - return {
5007 - steps,
5008 - currentStepId,
5009 - currentStepIndex,
5010 - completedSteps: parseCompletedSteps(progress.completed_steps),
5011 - exitType: progress.exit_type ?? null,
5012 - lastActiveTimestamp: progress.last_active_timestamp ?? null,
5013 - startedAt: progress.started_at ?? null,
5014 - choices: {
5015 - ...getDefaultChoices(),
5016 - ...config.choices
5017 - },
5018 - isLoading: false,
5019 - error: null,
5020 - hadUnexpectedExit: false,
5021 - resumeStepIdForTracking: config.hadUnexpectedExit ? currentStepId : null,
5022 - isConnected: config.isConnected ?? false,
5023 - isGuest: false,
5024 - userName: config.userName ?? '',
5025 - urls: config.urls ?? {
5026 - dashboard: '',
5027 - editor: '',
5028 - connect: '',
5029 - signUp: '',
5030 - comparePlans: '',
5031 - upgradeUrl: ''
5032 - },
5033 - shouldShowProInstallScreen: config.shouldShowProInstallScreen ?? false,
5034 - hasProInstallScreenDismissed: false
5035 - };
5036 -}
5037 -const slice = (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__createSlice)({
5038 - name: 'onboarding',
5039 - initialState: getEmptyState(),
5040 - reducers: {
5041 - initFromConfig: state => {
5042 - const config = window.elementorAppConfig?.onboarding;
5043 - if (config) {
5044 - return buildStateFromConfig(config);
5045 - }
5046 - return state;
5047 - },
5048 - goToStep: (state, action) => {
5049 - const stepId = action.payload;
5050 - const stepIndex = state.steps.findIndex(s => s.id === stepId);
5051 - if (stepIndex !== -1) {
5052 - state.currentStepId = stepId;
5053 - state.currentStepIndex = stepIndex;
5054 - }
5055 - },
5056 - goToStepIndex: (state, action) => {
5057 - const index = action.payload;
5058 - if (index >= 0 && index < state.steps.length) {
5059 - state.currentStepId = state.steps[index].id;
5060 - state.currentStepIndex = index;
5061 - }
5062 - },
5063 - nextStep: state => {
5064 - const nextIndex = state.currentStepIndex + 1;
5065 - if (nextIndex < state.steps.length) {
5066 - state.currentStepId = state.steps[nextIndex].id;
5067 - state.currentStepIndex = nextIndex;
5068 - }
5069 - },
5070 - prevStep: state => {
5071 - const prevIndex = state.currentStepIndex - 1;
5072 - if (prevIndex >= 0) {
5073 - state.currentStepId = state.steps[prevIndex].id;
5074 - state.currentStepIndex = prevIndex;
5075 - }
5076 - },
5077 - completeStep: (state, action) => {
5078 - const stepId = action.payload;
5079 - if (!state.completedSteps.includes(stepId)) {
5080 - state.completedSteps.push(stepId);
5081 - }
5082 - },
5083 - setUserChoice: (state, action) => {
5084 - const {
5085 - key,
5086 - value
5087 - } = action.payload;
5088 - state.choices[key] = value;
5089 - },
5090 - setUserChoices: (state, action) => {
5091 - state.choices = {
5092 - ...state.choices,
5093 - ...action.payload
5094 - };
5095 - },
5096 - setExitType: (state, action) => {
5097 - state.exitType = action.payload;
5098 - },
5099 - startOnboarding: state => {
5100 - state.startedAt = Date.now();
5101 - state.exitType = null;
5102 - state.hadUnexpectedExit = false;
5103 - },
5104 - completeOnboarding: state => {
5105 - state.exitType = 'user_exit';
5106 - },
5107 - setLoading: (state, action) => {
5108 - state.isLoading = action.payload;
5109 - },
5110 - setError: (state, action) => {
5111 - state.error = action.payload;
5112 - },
5113 - clearUnexpectedExit: state => {
5114 - state.hadUnexpectedExit = false;
5115 - },
5116 - clearResumeStepIdForTracking: state => {
5117 - state.resumeStepIdForTracking = null;
5118 - },
5119 - setConnected: (state, action) => {
5120 - state.isConnected = action.payload;
5121 - },
5122 - setGuest: (state, action) => {
5123 - state.isGuest = action.payload;
5124 - },
5125 - setShouldShowProInstallScreen: (state, action) => {
5126 - state.shouldShowProInstallScreen = action.payload;
5127 - },
5128 - dismissProInstallScreen: state => {
5129 - state.hasProInstallScreenDismissed = true;
5130 - },
5131 - markProInstalled: state => {
5132 - state.hasProInstallScreenDismissed = true;
5133 - state.steps = applyProInstalledSteps(state.steps);
5134 - state.currentStepIndex = 0;
5135 - state.currentStepId = state.steps[0]?.id ?? _types__WEBPACK_IMPORTED_MODULE_1__.StepId.THEME_SELECTION;
5136 - }
5137 - }
5138 -});
5139 -const {
5140 - initFromConfig,
5141 - goToStep,
5142 - goToStepIndex,
5143 - nextStep,
5144 - prevStep,
5145 - completeStep,
5146 - setUserChoice,
5147 - setUserChoices,
5148 - setExitType,
5149 - startOnboarding,
5150 - completeOnboarding,
5151 - setLoading,
5152 - setError,
5153 - clearUnexpectedExit,
5154 - clearResumeStepIdForTracking,
5155 - setConnected,
5156 - setGuest,
5157 - setShouldShowProInstallScreen,
5158 - dismissProInstallScreen,
5159 - markProInstalled
5160 -} = slice.actions;
5161 -function registerOnboardingSlice() {
5162 - (0,_elementor_store__WEBPACK_IMPORTED_MODULE_0__.__registerSlice)(slice);
5163 -}
5164 -
5165 -/***/ }),
5166 -
5167 -/***/ "./packages/apps/onboarding/src/types.ts":
5168 -/*!***********************************************!*\
5169 - !*** ./packages/apps/onboarding/src/types.ts ***!
5170 - \***********************************************/
5171 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5172 -
5173 -__webpack_require__.r(__webpack_exports__);
5174 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5175 -/* harmony export */ StepId: function() { return /* binding */ StepId; }
5176 -/* harmony export */ });
5177 -const StepId = {
5178 - THEME_SELECTION: 'theme_selection',
5179 - SITE_FEATURES: 'site_features'
5180 -};
5181 -
5182 -/***/ }),
5183 -
5184 -/***/ "./packages/apps/onboarding/src/utils/default-strings.ts":
5185 -/*!***************************************************************!*\
5186 - !*** ./packages/apps/onboarding/src/utils/default-strings.ts ***!
5187 - \***************************************************************/
5188 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5189 -
5190 -__webpack_require__.r(__webpack_exports__);
5191 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5192 -/* harmony export */ DEFAULT_STRINGS: function() { return /* binding */ DEFAULT_STRINGS; }
5193 -/* harmony export */ });
5194 -const DEFAULT_STRINGS = {
5195 - 'common.continue': 'Continue',
5196 - 'common.skip': 'Skip',
5197 - 'common.back': 'Back',
5198 - 'common.finish': 'Finish',
5199 - 'common.loading': 'Loading\u2026',
5200 - 'common.upgrade': 'Upgrade',
5201 - 'common.close_onboarding': 'Close onboarding',
5202 - 'common.installed': 'Installed',
5203 - 'common.recommended': 'Recommended',
5204 - 'error.failed_mark_exit': 'Failed to mark user exit.',
5205 - 'error.failed_complete_step': 'Failed to complete step.',
5206 - 'error.pro_install_failed': "Couldn't install Elementor Pro. Please try again later",
5207 - 'error.theme_install_failed': "Theme installation didn't complete. Please try again later",
5208 - 'login.title': "Let's get to work.",
5209 - 'login.sign_in': 'Sign in to Elementor',
5210 - 'login.continue_another_way': 'Continue another way',
5211 - 'login.continue_as_guest': 'Continue as a guest',
5212 - 'steps.building_for.title': 'Who are you building for?',
5213 - 'steps.building_for.greeting_with_name': "Hey %1$s %2$s Let's get your site set up.",
5214 - 'steps.building_for.greeting_without_name': "Hey%s Let's get your site set up.",
5215 - 'steps.building_for.option_myself': 'Myself or someone I know',
5216 - 'steps.building_for.option_business': 'My business or workplace',
5217 - 'steps.building_for.option_client': 'A client',
5218 - 'steps.building_for.option_exploring': 'Just exploring',
5219 - 'steps.site_about.title': 'What is your site about?',
5220 - 'steps.site_about.subtitle': 'Choose anything that applies.',
5221 - 'steps.site_about.option_small_med_business': 'Small-Med Business',
5222 - 'steps.site_about.option_online_store': 'Online store',
5223 - 'steps.site_about.option_company_site': 'Company site',
5224 - 'steps.site_about.option_blog': 'Blog',
5225 - 'steps.site_about.option_landing_page': 'Landing page',
5226 - 'steps.site_about.option_booking': 'Booking',
5227 - 'steps.site_about.option_organization': 'Organization',
5228 - 'steps.site_about.option_other': 'Other',
5229 - 'steps.site_about.greeting_myself': "Got it! We'll keep things simple.",
5230 - 'steps.site_about.greeting_business': "Great! Let's set up your business site.",
5231 - 'steps.site_about.greeting_client': "Nice! Let's create something for your client.",
5232 - 'steps.site_about.greeting_fallback': "Let's get started!",
5233 - 'steps.experience_level.title': 'How experienced are you with Elementor?',
5234 - 'steps.experience_level.subtitle': 'This helps us adjust the editor to your workflow.',
5235 - 'steps.experience_level.option_beginner': "I'm just getting started",
5236 - 'steps.experience_level.option_intermediate': 'I have some experience',
5237 - 'steps.experience_level.option_advanced': "I'm very comfortable with Elementor",
5238 - 'steps.theme_selection.title': 'Start with a theme that fits your needs',
5239 - 'steps.theme_selection.subtitle': 'Hello themes are built to work seamlessly with Elementor.',
5240 - 'steps.theme_selection.v2.title': 'Build faster with Hello Theme',
5241 - 'steps.theme_selection.v2.subtitle': "Use Elementor's lightweight theme for faster setup and full design control.",
5242 - 'steps.theme_selection.aria_label': 'Theme selection',
5243 - 'steps.theme_selection.theme_hello_label': 'Hello',
5244 - 'steps.theme_selection.theme_hello_description': 'A flexible canvas theme you can shape from the ground up',
5245 - 'steps.theme_selection.by_elementor': 'by Elementor',
5246 - 'steps.theme_selection.greeting_beginner': "Glad you're here!",
5247 - 'steps.theme_selection.greeting_default': "Great. Let's take it to the next step",
5248 - 'steps.theme_selection.continue_with_theme': 'Continue with this theme',
5249 - 'steps.theme_selection.v2.continue_with_theme': 'Continue with Hello',
5250 - 'steps.theme_selection.highlight_fast': 'Fast by design',
5251 - 'steps.theme_selection.highlight_responsive': 'Responsive from the start',
5252 - 'steps.theme_selection.highlight_built_for_elementor': 'Built for Elementor',
5253 - 'steps.site_features.title': 'What do you want to include in your site?',
5254 - 'steps.site_features.subtitle': "We'll use this to tailor suggestions for you.",
5255 - 'steps.site_features.continue_with_free': 'Continue with Free',
5256 - 'steps.site_features.option_classes_variables': 'Design system',
5257 - 'steps.site_features.option_interactions': 'Interactions',
5258 - 'steps.site_features.option_cookie_consent': 'Cookie Consent',
5259 - 'steps.site_features.option_theme_builder': 'Theme builder',
5260 - 'steps.site_features.option_lead_collection': 'Forms & leads',
5261 - 'steps.site_features.option_custom_code': 'Custom Code',
5262 - 'steps.site_features.option_email_deliverability': 'Email deliverability',
5263 - 'steps.site_features.option_ai_generator': 'AI tools',
5264 - 'steps.site_features.option_image_optimization': 'Image optimization',
5265 - 'steps.site_features.option_accessibility_tools': 'Accessibility',
5266 - 'steps.site_features.included': 'Included',
5267 - 'steps.site_features.plan_recommendation_one': 'Nice picks 🙂 Elementor One has you covered.',
5268 - 'steps.site_features.plan_recommendation_pro': 'Advanced tools? Elementor Pro includes them.',
5269 - 'steps.site_features.compare_plans': 'View plans',
5270 - 'pro_install.title': 'You already have a Pro subscription',
5271 - 'pro_install.subtitle': 'Would you like to install it on this site now?',
5272 - 'pro_install.installing': 'Installing Elementor Pro\u2026',
5273 - 'pro_install.installing_short': 'Installing\u2026',
5274 - 'pro_install.install_button': 'Install Pro on this site',
5275 - 'pro_install.logo_alt': 'Elementor + Elementor Pro',
5276 - 'pro_install.do_it_later': "I'll do it later",
5277 - 'completion.title': 'Getting things ready',
5278 - 'completion.subtitle': 'Tailoring the editor to your goals and workflow\u2026'
5279 -};
5280 -
5281 -/***/ }),
5282 -
5283 -/***/ "./packages/apps/onboarding/src/utils/get-config.ts":
5284 -/*!**********************************************************!*\
5285 - !*** ./packages/apps/onboarding/src/utils/get-config.ts ***!
5286 - \**********************************************************/
5287 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5288 -
5289 -__webpack_require__.r(__webpack_exports__);
5290 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5291 -/* harmony export */ getConfig: function() { return /* binding */ getConfig; }
5292 -/* harmony export */ });
5293 -function getConfig() {
5294 - return window.elementorAppConfig?.onboarding ?? null;
5295 -}
5296 -
5297 -/***/ }),
5298 -
5299 -/***/ "./packages/apps/onboarding/src/utils/retry.ts":
5300 -/*!*****************************************************!*\
5301 - !*** ./packages/apps/onboarding/src/utils/retry.ts ***!
5302 - \*****************************************************/
5303 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5304 -
5305 -__webpack_require__.r(__webpack_exports__);
5306 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5307 -/* harmony export */ withRetry: function() { return /* binding */ withRetry; }
5308 -/* harmony export */ });
5309 -async function withRetry(fn, maxRetries = 1, delayMs = 1000) {
5310 - let lastError = new Error('withRetry: all attempts failed');
5311 - for (let attempt = 0; attempt <= maxRetries; attempt++) {
5312 - try {
5313 - return await fn();
5314 - } catch (error) {
5315 - lastError = error instanceof Error ? error : new Error(String(error));
5316 - if (attempt < maxRetries) {
5317 - await new Promise(r => setTimeout(r, delayMs));
5318 - }
5319 - }
5320 - }
5321 - throw lastError;
5322 -}
5323 -
5324 -/***/ }),
5325 -
5326 -/***/ "./packages/apps/onboarding/src/utils/translations.ts":
5327 -/*!************************************************************!*\
5328 - !*** ./packages/apps/onboarding/src/utils/translations.ts ***!
5329 - \************************************************************/
5330 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5331 -
5332 -__webpack_require__.r(__webpack_exports__);
5333 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5334 -/* harmony export */ t: function() { return /* binding */ t; }
5335 -/* harmony export */ });
5336 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
5337 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
5338 -/* harmony import */ var _default_strings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./default-strings */ "./packages/apps/onboarding/src/utils/default-strings.ts");
5339 -
5340 -
5341 -const t = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createTranslate)({
5342 - configKey: 'onboarding',
5343 - defaultStrings: _default_strings__WEBPACK_IMPORTED_MODULE_1__.DEFAULT_STRINGS
5344 -});
5345 -
5346 -/***/ }),
5347 -
5348 -/***/ "@elementor/events":
5349 -/*!*****************************************!*\
5350 - !*** external ["elementorV2","events"] ***!
5351 - \*****************************************/
5352 -/***/ (function(module) {
5353 -
5354 -module.exports = window["elementorV2"]["events"];
5355 -
5356 -/***/ }),
5357 -
5358 -/***/ "@elementor/icons":
5359 -/*!****************************************!*\
5360 - !*** external ["elementorV2","icons"] ***!
5361 - \****************************************/
5362 -/***/ (function(module) {
5363 -
5364 -module.exports = window["elementorV2"]["icons"];
5365 -
5366 -/***/ }),
5367 -
5368 -/***/ "@elementor/query":
5369 -/*!****************************************!*\
5370 - !*** external ["elementorV2","query"] ***!
5371 - \****************************************/
5372 -/***/ (function(module) {
5373 -
5374 -module.exports = window["elementorV2"]["query"];
5375 -
5376 -/***/ }),
5377 -
5378 -/***/ "@elementor/store":
5379 -/*!****************************************!*\
5380 - !*** external ["elementorV2","store"] ***!
5381 - \****************************************/
5382 -/***/ (function(module) {
5383 -
5384 -module.exports = window["elementorV2"]["store"];
5385 -
5386 -/***/ }),
5387 -
5388 -/***/ "@elementor/ui":
5389 -/*!*************************************!*\
5390 - !*** external ["elementorV2","ui"] ***!
5391 - \*************************************/
5392 -/***/ (function(module) {
5393 -
5394 -module.exports = window["elementorV2"]["ui"];
5395 -
5396 -/***/ }),
5397 -
5398 -/***/ "@elementor/utils":
5399 -/*!****************************************!*\
5400 - !*** external ["elementorV2","utils"] ***!
5401 - \****************************************/
5402 -/***/ (function(module) {
5403 -
5404 -module.exports = window["elementorV2"]["utils"];
5405 -
5406 -/***/ }),
5407 -
5408 -/***/ "react":
5409 -/*!**************************!*\
5410 - !*** external ["React"] ***!
5411 - \**************************/
5412 -/***/ (function(module) {
5413 -
5414 -module.exports = window["React"];
5415 -
5416 -/***/ })
5417 -
5418 -/******/ });
5419 -/************************************************************************/
5420 -/******/ // The module cache
5421 -/******/ var __webpack_module_cache__ = {};
5422 -/******/
5423 -/******/ // The require function
5424 -/******/ function __webpack_require__(moduleId) {
5425 -/******/ // Check if module is in cache
5426 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
5427 -/******/ if (cachedModule !== undefined) {
5428 -/******/ return cachedModule.exports;
5429 -/******/ }
5430 -/******/ // Create a new module (and put it into the cache)
5431 -/******/ var module = __webpack_module_cache__[moduleId] = {
5432 -/******/ // no module.id needed
5433 -/******/ // no module.loaded needed
5434 -/******/ exports: {}
5435 -/******/ };
5436 -/******/
5437 -/******/ // Execute the module function
5438 -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
5439 -/******/
5440 -/******/ // Return the exports of the module
5441 -/******/ return module.exports;
5442 -/******/ }
5443 -/******/
5444 -/************************************************************************/
5445 -/******/ /* webpack/runtime/compat get default export */
5446 -/******/ !function() {
5447 -/******/ // getDefaultExport function for compatibility with non-harmony modules
5448 -/******/ __webpack_require__.n = function(module) {
5449 -/******/ var getter = module && module.__esModule ?
5450 -/******/ function() { return module['default']; } :
5451 -/******/ function() { return module; };
5452 -/******/ __webpack_require__.d(getter, { a: getter });
5453 -/******/ return getter;
5454 -/******/ };
5455 -/******/ }();
5456 -/******/
5457 -/******/ /* webpack/runtime/define property getters */
5458 -/******/ !function() {
5459 -/******/ // define getter functions for harmony exports
5460 -/******/ __webpack_require__.d = function(exports, definition) {
5461 -/******/ for(var key in definition) {
5462 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
5463 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
5464 -/******/ }
5465 -/******/ }
5466 -/******/ };
5467 -/******/ }();
5468 -/******/
5469 -/******/ /* webpack/runtime/hasOwnProperty shorthand */
5470 -/******/ !function() {
5471 -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
5472 -/******/ }();
5473 -/******/
5474 -/******/ /* webpack/runtime/make namespace object */
5475 -/******/ !function() {
5476 -/******/ // define __esModule on exports
5477 -/******/ __webpack_require__.r = function(exports) {
5478 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
5479 -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5480 -/******/ }
5481 -/******/ Object.defineProperty(exports, '__esModule', { value: true });
5482 -/******/ };
5483 -/******/ }();
5484 -/******/
5485 -/************************************************************************/
5486 -var __webpack_exports__ = {};
5487 -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
5488 -!function() {
5489 -/*!***********************************************!*\
5490 - !*** ./packages/apps/onboarding/src/index.ts ***!
5491 - \***********************************************/
5492 -__webpack_require__.r(__webpack_exports__);
5493 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5494 -/* harmony export */ App: function() { return /* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_0__.App; }
5495 -/* harmony export */ });
5496 -/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components */ "./packages/apps/onboarding/src/components/index.ts");
5497 -
5498 -}();
5499 -(window.elementorV2 = window.elementorV2 || {}).onboarding = __webpack_exports__;
5500 -/******/ })()
5501 -;
3253 +//#endregion
3254 +})(React, elementorV2.query, elementorV2.store, elementorV2.ui, elementorV2.events, elementorV2.utils, elementorV2.icons);
5502 3255 window.elementorV2.onboarding?.init?.();
5503 3256 //# sourceMappingURL=onboarding.js.map