PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.2
Elementor Website Builder – more than just a page builder v4.3.2
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/menus/menus.js +160 -347 4.2.2 → 4.3.2 View file →
@@ -1,359 +1,172 @@
1 -/******/ (function() { // webpackBootstrap
2 -/******/ "use strict";
3 -/******/ var __webpack_modules__ = ({
1 +(function(_elementor_locations, _elementor_utils, react, _elementor_editor_ui, _elementor_ui) {
4 2
5 -/***/ "./packages/packages/libs/menus/src/action.tsx":
6 -/*!*****************************************************!*\
7 - !*** ./packages/packages/libs/menus/src/action.tsx ***!
8 - \*****************************************************/
9 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3 +//#region \0rolldown/runtime.js
4 + var __create = Object.create;
5 + var __defProp = Object.defineProperty;
6 + var __name = (target, value) => __defProp(target, "name", {
7 + value,
8 + configurable: true
9 + });
10 + var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 + var __getOwnPropNames = Object.getOwnPropertyNames;
12 + var __getProtoOf = Object.getPrototypeOf;
13 + var __hasOwnProp = Object.prototype.hasOwnProperty;
14 + var __exportAll = (all, no_symbols) => {
15 + let target = {};
16 + for (var name in all) {
17 + __defProp(target, name, {
18 + get: all[name],
19 + enumerable: true
20 + });
21 + }
22 + if (!no_symbols) {
23 + __defProp(target, Symbol.toStringTag, { value: "Module" });
24 + }
25 + return target;
26 + };
27 + var __copyProps = (to, from, except, desc) => {
28 + if (from && typeof from === "object" || typeof from === "function") {
29 + for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
30 + key = keys[i];
31 + if (!__hasOwnProp.call(to, key) && key !== except) {
32 + __defProp(to, key, {
33 + get: ((k) => from[k]).bind(null, key),
34 + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
35 + });
36 + }
37 + }
38 + }
39 + return to;
40 + };
41 + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
42 + value: mod,
43 + enumerable: true
44 + }) : target, mod));
10 45
11 -__webpack_require__.r(__webpack_exports__);
12 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 -/* harmony export */ "default": function() { return /* binding */ Action; }
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__);
46 +//#endregion
47 +react = __toESM(react);
19 48
49 +//#region packages/packages/libs/menus/src/create-register-item.tsx
50 + function createRegisterItem(locations, component, notify) {
51 + return ({ id, group = "default", priority = 10, overwrite = false, props: _props, useProps: _useProps }) => {
52 + if (!(group in locations)) return;
53 + const Component = component;
54 + const useProps = _useProps || (() => _props);
55 + const InjectedComponent = (props) => {
56 + const componentProps = useProps();
57 + return /* @__PURE__ */ react.createElement(Component, {
58 + ...props,
59 + ...componentProps
60 + });
61 + };
62 + locations[group].inject({
63 + id,
64 + component: InjectedComponent,
65 + options: {
66 + priority,
67 + overwrite
68 + }
69 + });
70 + notify();
71 + };
72 + }
20 73
21 -const SIZE = 'tiny';
22 -function Action({
23 - title,
24 - visible = true,
25 - icon: Icon,
26 - onClick
27 -}) {
28 - if (!visible) {
29 - return null;
30 - }
31 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.Tooltip, {
32 - placement: "top",
33 - title: title,
34 - arrow: true
35 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_elementor_ui__WEBPACK_IMPORTED_MODULE_1__.IconButton, {
36 - "aria-label": title,
37 - size: SIZE,
38 - onClick: onClick
39 - }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Icon, {
40 - fontSize: SIZE
41 - })));
42 -}
74 +//#endregion
75 +//#region packages/packages/libs/menus/src/create-use-menu-items.ts
76 + function createUseMenuItems(locations, subscribe) {
77 + let snapshot = null;
78 + subscribe(() => {
79 + snapshot = null;
80 + });
81 + const getMenuItems = () => {
82 + if (snapshot) return snapshot;
83 + snapshot = Object.entries(locations).reduce((carry, [groupName, location]) => {
84 + const items = location.getInjections().map((injection) => ({
85 + id: injection.id,
86 + MenuItem: injection.component
87 + }));
88 + return {
89 + ...carry,
90 + [groupName]: items
91 + };
92 + }, {});
93 + return snapshot;
94 + };
95 + return () => (0, react.useSyncExternalStore)(subscribe, getMenuItems);
96 + }
43 97
44 -/***/ }),
98 +//#endregion
99 +//#region packages/packages/libs/menus/src/create-menu.ts
100 + function createSubscription() {
101 + const listeners = /* @__PURE__ */ new Set();
102 + return {
103 + subscribe: (listener) => {
104 + listeners.add(listener);
105 + return () => listeners.delete(listener);
106 + },
107 + notify: () => listeners.forEach((listener) => listener())
108 + };
109 + }
110 + function createMenu({ groups = [], components }) {
111 + const locations = createLocations([...groups, "default"]);
112 + const { subscribe, notify } = createSubscription();
113 + const registerFns = createRegisterFns(locations, components, notify);
114 + return {
115 + useMenuItems: createUseMenuItems(locations, subscribe),
116 + ...registerFns
117 + };
118 + }
119 + function createLocations(groups) {
120 + return groups.reduce((acc, group) => {
121 + acc[group] = (0, _elementor_locations.createLocation)();
122 + return acc;
123 + }, {});
124 + }
125 + function createRegisterFns(locations, components, notify) {
126 + return Object.entries(components).reduce((acc, [key, component]) => {
127 + const name = `register${(0, _elementor_utils.capitalize)(key)}`;
128 + return {
129 + ...acc,
130 + [name]: createRegisterItem(locations, component, notify)
131 + };
132 + }, {});
133 + }
45 134
46 -/***/ "./packages/packages/libs/menus/src/controls-actions.ts":
47 -/*!**************************************************************!*\
48 - !*** ./packages/packages/libs/menus/src/controls-actions.ts ***!
49 - \**************************************************************/
50 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
135 +//#endregion
136 +//#region packages/packages/libs/menus/src/action.tsx
137 + var SIZE = "tiny";
138 + function Action({ title, visible = true, icon: Icon, onClick }) {
139 + if (!visible) return null;
140 + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, {
141 + placement: "top",
142 + title,
143 + arrow: true
144 + }, /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, {
145 + "aria-label": title,
146 + size: SIZE,
147 + onClick
148 + }, /* @__PURE__ */ react.createElement(Icon, { fontSize: SIZE })));
149 + }
51 150
52 -__webpack_require__.r(__webpack_exports__);
53 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
54 -/* harmony export */ controlActionsMenu: function() { return /* binding */ controlActionsMenu; }
55 -/* harmony export */ });
56 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-ui */ "@elementor/editor-ui");
57 -/* harmony import */ var _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_ui__WEBPACK_IMPORTED_MODULE_0__);
58 -/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./action */ "./packages/packages/libs/menus/src/action.tsx");
59 -/* harmony import */ var _create_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-menu */ "./packages/packages/libs/menus/src/create-menu.ts");
151 +//#endregion
152 +//#region packages/packages/libs/menus/src/controls-actions.ts
153 + var controlActionsMenu = createMenu({ components: {
154 + Action,
155 + PopoverAction: _elementor_editor_ui.PopoverAction
156 + } });
60 157
158 +//#endregion
159 +//#region packages/packages/libs/menus/src/index.ts
160 + var src_exports = /* @__PURE__ */ __exportAll({
161 + controlActionsMenu: () => controlActionsMenu,
162 + createMenu: () => createMenu
163 + });
61 164
165 +//#endregion
166 +//#region \0elementor-package-library-entry
167 + (window.elementorV2 = window.elementorV2 || {}).menus = src_exports;
62 168
63 -const controlActionsMenu = (0,_create_menu__WEBPACK_IMPORTED_MODULE_2__.createMenu)({
64 - components: {
65 - Action: _action__WEBPACK_IMPORTED_MODULE_1__["default"],
66 - PopoverAction: _elementor_editor_ui__WEBPACK_IMPORTED_MODULE_0__.PopoverAction
67 - }
68 -});
69 -
70 -/***/ }),
71 -
72 -/***/ "./packages/packages/libs/menus/src/create-menu.ts":
73 -/*!*********************************************************!*\
74 - !*** ./packages/packages/libs/menus/src/create-menu.ts ***!
75 - \*********************************************************/
76 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
77 -
78 -__webpack_require__.r(__webpack_exports__);
79 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
80 -/* harmony export */ createMenu: function() { return /* binding */ createMenu; }
81 -/* harmony export */ });
82 -/* harmony import */ var _elementor_locations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/locations */ "@elementor/locations");
83 -/* harmony import */ var _elementor_locations__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_locations__WEBPACK_IMPORTED_MODULE_0__);
84 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
85 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_1__);
86 -/* harmony import */ var _create_register_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-register-item */ "./packages/packages/libs/menus/src/create-register-item.tsx");
87 -/* harmony import */ var _create_use_menu_items__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./create-use-menu-items */ "./packages/packages/libs/menus/src/create-use-menu-items.ts");
88 -
89 -
90 -
91 -
92 -function createSubscription() {
93 - const listeners = new Set();
94 - return {
95 - subscribe: listener => {
96 - listeners.add(listener);
97 - return () => listeners.delete(listener);
98 - },
99 - notify: () => listeners.forEach(listener => listener())
100 - };
101 -}
102 -function createMenu({
103 - groups = [],
104 - components
105 -}) {
106 - const locations = createLocations([...groups, 'default']);
107 - const {
108 - subscribe,
109 - notify
110 - } = createSubscription();
111 - const registerFns = createRegisterFns(locations, components, notify);
112 - const useMenuItems = (0,_create_use_menu_items__WEBPACK_IMPORTED_MODULE_3__.createUseMenuItems)(locations, subscribe);
113 - return {
114 - useMenuItems,
115 - ...registerFns
116 - };
117 -}
118 -function createLocations(groups) {
119 - return groups.reduce((acc, group) => {
120 - acc[group] = (0,_elementor_locations__WEBPACK_IMPORTED_MODULE_0__.createLocation)();
121 - return acc;
122 - }, {});
123 -}
124 -function createRegisterFns(locations, components, notify) {
125 - return Object.entries(components).reduce((acc, [key, component]) => {
126 - const name = `register${(0,_elementor_utils__WEBPACK_IMPORTED_MODULE_1__.capitalize)(key)}`;
127 - return {
128 - ...acc,
129 - [name]: (0,_create_register_item__WEBPACK_IMPORTED_MODULE_2__.createRegisterItem)(locations, component, notify)
130 - };
131 - }, {});
132 -}
133 -
134 -/***/ }),
135 -
136 -/***/ "./packages/packages/libs/menus/src/create-register-item.tsx":
137 -/*!*******************************************************************!*\
138 - !*** ./packages/packages/libs/menus/src/create-register-item.tsx ***!
139 - \*******************************************************************/
140 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
141 -
142 -__webpack_require__.r(__webpack_exports__);
143 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
144 -/* harmony export */ createRegisterItem: function() { return /* binding */ createRegisterItem; }
145 -/* harmony export */ });
146 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
147 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
148 -function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
149 -
150 -function createRegisterItem(locations, component, notify) {
151 - return ({
152 - id,
153 - group = 'default',
154 - priority = 10,
155 - overwrite = false,
156 - props: _props,
157 - useProps: _useProps
158 - }) => {
159 - if (!(group in locations)) {
160 - return;
161 - }
162 - const Component = component;
163 - const useProps = _useProps || (() => _props);
164 - const InjectedComponent = props => {
165 - const componentProps = useProps();
166 - return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, _extends({}, props, componentProps));
167 - };
168 - locations[group].inject({
169 - id,
170 - component: InjectedComponent,
171 - options: {
172 - priority,
173 - overwrite
174 - }
175 - });
176 - notify();
177 - };
178 -}
179 -
180 -/***/ }),
181 -
182 -/***/ "./packages/packages/libs/menus/src/create-use-menu-items.ts":
183 -/*!*******************************************************************!*\
184 - !*** ./packages/packages/libs/menus/src/create-use-menu-items.ts ***!
185 - \*******************************************************************/
186 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
187 -
188 -__webpack_require__.r(__webpack_exports__);
189 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
190 -/* harmony export */ createUseMenuItems: function() { return /* binding */ createUseMenuItems; }
191 -/* harmony export */ });
192 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
193 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
194 -
195 -function createUseMenuItems(locations, subscribe) {
196 - let snapshot = null;
197 - subscribe(() => {
198 - snapshot = null;
199 - });
200 - const getMenuItems = () => {
201 - if (snapshot) {
202 - return snapshot;
203 - }
204 - snapshot = Object.entries(locations).reduce((carry, [groupName, location]) => {
205 - const items = location.getInjections().map(injection => ({
206 - id: injection.id,
207 - MenuItem: injection.component
208 - }));
209 - return {
210 - ...carry,
211 - [groupName]: items
212 - };
213 - }, {});
214 - return snapshot;
215 - };
216 - return () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore)(subscribe, getMenuItems);
217 -}
218 -
219 -/***/ }),
220 -
221 -/***/ "@elementor/editor-ui":
222 -/*!*******************************************!*\
223 - !*** external ["elementorV2","editorUi"] ***!
224 - \*******************************************/
225 -/***/ (function(module) {
226 -
227 -module.exports = window["elementorV2"]["editorUi"];
228 -
229 -/***/ }),
230 -
231 -/***/ "@elementor/locations":
232 -/*!********************************************!*\
233 - !*** external ["elementorV2","locations"] ***!
234 - \********************************************/
235 -/***/ (function(module) {
236 -
237 -module.exports = window["elementorV2"]["locations"];
238 -
239 -/***/ }),
240 -
241 -/***/ "@elementor/ui":
242 -/*!*************************************!*\
243 - !*** external ["elementorV2","ui"] ***!
244 - \*************************************/
245 -/***/ (function(module) {
246 -
247 -module.exports = window["elementorV2"]["ui"];
248 -
249 -/***/ }),
250 -
251 -/***/ "@elementor/utils":
252 -/*!****************************************!*\
253 - !*** external ["elementorV2","utils"] ***!
254 - \****************************************/
255 -/***/ (function(module) {
256 -
257 -module.exports = window["elementorV2"]["utils"];
258 -
259 -/***/ }),
260 -
261 -/***/ "react":
262 -/*!**************************!*\
263 - !*** external ["React"] ***!
264 - \**************************/
265 -/***/ (function(module) {
266 -
267 -module.exports = window["React"];
268 -
269 -/***/ })
270 -
271 -/******/ });
272 -/************************************************************************/
273 -/******/ // The module cache
274 -/******/ var __webpack_module_cache__ = {};
275 -/******/
276 -/******/ // The require function
277 -/******/ function __webpack_require__(moduleId) {
278 -/******/ // Check if module is in cache
279 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
280 -/******/ if (cachedModule !== undefined) {
281 -/******/ return cachedModule.exports;
282 -/******/ }
283 -/******/ // Create a new module (and put it into the cache)
284 -/******/ var module = __webpack_module_cache__[moduleId] = {
285 -/******/ // no module.id needed
286 -/******/ // no module.loaded needed
287 -/******/ exports: {}
288 -/******/ };
289 -/******/
290 -/******/ // Execute the module function
291 -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
292 -/******/
293 -/******/ // Return the exports of the module
294 -/******/ return module.exports;
295 -/******/ }
296 -/******/
297 -/************************************************************************/
298 -/******/ /* webpack/runtime/compat get default export */
299 -/******/ !function() {
300 -/******/ // getDefaultExport function for compatibility with non-harmony modules
301 -/******/ __webpack_require__.n = function(module) {
302 -/******/ var getter = module && module.__esModule ?
303 -/******/ function() { return module['default']; } :
304 -/******/ function() { return module; };
305 -/******/ __webpack_require__.d(getter, { a: getter });
306 -/******/ return getter;
307 -/******/ };
308 -/******/ }();
309 -/******/
310 -/******/ /* webpack/runtime/define property getters */
311 -/******/ !function() {
312 -/******/ // define getter functions for harmony exports
313 -/******/ __webpack_require__.d = function(exports, definition) {
314 -/******/ for(var key in definition) {
315 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
316 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
317 -/******/ }
318 -/******/ }
319 -/******/ };
320 -/******/ }();
321 -/******/
322 -/******/ /* webpack/runtime/hasOwnProperty shorthand */
323 -/******/ !function() {
324 -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
325 -/******/ }();
326 -/******/
327 -/******/ /* webpack/runtime/make namespace object */
328 -/******/ !function() {
329 -/******/ // define __esModule on exports
330 -/******/ __webpack_require__.r = function(exports) {
331 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
332 -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
333 -/******/ }
334 -/******/ Object.defineProperty(exports, '__esModule', { value: true });
335 -/******/ };
336 -/******/ }();
337 -/******/
338 -/************************************************************************/
339 -var __webpack_exports__ = {};
340 -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
341 -!function() {
342 -/*!***************************************************!*\
343 - !*** ./packages/packages/libs/menus/src/index.ts ***!
344 - \***************************************************/
345 -__webpack_require__.r(__webpack_exports__);
346 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
347 -/* harmony export */ controlActionsMenu: function() { return /* reexport safe */ _controls_actions__WEBPACK_IMPORTED_MODULE_1__.controlActionsMenu; },
348 -/* harmony export */ createMenu: function() { return /* reexport safe */ _create_menu__WEBPACK_IMPORTED_MODULE_0__.createMenu; }
349 -/* harmony export */ });
350 -/* harmony import */ var _create_menu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-menu */ "./packages/packages/libs/menus/src/create-menu.ts");
351 -/* harmony import */ var _controls_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./controls-actions */ "./packages/packages/libs/menus/src/controls-actions.ts");
352 -
353 -
354 -}();
355 -(window.elementorV2 = window.elementorV2 || {}).menus = __webpack_exports__;
356 -/******/ })()
357 -;
169 +//#endregion
170 +})(elementorV2.locations, elementorV2.utils, React, elementorV2.editorUi, elementorV2.ui);
358 171 window.elementorV2.menus?.init?.();
359 172 //# sourceMappingURL=menus.js.map