# elementor/4.3.2/assets/js/packages/editor-responsive/editor-responsive.js

Elementor Website Builder – more than just a page builder, version 4.3.2. 148 lines.

- Page: https://pluginprobe.com/plugins/elementor/4.3.2/code/assets/js/packages/editor-responsive/editor-responsive.js
- Raw: https://pluginprobe.com/plugins/elementor/4.3.2/raw/assets/js/packages/editor-responsive/editor-responsive.js
- Modified: 2026-09-01T11:47:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elementor/4.3.2/code/assets/js/packages/editor-responsive/editor-responsive.js#L10-L20`.

```javascript
(function(react, _elementor_editor_v1_adapters, _wordpress_i18n) {

//#region \0rolldown/runtime.js
	var __defProp = Object.defineProperty;
	var __name = (target, value) => __defProp(target, "name", {
		value,
		configurable: true
	});
	var __exportAll = (all, no_symbols) => {
		let target = {};
		for (var name in all) {
			__defProp(target, name, {
				get: all[name],
				enumerable: true
			});
		}
		if (!no_symbols) {
			__defProp(target, Symbol.toStringTag, { value: "Module" });
		}
		return target;
	};

//#endregion

//#region packages/packages/libs/editor-responsive/src/hooks/use-activate-breakpoint.ts
	function useActivateBreakpoint() {
		return (0, react.useCallback)((breakpoint) => {
			return (0, _elementor_editor_v1_adapters.__privateRunCommand)("panel/change-device-mode", { device: breakpoint });
		}, []);
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/hooks/use-active-breakpoint.ts
	function useActiveBreakpoint() {
		return (0, _elementor_editor_v1_adapters.__privateUseListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/device-mode/change"), getActiveBreakpoint);
	}
	function getActiveBreakpoint() {
		return window.elementor?.channels?.deviceMode?.request?.("currentMode") || null;
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/sync/utils/get-breakpoints-by-widths.ts
	function getBreakpointsByWidths() {
		const { breakpoints } = window.elementor?.config?.responsive || {};
		if (!breakpoints || Object.entries(breakpoints).length === 0) return {
			minWidth: [],
			defaults: [],
			maxWidth: []
		};
		const minWidth = [];
		const maxWidth = [];
		const defaults = [{
			id: "desktop",
			label: (0, _wordpress_i18n.__)("Desktop", "elementor")
		}];
		Object.entries(breakpoints).forEach(([id, v1Breakpoint]) => {
			if (!v1Breakpoint.is_enabled) return;
			const breakpoint = {
				id,
				label: v1Breakpoint.label,
				width: v1Breakpoint.value,
				type: v1Breakpoint.direction === "min" ? "min-width" : "max-width"
			};
			if (!breakpoint.width) defaults.push(breakpoint);
			else if (breakpoint.type === "min-width") minWidth.push(breakpoint);
			else if (breakpoint.type === "max-width") maxWidth.push(breakpoint);
		});
		const byWidth = (a, b) => {
			return a.width && b.width ? b.width - a.width : 0;
		};
		return {
			minWidth: minWidth.sort(byWidth),
			defaults,
			maxWidth: maxWidth.sort(byWidth)
		};
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/sync/get-breakpoints.ts
	function getBreakpoints() {
		const { minWidth, defaults, maxWidth } = getBreakpointsByWidths();
		return [
			...minWidth,
			...defaults,
			...maxWidth
		];
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/hooks/use-breakpoints.ts
	function useBreakpoints() {
		return (0, _elementor_editor_v1_adapters.__privateUseListenTo)((0, _elementor_editor_v1_adapters.v1ReadyEvent)(), getBreakpoints);
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/hooks/use-breakpoints-map.ts
	function useBreakpointsMap() {
		const breakpoints = useBreakpoints();
		return (0, react.useMemo)(() => {
			const entries = breakpoints.map((breakpoint) => [breakpoint.id, breakpoint]);
			return Object.fromEntries(entries);
		}, [breakpoints]);
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/sync/get-breakpoints-tree.ts
	function getBreakpointsTree() {
		const { minWidth, defaults, maxWidth } = getBreakpointsByWidths();
		const [rootBreakpoint] = defaults;
		const rootNode = {
			...rootBreakpoint,
			children: []
		};
		const buildBranch = (breakpoints) => {
			let last = rootNode;
			breakpoints.forEach((breakpoint) => {
				const newNode = {
					...breakpoint,
					children: []
				};
				last.children.push(newNode);
				last = newNode;
			});
		};
		buildBranch(minWidth);
		buildBranch(maxWidth);
		return rootNode;
	}

//#endregion
//#region packages/packages/libs/editor-responsive/src/index.ts
	var src_exports = /* @__PURE__ */ __exportAll({
		getBreakpoints: () => getBreakpoints,
		getBreakpointsTree: () => getBreakpointsTree,
		useActivateBreakpoint: () => useActivateBreakpoint,
		useActiveBreakpoint: () => useActiveBreakpoint,
		useBreakpoints: () => useBreakpoints,
		useBreakpointsMap: () => useBreakpointsMap
	});

//#endregion
//#region \0elementor-package-library-entry
	(window.elementorV2 = window.elementorV2 || {}).editorResponsive = src_exports;

//#endregion
})(React, elementorV2.editorV1Adapters, wp.i18n);
window.elementorV2.editorResponsive?.init?.();
//# sourceMappingURL=editor-responsive.js.map
```
