← All changes
|
assets/js/packages/editor-panels/editor-panels.js
+2
-366
4.3.1
→
3.35.0-dev2
View file →
| @@ -1,367 +1,3 @@ | ||
| 1 | -(function(_elementor_editor, _elementor_store, react, _elementor_locations, _elementor_ui, _elementor_editor_v1_adapters) { | |
| 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/core/editor-panels/src/location.ts | |
| 50 | - var panelsMeta = /* @__PURE__ */ new Map(); | |
| 51 | - var { inject: baseInject, useInjections: baseUseInjections, getInjections } = (0, _elementor_locations.createLocation)(); | |
| 52 | - (0, _elementor_locations.__registerFlushInjections)(() => { | |
| 53 | - panelsMeta.clear(); | |
| 54 | - }); | |
| 55 | - function injectIntoPanels({ id, component, keepMounted }) { | |
| 56 | - const existedBefore = getInjections().some((injection) => injection.id === id); | |
| 57 | - baseInject({ | |
| 58 | - id, | |
| 59 | - component | |
| 60 | - }); | |
| 61 | - if (!existedBefore) panelsMeta.set(id, { keepMounted }); | |
| 62 | - } | |
| 63 | - function usePanelsInjections() { | |
| 64 | - return baseUseInjections().map((injection) => ({ | |
| 65 | - ...injection, | |
| 66 | - keepMounted: panelsMeta.get(injection.id)?.keepMounted ?? false | |
| 67 | - })); | |
| 68 | - } | |
| 69 | - | |
| 70 | -//#endregion | |
| 71 | -//#region packages/packages/core/editor-panels/src/store/selectors.ts | |
| 72 | - var selectOpenId = (state) => state.panels.openId; | |
| 73 | - | |
| 74 | -//#endregion | |
| 75 | -//#region packages/packages/core/editor-panels/src/store/slice.ts | |
| 76 | - var initialState = { openId: null }; | |
| 77 | - var slice_default = (0, _elementor_store.__createSlice)({ | |
| 78 | - name: "panels", | |
| 79 | - initialState, | |
| 80 | - reducers: { | |
| 81 | - open(state, action) { | |
| 82 | - state.openId = action.payload; | |
| 83 | - }, | |
| 84 | - close(state, action) { | |
| 85 | - if (!action.payload || state.openId === action.payload) state.openId = null; | |
| 86 | - } | |
| 87 | - } | |
| 88 | - }); | |
| 89 | - | |
| 90 | -//#endregion | |
| 91 | -//#region packages/packages/core/editor-panels/src/sync.ts | |
| 92 | - var V2_PANEL = "panel/v2"; | |
| 93 | - function getPortalContainer() { | |
| 94 | - return document.querySelector("#elementor-panel-inner"); | |
| 95 | - } | |
| 96 | - function sync() { | |
| 97 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/panel/init"), () => (0, _elementor_editor_v1_adapters.__privateRegisterRoute)(V2_PANEL)); | |
| 98 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeOpenEvent)(V2_PANEL), () => { | |
| 99 | - getV1PanelElements().forEach((el) => { | |
| 100 | - el.setAttribute("hidden", "hidden"); | |
| 101 | - el.setAttribute("inert", "true"); | |
| 102 | - }); | |
| 103 | - }); | |
| 104 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeCloseEvent)(V2_PANEL), () => selectOpenId((0, _elementor_store.__getState)()) && (0, _elementor_store.__dispatch)(slice_default.actions.close())); | |
| 105 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeCloseEvent)(V2_PANEL), () => { | |
| 106 | - getV1PanelElements().forEach((el) => { | |
| 107 | - el.removeAttribute("hidden"); | |
| 108 | - el.removeAttribute("inert"); | |
| 109 | - }); | |
| 110 | - }); | |
| 111 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/panel/init"), () => subscribe({ | |
| 112 | - on: (state) => selectOpenId(state), | |
| 113 | - when: ({ prev, current }) => !!(!prev && current), | |
| 114 | - callback: () => (0, _elementor_editor_v1_adapters.__privateOpenRoute)(V2_PANEL) | |
| 115 | - })); | |
| 116 | - (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/panel/init"), () => subscribe({ | |
| 117 | - on: (state) => selectOpenId(state), | |
| 118 | - when: ({ prev, current }) => !!(!current && prev), | |
| 119 | - callback: () => (0, _elementor_editor_v1_adapters.__privateIsRouteActive)("panel/v2") && (0, _elementor_editor_v1_adapters.__privateOpenRoute)(getDefaultRoute()) | |
| 120 | - })); | |
| 121 | - } | |
| 122 | - function getV1PanelElements() { | |
| 123 | - const v1ElementsSelector = [ | |
| 124 | - "#elementor-panel-header-wrapper", | |
| 125 | - "#elementor-panel-content-wrapper", | |
| 126 | - "#elementor-panel-state-loading" | |
| 127 | - ].join(", "); | |
| 128 | - return document.querySelectorAll(v1ElementsSelector); | |
| 129 | - } | |
| 130 | - function getDefaultRoute() { | |
| 131 | - return window?.elementor?.documents?.getCurrent?.()?.config?.panel?.default_route || "panel/elements/categories"; | |
| 132 | - } | |
| 133 | - function subscribe({ on, when, callback }) { | |
| 134 | - let prev; | |
| 135 | - (0, _elementor_store.__subscribe)(() => { | |
| 136 | - const current = on((0, _elementor_store.__getState)()); | |
| 137 | - if (when({ | |
| 138 | - prev, | |
| 139 | - current | |
| 140 | - })) callback({ | |
| 141 | - prev, | |
| 142 | - current | |
| 143 | - }); | |
| 144 | - prev = current; | |
| 145 | - }); | |
| 146 | - } | |
| 147 | - | |
| 148 | -//#endregion | |
| 149 | -//#region packages/packages/core/editor-panels/src/components/internal/portal.tsx | |
| 150 | - function Portal(props) { | |
| 151 | - const [container, setContainer] = (0, react.useState)(() => getPortalContainer()); | |
| 152 | - (0, react.useEffect)(() => { | |
| 153 | - if (container) return; | |
| 154 | - const resolveContainer = () => { | |
| 155 | - const portalContainer = getPortalContainer(); | |
| 156 | - if (portalContainer) setContainer(portalContainer); | |
| 157 | - }; | |
| 158 | - window.addEventListener("elementor/panel/init", resolveContainer); | |
| 159 | - resolveContainer(); | |
| 160 | - return () => { | |
| 161 | - window.removeEventListener("elementor/panel/init", resolveContainer); | |
| 162 | - }; | |
| 163 | - }, [container]); | |
| 164 | - if (!container) return null; | |
| 165 | - return /* @__PURE__ */ react.createElement(_elementor_ui.Portal, { | |
| 166 | - container, | |
| 167 | - ...props | |
| 168 | - }); | |
| 169 | - } | |
| 170 | - | |
| 171 | -//#endregion | |
| 172 | -//#region packages/packages/core/editor-panels/src/components/internal/panels.tsx | |
| 173 | - function Panels() { | |
| 174 | - const injections = usePanelsInjections(); | |
| 175 | - const openId = (0, _elementor_store.__useSelector)(selectOpenId); | |
| 176 | - const persistentInjections = injections.filter((injection) => injection.keepMounted); | |
| 177 | - const openInjection = injections.find((injection) => openId === injection.id); | |
| 178 | - if (!persistentInjections.length && !openInjection) return null; | |
| 179 | - return /* @__PURE__ */ react.createElement(Portal, null, persistentInjections.map(({ id, component: Component }) => /* @__PURE__ */ react.createElement("div", { | |
| 180 | - key: id, | |
| 181 | - style: { display: openId === id ? "contents" : "none" } | |
| 182 | - }, /* @__PURE__ */ react.createElement(Component, null))), openInjection && !openInjection.keepMounted && /* @__PURE__ */ react.createElement(openInjection.component, null)); | |
| 183 | - } | |
| 184 | - | |
| 185 | -//#endregion | |
| 186 | -//#region packages/packages/core/editor-panels/src/init.ts | |
| 187 | - function init() { | |
| 188 | - sync(); | |
| 189 | - (0, _elementor_store.__registerSlice)(slice_default); | |
| 190 | - (0, _elementor_editor.injectIntoTop)({ | |
| 191 | - id: "panels", | |
| 192 | - component: Panels | |
| 193 | - }); | |
| 194 | - } | |
| 195 | - | |
| 196 | -//#endregion | |
| 197 | -//#region packages/packages/core/editor-panels/src/api.ts | |
| 198 | - function createPanel({ id, component, onOpen, onClose, allowedEditModes, blockOnKitRoutes, isOpenPreviousElement = false, keepMounted = false }) { | |
| 199 | - const usePanelStatus = createUseStatus(id, { | |
| 200 | - allowedEditModes, | |
| 201 | - blockOnKitRoutes | |
| 202 | - }); | |
| 203 | - const usePanelActions = createUseActions(id, usePanelStatus, { | |
| 204 | - onOpen, | |
| 205 | - onClose | |
| 206 | - }, isOpenPreviousElement); | |
| 207 | - return { | |
| 208 | - panel: { | |
| 209 | - id, | |
| 210 | - component, | |
| 211 | - keepMounted | |
| 212 | - }, | |
| 213 | - usePanelStatus, | |
| 214 | - usePanelActions | |
| 215 | - }; | |
| 216 | - } | |
| 217 | - function registerPanel({ id, component, keepMounted }) { | |
| 218 | - injectIntoPanels({ | |
| 219 | - id, | |
| 220 | - component, | |
| 221 | - keepMounted | |
| 222 | - }); | |
| 223 | - } | |
| 224 | - function createUseStatus(id, options = {}) { | |
| 225 | - return () => { | |
| 226 | - const openPanelId = (0, _elementor_store.__useSelector)(selectOpenId); | |
| 227 | - const v1PanelStatus = (0, _elementor_editor_v1_adapters.__privateUseRouteStatus)(V2_PANEL, options); | |
| 228 | - return { | |
| 229 | - isOpen: openPanelId === id && v1PanelStatus.isActive, | |
| 230 | - isBlocked: v1PanelStatus.isBlocked | |
| 231 | - }; | |
| 232 | - }; | |
| 233 | - } | |
| 234 | - function createUseActions(id, useStatus, options = {}, isOpenPreviousElement) { | |
| 235 | - let stateSnapshot = null; | |
| 236 | - let previousSelectedElement = null; | |
| 237 | - return () => { | |
| 238 | - const dispatch = (0, _elementor_store.__useDispatch)(); | |
| 239 | - const { isBlocked } = useStatus(); | |
| 240 | - return { | |
| 241 | - open: async () => { | |
| 242 | - if (isBlocked) return; | |
| 243 | - if (isOpenPreviousElement) previousSelectedElement = window.elementor?.selection?.getElements?.()[0]?.model.get("id") ?? null; | |
| 244 | - dispatch(slice_default.actions.open(id)); | |
| 245 | - stateSnapshot = options.onOpen?.() ?? null; | |
| 246 | - }, | |
| 247 | - close: async () => { | |
| 248 | - if (isBlocked) return; | |
| 249 | - dispatch(slice_default.actions.close(id)); | |
| 250 | - await options.onClose?.(stateSnapshot); | |
| 251 | - if (previousSelectedElement) { | |
| 252 | - try { | |
| 253 | - const container = window.elementor?.getContainer?.(previousSelectedElement); | |
| 254 | - (0, _elementor_editor_v1_adapters.__privateRunCommand)("document/elements/select", { container }); | |
| 255 | - } catch {} | |
| 256 | - previousSelectedElement = null; | |
| 257 | - } | |
| 258 | - } | |
| 259 | - }; | |
| 260 | - }; | |
| 261 | - } | |
| 262 | - | |
| 263 | -//#endregion | |
| 264 | -//#region packages/packages/core/editor-panels/src/components/external/panel.tsx | |
| 265 | - function Panel({ children, sx, ...props }) { | |
| 266 | - return /* @__PURE__ */ react.createElement(_elementor_ui.Drawer, { | |
| 267 | - open: true, | |
| 268 | - variant: "persistent", | |
| 269 | - anchor: "left", | |
| 270 | - PaperProps: { sx: { | |
| 271 | - position: "relative", | |
| 272 | - width: "100%", | |
| 273 | - bgcolor: "background.default", | |
| 274 | - border: "none" | |
| 275 | - } }, | |
| 276 | - sx: { | |
| 277 | - height: "100%", | |
| 278 | - ...sx | |
| 279 | - }, | |
| 280 | - ...props | |
| 281 | - }, children); | |
| 282 | - } | |
| 283 | - | |
| 284 | -//#endregion | |
| 285 | -//#region packages/packages/core/editor-panels/src/components/external/panel-header.tsx | |
| 286 | - var Header = (0, _elementor_ui.styled)(_elementor_ui.Box)(({ theme }) => ({ | |
| 287 | - height: theme?.spacing(6) || "48px", | |
| 288 | - display: "flex", | |
| 289 | - alignItems: "center", | |
| 290 | - justifyContent: "center", | |
| 291 | - gap: theme?.spacing(.5) || "4px" | |
| 292 | - })); | |
| 293 | - function PanelHeader({ children, ...props }) { | |
| 294 | - return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(Header, { | |
| 295 | - component: "header", | |
| 296 | - ...props | |
| 297 | - }, children)); | |
| 298 | - } | |
| 299 | - | |
| 300 | -//#endregion | |
| 301 | -//#region packages/packages/core/editor-panels/src/components/external/panel-header-title.tsx | |
| 302 | - var Typography = (0, _elementor_ui.styled)(_elementor_ui.Typography)(({ theme, variant = "body1" }) => { | |
| 303 | - if (variant === "inherit") return {}; | |
| 304 | - return { "&.MuiTypography-root": { ...theme.typography[variant] } }; | |
| 305 | - }); | |
| 306 | - var PanelHeaderTitle = (0, react.forwardRef)(({ children, ...props }, ref) => { | |
| 307 | - return /* @__PURE__ */ react.createElement(Typography, { | |
| 308 | - ref, | |
| 309 | - component: "h2", | |
| 310 | - variant: "subtitle1", | |
| 311 | - ...props | |
| 312 | - }, children); | |
| 313 | - }); | |
| 314 | - | |
| 315 | -//#endregion | |
| 316 | -//#region packages/packages/core/editor-panels/src/components/external/panel-body.tsx | |
| 317 | - function PanelBody({ children, sx, ...props }) { | |
| 318 | - return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { | |
| 319 | - component: "main", | |
| 320 | - sx: { | |
| 321 | - overflowY: "auto", | |
| 322 | - height: "100%", | |
| 323 | - ...sx | |
| 324 | - }, | |
| 325 | - ...props | |
| 326 | - }, children); | |
| 327 | - } | |
| 328 | - | |
| 329 | -//#endregion | |
| 330 | -//#region packages/packages/core/editor-panels/src/components/external/panel-footer.tsx | |
| 331 | - function PanelFooter({ children, sx, ...props }) { | |
| 332 | - return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.Divider, null), /* @__PURE__ */ react.createElement(_elementor_ui.Box, { | |
| 333 | - component: "footer", | |
| 334 | - sx: { | |
| 335 | - display: "flex", | |
| 336 | - position: "sticky", | |
| 337 | - bottom: 0, | |
| 338 | - px: 2, | |
| 339 | - py: 1.5 | |
| 340 | - }, | |
| 341 | - ...props | |
| 342 | - }, children)); | |
| 343 | - } | |
| 344 | - | |
| 345 | -//#endregion | |
| 346 | -//#region packages/packages/core/editor-panels/src/index.ts | |
| 347 | - var src_exports = /* @__PURE__ */ __exportAll({ | |
| 348 | - Panel: () => Panel, | |
| 349 | - PanelBody: () => PanelBody, | |
| 350 | - PanelFooter: () => PanelFooter, | |
| 351 | - PanelHeader: () => PanelHeader, | |
| 352 | - PanelHeaderTitle: () => PanelHeaderTitle, | |
| 353 | - __createPanel: () => createPanel, | |
| 354 | - __registerPanel: () => registerPanel, | |
| 355 | - createPanel: () => createPanel, | |
| 356 | - init: () => init, | |
| 357 | - registerPanel: () => registerPanel | |
| 358 | - }); | |
| 359 | - | |
| 360 | -//#endregion | |
| 361 | -//#region \0elementor-package-library-entry | |
| 362 | - (window.elementorV2 = window.elementorV2 || {}).editorPanels = src_exports; | |
| 363 | - | |
| 364 | -//#endregion | |
| 365 | -})(elementorV2.editor, elementorV2.store, React, elementorV2.locations, elementorV2.ui, elementorV2.editorV1Adapters); | |
| 366 | -window.elementorV2.editorPanels?.init?.(); | |
| 1 | +/*! For license information please see editor-panels.js.LICENSE.txt */ | |
| 2 | +!function(){"use strict";var e={"./packages/packages/core/editor-panels/src/api.ts":function(e,n,t){t.r(n),t.d(n,{createPanel:function(){return createPanel},registerPanel:function(){return registerPanel}});var r=t("@elementor/editor-v1-adapters"),a=t("@elementor/store"),o=t("./packages/packages/core/editor-panels/src/location.ts"),c=t("./packages/packages/core/editor-panels/src/store/index.ts"),s=t("./packages/packages/core/editor-panels/src/sync.ts");function createPanel({id:e,component:n,onOpen:t,onClose:o,allowedEditModes:i,blockOnKitRoutes:l,isOpenPreviousElement:p=!1}){const u=function createUseStatus(e,n={}){return()=>{const t=(0,a.__useSelector)(c.selectOpenId),o=(0,r.__privateUseRouteStatus)(s.V2_PANEL,n);return{isOpen:t===e&&o.isActive,isBlocked:o.isBlocked}}}(e,{allowedEditModes:i,blockOnKitRoutes:l}),d=function createUseActions(e,n,t={},o){let s=null,i=null;return()=>{const l=(0,a.__useDispatch)(),{isBlocked:p}=n();return{open:async()=>{p||(o&&(i=window.elementor?.selection?.getElements?.()[0]?.model.get("id")??null),l(c.slice.actions.open(e)),s=t.onOpen?.()??null)},close:async()=>{if(!p&&(l(c.slice.actions.close(e)),t.onClose?.(s),i)){try{const e=window.elementor?.getContainer?.(i);(0,r.__privateRunCommand)("document/elements/select",{container:e})}catch{}i=null}}}}}(e,u,{onOpen:t,onClose:o},p);return{panel:{id:e,component:n},usePanelStatus:u,usePanelActions:d}}function registerPanel({id:e,component:n}){(0,o.injectIntoPanels)({id:e,component:n})}},"./packages/packages/core/editor-panels/src/components/external/index.ts":function(e,n,t){t.r(n),t.d(n,{Panel:function(){return r.default},PanelBody:function(){return c.default},PanelFooter:function(){return s.default},PanelHeader:function(){return a.default},PanelHeaderTitle:function(){return o.default}});var r=t("./packages/packages/core/editor-panels/src/components/external/panel.tsx"),a=t("./packages/packages/core/editor-panels/src/components/external/panel-header.tsx"),o=t("./packages/packages/core/editor-panels/src/components/external/panel-header-title.tsx"),c=t("./packages/packages/core/editor-panels/src/components/external/panel-body.tsx"),s=t("./packages/packages/core/editor-panels/src/components/external/panel-footer.tsx")},"./packages/packages/core/editor-panels/src/components/external/panel-body.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return PanelBody}});var r=t("react"),a=t("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}function PanelBody({children:e,sx:n,...t}){return r.createElement(a.Box,_extends({component:"main",sx:{overflowY:"auto",height:"100%",...n}},t),e)}},"./packages/packages/core/editor-panels/src/components/external/panel-footer.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return PanelFooter}});var r=t("react"),a=t("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}function PanelFooter({children:e,sx:n,...t}){return r.createElement(r.Fragment,null,r.createElement(a.Divider,null),r.createElement(a.Box,_extends({component:"footer",sx:{display:"flex",position:"sticky",bottom:0,px:2,py:1.5}},t),e))}},"./packages/packages/core/editor-panels/src/components/external/panel-header-title.tsx":function(e,n,t){t.r(n);var r=t("react"),a=t("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}const o=(0,a.styled)(a.Typography)(({theme:e,variant:n="body1"})=>"inherit"===n?{}:{"&.MuiTypography-root":{...e.typography[n]}}),c=(0,r.forwardRef)(({children:e,...n},t)=>r.createElement(o,_extends({ref:t,component:"h2",variant:"subtitle1"},n),e));n.default=c},"./packages/packages/core/editor-panels/src/components/external/panel-header.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return PanelHeader}});var r=t("react"),a=t("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}const o=(0,a.styled)(a.Box)(({theme:e})=>({height:e?.spacing(6)||"48px",display:"flex",alignItems:"center",justifyContent:"center",gap:e?.spacing(.5)||"4px"}));function PanelHeader({children:e,...n}){return r.createElement(r.Fragment,null,r.createElement(o,_extends({component:"header"},n),e))}},"./packages/packages/core/editor-panels/src/components/external/panel.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return Panel}});var r=t("react"),a=t("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}function Panel({children:e,sx:n,...t}){return r.createElement(a.Drawer,_extends({open:!0,variant:"persistent",anchor:"left",PaperProps:{sx:{position:"relative",width:"100%",bgcolor:"background.default",border:"none"}},sx:{height:"100%",...n}},t),e)}},"./packages/packages/core/editor-panels/src/components/internal/panels.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return Panels}});var r=t("react"),a=t("./packages/packages/core/editor-panels/src/hooks/use-open-panel-injection.ts"),o=t("./packages/packages/core/editor-panels/src/components/internal/portal.tsx");function Panels(){const e=(0,a.default)(),n=e?.component??null;return n?r.createElement(o.default,null,r.createElement(n,null)):null}},"./packages/packages/core/editor-panels/src/components/internal/portal.tsx":function(e,n,t){t.r(n),t.d(n,{default:function(){return Portal}});var r=t("react"),a=t("@elementor/ui"),o=t("./packages/packages/core/editor-panels/src/sync.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_extends.apply(null,arguments)}function Portal(e){const n=(0,r.useRef)(o.getPortalContainer);return n.current?r.createElement(a.Portal,_extends({container:n.current},e)):null}},"./packages/packages/core/editor-panels/src/hooks/use-open-panel-injection.ts":function(e,n,t){t.r(n),t.d(n,{default:function(){return useOpenPanelInjection}});var r=t("react"),a=t("@elementor/store"),o=t("./packages/packages/core/editor-panels/src/location.ts"),c=t("./packages/packages/core/editor-panels/src/store/index.ts");function useOpenPanelInjection(){const e=(0,o.usePanelsInjections)(),n=(0,a.__useSelector)(c.selectOpenId);return(0,r.useMemo)(()=>e.find(e=>n===e.id),[e,n])}},"./packages/packages/core/editor-panels/src/init.ts":function(e,n,t){t.r(n),t.d(n,{init:function(){return init}});var r=t("@elementor/editor"),a=t("@elementor/store"),o=t("./packages/packages/core/editor-panels/src/components/internal/panels.tsx"),c=t("./packages/packages/core/editor-panels/src/store/index.ts"),s=t("./packages/packages/core/editor-panels/src/sync.ts");function init(){(0,s.sync)(),(0,a.__registerSlice)(c.slice),(0,r.injectIntoTop)({id:"panels",component:o.default})}},"./packages/packages/core/editor-panels/src/location.ts":function(e,n,t){t.r(n),t.d(n,{injectIntoPanels:function(){return a},usePanelsInjections:function(){return o}});var r=t("@elementor/locations");const{inject:a,useInjections:o}=(0,r.createLocation)()},"./packages/packages/core/editor-panels/src/store/index.ts":function(e,n,t){t.r(n),t.d(n,{selectOpenId:function(){return r.selectOpenId},slice:function(){return a.default}});var r=t("./packages/packages/core/editor-panels/src/store/selectors.ts"),a=t("./packages/packages/core/editor-panels/src/store/slice.ts")},"./packages/packages/core/editor-panels/src/store/selectors.ts":function(e,n,t){t.r(n),t.d(n,{selectOpenId:function(){return selectOpenId}});const selectOpenId=e=>e.panels.openId},"./packages/packages/core/editor-panels/src/store/slice.ts":function(e,n,t){t.r(n);var r=t("@elementor/store");n.default=(0,r.__createSlice)({name:"panels",initialState:{openId:null},reducers:{open(e,n){e.openId=n.payload},close(e,n){n.payload&&e.openId!==n.payload||(e.openId=null)}}})},"./packages/packages/core/editor-panels/src/sync.ts":function(e,n,t){t.r(n),t.d(n,{V2_PANEL:function(){return c},getPortalContainer:function(){return getPortalContainer},sync:function(){return sync}});var r=t("@elementor/editor-v1-adapters"),a=t("@elementor/store"),o=t("./packages/packages/core/editor-panels/src/store/index.ts");const c="panel/v2";function getPortalContainer(){return document.querySelector("#elementor-panel-inner")}function sync(){(0,r.__privateListenTo)((0,r.windowEvent)("elementor/panel/init"),()=>(0,r.__privateRegisterRoute)(c)),(0,r.__privateListenTo)((0,r.routeOpenEvent)(c),()=>{getV1PanelElements().forEach(e=>{e.setAttribute("hidden","hidden"),e.setAttribute("inert","true")})}),(0,r.__privateListenTo)((0,r.routeCloseEvent)(c),()=>(0,o.selectOpenId)((0,a.__getState)())&&(0,a.__dispatch)(o.slice.actions.close())),(0,r.__privateListenTo)((0,r.routeCloseEvent)(c),()=>{getV1PanelElements().forEach(e=>{e.removeAttribute("hidden"),e.removeAttribute("inert")})}),(0,r.__privateListenTo)((0,r.windowEvent)("elementor/panel/init"),()=>subscribe({on:e=>(0,o.selectOpenId)(e),when:({prev:e,current:n})=>!(e||!n),callback:()=>(0,r.__privateOpenRoute)(c)})),(0,r.__privateListenTo)((0,r.windowEvent)("elementor/panel/init"),()=>subscribe({on:e=>(0,o.selectOpenId)(e),when:({prev:e,current:n})=>!(n||!e),callback:()=>(0,r.__privateIsRouteActive)(c)&&(0,r.__privateOpenRoute)(function getDefaultRoute(){const e=window?.elementor?.documents?.getCurrent?.()?.config?.panel?.default_route;return e||"panel/elements/categories"}())}))}function getV1PanelElements(){const e=["#elementor-panel-header-wrapper","#elementor-panel-content-wrapper","#elementor-panel-state-loading","#elementor-panel-footer"].join(", ");return document.querySelectorAll(e)}function subscribe({on:e,when:n,callback:t}){let r;(0,a.__subscribe)(()=>{const o=e((0,a.__getState)());n({prev:r,current:o})&&t({prev:r,current:o}),r=o})}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/locations":function(e){e.exports=window.elementorV2.locations},"@elementor/store":function(e){e.exports=window.elementorV2.store},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},react:function(e){e.exports=window.React}},n={};function __webpack_require__(t){var r=n[t];if(void 0!==r)return r.exports;var a=n[t]={exports:{}};return e[t](a,a.exports,__webpack_require__),a.exports}__webpack_require__.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=function(e,n){for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};!function(){__webpack_require__.r(t),__webpack_require__.d(t,{Panel:function(){return r.Panel},PanelBody:function(){return r.PanelBody},PanelFooter:function(){return r.PanelFooter},PanelHeader:function(){return r.PanelHeader},PanelHeaderTitle:function(){return r.PanelHeaderTitle},__createPanel:function(){return n.createPanel},__registerPanel:function(){return n.registerPanel},init:function(){return e.init}});var e=__webpack_require__("./packages/packages/core/editor-panels/src/init.ts"),n=__webpack_require__("./packages/packages/core/editor-panels/src/api.ts"),r=__webpack_require__("./packages/packages/core/editor-panels/src/components/external/index.ts")}(),(window.elementorV2=window.elementorV2||{}).editorPanels=t}(),window.elementorV2.editorPanels?.init?.(); | |
| 367 | 3 | //# sourceMappingURL=editor-panels.js.map |