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