PluginProbe
Elementor Website Builder – more than just a page builder / 4.2.1
Elementor Website Builder – more than just a page builder v4.2.1
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/editor-elements-panel/editor-elements-panel.js +468 -190 4.3.0 → 4.2.1 View file →
@@ -1,208 +1,486 @@
1 -(function(_elementor_editor, react, _elementor_ui, _elementor_editor_v1_adapters, _elementor_utils) {
1 +/******/ (function() { // webpackBootstrap
2 +/******/ "use strict";
3 +/******/ var __webpack_modules__ = ({
2 4
3 -//#region \0rolldown/runtime.js
4 - var __create = Object.create;
5 - var __defProp = Object.defineProperty;
6 - var __name = (target, value) => __defProp(target, "name", {
7 - value,
8 - configurable: true
9 - });
10 - var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 - var __getOwnPropNames = Object.getOwnPropertyNames;
12 - var __getProtoOf = Object.getPrototypeOf;
13 - var __hasOwnProp = Object.prototype.hasOwnProperty;
14 - var __exportAll = (all, no_symbols) => {
15 - let target = {};
16 - for (var name in all) {
17 - __defProp(target, name, {
18 - get: all[name],
19 - enumerable: true
20 - });
21 - }
22 - if (!no_symbols) {
23 - __defProp(target, Symbol.toStringTag, { value: "Module" });
24 - }
25 - return target;
26 - };
27 - var __copyProps = (to, from, except, desc) => {
28 - if (from && typeof from === "object" || typeof from === "function") {
29 - for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
30 - key = keys[i];
31 - if (!__hasOwnProp.call(to, key) && key !== except) {
32 - __defProp(to, key, {
33 - get: ((k) => from[k]).bind(null, key),
34 - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
35 - });
36 - }
37 - }
38 - }
39 - return to;
40 - };
41 - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
42 - value: mod,
43 - enumerable: true
44 - }) : target, mod));
5 +/***/ "./packages/packages/core/editor-elements-panel/src/components/elements-panel-tab.tsx":
6 +/*!********************************************************************************************!*\
7 + !*** ./packages/packages/core/editor-elements-panel/src/components/elements-panel-tab.tsx ***!
8 + \********************************************************************************************/
9 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
45 10
46 -//#endregion
47 -react = __toESM(react);
11 +__webpack_require__.r(__webpack_exports__);
12 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 +/* harmony export */ ElementsPanelTab: function() { return /* binding */ ElementsPanelTab; }
14 +/* harmony export */ });
15 +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
16 +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
17 +/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
18 +/* harmony import */ var _elementor_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__);
19 +/* harmony import */ var _hooks_use_active_tab__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks/use-active-tab */ "./packages/packages/core/editor-elements-panel/src/hooks/use-active-tab.ts");
48 20
49 -//#region packages/packages/core/editor-elements-panel/src/consts.ts
50 - var LEGACY_ELEMENTS_PANEL_COMPONENT_NAME = "panel/elements";
51 - var LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX = `${LEGACY_ELEMENTS_PANEL_COMPONENT_NAME}/`;
52 21
53 -//#endregion
54 -//#region packages/packages/core/editor-elements-panel/src/tabs.ts
55 - var registry = /* @__PURE__ */ new Map();
56 - var DEFAULT_PRIORITY = 10;
57 - function registerTab({ id, priority = DEFAULT_PRIORITY, ...props }) {
58 - const existing = registry.get(id);
59 - if (!existing || priority <= existing.priority) registry.set(id, {
60 - ...props,
61 - priority
62 - });
63 - }
64 - function getTab(id) {
65 - return registry.get(id) ?? null;
66 - }
67 22
68 -//#endregion
69 -//#region packages/packages/core/editor-elements-panel/src/utils/get-window.ts
70 - function getWindow() {
71 - return window;
72 - }
23 +const PANEL_WRAPPER_ID = 'elementor-panel-elements-wrapper';
24 +function ElementsPanelTab() {
25 + const tab = (0,_hooks_use_active_tab__WEBPACK_IMPORTED_MODULE_2__.useActiveTab)();
26 + const TabComponent = tab?.component;
27 + const container = document.getElementById(PANEL_WRAPPER_ID);
28 + return TabComponent && container ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Portal, {
29 + container: container
30 + }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(TabComponent, null)) : null;
31 +}
73 32
74 -//#endregion
75 -//#region packages/packages/core/editor-elements-panel/src/hooks/use-active-tab.ts
76 - function useActiveTab() {
77 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)([
78 - (0, _elementor_editor_v1_adapters.v1ReadyEvent)(),
79 - (0, _elementor_editor_v1_adapters.routeOpenEvent)(LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX),
80 - (0, _elementor_editor_v1_adapters.routeCloseEvent)(LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX)
81 - ], () => {
82 - const panelRoute = getWindow().$e.routes.getCurrent()?.panel;
83 - if (!panelRoute || !panelRoute.startsWith(LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX)) return null;
84 - return getTab(panelRoute.replace(LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX, "")) ?? null;
85 - });
86 - }
33 +/***/ }),
87 34
88 -//#endregion
89 -//#region packages/packages/core/editor-elements-panel/src/components/elements-panel-tab.tsx
90 - var PANEL_WRAPPER_ID = "elementor-panel-elements-wrapper";
91 - function ElementsPanelTab() {
92 - const TabComponent = useActiveTab()?.component;
93 - const container = document.getElementById(PANEL_WRAPPER_ID);
94 - return TabComponent && container ? /* @__PURE__ */ react.createElement(_elementor_ui.Portal, { container }, /* @__PURE__ */ react.createElement(TabComponent, null)) : null;
95 - }
35 +/***/ "./packages/packages/core/editor-elements-panel/src/consts.ts":
36 +/*!********************************************************************!*\
37 + !*** ./packages/packages/core/editor-elements-panel/src/consts.ts ***!
38 + \********************************************************************/
39 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
96 40
97 -//#endregion
98 -//#region packages/packages/core/editor-elements-panel/src/init.ts
99 - function init() {
100 - (0, _elementor_editor.injectIntoTop)({
101 - id: "editor-elements-panel-tab",
102 - component: ElementsPanelTab
103 - });
104 - }
41 +__webpack_require__.r(__webpack_exports__);
42 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
43 +/* harmony export */ LEGACY_ELEMENTS_PANEL_COMPONENT_NAME: function() { return /* binding */ LEGACY_ELEMENTS_PANEL_COMPONENT_NAME; },
44 +/* harmony export */ LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX: function() { return /* binding */ LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX; }
45 +/* harmony export */ });
46 +const LEGACY_ELEMENTS_PANEL_COMPONENT_NAME = 'panel/elements';
47 +const LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX = `${LEGACY_ELEMENTS_PANEL_COMPONENT_NAME}/`;
105 48
106 -//#endregion
107 -//#region packages/packages/core/editor-elements-panel/src/utils/create-legacy-view.ts
108 - function createLegacyView() {
109 - return getWindow().Marionette.CompositeView.extend({
110 - template: `<div></div>`,
111 - initialize() {
112 - getWindow().elementor.getPanelView().getCurrentPageView().search.reset();
113 - }
114 - });
115 - }
49 +/***/ }),
116 50
117 -//#endregion
118 -//#region packages/packages/core/editor-elements-panel/src/utils/get-navigation-wrapper-element.ts
119 - var NAVIGATION_WRAPPER_ID = "elementor-panel-elements-navigation";
120 - var ElementsPanelWrapperElementNotFoundError = (0, _elementor_utils.createError)({
121 - code: "elements_panel_wrapper_element_not_found",
122 - message: "Elementor Elements Panel wrapper element not found"
123 - });
124 - function getNavigationWrapperElement() {
125 - const wrapper = document.getElementById(NAVIGATION_WRAPPER_ID);
126 - if (!wrapper) throw new ElementsPanelWrapperElementNotFoundError();
127 - return wrapper;
128 - }
51 +/***/ "./packages/packages/core/editor-elements-panel/src/hooks/use-active-tab.ts":
52 +/*!**********************************************************************************!*\
53 + !*** ./packages/packages/core/editor-elements-panel/src/hooks/use-active-tab.ts ***!
54 + \**********************************************************************************/
55 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
129 56
130 -//#endregion
131 -//#region packages/packages/core/editor-elements-panel/src/utils/create-tab-nav-item.ts
132 - function createTabNavItem({ id, label, route, isActive, position }) {
133 - const wrapper = getNavigationWrapperElement();
134 - const btn = document.createElement("button");
135 - btn.className = [
136 - "elementor-component-tab",
137 - "elementor-panel-navigation-tab",
138 - isActive ? "elementor-active" : ""
139 - ].filter(Boolean).join(" ");
140 - btn.setAttribute("data-tab", id);
141 - btn.textContent = label;
142 - btn.addEventListener("click", () => {
143 - getWindow().$e.route(route);
144 - });
145 - if (position !== void 0 && wrapper.children[position]) wrapper.insertBefore(btn, wrapper.children[position]);
146 - else wrapper.appendChild(btn);
147 - }
57 +__webpack_require__.r(__webpack_exports__);
58 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
59 +/* harmony export */ useActiveTab: function() { return /* binding */ useActiveTab; }
60 +/* harmony export */ });
61 +/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
62 +/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
63 +/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../consts */ "./packages/packages/core/editor-elements-panel/src/consts.ts");
64 +/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tabs */ "./packages/packages/core/editor-elements-panel/src/tabs.ts");
65 +/* harmony import */ var _utils_get_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/get-window */ "./packages/packages/core/editor-elements-panel/src/utils/get-window.ts");
148 66
149 -//#endregion
150 -//#region packages/packages/core/editor-elements-panel/src/utils/get-legacy-elements-panel-component.ts
151 - var ComponentNotFoundError = (0, _elementor_utils.createError)({
152 - code: "e_component_not_found",
153 - message: "Elementor component not found"
154 - });
155 - function getLegacyElementsPanelComponent() {
156 - const eComponent = getWindow().$e.components.get(LEGACY_ELEMENTS_PANEL_COMPONENT_NAME);
157 - if (!eComponent) throw new ComponentNotFoundError({ context: { componentId: LEGACY_ELEMENTS_PANEL_COMPONENT_NAME } });
158 - return eComponent;
159 - }
160 67
161 -//#endregion
162 -//#region packages/packages/core/editor-elements-panel/src/inject-tab.ts
163 - function injectTab({ id, label, component, position }) {
164 - registerTab({
165 - id,
166 - label,
167 - component
168 - });
169 - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.v1ReadyEvent)(), () => {
170 - window.elementor?.hooks?.addFilter("panel/elements/regionViews", (regions, { elements }) => {
171 - regions[id] = {
172 - region: elements,
173 - view: createLegacyView()
174 - };
175 - return regions;
176 - });
177 - });
178 - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/panel/init"), () => {
179 - getLegacyElementsPanelComponent().addTab(id, { title: label });
180 - });
181 - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeOpenEvent)(LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX), (e) => {
182 - const route = `${LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX}${id}`;
183 - createTabNavItem({
184 - id,
185 - label,
186 - route,
187 - isActive: "route" in e && e.route === route,
188 - position
189 - });
190 - });
191 - }
192 68
193 -//#endregion
194 -//#region packages/packages/core/editor-elements-panel/src/index.ts
195 - var src_exports = /* @__PURE__ */ __exportAll({
196 - init: () => init,
197 - injectTab: () => injectTab,
198 - registerTab: () => registerTab
199 - });
200 69
201 -//#endregion
202 -//#region \0elementor-package-library-entry
203 - (window.elementorV2 = window.elementorV2 || {}).editorElementsPanel = src_exports;
70 +function useActiveTab() {
71 + return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)([(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.v1ReadyEvent)(), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.routeOpenEvent)(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.routeCloseEvent)(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX)], () => {
72 + const panelRoute = (0,_utils_get_window__WEBPACK_IMPORTED_MODULE_3__.getWindow)().$e.routes.getCurrent()?.panel;
73 + if (!panelRoute || !panelRoute.startsWith(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX)) {
74 + return null;
75 + }
76 + const tab = panelRoute.replace(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX, '');
77 + return (0,_tabs__WEBPACK_IMPORTED_MODULE_2__.getTab)(tab) ?? null;
78 + });
79 +}
204 80
205 -//#endregion
206 -})(elementorV2.editor, React, elementorV2.ui, elementorV2.editorV1Adapters, elementorV2.utils);
81 +/***/ }),
82 +
83 +/***/ "./packages/packages/core/editor-elements-panel/src/init.ts":
84 +/*!******************************************************************!*\
85 + !*** ./packages/packages/core/editor-elements-panel/src/init.ts ***!
86 + \******************************************************************/
87 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
88 +
89 +__webpack_require__.r(__webpack_exports__);
90 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
91 +/* harmony export */ init: function() { return /* binding */ init; }
92 +/* harmony export */ });
93 +/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor */ "@elementor/editor");
94 +/* harmony import */ var _elementor_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor__WEBPACK_IMPORTED_MODULE_0__);
95 +/* harmony import */ var _components_elements_panel_tab__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/elements-panel-tab */ "./packages/packages/core/editor-elements-panel/src/components/elements-panel-tab.tsx");
96 +
97 +
98 +function init() {
99 + (0,_elementor_editor__WEBPACK_IMPORTED_MODULE_0__.injectIntoTop)({
100 + id: 'editor-elements-panel-tab',
101 + component: _components_elements_panel_tab__WEBPACK_IMPORTED_MODULE_1__.ElementsPanelTab
102 + });
103 +}
104 +
105 +/***/ }),
106 +
107 +/***/ "./packages/packages/core/editor-elements-panel/src/inject-tab.ts":
108 +/*!************************************************************************!*\
109 + !*** ./packages/packages/core/editor-elements-panel/src/inject-tab.ts ***!
110 + \************************************************************************/
111 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
112 +
113 +__webpack_require__.r(__webpack_exports__);
114 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
115 +/* harmony export */ injectTab: function() { return /* binding */ injectTab; }
116 +/* harmony export */ });
117 +/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
118 +/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
119 +/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./consts */ "./packages/packages/core/editor-elements-panel/src/consts.ts");
120 +/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tabs */ "./packages/packages/core/editor-elements-panel/src/tabs.ts");
121 +/* harmony import */ var _utils_create_legacy_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/create-legacy-view */ "./packages/packages/core/editor-elements-panel/src/utils/create-legacy-view.ts");
122 +/* harmony import */ var _utils_create_tab_nav_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/create-tab-nav-item */ "./packages/packages/core/editor-elements-panel/src/utils/create-tab-nav-item.ts");
123 +/* harmony import */ var _utils_get_legacy_elements_panel_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/get-legacy-elements-panel-component */ "./packages/packages/core/editor-elements-panel/src/utils/get-legacy-elements-panel-component.ts");
124 +
125 +
126 +
127 +
128 +
129 +
130 +function injectTab({
131 + id,
132 + label,
133 + component,
134 + position
135 +}) {
136 + (0,_tabs__WEBPACK_IMPORTED_MODULE_2__.registerTab)({
137 + id,
138 + label,
139 + component
140 + });
141 + (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateListenTo)((0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.v1ReadyEvent)(), () => {
142 + window.elementor?.hooks?.addFilter('panel/elements/regionViews', (regions, {
143 + elements
144 + }) => {
145 + // Creating a empty legacy view that will be replaced by react component.
146 + regions[id] = {
147 + region: elements,
148 + view: (0,_utils_create_legacy_view__WEBPACK_IMPORTED_MODULE_3__.createLegacyView)()
149 + };
150 + return regions;
151 + });
152 + });
153 + (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateListenTo)((0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.windowEvent)('elementor/panel/init'), () => {
154 + // when adding a tab to the legacy elements panel, it will generate new route based on the id.
155 + (0,_utils_get_legacy_elements_panel_component__WEBPACK_IMPORTED_MODULE_5__.getLegacyElementsPanelComponent)().addTab(id, {
156 + title: label
157 + });
158 + });
159 + (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateListenTo)((0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.routeOpenEvent)(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX), e => {
160 + const route = `${_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_ROUTE_PREFIX}${id}`;
161 + (0,_utils_create_tab_nav_item__WEBPACK_IMPORTED_MODULE_4__.createTabNavItem)({
162 + id,
163 + label,
164 + route,
165 + isActive: 'route' in e && e.route === route,
166 + position
167 + });
168 + });
169 +}
170 +
171 +/***/ }),
172 +
173 +/***/ "./packages/packages/core/editor-elements-panel/src/tabs.ts":
174 +/*!******************************************************************!*\
175 + !*** ./packages/packages/core/editor-elements-panel/src/tabs.ts ***!
176 + \******************************************************************/
177 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
178 +
179 +__webpack_require__.r(__webpack_exports__);
180 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
181 +/* harmony export */ getTab: function() { return /* binding */ getTab; },
182 +/* harmony export */ registerTab: function() { return /* binding */ registerTab; }
183 +/* harmony export */ });
184 +const registry = new Map();
185 +const DEFAULT_PRIORITY = 10;
186 +function registerTab({
187 + id,
188 + priority = DEFAULT_PRIORITY,
189 + ...props
190 +}) {
191 + const existing = registry.get(id);
192 + if (!existing || priority <= existing.priority) {
193 + registry.set(id, {
194 + ...props,
195 + priority
196 + });
197 + }
198 +}
199 +function getTab(id) {
200 + return registry.get(id) ?? null;
201 +}
202 +
203 +/***/ }),
204 +
205 +/***/ "./packages/packages/core/editor-elements-panel/src/utils/create-legacy-view.ts":
206 +/*!**************************************************************************************!*\
207 + !*** ./packages/packages/core/editor-elements-panel/src/utils/create-legacy-view.ts ***!
208 + \**************************************************************************************/
209 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
210 +
211 +__webpack_require__.r(__webpack_exports__);
212 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
213 +/* harmony export */ createLegacyView: function() { return /* binding */ createLegacyView; }
214 +/* harmony export */ });
215 +/* harmony import */ var _get_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-window */ "./packages/packages/core/editor-elements-panel/src/utils/get-window.ts");
216 +
217 +function createLegacyView() {
218 + return (0,_get_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)().Marionette.CompositeView.extend({
219 + template: `<div></div>`,
220 + initialize() {
221 + (0,_get_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)().elementor.getPanelView().getCurrentPageView().search.reset();
222 + }
223 + });
224 +}
225 +
226 +/***/ }),
227 +
228 +/***/ "./packages/packages/core/editor-elements-panel/src/utils/create-tab-nav-item.ts":
229 +/*!***************************************************************************************!*\
230 + !*** ./packages/packages/core/editor-elements-panel/src/utils/create-tab-nav-item.ts ***!
231 + \***************************************************************************************/
232 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
233 +
234 +__webpack_require__.r(__webpack_exports__);
235 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
236 +/* harmony export */ createTabNavItem: function() { return /* binding */ createTabNavItem; }
237 +/* harmony export */ });
238 +/* harmony import */ var _get_navigation_wrapper_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-navigation-wrapper-element */ "./packages/packages/core/editor-elements-panel/src/utils/get-navigation-wrapper-element.ts");
239 +/* harmony import */ var _get_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-window */ "./packages/packages/core/editor-elements-panel/src/utils/get-window.ts");
240 +
241 +
242 +function createTabNavItem({
243 + id,
244 + label,
245 + route,
246 + isActive,
247 + position
248 +}) {
249 + const wrapper = (0,_get_navigation_wrapper_element__WEBPACK_IMPORTED_MODULE_0__.getNavigationWrapperElement)();
250 + const btn = document.createElement('button');
251 + btn.className = ['elementor-component-tab', 'elementor-panel-navigation-tab', isActive ? 'elementor-active' : ''].filter(Boolean).join(' ');
252 + btn.setAttribute('data-tab', id);
253 + btn.textContent = label;
254 + btn.addEventListener('click', () => {
255 + (0,_get_window__WEBPACK_IMPORTED_MODULE_1__.getWindow)().$e.route(route);
256 + });
257 + if (position !== undefined && wrapper.children[position]) {
258 + wrapper.insertBefore(btn, wrapper.children[position]);
259 + } else {
260 + wrapper.appendChild(btn);
261 + }
262 +}
263 +
264 +/***/ }),
265 +
266 +/***/ "./packages/packages/core/editor-elements-panel/src/utils/get-legacy-elements-panel-component.ts":
267 +/*!*******************************************************************************************************!*\
268 + !*** ./packages/packages/core/editor-elements-panel/src/utils/get-legacy-elements-panel-component.ts ***!
269 + \*******************************************************************************************************/
270 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
271 +
272 +__webpack_require__.r(__webpack_exports__);
273 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
274 +/* harmony export */ getLegacyElementsPanelComponent: function() { return /* binding */ getLegacyElementsPanelComponent; }
275 +/* harmony export */ });
276 +/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
277 +/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
278 +/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../consts */ "./packages/packages/core/editor-elements-panel/src/consts.ts");
279 +/* harmony import */ var _get_window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-window */ "./packages/packages/core/editor-elements-panel/src/utils/get-window.ts");
280 +
281 +
282 +
283 +const ComponentNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
284 + code: 'e_component_not_found',
285 + message: 'Elementor component not found'
286 +});
287 +function getLegacyElementsPanelComponent() {
288 + const eComponent = (0,_get_window__WEBPACK_IMPORTED_MODULE_2__.getWindow)().$e.components.get(_consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_COMPONENT_NAME);
289 + if (!eComponent) {
290 + throw new ComponentNotFoundError({
291 + context: {
292 + componentId: _consts__WEBPACK_IMPORTED_MODULE_1__.LEGACY_ELEMENTS_PANEL_COMPONENT_NAME
293 + }
294 + });
295 + }
296 + return eComponent;
297 +}
298 +
299 +/***/ }),
300 +
301 +/***/ "./packages/packages/core/editor-elements-panel/src/utils/get-navigation-wrapper-element.ts":
302 +/*!**************************************************************************************************!*\
303 + !*** ./packages/packages/core/editor-elements-panel/src/utils/get-navigation-wrapper-element.ts ***!
304 + \**************************************************************************************************/
305 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
306 +
307 +__webpack_require__.r(__webpack_exports__);
308 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
309 +/* harmony export */ getNavigationWrapperElement: function() { return /* binding */ getNavigationWrapperElement; }
310 +/* harmony export */ });
311 +/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
312 +/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
313 +
314 +const NAVIGATION_WRAPPER_ID = 'elementor-panel-elements-navigation';
315 +const ElementsPanelWrapperElementNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
316 + code: 'elements_panel_wrapper_element_not_found',
317 + message: 'Elementor Elements Panel wrapper element not found'
318 +});
319 +function getNavigationWrapperElement() {
320 + const wrapper = document.getElementById(NAVIGATION_WRAPPER_ID);
321 + if (!wrapper) {
322 + throw new ElementsPanelWrapperElementNotFoundError();
323 + }
324 + return wrapper;
325 +}
326 +
327 +/***/ }),
328 +
329 +/***/ "./packages/packages/core/editor-elements-panel/src/utils/get-window.ts":
330 +/*!******************************************************************************!*\
331 + !*** ./packages/packages/core/editor-elements-panel/src/utils/get-window.ts ***!
332 + \******************************************************************************/
333 +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
334 +
335 +__webpack_require__.r(__webpack_exports__);
336 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
337 +/* harmony export */ getWindow: function() { return /* binding */ getWindow; }
338 +/* harmony export */ });
339 +function getWindow() {
340 + return window;
341 +}
342 +
343 +/***/ }),
344 +
345 +/***/ "@elementor/editor":
346 +/*!*****************************************!*\
347 + !*** external ["elementorV2","editor"] ***!
348 + \*****************************************/
349 +/***/ (function(module) {
350 +
351 +module.exports = window["elementorV2"]["editor"];
352 +
353 +/***/ }),
354 +
355 +/***/ "@elementor/editor-v1-adapters":
356 +/*!***************************************************!*\
357 + !*** external ["elementorV2","editorV1Adapters"] ***!
358 + \***************************************************/
359 +/***/ (function(module) {
360 +
361 +module.exports = window["elementorV2"]["editorV1Adapters"];
362 +
363 +/***/ }),
364 +
365 +/***/ "@elementor/ui":
366 +/*!*************************************!*\
367 + !*** external ["elementorV2","ui"] ***!
368 + \*************************************/
369 +/***/ (function(module) {
370 +
371 +module.exports = window["elementorV2"]["ui"];
372 +
373 +/***/ }),
374 +
375 +/***/ "@elementor/utils":
376 +/*!****************************************!*\
377 + !*** external ["elementorV2","utils"] ***!
378 + \****************************************/
379 +/***/ (function(module) {
380 +
381 +module.exports = window["elementorV2"]["utils"];
382 +
383 +/***/ }),
384 +
385 +/***/ "react":
386 +/*!**************************!*\
387 + !*** external ["React"] ***!
388 + \**************************/
389 +/***/ (function(module) {
390 +
391 +module.exports = window["React"];
392 +
393 +/***/ })
394 +
395 +/******/ });
396 +/************************************************************************/
397 +/******/ // The module cache
398 +/******/ var __webpack_module_cache__ = {};
399 +/******/
400 +/******/ // The require function
401 +/******/ function __webpack_require__(moduleId) {
402 +/******/ // Check if module is in cache
403 +/******/ var cachedModule = __webpack_module_cache__[moduleId];
404 +/******/ if (cachedModule !== undefined) {
405 +/******/ return cachedModule.exports;
406 +/******/ }
407 +/******/ // Create a new module (and put it into the cache)
408 +/******/ var module = __webpack_module_cache__[moduleId] = {
409 +/******/ // no module.id needed
410 +/******/ // no module.loaded needed
411 +/******/ exports: {}
412 +/******/ };
413 +/******/
414 +/******/ // Execute the module function
415 +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
416 +/******/
417 +/******/ // Return the exports of the module
418 +/******/ return module.exports;
419 +/******/ }
420 +/******/
421 +/************************************************************************/
422 +/******/ /* webpack/runtime/compat get default export */
423 +/******/ !function() {
424 +/******/ // getDefaultExport function for compatibility with non-harmony modules
425 +/******/ __webpack_require__.n = function(module) {
426 +/******/ var getter = module && module.__esModule ?
427 +/******/ function() { return module['default']; } :
428 +/******/ function() { return module; };
429 +/******/ __webpack_require__.d(getter, { a: getter });
430 +/******/ return getter;
431 +/******/ };
432 +/******/ }();
433 +/******/
434 +/******/ /* webpack/runtime/define property getters */
435 +/******/ !function() {
436 +/******/ // define getter functions for harmony exports
437 +/******/ __webpack_require__.d = function(exports, definition) {
438 +/******/ for(var key in definition) {
439 +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
440 +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
441 +/******/ }
442 +/******/ }
443 +/******/ };
444 +/******/ }();
445 +/******/
446 +/******/ /* webpack/runtime/hasOwnProperty shorthand */
447 +/******/ !function() {
448 +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
449 +/******/ }();
450 +/******/
451 +/******/ /* webpack/runtime/make namespace object */
452 +/******/ !function() {
453 +/******/ // define __esModule on exports
454 +/******/ __webpack_require__.r = function(exports) {
455 +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
456 +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
457 +/******/ }
458 +/******/ Object.defineProperty(exports, '__esModule', { value: true });
459 +/******/ };
460 +/******/ }();
461 +/******/
462 +/************************************************************************/
463 +var __webpack_exports__ = {};
464 +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
465 +!function() {
466 +/*!*******************************************************************!*\
467 + !*** ./packages/packages/core/editor-elements-panel/src/index.ts ***!
468 + \*******************************************************************/
469 +__webpack_require__.r(__webpack_exports__);
470 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
471 +/* harmony export */ init: function() { return /* reexport safe */ _init__WEBPACK_IMPORTED_MODULE_0__.init; },
472 +/* harmony export */ injectTab: function() { return /* reexport safe */ _inject_tab__WEBPACK_IMPORTED_MODULE_1__.injectTab; },
473 +/* harmony export */ registerTab: function() { return /* reexport safe */ _tabs__WEBPACK_IMPORTED_MODULE_2__.registerTab; }
474 +/* harmony export */ });
475 +/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init */ "./packages/packages/core/editor-elements-panel/src/init.ts");
476 +/* harmony import */ var _inject_tab__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./inject-tab */ "./packages/packages/core/editor-elements-panel/src/inject-tab.ts");
477 +/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tabs */ "./packages/packages/core/editor-elements-panel/src/tabs.ts");
478 +
479 +
480 +
481 +}();
482 +(window.elementorV2 = window.elementorV2 || {}).editorElementsPanel = __webpack_exports__;
483 +/******/ })()
484 +;
207 485 window.elementorV2.editorElementsPanel?.init?.();
208 486 //# sourceMappingURL=editor-elements-panel.js.map