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 +171 -2 4.1.0-dev3 → 4.3.2 View file →
@@ -1,3 +1,172 @@
1 -/*! For license information please see menus.js.LICENSE.txt */
2 -!function(){"use strict";var e={"./packages/packages/libs/menus/src/action.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Action}});var r=n("react"),c=n("@elementor/ui");const o="tiny";function Action({title:e,visible:t=!0,icon:n,onClick:i}){return t?r.createElement(c.Tooltip,{placement:"top",title:e,arrow:!0},r.createElement(c.IconButton,{"aria-label":e,size:o,onClick:i},r.createElement(n,{fontSize:o}))):null}},"./packages/packages/libs/menus/src/controls-actions.ts":function(e,t,n){n.r(t),n.d(t,{controlActionsMenu:function(){return o}});var r=n("@elementor/editor-ui"),c=n("./packages/packages/libs/menus/src/action.tsx");const o=(0,n("./packages/packages/libs/menus/src/create-menu.ts").createMenu)({components:{Action:c.default,PopoverAction:r.PopoverAction}})},"./packages/packages/libs/menus/src/create-menu.ts":function(e,t,n){n.r(t),n.d(t,{createMenu:function(){return createMenu}});var r=n("@elementor/locations"),c=n("@elementor/utils"),o=n("./packages/packages/libs/menus/src/create-register-item.tsx"),i=n("./packages/packages/libs/menus/src/create-use-menu-items.ts");function createMenu({groups:e=[],components:t}){const n=function createLocations(e){return e.reduce((e,t)=>(e[t]=(0,r.createLocation)(),e),{})}([...e,"default"]),{subscribe:s,notify:u}=function createSubscription(){const e=new Set;return{subscribe:t=>(e.add(t),()=>e.delete(t)),notify:()=>e.forEach(e=>e())}}(),a=function createRegisterFns(e,t,n){return Object.entries(t).reduce((t,[r,i])=>{const s=`register${(0,c.capitalize)(r)}`;return{...t,[s]:(0,o.createRegisterItem)(e,i,n)}},{})}(n,t,u);return{useMenuItems:(0,i.createUseMenuItems)(n,s),...a}}},"./packages/packages/libs/menus/src/create-register-item.tsx":function(e,t,n){n.r(t),n.d(t,{createRegisterItem:function(){return createRegisterItem}});var r=n("react");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_extends.apply(null,arguments)}function createRegisterItem(e,t,n){return({id:c,group:o="default",priority:i=10,overwrite:s=!1,props:u,useProps:a})=>{if(!(o in e))return;const l=t,p=a||(()=>u);e[o].inject({id:c,component:e=>{const t=p();return r.createElement(l,_extends({},e,t))},options:{priority:i,overwrite:s}}),n()}}},"./packages/packages/libs/menus/src/create-use-menu-items.ts":function(e,t,n){n.r(t),n.d(t,{createUseMenuItems:function(){return createUseMenuItems}});var r=n("react");function createUseMenuItems(e,t){let n=null;t(()=>{n=null});const getMenuItems=()=>n||(n=Object.entries(e).reduce((e,[t,n])=>{const r=n.getInjections().map(e=>({id:e.id,MenuItem:e.component}));return{...e,[t]:r}},{}),n);return()=>(0,r.useSyncExternalStore)(t,getMenuItems)}},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/locations":function(e){e.exports=window.elementorV2.locations},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var c=t[n]={exports:{}};return e[n](c,c.exports,__webpack_require__),c.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{controlActionsMenu:function(){return t.controlActionsMenu},createMenu:function(){return e.createMenu}});var e=__webpack_require__("./packages/packages/libs/menus/src/create-menu.ts"),t=__webpack_require__("./packages/packages/libs/menus/src/controls-actions.ts")}(),(window.elementorV2=window.elementorV2||{}).menus=n}(),window.elementorV2.menus?.init?.();
1 +(function(_elementor_locations, _elementor_utils, react, _elementor_editor_ui, _elementor_ui) {
2 +
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));
45 +
46 +//#endregion
47 +react = __toESM(react);
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 + }
73 +
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 + }
97 +
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 + }
134 +
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 + }
150 +
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 + } });
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 + });
164 +
165 +//#endregion
166 +//#region \0elementor-package-library-entry
167 + (window.elementorV2 = window.elementorV2 || {}).menus = src_exports;
168 +
169 +//#endregion
170 +})(elementorV2.locations, elementorV2.utils, React, elementorV2.editorUi, elementorV2.ui);
171 +window.elementorV2.menus?.init?.();
3 172 //# sourceMappingURL=menus.js.map