PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0
Elementor Website Builder – more than just a page builder v4.3.0
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 4.0.8 All 454 releases
elementor / assets / js / packages / editor-default-styles / editor-default-styles.js

editor-default-styles.js in Elementor Website Builder – more than just a page builder 4.3.0, at assets/js/packages/editor-default-styles/editor-default-styles.js

566 lines 21.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(react, _elementor_editor_controls, _elementor_editor_editing_panel, _elementor_editor_responsive, _elementor_editor_styles_repository, _elementor_editor_ui, _elementor_menus, _elementor_query, _elementor_session, _elementor_store, _elementor_ui, _wordpress_i18n, _elementor_editor_styles, _elementor_utils, _elementor_http_client, _elementor_icons, _elementor_editor, _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-default-styles/src/allowed-tags.ts
50 var getElementorConfig = () => window.elementor?.config ?? {};
51 var getAllowedDefaultStyleTags = () => {
52 const tags = getElementorConfig().atomic?.default_styles?.allowed_tags;
53 if (!tags?.length) return [];
54 return tags;
55 };
56 var getDefaultActiveTag = (tags) => {
57 if (tags.includes("h1")) return "h1";
58 return tags[0] ?? "";
59 };
60 var isAllowedDefaultStyleTag = (tag, tags = getAllowedDefaultStyleTags()) => tags.includes(tag);
61
62 //#endregion
63 //#region packages/packages/core/editor-default-styles/src/capabilities.ts
64 var UPDATE_DEFAULT_STYLES_CAPABILITY_KEY = "manage_options";
65 var getCapabilities = () => {
66 return {
67 update: UPDATE_DEFAULT_STYLES_CAPABILITY_KEY,
68 create: UPDATE_DEFAULT_STYLES_CAPABILITY_KEY,
69 delete: UPDATE_DEFAULT_STYLES_CAPABILITY_KEY,
70 updateProps: UPDATE_DEFAULT_STYLES_CAPABILITY_KEY
71 };
72 };
73
74 //#endregion
75 //#region packages/packages/core/editor-default-styles/src/store.ts
76 var initialState = {
77 data: {},
78 initialData: {},
79 isDirty: false
80 };
81 var SLICE_NAME = "defaultStyles";
82 var slice = (0, _elementor_store.__createSlice)({
83 name: SLICE_NAME,
84 initialState,
85 reducers: {
86 load(state, { payload: { data } }) {
87 const normalizedData = Array.isArray(data) ? {} : data;
88 state.initialData = structuredClone(normalizedData);
89 state.data = structuredClone(normalizedData);
90 state.isDirty = false;
91 },
92 update(state, { payload }) {
93 state.data[payload.style.id] = {
94 ...state.data[payload.style.id],
95 ...payload.style
96 };
97 state.isDirty = true;
98 },
99 updateProps(state, { payload }) {
100 const style = state.data[payload.id] ?? {
101 id: payload.id,
102 label: payload.id,
103 type: "class",
104 variants: []
105 };
106 const variant = (0, _elementor_editor_styles.getVariantByMeta)(style, payload.meta);
107 let customCss = ("custom_css" in payload ? payload.custom_css : variant?.custom_css) ?? null;
108 customCss = customCss?.raw ? customCss : null;
109 if (variant) {
110 const payloadProps = JSON.parse(JSON.stringify(payload.props));
111 if ((payload.mode ?? "merge") === "replace") variant.props = payloadProps;
112 else variant.props = {
113 ...variant.props,
114 ...payloadProps
115 };
116 variant.custom_css = customCss;
117 } else style.variants.push({
118 meta: payload.meta,
119 props: payload.props,
120 custom_css: customCss
121 });
122 state.data[payload.id] = style;
123 state.isDirty = true;
124 },
125 reset(state) {
126 state.data = state.initialData;
127 state.isDirty = false;
128 },
129 commit(state) {
130 state.initialData = state.data;
131 state.isDirty = false;
132 },
133 deleteTag(state, { payload }) {
134 delete state.data[payload];
135 state.isDirty = true;
136 }
137 }
138 });
139 var selectData = (0, _elementor_store.__createSelector)((state) => state.defaultStyles.data, (data) => data);
140 var selectIsDirty = (0, _elementor_store.__createSelector)((state) => state.defaultStyles.isDirty, (isDirty) => isDirty);
141 var selectInitialData = (0, _elementor_store.__createSelector)((state) => state.defaultStyles.initialData, (initialData) => initialData);
142 var selectTagStyle = (0, _elementor_store.__createSelector)([selectData, (_state, id) => id], (data, id) => data[id]);
143
144 //#endregion
145 //#region packages/packages/core/editor-default-styles/src/default-styles-provider.ts
146 var DEFAULT_STYLES_PROVIDER_KEY = "default-styles";
147 var DEFAULT_STYLES_CSS_NAME_PREFIX = "e-default-";
148 var resolveCssName = (id) => `${DEFAULT_STYLES_CSS_NAME_PREFIX}${id}`;
149 var placeholderDefinition = (id) => ({
150 id,
151 label: id,
152 type: "class",
153 variants: []
154 });
155 var asClassDefinition = (style) => ({
156 ...style,
157 type: "class"
158 });
159 var defaultStylesStylesProvider = (0, _elementor_editor_styles_repository.createStylesProvider)({
160 key: DEFAULT_STYLES_PROVIDER_KEY,
161 priority: 15,
162 labels: {
163 singular: (0, _wordpress_i18n.__)("tag", "elementor"),
164 plural: (0, _wordpress_i18n.__)("tags", "elementor")
165 },
166 subscribe: (cb) => subscribeWithStates(cb),
167 capabilities: getCapabilities(),
168 actions: {
169 all: () => getAllowedDefaultStyleTags().map((tag) => {
170 const style = selectData((0, _elementor_store.__getState)())[tag];
171 return style ? asClassDefinition(style) : placeholderDefinition(tag);
172 }),
173 get: (id) => {
174 const style = selectData((0, _elementor_store.__getState)())[id];
175 return style ? asClassDefinition(style) : placeholderDefinition(id);
176 },
177 resolveCssName,
178 update: (payload) => {
179 (0, _elementor_store.__dispatch)(slice.actions.update({ style: payload }));
180 },
181 delete: (id) => {
182 (0, _elementor_store.__dispatch)(slice.actions.deleteTag(id));
183 },
184 updateProps: (args) => {
185 (0, _elementor_store.__dispatch)(slice.actions.updateProps({
186 id: args.id,
187 meta: args.meta,
188 props: args.props,
189 mode: args.mode
190 }));
191 },
192 updateCustomCss: (args) => {
193 (0, _elementor_store.__dispatch)(slice.actions.updateProps({
194 id: args.id,
195 meta: args.meta,
196 custom_css: args.custom_css,
197 props: {}
198 }));
199 }
200 }
201 });
202 var subscribeWithStates = (cb) => {
203 let previousState = selectData((0, _elementor_store.__getState)());
204 return (0, _elementor_store.__subscribeWithSelector)((state) => selectData(state), (currentState) => {
205 cb(previousState, currentState);
206 previousState = currentState;
207 });
208 };
209
210 //#endregion
211 //#region packages/packages/core/editor-default-styles/src/api.ts
212 var RESOURCE_URL = "/default-styles";
213 var BASE_URL = "elementor/v1";
214 var apiClient = {
215 all: () => (0, _elementor_http_client.httpService)().get(`${BASE_URL}${RESOURCE_URL}`),
216 put: (tag, variants) => (0, _elementor_http_client.httpService)().put(`${BASE_URL}${RESOURCE_URL}/${tag}`, {
217 type: "class",
218 variants
219 }),
220 delete: (tag) => (0, _elementor_http_client.httpService)().delete(`${BASE_URL}${RESOURCE_URL}/${tag}`)
221 };
222
223 //#endregion
224 //#region packages/packages/core/editor-default-styles/src/save-default-styles.ts
225 function getChangedTags(state) {
226 const current = selectData(state);
227 const initial = selectInitialData(state);
228 const changed = [];
229 Object.keys(current).forEach((tag) => {
230 const currentStyle = current[tag];
231 const initialStyle = initial[tag];
232 if (!initialStyle || (0, _elementor_utils.hash)(currentStyle) !== (0, _elementor_utils.hash)(initialStyle)) changed.push(tag);
233 });
234 Object.keys(initial).forEach((tag) => {
235 if (!current[tag]) changed.push(tag);
236 });
237 return changed;
238 }
239 async function saveDefaultStyles() {
240 const state = (0, _elementor_store.__getState)();
241 if (!selectIsDirty(state)) return;
242 const data = selectData(state);
243 const changedTags = getChangedTags(state);
244 await Promise.all(changedTags.map(async (tag) => {
245 const style = data[tag];
246 if (!style || style.variants.length === 0) {
247 await apiClient.delete(tag);
248 return;
249 }
250 await apiClient.put(tag, style.variants);
251 }));
252 (0, _elementor_store.__dispatch)(slice.actions.commit());
253 }
254
255 //#endregion
256 //#region packages/packages/core/editor-default-styles/src/components/tag-state-menu.tsx
257 function TagStateMenu({ popupState, anchorEl, activeState, onSelectState }) {
258 return /* @__PURE__ */ react.createElement(_elementor_ui.Menu, {
259 MenuListProps: {
260 dense: true,
261 sx: { minWidth: "160px" }
262 },
263 ...(0, _elementor_ui.bindMenu)(popupState),
264 anchorEl,
265 anchorOrigin: {
266 vertical: "bottom",
267 horizontal: "left"
268 },
269 transformOrigin: {
270 horizontal: "left",
271 vertical: -4
272 },
273 disableAutoFocusItem: true
274 }, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.PseudoStateMenuItems, {
275 states: _elementor_editor_editing_panel.DEFAULT_PSEUDO_STATES,
276 activeState,
277 onSelectState,
278 onClose: popupState.close
279 }));
280 }
281
282 //#endregion
283 //#region packages/packages/core/editor-default-styles/src/components/tag-chip.tsx
284 var CHIP_SIZE = "tiny";
285 function TagChip({ label, chipProps, activeState, onSelectState }) {
286 const popupState = (0, _elementor_ui.usePopupState)({
287 variant: "popover",
288 popupId: "tag-state-menu"
289 });
290 const [chipRef, setChipRef] = (0, react.useState)(null);
291 const { onDelete: _onDelete, ...chipGroupProps } = chipProps;
292 const isShowingState = Boolean(activeState);
293 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.UnstableChipGroup, {
294 ref: setChipRef,
295 ...chipGroupProps,
296 "aria-label": `Edit ${label}`,
297 role: "group",
298 sx: (theme) => ({ "&.MuiChipGroup-root.MuiAutocomplete-tag": { margin: theme.spacing(.125) } })
299 }, /* @__PURE__ */ react.createElement(_elementor_ui.Chip, {
300 size: CHIP_SIZE,
301 label,
302 variant: isShowingState ? "standard" : "filled",
303 shape: "rounded",
304 color: "default",
305 onClick: () => {
306 if (isShowingState) onSelectState(null);
307 },
308 sx: (theme) => ({
309 lineHeight: 1,
310 borderRadius: `${theme.shape.borderRadius * .75}px`
311 })
312 }), /* @__PURE__ */ react.createElement(_elementor_ui.Chip, {
313 icon: isShowingState ? void 0 : /* @__PURE__ */ react.createElement(_elementor_icons.DotsVerticalIcon, { fontSize: "tiny" }),
314 size: CHIP_SIZE,
315 label: isShowingState ? /* @__PURE__ */ react.createElement(_elementor_ui.Stack, {
316 direction: "row",
317 gap: .5,
318 alignItems: "center"
319 }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { variant: "inherit" }, activeState), /* @__PURE__ */ react.createElement(_elementor_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
320 variant: "filled",
321 shape: "rounded",
322 color: "default",
323 ...(0, _elementor_ui.bindTrigger)(popupState),
324 "aria-label": (0, _wordpress_i18n.__)("Open tag state menu", "elementor"),
325 sx: (theme) => ({
326 borderRadius: `${theme.shape.borderRadius * .75}px`,
327 paddingRight: 0,
328 ...!isShowingState ? { paddingLeft: 0 } : {},
329 ".MuiChip-label": isShowingState ? { paddingRight: 0 } : { padding: 0 }
330 })
331 })), /* @__PURE__ */ react.createElement(TagStateMenu, {
332 popupState,
333 anchorEl: chipRef,
334 activeState,
335 onSelectState
336 }));
337 }
338
339 //#endregion
340 //#region packages/packages/core/editor-default-styles/src/components/default-styles-tab-embedded.tsx
341 var { useMenuItems } = _elementor_menus.controlActionsMenu;
342 var SHIM_ELEMENT_ID = "default-styles-editor-shim";
343 var SHIM_CLASSES_PROP = "__default_styles_classes__";
344 var TAG_SELECTOR_ID = "default-styles-tag-selector";
345 var LAST_ACTIVE_TAG_STORAGE_KEY = `default-styles/last-active-tag`;
346 function readStoredActiveTag(allowedTags) {
347 const storedTag = (0, _elementor_session.getSessionStorageItem)(LAST_ACTIVE_TAG_STORAGE_KEY);
348 if (storedTag && isAllowedDefaultStyleTag(storedTag, allowedTags)) return storedTag;
349 return getDefaultActiveTag(allowedTags);
350 }
351 function toTagChip(tag) {
352 return {
353 label: tag,
354 value: tag,
355 fixed: true
356 };
357 }
358 var shimElement = {
359 id: SHIM_ELEMENT_ID,
360 type: "default-style"
361 };
362 var shimElementType = {
363 key: "default-style",
364 controls: [],
365 propsSchema: {},
366 title: (0, _wordpress_i18n.__)("Default Style", "elementor")
367 };
368 function DefaultStylesTabEmbedded({ onRequestClose, onExposeCloseAttempt }) {
369 const allowedTags = (0, react.useMemo)(() => getAllowedDefaultStyleTags(), []);
370 const tagOptions = (0, react.useMemo)(() => allowedTags.map((tag) => ({
371 label: tag,
372 value: tag
373 })), [allowedTags]);
374 const [selectedTag, setSelectedTagState] = (0, react.useState)(() => readStoredActiveTag(allowedTags));
375 const [activeStyleState, setActiveStyleState] = (0, react.useState)(null);
376 const breakpoint = (0, _elementor_editor_responsive.useActiveBreakpoint)();
377 const menuItems = useMenuItems().default;
378 const controlReplacements = (0, _elementor_editor_controls.getControlReplacements)();
379 const isDirty = (0, _elementor_store.__useSelector)(selectIsDirty);
380 const { mutateAsync: save, isPending: isSaving } = useSave();
381 const { open: openSaveChangesDialog, close: closeSaveChangesDialog, isOpen: isSaveChangesDialogOpen } = (0, _elementor_editor_ui.useDialog)();
382 const { userCan } = (0, _elementor_editor_styles_repository.useUserStylesCapability)();
383 const canEdit = userCan(DEFAULT_STYLES_PROVIDER_KEY).updateProps;
384 const setSelectedTag = (tag) => {
385 setSelectedTagState(tag);
386 (0, _elementor_session.setSessionStorageItem)(LAST_ACTIVE_TAG_STORAGE_KEY, tag);
387 };
388 const handleClosePanel = (0, react.useCallback)(() => {
389 if (canEdit && isDirty) {
390 openSaveChangesDialog();
391 return;
392 }
393 onRequestClose();
394 }, [
395 canEdit,
396 isDirty,
397 onRequestClose,
398 openSaveChangesDialog
399 ]);
400 (0, react.useEffect)(() => {
401 if (!onExposeCloseAttempt) return;
402 onExposeCloseAttempt(() => handleClosePanel());
403 return () => onExposeCloseAttempt(null);
404 }, [onExposeCloseAttempt, handleClosePanel]);
405 usePreventUnload(canEdit && isDirty);
406 const handleTagSelect = (_selected, reason, option) => {
407 if (reason !== "selectOption" || !option.value) return;
408 setSelectedTag(option.value);
409 setActiveStyleState(null);
410 };
411 const resetAndClosePanel = () => {
412 (0, _elementor_store.__dispatch)(slice.actions.reset());
413 closeSaveChangesDialog();
414 onRequestClose();
415 };
416 const handleSaveAndContinue = async () => {
417 try {
418 await save();
419 } catch {
420 return;
421 }
422 closeSaveChangesDialog();
423 onRequestClose();
424 };
425 return /* @__PURE__ */ react.createElement(_elementor_ui.ErrorBoundary, { fallback: null }, /* @__PURE__ */ react.createElement(_elementor_editor_ui.ThemeProvider, null, /* @__PURE__ */ react.createElement(_elementor_editor_controls.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ react.createElement(_elementor_editor_controls.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, { sx: {
426 flex: 1,
427 minHeight: 0,
428 overflow: "hidden",
429 display: "flex",
430 flexDirection: "column"
431 } }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: {
432 flex: 1,
433 minHeight: 0,
434 overflow: "auto"
435 } }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, { sx: {
436 px: 2,
437 pt: 1,
438 gap: 1
439 } }, /* @__PURE__ */ react.createElement(_elementor_ui.FormControl, {
440 fullWidth: true,
441 size: "small"
442 }, /* @__PURE__ */ react.createElement(_elementor_ui.FormLabel, {
443 htmlFor: TAG_SELECTOR_ID,
444 size: "small",
445 sx: { mb: 1 }
446 }, (0, _wordpress_i18n.__)("Tag", "elementor")), /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.CreatableAutocomplete, {
447 id: TAG_SELECTOR_ID,
448 size: "tiny",
449 placeholder: (0, _wordpress_i18n.__)("Type tag name", "elementor"),
450 options: tagOptions,
451 selected: [toTagChip(selectedTag)],
452 onSelect: handleTagSelect,
453 renderTags: (values, getTagProps) => values.map((value, index) => /* @__PURE__ */ react.createElement(TagChip, {
454 key: value.value ?? value.label,
455 label: value.label,
456 chipProps: getTagProps({ index }),
457 activeState: activeStyleState,
458 onSelectState: setActiveStyleState
459 }))
460 }))), /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.ElementProvider, {
461 element: shimElement,
462 elementType: shimElementType,
463 settings: {}
464 }, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.ClassesPropProvider, { prop: SHIM_CLASSES_PROP }, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.StyleProvider, {
465 meta: {
466 breakpoint,
467 state: activeStyleState
468 },
469 id: selectedTag,
470 setId: () => {},
471 setMetaState: setActiveStyleState
472 }, /* @__PURE__ */ react.createElement(_elementor_session.SessionStorageProvider, { prefix: selectedTag }, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.StyleInheritanceProvider, null, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.SectionsList, null, /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.StyleSections, null), /* @__PURE__ */ react.createElement(_elementor_editor_editing_panel.StyleTabSlot, null)), /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: { height: "150px" } }))))))), canEdit ? /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: {
473 flexShrink: 0,
474 px: 2,
475 py: 1.5
476 } }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, {
477 fullWidth: true,
478 size: "small",
479 color: "global",
480 variant: "contained",
481 onClick: () => void save(),
482 disabled: !isDirty,
483 loading: isSaving
484 }, (0, _wordpress_i18n.__)("Save changes", "elementor"))) : null))), canEdit && isSaveChangesDialogOpen && /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog, null, /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog.Title, { onClose: closeSaveChangesDialog }, (0, _wordpress_i18n.__)("You have unsaved changes", "elementor")), /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog.Content, null, /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog.ContentText, null, (0, _wordpress_i18n.__)("You have unsaved changes in Default Styles.", "elementor")), /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog.ContentText, null, (0, _wordpress_i18n.__)("To avoid losing your updates, save your changes before leaving.", "elementor"))), /* @__PURE__ */ react.createElement(_elementor_editor_ui.SaveChangesDialog.Actions, { actions: {
485 discard: {
486 label: (0, _wordpress_i18n.__)("Discard", "elementor"),
487 action: resetAndClosePanel
488 },
489 confirm: {
490 label: (0, _wordpress_i18n.__)("Save & Continue", "elementor"),
491 action: handleSaveAndContinue
492 }
493 } }))));
494 }
495 function useSave() {
496 return (0, _elementor_query.useMutation)({ mutationFn: () => saveDefaultStyles() });
497 }
498 function usePreventUnload(isDirty) {
499 (0, react.useEffect)(() => {
500 const handleBeforeUnload = (event) => {
501 if (isDirty) event.preventDefault();
502 };
503 window.addEventListener("beforeunload", handleBeforeUnload);
504 return () => {
505 window.removeEventListener("beforeunload", handleBeforeUnload);
506 };
507 }, [isDirty]);
508 }
509
510 //#endregion
511 //#region packages/packages/core/editor-default-styles/src/load-default-styles.ts
512 async function loadDefaultStyles() {
513 try {
514 const items = (await apiClient.all()).data.data;
515 (0, _elementor_store.__dispatch)(slice.actions.load({ data: items }));
516 } catch {}
517 }
518
519 //#endregion
520 //#region packages/packages/core/editor-default-styles/src/components/populate-store.tsx
521 var V2_PANEL_ROUTE = "panel/v2";
522 function PopulateStore() {
523 (0, react.useEffect)(() => {
524 loadDefaultStyles();
525 (0, _elementor_editor_v1_adapters.registerDataHook)("after", "editor/documents/attach-preview", async () => {
526 if (selectIsDirty((0, _elementor_store.__getState)())) return;
527 await loadDefaultStyles();
528 });
529 return (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.routeCloseEvent)(V2_PANEL_ROUTE), () => {
530 if (selectIsDirty((0, _elementor_store.__getState)())) return;
531 loadDefaultStyles();
532 });
533 }, []);
534 return null;
535 }
536
537 //#endregion
538 //#region packages/packages/core/editor-default-styles/src/init.ts
539 function init() {
540 (0, _elementor_store.__registerSlice)(slice);
541 (0, _elementor_editor_editing_panel.registerElementPanelDefaults)("default-style", {
542 defaultTab: "style",
543 defaultSectionsExpanded: { style: [] }
544 });
545 _elementor_editor_styles_repository.stylesRepository.register(defaultStylesStylesProvider);
546 (0, _elementor_editor.injectIntoLogic)({
547 id: "default-styles-populate-store",
548 component: PopulateStore
549 });
550 }
551
552 //#endregion
553 //#region packages/packages/core/editor-default-styles/src/index.ts
554 var src_exports = /* @__PURE__ */ __exportAll({
555 DefaultStylesTabEmbedded: () => DefaultStylesTabEmbedded,
556 init: () => init
557 });
558
559 //#endregion
560 //#region \0elementor-package-library-entry
561 (window.elementorV2 = window.elementorV2 || {}).editorDefaultStyles = src_exports;
562
563 //#endregion
564 })(React, elementorV2.editorControls, elementorV2.editorEditingPanel, elementorV2.editorResponsive, elementorV2.editorStylesRepository, elementorV2.editorUi, elementorV2.menus, elementorV2.query, elementorV2.session, elementorV2.store, elementorV2.ui, wp.i18n, elementorV2.editorStyles, elementorV2.utils, elementorV2.httpClient, elementorV2.icons, elementorV2.editor, elementorV2.editorV1Adapters);
565 window.elementorV2.editorDefaultStyles?.init?.();
566 //# sourceMappingURL=editor-default-styles.js.map