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