PluginProbe ʕ •ᴥ•ʔ
Elementor Website Builder – more than just a page builder / 3.6.0-beta5
Elementor Website Builder – more than just a page builder v3.6.0-beta5
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 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.22.0-dev1 4.0.0-beta3 3.22.0-dev2 4.0.0-beta4 3.22.0-dev3 4.0.0-beta5 3.22.0-dev4 4.0.0-dev1 3.22.0-dev5 4.0.0-dev2 3.22.0-dev6 4.0.0-dev3 3.22.1 4.0.0-dev4 3.22.2 4.0.0-dev5 3.22.3 4.0.1 3.23.0 4.0.2 3.23.0-beta1 3.23.0-beta2 3.23.0-beta3 3.23.0-beta4 3.23.0-beta5 3.23.0-beta6 3.23.0-dev1 3.23.0-dev2 3.23.0-dev3 3.23.0-dev4 3.23.0-dev5 3.23.0-dev6 3.23.1 3.23.2 3.23.3 3.23.4 3.24.0 3.24.0-beta1 3.24.0-beta2 3.24.0-beta3 3.24.0-dev1 3.24.0-dev2 3.24.0-dev3 3.24.1 3.24.2 3.24.3 3.24.4 3.24.5 3.24.6 3.24.7 3.24.8 3.25.0 3.25.0-beta1 3.25.0-beta2 3.25.0-beta3 3.25.0-dev1 3.25.0-dev2 3.25.0-dev3 3.25.1 3.25.10 3.25.11 3.25.2 3.25.3 3.25.4 3.25.5 3.25.6 3.25.7 3.25.8 3.25.9 3.26.0 3.26.0-beta1 3.26.0-beta2 3.26.0-beta3 3.26.0-beta4 3.26.0-beta5 3.26.0-dev1 3.26.0-dev2 3.26.0-dev3 3.26.0-dev4 3.26.0-dev5 3.26.1 3.26.2 3.26.3 3.26.4 3.26.5 3.27.0 3.27.0-beta1 3.27.0-beta2 3.27.0-dev1 3.27.0-dev2 3.27.1 3.27.2 3.27.3 3.27.4 3.27.5 3.27.6 3.27.7 3.28.0 3.28.0-beta1 3.28.0-beta2 3.28.0-beta3 3.28.0-dev1 3.28.0-dev2 3.28.0-dev3 3.28.1 3.28.2 3.28.3 3.28.4 3.29.0 3.29.0-beta1 trunk 3.29.0-beta2 3.0.0 3.29.0-beta3 3.0.1 3.29.0-beta4 3.0.10 3.29.0-dev1 3.0.11 3.29.0-dev2 3.0.12 3.29.0-dev3 3.0.13 3.29.0-dev4 3.0.14 3.29.1 3.0.15 3.29.2 3.0.16 3.3.0 3.0.2 3.3.1 3.0.3 3.30.0 3.0.4 3.30.0-beta1 3.0.5 3.30.0-beta2 3.0.6 3.30.0-beta3 3.0.7 3.30.0-dev1 3.0.8 3.30.0-dev2 3.0.8.1 3.30.0-dev3 3.0.9 3.30.1 3.1.0 3.30.2 3.1.0-beta1 3.30.3 3.1.0-beta2 3.30.4 3.1.0-beta3 3.31.0 3.1.0-beta4 3.31.0-beta1 3.1.0-dev1 3.31.0-beta2 3.1.0-dev2 3.31.0-dev1 3.1.0-dev3 3.31.0-dev2 3.1.1 3.31.1 3.1.2 3.31.2 3.1.3 3.31.3 3.1.4 3.31.4 3.10.0 3.31.5 3.10.0-dev1 3.32.0 3.10.1 3.32.0-beta1 3.10.2 3.32.0-beta2 3.11.0 3.32.0-beta3 3.11.0-beta1 3.32.0-dev1 3.11.0-beta2 3.32.0-dev2 3.11.0-beta3 3.32.0-dev3 3.11.0-dev1 3.32.1 3.11.0-dev2 3.32.2 3.11.0-dev3 3.32.3 3.11.1 3.32.4 3.11.2 3.32.5 3.11.3 3.33.0 3.11.4 3.33.0-beta1 3.11.5 3.33.0-beta2 3.12.0 3.33.0-beta3 3.12.1 3.33.0-beta4 3.12.2 3.33.0-dev1 3.13.0 3.33.0-dev2 3.13.0-beta1 3.33.0-dev3 3.13.0-beta2 3.33.0-dev4 3.13.0-beta3 3.33.1 3.13.0-dev3 3.33.2 3.13.0-dev4 3.33.3 3.13.1 3.33.4 3.13.2 3.33.5 3.13.3 3.33.6 3.13.4 3.34.0 3.14.0 3.34.0-beta1 3.14.0-beta1 3.34.0-beta2 3.14.0-beta2 3.34.0-beta3 3.14.0-beta3 3.34.0-dev1 3.14.0-beta4 3.34.0-dev2 3.14.0-beta5 3.34.1 3.14.1 3.34.2 3.15.0 3.34.3 3.15.1 3.34.4 3.15.2 3.35.0 3.15.3 3.35.0-beta1 3.16.0 3.35.0-beta2 3.16.0-beta3 3.35.0-beta3 3.16.0-beta4 3.35.0-beta4 3.16.0-dev1 3.35.0-dev1 3.16.0-dev2 3.35.0-dev2 3.16.1 3.35.0-dev3 3.16.2 3.35.0-dev4 3.16.3 3.35.1 3.16.4 3.35.2 3.16.5 3.35.3 3.16.6 3.35.4 3.17.0 3.35.5 3.17.0-dev2 3.35.6 3.17.0-dev3 3.35.7 3.17.0-dev4 3.35.8 3.17.1 3.35.9 3.17.2 3.4.0 3.17.3 3.4.0-dev7 3.18.0 3.4.0-dev8 3.18.0-beta1 3.4.0-dev9 3.18.0-beta2 3.4.1 3.18.0-beta3 3.4.2 3.18.0-beta4 3.4.3 3.18.0-dev1 3.4.4 3.18.1 3.4.5 3.18.2 3.4.6 3.18.3 3.4.7 3.19.0 3.4.8 3.19.0-beta1 3.5.0 3.19.0-beta2 3.5.0-beta1 3.19.0-beta3 3.5.0-beta2 3.19.0-beta4 3.5.0-beta3 3.19.0-beta5 3.5.0-beta4 3.19.0-beta6 3.5.0-beta5 3.19.0-dev1 3.5.0-beta7 3.19.0-dev2 3.5.0-beta8 3.19.0-dev3 3.5.0-dev8 3.19.0-dev4 3.5.0-dev9 3.19.0-dev5 3.5.1 3.19.0-dev6 3.5.2 3.19.1 3.5.3 3.19.2 3.5.4 3.19.3 3.5.5 3.19.4 3.5.6 3.2.0 3.6.0 3.2.1 3.6.0-beta1 3.2.2 3.6.0-beta2 3.2.3 3.6.0-beta3 3.2.4 3.6.0-beta4 3.2.5 3.6.0-beta5 3.20.0 3.6.0-dev1 3.20.0-beta1 3.6.0-dev10 3.20.0-beta2 3.6.1 3.20.0-beta3 3.6.2 3.20.0-beta4 3.6.3 3.20.0-dev1 3.6.4 3.20.0-dev2 3.6.5 3.20.0-dev3 3.6.6 3.20.0-dev4 3.6.7 3.20.1 3.6.8 3.20.2 3.7.0 3.20.3 3.7.0-beta1 3.20.4 3.7.0-beta2 3.21.0 3.7.0-beta3 3.21.0-beta1 3.7.0-beta4 3.21.0-beta2 3.7.0-dev1 3.21.0-beta3 3.7.1 3.21.0-dev1 3.7.2 3.21.0-dev2 3.7.3 3.21.0-dev3 3.7.4 3.21.1 3.7.5 3.21.2 3.7.6 3.21.3 3.7.7 3.21.4 3.7.8 3.21.5 3.8.0 3.21.6 3.8.0-beta1 3.21.7 3.8.0-beta2 3.21.8 3.8.0-beta3 3.22.0 3.8.1 3.22.0-beta1 3.9.0 3.22.0-beta2 3.9.1 3.22.0-beta3 3.9.2 3.22.0-beta4 4.0.0 3.22.0-beta5 4.0.0-beta1 3.22.0-beta6 4.0.0-beta2
elementor / assets / js / kit-library.4b8e9bb062f992326c78.bundle.js
elementor / assets / js Last commit date
accordion.1840403ce81de408c749.bundle.min.js 4 years ago accordion.a037e351fac33e9c9dfc.bundle.js 4 years ago admin-feedback.js 4 years ago admin-feedback.min.js 4 years ago admin-modules.js 4 years ago admin-modules.min.js 4 years ago admin-top-bar.js 4 years ago admin-top-bar.min.js 4 years ago admin.js 4 years ago admin.min.js 4 years ago alert.85332a4bfb582d516461.bundle.js 4 years ago alert.cbc2a0fee74ee3ed0419.bundle.min.js 4 years ago app-loader.js 4 years ago app-loader.min.js 4 years ago app-packages.js 4 years ago app-packages.min.js 4 years ago app.js 4 years ago app.min.js 4 years ago app.min.js.LICENSE.txt 4 years ago b5be57139d4edd0d5633.bundle.js 4 years ago beta-tester.js 4 years ago beta-tester.min.js 4 years ago common-modules.js 4 years ago common-modules.min.js 4 years ago common.js 4 years ago common.min.js 4 years ago container-converter.js 4 years ago container-converter.min.js 4 years ago container.e026b16a99db8a3987c9.bundle.min.js 4 years ago container.f3a37a5bf3c787312748.bundle.js 4 years ago counter.02cef29c589e742d4c8c.bundle.min.js 4 years ago counter.c75eea9549b9f8026ad8.bundle.js 4 years ago editor-document.js 4 years ago editor-document.min.js 4 years ago editor-modules.js 4 years ago editor-modules.min.js 4 years ago editor.js 4 years ago editor.min.js 4 years ago elementor-admin-bar.js 4 years ago elementor-admin-bar.min.js 4 years ago fe4cf752908671676148.bundle.min.js 4 years ago frontend-modules.js 4 years ago frontend-modules.min.js 4 years ago frontend.js 4 years ago frontend.min.js 4 years ago gutenberg.js 4 years ago gutenberg.min.js 4 years ago image-carousel.b69ea9450ea7e942e017.bundle.js 4 years ago image-carousel.db284b09c0f8a8f1c44d.bundle.min.js 4 years ago kit-library.4a93dd22359db6c3e7f9.bundle.min.js 4 years ago kit-library.4b8e9bb062f992326c78.bundle.js 4 years ago lightbox.2b2c155d6ec60974d8c4.bundle.min.js 4 years ago lightbox.fe7d7981b2527f42f605.bundle.js 4 years ago new-template.js 4 years ago new-template.min.js 4 years ago onboarding.6a289d52dcf568139a7d.bundle.min.js 4 years ago onboarding.eff243c8052ee52943bc.bundle.js 4 years ago preloaded-modules.js 4 years ago preloaded-modules.min.js 4 years ago progress.62211c8098d91fc19c5f.bundle.js 4 years ago progress.ca55d33bb06cee4e6f02.bundle.min.js 4 years ago tabs.37d5b4877cdb51ea91e9.bundle.min.js 4 years ago tabs.973c14c2ee401e66e192.bundle.js 4 years ago text-editor.289ae80d76f0c5abea44.bundle.min.js 4 years ago text-editor.533215eb763ebfb3a70c.bundle.js 4 years ago text-path.15d47ed8e5e3031f9610.bundle.js 4 years ago text-path.9f18ebdea5ac00d653e5.bundle.min.js 4 years ago toggle.56f8ace4b1e830c02fc5.bundle.min.js 4 years ago toggle.66e1aea86557ee6b7fd9.bundle.js 4 years ago video.255c225d20f04576d1bf.bundle.js 4 years ago video.d86bfd0676264945e968.bundle.min.js 4 years ago web-cli.js 4 years ago web-cli.min.js 4 years ago webpack.runtime.js 4 years ago webpack.runtime.min.js 4 years ago wp-audio.75f0ced143febb8cd31a.bundle.min.js 4 years ago wp-audio.8d458e51b4543ed99c04.bundle.js 4 years ago
kit-library.4b8e9bb062f992326c78.bundle.js
4688 lines
1 /*! elementor - v3.5.6 - 21-03-2022 */
2 (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["kit-library"],{
3
4 /***/ "../core/app/modules/kit-library/assets/js/components/badge.scss":
5 /*!***********************************************************************!*\
6 !*** ../core/app/modules/kit-library/assets/js/components/badge.scss ***!
7 \***********************************************************************/
8 /***/ (() => {
9
10
11
12 /***/ }),
13
14 /***/ "../core/app/modules/kit-library/assets/js/components/collapse.scss":
15 /*!**************************************************************************!*\
16 !*** ../core/app/modules/kit-library/assets/js/components/collapse.scss ***!
17 \**************************************************************************/
18 /***/ (() => {
19
20
21
22 /***/ }),
23
24 /***/ "../core/app/modules/kit-library/assets/js/components/envato-promotion.scss":
25 /*!**********************************************************************************!*\
26 !*** ../core/app/modules/kit-library/assets/js/components/envato-promotion.scss ***!
27 \**********************************************************************************/
28 /***/ (() => {
29
30
31
32 /***/ }),
33
34 /***/ "../core/app/modules/kit-library/assets/js/components/error-screen.scss":
35 /*!******************************************************************************!*\
36 !*** ../core/app/modules/kit-library/assets/js/components/error-screen.scss ***!
37 \******************************************************************************/
38 /***/ (() => {
39
40
41
42 /***/ }),
43
44 /***/ "../core/app/modules/kit-library/assets/js/components/favorites-actions.scss":
45 /*!***********************************************************************************!*\
46 !*** ../core/app/modules/kit-library/assets/js/components/favorites-actions.scss ***!
47 \***********************************************************************************/
48 /***/ (() => {
49
50
51
52 /***/ }),
53
54 /***/ "../core/app/modules/kit-library/assets/js/components/filter-indication-text.scss":
55 /*!****************************************************************************************!*\
56 !*** ../core/app/modules/kit-library/assets/js/components/filter-indication-text.scss ***!
57 \****************************************************************************************/
58 /***/ (() => {
59
60
61
62 /***/ }),
63
64 /***/ "../core/app/modules/kit-library/assets/js/components/item-header.scss":
65 /*!*****************************************************************************!*\
66 !*** ../core/app/modules/kit-library/assets/js/components/item-header.scss ***!
67 \*****************************************************************************/
68 /***/ (() => {
69
70
71
72 /***/ }),
73
74 /***/ "../core/app/modules/kit-library/assets/js/components/kit-list-item.scss":
75 /*!*******************************************************************************!*\
76 !*** ../core/app/modules/kit-library/assets/js/components/kit-list-item.scss ***!
77 \*******************************************************************************/
78 /***/ (() => {
79
80
81
82 /***/ }),
83
84 /***/ "../core/app/modules/kit-library/assets/js/components/layout/header-back-button.scss":
85 /*!*******************************************************************************************!*\
86 !*** ../core/app/modules/kit-library/assets/js/components/layout/header-back-button.scss ***!
87 \*******************************************************************************************/
88 /***/ (() => {
89
90
91
92 /***/ }),
93
94 /***/ "../core/app/modules/kit-library/assets/js/components/page-loader.scss":
95 /*!*****************************************************************************!*\
96 !*** ../core/app/modules/kit-library/assets/js/components/page-loader.scss ***!
97 \*****************************************************************************/
98 /***/ (() => {
99
100
101
102 /***/ }),
103
104 /***/ "../core/app/modules/kit-library/assets/js/components/search-input.scss":
105 /*!******************************************************************************!*\
106 !*** ../core/app/modules/kit-library/assets/js/components/search-input.scss ***!
107 \******************************************************************************/
108 /***/ (() => {
109
110
111
112 /***/ }),
113
114 /***/ "../core/app/modules/kit-library/assets/js/components/sort-select.scss":
115 /*!*****************************************************************************!*\
116 !*** ../core/app/modules/kit-library/assets/js/components/sort-select.scss ***!
117 \*****************************************************************************/
118 /***/ (() => {
119
120
121
122 /***/ }),
123
124 /***/ "../core/app/modules/kit-library/assets/js/components/tags-filter.scss":
125 /*!*****************************************************************************!*\
126 !*** ../core/app/modules/kit-library/assets/js/components/tags-filter.scss ***!
127 \*****************************************************************************/
128 /***/ (() => {
129
130
131
132 /***/ }),
133
134 /***/ "../core/app/modules/kit-library/assets/js/pages/index/index-header.scss":
135 /*!*******************************************************************************!*\
136 !*** ../core/app/modules/kit-library/assets/js/pages/index/index-header.scss ***!
137 \*******************************************************************************/
138 /***/ (() => {
139
140
141
142 /***/ }),
143
144 /***/ "../core/app/modules/kit-library/assets/js/pages/index/index.scss":
145 /*!************************************************************************!*\
146 !*** ../core/app/modules/kit-library/assets/js/pages/index/index.scss ***!
147 \************************************************************************/
148 /***/ (() => {
149
150
151
152 /***/ }),
153
154 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.scss":
155 /*!**************************************************************************************!*\
156 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.scss ***!
157 \**************************************************************************************/
158 /***/ (() => {
159
160
161
162 /***/ }),
163
164 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview.scss":
165 /*!******************************************************************************!*\
166 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview.scss ***!
167 \******************************************************************************/
168 /***/ (() => {
169
170
171
172 /***/ }),
173
174 /***/ "../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.scss":
175 /*!************************************************************************************************!*\
176 !*** ../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.scss ***!
177 \************************************************************************************************/
178 /***/ (() => {
179
180
181
182 /***/ }),
183
184 /***/ "../core/app/modules/kit-library/assets/js/pages/preview/preview.scss":
185 /*!****************************************************************************!*\
186 !*** ../core/app/modules/kit-library/assets/js/pages/preview/preview.scss ***!
187 \****************************************************************************/
188 /***/ (() => {
189
190
191
192 /***/ }),
193
194 /***/ "../core/app/assets/js/ui/popover-dialog/popover-dialog.js":
195 /*!*****************************************************************!*\
196 !*** ../core/app/assets/js/ui/popover-dialog/popover-dialog.js ***!
197 \*****************************************************************/
198 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
199
200 "use strict";
201 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
202
203
204 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
205
206 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
207
208 _Object$defineProperty(exports, "__esModule", {
209 value: true
210 });
211
212 exports["default"] = PopoverDialog;
213
214 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
215
216 function PopoverDialog(props) {
217 var targetRef = props.targetRef,
218 offsetTop = props.offsetTop,
219 offsetLeft = props.offsetLeft,
220 wrapperClass = props.wrapperClass,
221 trigger = props.trigger,
222 hideAfter = props.hideAfter,
223 popoverRef = (0, _react.useCallback)(function (popoverEl) {
224 var target = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
225
226 if (!target) {
227 return;
228 }
229 /**
230 * Show Popover
231 */
232
233
234 /**
235 * Show Popover
236 */
237 var showPopover = function showPopover() {
238 popoverEl.style.display = 'block';
239 popoverEl.setAttribute('aria-expanded', true);
240 var targetRect = target.getBoundingClientRect(),
241 popoverRect = popoverEl.getBoundingClientRect(),
242 widthDifference = popoverRect.width - targetRect.width;
243 popoverEl.style.top = targetRect.bottom + offsetTop + 'px';
244 popoverEl.style.left = targetRect.left - widthDifference / 2 - offsetLeft + 'px'; // 16px to compensate for the arrow width.
245
246 // 16px to compensate for the arrow width.
247 popoverEl.style.setProperty('--popover-arrow-offset-end', (popoverRect.width - 16) / 2 + 'px');
248 };
249 /**
250 * Hide Popover
251 */
252
253
254 /**
255 * Hide Popover
256 */
257 var hidePopover = function hidePopover() {
258 popoverEl.style.display = 'none';
259 popoverEl.setAttribute('aria-expanded', false);
260 };
261 /**
262 * Handle the Popover's hover functionality
263 */
264
265
266 /**
267 * Handle the Popover's hover functionality
268 */
269 var handlePopoverHover = function handlePopoverHover() {
270 var hideOnMouseOut = true,
271 timeOut = null; // Show popover on hover of the target
272
273 // Show popover on hover of the target
274 target.addEventListener('mouseover', function () {
275 hideOnMouseOut = true;
276 showPopover();
277 }); // Hide popover when not overing over the target or the popover itself
278
279 // Hide popover when not overing over the target or the popover itself
280 target.addEventListener('mouseleave', function () {
281 timeOut = setTimeout(function () {
282 if (hideOnMouseOut) {
283 if ('block' === popoverEl.style.display) {
284 hidePopover();
285 }
286 }
287 }, hideAfter);
288 }); // Don't hide the popover if the user is still hovering over it.
289
290 // Don't hide the popover if the user is still hovering over it.
291 popoverEl.addEventListener('mouseover', function () {
292 hideOnMouseOut = false;
293
294 if (timeOut) {
295 clearTimeout(timeOut);
296 timeOut = null;
297 }
298 }); // Once the user stops hovering over the popover, hide it.
299
300 // Once the user stops hovering over the popover, hide it.
301 popoverEl.addEventListener('mouseleave', function () {
302 timeOut = setTimeout(function () {
303 if (hideOnMouseOut) {
304 if ('block' === popoverEl.style.display) {
305 hidePopover();
306 }
307 }
308 }, hideAfter);
309 hideOnMouseOut = true;
310 });
311 };
312 /**
313 * Handle the Popover's click functionality
314 */
315
316
317 /**
318 * Handle the Popover's click functionality
319 */
320 var handlePopoverClick = function handlePopoverClick() {
321 var popoverIsActive = false;
322 target.addEventListener('click', function (e) {
323 e.preventDefault();
324 e.stopPropagation();
325
326 if (popoverIsActive) {
327 hidePopover();
328 popoverIsActive = false;
329 } else {
330 showPopover();
331 popoverIsActive = true;
332 }
333 }); // Make sure the popover doesn't close when it is clicked on.
334
335 // Make sure the popover doesn't close when it is clicked on.
336 popoverEl.addEventListener('click', function (e) {
337 e.stopPropagation();
338 }); // Hide the popover when clicking outside of it.
339
340 // Hide the popover when clicking outside of it.
341 document.body.addEventListener('click', function () {
342 if (popoverIsActive) {
343 hidePopover();
344 popoverIsActive = false;
345 }
346 });
347 };
348
349 if ('hover' === trigger) {
350 handlePopoverHover();
351 } else if ('click' === trigger) {
352 handlePopoverClick();
353 }
354 }, [targetRef]);
355 var wrapperClasses = 'e-app__popover';
356
357 if (wrapperClass) {
358 wrapperClasses += ' ' + wrapperClass;
359 }
360
361 return /*#__PURE__*/_react.default.createElement("div", {
362 className: wrapperClasses,
363 ref: popoverRef
364 }, props.children);
365 }
366
367 PopoverDialog.propTypes = {
368 targetRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
369 current: PropTypes.any
370 })]).isRequired,
371 trigger: PropTypes.string,
372 direction: PropTypes.string,
373 offsetTop: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
374 offsetLeft: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
375 wrapperClass: PropTypes.string,
376 children: PropTypes.any,
377 hideAfter: PropTypes.number
378 };
379 PopoverDialog.defaultProps = {
380 direction: 'bottom',
381 trigger: 'hover',
382 offsetTop: 10,
383 offsetLeft: 0,
384 hideAfter: 300
385 };
386
387 /***/ }),
388
389 /***/ "../core/app/modules/kit-library/assets/js/app.js":
390 /*!********************************************************!*\
391 !*** ../core/app/modules/kit-library/assets/js/app.js ***!
392 \********************************************************/
393 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
394
395 "use strict";
396
397
398 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
399
400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
401
402 _Object$defineProperty(exports, "__esModule", {
403 value: true
404 });
405
406 exports["default"] = App;
407
408 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
409
410 var _favorites = _interopRequireDefault(__webpack_require__(/*! ./pages/favorites/favorites */ "../core/app/modules/kit-library/assets/js/pages/favorites/favorites.js"));
411
412 var _index = _interopRequireDefault(__webpack_require__(/*! ./pages/index */ "../core/app/modules/kit-library/assets/js/pages/index/index.js"));
413
414 var _overview = _interopRequireDefault(__webpack_require__(/*! ./pages/overview/overview */ "../core/app/modules/kit-library/assets/js/pages/overview/overview.js"));
415
416 var _preview = _interopRequireDefault(__webpack_require__(/*! ./pages/preview/preview */ "../core/app/modules/kit-library/assets/js/pages/preview/preview.js"));
417
418 var _lastFilterContext = __webpack_require__(/*! ./context/last-filter-context */ "../core/app/modules/kit-library/assets/js/context/last-filter-context.js");
419
420 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
421
422 var _devtools = __webpack_require__(/*! react-query/devtools */ "../node_modules/react-query/devtools/index.js");
423
424 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
425
426 var _settingsContext = __webpack_require__(/*! ./context/settings-context */ "../core/app/modules/kit-library/assets/js/context/settings-context.js");
427
428 var queryClient = new _reactQuery.QueryClient({
429 defaultOptions: {
430 queries: {
431 refetchOnWindowFocus: false,
432 retry: false,
433 staleTime: 1000 * 60 * 30 // 30 minutes
434
435 }
436 }
437 });
438
439 function App() {
440 return /*#__PURE__*/_react.default.createElement("div", {
441 className: "e-kit-library"
442 }, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
443 client: queryClient
444 }, /*#__PURE__*/_react.default.createElement(_settingsContext.SettingsProvider, {
445 value: elementorAppConfig['kit-library']
446 }, /*#__PURE__*/_react.default.createElement(_lastFilterContext.LastFilterProvider, null, /*#__PURE__*/_react.default.createElement(_router.Router, null, /*#__PURE__*/_react.default.createElement(_index.default, {
447 path: "/"
448 }), /*#__PURE__*/_react.default.createElement(_favorites.default, {
449 path: "/favorites"
450 }), /*#__PURE__*/_react.default.createElement(_preview.default, {
451 path: "/preview/:id"
452 }), /*#__PURE__*/_react.default.createElement(_overview.default, {
453 path: "/overview/:id"
454 })))), elementorCommon.config.isElementorDebug && /*#__PURE__*/_react.default.createElement(_devtools.ReactQueryDevtools, {
455 initialIsOpen: false
456 })));
457 }
458
459 /***/ }),
460
461 /***/ "../core/app/modules/kit-library/assets/js/components/apply-kit-dialog.js":
462 /*!********************************************************************************!*\
463 !*** ../core/app/modules/kit-library/assets/js/components/apply-kit-dialog.js ***!
464 \********************************************************************************/
465 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
466
467 "use strict";
468 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
469 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
470
471
472 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
473
474 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
475
476 _Object$defineProperty(exports, "__esModule", {
477 value: true
478 });
479
480 exports["default"] = ApplyKitDialog;
481
482 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
483
484 __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js");
485
486 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
487
488 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
489
490 function ApplyKitDialog(props) {
491 var navigate = (0, _router.useNavigate)();
492 var startImportProcess = (0, _react.useCallback)(function () {
493 var applyAll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
494 var url = '/import/process' + "?file_url=".concat(encodeURIComponent(props.downloadLink)) + "&nonce=".concat(props.nonce, "&referrer=kit-library");
495
496 if (applyAll) {
497 url += '&action_type=apply-all';
498 }
499
500 navigate(url);
501 }, [props.downloadLink, props.nonce]);
502 return /*#__PURE__*/_react.default.createElement(_appUi.Dialog, {
503 title: __('Apply %s?', 'elementor').replace('%s', props.title),
504 text: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, __('You can use everything in this kit, or Customize to only include some items.', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), __('By applying the entire kit, you\'ll override any styles, settings or content already on your site.', 'elementor')),
505 approveButtonText: __('Apply All', 'elementor'),
506 approveButtonColor: "primary",
507 approveButtonOnClick: function approveButtonOnClick() {
508 return startImportProcess(true);
509 },
510 dismissButtonText: __('Customize', 'elementor'),
511 dismissButtonOnClick: function dismissButtonOnClick() {
512 return startImportProcess(false);
513 },
514 onClose: props.onClose
515 });
516 }
517
518 ApplyKitDialog.propTypes = {
519 downloadLink: PropTypes.string.isRequired,
520 nonce: PropTypes.string.isRequired,
521 onClose: PropTypes.func.isRequired,
522 title: PropTypes.string
523 };
524 ApplyKitDialog.defaultProps = {
525 title: 'Kit'
526 };
527
528 /***/ }),
529
530 /***/ "../core/app/modules/kit-library/assets/js/components/badge.js":
531 /*!*********************************************************************!*\
532 !*** ../core/app/modules/kit-library/assets/js/components/badge.js ***!
533 \*********************************************************************/
534 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
535
536 "use strict";
537 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
538
539
540 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
541
542 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
543
544 _Object$defineProperty(exports, "__esModule", {
545 value: true
546 });
547
548 exports["default"] = Badge;
549
550 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
551
552 __webpack_require__(/*! ./badge.scss */ "../core/app/modules/kit-library/assets/js/components/badge.scss");
553
554 function Badge(props) {
555 return /*#__PURE__*/_react.default.createElement("span", {
556 className: "eps-badge eps-badge--".concat(props.variant, " ").concat(props.className),
557 style: props.style
558 }, props.children);
559 }
560
561 Badge.propTypes = {
562 children: PropTypes.node,
563 className: PropTypes.string,
564 style: PropTypes.object,
565 variant: PropTypes.oneOf(['sm', 'md'])
566 };
567 Badge.defaultProps = {
568 className: '',
569 style: {},
570 variant: 'md'
571 };
572
573 /***/ }),
574
575 /***/ "../core/app/modules/kit-library/assets/js/components/collapse.js":
576 /*!************************************************************************!*\
577 !*** ../core/app/modules/kit-library/assets/js/components/collapse.js ***!
578 \************************************************************************/
579 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
580
581 "use strict";
582 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
583
584
585 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
586
587 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
588
589 _Object$defineProperty(exports, "__esModule", {
590 value: true
591 });
592
593 exports["default"] = Collapse;
594
595 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
596
597 __webpack_require__(/*! ./collapse.scss */ "../core/app/modules/kit-library/assets/js/components/collapse.scss");
598
599 function Collapse(props) {
600 // The state of the collapse managed by the parent component to let the parent control if the collapse is open or closed by default.
601 return /*#__PURE__*/_react.default.createElement("div", {
602 className: "eps-collapse ".concat(props.className),
603 "data-open": props.isOpen || undefined
604 /* set `undefined` when 'isOpen' equals `false` to avoid showing the attr "data-open" */
605
606 }, /*#__PURE__*/_react.default.createElement("button", {
607 className: "eps-collapse__title",
608 onClick: function onClick() {
609 return props.onChange(function (value) {
610 return !value;
611 });
612 }
613 }, /*#__PURE__*/_react.default.createElement("span", null, props.title), /*#__PURE__*/_react.default.createElement("i", {
614 className: "eicon-chevron-right eps-collapse__icon"
615 })), /*#__PURE__*/_react.default.createElement("div", {
616 className: "eps-collapse__content"
617 }, props.children));
618 }
619
620 Collapse.propTypes = {
621 isOpen: PropTypes.bool,
622 onChange: PropTypes.func,
623 className: PropTypes.string,
624 title: PropTypes.node,
625 children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
626 };
627 Collapse.defaultProps = {
628 className: '',
629 isOpen: false
630 };
631
632 /***/ }),
633
634 /***/ "../core/app/modules/kit-library/assets/js/components/connect-dialog.js":
635 /*!******************************************************************************!*\
636 !*** ../core/app/modules/kit-library/assets/js/components/connect-dialog.js ***!
637 \******************************************************************************/
638 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
639
640 "use strict";
641 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
642 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
643
644
645 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
646
647 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
648
649 _Object$defineProperty(exports, "__esModule", {
650 value: true
651 });
652
653 exports["default"] = ConnectDialog;
654
655 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
656
657 __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js");
658
659 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
660
661 var _settingsContext = __webpack_require__(/*! ../context/settings-context */ "../core/app/modules/kit-library/assets/js/context/settings-context.js");
662
663 var _React = _react.default,
664 useEffect = _React.useEffect,
665 useRef = _React.useRef;
666
667 function ConnectDialog(props) {
668 var _useSettingsContext = (0, _settingsContext.useSettingsContext)(),
669 settings = _useSettingsContext.settings;
670
671 var approveButtonRef = useRef();
672 useEffect(function () {
673 jQuery(approveButtonRef.current).elementorConnect({
674 success: function success(e, data) {
675 return props.onSuccess(data);
676 },
677 error: function error() {
678 return props.onError(__('Unable to connect', 'elementor'));
679 },
680 parseUrl: function parseUrl(url) {
681 return url.replace('%%page%%', props.pageId);
682 }
683 });
684 }, []);
685 return /*#__PURE__*/_react.default.createElement(_appUi.Dialog, {
686 title: __('Connect to Template Library', 'elementor'),
687 text: __('Access this template and our entire library by creating an account', 'elementor'),
688 approveButtonText: __('Get Started', 'elementor'),
689 approveButtonUrl: settings.library_connect_url,
690 approveButtonOnClick: function approveButtonOnClick() {
691 return props.onClose();
692 },
693 approveButtonColor: "primary",
694 approveButtonRef: approveButtonRef,
695 dismissButtonText: __('Cancel', 'elementor-pro'),
696 dismissButtonOnClick: function dismissButtonOnClick() {
697 return props.onClose();
698 },
699 onClose: function onClose() {
700 return props.onClose();
701 }
702 });
703 }
704
705 ConnectDialog.propTypes = {
706 onClose: PropTypes.func.isRequired,
707 onError: PropTypes.func.isRequired,
708 onSuccess: PropTypes.func.isRequired,
709 pageId: PropTypes.string
710 };
711
712 /***/ }),
713
714 /***/ "../core/app/modules/kit-library/assets/js/components/elementor-loading.js":
715 /*!*********************************************************************************!*\
716 !*** ../core/app/modules/kit-library/assets/js/components/elementor-loading.js ***!
717 \*********************************************************************************/
718 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
719
720 "use strict";
721 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
722
723
724 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
725
726 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
727
728 _Object$defineProperty(exports, "__esModule", {
729 value: true
730 });
731
732 exports["default"] = ElementorLoading;
733
734 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
735
736 function ElementorLoading() {
737 return /*#__PURE__*/_react.default.createElement("div", {
738 className: "elementor-loading"
739 }, /*#__PURE__*/_react.default.createElement("div", {
740 className: "elementor-loader-wrapper"
741 }, /*#__PURE__*/_react.default.createElement("div", {
742 className: "elementor-loader"
743 }, /*#__PURE__*/_react.default.createElement("div", {
744 className: "elementor-loader-boxes"
745 }, /*#__PURE__*/_react.default.createElement("div", {
746 className: "elementor-loader-box"
747 }), /*#__PURE__*/_react.default.createElement("div", {
748 className: "elementor-loader-box"
749 }), /*#__PURE__*/_react.default.createElement("div", {
750 className: "elementor-loader-box"
751 }), /*#__PURE__*/_react.default.createElement("div", {
752 className: "elementor-loader-box"
753 }))), /*#__PURE__*/_react.default.createElement("div", {
754 className: "elementor-loading-title"
755 }, __('Loading', 'elementor'))));
756 }
757
758 /***/ }),
759
760 /***/ "../core/app/modules/kit-library/assets/js/components/envato-promotion.js":
761 /*!********************************************************************************!*\
762 !*** ../core/app/modules/kit-library/assets/js/components/envato-promotion.js ***!
763 \********************************************************************************/
764 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
765
766 "use strict";
767 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
768
769
770 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
771
772 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
773
774 _Object$defineProperty(exports, "__esModule", {
775 value: true
776 });
777
778 exports["default"] = EnvatoPromotion;
779
780 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
781
782 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
783
784 __webpack_require__(/*! ./envato-promotion.scss */ "../core/app/modules/kit-library/assets/js/components/envato-promotion.scss");
785
786 function EnvatoPromotion() {
787 return /*#__PURE__*/_react.default.createElement(_appUi.Text, {
788 className: "e-kit-library-bottom-promotion",
789 variant: "xl"
790 }, __('Looking for more Kits?', 'elementor'), " ", ' ', /*#__PURE__*/_react.default.createElement(_appUi.Button, {
791 variant: "underlined",
792 color: "link",
793 url: "https://go.elementor.com/app-envato-kits/",
794 target: "_blank",
795 rel: "noreferrer",
796 text: __('Check out Elementor Template Kits on ThemeForest', 'elementor')
797 }));
798 }
799
800 /***/ }),
801
802 /***/ "../core/app/modules/kit-library/assets/js/components/error-screen.js":
803 /*!****************************************************************************!*\
804 !*** ../core/app/modules/kit-library/assets/js/components/error-screen.js ***!
805 \****************************************************************************/
806 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
807
808 "use strict";
809 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
810
811
812 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
813
814 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
815
816 _Object$defineProperty(exports, "__esModule", {
817 value: true
818 });
819
820 exports["default"] = ErrorScreen;
821
822 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
823
824 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
825
826 __webpack_require__(/*! ./error-screen.scss */ "../core/app/modules/kit-library/assets/js/components/error-screen.scss");
827
828 function ErrorScreen(props) {
829 return /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
830 container: true,
831 alignItems: "center",
832 justify: "center",
833 direction: "column",
834 className: "e-kit-library__error-screen"
835 }, /*#__PURE__*/_react.default.createElement("img", {
836 src: "".concat(elementorAppConfig.assets_url, "images/no-search-results.svg")
837 }), /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
838 tag: "h3",
839 variant: "display-1",
840 className: "e-kit-library__error-screen-title"
841 }, props.title), /*#__PURE__*/_react.default.createElement(_appUi.Text, {
842 variant: "xl",
843 className: "e-kit-library__error-screen-description"
844 }, props.description, " ", ' ', /*#__PURE__*/_react.default.createElement(_appUi.Button, {
845 text: props.button.text,
846 color: "link",
847 onClick: props.button.action,
848 url: props.button.url,
849 target: props.button.target
850 })));
851 }
852
853 ErrorScreen.propTypes = {
854 title: PropTypes.string,
855 description: PropTypes.string,
856 button: PropTypes.shape({
857 text: PropTypes.string,
858 action: PropTypes.func,
859 url: PropTypes.string,
860 target: PropTypes.string
861 })
862 };
863
864 /***/ }),
865
866 /***/ "../core/app/modules/kit-library/assets/js/components/favorites-actions.js":
867 /*!*********************************************************************************!*\
868 !*** ../core/app/modules/kit-library/assets/js/components/favorites-actions.js ***!
869 \*********************************************************************************/
870 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
871
872 "use strict";
873 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
874 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
875
876
877 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
878
879 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
880
881 _Object$defineProperty(exports, "__esModule", {
882 value: true
883 });
884
885 exports["default"] = FavoritesActions;
886
887 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
888
889 var _useKitFavoritesMutations = __webpack_require__(/*! ../hooks/use-kit-favorites-mutations */ "../core/app/modules/kit-library/assets/js/hooks/use-kit-favorites-mutations.js");
890
891 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
892
893 __webpack_require__(/*! ./favorites-actions.scss */ "../core/app/modules/kit-library/assets/js/components/favorites-actions.scss");
894
895 function FavoritesActions(props) {
896 var _useKitFavoritesMutat = (0, _useKitFavoritesMutations.useKitFavoritesMutations)(),
897 addToFavorites = _useKitFavoritesMutat.addToFavorites,
898 removeFromFavorites = _useKitFavoritesMutat.removeFromFavorites,
899 isLoading = _useKitFavoritesMutat.isLoading;
900
901 var loadingClasses = isLoading ? 'e-kit-library__kit-favorite-actions--loading' : '';
902 return props.isFavorite ? /*#__PURE__*/_react.default.createElement(_appUi.Button, {
903 text: __('Remove From Favorites', 'elementor'),
904 hideText: true,
905 icon: "eicon-heart",
906 className: "e-kit-library__kit-favorite-actions e-kit-library__kit-favorite-actions--active ".concat(loadingClasses),
907 onClick: function onClick() {
908 return !isLoading && removeFromFavorites.mutate(props.id);
909 }
910 }) : /*#__PURE__*/_react.default.createElement(_appUi.Button, {
911 text: __('Add To Favorites', 'elementor'),
912 hideText: true,
913 icon: "eicon-heart-o",
914 className: "e-kit-library__kit-favorite-actions ".concat(loadingClasses),
915 onClick: function onClick() {
916 return !isLoading && addToFavorites.mutate(props.id);
917 }
918 });
919 }
920
921 FavoritesActions.propTypes = {
922 isFavorite: PropTypes.bool,
923 id: PropTypes.string
924 };
925
926 /***/ }),
927
928 /***/ "../core/app/modules/kit-library/assets/js/components/filter-indication-text.js":
929 /*!**************************************************************************************!*\
930 !*** ../core/app/modules/kit-library/assets/js/components/filter-indication-text.js ***!
931 \**************************************************************************************/
932 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
933
934 "use strict";
935 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
936 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
937
938
939 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
940
941 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
942
943 _Object$defineProperty(exports, "__esModule", {
944 value: true
945 });
946
947 exports["default"] = FilterIndicationText;
948
949 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
950
951 __webpack_require__(/*! core-js/modules/es6.regexp.search.js */ "../node_modules/core-js/modules/es6.regexp.search.js");
952
953 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
954
955 var _useSelectedTaxonomies = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-selected-taxonomies */ "../core/app/modules/kit-library/assets/js/hooks/use-selected-taxonomies.js"));
956
957 var _badge = _interopRequireDefault(__webpack_require__(/*! ./badge */ "../core/app/modules/kit-library/assets/js/components/badge.js"));
958
959 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
960
961 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
962
963 __webpack_require__(/*! ./filter-indication-text.scss */ "../core/app/modules/kit-library/assets/js/components/filter-indication-text.scss");
964
965 function FilterIndicationText(props) {
966 var selectedTaxonomies = (0, _useSelectedTaxonomies.default)(props.queryParams.taxonomies);
967 return /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
968 container: true,
969 className: "e-kit-library__filter-indication"
970 }, /*#__PURE__*/_react.default.createElement(_appUi.Text, {
971 className: "e-kit-library__filter-indication-text"
972 }, (0, _i18n.sprintf)((0, _i18n._n)('Showing %s result for', 'Showing %s results for', props.resultCount, 'elementor'), !props.resultCount ? __('no', 'elementor') : props.resultCount), ' ', props.queryParams.search && "\"".concat(props.queryParams.search, "\""), ' ', selectedTaxonomies.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, selectedTaxonomies.map(function (taxonomy) {
973 return /*#__PURE__*/_react.default.createElement(_badge.default, {
974 key: taxonomy,
975 className: "e-kit-library__filter-indication-badge"
976 }, taxonomy, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
977 text: __('Remove', 'elementor'),
978 hideText: true,
979 icon: "eicon-editor-close",
980 className: "e-kit-library__filter-indication-badge-remove",
981 onClick: function onClick() {
982 return props.onRemoveTag(taxonomy);
983 }
984 }));
985 }))), /*#__PURE__*/_react.default.createElement(_appUi.Button, {
986 className: "e-kit-library__filter-indication-button",
987 text: __('Clear all', 'elementor'),
988 variant: "underlined",
989 onClick: props.onClear
990 }));
991 }
992
993 FilterIndicationText.propTypes = {
994 queryParams: PropTypes.shape({
995 search: PropTypes.string,
996 taxonomies: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
997 favorite: PropTypes.bool
998 }),
999 resultCount: PropTypes.number.isRequired,
1000 onClear: PropTypes.func.isRequired,
1001 onRemoveTag: PropTypes.func.isRequired
1002 };
1003
1004 /***/ }),
1005
1006 /***/ "../core/app/modules/kit-library/assets/js/components/item-header.js":
1007 /*!***************************************************************************!*\
1008 !*** ../core/app/modules/kit-library/assets/js/components/item-header.js ***!
1009 \***************************************************************************/
1010 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1011
1012 "use strict";
1013 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1014 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1015
1016
1017 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1018
1019 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1020
1021 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1022
1023 _Object$defineProperty(exports, "__esModule", {
1024 value: true
1025 });
1026
1027 exports["default"] = ItemHeader;
1028
1029 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1030
1031 __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js");
1032
1033 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js"));
1034
1035 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
1036
1037 var _applyKitDialog = _interopRequireDefault(__webpack_require__(/*! ./apply-kit-dialog */ "../core/app/modules/kit-library/assets/js/components/apply-kit-dialog.js"));
1038
1039 var _connectDialog = _interopRequireDefault(__webpack_require__(/*! ./connect-dialog */ "../core/app/modules/kit-library/assets/js/components/connect-dialog.js"));
1040
1041 var _header = _interopRequireDefault(__webpack_require__(/*! ./layout/header */ "../core/app/modules/kit-library/assets/js/components/layout/header.js"));
1042
1043 var _headerBackButton = _interopRequireDefault(__webpack_require__(/*! ./layout/header-back-button */ "../core/app/modules/kit-library/assets/js/components/layout/header-back-button.js"));
1044
1045 var _kit = _interopRequireDefault(__webpack_require__(/*! ../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
1046
1047 var _useDownloadLinkMutation = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-download-link-mutation */ "../core/app/modules/kit-library/assets/js/hooks/use-download-link-mutation.js"));
1048
1049 var _useKitCallToAction3 = _interopRequireWildcard(__webpack_require__(/*! ../hooks/use-kit-call-to-action */ "../core/app/modules/kit-library/assets/js/hooks/use-kit-call-to-action.js"));
1050
1051 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1052
1053 var _settingsContext = __webpack_require__(/*! ../context/settings-context */ "../core/app/modules/kit-library/assets/js/context/settings-context.js");
1054
1055 __webpack_require__(/*! ./item-header.scss */ "../core/app/modules/kit-library/assets/js/components/item-header.scss");
1056
1057 /**
1058 * Returns the right call to action button.
1059 *
1060 * @param model
1061 * @param onConnect
1062 * @param onApply
1063 * @returns {object}
1064 */
1065 function useKitCallToActionButton(model, _ref) {
1066 var apply = _ref.apply,
1067 isApplyLoading = _ref.isApplyLoading,
1068 onConnect = _ref.onConnect;
1069
1070 var _useKitCallToAction = (0, _useKitCallToAction3.default)(model.accessLevel),
1071 _useKitCallToAction2 = (0, _slicedToArray2.default)(_useKitCallToAction, 2),
1072 type = _useKitCallToAction2[0],
1073 subscriptionPlan = _useKitCallToAction2[1].subscriptionPlan;
1074
1075 return (0, _react.useMemo)(function () {
1076 if (type === _useKitCallToAction3.TYPE_CONNECT) {
1077 return {
1078 id: 'connect',
1079 text: __('Apply Kit', 'elementor'),
1080 // The label is Apply kit but the this is connect button
1081 hideText: false,
1082 variant: 'contained',
1083 color: 'primary',
1084 size: 'sm',
1085 onClick: onConnect,
1086 includeHeaderBtnClass: false
1087 };
1088 }
1089
1090 if (type === _useKitCallToAction3.TYPE_PROMOTION && subscriptionPlan) {
1091 return {
1092 id: 'promotion',
1093 text: __('Go %s', 'elementor').replace('%s', subscriptionPlan.label),
1094 hideText: false,
1095 variant: 'contained',
1096 color: 'cta',
1097 size: 'sm',
1098 url: subscriptionPlan.promotion_url,
1099 target: '_blank',
1100 includeHeaderBtnClass: false
1101 };
1102 }
1103
1104 return {
1105 id: 'apply',
1106 text: __('Apply Kit', 'elementor'),
1107 className: 'e-kit-library__apply-button',
1108 icon: isApplyLoading ? 'eicon-loading eicon-animation-spin' : '',
1109 hideText: false,
1110 variant: 'contained',
1111 color: isApplyLoading ? 'disabled' : 'primary',
1112 size: 'sm',
1113 onClick: isApplyLoading ? null : apply,
1114 includeHeaderBtnClass: false
1115 };
1116 }, [type, subscriptionPlan, isApplyLoading, apply]);
1117 }
1118
1119 function ItemHeader(props) {
1120 var _useSettingsContext = (0, _settingsContext.useSettingsContext)(),
1121 updateSettings = _useSettingsContext.updateSettings;
1122
1123 var _useState = (0, _react.useState)(false),
1124 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1125 isConnectDialogOpen = _useState2[0],
1126 setIsConnectDialogOpen = _useState2[1];
1127
1128 var _useState3 = (0, _react.useState)(null),
1129 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1130 downloadLinkData = _useState4[0],
1131 setDownloadLinkData = _useState4[1];
1132
1133 var _useState5 = (0, _react.useState)(false),
1134 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1135 error = _useState6[0],
1136 setError = _useState6[1];
1137
1138 var _useDownloadLinkMutat = (0, _useDownloadLinkMutation.default)(props.model, {
1139 onSuccess: function onSuccess(_ref2) {
1140 var data = _ref2.data;
1141 return setDownloadLinkData(data);
1142 },
1143 onError: function onError(errorResponse) {
1144 if (401 === errorResponse.code) {
1145 elementorCommon.config.library_connect.is_connected = false;
1146 elementorCommon.config.library_connect.current_access_level = 0;
1147 updateSettings({
1148 is_library_connected: false,
1149 access_level: 0
1150 });
1151 setIsConnectDialogOpen(true);
1152 return;
1153 }
1154
1155 setError({
1156 code: errorResponse.code,
1157 message: __('Something went wrong.', 'elementor')
1158 });
1159 }
1160 }),
1161 apply = _useDownloadLinkMutat.mutate,
1162 isApplyLoading = _useDownloadLinkMutat.isLoading;
1163
1164 var applyButton = useKitCallToActionButton(props.model, {
1165 onConnect: function onConnect() {
1166 return setIsConnectDialogOpen(true);
1167 },
1168 apply: apply,
1169 isApplyLoading: isApplyLoading
1170 });
1171 var buttons = (0, _react.useMemo)(function () {
1172 return [applyButton].concat((0, _toConsumableArray2.default)(props.buttons));
1173 }, [props.buttons, applyButton]);
1174 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, error && /*#__PURE__*/_react.default.createElement(_appUi.Dialog, {
1175 title: error.message,
1176 text: __('Nothing to worry about, just try again. If the problem continues, head over to the Help Center.', 'elementor'),
1177 approveButtonText: __('Learn More', 'elementor'),
1178 approveButtonColor: "link",
1179 approveButtonUrl: "http://go.elementor.com/app-kit-library-error",
1180 approveButtonOnClick: function approveButtonOnClick() {
1181 return setError(false);
1182 },
1183 dismissButtonText: __('Got it', 'elementor'),
1184 dismissButtonOnClick: function dismissButtonOnClick() {
1185 return setError(false);
1186 },
1187 onClose: function onClose() {
1188 return setError(false);
1189 }
1190 }), downloadLinkData && /*#__PURE__*/_react.default.createElement(_applyKitDialog.default, {
1191 downloadLink: downloadLinkData.data.download_link,
1192 nonce: downloadLinkData.meta.nonce,
1193 onClose: function onClose() {
1194 return setDownloadLinkData(null);
1195 }
1196 }), isConnectDialogOpen && /*#__PURE__*/_react.default.createElement(_connectDialog.default, {
1197 pageId: props.pageId,
1198 onClose: function onClose() {
1199 return setIsConnectDialogOpen(false);
1200 },
1201 onSuccess: function onSuccess(data) {
1202 var accessLevel = data.kits_access_level || data.access_level || 0;
1203 elementorCommon.config.library_connect.is_connected = true;
1204 elementorCommon.config.library_connect.current_access_level = accessLevel;
1205 updateSettings({
1206 is_library_connected: true,
1207 access_level: accessLevel // BC: Check for 'access_level' prop
1208
1209 });
1210
1211 if (data.access_level < props.model.accessLevel) {
1212 return;
1213 }
1214
1215 apply();
1216 },
1217 onError: function onError(message) {
1218 return setError({
1219 message: message
1220 });
1221 }
1222 }), /*#__PURE__*/_react.default.createElement(_header.default, {
1223 startColumn: /*#__PURE__*/_react.default.createElement(_headerBackButton.default, null),
1224 centerColumn: props.centerColumn,
1225 buttons: buttons
1226 }));
1227 }
1228
1229 ItemHeader.propTypes = {
1230 model: PropTypes.instanceOf(_kit.default).isRequired,
1231 centerColumn: PropTypes.node,
1232 buttons: PropTypes.arrayOf(PropTypes.object),
1233 pageId: PropTypes.string
1234 };
1235
1236 /***/ }),
1237
1238 /***/ "../core/app/modules/kit-library/assets/js/components/kit-list-item.js":
1239 /*!*****************************************************************************!*\
1240 !*** ../core/app/modules/kit-library/assets/js/components/kit-list-item.js ***!
1241 \*****************************************************************************/
1242 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1243
1244 "use strict";
1245 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1246 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1247
1248
1249 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1250
1251 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1252
1253 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1254
1255 _Object$defineProperty(exports, "__esModule", {
1256 value: true
1257 });
1258
1259 exports["default"] = void 0;
1260
1261 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1262
1263 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
1264
1265 var _badge = _interopRequireDefault(__webpack_require__(/*! ./badge */ "../core/app/modules/kit-library/assets/js/components/badge.js"));
1266
1267 var _favoritesActions = _interopRequireDefault(__webpack_require__(/*! ../components/favorites-actions */ "../core/app/modules/kit-library/assets/js/components/favorites-actions.js"));
1268
1269 var _kit = _interopRequireDefault(__webpack_require__(/*! ../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
1270
1271 var _useKitCallToAction3 = _interopRequireWildcard(__webpack_require__(/*! ../hooks/use-kit-call-to-action */ "../core/app/modules/kit-library/assets/js/hooks/use-kit-call-to-action.js"));
1272
1273 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1274
1275 __webpack_require__(/*! ./kit-list-item.scss */ "../core/app/modules/kit-library/assets/js/components/kit-list-item.scss");
1276
1277 var KitListItem = function KitListItem(props) {
1278 var _useKitCallToAction = (0, _useKitCallToAction3.default)(props.model.accessLevel),
1279 _useKitCallToAction2 = (0, _slicedToArray2.default)(_useKitCallToAction, 2),
1280 type = _useKitCallToAction2[0],
1281 subscriptionPlan = _useKitCallToAction2[1].subscriptionPlan;
1282
1283 return /*#__PURE__*/_react.default.createElement(_appUi.Card, {
1284 className: "e-kit-library__kit-item"
1285 }, /*#__PURE__*/_react.default.createElement(_appUi.CardHeader, null, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
1286 tag: "h3",
1287 title: props.model.title,
1288 variant: "h5",
1289 className: "eps-card__headline"
1290 }, props.model.title), /*#__PURE__*/_react.default.createElement(_favoritesActions.default, {
1291 id: props.model.id,
1292 isFavorite: props.model.isFavorite
1293 })), /*#__PURE__*/_react.default.createElement(_appUi.CardBody, null, /*#__PURE__*/_react.default.createElement(_appUi.CardImage, {
1294 alt: props.model.title,
1295 src: props.model.thumbnailUrl || ''
1296 }, (subscriptionPlan === null || subscriptionPlan === void 0 ? void 0 : subscriptionPlan.label) && /*#__PURE__*/_react.default.createElement(_badge.default, {
1297 variant: "sm",
1298 className: "e-kit-library__kit-item-subscription-plan-badge",
1299 style: {
1300 backgroundColor: subscriptionPlan.color
1301 }
1302 }, subscriptionPlan.label), /*#__PURE__*/_react.default.createElement(_appUi.CardOverlay, null, /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
1303 container: true,
1304 direction: "column",
1305 className: "e-kit-library__kit-item-overlay"
1306 }, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
1307 className: "e-kit-library__kit-item-overlay-overview-button",
1308 text: __('View Demo', 'elementor'),
1309 icon: "eicon-preview-medium",
1310 url: "/kit-library/preview/".concat(props.model.id)
1311 }), type === _useKitCallToAction3.TYPE_PROMOTION && (subscriptionPlan === null || subscriptionPlan === void 0 ? void 0 : subscriptionPlan.label) && /*#__PURE__*/_react.default.createElement(_appUi.Button, {
1312 className: "e-kit-library__kit-item-overlay-promotion-button",
1313 text: "Go ".concat(subscriptionPlan.label),
1314 icon: "eicon-external-link-square",
1315 url: subscriptionPlan.promotion_url,
1316 target: "_blank"
1317 }))))));
1318 };
1319
1320 KitListItem.propTypes = {
1321 model: PropTypes.instanceOf(_kit.default).isRequired
1322 };
1323
1324 var _default = _react.default.memo(KitListItem);
1325
1326 exports["default"] = _default;
1327
1328 /***/ }),
1329
1330 /***/ "../core/app/modules/kit-library/assets/js/components/kit-list.js":
1331 /*!************************************************************************!*\
1332 !*** ../core/app/modules/kit-library/assets/js/components/kit-list.js ***!
1333 \************************************************************************/
1334 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1335
1336 "use strict";
1337 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1338
1339
1340 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1341
1342 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1343
1344 _Object$defineProperty(exports, "__esModule", {
1345 value: true
1346 });
1347
1348 exports["default"] = KitList;
1349
1350 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1351
1352 __webpack_require__(/*! core-js/modules/es6.regexp.split.js */ "../node_modules/core-js/modules/es6.regexp.split.js");
1353
1354 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
1355
1356 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
1357
1358 var _kit = _interopRequireDefault(__webpack_require__(/*! ../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
1359
1360 var _kitListItem = _interopRequireDefault(__webpack_require__(/*! ./kit-list-item */ "../core/app/modules/kit-library/assets/js/components/kit-list-item.js"));
1361
1362 var _newPageKitListItem = _interopRequireDefault(__webpack_require__(/*! ../../../../onboarding/assets/js/components/new-page-kit-list-item */ "../core/app/modules/onboarding/assets/js/components/new-page-kit-list-item.js"));
1363
1364 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1365
1366 function KitList(props) {
1367 var _location$pathname$sp;
1368
1369 var location = (0, _router.useLocation)();
1370 var referrer = new URLSearchParams((_location$pathname$sp = location.pathname.split('?')) === null || _location$pathname$sp === void 0 ? void 0 : _location$pathname$sp[1]).get('referrer');
1371 return /*#__PURE__*/_react.default.createElement(_appUi.CssGrid, {
1372 spacing: 24,
1373 colMinWidth: 290
1374 }, 'onboarding' === referrer && /*#__PURE__*/_react.default.createElement(_newPageKitListItem.default, null), props.data.map(function (model) {
1375 return /*#__PURE__*/_react.default.createElement(_kitListItem.default, {
1376 key: model.id,
1377 model: model
1378 });
1379 }));
1380 }
1381
1382 KitList.propTypes = {
1383 data: PropTypes.arrayOf(PropTypes.instanceOf(_kit.default))
1384 };
1385
1386 /***/ }),
1387
1388 /***/ "../core/app/modules/kit-library/assets/js/components/layout/header-back-button.js":
1389 /*!*****************************************************************************************!*\
1390 !*** ../core/app/modules/kit-library/assets/js/components/layout/header-back-button.js ***!
1391 \*****************************************************************************************/
1392 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1393
1394 "use strict";
1395 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1396
1397
1398 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1399
1400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1401
1402 _Object$defineProperty(exports, "__esModule", {
1403 value: true
1404 });
1405
1406 exports["default"] = HeaderBackButton;
1407
1408 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1409
1410 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1411
1412 var _lastFilterContext = __webpack_require__(/*! ../../context/last-filter-context */ "../core/app/modules/kit-library/assets/js/context/last-filter-context.js");
1413
1414 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
1415
1416 __webpack_require__(/*! ./header-back-button.scss */ "../core/app/modules/kit-library/assets/js/components/layout/header-back-button.scss");
1417
1418 function HeaderBackButton() {
1419 var navigate = (0, _router.useNavigate)(),
1420 _useLastFilterContext = (0, _lastFilterContext.useLastFilterContext)(),
1421 lastFilter = _useLastFilterContext.lastFilter;
1422
1423 return /*#__PURE__*/_react.default.createElement("div", {
1424 className: "e-kit-library__header-back-container"
1425 }, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
1426 className: "e-kit-library__header-back",
1427 icon: "eicon-chevron-left",
1428 text: __('Back to Library', 'elementor'),
1429 onClick: function onClick() {
1430 return navigate(wp.url.addQueryArgs('/kit-library', lastFilter));
1431 }
1432 }));
1433 }
1434
1435 /***/ }),
1436
1437 /***/ "../core/app/modules/kit-library/assets/js/components/layout/header.js":
1438 /*!*****************************************************************************!*\
1439 !*** ../core/app/modules/kit-library/assets/js/components/layout/header.js ***!
1440 \*****************************************************************************/
1441 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1442
1443 "use strict";
1444 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1445 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1446
1447
1448 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1449
1450 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1451
1452 _Object$defineProperty(exports, "__esModule", {
1453 value: true
1454 });
1455
1456 exports["default"] = Header;
1457
1458 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1459
1460 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1461
1462 var _headerButtons = _interopRequireDefault(__webpack_require__(/*! ../../../../../../assets/js/layout/header-buttons */ "../core/app/assets/js/layout/header-buttons.js"));
1463
1464 function Header(props) {
1465 return /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
1466 container: true,
1467 alignItems: "center",
1468 justify: "space-between",
1469 className: "eps-app__header"
1470 }, props.startColumn || /*#__PURE__*/_react.default.createElement("a", {
1471 className: "eps-app__logo-title-wrapper",
1472 href: "#/kit-library"
1473 }, /*#__PURE__*/_react.default.createElement("i", {
1474 className: "eps-app__logo eicon-elementor"
1475 }), /*#__PURE__*/_react.default.createElement("h1", {
1476 className: "eps-app__title"
1477 }, __('Kit Library', 'elementor'))), props.centerColumn || /*#__PURE__*/_react.default.createElement("span", null), props.endColumn || /*#__PURE__*/_react.default.createElement("div", {
1478 style: {
1479 flex: 1
1480 }
1481 }, /*#__PURE__*/_react.default.createElement(_headerButtons.default, {
1482 buttons: props.buttons
1483 })));
1484 }
1485
1486 Header.propTypes = {
1487 startColumn: PropTypes.node,
1488 endColumn: PropTypes.node,
1489 centerColumn: PropTypes.node,
1490 buttons: PropTypes.arrayOf(PropTypes.object)
1491 };
1492
1493 /***/ }),
1494
1495 /***/ "../core/app/modules/kit-library/assets/js/components/layout/index.js":
1496 /*!****************************************************************************!*\
1497 !*** ../core/app/modules/kit-library/assets/js/components/layout/index.js ***!
1498 \****************************************************************************/
1499 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1500
1501 "use strict";
1502 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1503
1504
1505 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1506
1507 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1508
1509 _Object$defineProperty(exports, "__esModule", {
1510 value: true
1511 });
1512
1513 exports["default"] = Index;
1514
1515 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1516
1517 var _sidebar = _interopRequireDefault(__webpack_require__(/*! ../../../../../../assets/js/layout/sidebar */ "../core/app/assets/js/layout/sidebar.js"));
1518
1519 function Index(props) {
1520 return /*#__PURE__*/_react.default.createElement("div", {
1521 className: "eps-app__lightbox"
1522 }, /*#__PURE__*/_react.default.createElement("div", {
1523 className: "eps-app"
1524 }, props.header, /*#__PURE__*/_react.default.createElement("div", {
1525 className: "eps-app__main"
1526 }, props.sidebar && /*#__PURE__*/_react.default.createElement(_sidebar.default, null, props.sidebar), props.children)));
1527 }
1528
1529 Index.propTypes = {
1530 header: PropTypes.node,
1531 sidebar: PropTypes.node,
1532 children: PropTypes.node
1533 };
1534
1535 /***/ }),
1536
1537 /***/ "../core/app/modules/kit-library/assets/js/components/page-loader.js":
1538 /*!***************************************************************************!*\
1539 !*** ../core/app/modules/kit-library/assets/js/components/page-loader.js ***!
1540 \***************************************************************************/
1541 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1542
1543 "use strict";
1544 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1545
1546
1547 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1548
1549 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1550
1551 _Object$defineProperty(exports, "__esModule", {
1552 value: true
1553 });
1554
1555 exports["default"] = PageLoader;
1556
1557 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1558
1559 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1560
1561 __webpack_require__(/*! ./page-loader.scss */ "../core/app/modules/kit-library/assets/js/components/page-loader.scss");
1562
1563 function PageLoader(props) {
1564 return /*#__PURE__*/_react.default.createElement("div", {
1565 className: "e-kit-library__page-loader ".concat(props.className)
1566 }, /*#__PURE__*/_react.default.createElement(_appUi.Icon, {
1567 className: "eicon-loading eicon-animation-spin"
1568 }));
1569 }
1570
1571 PageLoader.propTypes = {
1572 className: PropTypes.string
1573 };
1574 PageLoader.defaultProps = {
1575 className: ''
1576 };
1577
1578 /***/ }),
1579
1580 /***/ "../core/app/modules/kit-library/assets/js/components/search-input.js":
1581 /*!****************************************************************************!*\
1582 !*** ../core/app/modules/kit-library/assets/js/components/search-input.js ***!
1583 \****************************************************************************/
1584 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1585
1586 "use strict";
1587 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1588 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1589
1590
1591 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1592
1593 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1594
1595 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1596
1597 _Object$defineProperty(exports, "__esModule", {
1598 value: true
1599 });
1600
1601 exports["default"] = SearchInput;
1602
1603 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1604
1605 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
1606
1607 var _useDebouncedCallback = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-debounced-callback */ "../core/app/modules/kit-library/assets/js/hooks/use-debounced-callback.js"));
1608
1609 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1610
1611 __webpack_require__(/*! ./search-input.scss */ "../core/app/modules/kit-library/assets/js/components/search-input.scss");
1612
1613 function SearchInput(props) {
1614 var _useState = (0, _react.useState)(props.value || ''),
1615 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1616 localValue = _useState2[0],
1617 setLocalValue = _useState2[1];
1618
1619 var debouncedOnChange = (0, _useDebouncedCallback.default)(function (value) {
1620 return props.onChange(value);
1621 }, props.debounceTimeout);
1622 (0, _react.useEffect)(function () {
1623 if (props.value !== localValue) {
1624 setLocalValue(props.value);
1625 }
1626 }, [props.value]);
1627 return /*#__PURE__*/_react.default.createElement("div", {
1628 className: "eps-search-input__container ".concat(props.className)
1629 }, /*#__PURE__*/_react.default.createElement("input", {
1630 className: "eps-search-input eps-search-input--".concat(props.size),
1631 placeholder: props.placeholder,
1632 value: localValue,
1633 onChange: function onChange(e) {
1634 setLocalValue(e.target.value);
1635 debouncedOnChange(e.target.value);
1636 }
1637 }), /*#__PURE__*/_react.default.createElement(_appUi.Icon, {
1638 className: "eicon-search-bold eps-search-input__icon eps-search-input__icon--".concat(props.size)
1639 }), props.value && /*#__PURE__*/_react.default.createElement(_appUi.Button, {
1640 text: __('Clear', 'elementor'),
1641 hideText: true,
1642 className: "eicon-close-circle eps-search-input__clear-icon eps-search-input__clear-icon--".concat(props.size),
1643 onClick: function onClick() {
1644 return props.onChange('');
1645 }
1646 }));
1647 }
1648
1649 SearchInput.propTypes = {
1650 placeholder: PropTypes.string,
1651 value: PropTypes.string.isRequired,
1652 onChange: PropTypes.func.isRequired,
1653 className: PropTypes.string,
1654 size: PropTypes.oneOf(['md', 'sm']),
1655 debounceTimeout: PropTypes.number
1656 };
1657 SearchInput.defaultProps = {
1658 className: '',
1659 size: 'md',
1660 debounceTimeout: 300
1661 };
1662
1663 /***/ }),
1664
1665 /***/ "../core/app/modules/kit-library/assets/js/components/sort-select.js":
1666 /*!***************************************************************************!*\
1667 !*** ../core/app/modules/kit-library/assets/js/components/sort-select.js ***!
1668 \***************************************************************************/
1669 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1670
1671 "use strict";
1672 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1673 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1674
1675
1676 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1677
1678 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1679
1680 _Object$defineProperty(exports, "__esModule", {
1681 value: true
1682 });
1683
1684 exports["default"] = SortSelect;
1685
1686 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1687
1688 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1689
1690 __webpack_require__(/*! ./sort-select.scss */ "../core/app/modules/kit-library/assets/js/components/sort-select.scss");
1691
1692 function SortSelect(props) {
1693 return /*#__PURE__*/_react.default.createElement("div", {
1694 className: "eps-sort-select"
1695 }, /*#__PURE__*/_react.default.createElement("div", {
1696 className: "eps-sort-select__select-wrapper"
1697 }, /*#__PURE__*/_react.default.createElement(_appUi.Select, {
1698 options: props.options,
1699 value: props.value.by,
1700 onChange: function onChange(e) {
1701 var value = e.target.value;
1702 props.onChange({
1703 by: value,
1704 direction: props.value.direction
1705 });
1706 },
1707 className: "eps-sort-select__select"
1708 })), /*#__PURE__*/_react.default.createElement(_appUi.Button, {
1709 text: 'asc' === props.value.direction ? __('Sort Descending', 'elementor') : __('Sort Ascending', 'elementor'),
1710 hideText: true,
1711 icon: 'asc' === props.value.direction ? 'eicon-arrow-up' : 'eicon-arrow-down',
1712 className: "eps-sort-select__button",
1713 onClick: function onClick() {
1714 props.onChange({
1715 by: props.value.by,
1716 direction: 'asc' === props.value.direction ? 'desc' : 'asc'
1717 });
1718 }
1719 }));
1720 }
1721
1722 SortSelect.propTypes = {
1723 options: PropTypes.arrayOf(PropTypes.shape({
1724 label: PropTypes.string.isRequired,
1725 value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired
1726 })).isRequired,
1727 value: PropTypes.shape({
1728 direction: PropTypes.oneOf(['asc', 'desc']).isRequired,
1729 by: PropTypes.string.isRequired
1730 }).isRequired,
1731 onChange: PropTypes.func.isRequired
1732 };
1733
1734 /***/ }),
1735
1736 /***/ "../core/app/modules/kit-library/assets/js/components/taxonomies-filter-list.js":
1737 /*!**************************************************************************************!*\
1738 !*** ../core/app/modules/kit-library/assets/js/components/taxonomies-filter-list.js ***!
1739 \**************************************************************************************/
1740 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1741
1742 "use strict";
1743 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1744 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1745
1746
1747 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1748
1749 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1750
1751 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1752
1753 _Object$defineProperty(exports, "__esModule", {
1754 value: true
1755 });
1756
1757 exports["default"] = void 0;
1758
1759 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1760
1761 __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js");
1762
1763 __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js");
1764
1765 __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js");
1766
1767 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
1768
1769 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js"));
1770
1771 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
1772
1773 var _taxonomy = _interopRequireDefault(__webpack_require__(/*! ../models/taxonomy */ "../core/app/modules/kit-library/assets/js/models/taxonomy.js"));
1774
1775 var _collapse = _interopRequireDefault(__webpack_require__(/*! ./collapse */ "../core/app/modules/kit-library/assets/js/components/collapse.js"));
1776
1777 var _searchInput = _interopRequireDefault(__webpack_require__(/*! ./search-input */ "../core/app/modules/kit-library/assets/js/components/search-input.js"));
1778
1779 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
1780
1781 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1782
1783 var MIN_TAGS_LENGTH_FOR_SEARCH_INPUT = 15;
1784
1785 var TaxonomiesFilterList = function TaxonomiesFilterList(props) {
1786 var _useState = (0, _react.useState)(props.taxonomiesByType.isOpenByDefault),
1787 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1788 isOpen = _useState2[0],
1789 setIsOpen = _useState2[1];
1790
1791 var _useState3 = (0, _react.useState)(''),
1792 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1793 search = _useState4[0],
1794 setSearch = _useState4[1];
1795
1796 var taxonomies = (0, _react.useMemo)(function () {
1797 if (!search) {
1798 return props.taxonomiesByType.data;
1799 }
1800
1801 var lowerCaseSearch = search.toLowerCase();
1802 return props.taxonomiesByType.data.filter(function (tag) {
1803 return tag.text.toLowerCase().includes(lowerCaseSearch);
1804 });
1805 }, [props.taxonomiesByType.data, search]);
1806 return /*#__PURE__*/_react.default.createElement(_collapse.default, {
1807 className: "e-kit-library__tags-filter-list",
1808 title: props.taxonomiesByType.label,
1809 isOpen: isOpen,
1810 onChange: setIsOpen
1811 }, props.taxonomiesByType.data.length >= MIN_TAGS_LENGTH_FOR_SEARCH_INPUT && /*#__PURE__*/_react.default.createElement(_searchInput.default, {
1812 size: "sm",
1813 className: "e-kit-library__tags-filter-list-search",
1814 placeholder: (0, _i18n.sprintf)(__('Search %s...', 'elementor'), props.taxonomiesByType.label),
1815 value: search,
1816 onChange: setSearch
1817 }), /*#__PURE__*/_react.default.createElement("div", {
1818 className: "e-kit-library__tags-filter-list-container"
1819 }, 0 === taxonomies.length && /*#__PURE__*/_react.default.createElement(_appUi.Text, null, __('No Results Found', 'elementor')), taxonomies.map(function (taxonomy) {
1820 var _props$selected$taxon;
1821
1822 return /*#__PURE__*/_react.default.createElement("label", {
1823 key: taxonomy.text,
1824 className: "e-kit-library__tags-filter-list-item"
1825 }, /*#__PURE__*/_react.default.createElement(_appUi.Checkbox, {
1826 checked: ((_props$selected$taxon = props.selected[taxonomy.type]) === null || _props$selected$taxon === void 0 ? void 0 : _props$selected$taxon.includes(taxonomy.text)) || false,
1827 onChange: function onChange(e) {
1828 var checked = e.target.checked;
1829 props.onSelect(taxonomy.type, function (prev) {
1830 return checked ? [].concat((0, _toConsumableArray2.default)(prev), [taxonomy.text]) : prev.filter(function (tagId) {
1831 return tagId !== taxonomy.text;
1832 });
1833 });
1834 }
1835 }), taxonomy.text);
1836 })));
1837 };
1838
1839 TaxonomiesFilterList.propTypes = {
1840 taxonomiesByType: PropTypes.shape({
1841 key: PropTypes.string,
1842 label: PropTypes.string,
1843 data: PropTypes.arrayOf(PropTypes.instanceOf(_taxonomy.default)),
1844 isOpenByDefault: PropTypes.bool
1845 }),
1846 selected: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
1847 onSelect: PropTypes.func
1848 };
1849
1850 var _default = _react.default.memo(TaxonomiesFilterList);
1851
1852 exports["default"] = _default;
1853
1854 /***/ }),
1855
1856 /***/ "../core/app/modules/kit-library/assets/js/components/taxonomies-filter.js":
1857 /*!*********************************************************************************!*\
1858 !*** ../core/app/modules/kit-library/assets/js/components/taxonomies-filter.js ***!
1859 \*********************************************************************************/
1860 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1861
1862 "use strict";
1863 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1864
1865
1866 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1867
1868 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1869
1870 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1871
1872 _Object$defineProperty(exports, "__esModule", {
1873 value: true
1874 });
1875
1876 exports["default"] = TaxonomiesFilter;
1877
1878 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1879
1880 var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
1881
1882 __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js");
1883
1884 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
1885
1886 var _taxonomiesFilterList = _interopRequireDefault(__webpack_require__(/*! ./taxonomies-filter-list */ "../core/app/modules/kit-library/assets/js/components/taxonomies-filter-list.js"));
1887
1888 var _taxonomy = _interopRequireWildcard(__webpack_require__(/*! ../models/taxonomy */ "../core/app/modules/kit-library/assets/js/models/taxonomy.js"));
1889
1890 __webpack_require__(/*! ./tags-filter.scss */ "../core/app/modules/kit-library/assets/js/components/tags-filter.scss");
1891
1892 var _React = _react.default,
1893 useMemo = _React.useMemo;
1894
1895 function TaxonomiesFilter(props) {
1896 var taxonomiesByType = useMemo(function () {
1897 if (!props.taxonomies) {
1898 return [];
1899 }
1900
1901 return _taxonomy.taxonomyType.map(function (tagType) {
1902 return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, tagType), {}, {
1903 data: props.taxonomies.filter(function (item) {
1904 return item.type === tagType.key;
1905 })
1906 });
1907 }).filter(function (_ref) {
1908 var data = _ref.data;
1909 return data.length > 0;
1910 });
1911 }, [props.taxonomies]);
1912 return /*#__PURE__*/_react.default.createElement("div", {
1913 className: "e-kit-library__tags-filter"
1914 }, taxonomiesByType.map(function (group) {
1915 return /*#__PURE__*/_react.default.createElement(_taxonomiesFilterList.default, {
1916 key: group.key,
1917 taxonomiesByType: group,
1918 selected: props.selected,
1919 onSelect: props.onSelect
1920 });
1921 }));
1922 }
1923
1924 TaxonomiesFilter.propTypes = {
1925 selected: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
1926 onSelect: PropTypes.func,
1927 taxonomies: PropTypes.arrayOf(PropTypes.instanceOf(_taxonomy.default))
1928 };
1929
1930 /***/ }),
1931
1932 /***/ "../core/app/modules/kit-library/assets/js/context/last-filter-context.js":
1933 /*!********************************************************************************!*\
1934 !*** ../core/app/modules/kit-library/assets/js/context/last-filter-context.js ***!
1935 \********************************************************************************/
1936 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1937
1938 "use strict";
1939 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1940
1941
1942 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
1943
1944 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
1945
1946 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
1947
1948 _Object$defineProperty(exports, "__esModule", {
1949 value: true
1950 });
1951
1952 exports.LastFilterProvider = LastFilterProvider;
1953 exports.useLastFilterContext = useLastFilterContext;
1954
1955 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1956
1957 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
1958
1959 var LastFilterContext = (0, _react.createContext)({});
1960 /**
1961 * Consume the context
1962 *
1963 * @returns {{}}
1964 */
1965
1966 function useLastFilterContext() {
1967 return (0, _react.useContext)(LastFilterContext);
1968 }
1969 /**
1970 * Settings Provider
1971 *
1972 * @param props
1973 * @returns {JSX.Element}
1974 * @constructor
1975 */
1976
1977
1978 function LastFilterProvider(props) {
1979 var _useState = (0, _react.useState)({}),
1980 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1981 lastFilter = _useState2[0],
1982 setLastFilter = _useState2[1];
1983
1984 return /*#__PURE__*/_react.default.createElement(LastFilterContext.Provider, {
1985 value: {
1986 lastFilter: lastFilter,
1987 setLastFilter: setLastFilter
1988 }
1989 }, props.children);
1990 }
1991
1992 LastFilterProvider.propTypes = {
1993 children: PropTypes.any
1994 };
1995
1996 /***/ }),
1997
1998 /***/ "../core/app/modules/kit-library/assets/js/context/settings-context.js":
1999 /*!*****************************************************************************!*\
2000 !*** ../core/app/modules/kit-library/assets/js/context/settings-context.js ***!
2001 \*****************************************************************************/
2002 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2003
2004 "use strict";
2005 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
2006
2007
2008 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2009
2010 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2011
2012 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
2013
2014 _Object$defineProperty(exports, "__esModule", {
2015 value: true
2016 });
2017
2018 exports.SettingsProvider = SettingsProvider;
2019 exports.useSettingsContext = useSettingsContext;
2020
2021 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2022
2023 var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
2024
2025 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
2026
2027 var SettingsContext = (0, _react.createContext)({});
2028 /**
2029 * Consume the context
2030 *
2031 * @returns {{emptyTrashDays: number}}
2032 */
2033
2034 function useSettingsContext() {
2035 return (0, _react.useContext)(SettingsContext);
2036 }
2037 /**
2038 * Settings Provider
2039 *
2040 * @param props
2041 * @returns {JSX.Element}
2042 * @constructor
2043 */
2044
2045
2046 function SettingsProvider(props) {
2047 var _useState = (0, _react.useState)({}),
2048 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2049 settings = _useState2[0],
2050 setSettings = _useState2[1];
2051
2052 var updateSettings = (0, _react.useCallback)(function (newSettings) {
2053 setSettings(function (prev) {
2054 return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), newSettings);
2055 });
2056 }, [setSettings]);
2057 (0, _react.useEffect)(function () {
2058 setSettings(props.value);
2059 }, [setSettings]);
2060 return /*#__PURE__*/_react.default.createElement(SettingsContext.Provider, {
2061 value: {
2062 settings: settings,
2063 setSettings: setSettings,
2064 updateSettings: updateSettings
2065 }
2066 }, props.children);
2067 }
2068
2069 SettingsProvider.propTypes = {
2070 children: PropTypes.any,
2071 value: PropTypes.object.isRequired
2072 };
2073
2074 /***/ }),
2075
2076 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-content-types.js":
2077 /*!****************************************************************************!*\
2078 !*** ../core/app/modules/kit-library/assets/js/hooks/use-content-types.js ***!
2079 \****************************************************************************/
2080 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2081
2082 "use strict";
2083 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
2084
2085
2086 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2087
2088 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2089
2090 _Object$defineProperty(exports, "__esModule", {
2091 value: true
2092 });
2093
2094 exports.KEY = void 0;
2095 exports["default"] = useContentTypes;
2096
2097 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
2098
2099 var _promise = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/promise */ "../node_modules/@babel/runtime-corejs2/core-js/promise.js"));
2100
2101 var _contentType = _interopRequireDefault(__webpack_require__(/*! ../models/content-type */ "../core/app/modules/kit-library/assets/js/models/content-type.js"));
2102
2103 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2104
2105 var KEY = 'content-types';
2106 /**
2107 * The data should come from the server, this is a temp solution that helps to demonstrate that data comes from the server
2108 * but for now this is a local data.
2109 *
2110 * @returns {UseQueryResult<Promise.constructor, unknown>}
2111 */
2112
2113 exports.KEY = KEY;
2114
2115 function useContentTypes() {
2116 return (0, _reactQuery.useQuery)([KEY], fetchContentTypes);
2117 }
2118 /**
2119 * @returns {Promise.constructor}
2120 */
2121
2122
2123 function fetchContentTypes() {
2124 return _promise.default.resolve([{
2125 id: 'page',
2126 label: __('Pages', 'elementor'),
2127 doc_types: ['wp-page'],
2128 order: 0
2129 }, {
2130 id: 'site-parts',
2131 label: __('Site Parts', 'elementor'),
2132 doc_types: ['archive', 'error-404', 'footer', 'header', 'search-results', 'single-page', 'single-post', // WooCommerce types
2133 'product', 'product-archive', // Legacy Types
2134 '404', 'single'],
2135 order: 1
2136 }, {
2137 id: 'popup',
2138 label: __('Popups', 'elementor'),
2139 doc_types: ['popup'],
2140 order: 2
2141 }]).then(function (data) {
2142 return data.map(function (contentType) {
2143 return _contentType.default.createFromResponse(contentType);
2144 });
2145 });
2146 }
2147
2148 /***/ }),
2149
2150 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-debounced-callback.js":
2151 /*!*********************************************************************************!*\
2152 !*** ../core/app/modules/kit-library/assets/js/hooks/use-debounced-callback.js ***!
2153 \*********************************************************************************/
2154 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2155
2156 "use strict";
2157
2158
2159 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2160
2161 _Object$defineProperty(exports, "__esModule", {
2162 value: true
2163 });
2164
2165 exports["default"] = useDebouncedCallback;
2166
2167 var _react = __webpack_require__(/*! react */ "react");
2168
2169 function useDebouncedCallback(callback, wait) {
2170 var timeout = (0, _react.useRef)();
2171 return (0, _react.useCallback)(function () {
2172 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
2173 args[_key] = arguments[_key];
2174 }
2175
2176 var later = function later() {
2177 clearTimeout(timeout.current);
2178 callback.apply(void 0, args);
2179 };
2180
2181 clearTimeout(timeout.current);
2182 timeout.current = setTimeout(later, wait);
2183 }, [callback, wait]);
2184 }
2185
2186 /***/ }),
2187
2188 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-download-link-mutation.js":
2189 /*!*************************************************************************************!*\
2190 !*** ../core/app/modules/kit-library/assets/js/hooks/use-download-link-mutation.js ***!
2191 \*************************************************************************************/
2192 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2193
2194 "use strict";
2195
2196
2197 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2198
2199 _Object$defineProperty(exports, "__esModule", {
2200 value: true
2201 });
2202
2203 exports["default"] = useDownloadLinkMutation;
2204
2205 var _react = __webpack_require__(/*! react */ "react");
2206
2207 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2208
2209 function useDownloadLinkMutation(model, _ref) {
2210 var onError = _ref.onError,
2211 onSuccess = _ref.onSuccess;
2212 var downloadLink = (0, _react.useCallback)(function () {
2213 return $e.data.get('kits/download-link', {
2214 id: model.id
2215 }, {
2216 refresh: true
2217 });
2218 }, [model]);
2219 return (0, _reactQuery.useMutation)(downloadLink, {
2220 onSuccess: onSuccess,
2221 onError: onError
2222 });
2223 }
2224
2225 /***/ }),
2226
2227 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-kit-call-to-action.js":
2228 /*!*********************************************************************************!*\
2229 !*** ../core/app/modules/kit-library/assets/js/hooks/use-kit-call-to-action.js ***!
2230 \*********************************************************************************/
2231 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2232
2233 "use strict";
2234
2235
2236 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2237
2238 _Object$defineProperty(exports, "__esModule", {
2239 value: true
2240 });
2241
2242 exports.TYPE_PROMOTION = exports.TYPE_CONNECT = exports.TYPE_APPLY = void 0;
2243 exports["default"] = useKitCallToAction;
2244
2245 var _react = __webpack_require__(/*! react */ "react");
2246
2247 var _settingsContext = __webpack_require__(/*! ../context/settings-context */ "../core/app/modules/kit-library/assets/js/context/settings-context.js");
2248
2249 var TYPE_CONNECT = 'connect';
2250 exports.TYPE_CONNECT = TYPE_CONNECT;
2251 var TYPE_PROMOTION = 'promotion';
2252 exports.TYPE_PROMOTION = TYPE_PROMOTION;
2253 var TYPE_APPLY = 'apply';
2254 exports.TYPE_APPLY = TYPE_APPLY;
2255
2256 function useKitCallToAction(kitAccessLevel) {
2257 var _useSettingsContext = (0, _settingsContext.useSettingsContext)(),
2258 settings = _useSettingsContext.settings; // subscriptionPlan can be null when the context is not filled (can be happened when using back button in the browser.)
2259
2260
2261 var subscriptionPlan = (0, _react.useMemo)(function () {
2262 var _settings$subscriptio;
2263
2264 return (_settings$subscriptio = settings.subscription_plans) === null || _settings$subscriptio === void 0 ? void 0 : _settings$subscriptio[kitAccessLevel];
2265 }, [settings, kitAccessLevel]);
2266 var type = (0, _react.useMemo)(function () {
2267 // The user can apply this kit (the user access level is equal or greater then the kit access level).
2268 var isAuthorizeToApplyKit = settings.access_level >= kitAccessLevel; // The user in not connected and has pro plugin or the kit is a free kit.
2269
2270 if (!settings.is_library_connected && (settings.is_pro || isAuthorizeToApplyKit)) {
2271 return TYPE_CONNECT;
2272 } // The user is connected or has only core plugin and cannot access this kit.
2273
2274
2275 if (!isAuthorizeToApplyKit) {
2276 return TYPE_PROMOTION;
2277 } // The user is connected and can access the kit.
2278
2279
2280 return TYPE_APPLY;
2281 }, [settings, kitAccessLevel]);
2282 return [type, {
2283 subscriptionPlan: subscriptionPlan
2284 }];
2285 }
2286
2287 /***/ }),
2288
2289 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-kit-document-by-type.js":
2290 /*!***********************************************************************************!*\
2291 !*** ../core/app/modules/kit-library/assets/js/hooks/use-kit-document-by-type.js ***!
2292 \***********************************************************************************/
2293 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2294
2295 "use strict";
2296
2297
2298 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2299
2300 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2301
2302 _Object$defineProperty(exports, "__esModule", {
2303 value: true
2304 });
2305
2306 exports["default"] = useKitDocumentByType;
2307
2308 var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
2309
2310 var _useContentTypes = _interopRequireDefault(__webpack_require__(/*! ./use-content-types */ "../core/app/modules/kit-library/assets/js/hooks/use-content-types.js"));
2311
2312 var _react = __webpack_require__(/*! react */ "react");
2313
2314 function useKitDocumentByType(kit) {
2315 var contentTypesQuery = (0, _useContentTypes.default)();
2316 var data = (0, _react.useMemo)(function () {
2317 if (!kit || !contentTypesQuery.data) {
2318 return [];
2319 }
2320
2321 return kit.getDocumentsByTypes(contentTypesQuery.data).sort(function (a, b) {
2322 return a.order - b.order;
2323 });
2324 }, [kit, contentTypesQuery.data]);
2325 return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, contentTypesQuery), {}, {
2326 data: data
2327 });
2328 }
2329
2330 /***/ }),
2331
2332 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-kit-favorites-mutations.js":
2333 /*!**************************************************************************************!*\
2334 !*** ../core/app/modules/kit-library/assets/js/hooks/use-kit-favorites-mutations.js ***!
2335 \**************************************************************************************/
2336 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2337
2338 "use strict";
2339
2340
2341 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2342
2343 _Object$defineProperty(exports, "__esModule", {
2344 value: true
2345 });
2346
2347 exports.useKitFavoritesMutations = useKitFavoritesMutations;
2348
2349 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
2350
2351 var _react = __webpack_require__(/*! react */ "react");
2352
2353 var _useKits = __webpack_require__(/*! ../hooks/use-kits */ "../core/app/modules/kit-library/assets/js/hooks/use-kits.js");
2354
2355 var _useKit = __webpack_require__(/*! ../hooks/use-kit */ "../core/app/modules/kit-library/assets/js/hooks/use-kit.js");
2356
2357 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2358
2359 function useKitFavoritesMutations() {
2360 var queryClient = (0, _reactQuery.useQueryClient)();
2361 var onSuccess = (0, _react.useCallback)(function (_ref) {
2362 var data = _ref.data;
2363 var id = data.data.id;
2364 var isFavorite = data.data.is_favorite; // Update the kit list if the list exists.
2365
2366 if (queryClient.getQueryData([_useKits.KEY])) {
2367 queryClient.setQueryData([_useKits.KEY], function (kits) {
2368 if (!kits) {
2369 return kits;
2370 }
2371
2372 return kits.map(function (item) {
2373 if (item.id === id) {
2374 item.isFavorite = isFavorite; // Should return a new kit to trigger rerender.
2375
2376 return item.clone();
2377 }
2378
2379 return item;
2380 });
2381 });
2382 } // Update specific kit if the kit exists
2383
2384
2385 if (queryClient.getQueryData([_useKit.KEY, id])) {
2386 queryClient.setQueryData([_useKit.KEY, id], function (currentKit) {
2387 currentKit.isFavorite = isFavorite; // Should return a new kit to trigger rerender.
2388
2389 return currentKit.clone();
2390 });
2391 }
2392 }, [queryClient]);
2393 var addToFavorites = (0, _reactQuery.useMutation)(function (id) {
2394 return $e.data.create('kits/favorites', {}, {
2395 id: id
2396 });
2397 }, {
2398 onSuccess: onSuccess
2399 });
2400 var removeFromFavorites = (0, _reactQuery.useMutation)(function (id) {
2401 return $e.data.delete('kits/favorites', {
2402 id: id
2403 });
2404 }, {
2405 onSuccess: onSuccess
2406 });
2407 return {
2408 addToFavorites: addToFavorites,
2409 removeFromFavorites: removeFromFavorites,
2410 isLoading: addToFavorites.isLoading || removeFromFavorites.isLoading
2411 };
2412 }
2413
2414 /***/ }),
2415
2416 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-kit.js":
2417 /*!******************************************************************!*\
2418 !*** ../core/app/modules/kit-library/assets/js/hooks/use-kit.js ***!
2419 \******************************************************************/
2420 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2421
2422 "use strict";
2423
2424
2425 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2426
2427 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2428
2429 _Object$defineProperty(exports, "__esModule", {
2430 value: true
2431 });
2432
2433 exports.KEY = void 0;
2434 exports["default"] = useKit;
2435
2436 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
2437
2438 __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js");
2439
2440 var _kit = _interopRequireDefault(__webpack_require__(/*! ../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
2441
2442 var _useKits = __webpack_require__(/*! ./use-kits */ "../core/app/modules/kit-library/assets/js/hooks/use-kits.js");
2443
2444 var _react = __webpack_require__(/*! react */ "react");
2445
2446 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2447
2448 var KEY = 'kit';
2449 exports.KEY = KEY;
2450
2451 function useKit(id) {
2452 // A function that returns existing data from the kit list for a placeholder data before the kit request will resolved.
2453 var placeholderDataCallback = usePlaceholderDataCallback(id);
2454 return (0, _reactQuery.useQuery)([KEY, id], fetchKitItem, {
2455 placeholderData: placeholderDataCallback
2456 });
2457 }
2458 /**
2459 * Return placeholder function for kit query.
2460 *
2461 * @param id
2462 * @returns {function(): (undefined|*)}
2463 */
2464
2465
2466 function usePlaceholderDataCallback(id) {
2467 var queryClient = (0, _reactQuery.useQueryClient)();
2468 return (0, _react.useCallback)(function () {
2469 var _queryClient$getQuery;
2470
2471 var placeholder = (_queryClient$getQuery = queryClient.getQueryData(_useKits.KEY)) === null || _queryClient$getQuery === void 0 ? void 0 : _queryClient$getQuery.find(function (kit) {
2472 return kit.id === id;
2473 });
2474
2475 if (!placeholder) {
2476 return;
2477 }
2478
2479 return placeholder;
2480 }, [queryClient, id]);
2481 }
2482 /**
2483 * Fetch kit
2484 *
2485 * @param key
2486 * @param id
2487 * @returns {Promise<Kit>}
2488 */
2489
2490
2491 function fetchKitItem(_ref) {
2492 var _ref$queryKey = (0, _slicedToArray2.default)(_ref.queryKey, 2),
2493 id = _ref$queryKey[1];
2494
2495 return $e.data.get('kits/index', {
2496 id: id
2497 }, {
2498 refresh: true
2499 }).then(function (response) {
2500 return response.data;
2501 }).then(function (_ref2) {
2502 var data = _ref2.data;
2503 return _kit.default.createFromResponse(data);
2504 });
2505 }
2506
2507 /***/ }),
2508
2509 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-kits.js":
2510 /*!*******************************************************************!*\
2511 !*** ../core/app/modules/kit-library/assets/js/hooks/use-kits.js ***!
2512 \*******************************************************************/
2513 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2514
2515 "use strict";
2516
2517
2518 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2519
2520 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2521
2522 _Object$defineProperty(exports, "__esModule", {
2523 value: true
2524 });
2525
2526 exports.KEY = void 0;
2527 exports["default"] = useKits;
2528 exports.defaultQueryParams = void 0;
2529
2530 var _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js"));
2531
2532 __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js");
2533
2534 __webpack_require__(/*! core-js/modules/es6.regexp.search.js */ "../node_modules/core-js/modules/es6.regexp.search.js");
2535
2536 __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js");
2537
2538 __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js");
2539
2540 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
2541
2542 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
2543
2544 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js"));
2545
2546 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
2547
2548 var _objectSpread3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
2549
2550 var _kit = _interopRequireDefault(__webpack_require__(/*! ../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
2551
2552 var _useSelectedTaxonomies = _interopRequireDefault(__webpack_require__(/*! ./use-selected-taxonomies */ "../core/app/modules/kit-library/assets/js/hooks/use-selected-taxonomies.js"));
2553
2554 var _taxonomy = __webpack_require__(/*! ../models/taxonomy */ "../core/app/modules/kit-library/assets/js/models/taxonomy.js");
2555
2556 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2557
2558 var _react = __webpack_require__(/*! react */ "react");
2559
2560 var KEY = 'kits';
2561 /**
2562 * The default query params
2563 *
2564 * @type {object}
2565 */
2566
2567 exports.KEY = KEY;
2568 var defaultQueryParams = {
2569 favorite: false,
2570 search: '',
2571 taxonomies: _taxonomy.taxonomyType.reduce(function (current, _ref) {
2572 var key = _ref.key;
2573 return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, current), {}, (0, _defineProperty2.default)({}, key, []));
2574 }, {}),
2575 order: {
2576 direction: 'desc',
2577 by: 'featuredIndex'
2578 },
2579 referrer: null
2580 };
2581 exports.defaultQueryParams = defaultQueryParams;
2582 var kitsPipeFunctions = {
2583 /**
2584 * Filter by favorite
2585 *
2586 * @param data
2587 * @param queryParams
2588 * @returns {array}
2589 */
2590 favoriteFilter: function favoriteFilter(data, queryParams) {
2591 if (!queryParams.favorite) {
2592 return data;
2593 }
2594
2595 return data.filter(function (item) {
2596 return item.isFavorite;
2597 });
2598 },
2599
2600 /**
2601 * filter by search term.
2602 *
2603 * @param data
2604 * @param queryParams
2605 * @returns {array}
2606 */
2607 searchFilter: function searchFilter(data, queryParams) {
2608 if (!queryParams.search) {
2609 return data;
2610 }
2611
2612 return data.filter(function (item) {
2613 var keywords = [].concat((0, _toConsumableArray2.default)(item.keywords), (0, _toConsumableArray2.default)(item.taxonomies), [item.title]);
2614 var searchTerm = queryParams.search.toLowerCase();
2615 return keywords.some(function (keyword) {
2616 return keyword.toLowerCase().includes(searchTerm);
2617 });
2618 });
2619 },
2620
2621 /**
2622 * Filter by taxonomies.
2623 * In each taxonomy type it use the OR operator and between types it uses the AND operator.
2624 *
2625 * @param data
2626 * @param queryParams
2627 * @returns {array}
2628 */
2629 taxonomiesFilter: function taxonomiesFilter(data, queryParams) {
2630 return (0, _values.default)(queryParams.taxonomies).filter(function (taxonomies) {
2631 return taxonomies.length;
2632 }).reduce(function (current, taxonomies) {
2633 return current.filter(function (item) {
2634 return taxonomies.some(function (taxonomy) {
2635 return item.taxonomies.some(function (itemTaxonomy) {
2636 return taxonomy === itemTaxonomy;
2637 });
2638 });
2639 });
2640 }, data);
2641 },
2642
2643 /**
2644 * Sort all the data by the "order" query param
2645 *
2646 * @param data
2647 * @param queryParams
2648 * @returns {array}
2649 */
2650 sort: function sort(data, queryParams) {
2651 var order = queryParams.order;
2652 return data.sort(function (item1, item2) {
2653 if ('asc' === order.direction) {
2654 return item1[order.by] - item2[order.by];
2655 }
2656
2657 return item2[order.by] - item1[order.by];
2658 });
2659 }
2660 };
2661 /**
2662 * A util function to transform data throw transform functions
2663 *
2664 * @param functions
2665 * @returns {function(*=, ...[*]): *}
2666 */
2667
2668 function pipe() {
2669 for (var _len = arguments.length, functions = new Array(_len), _key = 0; _key < _len; _key++) {
2670 functions[_key] = arguments[_key];
2671 }
2672
2673 return function (value) {
2674 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
2675 args[_key2 - 1] = arguments[_key2];
2676 }
2677
2678 return functions.reduce(function (currentValue, currentFunction) {
2679 return currentFunction.apply(void 0, [currentValue].concat(args));
2680 }, value);
2681 };
2682 }
2683 /**
2684 * Fetch kits
2685 *
2686 * @param force
2687 * @returns {*}
2688 */
2689
2690
2691 function fetchKits(force) {
2692 return $e.data.get('kits/index', {
2693 force: force ? 1 : undefined
2694 }, {
2695 refresh: true
2696 }).then(function (response) {
2697 return response.data;
2698 }).then(function (_ref2) {
2699 var data = _ref2.data;
2700 return data.map(function (item) {
2701 return _kit.default.createFromResponse(item);
2702 });
2703 });
2704 }
2705 /**
2706 * Main function.
2707 *
2708 * @param initialQueryParams
2709 * @returns {object}
2710 */
2711
2712
2713 function useKits() {
2714 var initialQueryParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2715
2716 var _useState = (0, _react.useState)(false),
2717 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2718 force = _useState2[0],
2719 setForce = _useState2[1];
2720
2721 var _useState3 = (0, _react.useState)(function () {
2722 return (0, _objectSpread3.default)((0, _objectSpread3.default)({
2723 ready: false
2724 }, defaultQueryParams), initialQueryParams);
2725 }),
2726 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2727 queryParams = _useState4[0],
2728 setQueryParams = _useState4[1];
2729
2730 var forceRefetch = (0, _react.useCallback)(function () {
2731 return setForce(true);
2732 }, [setForce]);
2733 var clearQueryParams = (0, _react.useCallback)(function () {
2734 return setQueryParams((0, _objectSpread3.default)((0, _objectSpread3.default)({
2735 ready: true
2736 }, defaultQueryParams), initialQueryParams));
2737 }, [setQueryParams]);
2738 var query = (0, _reactQuery.useQuery)([KEY], function () {
2739 return fetchKits(force);
2740 });
2741 var data = (0, _react.useMemo)(function () {
2742 return !query.data ? [] : pipe.apply(void 0, (0, _toConsumableArray2.default)((0, _values.default)(kitsPipeFunctions)))((0, _toConsumableArray2.default)(query.data), queryParams);
2743 }, [query.data, queryParams]);
2744 var selectedTaxonomies = (0, _useSelectedTaxonomies.default)(queryParams.taxonomies);
2745 var isFilterActive = (0, _react.useMemo)(function () {
2746 return !!queryParams.search || !!selectedTaxonomies.length;
2747 }, [queryParams]);
2748 (0, _react.useEffect)(function () {
2749 if (!force) {
2750 return;
2751 }
2752
2753 query.refetch().then(function () {
2754 return setForce(false);
2755 });
2756 }, [force]);
2757 return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, query), {}, {
2758 data: data,
2759 queryParams: queryParams,
2760 setQueryParams: setQueryParams,
2761 clearQueryParams: clearQueryParams,
2762 forceRefetch: forceRefetch,
2763 isFilterActive: isFilterActive
2764 });
2765 }
2766
2767 /***/ }),
2768
2769 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-selected-taxonomies.js":
2770 /*!**********************************************************************************!*\
2771 !*** ../core/app/modules/kit-library/assets/js/hooks/use-selected-taxonomies.js ***!
2772 \**********************************************************************************/
2773 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2774
2775 "use strict";
2776
2777
2778 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2779
2780 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2781
2782 _Object$defineProperty(exports, "__esModule", {
2783 value: true
2784 });
2785
2786 exports["default"] = useSelectedTaxonomies;
2787
2788 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js"));
2789
2790 var _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js"));
2791
2792 var _react = __webpack_require__(/*! react */ "react");
2793
2794 function useSelectedTaxonomies(taxonomiesFilter) {
2795 return (0, _react.useMemo)(function () {
2796 return (0, _values.default)(taxonomiesFilter).reduce(function (current, groupedTaxonomies) {
2797 return [].concat((0, _toConsumableArray2.default)(current), (0, _toConsumableArray2.default)(groupedTaxonomies));
2798 });
2799 }, [taxonomiesFilter]);
2800 }
2801
2802 /***/ }),
2803
2804 /***/ "../core/app/modules/kit-library/assets/js/hooks/use-taxonomies.js":
2805 /*!*************************************************************************!*\
2806 !*** ../core/app/modules/kit-library/assets/js/hooks/use-taxonomies.js ***!
2807 \*************************************************************************/
2808 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2809
2810 "use strict";
2811
2812
2813 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2814
2815 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2816
2817 _Object$defineProperty(exports, "__esModule", {
2818 value: true
2819 });
2820
2821 exports.KEY = void 0;
2822 exports["default"] = useTaxonomies;
2823
2824 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
2825
2826 var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
2827
2828 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
2829
2830 var _taxonomy = _interopRequireDefault(__webpack_require__(/*! ../models/taxonomy */ "../core/app/modules/kit-library/assets/js/models/taxonomy.js"));
2831
2832 var _reactQuery = __webpack_require__(/*! react-query */ "../node_modules/react-query/es/index.js");
2833
2834 var _react = __webpack_require__(/*! react */ "react");
2835
2836 var KEY = 'tags';
2837 exports.KEY = KEY;
2838
2839 function useTaxonomies() {
2840 var _useState = (0, _react.useState)(false),
2841 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2842 force = _useState2[0],
2843 setForce = _useState2[1];
2844
2845 var forceRefetch = (0, _react.useCallback)(function () {
2846 return setForce(true);
2847 }, [setForce]);
2848 var query = (0, _reactQuery.useQuery)([KEY], function () {
2849 return fetchTaxonomies(force);
2850 });
2851 (0, _react.useEffect)(function () {
2852 if (!force) {
2853 return;
2854 }
2855
2856 query.refetch().then(function () {
2857 return setForce(false);
2858 });
2859 }, [force]);
2860 return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, query), {}, {
2861 forceRefetch: forceRefetch
2862 });
2863 }
2864
2865 function fetchTaxonomies(force) {
2866 return $e.data.get('kit-taxonomies/index', {
2867 force: force ? 1 : undefined
2868 }, {
2869 refresh: true
2870 }).then(function (response) {
2871 return response.data;
2872 }).then(function (_ref) {
2873 var data = _ref.data;
2874 return data.map(function (taxonomy) {
2875 return _taxonomy.default.createFromResponse(taxonomy);
2876 });
2877 });
2878 }
2879
2880 /***/ }),
2881
2882 /***/ "../core/app/modules/kit-library/assets/js/models/base-model.js":
2883 /*!**********************************************************************!*\
2884 !*** ../core/app/modules/kit-library/assets/js/models/base-model.js ***!
2885 \**********************************************************************/
2886 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2887
2888 "use strict";
2889
2890
2891 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2892
2893 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2894
2895 _Object$defineProperty(exports, "__esModule", {
2896 value: true
2897 });
2898
2899 exports["default"] = void 0;
2900
2901 var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js"));
2902
2903 var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js"));
2904
2905 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
2906
2907 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
2908
2909 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
2910
2911 var BaseModel = /*#__PURE__*/function () {
2912 function BaseModel() {
2913 (0, _classCallCheck2.default)(this, BaseModel);
2914 }
2915
2916 (0, _createClass2.default)(BaseModel, [{
2917 key: "clone",
2918 value:
2919 /**
2920 * Clone to object to avoid changing the reference.
2921 *
2922 * @returns {BaseModel}
2923 */
2924 function clone() {
2925 var _this = this;
2926
2927 var instance = new this.constructor();
2928 (0, _keys.default)(this).forEach(function (key) {
2929 instance[key] = _this[key];
2930 });
2931 return instance;
2932 }
2933 /**
2934 * Using init and not the default constructor because there is a problem to fill the instance
2935 * dynamically in the constructor.
2936 *
2937 * @param data
2938 * @returns {BaseModel}
2939 */
2940
2941 }, {
2942 key: "init",
2943 value: function init() {
2944 var _this2 = this;
2945
2946 var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2947 (0, _entries.default)(data).forEach(function (_ref) {
2948 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
2949 key = _ref2[0],
2950 value = _ref2[1];
2951
2952 _this2[key] = value;
2953 });
2954 return this;
2955 }
2956 }]);
2957 return BaseModel;
2958 }();
2959
2960 exports["default"] = BaseModel;
2961
2962 /***/ }),
2963
2964 /***/ "../core/app/modules/kit-library/assets/js/models/content-type.js":
2965 /*!************************************************************************!*\
2966 !*** ../core/app/modules/kit-library/assets/js/models/content-type.js ***!
2967 \************************************************************************/
2968 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2969
2970 "use strict";
2971
2972
2973 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
2974
2975 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
2976
2977 _Object$defineProperty(exports, "__esModule", {
2978 value: true
2979 });
2980
2981 exports["default"] = void 0;
2982
2983 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
2984
2985 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
2986
2987 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js"));
2988
2989 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js"));
2990
2991 var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js"));
2992
2993 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
2994
2995 var _baseModel = _interopRequireDefault(__webpack_require__(/*! ./base-model */ "../core/app/modules/kit-library/assets/js/models/base-model.js"));
2996
2997 var ContentType = /*#__PURE__*/function (_BaseModel) {
2998 (0, _inherits2.default)(ContentType, _BaseModel);
2999
3000 var _super = (0, _createSuper2.default)(ContentType);
3001
3002 function ContentType() {
3003 var _this;
3004
3005 (0, _classCallCheck2.default)(this, ContentType);
3006
3007 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3008 args[_key] = arguments[_key];
3009 }
3010
3011 _this = _super.call.apply(_super, [this].concat(args));
3012 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "id", '');
3013 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "label", '');
3014 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "documentTypes", []);
3015 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "documents", []);
3016 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "order", 0);
3017 return _this;
3018 }
3019
3020 (0, _createClass2.default)(ContentType, null, [{
3021 key: "createFromResponse",
3022 value: function createFromResponse(documentType) {
3023 return new ContentType().init({
3024 id: documentType.id,
3025 label: documentType.label,
3026 documentTypes: documentType.doc_types,
3027 order: documentType.order,
3028 documents: []
3029 });
3030 }
3031 }]);
3032 return ContentType;
3033 }(_baseModel.default);
3034
3035 exports["default"] = ContentType;
3036
3037 /***/ }),
3038
3039 /***/ "../core/app/modules/kit-library/assets/js/models/document.js":
3040 /*!********************************************************************!*\
3041 !*** ../core/app/modules/kit-library/assets/js/models/document.js ***!
3042 \********************************************************************/
3043 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3044
3045 "use strict";
3046
3047
3048 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3049
3050 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3051
3052 _Object$defineProperty(exports, "__esModule", {
3053 value: true
3054 });
3055
3056 exports["default"] = void 0;
3057
3058 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
3059
3060 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
3061
3062 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js"));
3063
3064 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js"));
3065
3066 var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js"));
3067
3068 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
3069
3070 var _baseModel = _interopRequireDefault(__webpack_require__(/*! ./base-model */ "../core/app/modules/kit-library/assets/js/models/base-model.js"));
3071
3072 var Document = /*#__PURE__*/function (_BaseModel) {
3073 (0, _inherits2.default)(Document, _BaseModel);
3074
3075 var _super = (0, _createSuper2.default)(Document);
3076
3077 function Document() {
3078 var _this;
3079
3080 (0, _classCallCheck2.default)(this, Document);
3081
3082 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3083 args[_key] = arguments[_key];
3084 }
3085
3086 _this = _super.call.apply(_super, [this].concat(args));
3087 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "id", '');
3088 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "title", '');
3089 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "documentType", '');
3090 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "thumbnailUrl", '');
3091 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewUrl", '');
3092 return _this;
3093 }
3094
3095 (0, _createClass2.default)(Document, null, [{
3096 key: "createFromResponse",
3097 value:
3098 /**
3099 * Create a tag from server response
3100 *
3101 * @param document
3102 */
3103 function createFromResponse(document) {
3104 return new Document().init({
3105 id: document.id,
3106 title: document.title,
3107 documentType: document.doc_type,
3108 thumbnailUrl: document.thumbnail_url,
3109 previewUrl: document.preview_url
3110 });
3111 }
3112 }]);
3113 return Document;
3114 }(_baseModel.default);
3115
3116 exports["default"] = Document;
3117
3118 /***/ }),
3119
3120 /***/ "../core/app/modules/kit-library/assets/js/models/kit.js":
3121 /*!***************************************************************!*\
3122 !*** ../core/app/modules/kit-library/assets/js/models/kit.js ***!
3123 \***************************************************************/
3124 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3125
3126 "use strict";
3127
3128
3129 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3130
3131 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3132
3133 _Object$defineProperty(exports, "__esModule", {
3134 value: true
3135 });
3136
3137 exports["default"] = void 0;
3138
3139 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
3140
3141 __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js");
3142
3143 __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js");
3144
3145 __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js");
3146
3147 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
3148
3149 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
3150
3151 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js"));
3152
3153 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js"));
3154
3155 var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js"));
3156
3157 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
3158
3159 var _baseModel = _interopRequireDefault(__webpack_require__(/*! ./base-model */ "../core/app/modules/kit-library/assets/js/models/base-model.js"));
3160
3161 var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../core/app/modules/kit-library/assets/js/models/document.js"));
3162
3163 var Kit = /*#__PURE__*/function (_BaseModel) {
3164 (0, _inherits2.default)(Kit, _BaseModel);
3165
3166 var _super = (0, _createSuper2.default)(Kit);
3167
3168 function Kit() {
3169 var _this;
3170
3171 (0, _classCallCheck2.default)(this, Kit);
3172
3173 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3174 args[_key] = arguments[_key];
3175 }
3176
3177 _this = _super.call.apply(_super, [this].concat(args));
3178 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "id", '');
3179 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "title", '');
3180 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "description", '');
3181 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isFavorite", false);
3182 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "thumbnailUrl", null);
3183 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewUrl", '');
3184 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accessLevel", 0);
3185 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "trendIndex", null);
3186 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "popularityIndex", null);
3187 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "featuredIndex", null);
3188 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createdAt", null);
3189 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updatedAt", null);
3190 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "keywords", []);
3191 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "taxonomies", []);
3192 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "documents", []);
3193 return _this;
3194 }
3195
3196 (0, _createClass2.default)(Kit, [{
3197 key: "getDocumentsByTypes",
3198 value:
3199 /**
3200 * Get content types as param and group all the documents based on it.
3201 *
3202 * @param {ContentType[]} contentTypes
3203 * @returns {ContentType[]}
3204 */
3205 function getDocumentsByTypes(contentTypes) {
3206 var _this2 = this;
3207
3208 return contentTypes.map(function (contentType) {
3209 contentType = contentType.clone();
3210 contentType.documents = _this2.documents.filter(function (document) {
3211 return contentType.documentTypes.includes(document.documentType);
3212 });
3213 return contentType;
3214 });
3215 }
3216 }], [{
3217 key: "createFromResponse",
3218 value:
3219 /**
3220 * Create a kit from server response
3221 *
3222 * @param kit
3223 */
3224 function createFromResponse(kit) {
3225 return new Kit().init({
3226 id: kit.id,
3227 title: kit.title,
3228 description: kit.description,
3229 isFavorite: kit.is_favorite,
3230 thumbnailUrl: kit.thumbnail_url,
3231 previewUrl: kit.preview_url,
3232 accessLevel: kit.access_level,
3233 trendIndex: kit.trend_index,
3234 popularityIndex: kit.popularity_index,
3235 featuredIndex: kit.featured_index,
3236 // TODO: Remove when the API is stable (when date params always exists)
3237 createdAt: kit.created_at ? new Date(kit.created_at) : null,
3238 updatedAt: kit.updated_at ? new Date(kit.updated_at) : null,
3239 //
3240 keywords: kit.keywords,
3241 taxonomies: kit.taxonomies,
3242 documents: kit.documents ? kit.documents.map(function (document) {
3243 return _document.default.createFromResponse(document);
3244 }) : []
3245 });
3246 }
3247 }]);
3248 return Kit;
3249 }(_baseModel.default);
3250
3251 exports["default"] = Kit;
3252
3253 /***/ }),
3254
3255 /***/ "../core/app/modules/kit-library/assets/js/models/taxonomy.js":
3256 /*!********************************************************************!*\
3257 !*** ../core/app/modules/kit-library/assets/js/models/taxonomy.js ***!
3258 \********************************************************************/
3259 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3260
3261 "use strict";
3262 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3263
3264
3265 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3266
3267 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3268
3269 _Object$defineProperty(exports, "__esModule", {
3270 value: true
3271 });
3272
3273 exports.taxonomyType = exports["default"] = void 0;
3274
3275 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js"));
3276
3277 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js"));
3278
3279 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js"));
3280
3281 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js"));
3282
3283 var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js"));
3284
3285 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
3286
3287 var _baseModel = _interopRequireDefault(__webpack_require__(/*! ./base-model */ "../core/app/modules/kit-library/assets/js/models/base-model.js"));
3288
3289 var taxonomyType = [{
3290 key: 'categories',
3291 label: __('Categories', 'elementor'),
3292 isOpenByDefault: true
3293 }, {
3294 key: 'tags',
3295 label: __('Tags', 'elementor')
3296 }, {
3297 key: 'types',
3298 label: __('Kit Types', 'elementor')
3299 }, {
3300 key: 'features',
3301 label: __('Features', 'elementor')
3302 }, {
3303 key: 'subscription_plans',
3304 label: __('Kits by plan', 'elementor')
3305 }];
3306 exports.taxonomyType = taxonomyType;
3307
3308 var Taxonomy = /*#__PURE__*/function (_BaseModel) {
3309 (0, _inherits2.default)(Taxonomy, _BaseModel);
3310
3311 var _super = (0, _createSuper2.default)(Taxonomy);
3312
3313 function Taxonomy() {
3314 var _this;
3315
3316 (0, _classCallCheck2.default)(this, Taxonomy);
3317
3318 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3319 args[_key] = arguments[_key];
3320 }
3321
3322 _this = _super.call.apply(_super, [this].concat(args));
3323 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "text", '');
3324 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'tag');
3325 return _this;
3326 }
3327
3328 (0, _createClass2.default)(Taxonomy, null, [{
3329 key: "createFromResponse",
3330 value:
3331 /**
3332 * Create a tag from server response
3333 *
3334 * @param taxonomy
3335 */
3336 function createFromResponse(taxonomy) {
3337 return new Taxonomy().init({
3338 text: taxonomy.text,
3339 type: taxonomy.type
3340 });
3341 }
3342 }]);
3343 return Taxonomy;
3344 }(_baseModel.default);
3345
3346 exports["default"] = Taxonomy;
3347
3348 /***/ }),
3349
3350 /***/ "../core/app/modules/kit-library/assets/js/pages/favorites/favorites.js":
3351 /*!******************************************************************************!*\
3352 !*** ../core/app/modules/kit-library/assets/js/pages/favorites/favorites.js ***!
3353 \******************************************************************************/
3354 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3355
3356 "use strict";
3357 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3358 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3359
3360
3361 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3362
3363 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3364
3365 _Object$defineProperty(exports, "__esModule", {
3366 value: true
3367 });
3368
3369 exports["default"] = Favorites;
3370
3371 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3372
3373 var _index = _interopRequireDefault(__webpack_require__(/*! ../index/index */ "../core/app/modules/kit-library/assets/js/pages/index/index.js"));
3374
3375 var _errorScreen = _interopRequireDefault(__webpack_require__(/*! ../../components/error-screen */ "../core/app/modules/kit-library/assets/js/components/error-screen.js"));
3376
3377 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
3378
3379 function Favorites(props) {
3380 var navigate = (0, _router.useNavigate)();
3381
3382 var indexNotResultsFavorites = /*#__PURE__*/_react.default.createElement(_errorScreen.default, {
3383 title: __('No favorites here yet...', 'elementor'),
3384 description: __('Use the heart icon to save kits that inspire you. You\'ll be able to find them here.', 'elementor'),
3385 button: {
3386 text: __('Continue browsing.', 'elementor'),
3387 action: function action() {
3388 return navigate('/kit-library');
3389 }
3390 }
3391 });
3392
3393 return /*#__PURE__*/_react.default.createElement(_index.default, {
3394 path: props.path,
3395 initialQueryParams: {
3396 favorite: true
3397 },
3398 renderNoResultsComponent: function renderNoResultsComponent(_ref) {
3399 var defaultComponent = _ref.defaultComponent,
3400 isFilterActive = _ref.isFilterActive;
3401
3402 if (!isFilterActive) {
3403 return indexNotResultsFavorites;
3404 }
3405
3406 return defaultComponent;
3407 }
3408 });
3409 }
3410
3411 Favorites.propTypes = {
3412 path: PropTypes.string
3413 };
3414
3415 /***/ }),
3416
3417 /***/ "../core/app/modules/kit-library/assets/js/pages/index/index-header.js":
3418 /*!*****************************************************************************!*\
3419 !*** ../core/app/modules/kit-library/assets/js/pages/index/index-header.js ***!
3420 \*****************************************************************************/
3421 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3422
3423 "use strict";
3424 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3425 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3426
3427
3428 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3429
3430 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3431
3432 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
3433
3434 _Object$defineProperty(exports, "__esModule", {
3435 value: true
3436 });
3437
3438 exports["default"] = IndexHeader;
3439
3440 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3441
3442 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
3443
3444 var _header = _interopRequireDefault(__webpack_require__(/*! ../../components/layout/header */ "../core/app/modules/kit-library/assets/js/components/layout/header.js"));
3445
3446 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
3447
3448 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
3449
3450 var _popoverDialog = _interopRequireDefault(__webpack_require__(/*! elementor-app/ui/popover-dialog/popover-dialog */ "../core/app/assets/js/ui/popover-dialog/popover-dialog.js"));
3451
3452 __webpack_require__(/*! ./index-header.scss */ "../core/app/modules/kit-library/assets/js/pages/index/index-header.scss");
3453
3454 function IndexHeader(props) {
3455 var navigate = (0, _router.useNavigate)();
3456
3457 var _useState = (0, _react.useState)(false),
3458 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3459 isInfoModalOpen = _useState2[0],
3460 setIsInfoModalOpen = _useState2[1];
3461
3462 var importRef = (0, _react.useRef)();
3463 var buttons = (0, _react.useMemo)(function () {
3464 return [{
3465 id: 'info',
3466 text: __('Info', 'elementor-pro'),
3467 hideText: true,
3468 icon: 'eicon-info-circle-o',
3469 onClick: function onClick() {
3470 return setIsInfoModalOpen(true);
3471 }
3472 }, {
3473 id: 'refetch',
3474 text: __('Refetch', 'elementor-pro'),
3475 hideText: true,
3476 icon: "eicon-sync ".concat(props.isFetching ? 'eicon-animation-spin' : ''),
3477 onClick: props.refetch
3478 }, {
3479 id: 'import',
3480 text: __('Import', 'elementor-pro'),
3481 hideText: true,
3482 icon: 'eicon-upload-circle-o',
3483 elRef: importRef,
3484 onClick: function onClick() {
3485 return navigate('/import?referrer=kit-library');
3486 }
3487 }];
3488 }, [props.isFetching, props.refetch]);
3489 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_header.default, {
3490 buttons: buttons
3491 }), /*#__PURE__*/_react.default.createElement(_popoverDialog.default, {
3492 targetRef: importRef,
3493 wrapperClass: "e-kit-library__tooltip"
3494 }, __('Import Kit', 'elementor')), /*#__PURE__*/_react.default.createElement(_appUi.ModalProvider, {
3495 title: __('Welcome to the Library', 'elementor'),
3496 show: isInfoModalOpen,
3497 setShow: setIsInfoModalOpen
3498 }, /*#__PURE__*/_react.default.createElement("div", {
3499 className: "e-kit-library-header-info-modal-container"
3500 }, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
3501 tag: "h3",
3502 variant: "h3"
3503 }, __('What\'s a kit?', 'elementor')), /*#__PURE__*/_react.default.createElement(_appUi.Text, null, __('A Template Kit is full, ready-made design that you can apply to your site. It includes all the pages, parts, settings and content that you\'d expect in a fully functional website.', 'elementor'))), /*#__PURE__*/_react.default.createElement("div", {
3504 className: "e-kit-library-header-info-modal-container"
3505 }, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
3506 tag: "h3",
3507 variant: "h3"
3508 }, __('What\'s going on in the Kit Library?', 'elementor')), /*#__PURE__*/_react.default.createElement(_appUi.Text, null, __('Search & filter for kits by category and tags, or browse through individual kits to see what\'s inside.', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), __('Once you\'ve picked a winner, apply it to your site!', 'elementor'))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
3509 tag: "h3",
3510 variant: "h3"
3511 }, __('Happy browsing!', 'elementor')), /*#__PURE__*/_react.default.createElement(_appUi.Text, null, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
3512 url: "https://go.elementor.com/app-kit-library-how-to-use-kits",
3513 target: "_blank",
3514 rel: "noreferrer",
3515 text: __('Learn more', 'elementor'),
3516 color: "link"
3517 }), ' ', __('about using templates', 'elementor')))));
3518 }
3519
3520 IndexHeader.propTypes = {
3521 refetch: PropTypes.func.isRequired,
3522 isFetching: PropTypes.bool
3523 };
3524
3525 /***/ }),
3526
3527 /***/ "../core/app/modules/kit-library/assets/js/pages/index/index-sidebar.js":
3528 /*!******************************************************************************!*\
3529 !*** ../core/app/modules/kit-library/assets/js/pages/index/index-sidebar.js ***!
3530 \******************************************************************************/
3531 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3532
3533 "use strict";
3534 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3535
3536
3537 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3538
3539 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3540
3541 _Object$defineProperty(exports, "__esModule", {
3542 value: true
3543 });
3544
3545 exports["default"] = IndexSidebar;
3546
3547 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3548
3549 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
3550
3551 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
3552
3553 function IndexSidebar(props) {
3554 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.menuItems.map(function (item) {
3555 return /*#__PURE__*/_react.default.createElement(_appUi.MenuItem, {
3556 key: item.label,
3557 text: item.label,
3558 className: "eps-menu-item__link ".concat(item.isActive ? 'eps-menu-item--active' : ''),
3559 icon: item.icon,
3560 url: item.url
3561 });
3562 }), props.tagsFilterSlot);
3563 }
3564
3565 IndexSidebar.propTypes = {
3566 tagsFilterSlot: PropTypes.node,
3567 menuItems: PropTypes.arrayOf(PropTypes.shape({
3568 label: PropTypes.string,
3569 icon: PropTypes.string,
3570 isActive: PropTypes.bool,
3571 url: PropTypes.string
3572 }))
3573 };
3574
3575 /***/ }),
3576
3577 /***/ "../core/app/modules/kit-library/assets/js/pages/index/index.js":
3578 /*!**********************************************************************!*\
3579 !*** ../core/app/modules/kit-library/assets/js/pages/index/index.js ***!
3580 \**********************************************************************/
3581 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3582
3583 "use strict";
3584 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3585 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3586
3587
3588 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3589
3590 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3591
3592 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
3593
3594 _Object$defineProperty(exports, "__esModule", {
3595 value: true
3596 });
3597
3598 exports["default"] = Index;
3599
3600 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3601
3602 __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js");
3603
3604 __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js");
3605
3606 __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js");
3607
3608 __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js");
3609
3610 __webpack_require__(/*! core-js/modules/es6.regexp.split.js */ "../node_modules/core-js/modules/es6.regexp.split.js");
3611
3612 __webpack_require__(/*! core-js/modules/es6.regexp.search.js */ "../node_modules/core-js/modules/es6.regexp.search.js");
3613
3614 var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js"));
3615
3616 var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js"));
3617
3618 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js"));
3619
3620 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"));
3621
3622 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
3623
3624 var _objectSpread4 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js"));
3625
3626 var _content = _interopRequireDefault(__webpack_require__(/*! ../../../../../../assets/js/layout/content */ "../core/app/assets/js/layout/content.js"));
3627
3628 var _envatoPromotion = _interopRequireDefault(__webpack_require__(/*! ../../components/envato-promotion */ "../core/app/modules/kit-library/assets/js/components/envato-promotion.js"));
3629
3630 var _errorScreen = _interopRequireDefault(__webpack_require__(/*! ../../components/error-screen */ "../core/app/modules/kit-library/assets/js/components/error-screen.js"));
3631
3632 var _filterIndicationText = _interopRequireDefault(__webpack_require__(/*! ../../components/filter-indication-text */ "../core/app/modules/kit-library/assets/js/components/filter-indication-text.js"));
3633
3634 var _indexHeader = _interopRequireDefault(__webpack_require__(/*! ./index-header */ "../core/app/modules/kit-library/assets/js/pages/index/index-header.js"));
3635
3636 var _indexSidebar = _interopRequireDefault(__webpack_require__(/*! ./index-sidebar */ "../core/app/modules/kit-library/assets/js/pages/index/index-sidebar.js"));
3637
3638 var _kitList = _interopRequireDefault(__webpack_require__(/*! ../../components/kit-list */ "../core/app/modules/kit-library/assets/js/components/kit-list.js"));
3639
3640 var _layout = _interopRequireDefault(__webpack_require__(/*! ../../components/layout */ "../core/app/modules/kit-library/assets/js/components/layout/index.js"));
3641
3642 var _pageLoader = _interopRequireDefault(__webpack_require__(/*! ../../components/page-loader */ "../core/app/modules/kit-library/assets/js/components/page-loader.js"));
3643
3644 var _searchInput = _interopRequireDefault(__webpack_require__(/*! ../../components/search-input */ "../core/app/modules/kit-library/assets/js/components/search-input.js"));
3645
3646 var _sortSelect = _interopRequireDefault(__webpack_require__(/*! ../../components/sort-select */ "../core/app/modules/kit-library/assets/js/components/sort-select.js"));
3647
3648 var _taxonomiesFilter = _interopRequireDefault(__webpack_require__(/*! ../../components/taxonomies-filter */ "../core/app/modules/kit-library/assets/js/components/taxonomies-filter.js"));
3649
3650 var _useKits2 = _interopRequireWildcard(__webpack_require__(/*! ../../hooks/use-kits */ "../core/app/modules/kit-library/assets/js/hooks/use-kits.js"));
3651
3652 var _usePageTitle = _interopRequireDefault(__webpack_require__(/*! elementor-app/hooks/use-page-title */ "../core/app/assets/js/hooks/use-page-title.js"));
3653
3654 var _useTaxonomies2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-taxonomies */ "../core/app/modules/kit-library/assets/js/hooks/use-taxonomies.js"));
3655
3656 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
3657
3658 var _lastFilterContext = __webpack_require__(/*! ../../context/last-filter-context */ "../core/app/modules/kit-library/assets/js/context/last-filter-context.js");
3659
3660 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
3661
3662 __webpack_require__(/*! ./index.scss */ "../core/app/modules/kit-library/assets/js/pages/index/index.scss");
3663
3664 /**
3665 * Generate select and unselect taxonomy functions.
3666 *
3667 * @param setQueryParams
3668 * @returns {((function(*, *): *)|(function(*=): *))[]}
3669 */
3670 function useTaxonomiesSelection(setQueryParams) {
3671 var selectTaxonomy = (0, _react.useCallback)(function (type, callback) {
3672 return setQueryParams(function (prev) {
3673 var taxonomies = (0, _objectSpread4.default)({}, prev.taxonomies);
3674 taxonomies[type] = callback(prev.taxonomies[type]);
3675 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, {
3676 taxonomies: taxonomies
3677 });
3678 });
3679 }, [setQueryParams]);
3680 var unselectTaxonomy = (0, _react.useCallback)(function (taxonomy) {
3681 return setQueryParams(function (prev) {
3682 var taxonomies = (0, _entries.default)(prev.taxonomies).reduce(function (current, _ref) {
3683 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
3684 key = _ref2[0],
3685 groupedTaxonomies = _ref2[1];
3686
3687 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, current), {}, (0, _defineProperty2.default)({}, key, groupedTaxonomies.filter(function (item) {
3688 return item !== taxonomy;
3689 })));
3690 }, {});
3691 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, {
3692 taxonomies: taxonomies
3693 });
3694 });
3695 }, [setQueryParams]);
3696 return [selectTaxonomy, unselectTaxonomy];
3697 }
3698 /**
3699 * Generate the menu items for the index page.
3700 *
3701 * @param path
3702 * @returns {array}
3703 */
3704
3705
3706 function useMenuItems(path) {
3707 return (0, _react.useMemo)(function () {
3708 var page = path.replace('/', '');
3709 return [{
3710 label: __('All Template Kits', 'elementor'),
3711 icon: 'eicon-filter',
3712 isActive: !page,
3713 url: '/kit-library'
3714 }, {
3715 label: __('Favorites', 'elementor'),
3716 icon: 'eicon-heart-o',
3717 isActive: 'favorites' === page,
3718 url: '/kit-library/favorites'
3719 }];
3720 }, [path]);
3721 }
3722 /**
3723 * Update and read the query param from the url
3724 *
3725 * @param queryParams
3726 * @param setQueryParams
3727 * @param exclude
3728 */
3729
3730
3731 function useRouterQueryParams(queryParams, setQueryParams) {
3732 var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
3733
3734 var location = (0, _router.useLocation)(),
3735 _useLastFilterContext = (0, _lastFilterContext.useLastFilterContext)(),
3736 setLastFilter = _useLastFilterContext.setLastFilter;
3737
3738 (0, _react.useEffect)(function () {
3739 var filteredQueryParams = Object.fromEntries((0, _entries.default)(queryParams).filter(function (_ref3) {
3740 var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
3741 key = _ref4[0],
3742 item = _ref4[1];
3743
3744 return !exclude.includes(key) && item;
3745 }));
3746 setLastFilter(filteredQueryParams);
3747 history.replaceState(null, '', decodeURI("#".concat(wp.url.addQueryArgs(location.pathname.split('?')[0] || '/', filteredQueryParams))));
3748 }, [queryParams]);
3749 (0, _react.useEffect)(function () {
3750 var routerQueryParams = (0, _keys.default)(_useKits2.defaultQueryParams).reduce(function (current, key) {
3751 // TODO: Replace with `wp.url.getQueryArgs` when WordPress 5.7 is the min version
3752 var queryArg = wp.url.getQueryArg(location.pathname, key);
3753
3754 if (!queryArg) {
3755 return current;
3756 }
3757
3758 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, current), {}, (0, _defineProperty2.default)({}, key, queryArg));
3759 }, {});
3760 setQueryParams(function (prev) {
3761 return (0, _objectSpread4.default)((0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), routerQueryParams), {}, {
3762 taxonomies: (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev.taxonomies), routerQueryParams.taxonomies),
3763 ready: true
3764 });
3765 });
3766 }, []);
3767 }
3768
3769 function Index(props) {
3770 (0, _usePageTitle.default)({
3771 title: __('Kit Library', 'elementor')
3772 });
3773 var menuItems = useMenuItems(props.path);
3774
3775 var _useKits = (0, _useKits2.default)(props.initialQueryParams),
3776 data = _useKits.data,
3777 isSuccess = _useKits.isSuccess,
3778 isLoading = _useKits.isLoading,
3779 isFetching = _useKits.isFetching,
3780 isError = _useKits.isError,
3781 queryParams = _useKits.queryParams,
3782 setQueryParams = _useKits.setQueryParams,
3783 clearQueryParams = _useKits.clearQueryParams,
3784 forceRefetch = _useKits.forceRefetch,
3785 isFilterActive = _useKits.isFilterActive;
3786
3787 useRouterQueryParams(queryParams, setQueryParams, ['ready'].concat((0, _toConsumableArray2.default)((0, _keys.default)(props.initialQueryParams))));
3788
3789 var _useTaxonomies = (0, _useTaxonomies2.default)(),
3790 taxonomiesData = _useTaxonomies.data,
3791 forceRefetchTaxonomies = _useTaxonomies.forceRefetch,
3792 isFetchingTaxonomies = _useTaxonomies.isFetching;
3793
3794 var _useTaxonomiesSelecti = useTaxonomiesSelection(setQueryParams),
3795 _useTaxonomiesSelecti2 = (0, _slicedToArray2.default)(_useTaxonomiesSelecti, 2),
3796 selectTaxonomy = _useTaxonomiesSelecti2[0],
3797 unselectTaxonomy = _useTaxonomiesSelecti2[1];
3798
3799 return /*#__PURE__*/_react.default.createElement(_layout.default, {
3800 sidebar: /*#__PURE__*/_react.default.createElement(_indexSidebar.default, {
3801 tagsFilterSlot: /*#__PURE__*/_react.default.createElement(_taxonomiesFilter.default, {
3802 selected: queryParams.taxonomies,
3803 onSelect: selectTaxonomy,
3804 taxonomies: taxonomiesData
3805 }),
3806 menuItems: menuItems
3807 }),
3808 header: /*#__PURE__*/_react.default.createElement(_indexHeader.default, {
3809 refetch: function refetch() {
3810 forceRefetch();
3811 forceRefetchTaxonomies();
3812 },
3813 isFetching: isFetching || isFetchingTaxonomies
3814 })
3815 }, /*#__PURE__*/_react.default.createElement("div", {
3816 className: "e-kit-library__index-layout-container"
3817 }, /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
3818 container: true,
3819 className: "e-kit-library__index-layout-top-area"
3820 }, /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
3821 item: true,
3822 className: "e-kit-library__index-layout-top-area-search"
3823 }, /*#__PURE__*/_react.default.createElement(_searchInput.default, {
3824 placeholder: __('Search all Template Kits...', 'elementor'),
3825 value: queryParams.search,
3826 onChange: function onChange(value) {
3827 return setQueryParams(function (prev) {
3828 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, {
3829 search: value
3830 });
3831 });
3832 }
3833 }), isFilterActive && /*#__PURE__*/_react.default.createElement(_filterIndicationText.default, {
3834 queryParams: queryParams,
3835 resultCount: data.length || 0,
3836 onClear: clearQueryParams,
3837 onRemoveTag: unselectTaxonomy
3838 })), /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
3839 item: true,
3840 className: "e-kit-library__index-layout-top-area-sort"
3841 }, /*#__PURE__*/_react.default.createElement(_sortSelect.default, {
3842 options: [{
3843 label: __('Featured', 'elementor'),
3844 value: 'featuredIndex'
3845 }, {
3846 label: __('New', 'elementor'),
3847 value: 'createdAt'
3848 }, {
3849 label: __('Popular', 'elementor'),
3850 value: 'popularityIndex'
3851 }, {
3852 label: __('Trending', 'elementor'),
3853 value: 'trendIndex'
3854 }],
3855 value: queryParams.order,
3856 onChange: function onChange(order) {
3857 return setQueryParams(function (prev) {
3858 return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prev), {}, {
3859 order: order
3860 });
3861 });
3862 }
3863 }))), /*#__PURE__*/_react.default.createElement(_content.default, {
3864 className: "e-kit-library__index-layout-main"
3865 }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isLoading && /*#__PURE__*/_react.default.createElement(_pageLoader.default, null), isError && /*#__PURE__*/_react.default.createElement(_errorScreen.default, {
3866 title: __('Something went wrong.', 'elementor'),
3867 description: __('Nothing to worry about, use 🔄 on the top right to try again. If the problem continues, head over to the Help Center.', 'elementor'),
3868 button: {
3869 text: __('Learn More', 'elementor'),
3870 url: 'http://go.elementor.com/app-kit-library-error',
3871 target: '_blank'
3872 }
3873 }), isSuccess && 0 < data.length && queryParams.ready && /*#__PURE__*/_react.default.createElement(_kitList.default, {
3874 data: data
3875 }), isSuccess && 0 === data.length && queryParams.ready && props.renderNoResultsComponent({
3876 defaultComponent: /*#__PURE__*/_react.default.createElement(_errorScreen.default, {
3877 title: __('No results matched your search.', 'elementor'),
3878 description: __('Try different keywords or ', 'elementor'),
3879 button: {
3880 text: __('Continue browsing.', 'elementor'),
3881 action: clearQueryParams
3882 }
3883 }),
3884 isFilterActive: isFilterActive
3885 }), /*#__PURE__*/_react.default.createElement(_envatoPromotion.default, null)))));
3886 }
3887
3888 Index.propTypes = {
3889 path: PropTypes.string,
3890 initialQueryParams: PropTypes.object,
3891 renderNoResultsComponent: PropTypes.func
3892 };
3893 Index.defaultProps = {
3894 initialQueryParams: {},
3895 renderNoResultsComponent: function renderNoResultsComponent(_ref5) {
3896 var defaultComponent = _ref5.defaultComponent;
3897 return defaultComponent;
3898 }
3899 };
3900
3901 /***/ }),
3902
3903 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group-item.js":
3904 /*!***********************************************************************************************!*\
3905 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group-item.js ***!
3906 \***********************************************************************************************/
3907 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3908
3909 "use strict";
3910 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
3911 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3912
3913
3914 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3915
3916 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3917
3918 _Object$defineProperty(exports, "__esModule", {
3919 value: true
3920 });
3921
3922 exports["default"] = OverviewContentGroupItem;
3923
3924 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3925
3926 var _document = _interopRequireDefault(__webpack_require__(/*! ../../models/document */ "../core/app/modules/kit-library/assets/js/models/document.js"));
3927
3928 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
3929
3930 function OverviewContentGroupItem(props) {
3931 return /*#__PURE__*/_react.default.createElement(_appUi.Card, null, /*#__PURE__*/_react.default.createElement(_appUi.CardHeader, null, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
3932 tag: "h3",
3933 title: props.document.title,
3934 variant: "h5",
3935 className: "eps-card__headline"
3936 }, props.document.title)), /*#__PURE__*/_react.default.createElement(_appUi.CardBody, null, /*#__PURE__*/_react.default.createElement(_appUi.CardImage, {
3937 alt: props.document.title,
3938 src: props.document.thumbnailUrl || ''
3939 }, props.document.previewUrl && /*#__PURE__*/_react.default.createElement(_appUi.CardOverlay, null, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
3940 className: "e-kit-library__kit-item-overlay-overview-button",
3941 text: __('View Demo', 'elementor'),
3942 icon: "eicon-preview-medium",
3943 url: "/kit-library/preview/".concat(props.kitId, "?document_id=").concat(props.document.id)
3944 })))));
3945 }
3946
3947 OverviewContentGroupItem.propTypes = {
3948 document: PropTypes.instanceOf(_document.default).isRequired,
3949 kitId: PropTypes.string.isRequired
3950 };
3951
3952 /***/ }),
3953
3954 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group.js":
3955 /*!******************************************************************************************!*\
3956 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group.js ***!
3957 \******************************************************************************************/
3958 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3959
3960 "use strict";
3961 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
3962
3963
3964 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
3965
3966 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
3967
3968 _Object$defineProperty(exports, "__esModule", {
3969 value: true
3970 });
3971
3972 exports["default"] = OverviewContentGroup;
3973
3974 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3975
3976 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
3977
3978 var _contentType = _interopRequireDefault(__webpack_require__(/*! ../../models/content-type */ "../core/app/modules/kit-library/assets/js/models/content-type.js"));
3979
3980 var _overviewContentGroupItem = _interopRequireDefault(__webpack_require__(/*! ./overview-content-group-item */ "../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group-item.js"));
3981
3982 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
3983
3984 function OverviewContentGroup(props) {
3985 var _props$contentType, _props$contentType$do;
3986
3987 if (((_props$contentType = props.contentType) === null || _props$contentType === void 0 ? void 0 : (_props$contentType$do = _props$contentType.documents) === null || _props$contentType$do === void 0 ? void 0 : _props$contentType$do.length) <= 0) {
3988 return '';
3989 }
3990
3991 return /*#__PURE__*/_react.default.createElement("div", {
3992 className: "e-kit-library__content-overview-group-item"
3993 }, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
3994 tag: "h3",
3995 variant: "h3",
3996 className: "e-kit-library__content-overview-group-title"
3997 }, props.contentType.label), /*#__PURE__*/_react.default.createElement(_appUi.CssGrid, {
3998 spacing: 24,
3999 colMinWidth: 250
4000 }, props.contentType.documents.map(function (document) {
4001 return /*#__PURE__*/_react.default.createElement(_overviewContentGroupItem.default, {
4002 key: document.id,
4003 document: document,
4004 kitId: props.kitId
4005 });
4006 })));
4007 }
4008
4009 OverviewContentGroup.propTypes = {
4010 contentType: PropTypes.instanceOf(_contentType.default),
4011 kitId: PropTypes.string.isRequired
4012 };
4013
4014 /***/ }),
4015
4016 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.js":
4017 /*!************************************************************************************!*\
4018 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.js ***!
4019 \************************************************************************************/
4020 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4021
4022 "use strict";
4023 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
4024 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4025
4026
4027 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4028
4029 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4030
4031 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
4032
4033 _Object$defineProperty(exports, "__esModule", {
4034 value: true
4035 });
4036
4037 exports["default"] = OverviewSidebar;
4038
4039 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4040
4041 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
4042
4043 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
4044
4045 var _collapse = _interopRequireDefault(__webpack_require__(/*! ../../components/collapse */ "../core/app/modules/kit-library/assets/js/components/collapse.js"));
4046
4047 var _contentType = _interopRequireDefault(__webpack_require__(/*! ../../models/content-type */ "../core/app/modules/kit-library/assets/js/models/content-type.js"));
4048
4049 var _favoritesActions = _interopRequireDefault(__webpack_require__(/*! ../../components/favorites-actions */ "../core/app/modules/kit-library/assets/js/components/favorites-actions.js"));
4050
4051 var _kit = _interopRequireDefault(__webpack_require__(/*! ../../models/kit */ "../core/app/modules/kit-library/assets/js/models/kit.js"));
4052
4053 var _overviewTaxonomyBadge = _interopRequireDefault(__webpack_require__(/*! ./overview-taxonomy-badge */ "../core/app/modules/kit-library/assets/js/pages/overview/overview-taxonomy-badge.js"));
4054
4055 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
4056
4057 __webpack_require__(/*! ./overview-sidebar.scss */ "../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.scss");
4058
4059 function OverviewSidebar(props) {
4060 var _props$groupedKitCont;
4061
4062 var _useState = (0, _react.useState)(true),
4063 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4064 isTagsCollapseOpen = _useState2[0],
4065 setIsTagsCollapseOpen = _useState2[1];
4066
4067 var _useState3 = (0, _react.useState)(false),
4068 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4069 isInformationCollapseOpen = _useState4[0],
4070 setIsInformationCollapseOpen = _useState4[1];
4071
4072 return /*#__PURE__*/_react.default.createElement("div", {
4073 className: "e-kit-library__item-sidebar"
4074 }, /*#__PURE__*/_react.default.createElement("div", {
4075 className: "e-kit-library__item-sidebar-header"
4076 }, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
4077 tag: "h1",
4078 variant: "h5",
4079 className: "e-kit-library__item-sidebar-header-title"
4080 }, props.model.title), /*#__PURE__*/_react.default.createElement(_favoritesActions.default, {
4081 isFavorite: props.model.isFavorite,
4082 id: props.model.id
4083 })), /*#__PURE__*/_react.default.createElement(_appUi.CardImage, {
4084 className: "e-kit-library__item-sidebar-thumbnail",
4085 alt: props.model.title,
4086 src: props.model.thumbnailUrl || ''
4087 }), /*#__PURE__*/_react.default.createElement(_appUi.Text, {
4088 className: "e-kit-library__item-sidebar-description"
4089 }, props.model.description || ''), props.model.taxonomies.length > 0 && /*#__PURE__*/_react.default.createElement(_collapse.default, {
4090 isOpen: isTagsCollapseOpen,
4091 onChange: setIsTagsCollapseOpen,
4092 title: __('TAGS', 'elementor'),
4093 className: "e-kit-library__item-sidebar-collapse-tags"
4094 }, /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
4095 container: true,
4096 className: "e-kit-library__item-sidebar-tags-container"
4097 }, props.model.taxonomies.map(function (taxonomy) {
4098 return /*#__PURE__*/_react.default.createElement(_overviewTaxonomyBadge.default, {
4099 key: taxonomy
4100 }, taxonomy);
4101 }))), ((_props$groupedKitCont = props.groupedKitContent) === null || _props$groupedKitCont === void 0 ? void 0 : _props$groupedKitCont.length) > 0 && props.model.documents.length > 0 && /*#__PURE__*/_react.default.createElement(_collapse.default, {
4102 isOpen: isInformationCollapseOpen,
4103 onChange: setIsInformationCollapseOpen,
4104 title: __('WHAT\'S INSIDE', 'elementor'),
4105 className: "e-kit-library__item-sidebar-collapse-info"
4106 }, props.groupedKitContent.map(function (contentType) {
4107 if (contentType.documents <= 0) {
4108 return '';
4109 }
4110
4111 return /*#__PURE__*/_react.default.createElement(_appUi.Text, {
4112 className: "e-kit-library__item-information-text",
4113 key: contentType.id
4114 }, contentType.documents.length, " ", contentType.label);
4115 })));
4116 }
4117
4118 OverviewSidebar.propTypes = {
4119 model: PropTypes.instanceOf(_kit.default).isRequired,
4120 groupedKitContent: PropTypes.arrayOf(PropTypes.instanceOf(_contentType.default))
4121 };
4122
4123 /***/ }),
4124
4125 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview-taxonomy-badge.js":
4126 /*!*******************************************************************************************!*\
4127 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview-taxonomy-badge.js ***!
4128 \*******************************************************************************************/
4129 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4130
4131 "use strict";
4132 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4133
4134
4135 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4136
4137 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4138
4139 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
4140
4141 _Object$defineProperty(exports, "__esModule", {
4142 value: true
4143 });
4144
4145 exports["default"] = OverviewTaxonomyBadge;
4146
4147 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4148
4149 __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js");
4150
4151 var _badge = _interopRequireDefault(__webpack_require__(/*! ../../components/badge */ "../core/app/modules/kit-library/assets/js/components/badge.js"));
4152
4153 var _useTaxonomies2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-taxonomies */ "../core/app/modules/kit-library/assets/js/hooks/use-taxonomies.js"));
4154
4155 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
4156
4157 function OverviewTaxonomyBadge(props) {
4158 var _useTaxonomies = (0, _useTaxonomies2.default)(),
4159 data = _useTaxonomies.data;
4160
4161 var taxonomyText = props.children;
4162 var type = (0, _react.useMemo)(function () {
4163 var _data$find;
4164
4165 if (!data) {
4166 return null;
4167 }
4168
4169 return (_data$find = data.find(function (item) {
4170 return item.text === taxonomyText;
4171 })) === null || _data$find === void 0 ? void 0 : _data$find.type;
4172 }, [data, taxonomyText]);
4173
4174 if (!type) {
4175 return '';
4176 }
4177
4178 return /*#__PURE__*/_react.default.createElement(_router.Link, {
4179 to: "/kit-library?taxonomies[".concat(type, "][]=").concat(taxonomyText)
4180 }, /*#__PURE__*/_react.default.createElement(_badge.default, null, props.children));
4181 }
4182
4183 OverviewTaxonomyBadge.propTypes = {
4184 children: PropTypes.string
4185 };
4186
4187 /***/ }),
4188
4189 /***/ "../core/app/modules/kit-library/assets/js/pages/overview/overview.js":
4190 /*!****************************************************************************!*\
4191 !*** ../core/app/modules/kit-library/assets/js/pages/overview/overview.js ***!
4192 \****************************************************************************/
4193 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4194
4195 "use strict";
4196 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
4197 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4198
4199
4200 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4201
4202 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4203
4204 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
4205
4206 _Object$defineProperty(exports, "__esModule", {
4207 value: true
4208 });
4209
4210 exports["default"] = Overview;
4211
4212 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4213
4214 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
4215
4216 var _content = _interopRequireDefault(__webpack_require__(/*! elementor/core/app/assets/js/layout/content */ "../core/app/assets/js/layout/content.js"));
4217
4218 var _elementorLoading = _interopRequireDefault(__webpack_require__(/*! ../../components/elementor-loading */ "../core/app/modules/kit-library/assets/js/components/elementor-loading.js"));
4219
4220 var _itemHeader = _interopRequireDefault(__webpack_require__(/*! ../../components/item-header */ "../core/app/modules/kit-library/assets/js/components/item-header.js"));
4221
4222 var _layout = _interopRequireDefault(__webpack_require__(/*! ../../components/layout */ "../core/app/modules/kit-library/assets/js/components/layout/index.js"));
4223
4224 var _overviewContentGroup = _interopRequireDefault(__webpack_require__(/*! ./overview-content-group */ "../core/app/modules/kit-library/assets/js/pages/overview/overview-content-group.js"));
4225
4226 var _overviewSidebar = _interopRequireDefault(__webpack_require__(/*! ./overview-sidebar */ "../core/app/modules/kit-library/assets/js/pages/overview/overview-sidebar.js"));
4227
4228 var _useKit2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-kit */ "../core/app/modules/kit-library/assets/js/hooks/use-kit.js"));
4229
4230 var _useKitDocumentByType2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-kit-document-by-type */ "../core/app/modules/kit-library/assets/js/hooks/use-kit-document-by-type.js"));
4231
4232 var _usePageTitle = _interopRequireDefault(__webpack_require__(/*! elementor-app/hooks/use-page-title */ "../core/app/assets/js/hooks/use-page-title.js"));
4233
4234 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
4235
4236 __webpack_require__(/*! ./overview.scss */ "../core/app/modules/kit-library/assets/js/pages/overview/overview.scss");
4237
4238 function useHeaderButtons(id) {
4239 var navigate = (0, _router.useNavigate)();
4240 return (0, _react.useMemo)(function () {
4241 return [{
4242 id: 'view-demo',
4243 text: __('View Demo', 'elementor'),
4244 hideText: false,
4245 variant: 'outlined',
4246 color: 'secondary',
4247 size: 'sm',
4248 onClick: function onClick() {
4249 return navigate("/kit-library/preview/".concat(id));
4250 },
4251 includeHeaderBtnClass: false
4252 }];
4253 }, [id]);
4254 }
4255
4256 function Overview(props) {
4257 var _useKit = (0, _useKit2.default)(props.id),
4258 kit = _useKit.data,
4259 isError = _useKit.isError,
4260 isLoading = _useKit.isLoading;
4261
4262 var _useKitDocumentByType = (0, _useKitDocumentByType2.default)(kit),
4263 documentsByType = _useKitDocumentByType.data;
4264
4265 var headerButtons = useHeaderButtons(props.id);
4266 (0, _usePageTitle.default)({
4267 title: kit ? "".concat(__('Kit Library', 'elementor'), " | ").concat(kit.title) : __('Loading...', 'elementor')
4268 });
4269
4270 if (isError) {
4271 // Will be caught by the App error boundary.
4272 throw new Error();
4273 }
4274
4275 if (isLoading) {
4276 return /*#__PURE__*/_react.default.createElement(_elementorLoading.default, null);
4277 }
4278
4279 return /*#__PURE__*/_react.default.createElement(_layout.default, {
4280 header: /*#__PURE__*/_react.default.createElement(_itemHeader.default, {
4281 model: kit,
4282 buttons: headerButtons,
4283 pageId: "overview"
4284 }),
4285 sidebar: /*#__PURE__*/_react.default.createElement(_overviewSidebar.default, {
4286 model: kit,
4287 groupedKitContent: documentsByType
4288 })
4289 }, documentsByType.length > 0 && /*#__PURE__*/_react.default.createElement(_content.default, null, documentsByType.map(function (contentType) {
4290 return /*#__PURE__*/_react.default.createElement(_overviewContentGroup.default, {
4291 key: contentType.id,
4292 contentType: contentType,
4293 kitId: props.id
4294 });
4295 })));
4296 }
4297
4298 Overview.propTypes = {
4299 id: PropTypes.string
4300 };
4301
4302 /***/ }),
4303
4304 /***/ "../core/app/modules/kit-library/assets/js/pages/preview/preview-iframe.js":
4305 /*!*********************************************************************************!*\
4306 !*** ../core/app/modules/kit-library/assets/js/pages/preview/preview-iframe.js ***!
4307 \*********************************************************************************/
4308 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4309
4310 "use strict";
4311 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4312
4313
4314 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4315
4316 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
4317
4318 _Object$defineProperty(exports, "__esModule", {
4319 value: true
4320 });
4321
4322 exports.PreviewIframe = PreviewIframe;
4323
4324 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4325
4326 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
4327
4328 function PreviewIframe(props) {
4329 var ref = (0, _react.useRef)();
4330 (0, _react.useEffect)(function () {
4331 if (!ref.current) {
4332 return;
4333 }
4334
4335 var listener = function listener() {
4336 return props.onLoaded();
4337 };
4338
4339 ref.current.addEventListener('load', listener);
4340 return function () {
4341 return ref.current && ref.current.removeEventListener('load', listener);
4342 };
4343 }, [ref.current, props.previewUrl]);
4344 return /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
4345 container: true,
4346 justify: "center",
4347 className: "e-kit-library__preview-iframe-container"
4348 }, /*#__PURE__*/_react.default.createElement("iframe", {
4349 className: "e-kit-library__preview-iframe",
4350 src: props.previewUrl,
4351 style: props.style,
4352 ref: ref
4353 }));
4354 }
4355
4356 PreviewIframe.propTypes = {
4357 previewUrl: PropTypes.string.isRequired,
4358 style: PropTypes.object,
4359 onLoaded: PropTypes.func
4360 };
4361 PreviewIframe.defaultProps = {
4362 style: {
4363 width: '100%',
4364 height: '100%'
4365 },
4366 onLoaded: function onLoaded() {}
4367 };
4368
4369 /***/ }),
4370
4371 /***/ "../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.js":
4372 /*!**********************************************************************************************!*\
4373 !*** ../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.js ***!
4374 \**********************************************************************************************/
4375 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4376
4377 "use strict";
4378 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4379
4380
4381 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4382
4383 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4384
4385 _Object$defineProperty(exports, "__esModule", {
4386 value: true
4387 });
4388
4389 exports["default"] = PreviewResponsiveControls;
4390
4391 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4392
4393 __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js");
4394
4395 var _preview = __webpack_require__(/*! ./preview */ "../core/app/modules/kit-library/assets/js/pages/preview/preview.js");
4396
4397 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
4398
4399 __webpack_require__(/*! ./preview-responsive-controls.scss */ "../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.scss");
4400
4401 function PreviewResponsiveControls(props) {
4402 return /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
4403 container: true,
4404 alignItems: "center",
4405 justify: "center",
4406 className: "e-kit-library__preview-responsive-controls"
4407 }, _preview.breakpoints.map(function (_ref) {
4408 var label = _ref.label,
4409 value = _ref.value;
4410 var className = 'e-kit-library__preview-responsive-controls-item';
4411
4412 if (props.active === value) {
4413 className += ' e-kit-library__preview-responsive-controls-item--active';
4414 }
4415
4416 return /*#__PURE__*/_react.default.createElement(_appUi.Button, {
4417 key: value,
4418 text: label,
4419 hideText: true,
4420 className: className,
4421 icon: "eicon-device-".concat(value),
4422 onClick: function onClick() {
4423 return props.onChange(value);
4424 }
4425 });
4426 }));
4427 }
4428
4429 PreviewResponsiveControls.propTypes = {
4430 active: PropTypes.string,
4431 onChange: PropTypes.func.isRequired
4432 };
4433 PreviewResponsiveControls.defaultProps = {
4434 active: 'desktop'
4435 };
4436
4437 /***/ }),
4438
4439 /***/ "../core/app/modules/kit-library/assets/js/pages/preview/preview.js":
4440 /*!**************************************************************************!*\
4441 !*** ../core/app/modules/kit-library/assets/js/pages/preview/preview.js ***!
4442 \**************************************************************************/
4443 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4444
4445 "use strict";
4446 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
4447 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
4448
4449
4450 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4451
4452 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4453
4454 var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js");
4455
4456 _Object$defineProperty(exports, "__esModule", {
4457 value: true
4458 });
4459
4460 exports.breakpoints = void 0;
4461 exports["default"] = Preview;
4462
4463 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4464
4465 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js"));
4466
4467 var _parseInt2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/parse-int */ "../node_modules/@babel/runtime-corejs2/core-js/parse-int.js"));
4468
4469 __webpack_require__(/*! core-js/modules/es6.regexp.split.js */ "../node_modules/core-js/modules/es6.regexp.split.js");
4470
4471 __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js");
4472
4473 var _elementorLoading = _interopRequireDefault(__webpack_require__(/*! ../../components/elementor-loading */ "../core/app/modules/kit-library/assets/js/components/elementor-loading.js"));
4474
4475 var _itemHeader = _interopRequireDefault(__webpack_require__(/*! ../../components/item-header */ "../core/app/modules/kit-library/assets/js/components/item-header.js"));
4476
4477 var _layout = _interopRequireDefault(__webpack_require__(/*! ../../components/layout */ "../core/app/modules/kit-library/assets/js/components/layout/index.js"));
4478
4479 var _pageLoader = _interopRequireDefault(__webpack_require__(/*! ../../components/page-loader */ "../core/app/modules/kit-library/assets/js/components/page-loader.js"));
4480
4481 var _previewResponsiveControls = _interopRequireDefault(__webpack_require__(/*! ./preview-responsive-controls */ "../core/app/modules/kit-library/assets/js/pages/preview/preview-responsive-controls.js"));
4482
4483 var _useKit2 = _interopRequireDefault(__webpack_require__(/*! ../../hooks/use-kit */ "../core/app/modules/kit-library/assets/js/hooks/use-kit.js"));
4484
4485 var _usePageTitle = _interopRequireDefault(__webpack_require__(/*! elementor-app/hooks/use-page-title */ "../core/app/assets/js/hooks/use-page-title.js"));
4486
4487 var _previewIframe = __webpack_require__(/*! ./preview-iframe */ "../core/app/modules/kit-library/assets/js/pages/preview/preview-iframe.js");
4488
4489 var _router = __webpack_require__(/*! @reach/router */ "../node_modules/@reach/router/es/index.js");
4490
4491 __webpack_require__(/*! ./preview.scss */ "../core/app/modules/kit-library/assets/js/pages/preview/preview.scss");
4492
4493 var breakpoints = [{
4494 value: 'desktop',
4495 label: __('Desktop', 'elementor'),
4496 style: {
4497 width: '100%',
4498 height: '100%'
4499 }
4500 }, {
4501 value: 'tablet',
4502 label: __('Tablet', 'elementor'),
4503 style: {
4504 marginTop: '30px',
4505 marginBottom: '30px',
4506 width: '768px',
4507 height: '1024px'
4508 }
4509 }, {
4510 value: 'mobile',
4511 label: __('Mobile', 'elementor'),
4512 style: {
4513 marginTop: '30px',
4514 marginBottom: '30px',
4515 width: '375px',
4516 height: '667px'
4517 }
4518 }];
4519 exports.breakpoints = breakpoints;
4520
4521 function useHeaderButtons(id) {
4522 var navigate = (0, _router.useNavigate)();
4523 return (0, _react.useMemo)(function () {
4524 return [{
4525 id: 'overview',
4526 text: __('Overview', 'elementor'),
4527 hideText: false,
4528 variant: 'outlined',
4529 color: 'secondary',
4530 size: 'sm',
4531 onClick: function onClick() {
4532 return navigate("/kit-library/overview/".concat(id));
4533 },
4534 includeHeaderBtnClass: false
4535 }];
4536 }, [id]);
4537 }
4538 /**
4539 * Get preview url.
4540 *
4541 * @param data
4542 * @returns {null|string}
4543 */
4544
4545
4546 function usePreviewUrl(data) {
4547 var location = (0, _router.useLocation)();
4548 return (0, _react.useMemo)(function () {
4549 var _location$pathname$sp, _data$documents$find;
4550
4551 if (!data) {
4552 return null;
4553 }
4554
4555 var documentId = new URLSearchParams((_location$pathname$sp = location.pathname.split('?')) === null || _location$pathname$sp === void 0 ? void 0 : _location$pathname$sp[1]).get('document_id');
4556
4557 if (!documentId) {
4558 return data.previewUrl;
4559 }
4560
4561 return ((_data$documents$find = data.documents.find(function (item) {
4562 return item.id === (0, _parseInt2.default)(documentId);
4563 })) === null || _data$documents$find === void 0 ? void 0 : _data$documents$find.previewUrl) || data.previewUrl;
4564 }, [location, data]);
4565 }
4566
4567 function Preview(props) {
4568 var _useKit = (0, _useKit2.default)(props.id),
4569 data = _useKit.data,
4570 isError = _useKit.isError,
4571 isLoading = _useKit.isLoading;
4572
4573 var _useState = (0, _react.useState)(true),
4574 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4575 isIframeLoading = _useState2[0],
4576 setIsIframeLoading = _useState2[1];
4577
4578 var headersButtons = useHeaderButtons(props.id);
4579 var previewUrl = usePreviewUrl(data);
4580
4581 var _useState3 = (0, _react.useState)('desktop'),
4582 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4583 activeDevice = _useState4[0],
4584 setActiveDevice = _useState4[1];
4585
4586 var iframeStyle = (0, _react.useMemo)(function () {
4587 return breakpoints.find(function (_ref) {
4588 var value = _ref.value;
4589 return value === activeDevice;
4590 }).style;
4591 }, [activeDevice]);
4592 (0, _usePageTitle.default)({
4593 title: data ? "".concat(__('Kit Library', 'elementor'), " | ").concat(data.title) : __('Loading...', 'elementor')
4594 });
4595
4596 if (isError) {
4597 // Will be caught by the App error boundary.
4598 throw new Error();
4599 }
4600
4601 if (isLoading) {
4602 return /*#__PURE__*/_react.default.createElement(_elementorLoading.default, null);
4603 }
4604
4605 return /*#__PURE__*/_react.default.createElement(_layout.default, {
4606 header: /*#__PURE__*/_react.default.createElement(_itemHeader.default, {
4607 model: data,
4608 buttons: headersButtons,
4609 centerColumn: /*#__PURE__*/_react.default.createElement(_previewResponsiveControls.default, {
4610 active: activeDevice,
4611 onChange: setActiveDevice
4612 }),
4613 pageId: "demo"
4614 })
4615 }, isIframeLoading && /*#__PURE__*/_react.default.createElement(_pageLoader.default, {
4616 className: "e-kit-library__preview-loader"
4617 }), previewUrl && /*#__PURE__*/_react.default.createElement(_previewIframe.PreviewIframe, {
4618 previewUrl: previewUrl,
4619 style: iframeStyle,
4620 onLoaded: function onLoaded() {
4621 return setIsIframeLoading(false);
4622 }
4623 }));
4624 }
4625
4626 Preview.propTypes = {
4627 id: PropTypes.string
4628 };
4629
4630 /***/ }),
4631
4632 /***/ "../core/app/modules/onboarding/assets/js/components/new-page-kit-list-item.js":
4633 /*!*************************************************************************************!*\
4634 !*** ../core/app/modules/onboarding/assets/js/components/new-page-kit-list-item.js ***!
4635 \*************************************************************************************/
4636 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4637
4638 "use strict";
4639 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
4640
4641
4642 var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js");
4643
4644 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js");
4645
4646 _Object$defineProperty(exports, "__esModule", {
4647 value: true
4648 });
4649
4650 exports["default"] = void 0;
4651
4652 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4653
4654 var _appUi = __webpack_require__(/*! @elementor/app-ui */ "@elementor/app-ui");
4655
4656 __webpack_require__(/*! ../../../../kit-library/assets/js/components/kit-list-item.scss */ "../core/app/modules/kit-library/assets/js/components/kit-list-item.scss");
4657
4658 var NewPageKitListItem = function NewPageKitListItem() {
4659 return /*#__PURE__*/_react.default.createElement(_appUi.Card, {
4660 className: "e-onboarding__kit-library-card e-kit-library__kit-item"
4661 }, /*#__PURE__*/_react.default.createElement(_appUi.CardHeader, null, /*#__PURE__*/_react.default.createElement(_appUi.Heading, {
4662 tag: "h3",
4663 title: __('Blank Canvas', 'elementor'),
4664 variant: "h5",
4665 className: "eps-card__headline"
4666 }, __('Blank Canvas', 'elementor'))), /*#__PURE__*/_react.default.createElement(_appUi.CardBody, null, /*#__PURE__*/_react.default.createElement(_appUi.CardImage, {
4667 alt: __('Blank Canvas', 'elementor'),
4668 src: elementorCommon.config.urls.assets + 'images/app/onboarding/Blank_Preview.jpg' || 0
4669 }, /*#__PURE__*/_react.default.createElement(_appUi.CardOverlay, null, /*#__PURE__*/_react.default.createElement(_appUi.Grid, {
4670 container: true,
4671 direction: "column",
4672 className: "e-kit-library__kit-item-overlay"
4673 }, /*#__PURE__*/_react.default.createElement(_appUi.Button, {
4674 className: "e-kit-library__kit-item-overlay-overview-button",
4675 text: __('Create New Elementor Page', 'elementor'),
4676 icon: "eicon-single-page",
4677 url: elementorAppConfig.onboarding.urls.createNewPage
4678 }))))));
4679 };
4680
4681 var _default = _react.default.memo(NewPageKitListItem);
4682
4683 exports["default"] = _default;
4684
4685 /***/ })
4686
4687 }]);
4688 //# sourceMappingURL=kit-library.4b8e9bb062f992326c78.bundle.js.map