@elementor/editor-editing-panel 4.1.0-manual → 4.2.0-839
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +169 -1
- package/dist/index.d.ts +169 -1
- package/dist/index.js +1301 -857
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1145 -683
- package/dist/index.mjs.map +1 -1
- package/package.json +25 -22
- package/src/components/css-classes/use-apply-and-unapply-class.ts +10 -0
- package/src/components/design-system-import/components/conflict-options.tsx +67 -0
- package/src/components/design-system-import/components/trigger-button.tsx +33 -0
- package/src/components/design-system-import/hooks/use-dialog-state.ts +24 -0
- package/src/components/design-system-import/hooks/use-import-request.ts +38 -0
- package/src/components/design-system-import/import-design-system-dialog.tsx +89 -0
- package/src/components/design-system-import/import-notifications.tsx +57 -0
- package/src/components/design-system-import/types.ts +1 -0
- package/src/components/promotions/init.tsx +6 -7
- package/src/components/section-content.tsx +9 -2
- package/src/components/style-sections/layout-section/align-self-grid-child-field.tsx +74 -0
- package/src/components/style-sections/layout-section/display-field.tsx +21 -8
- package/src/components/style-sections/layout-section/grid-auto-flow-field.tsx +102 -0
- package/src/components/style-sections/layout-section/grid-justify-items-field.tsx +58 -0
- package/src/components/style-sections/layout-section/grid-size-field.tsx +96 -0
- package/src/components/style-sections/layout-section/grid-span-field.tsx +78 -0
- package/src/components/style-sections/layout-section/layout-section.tsx +50 -2
- package/src/components/style-sections/position-section/position-field.tsx +2 -6
- package/src/components/style-sections/position-section/position-section.tsx +82 -85
- package/src/components/style-sections/position-section/z-index-field.tsx +29 -3
- package/src/components/style-tab.tsx +3 -0
- package/src/contexts/styles-inheritance-context.tsx +16 -2
- package/src/controls-registry/conditional-field.tsx +84 -7
- package/src/controls-registry/controls-registry.tsx +16 -0
- package/src/hooks/use-styles-fields.ts +1 -1
- package/src/utils/prop-dependency-utils.ts +88 -12
package/dist/index.mjs
CHANGED
|
@@ -230,8 +230,8 @@ import {
|
|
|
230
230
|
} from "@elementor/ui";
|
|
231
231
|
|
|
232
232
|
// src/components/creatable-autocomplete/autocomplete-option-internal-properties.ts
|
|
233
|
-
function addGroupToOptions(
|
|
234
|
-
return
|
|
233
|
+
function addGroupToOptions(options13, pluralEntityName) {
|
|
234
|
+
return options13.map((option) => {
|
|
235
235
|
return {
|
|
236
236
|
...option,
|
|
237
237
|
_group: `Existing ${pluralEntityName ?? "options"}`
|
|
@@ -245,7 +245,7 @@ function removeInternalKeys(option) {
|
|
|
245
245
|
|
|
246
246
|
// src/components/creatable-autocomplete/use-autocomplete-change.ts
|
|
247
247
|
function useAutocompleteChange(params) {
|
|
248
|
-
const { options:
|
|
248
|
+
const { options: options13, onSelect, createOption, setInputValue, closeDropdown } = params;
|
|
249
249
|
if (!onSelect && !createOption) {
|
|
250
250
|
return;
|
|
251
251
|
}
|
|
@@ -273,7 +273,7 @@ function useAutocompleteChange(params) {
|
|
|
273
273
|
// User pressed "Enter" after typing input. The input is either matching existing option or a new option to create.
|
|
274
274
|
case "createOption": {
|
|
275
275
|
const inputValue = changedOption;
|
|
276
|
-
const matchingOption =
|
|
276
|
+
const matchingOption = options13.find(
|
|
277
277
|
(option) => option.label.toLocaleLowerCase() === inputValue.toLocaleLowerCase()
|
|
278
278
|
);
|
|
279
279
|
if (matchingOption) {
|
|
@@ -375,7 +375,7 @@ function useCreateOption(params) {
|
|
|
375
375
|
// src/components/creatable-autocomplete/use-filter-options.ts
|
|
376
376
|
import { createFilterOptions } from "@elementor/ui";
|
|
377
377
|
function useFilterOptions(parameters) {
|
|
378
|
-
const { options:
|
|
378
|
+
const { options: options13, selected, onCreate, entityName } = parameters;
|
|
379
379
|
const filter = createFilterOptions();
|
|
380
380
|
const filterOptions = (optionList, params) => {
|
|
381
381
|
const selectedValues = selected.map((option) => option.value);
|
|
@@ -383,7 +383,7 @@ function useFilterOptions(parameters) {
|
|
|
383
383
|
optionList.filter((option) => !selectedValues.includes(option.value)),
|
|
384
384
|
params
|
|
385
385
|
);
|
|
386
|
-
const isExisting =
|
|
386
|
+
const isExisting = options13.some((option) => params.inputValue === option.label);
|
|
387
387
|
const allowCreate = Boolean(onCreate) && params.inputValue !== "" && !selectedValues.includes(params.inputValue) && !isExisting;
|
|
388
388
|
if (allowCreate) {
|
|
389
389
|
filteredOptions.unshift({
|
|
@@ -404,7 +404,7 @@ var MIN_INPUT_LENGTH = 2;
|
|
|
404
404
|
var CreatableAutocomplete = React5.forwardRef(CreatableAutocompleteInner);
|
|
405
405
|
function CreatableAutocompleteInner({
|
|
406
406
|
selected,
|
|
407
|
-
options:
|
|
407
|
+
options: options13,
|
|
408
408
|
entityName,
|
|
409
409
|
onSelect,
|
|
410
410
|
placeholder,
|
|
@@ -417,8 +417,8 @@ function CreatableAutocompleteInner({
|
|
|
417
417
|
const { open, openDropdown, closeDropdown } = useOpenState(props.open);
|
|
418
418
|
const { createOption, loading } = useCreateOption({ onCreate, validate, setInputValue, setError, closeDropdown });
|
|
419
419
|
const [internalOptions, internalSelected] = useMemo(
|
|
420
|
-
() => [
|
|
421
|
-
[
|
|
420
|
+
() => [options13, selected].map((optionsArr) => addGroupToOptions(optionsArr, entityName?.plural)),
|
|
421
|
+
[options13, selected, entityName?.plural]
|
|
422
422
|
);
|
|
423
423
|
const handleChange = useAutocompleteChange({
|
|
424
424
|
options: internalOptions,
|
|
@@ -427,7 +427,7 @@ function CreatableAutocompleteInner({
|
|
|
427
427
|
setInputValue,
|
|
428
428
|
closeDropdown
|
|
429
429
|
});
|
|
430
|
-
const filterOptions = useFilterOptions({ options:
|
|
430
|
+
const filterOptions = useFilterOptions({ options: options13, selected, onCreate, entityName });
|
|
431
431
|
const isCreatable = Boolean(onCreate);
|
|
432
432
|
const freeSolo = isCreatable || inputValue.length < MIN_INPUT_LENGTH || void 0;
|
|
433
433
|
return /* @__PURE__ */ React5.createElement(
|
|
@@ -728,6 +728,12 @@ function useCreateAndApplyClass() {
|
|
|
728
728
|
unapplyClass(createdId);
|
|
729
729
|
deleteAction?.(createdId);
|
|
730
730
|
setActiveId(prevActiveId);
|
|
731
|
+
},
|
|
732
|
+
redo: ({ classLabel }, { createdId }) => {
|
|
733
|
+
const prevActiveId = activeId;
|
|
734
|
+
createAction(classLabel, [], createdId);
|
|
735
|
+
applyClass(createdId);
|
|
736
|
+
return { prevActiveId, createdId };
|
|
731
737
|
}
|
|
732
738
|
},
|
|
733
739
|
{
|
|
@@ -1232,13 +1238,13 @@ var EMPTY_OPTION = {
|
|
|
1232
1238
|
};
|
|
1233
1239
|
var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = createLocation2();
|
|
1234
1240
|
function CssClassSelector() {
|
|
1235
|
-
const
|
|
1241
|
+
const options13 = useOptions();
|
|
1236
1242
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
1237
1243
|
const autocompleteRef = useRef(null);
|
|
1238
1244
|
const [renameError, setRenameError] = useState4(null);
|
|
1239
1245
|
const handleSelect = useHandleSelect();
|
|
1240
1246
|
const { create, validate, entityName } = useCreateAction();
|
|
1241
|
-
const appliedOptions = useAppliedOptions(
|
|
1247
|
+
const appliedOptions = useAppliedOptions(options13);
|
|
1242
1248
|
const active = appliedOptions.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
1243
1249
|
const showPlaceholder = appliedOptions.every(({ fixed }) => fixed);
|
|
1244
1250
|
const { userCan } = useUserStylesCapability5();
|
|
@@ -1259,7 +1265,7 @@ function CssClassSelector() {
|
|
|
1259
1265
|
ref: autocompleteRef,
|
|
1260
1266
|
size: "tiny",
|
|
1261
1267
|
placeholder: showPlaceholder ? __6("Type class name", "elementor") : void 0,
|
|
1262
|
-
options:
|
|
1268
|
+
options: options13,
|
|
1263
1269
|
selected: appliedOptions,
|
|
1264
1270
|
entityName,
|
|
1265
1271
|
onSelect: handleSelect,
|
|
@@ -1388,10 +1394,10 @@ function useCreateAction() {
|
|
|
1388
1394
|
function hasReachedLimit(provider) {
|
|
1389
1395
|
return provider.actions.all().length >= provider.limit;
|
|
1390
1396
|
}
|
|
1391
|
-
function useAppliedOptions(
|
|
1397
|
+
function useAppliedOptions(options13) {
|
|
1392
1398
|
const currentClassesProp = useClassesProp();
|
|
1393
1399
|
const appliedIds = usePanelElementSetting(currentClassesProp)?.value ?? [];
|
|
1394
|
-
const appliedOptions =
|
|
1400
|
+
const appliedOptions = options13.filter((option) => option.value && appliedIds.includes(option.value));
|
|
1395
1401
|
const hasElementsProviderStyleApplied = appliedOptions.some(
|
|
1396
1402
|
(option) => option.provider && isElementsStylesProvider4(option.provider)
|
|
1397
1403
|
);
|
|
@@ -1557,7 +1563,7 @@ function useUndoableActions({
|
|
|
1557
1563
|
return { styleId, provider, prevProps };
|
|
1558
1564
|
}
|
|
1559
1565
|
function undo(_, { styleId, provider, prevProps }) {
|
|
1560
|
-
provider.actions.updateProps?.({ id: styleId, meta, props: prevProps }, { elementId });
|
|
1566
|
+
provider.actions.updateProps?.({ id: styleId, meta, props: prevProps, mode: "replace" }, { elementId });
|
|
1561
1567
|
}
|
|
1562
1568
|
}, [elementId, breakpoint, state, classesProp]);
|
|
1563
1569
|
}
|
|
@@ -1775,7 +1781,7 @@ var hasInheritedCustomCss = (style, meta) => {
|
|
|
1775
1781
|
};
|
|
1776
1782
|
|
|
1777
1783
|
// src/components/editing-panel.tsx
|
|
1778
|
-
import * as
|
|
1784
|
+
import * as React87 from "react";
|
|
1779
1785
|
import {
|
|
1780
1786
|
ControlActionsProvider,
|
|
1781
1787
|
ControlReplacementsProvider,
|
|
@@ -1789,7 +1795,7 @@ import { createLocation as createLocation4 } from "@elementor/locations";
|
|
|
1789
1795
|
import { controlActionsMenu } from "@elementor/menus";
|
|
1790
1796
|
import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
|
|
1791
1797
|
import { ErrorBoundary } from "@elementor/ui";
|
|
1792
|
-
import { __ as
|
|
1798
|
+
import { __ as __61 } from "@wordpress/i18n";
|
|
1793
1799
|
|
|
1794
1800
|
// src/editing-panel-replacement-registry.tsx
|
|
1795
1801
|
var registry = /* @__PURE__ */ new Map();
|
|
@@ -1812,11 +1818,11 @@ function EditorPanelErrorFallback() {
|
|
|
1812
1818
|
|
|
1813
1819
|
// src/components/editing-panel-tabs.tsx
|
|
1814
1820
|
import { Fragment as Fragment9 } from "react";
|
|
1815
|
-
import * as
|
|
1821
|
+
import * as React86 from "react";
|
|
1816
1822
|
import { getWidgetsCache as getWidgetsCache2 } from "@elementor/editor-elements";
|
|
1817
|
-
import { isExperimentActive } from "@elementor/editor-v1-adapters";
|
|
1823
|
+
import { isExperimentActive as isExperimentActive3 } from "@elementor/editor-v1-adapters";
|
|
1818
1824
|
import { Divider as Divider6, Stack as Stack13, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
|
|
1819
|
-
import { __ as
|
|
1825
|
+
import { __ as __60 } from "@wordpress/i18n";
|
|
1820
1826
|
|
|
1821
1827
|
// src/contexts/scroll-context.tsx
|
|
1822
1828
|
import * as React14 from "react";
|
|
@@ -1992,7 +1998,9 @@ import * as React18 from "react";
|
|
|
1992
1998
|
|
|
1993
1999
|
// src/controls-registry/controls-registry.tsx
|
|
1994
2000
|
import {
|
|
2001
|
+
AttachmentTypeControl,
|
|
1995
2002
|
ChipsControl,
|
|
2003
|
+
DateRangeControl,
|
|
1996
2004
|
DateTimeControl,
|
|
1997
2005
|
EmailFormActionControl,
|
|
1998
2006
|
HtmlTagControl,
|
|
@@ -2009,12 +2017,14 @@ import {
|
|
|
2009
2017
|
SwitchControl,
|
|
2010
2018
|
TextAreaControl,
|
|
2011
2019
|
TextControl,
|
|
2020
|
+
TimeRangeControl,
|
|
2012
2021
|
ToggleControl,
|
|
2013
2022
|
UrlControl,
|
|
2014
2023
|
VideoMediaControl
|
|
2015
2024
|
} from "@elementor/editor-controls";
|
|
2016
2025
|
import {
|
|
2017
2026
|
booleanPropTypeUtil,
|
|
2027
|
+
dateRangePropTypeUtil,
|
|
2018
2028
|
DateTimePropTypeUtil,
|
|
2019
2029
|
emailPropTypeUtil,
|
|
2020
2030
|
htmlV3PropTypeUtil,
|
|
@@ -2027,6 +2037,7 @@ import {
|
|
|
2027
2037
|
stringArrayPropTypeUtil,
|
|
2028
2038
|
stringPropTypeUtil as stringPropTypeUtil2,
|
|
2029
2039
|
svgSrcPropTypeUtil,
|
|
2040
|
+
timeRangePropTypeUtil,
|
|
2030
2041
|
videoSrcPropTypeUtil
|
|
2031
2042
|
} from "@elementor/editor-props";
|
|
2032
2043
|
var controlTypes = {
|
|
@@ -2049,7 +2060,18 @@ var controlTypes = {
|
|
|
2049
2060
|
"date-time": { component: DateTimeControl, layout: "full", propTypeUtil: DateTimePropTypeUtil },
|
|
2050
2061
|
video: { component: VideoMediaControl, layout: "full", propTypeUtil: videoSrcPropTypeUtil },
|
|
2051
2062
|
"inline-editing": { component: InlineEditingControl, layout: "full", propTypeUtil: htmlV3PropTypeUtil },
|
|
2052
|
-
email: { component: EmailFormActionControl, layout: "custom", propTypeUtil: emailPropTypeUtil }
|
|
2063
|
+
email: { component: EmailFormActionControl, layout: "custom", propTypeUtil: emailPropTypeUtil },
|
|
2064
|
+
"date-range": {
|
|
2065
|
+
component: DateRangeControl,
|
|
2066
|
+
layout: "custom",
|
|
2067
|
+
propTypeUtil: dateRangePropTypeUtil
|
|
2068
|
+
},
|
|
2069
|
+
"time-range": {
|
|
2070
|
+
component: TimeRangeControl,
|
|
2071
|
+
layout: "custom",
|
|
2072
|
+
propTypeUtil: timeRangePropTypeUtil
|
|
2073
|
+
},
|
|
2074
|
+
"attachment-type": { component: AttachmentTypeControl, layout: "custom", propTypeUtil: stringPropTypeUtil2 }
|
|
2053
2075
|
};
|
|
2054
2076
|
var ControlsRegistry = class {
|
|
2055
2077
|
constructor(controlsRegistry2) {
|
|
@@ -2142,7 +2164,10 @@ import { __ as __8 } from "@wordpress/i18n";
|
|
|
2142
2164
|
import {
|
|
2143
2165
|
extractValue,
|
|
2144
2166
|
isDependency,
|
|
2145
|
-
isDependencyMet
|
|
2167
|
+
isDependencyMet,
|
|
2168
|
+
isOverridable,
|
|
2169
|
+
isTransformable,
|
|
2170
|
+
rewrapOverridableValue
|
|
2146
2171
|
} from "@elementor/editor-props";
|
|
2147
2172
|
import { getSessionStorageItem as getSessionStorageItem2, removeSessionStorageItem, setSessionStorageItem as setSessionStorageItem2 } from "@elementor/session";
|
|
2148
2173
|
function getElementSettingsWithDefaults(propsSchema, elementSettings) {
|
|
@@ -2199,10 +2224,14 @@ function getUpdatedValues(values, dependencies, propsSchema, elementValues, elem
|
|
|
2199
2224
|
}
|
|
2200
2225
|
if (!testDependencies.previousValues.isMet) {
|
|
2201
2226
|
const savedValue = retrievePreviousValueFromStorage({ path: dependency, elementId });
|
|
2227
|
+
const currentValue = extractValue(path, combinedValues, [], {
|
|
2228
|
+
unwrapOverridableLeaf: false
|
|
2229
|
+
});
|
|
2202
2230
|
removePreviousValueFromStorage({ path: dependency, elementId });
|
|
2231
|
+
const restored = isCompatibleSavedValue(savedValue, currentValue) ? savedValue : propType.default;
|
|
2203
2232
|
return {
|
|
2204
2233
|
...newValues,
|
|
2205
|
-
...updateValue(path,
|
|
2234
|
+
...updateValue(path, restored, combinedValues)
|
|
2206
2235
|
};
|
|
2207
2236
|
}
|
|
2208
2237
|
return newValues;
|
|
@@ -2248,18 +2277,67 @@ function evaluatePropType(props) {
|
|
|
2248
2277
|
}
|
|
2249
2278
|
function updateValue(path, value, values) {
|
|
2250
2279
|
const topPropKey = path[0];
|
|
2251
|
-
const
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2280
|
+
const root = { ...values };
|
|
2281
|
+
let carry = root;
|
|
2282
|
+
for (let index = 0; index < path.length; index++) {
|
|
2283
|
+
const key = path[index];
|
|
2284
|
+
const isLeaf = index === path.length - 1;
|
|
2285
|
+
if (isLeaf) {
|
|
2286
|
+
carry[key] = mergeLeafValue(carry[key], value);
|
|
2287
|
+
break;
|
|
2255
2288
|
}
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2289
|
+
const next = cloneDescent(carry[key]);
|
|
2290
|
+
if (!next) {
|
|
2291
|
+
break;
|
|
2259
2292
|
}
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2293
|
+
carry[key] = next.replacement;
|
|
2294
|
+
carry = next.descended;
|
|
2295
|
+
}
|
|
2296
|
+
return { [topPropKey]: root[topPropKey] ?? null };
|
|
2297
|
+
}
|
|
2298
|
+
function cloneDescent(child) {
|
|
2299
|
+
if (!child) {
|
|
2300
|
+
return null;
|
|
2301
|
+
}
|
|
2302
|
+
if (isOverridable(child)) {
|
|
2303
|
+
const origin = child.value.origin_value;
|
|
2304
|
+
if (!origin || !isTransformable(origin)) {
|
|
2305
|
+
return null;
|
|
2306
|
+
}
|
|
2307
|
+
const descended = { ...origin.value };
|
|
2308
|
+
const replacement = {
|
|
2309
|
+
...child,
|
|
2310
|
+
value: {
|
|
2311
|
+
...child.value,
|
|
2312
|
+
origin_value: { ...origin, value: descended }
|
|
2313
|
+
}
|
|
2314
|
+
};
|
|
2315
|
+
return { replacement, descended };
|
|
2316
|
+
}
|
|
2317
|
+
if (isTransformable(child)) {
|
|
2318
|
+
const descended = { ...child.value };
|
|
2319
|
+
const replacement = { ...child, value: descended };
|
|
2320
|
+
return { replacement, descended };
|
|
2321
|
+
}
|
|
2322
|
+
return null;
|
|
2323
|
+
}
|
|
2324
|
+
function isCompatibleSavedValue(saved, current) {
|
|
2325
|
+
if (!saved) {
|
|
2326
|
+
return false;
|
|
2327
|
+
}
|
|
2328
|
+
return isOverridable(saved) === isOverridable(current);
|
|
2329
|
+
}
|
|
2330
|
+
function mergeLeafValue(existing, incoming) {
|
|
2331
|
+
if (incoming === null) {
|
|
2332
|
+
return null;
|
|
2333
|
+
}
|
|
2334
|
+
if (incoming && isOverridable(incoming)) {
|
|
2335
|
+
return incoming;
|
|
2336
|
+
}
|
|
2337
|
+
if (existing && isOverridable(existing) && incoming) {
|
|
2338
|
+
return rewrapOverridableValue(existing, incoming);
|
|
2339
|
+
}
|
|
2340
|
+
return incoming;
|
|
2263
2341
|
}
|
|
2264
2342
|
function handleUnmetCondition(props) {
|
|
2265
2343
|
const { failingDependencies, dependency, elementValues, defaultValue, elementId } = props;
|
|
@@ -2267,7 +2345,7 @@ function handleUnmetCondition(props) {
|
|
|
2267
2345
|
(term) => "newValue" in term && !!term.newValue
|
|
2268
2346
|
);
|
|
2269
2347
|
const newValue = termWithNewValue?.newValue ?? null;
|
|
2270
|
-
const currentValue = extractValue(dependency.split("."), elementValues) ?? defaultValue;
|
|
2348
|
+
const currentValue = extractValue(dependency.split("."), elementValues, [], { unwrapOverridableLeaf: false }) ?? defaultValue;
|
|
2271
2349
|
savePreviousValueToStorage({
|
|
2272
2350
|
path: dependency,
|
|
2273
2351
|
elementId,
|
|
@@ -2476,18 +2554,18 @@ function isControl(control) {
|
|
|
2476
2554
|
}
|
|
2477
2555
|
|
|
2478
2556
|
// src/components/style-tab.tsx
|
|
2479
|
-
import * as
|
|
2557
|
+
import * as React85 from "react";
|
|
2480
2558
|
import { useState as useState9 } from "react";
|
|
2481
2559
|
import { CLASSES_PROP_KEY } from "@elementor/editor-props";
|
|
2482
2560
|
import { useActiveBreakpoint } from "@elementor/editor-responsive";
|
|
2483
2561
|
import { createLocation as createLocation3 } from "@elementor/locations";
|
|
2484
2562
|
import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
|
|
2485
|
-
import { Box as
|
|
2486
|
-
import { __ as
|
|
2563
|
+
import { Box as Box6, Divider as Divider5, Stack as Stack12 } from "@elementor/ui";
|
|
2564
|
+
import { __ as __59 } from "@wordpress/i18n";
|
|
2487
2565
|
|
|
2488
2566
|
// src/contexts/styles-inheritance-context.tsx
|
|
2489
2567
|
import * as React24 from "react";
|
|
2490
|
-
import { createContext as createContext7, useContext as useContext7 } from "react";
|
|
2568
|
+
import { createContext as createContext7, useContext as useContext7, useMemo as useMemo8 } from "react";
|
|
2491
2569
|
import { getWidgetsCache } from "@elementor/editor-elements";
|
|
2492
2570
|
import { classesPropTypeUtil as classesPropTypeUtil3 } from "@elementor/editor-props";
|
|
2493
2571
|
import { getBreakpointsTree as getBreakpointsTree2 } from "@elementor/editor-responsive";
|
|
@@ -2497,7 +2575,7 @@ import { stylesRepository as stylesRepository7 } from "@elementor/editor-styles-
|
|
|
2497
2575
|
// src/styles-inheritance/create-styles-inheritance.ts
|
|
2498
2576
|
import {
|
|
2499
2577
|
isEmpty,
|
|
2500
|
-
isTransformable
|
|
2578
|
+
isTransformable as isTransformable2
|
|
2501
2579
|
} from "@elementor/editor-props";
|
|
2502
2580
|
|
|
2503
2581
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
@@ -2691,7 +2769,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
2691
2769
|
if (!currentScope) {
|
|
2692
2770
|
return null;
|
|
2693
2771
|
}
|
|
2694
|
-
if (
|
|
2772
|
+
if (isTransformable2(currentScope)) {
|
|
2695
2773
|
return currentScope.value?.[key] ?? null;
|
|
2696
2774
|
}
|
|
2697
2775
|
if (typeof currentScope === "object") {
|
|
@@ -2701,7 +2779,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
2701
2779
|
}, value);
|
|
2702
2780
|
}
|
|
2703
2781
|
function shouldUseOriginalValue(filterPropType, value) {
|
|
2704
|
-
return !!filterPropType &&
|
|
2782
|
+
return !!filterPropType && isTransformable2(value) && filterPropType.key !== value.$$type;
|
|
2705
2783
|
}
|
|
2706
2784
|
var getFilterPropType = (propType, path) => {
|
|
2707
2785
|
if (!propType || propType.kind !== "union") {
|
|
@@ -2753,6 +2831,16 @@ function useStylesInheritanceChain(path) {
|
|
|
2753
2831
|
}
|
|
2754
2832
|
return context.getInheritanceChain(snapshot, path, topLevelPropType);
|
|
2755
2833
|
}
|
|
2834
|
+
var EMPTY_INHERITED_VALUES = {};
|
|
2835
|
+
function useInheritedValues(propKeys) {
|
|
2836
|
+
const snapshot = useStylesInheritanceSnapshot();
|
|
2837
|
+
return useMemo8(() => {
|
|
2838
|
+
if (!snapshot || propKeys.length === 0) {
|
|
2839
|
+
return EMPTY_INHERITED_VALUES;
|
|
2840
|
+
}
|
|
2841
|
+
return Object.fromEntries(propKeys.map((key) => [key, snapshot[key]?.[0]?.value ?? null]));
|
|
2842
|
+
}, [snapshot, propKeys]);
|
|
2843
|
+
}
|
|
2756
2844
|
var useAppliedStyles = () => {
|
|
2757
2845
|
const currentClassesProp = useClassesProp();
|
|
2758
2846
|
const baseStyles = useBaseStyles();
|
|
@@ -2812,15 +2900,67 @@ function useStylesField(propName, meta) {
|
|
|
2812
2900
|
}
|
|
2813
2901
|
|
|
2814
2902
|
// src/controls-registry/conditional-field.tsx
|
|
2903
|
+
import { useEffect as useEffect4, useRef as useRef4 } from "react";
|
|
2815
2904
|
import { useBoundProp } from "@elementor/editor-controls";
|
|
2816
2905
|
import { isDependency as isDependency2, isDependencyMet as isDependencyMet2 } from "@elementor/editor-props";
|
|
2817
2906
|
var ConditionalField = ({ children }) => {
|
|
2818
|
-
const { propType } = useBoundProp();
|
|
2907
|
+
const { propType, value, resetValue } = useBoundProp();
|
|
2819
2908
|
const depList = getDependencies(propType);
|
|
2820
|
-
const { values: depValues } = useStylesFields(depList);
|
|
2821
|
-
const
|
|
2909
|
+
const { values: depValues, setValues: setDepValues } = useStylesFields(depList);
|
|
2910
|
+
const inheritedValues = useInheritedValues(depList);
|
|
2911
|
+
const resolvedValues = resolveWithInherited(depValues, inheritedValues);
|
|
2912
|
+
const isHidden = !isDependencyMet2(propType?.dependencies, resolvedValues).isMet;
|
|
2913
|
+
useSyncDepsWithInherited({ isHidden, depValues, value, inheritedValues, setDepValues, resetValue });
|
|
2822
2914
|
return isHidden ? null : children;
|
|
2823
2915
|
};
|
|
2916
|
+
function wasDepsCleared(prevDepValues, depValues) {
|
|
2917
|
+
if (!prevDepValues) {
|
|
2918
|
+
return false;
|
|
2919
|
+
}
|
|
2920
|
+
return Object.keys(prevDepValues).some(
|
|
2921
|
+
(key) => prevDepValues[key] && (!depValues || !depValues[key])
|
|
2922
|
+
);
|
|
2923
|
+
}
|
|
2924
|
+
function useSyncDepsWithInherited({
|
|
2925
|
+
isHidden,
|
|
2926
|
+
depValues,
|
|
2927
|
+
value,
|
|
2928
|
+
inheritedValues,
|
|
2929
|
+
setDepValues,
|
|
2930
|
+
resetValue
|
|
2931
|
+
}) {
|
|
2932
|
+
const syncRef = useRef4({ hasSynced: false, prevDepValues: depValues });
|
|
2933
|
+
useEffect4(() => {
|
|
2934
|
+
const { hasSynced, prevDepValues } = syncRef.current;
|
|
2935
|
+
if (hasSynced && value && wasDepsCleared(prevDepValues, depValues) || isHidden && depValues && value) {
|
|
2936
|
+
resetValue();
|
|
2937
|
+
}
|
|
2938
|
+
if (isHidden || !value || !depValues) {
|
|
2939
|
+
syncRef.current = { hasSynced: false, prevDepValues: depValues };
|
|
2940
|
+
return;
|
|
2941
|
+
}
|
|
2942
|
+
if (hasSynced) {
|
|
2943
|
+
syncRef.current.prevDepValues = depValues;
|
|
2944
|
+
return;
|
|
2945
|
+
}
|
|
2946
|
+
syncRef.current = { hasSynced: true, prevDepValues: depValues };
|
|
2947
|
+
Object.entries(depValues).forEach(([key, depValue]) => {
|
|
2948
|
+
const inherited = inheritedValues[key];
|
|
2949
|
+
if (!depValue && inherited) {
|
|
2950
|
+
setDepValues({ [key]: inherited }, { history: { propDisplayName: key } });
|
|
2951
|
+
}
|
|
2952
|
+
});
|
|
2953
|
+
}, [isHidden, depValues, value, inheritedValues, setDepValues, resetValue]);
|
|
2954
|
+
}
|
|
2955
|
+
function resolveWithInherited(localValues, inheritedValues) {
|
|
2956
|
+
if (!localValues) {
|
|
2957
|
+
const hasInherited = Object.keys(inheritedValues).length > 0;
|
|
2958
|
+
return hasInherited ? { ...inheritedValues } : null;
|
|
2959
|
+
}
|
|
2960
|
+
return Object.fromEntries(
|
|
2961
|
+
Object.entries(localValues).map(([key, val]) => [key, val ?? inheritedValues[key] ?? null])
|
|
2962
|
+
);
|
|
2963
|
+
}
|
|
2824
2964
|
function getDependencies(propType) {
|
|
2825
2965
|
if (!propType?.dependencies?.terms.length) {
|
|
2826
2966
|
return [];
|
|
@@ -2905,7 +3045,13 @@ var StylesField = ({ bind, propDisplayName, children }) => {
|
|
|
2905
3045
|
// src/components/section-content.tsx
|
|
2906
3046
|
import * as React26 from "react";
|
|
2907
3047
|
import { Stack as Stack6 } from "@elementor/ui";
|
|
2908
|
-
var SectionContent = ({
|
|
3048
|
+
var SectionContent = ({
|
|
3049
|
+
gap = 2,
|
|
3050
|
+
sx,
|
|
3051
|
+
children,
|
|
3052
|
+
"aria-label": ariaLabel,
|
|
3053
|
+
className
|
|
3054
|
+
}) => /* @__PURE__ */ React26.createElement(Stack6, { gap, sx: { ...sx }, "aria-label": ariaLabel, className }, children);
|
|
2909
3055
|
|
|
2910
3056
|
// src/components/style-sections/background-section/background-section.tsx
|
|
2911
3057
|
var BACKGROUND_LABEL = __9("Background", "elementor");
|
|
@@ -3204,12 +3350,12 @@ var BlendModeField = () => {
|
|
|
3204
3350
|
|
|
3205
3351
|
// src/components/style-sections/effects-section/opacity-control-field.tsx
|
|
3206
3352
|
import * as React37 from "react";
|
|
3207
|
-
import { useRef as
|
|
3353
|
+
import { useRef as useRef5 } from "react";
|
|
3208
3354
|
import { SizeControl as SizeControl2 } from "@elementor/editor-controls";
|
|
3209
3355
|
import { __ as __15 } from "@wordpress/i18n";
|
|
3210
3356
|
var OPACITY_LABEL = __15("Opacity", "elementor");
|
|
3211
3357
|
var OpacityControlField = () => {
|
|
3212
|
-
const rowRef =
|
|
3358
|
+
const rowRef = useRef5(null);
|
|
3213
3359
|
return /* @__PURE__ */ React37.createElement(StylesField, { bind: "opacity", propDisplayName: OPACITY_LABEL }, /* @__PURE__ */ React37.createElement(StylesFieldLayout, { ref: rowRef, label: OPACITY_LABEL }, /* @__PURE__ */ React37.createElement(SizeControl2, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" })));
|
|
3214
3360
|
};
|
|
3215
3361
|
|
|
@@ -3233,10 +3379,11 @@ var EffectsSection = () => {
|
|
|
3233
3379
|
};
|
|
3234
3380
|
|
|
3235
3381
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
3236
|
-
import * as
|
|
3382
|
+
import * as React55 from "react";
|
|
3237
3383
|
import { ControlFormLabel as ControlFormLabel2 } from "@elementor/editor-controls";
|
|
3238
3384
|
import { useParentElement } from "@elementor/editor-elements";
|
|
3239
|
-
import {
|
|
3385
|
+
import { isExperimentActive as isExperimentActive2 } from "@elementor/editor-v1-adapters";
|
|
3386
|
+
import { __ as __33 } from "@wordpress/i18n";
|
|
3240
3387
|
|
|
3241
3388
|
// src/hooks/use-computed-style.ts
|
|
3242
3389
|
import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
|
|
@@ -3278,7 +3425,7 @@ import { __ as __18 } from "@wordpress/i18n";
|
|
|
3278
3425
|
|
|
3279
3426
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
3280
3427
|
import * as React39 from "react";
|
|
3281
|
-
import { useRef as
|
|
3428
|
+
import { useRef as useRef6 } from "react";
|
|
3282
3429
|
import { useTheme as useTheme2 } from "@elementor/ui";
|
|
3283
3430
|
import { __ as __17 } from "@wordpress/i18n";
|
|
3284
3431
|
var FLEX_DIRECTION_LABEL = __17("Flex direction", "elementor");
|
|
@@ -3301,7 +3448,7 @@ var RotatedIcon = ({
|
|
|
3301
3448
|
offset = 0,
|
|
3302
3449
|
disableRotationForReversed = false
|
|
3303
3450
|
}) => {
|
|
3304
|
-
const rotate =
|
|
3451
|
+
const rotate = useRef6(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
3305
3452
|
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
3306
3453
|
return /* @__PURE__ */ React39.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
3307
3454
|
};
|
|
@@ -3503,95 +3650,159 @@ var getOptions = (parentStyleDirection) => [
|
|
|
3503
3650
|
];
|
|
3504
3651
|
var AlignSelfChild = ({ parentStyleDirection }) => /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-self", propDisplayName: ALIGN_SELF_LABEL }, /* @__PURE__ */ React42.createElement(UiProviders, null, /* @__PURE__ */ React42.createElement(StylesFieldLayout, { label: ALIGN_SELF_LABEL }, /* @__PURE__ */ React42.createElement(ToggleControl4, { options: getOptions(parentStyleDirection) }))));
|
|
3505
3652
|
|
|
3506
|
-
// src/components/style-sections/layout-section/
|
|
3653
|
+
// src/components/style-sections/layout-section/align-self-grid-child-field.tsx
|
|
3507
3654
|
import * as React43 from "react";
|
|
3508
3655
|
import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
|
|
3656
|
+
import {
|
|
3657
|
+
JustifyBottomIcon as JustifyBottomIcon2,
|
|
3658
|
+
JustifyCenterIcon,
|
|
3659
|
+
JustifyTopIcon as JustifyTopIcon2,
|
|
3660
|
+
LayoutDistributeVerticalIcon as JustifyIcon3
|
|
3661
|
+
} from "@elementor/icons";
|
|
3509
3662
|
import { __ as __21 } from "@wordpress/i18n";
|
|
3510
|
-
var
|
|
3663
|
+
var ALIGN_SELF_LABEL2 = __21("Align self", "elementor");
|
|
3664
|
+
var ALIGN_SELF_CHILD_OFFSET_MAP2 = {
|
|
3665
|
+
row: 0,
|
|
3666
|
+
column: -90
|
|
3667
|
+
};
|
|
3668
|
+
var AlignSelfGridChild = ({ parentStyleDirection }) => /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-self", propDisplayName: ALIGN_SELF_LABEL2 }, /* @__PURE__ */ React43.createElement(UiProviders, null, /* @__PURE__ */ React43.createElement(StylesFieldLayout, { label: ALIGN_SELF_LABEL2 }, /* @__PURE__ */ React43.createElement(ToggleControl5, { options: getOptions2(parentStyleDirection ?? "row") }))));
|
|
3669
|
+
var RotatedIcon2 = ({
|
|
3670
|
+
icon: Icon,
|
|
3671
|
+
size,
|
|
3672
|
+
offset
|
|
3673
|
+
}) => /* @__PURE__ */ React43.createElement(Icon, { fontSize: size, sx: { rotate: `${offset}deg` } });
|
|
3674
|
+
var getOptions2 = (parentStyleDirection) => {
|
|
3675
|
+
const offset = ALIGN_SELF_CHILD_OFFSET_MAP2[parentStyleDirection.replace("dense", "").trim()];
|
|
3676
|
+
return [
|
|
3677
|
+
{
|
|
3678
|
+
value: "start",
|
|
3679
|
+
label: __21("Start", "elementor"),
|
|
3680
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon2, { icon: JustifyTopIcon2, size, offset }),
|
|
3681
|
+
showTooltip: true
|
|
3682
|
+
},
|
|
3683
|
+
{
|
|
3684
|
+
value: "center",
|
|
3685
|
+
label: __21("Center", "elementor"),
|
|
3686
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon2, { icon: JustifyCenterIcon, size, offset }),
|
|
3687
|
+
showTooltip: true
|
|
3688
|
+
},
|
|
3689
|
+
{
|
|
3690
|
+
value: "end",
|
|
3691
|
+
label: __21("End", "elementor"),
|
|
3692
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon2, { icon: JustifyBottomIcon2, size, offset }),
|
|
3693
|
+
showTooltip: true
|
|
3694
|
+
},
|
|
3695
|
+
{
|
|
3696
|
+
value: "stretch",
|
|
3697
|
+
label: __21("Stretch", "elementor"),
|
|
3698
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon2, { icon: JustifyIcon3, size, offset }),
|
|
3699
|
+
showTooltip: true
|
|
3700
|
+
}
|
|
3701
|
+
];
|
|
3702
|
+
};
|
|
3703
|
+
|
|
3704
|
+
// src/components/style-sections/layout-section/display-field.tsx
|
|
3705
|
+
import * as React44 from "react";
|
|
3706
|
+
import { useMemo as useMemo9 } from "react";
|
|
3707
|
+
import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
|
|
3708
|
+
import { isExperimentActive } from "@elementor/editor-v1-adapters";
|
|
3709
|
+
import { __ as __22 } from "@wordpress/i18n";
|
|
3710
|
+
var DISPLAY_LABEL = __22("Display", "elementor");
|
|
3511
3711
|
var displayFieldItems = [
|
|
3512
3712
|
{
|
|
3513
3713
|
value: "block",
|
|
3514
|
-
renderContent: () =>
|
|
3515
|
-
label:
|
|
3714
|
+
renderContent: () => __22("Block", "elementor"),
|
|
3715
|
+
label: __22("Block", "elementor"),
|
|
3516
3716
|
showTooltip: true
|
|
3517
3717
|
},
|
|
3518
3718
|
{
|
|
3519
3719
|
value: "flex",
|
|
3520
|
-
renderContent: () =>
|
|
3521
|
-
label:
|
|
3720
|
+
renderContent: () => __22("Flex", "elementor"),
|
|
3721
|
+
label: __22("Flex", "elementor"),
|
|
3522
3722
|
showTooltip: true
|
|
3523
3723
|
},
|
|
3524
3724
|
{
|
|
3525
|
-
value: "
|
|
3526
|
-
renderContent: () =>
|
|
3527
|
-
label:
|
|
3725
|
+
value: "grid",
|
|
3726
|
+
renderContent: () => __22("Grid", "elementor"),
|
|
3727
|
+
label: __22("Grid", "elementor"),
|
|
3528
3728
|
showTooltip: true
|
|
3529
3729
|
},
|
|
3530
3730
|
{
|
|
3531
|
-
value: "
|
|
3532
|
-
renderContent: () =>
|
|
3533
|
-
label:
|
|
3731
|
+
value: "inline-block",
|
|
3732
|
+
renderContent: () => __22("In-blk", "elementor"),
|
|
3733
|
+
label: __22("Inline-block", "elementor"),
|
|
3534
3734
|
showTooltip: true
|
|
3535
3735
|
},
|
|
3536
3736
|
{
|
|
3537
3737
|
value: "inline-flex",
|
|
3538
|
-
renderContent: () =>
|
|
3539
|
-
label:
|
|
3738
|
+
renderContent: () => __22("In-flx", "elementor"),
|
|
3739
|
+
label: __22("Inline-flex", "elementor"),
|
|
3740
|
+
showTooltip: true
|
|
3741
|
+
},
|
|
3742
|
+
{
|
|
3743
|
+
value: "none",
|
|
3744
|
+
renderContent: () => __22("None", "elementor"),
|
|
3745
|
+
label: __22("None", "elementor"),
|
|
3540
3746
|
showTooltip: true
|
|
3541
3747
|
}
|
|
3542
3748
|
];
|
|
3543
3749
|
var DisplayField = () => {
|
|
3544
3750
|
const placeholder = useDisplayPlaceholderValue();
|
|
3545
|
-
|
|
3751
|
+
const isGridActive = isExperimentActive("e_css_grid");
|
|
3752
|
+
const items3 = useMemo9(
|
|
3753
|
+
() => isGridActive ? displayFieldItems : displayFieldItems.filter((item) => item.value !== "grid"),
|
|
3754
|
+
[isGridActive]
|
|
3755
|
+
);
|
|
3756
|
+
return /* @__PURE__ */ React44.createElement(StylesField, { bind: "display", propDisplayName: DISPLAY_LABEL, placeholder }, /* @__PURE__ */ React44.createElement(StylesFieldLayout, { label: DISPLAY_LABEL, direction: "column" }, /* @__PURE__ */ React44.createElement(ToggleControl6, { options: items3, maxItems: 4, fullWidth: true })));
|
|
3546
3757
|
};
|
|
3547
3758
|
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
3548
3759
|
|
|
3549
3760
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
3550
|
-
import * as
|
|
3551
|
-
import { ToggleControl as
|
|
3761
|
+
import * as React45 from "react";
|
|
3762
|
+
import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
|
|
3552
3763
|
import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
|
|
3553
3764
|
import { withDirection as withDirection6 } from "@elementor/ui";
|
|
3554
|
-
import { __ as
|
|
3555
|
-
var FLEX_DIRECTION_LABEL2 =
|
|
3765
|
+
import { __ as __23 } from "@wordpress/i18n";
|
|
3766
|
+
var FLEX_DIRECTION_LABEL2 = __23("Direction", "elementor");
|
|
3556
3767
|
var options3 = [
|
|
3557
3768
|
{
|
|
3558
3769
|
value: "row",
|
|
3559
|
-
label:
|
|
3770
|
+
label: __23("Row", "elementor"),
|
|
3560
3771
|
renderContent: ({ size }) => {
|
|
3561
|
-
const
|
|
3562
|
-
return /* @__PURE__ */
|
|
3772
|
+
const StartIcon7 = withDirection6(ArrowRightIcon);
|
|
3773
|
+
return /* @__PURE__ */ React45.createElement(StartIcon7, { fontSize: size });
|
|
3563
3774
|
},
|
|
3564
3775
|
showTooltip: true
|
|
3565
3776
|
},
|
|
3566
3777
|
{
|
|
3567
3778
|
value: "column",
|
|
3568
|
-
label:
|
|
3569
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3779
|
+
label: __23("Column", "elementor"),
|
|
3780
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowDownSmallIcon, { fontSize: size }),
|
|
3570
3781
|
showTooltip: true
|
|
3571
3782
|
},
|
|
3572
3783
|
{
|
|
3573
3784
|
value: "row-reverse",
|
|
3574
|
-
label:
|
|
3785
|
+
label: __23("Reversed row", "elementor"),
|
|
3575
3786
|
renderContent: ({ size }) => {
|
|
3576
|
-
const
|
|
3577
|
-
return /* @__PURE__ */
|
|
3787
|
+
const EndIcon6 = withDirection6(ArrowLeftIcon);
|
|
3788
|
+
return /* @__PURE__ */ React45.createElement(EndIcon6, { fontSize: size });
|
|
3578
3789
|
},
|
|
3579
3790
|
showTooltip: true
|
|
3580
3791
|
},
|
|
3581
3792
|
{
|
|
3582
3793
|
value: "column-reverse",
|
|
3583
|
-
label:
|
|
3584
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3794
|
+
label: __23("Reversed column", "elementor"),
|
|
3795
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowUpSmallIcon, { fontSize: size }),
|
|
3585
3796
|
showTooltip: true
|
|
3586
3797
|
}
|
|
3587
3798
|
];
|
|
3588
3799
|
var FlexDirectionField = () => {
|
|
3589
|
-
return /* @__PURE__ */
|
|
3800
|
+
return /* @__PURE__ */ React45.createElement(StylesField, { bind: "flex-direction", propDisplayName: FLEX_DIRECTION_LABEL2 }, /* @__PURE__ */ React45.createElement(UiProviders, null, /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: FLEX_DIRECTION_LABEL2 }, /* @__PURE__ */ React45.createElement(ToggleControl7, { options: options3 }))));
|
|
3590
3801
|
};
|
|
3591
3802
|
|
|
3592
3803
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
3593
|
-
import * as
|
|
3594
|
-
import { useEffect as
|
|
3804
|
+
import * as React46 from "react";
|
|
3805
|
+
import { useEffect as useEffect5, useMemo as useMemo10, useState as useState7 } from "react";
|
|
3595
3806
|
import {
|
|
3596
3807
|
ControlToggleButtonGroup,
|
|
3597
3808
|
NumberControl as NumberControl2,
|
|
@@ -3599,8 +3810,8 @@ import {
|
|
|
3599
3810
|
} from "@elementor/editor-controls";
|
|
3600
3811
|
import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
|
|
3601
3812
|
import { Grid as Grid2 } from "@elementor/ui";
|
|
3602
|
-
import { __ as
|
|
3603
|
-
var ORDER_LABEL =
|
|
3813
|
+
import { __ as __24 } from "@wordpress/i18n";
|
|
3814
|
+
var ORDER_LABEL = __24("Order", "elementor");
|
|
3604
3815
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
3605
3816
|
var LAST_DEFAULT_VALUE = 99999;
|
|
3606
3817
|
var FIRST = "first";
|
|
@@ -3613,25 +3824,25 @@ var orderValueMap = {
|
|
|
3613
3824
|
var items = [
|
|
3614
3825
|
{
|
|
3615
3826
|
value: FIRST,
|
|
3616
|
-
label:
|
|
3617
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3827
|
+
label: __24("First", "elementor"),
|
|
3828
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowUpSmallIcon2, { fontSize: size }),
|
|
3618
3829
|
showTooltip: true
|
|
3619
3830
|
},
|
|
3620
3831
|
{
|
|
3621
3832
|
value: LAST,
|
|
3622
|
-
label:
|
|
3623
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3833
|
+
label: __24("Last", "elementor"),
|
|
3834
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowDownSmallIcon2, { fontSize: size }),
|
|
3624
3835
|
showTooltip: true
|
|
3625
3836
|
},
|
|
3626
3837
|
{
|
|
3627
3838
|
value: CUSTOM,
|
|
3628
|
-
label:
|
|
3629
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3839
|
+
label: __24("Custom", "elementor"),
|
|
3840
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(PencilIcon, { fontSize: size }),
|
|
3630
3841
|
showTooltip: true
|
|
3631
3842
|
}
|
|
3632
3843
|
];
|
|
3633
3844
|
var FlexOrderField = () => {
|
|
3634
|
-
return /* @__PURE__ */
|
|
3845
|
+
return /* @__PURE__ */ React46.createElement(StylesField, { bind: "order", propDisplayName: ORDER_LABEL }, /* @__PURE__ */ React46.createElement(UiProviders, null, /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(FlexOrderFieldContent, null))));
|
|
3635
3846
|
};
|
|
3636
3847
|
function FlexOrderFieldContent() {
|
|
3637
3848
|
const {
|
|
@@ -3643,15 +3854,15 @@ function FlexOrderFieldContent() {
|
|
|
3643
3854
|
});
|
|
3644
3855
|
const { placeholder } = useBoundProp2();
|
|
3645
3856
|
const placeholderValue = placeholder;
|
|
3646
|
-
const currentGroup =
|
|
3857
|
+
const currentGroup = useMemo10(() => getGroupControlValue(order?.value ?? null), [order]);
|
|
3647
3858
|
const [activeGroup, setActiveGroup] = useState7(currentGroup);
|
|
3648
3859
|
const [customLocked, setCustomLocked] = useState7(false);
|
|
3649
|
-
|
|
3860
|
+
useEffect5(() => {
|
|
3650
3861
|
if (!customLocked) {
|
|
3651
3862
|
setActiveGroup(currentGroup);
|
|
3652
3863
|
}
|
|
3653
3864
|
}, [currentGroup, customLocked]);
|
|
3654
|
-
|
|
3865
|
+
useEffect5(() => {
|
|
3655
3866
|
if (order === null) {
|
|
3656
3867
|
setCustomLocked(false);
|
|
3657
3868
|
}
|
|
@@ -3676,7 +3887,7 @@ function FlexOrderFieldContent() {
|
|
|
3676
3887
|
};
|
|
3677
3888
|
const isCustomVisible = CUSTOM === activeGroup || CUSTOM === groupPlaceholder;
|
|
3678
3889
|
const orderPlaceholder = CUSTOM === groupPlaceholder ? String(placeholderValue?.value ?? null) : "";
|
|
3679
|
-
return /* @__PURE__ */
|
|
3890
|
+
return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(StylesFieldLayout, { label: ORDER_LABEL }, /* @__PURE__ */ React46.createElement(
|
|
3680
3891
|
ControlToggleButtonGroup,
|
|
3681
3892
|
{
|
|
3682
3893
|
items,
|
|
@@ -3686,7 +3897,7 @@ function FlexOrderFieldContent() {
|
|
|
3686
3897
|
placeholder: groupPlaceholder,
|
|
3687
3898
|
disabled: !canEdit
|
|
3688
3899
|
}
|
|
3689
|
-
)), isCustomVisible && /* @__PURE__ */
|
|
3900
|
+
)), isCustomVisible && /* @__PURE__ */ React46.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __24("Custom order", "elementor"))), /* @__PURE__ */ React46.createElement(Grid2, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(
|
|
3690
3901
|
NumberControl2,
|
|
3691
3902
|
{
|
|
3692
3903
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -3710,8 +3921,8 @@ var getGroupControlValue = (order) => {
|
|
|
3710
3921
|
};
|
|
3711
3922
|
|
|
3712
3923
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
3713
|
-
import * as
|
|
3714
|
-
import { useEffect as
|
|
3924
|
+
import * as React47 from "react";
|
|
3925
|
+
import { useEffect as useEffect6, useMemo as useMemo11, useRef as useRef7, useState as useState8 } from "react";
|
|
3715
3926
|
import {
|
|
3716
3927
|
ControlToggleButtonGroup as ControlToggleButtonGroup2,
|
|
3717
3928
|
NumberControl as NumberControl3,
|
|
@@ -3722,31 +3933,31 @@ import {
|
|
|
3722
3933
|
} from "@elementor/editor-controls";
|
|
3723
3934
|
import { flexPropTypeUtil, numberPropTypeUtil as numberPropTypeUtil2, sizePropTypeUtil as sizePropTypeUtil3 } from "@elementor/editor-props";
|
|
3724
3935
|
import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
|
|
3725
|
-
import { __ as
|
|
3726
|
-
var FLEX_SIZE_LABEL =
|
|
3936
|
+
import { __ as __25 } from "@wordpress/i18n";
|
|
3937
|
+
var FLEX_SIZE_LABEL = __25("Flex Size", "elementor");
|
|
3727
3938
|
var DEFAULT = 1;
|
|
3728
3939
|
var items2 = [
|
|
3729
3940
|
{
|
|
3730
3941
|
value: "flex-grow",
|
|
3731
|
-
label:
|
|
3732
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3942
|
+
label: __25("Grow", "elementor"),
|
|
3943
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ExpandIcon, { fontSize: size }),
|
|
3733
3944
|
showTooltip: true
|
|
3734
3945
|
},
|
|
3735
3946
|
{
|
|
3736
3947
|
value: "flex-shrink",
|
|
3737
|
-
label:
|
|
3738
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3948
|
+
label: __25("Shrink", "elementor"),
|
|
3949
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ShrinkIcon, { fontSize: size }),
|
|
3739
3950
|
showTooltip: true
|
|
3740
3951
|
},
|
|
3741
3952
|
{
|
|
3742
3953
|
value: "custom",
|
|
3743
|
-
label:
|
|
3744
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3954
|
+
label: __25("Custom", "elementor"),
|
|
3955
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(PencilIcon2, { fontSize: size }),
|
|
3745
3956
|
showTooltip: true
|
|
3746
3957
|
}
|
|
3747
3958
|
];
|
|
3748
3959
|
var FlexSizeField = () => {
|
|
3749
|
-
return /* @__PURE__ */
|
|
3960
|
+
return /* @__PURE__ */ React47.createElement(UiProviders, null, /* @__PURE__ */ React47.createElement(SectionContent, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React47.createElement(FlexSizeFieldContent, null))));
|
|
3750
3961
|
};
|
|
3751
3962
|
var FlexSizeFieldContent = () => {
|
|
3752
3963
|
const { value, setValue, canEdit } = useStylesField("flex", {
|
|
@@ -3754,15 +3965,15 @@ var FlexSizeFieldContent = () => {
|
|
|
3754
3965
|
});
|
|
3755
3966
|
const { placeholder } = useBoundProp3();
|
|
3756
3967
|
const flexValues = extractFlexValues(value);
|
|
3757
|
-
const currentGroup =
|
|
3968
|
+
const currentGroup = useMemo11(() => getActiveGroup(flexValues), [flexValues]);
|
|
3758
3969
|
const [activeGroup, setActiveGroup] = useState8(currentGroup);
|
|
3759
3970
|
const [customLocked, setCustomLocked] = useState8(false);
|
|
3760
|
-
|
|
3971
|
+
useEffect6(() => {
|
|
3761
3972
|
if (!customLocked) {
|
|
3762
3973
|
setActiveGroup(currentGroup);
|
|
3763
3974
|
}
|
|
3764
3975
|
}, [currentGroup, customLocked]);
|
|
3765
|
-
|
|
3976
|
+
useEffect6(() => {
|
|
3766
3977
|
if (value === null) {
|
|
3767
3978
|
setCustomLocked(false);
|
|
3768
3979
|
}
|
|
@@ -3775,7 +3986,7 @@ var FlexSizeFieldContent = () => {
|
|
|
3775
3986
|
};
|
|
3776
3987
|
const groupPlaceholder = getActiveGroup(extractFlexValues(placeholder));
|
|
3777
3988
|
const isCustomVisible = "custom" === activeGroup || "custom" === groupPlaceholder;
|
|
3778
|
-
return /* @__PURE__ */
|
|
3989
|
+
return /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: FLEX_SIZE_LABEL }, /* @__PURE__ */ React47.createElement(
|
|
3779
3990
|
ControlToggleButtonGroup2,
|
|
3780
3991
|
{
|
|
3781
3992
|
value: activeGroup ?? null,
|
|
@@ -3785,7 +3996,7 @@ var FlexSizeFieldContent = () => {
|
|
|
3785
3996
|
items: items2,
|
|
3786
3997
|
exclusive: true
|
|
3787
3998
|
}
|
|
3788
|
-
)), isCustomVisible && /* @__PURE__ */
|
|
3999
|
+
)), isCustomVisible && /* @__PURE__ */ React47.createElement(FlexCustomField, null));
|
|
3789
4000
|
};
|
|
3790
4001
|
function extractFlexValues(source) {
|
|
3791
4002
|
return {
|
|
@@ -3825,9 +4036,9 @@ var createFlexValueForGroup = (group, flexValue) => {
|
|
|
3825
4036
|
return null;
|
|
3826
4037
|
};
|
|
3827
4038
|
var FlexCustomField = () => {
|
|
3828
|
-
const flexBasisRowRef =
|
|
4039
|
+
const flexBasisRowRef = useRef7(null);
|
|
3829
4040
|
const context = useBoundProp3(flexPropTypeUtil);
|
|
3830
|
-
return /* @__PURE__ */
|
|
4041
|
+
return /* @__PURE__ */ React47.createElement(PropProvider3, { ...context }, /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: __25("Grow", "elementor") }, /* @__PURE__ */ React47.createElement(PropKeyProvider3, { bind: "flexGrow" }, /* @__PURE__ */ React47.createElement(NumberControl3, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: __25("Shrink", "elementor") }, /* @__PURE__ */ React47.createElement(PropKeyProvider3, { bind: "flexShrink" }, /* @__PURE__ */ React47.createElement(NumberControl3, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: __25("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React47.createElement(PropKeyProvider3, { bind: "flexBasis" }, /* @__PURE__ */ React47.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
|
|
3831
4042
|
};
|
|
3832
4043
|
var getActiveGroup = ({
|
|
3833
4044
|
grow,
|
|
@@ -3851,126 +4062,348 @@ var getActiveGroup = ({
|
|
|
3851
4062
|
};
|
|
3852
4063
|
|
|
3853
4064
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
3854
|
-
import * as
|
|
4065
|
+
import * as React48 from "react";
|
|
3855
4066
|
import { GapControl } from "@elementor/editor-controls";
|
|
3856
|
-
import { __ as
|
|
3857
|
-
var GAPS_LABEL =
|
|
4067
|
+
import { __ as __26 } from "@wordpress/i18n";
|
|
4068
|
+
var GAPS_LABEL = __26("Gaps", "elementor");
|
|
3858
4069
|
var GapControlField = () => {
|
|
3859
|
-
return /* @__PURE__ */
|
|
4070
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "gap", propDisplayName: GAPS_LABEL }, /* @__PURE__ */ React48.createElement(GapControl, { label: GAPS_LABEL }));
|
|
3860
4071
|
};
|
|
3861
4072
|
|
|
4073
|
+
// src/components/style-sections/layout-section/grid-auto-flow-field.tsx
|
|
4074
|
+
import * as React49 from "react";
|
|
4075
|
+
import { ControlToggleButtonGroup as ControlToggleButtonGroup3 } from "@elementor/editor-controls";
|
|
4076
|
+
import { ArrowDownSmallIcon as ArrowDownSmallIcon3, ArrowRightIcon as ArrowRightIcon2, LayoutDashboardIcon } from "@elementor/icons";
|
|
4077
|
+
import { Grid as Grid3, ToggleButton, Tooltip, withDirection as withDirection7 } from "@elementor/ui";
|
|
4078
|
+
import { __ as __27 } from "@wordpress/i18n";
|
|
4079
|
+
var AUTO_FLOW_LABEL = __27("Auto flow", "elementor");
|
|
4080
|
+
var DENSE_LABEL = __27("Dense", "elementor");
|
|
4081
|
+
var StartIcon4 = withDirection7(ArrowRightIcon2);
|
|
4082
|
+
var directionOptions = [
|
|
4083
|
+
{
|
|
4084
|
+
value: "row",
|
|
4085
|
+
label: __27("Row", "elementor"),
|
|
4086
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(StartIcon4, { fontSize: size }),
|
|
4087
|
+
showTooltip: true
|
|
4088
|
+
},
|
|
4089
|
+
{
|
|
4090
|
+
value: "column",
|
|
4091
|
+
label: __27("Column", "elementor"),
|
|
4092
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowDownSmallIcon3, { fontSize: size }),
|
|
4093
|
+
showTooltip: true
|
|
4094
|
+
}
|
|
4095
|
+
];
|
|
4096
|
+
var parseAutoFlow = (value) => {
|
|
4097
|
+
if (!value) {
|
|
4098
|
+
return { direction: "row", dense: false };
|
|
4099
|
+
}
|
|
4100
|
+
const dense = value.includes("dense");
|
|
4101
|
+
const direction = value.replace(/\s*dense\s*/, "").trim();
|
|
4102
|
+
return { direction: direction || "row", dense };
|
|
4103
|
+
};
|
|
4104
|
+
var composeAutoFlow = (direction, dense) => {
|
|
4105
|
+
return dense ? `${direction} dense` : direction;
|
|
4106
|
+
};
|
|
4107
|
+
var GridAutoFlowFieldContent = () => {
|
|
4108
|
+
const { value, setValue } = useStylesField("grid-auto-flow", {
|
|
4109
|
+
history: { propDisplayName: AUTO_FLOW_LABEL }
|
|
4110
|
+
});
|
|
4111
|
+
const { direction, dense } = parseAutoFlow(value?.value ?? null);
|
|
4112
|
+
const handleDirectionChange = (newDirection) => {
|
|
4113
|
+
if (!newDirection) {
|
|
4114
|
+
return;
|
|
4115
|
+
}
|
|
4116
|
+
setValue({ $$type: "string", value: composeAutoFlow(newDirection, dense) });
|
|
4117
|
+
};
|
|
4118
|
+
const handleDenseToggle = () => {
|
|
4119
|
+
setValue({ $$type: "string", value: composeAutoFlow(direction, !dense) });
|
|
4120
|
+
};
|
|
4121
|
+
return /* @__PURE__ */ React49.createElement(StylesFieldLayout, { label: AUTO_FLOW_LABEL }, /* @__PURE__ */ React49.createElement(Grid3, { container: true, gap: 1, flexWrap: "nowrap", alignItems: "center", justifyContent: "flex-end" }, /* @__PURE__ */ React49.createElement(Grid3, { item: true, sx: { width: 64, maxWidth: "100%" } }, /* @__PURE__ */ React49.createElement(
|
|
4122
|
+
ControlToggleButtonGroup3,
|
|
4123
|
+
{
|
|
4124
|
+
items: directionOptions,
|
|
4125
|
+
value: direction,
|
|
4126
|
+
onChange: handleDirectionChange,
|
|
4127
|
+
exclusive: true,
|
|
4128
|
+
fullWidth: true
|
|
4129
|
+
}
|
|
4130
|
+
)), /* @__PURE__ */ React49.createElement(Grid3, { item: true }, /* @__PURE__ */ React49.createElement(Tooltip, { title: DENSE_LABEL }, /* @__PURE__ */ React49.createElement(
|
|
4131
|
+
ToggleButton,
|
|
4132
|
+
{
|
|
4133
|
+
value: "dense",
|
|
4134
|
+
selected: dense,
|
|
4135
|
+
onChange: handleDenseToggle,
|
|
4136
|
+
size: "tiny",
|
|
4137
|
+
"aria-label": DENSE_LABEL
|
|
4138
|
+
},
|
|
4139
|
+
/* @__PURE__ */ React49.createElement(LayoutDashboardIcon, { fontSize: "tiny" })
|
|
4140
|
+
)))));
|
|
4141
|
+
};
|
|
4142
|
+
var GridAutoFlowField = () => /* @__PURE__ */ React49.createElement(StylesField, { bind: "grid-auto-flow", propDisplayName: AUTO_FLOW_LABEL }, /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(GridAutoFlowFieldContent, null)));
|
|
4143
|
+
|
|
4144
|
+
// src/components/style-sections/layout-section/grid-justify-items-field.tsx
|
|
4145
|
+
import * as React50 from "react";
|
|
4146
|
+
import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
|
|
4147
|
+
import {
|
|
4148
|
+
LayoutAlignCenterIcon as CenterIcon4,
|
|
4149
|
+
LayoutAlignLeftIcon as LayoutAlignLeftIcon3,
|
|
4150
|
+
LayoutAlignRightIcon as LayoutAlignRightIcon3,
|
|
4151
|
+
LayoutDistributeVerticalIcon as StretchIcon
|
|
4152
|
+
} from "@elementor/icons";
|
|
4153
|
+
import { withDirection as withDirection8 } from "@elementor/ui";
|
|
4154
|
+
import { __ as __28 } from "@wordpress/i18n";
|
|
4155
|
+
var JUSTIFY_ITEMS_LABEL = __28("Justify items", "elementor");
|
|
4156
|
+
var StartIcon5 = withDirection8(LayoutAlignLeftIcon3);
|
|
4157
|
+
var EndIcon4 = withDirection8(LayoutAlignRightIcon3);
|
|
4158
|
+
var options4 = [
|
|
4159
|
+
{
|
|
4160
|
+
value: "start",
|
|
4161
|
+
label: __28("Start", "elementor"),
|
|
4162
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(StartIcon5, { fontSize: size }),
|
|
4163
|
+
showTooltip: true
|
|
4164
|
+
},
|
|
4165
|
+
{
|
|
4166
|
+
value: "center",
|
|
4167
|
+
label: __28("Center", "elementor"),
|
|
4168
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(CenterIcon4, { fontSize: size }),
|
|
4169
|
+
showTooltip: true
|
|
4170
|
+
},
|
|
4171
|
+
{
|
|
4172
|
+
value: "end",
|
|
4173
|
+
label: __28("End", "elementor"),
|
|
4174
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(EndIcon4, { fontSize: size }),
|
|
4175
|
+
showTooltip: true
|
|
4176
|
+
},
|
|
4177
|
+
{
|
|
4178
|
+
value: "stretch",
|
|
4179
|
+
label: __28("Stretch", "elementor"),
|
|
4180
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(StretchIcon, { fontSize: size }),
|
|
4181
|
+
showTooltip: true
|
|
4182
|
+
}
|
|
4183
|
+
];
|
|
4184
|
+
var GridJustifyItemsField = () => /* @__PURE__ */ React50.createElement(StylesField, { bind: "justify-items", propDisplayName: JUSTIFY_ITEMS_LABEL }, /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: JUSTIFY_ITEMS_LABEL }, /* @__PURE__ */ React50.createElement(ToggleControl8, { options: options4 }))));
|
|
4185
|
+
|
|
4186
|
+
// src/components/style-sections/layout-section/grid-size-field.tsx
|
|
4187
|
+
import * as React51 from "react";
|
|
4188
|
+
import { useRef as useRef8 } from "react";
|
|
4189
|
+
import { SizeComponent } from "@elementor/editor-controls";
|
|
4190
|
+
import { Grid as Grid4 } from "@elementor/ui";
|
|
4191
|
+
import { __ as __29 } from "@wordpress/i18n";
|
|
4192
|
+
var FR = "fr";
|
|
4193
|
+
var CUSTOM2 = "custom";
|
|
4194
|
+
var UNITS = [FR, CUSTOM2];
|
|
4195
|
+
var REPEAT_FR_PATTERN = /^repeat\(\s*(\d+)\s*,\s*1fr\s*\)$/;
|
|
4196
|
+
var cssToTrackValue = (css) => {
|
|
4197
|
+
if (!css) {
|
|
4198
|
+
return null;
|
|
4199
|
+
}
|
|
4200
|
+
const match = css.match(REPEAT_FR_PATTERN);
|
|
4201
|
+
if (match) {
|
|
4202
|
+
return { size: parseInt(match[1], 10), unit: FR };
|
|
4203
|
+
}
|
|
4204
|
+
return { size: css, unit: CUSTOM2 };
|
|
4205
|
+
};
|
|
4206
|
+
var trackValueToCss = (trackValue) => {
|
|
4207
|
+
if (!trackValue || trackValue.size === "" || trackValue.size === null) {
|
|
4208
|
+
return null;
|
|
4209
|
+
}
|
|
4210
|
+
if (trackValue.unit === FR) {
|
|
4211
|
+
return `repeat(${trackValue.size}, 1fr)`;
|
|
4212
|
+
}
|
|
4213
|
+
return String(trackValue.size);
|
|
4214
|
+
};
|
|
4215
|
+
var GridTrackField = ({ cssProp, label }) => /* @__PURE__ */ React51.createElement(StylesField, { bind: cssProp, propDisplayName: label }, /* @__PURE__ */ React51.createElement(GridTrackFieldContent, { cssProp, label }));
|
|
4216
|
+
var GridTrackFieldContent = ({ cssProp, label }) => {
|
|
4217
|
+
const { value, setValue } = useStylesField(cssProp, {
|
|
4218
|
+
history: { propDisplayName: label }
|
|
4219
|
+
});
|
|
4220
|
+
const anchorRef = useRef8(null);
|
|
4221
|
+
const trackValue = cssToTrackValue(value?.value ?? null);
|
|
4222
|
+
const handleChange = (newValue) => {
|
|
4223
|
+
const css = trackValueToCss(newValue);
|
|
4224
|
+
setValue(css ? { $$type: "string", value: css } : null);
|
|
4225
|
+
};
|
|
4226
|
+
return /* @__PURE__ */ React51.createElement(StylesFieldLayout, { label, direction: "column" }, /* @__PURE__ */ React51.createElement("div", { ref: anchorRef }, /* @__PURE__ */ React51.createElement(
|
|
4227
|
+
SizeComponent,
|
|
4228
|
+
{
|
|
4229
|
+
units: UNITS,
|
|
4230
|
+
value: trackValue ?? { size: NaN, unit: FR },
|
|
4231
|
+
defaultUnit: FR,
|
|
4232
|
+
setValue: handleChange,
|
|
4233
|
+
onBlur: () => {
|
|
4234
|
+
},
|
|
4235
|
+
min: 1,
|
|
4236
|
+
anchorRef
|
|
4237
|
+
}
|
|
4238
|
+
)));
|
|
4239
|
+
};
|
|
4240
|
+
var GridSizeFields = () => /* @__PURE__ */ React51.createElement(Grid4, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(GridTrackField, { cssProp: "grid-template-columns", label: __29("Columns", "elementor") })), /* @__PURE__ */ React51.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(GridTrackField, { cssProp: "grid-template-rows", label: __29("Rows", "elementor") })));
|
|
4241
|
+
|
|
4242
|
+
// src/components/style-sections/layout-section/grid-span-field.tsx
|
|
4243
|
+
import * as React52 from "react";
|
|
4244
|
+
import { NumberInput } from "@elementor/editor-controls";
|
|
4245
|
+
import { Grid as Grid5 } from "@elementor/ui";
|
|
4246
|
+
import { __ as __30 } from "@wordpress/i18n";
|
|
4247
|
+
var MIN_SPAN = 1;
|
|
4248
|
+
var GridSpanFieldContent = ({ cssProp, label }) => {
|
|
4249
|
+
const { value, setValue, canEdit } = useStylesField(cssProp, {
|
|
4250
|
+
history: { propDisplayName: label }
|
|
4251
|
+
});
|
|
4252
|
+
const spanValue = value?.value ?? null;
|
|
4253
|
+
const handleChange = (event) => {
|
|
4254
|
+
const raw = event.target.value;
|
|
4255
|
+
if (raw === "") {
|
|
4256
|
+
setValue(null);
|
|
4257
|
+
return;
|
|
4258
|
+
}
|
|
4259
|
+
const num = parseInt(raw, 10);
|
|
4260
|
+
if (Number.isNaN(num)) {
|
|
4261
|
+
return;
|
|
4262
|
+
}
|
|
4263
|
+
const clamped = Math.max(num, MIN_SPAN);
|
|
4264
|
+
setValue({ $$type: "span", value: clamped });
|
|
4265
|
+
};
|
|
4266
|
+
return /* @__PURE__ */ React52.createElement(StylesFieldLayout, { label, direction: "column" }, /* @__PURE__ */ React52.createElement(
|
|
4267
|
+
NumberInput,
|
|
4268
|
+
{
|
|
4269
|
+
size: "tiny",
|
|
4270
|
+
type: "number",
|
|
4271
|
+
fullWidth: true,
|
|
4272
|
+
disabled: !canEdit,
|
|
4273
|
+
value: spanValue ?? "",
|
|
4274
|
+
onInput: handleChange,
|
|
4275
|
+
inputProps: { min: MIN_SPAN }
|
|
4276
|
+
}
|
|
4277
|
+
));
|
|
4278
|
+
};
|
|
4279
|
+
var GridSpanField = ({ cssProp, label }) => /* @__PURE__ */ React52.createElement(StylesField, { bind: cssProp, propDisplayName: label }, /* @__PURE__ */ React52.createElement(UiProviders, null, /* @__PURE__ */ React52.createElement(GridSpanFieldContent, { cssProp, label })));
|
|
4280
|
+
var GridSpanFields = () => /* @__PURE__ */ React52.createElement(Grid5, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(GridSpanField, { cssProp: "grid-column", label: __30("Column Span", "elementor") })), /* @__PURE__ */ React52.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(GridSpanField, { cssProp: "grid-row", label: __30("Row Span", "elementor") })));
|
|
4281
|
+
|
|
3862
4282
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
3863
|
-
import * as
|
|
3864
|
-
import { ToggleControl as
|
|
4283
|
+
import * as React53 from "react";
|
|
4284
|
+
import { ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
|
|
3865
4285
|
import {
|
|
3866
|
-
JustifyBottomIcon as
|
|
3867
|
-
JustifyCenterIcon as
|
|
4286
|
+
JustifyBottomIcon as JustifyBottomIcon3,
|
|
4287
|
+
JustifyCenterIcon as CenterIcon5,
|
|
3868
4288
|
JustifyDistributeVerticalIcon as EvenlyIcon2,
|
|
3869
4289
|
JustifySpaceAroundVerticalIcon as AroundIcon2,
|
|
3870
4290
|
JustifySpaceBetweenVerticalIcon as BetweenIcon2,
|
|
3871
|
-
JustifyTopIcon as
|
|
4291
|
+
JustifyTopIcon as JustifyTopIcon3
|
|
3872
4292
|
} from "@elementor/icons";
|
|
3873
|
-
import { withDirection as
|
|
3874
|
-
import { __ as
|
|
3875
|
-
var JUSTIFY_CONTENT_LABEL =
|
|
3876
|
-
var
|
|
3877
|
-
var
|
|
4293
|
+
import { withDirection as withDirection9 } from "@elementor/ui";
|
|
4294
|
+
import { __ as __31 } from "@wordpress/i18n";
|
|
4295
|
+
var JUSTIFY_CONTENT_LABEL = __31("Justify content", "elementor");
|
|
4296
|
+
var StartIcon6 = withDirection9(JustifyTopIcon3);
|
|
4297
|
+
var EndIcon5 = withDirection9(JustifyBottomIcon3);
|
|
3878
4298
|
var iconProps4 = {
|
|
3879
4299
|
isClockwise: true,
|
|
3880
4300
|
offset: -90
|
|
3881
4301
|
};
|
|
3882
|
-
var
|
|
4302
|
+
var options5 = [
|
|
3883
4303
|
{
|
|
3884
4304
|
value: "flex-start",
|
|
3885
|
-
label:
|
|
3886
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4305
|
+
label: __31("Start", "elementor"),
|
|
4306
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: StartIcon6, size, ...iconProps4 }),
|
|
3887
4307
|
showTooltip: true
|
|
3888
4308
|
},
|
|
3889
4309
|
{
|
|
3890
4310
|
value: "center",
|
|
3891
|
-
label:
|
|
3892
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4311
|
+
label: __31("Center", "elementor"),
|
|
4312
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: CenterIcon5, size, ...iconProps4 }),
|
|
3893
4313
|
showTooltip: true
|
|
3894
4314
|
},
|
|
3895
4315
|
{
|
|
3896
4316
|
value: "flex-end",
|
|
3897
|
-
label:
|
|
3898
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4317
|
+
label: __31("End", "elementor"),
|
|
4318
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: EndIcon5, size, ...iconProps4 }),
|
|
3899
4319
|
showTooltip: true
|
|
3900
4320
|
},
|
|
3901
4321
|
{
|
|
3902
4322
|
value: "space-between",
|
|
3903
|
-
label:
|
|
3904
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4323
|
+
label: __31("Space between", "elementor"),
|
|
4324
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
|
|
3905
4325
|
showTooltip: true
|
|
3906
4326
|
},
|
|
3907
4327
|
{
|
|
3908
4328
|
value: "space-around",
|
|
3909
|
-
label:
|
|
3910
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4329
|
+
label: __31("Space around", "elementor"),
|
|
4330
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
|
|
3911
4331
|
showTooltip: true
|
|
3912
4332
|
},
|
|
3913
4333
|
{
|
|
3914
4334
|
value: "space-evenly",
|
|
3915
|
-
label:
|
|
3916
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4335
|
+
label: __31("Space evenly", "elementor"),
|
|
4336
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
|
|
3917
4337
|
showTooltip: true
|
|
3918
4338
|
}
|
|
3919
4339
|
];
|
|
3920
|
-
var JustifyContentField = () => /* @__PURE__ */
|
|
4340
|
+
var JustifyContentField = () => /* @__PURE__ */ React53.createElement(StylesField, { bind: "justify-content", propDisplayName: JUSTIFY_CONTENT_LABEL }, /* @__PURE__ */ React53.createElement(UiProviders, null, /* @__PURE__ */ React53.createElement(StylesFieldLayout, { label: JUSTIFY_CONTENT_LABEL, direction: "column" }, /* @__PURE__ */ React53.createElement(ToggleControl9, { options: options5, fullWidth: true }))));
|
|
3921
4341
|
|
|
3922
4342
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
3923
|
-
import * as
|
|
3924
|
-
import { ToggleControl as
|
|
3925
|
-
import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as
|
|
3926
|
-
import { __ as
|
|
3927
|
-
var FLEX_WRAP_LABEL =
|
|
3928
|
-
var
|
|
4343
|
+
import * as React54 from "react";
|
|
4344
|
+
import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
|
|
4345
|
+
import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon3 } from "@elementor/icons";
|
|
4346
|
+
import { __ as __32 } from "@wordpress/i18n";
|
|
4347
|
+
var FLEX_WRAP_LABEL = __32("Wrap", "elementor");
|
|
4348
|
+
var options6 = [
|
|
3929
4349
|
{
|
|
3930
4350
|
value: "nowrap",
|
|
3931
|
-
label:
|
|
3932
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4351
|
+
label: __32("No wrap", "elementor"),
|
|
4352
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(ArrowRightIcon3, { fontSize: size }),
|
|
3933
4353
|
showTooltip: true
|
|
3934
4354
|
},
|
|
3935
4355
|
{
|
|
3936
4356
|
value: "wrap",
|
|
3937
|
-
label:
|
|
3938
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4357
|
+
label: __32("Wrap", "elementor"),
|
|
4358
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(ArrowBackIcon, { fontSize: size }),
|
|
3939
4359
|
showTooltip: true
|
|
3940
4360
|
},
|
|
3941
4361
|
{
|
|
3942
4362
|
value: "wrap-reverse",
|
|
3943
|
-
label:
|
|
3944
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4363
|
+
label: __32("Reversed wrap", "elementor"),
|
|
4364
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(ArrowForwardIcon, { fontSize: size }),
|
|
3945
4365
|
showTooltip: true
|
|
3946
4366
|
}
|
|
3947
4367
|
];
|
|
3948
4368
|
var WrapField = () => {
|
|
3949
|
-
return /* @__PURE__ */
|
|
4369
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "flex-wrap", propDisplayName: FLEX_WRAP_LABEL }, /* @__PURE__ */ React54.createElement(UiProviders, null, /* @__PURE__ */ React54.createElement(StylesFieldLayout, { label: FLEX_WRAP_LABEL }, /* @__PURE__ */ React54.createElement(ToggleControl10, { options: options6 }))));
|
|
3950
4370
|
};
|
|
3951
4371
|
|
|
3952
4372
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
3953
|
-
var DISPLAY_LABEL2 =
|
|
3954
|
-
var FLEX_WRAP_LABEL2 =
|
|
4373
|
+
var DISPLAY_LABEL2 = __33("Display", "elementor");
|
|
4374
|
+
var FLEX_WRAP_LABEL2 = __33("Flex wrap", "elementor");
|
|
4375
|
+
var DEFAULT_PARENT_FLOW_DIRECTION = "row";
|
|
3955
4376
|
var LayoutSection = () => {
|
|
3956
4377
|
const { value: display } = useStylesField("display", {
|
|
3957
4378
|
history: { propDisplayName: DISPLAY_LABEL2 }
|
|
3958
4379
|
});
|
|
3959
4380
|
const displayPlaceholder = useDisplayPlaceholderValue();
|
|
4381
|
+
const isGridExperimentActive = isExperimentActive2("e_css_grid");
|
|
3960
4382
|
const isDisplayFlex = shouldDisplayFlexFields(display, displayPlaceholder);
|
|
4383
|
+
const isDisplayGrid = "grid" === (display?.value ?? displayPlaceholder?.value);
|
|
3961
4384
|
const { element } = useElement();
|
|
3962
4385
|
const parent = useParentElement(element.id);
|
|
3963
4386
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
3964
|
-
const
|
|
3965
|
-
|
|
4387
|
+
const getParentStyleDirection = () => {
|
|
4388
|
+
if ("flex" === parentStyle?.display) {
|
|
4389
|
+
return parentStyle?.flexDirection ?? DEFAULT_PARENT_FLOW_DIRECTION;
|
|
4390
|
+
}
|
|
4391
|
+
if ("grid" === parentStyle?.display) {
|
|
4392
|
+
return parentStyle?.gridAutoFlow ?? DEFAULT_PARENT_FLOW_DIRECTION;
|
|
4393
|
+
}
|
|
4394
|
+
return DEFAULT_PARENT_FLOW_DIRECTION;
|
|
4395
|
+
};
|
|
4396
|
+
return /* @__PURE__ */ React55.createElement(SectionContent, null, /* @__PURE__ */ React55.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React55.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React55.createElement(FlexChildFields, { parentStyleDirection: getParentStyleDirection() }), isGridExperimentActive && isDisplayGrid && /* @__PURE__ */ React55.createElement(GridFields, null), isGridExperimentActive && "grid" === parentStyle?.display && /* @__PURE__ */ React55.createElement(GridChildFields, { parentStyleDirection: getParentStyleDirection() }));
|
|
3966
4397
|
};
|
|
3967
4398
|
var FlexFields = () => {
|
|
3968
4399
|
const { value: flexWrap } = useStylesField("flex-wrap", {
|
|
3969
4400
|
history: { propDisplayName: FLEX_WRAP_LABEL2 }
|
|
3970
4401
|
});
|
|
3971
|
-
return /* @__PURE__ */
|
|
4402
|
+
return /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(FlexDirectionField, null), /* @__PURE__ */ React55.createElement(JustifyContentField, null), /* @__PURE__ */ React55.createElement(AlignItemsField, null), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(GapControlField, null), /* @__PURE__ */ React55.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React55.createElement(AlignContentField, null));
|
|
3972
4403
|
};
|
|
3973
|
-
var
|
|
4404
|
+
var GridFields = () => /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(GridSizeFields, null), /* @__PURE__ */ React55.createElement(GridAutoFlowField, null), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(GapControlField, null), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(GridJustifyItemsField, null), /* @__PURE__ */ React55.createElement(AlignItemsField, null));
|
|
4405
|
+
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(ControlFormLabel2, null, __33("Flex child", "elementor")), /* @__PURE__ */ React55.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React55.createElement(FlexOrderField, null), /* @__PURE__ */ React55.createElement(FlexSizeField, null));
|
|
4406
|
+
var GridChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(ControlFormLabel2, null, __33("Grid Child", "elementor")), /* @__PURE__ */ React55.createElement(GridSpanFields, null), /* @__PURE__ */ React55.createElement(AlignSelfGridChild, { parentStyleDirection }), /* @__PURE__ */ React55.createElement(FlexOrderField, null));
|
|
3974
4407
|
var shouldDisplayFlexFields = (display, local) => {
|
|
3975
4408
|
const value = display?.value ?? local?.value;
|
|
3976
4409
|
if (!value) {
|
|
@@ -3980,39 +4413,40 @@ var shouldDisplayFlexFields = (display, local) => {
|
|
|
3980
4413
|
};
|
|
3981
4414
|
|
|
3982
4415
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3983
|
-
import * as
|
|
3984
|
-
import {
|
|
4416
|
+
import * as React60 from "react";
|
|
4417
|
+
import { useEffect as useEffect7, useRef as useRef11 } from "react";
|
|
3985
4418
|
import { useSessionStorage as useSessionStorage4 } from "@elementor/session";
|
|
3986
|
-
import {
|
|
4419
|
+
import { styled as styled6 } from "@elementor/ui";
|
|
4420
|
+
import { __ as __38 } from "@wordpress/i18n";
|
|
3987
4421
|
|
|
3988
4422
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
3989
|
-
import * as
|
|
3990
|
-
import { useRef as
|
|
4423
|
+
import * as React56 from "react";
|
|
4424
|
+
import { useRef as useRef9 } from "react";
|
|
3991
4425
|
import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
|
|
3992
4426
|
import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
|
|
3993
|
-
import { Grid as
|
|
3994
|
-
import { __ as
|
|
3995
|
-
var InlineStartIcon2 =
|
|
3996
|
-
var InlineEndIcon2 =
|
|
4427
|
+
import { Grid as Grid6, Stack as Stack8, withDirection as withDirection10 } from "@elementor/ui";
|
|
4428
|
+
import { __ as __34 } from "@wordpress/i18n";
|
|
4429
|
+
var InlineStartIcon2 = withDirection10(SideLeftIcon2);
|
|
4430
|
+
var InlineEndIcon2 = withDirection10(SideRightIcon2);
|
|
3997
4431
|
var sideIcons = {
|
|
3998
|
-
"inset-block-start": /* @__PURE__ */
|
|
3999
|
-
"inset-block-end": /* @__PURE__ */
|
|
4000
|
-
"inset-inline-start": /* @__PURE__ */
|
|
4001
|
-
"inset-inline-end": /* @__PURE__ */
|
|
4432
|
+
"inset-block-start": /* @__PURE__ */ React56.createElement(SideTopIcon2, { fontSize: "tiny" }),
|
|
4433
|
+
"inset-block-end": /* @__PURE__ */ React56.createElement(SideBottomIcon2, { fontSize: "tiny" }),
|
|
4434
|
+
"inset-inline-start": /* @__PURE__ */ React56.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
4435
|
+
"inset-inline-end": /* @__PURE__ */ React56.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
4002
4436
|
};
|
|
4003
|
-
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ?
|
|
4004
|
-
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ?
|
|
4437
|
+
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __34("Right", "elementor") : __34("Left", "elementor");
|
|
4438
|
+
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __34("Left", "elementor") : __34("Right", "elementor");
|
|
4005
4439
|
var DimensionsField = () => {
|
|
4006
4440
|
const { isSiteRtl } = useDirection();
|
|
4007
|
-
const rowRefs = [
|
|
4008
|
-
return /* @__PURE__ */
|
|
4441
|
+
const rowRefs = [useRef9(null), useRef9(null)];
|
|
4442
|
+
return /* @__PURE__ */ React56.createElement(UiProviders, null, /* @__PURE__ */ React56.createElement(Stack8, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React56.createElement(DimensionField, { side: "inset-block-start", label: __34("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React56.createElement(
|
|
4009
4443
|
DimensionField,
|
|
4010
4444
|
{
|
|
4011
4445
|
side: "inset-inline-end",
|
|
4012
4446
|
label: getInlineEndLabel(isSiteRtl),
|
|
4013
4447
|
rowRef: rowRefs[0]
|
|
4014
4448
|
}
|
|
4015
|
-
)), /* @__PURE__ */
|
|
4449
|
+
)), /* @__PURE__ */ React56.createElement(Stack8, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React56.createElement(DimensionField, { side: "inset-block-end", label: __34("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React56.createElement(
|
|
4016
4450
|
DimensionField,
|
|
4017
4451
|
{
|
|
4018
4452
|
side: "inset-inline-start",
|
|
@@ -4025,7 +4459,7 @@ var DimensionField = ({
|
|
|
4025
4459
|
side,
|
|
4026
4460
|
label,
|
|
4027
4461
|
rowRef
|
|
4028
|
-
}) => /* @__PURE__ */
|
|
4462
|
+
}) => /* @__PURE__ */ React56.createElement(StylesField, { bind: side, propDisplayName: label }, /* @__PURE__ */ React56.createElement(Grid6, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React56.createElement(Grid6, { item: true, xs: 12 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, label)), /* @__PURE__ */ React56.createElement(Grid6, { item: true, xs: 12 }, /* @__PURE__ */ React56.createElement(
|
|
4029
4463
|
SizeControl4,
|
|
4030
4464
|
{
|
|
4031
4465
|
startIcon: sideIcons[side],
|
|
@@ -4036,103 +4470,88 @@ var DimensionField = ({
|
|
|
4036
4470
|
))));
|
|
4037
4471
|
|
|
4038
4472
|
// src/components/style-sections/position-section/offset-field.tsx
|
|
4039
|
-
import * as
|
|
4040
|
-
import { useRef as
|
|
4473
|
+
import * as React57 from "react";
|
|
4474
|
+
import { useRef as useRef10 } from "react";
|
|
4041
4475
|
import { SizeControl as SizeControl5 } from "@elementor/editor-controls";
|
|
4042
|
-
import { __ as
|
|
4043
|
-
var OFFSET_LABEL =
|
|
4044
|
-
var
|
|
4476
|
+
import { __ as __35 } from "@wordpress/i18n";
|
|
4477
|
+
var OFFSET_LABEL = __35("Anchor offset", "elementor");
|
|
4478
|
+
var UNITS2 = ["px", "em", "rem", "vw", "vh"];
|
|
4045
4479
|
var OffsetField = () => {
|
|
4046
|
-
const rowRef =
|
|
4047
|
-
return /* @__PURE__ */
|
|
4480
|
+
const rowRef = useRef10(null);
|
|
4481
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "scroll-margin-top", propDisplayName: OFFSET_LABEL }, /* @__PURE__ */ React57.createElement(StylesFieldLayout, { label: OFFSET_LABEL, ref: rowRef }, /* @__PURE__ */ React57.createElement(SizeControl5, { units: UNITS2, anchorRef: rowRef })));
|
|
4048
4482
|
};
|
|
4049
4483
|
|
|
4050
4484
|
// src/components/style-sections/position-section/position-field.tsx
|
|
4051
|
-
import * as
|
|
4485
|
+
import * as React58 from "react";
|
|
4052
4486
|
import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
|
|
4053
|
-
import { __ as
|
|
4054
|
-
var POSITION_LABEL =
|
|
4487
|
+
import { __ as __36 } from "@wordpress/i18n";
|
|
4488
|
+
var POSITION_LABEL = __36("Position", "elementor");
|
|
4055
4489
|
var positionOptions = [
|
|
4056
|
-
{ label:
|
|
4057
|
-
{ label:
|
|
4058
|
-
{ label:
|
|
4059
|
-
{ label:
|
|
4060
|
-
{ label:
|
|
4490
|
+
{ label: __36("Static", "elementor"), value: "static" },
|
|
4491
|
+
{ label: __36("Relative", "elementor"), value: "relative" },
|
|
4492
|
+
{ label: __36("Absolute", "elementor"), value: "absolute" },
|
|
4493
|
+
{ label: __36("Fixed", "elementor"), value: "fixed" },
|
|
4494
|
+
{ label: __36("Sticky", "elementor"), value: "sticky" }
|
|
4061
4495
|
];
|
|
4062
|
-
var PositionField = (
|
|
4063
|
-
return /* @__PURE__ */
|
|
4496
|
+
var PositionField = () => {
|
|
4497
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "position", propDisplayName: POSITION_LABEL }, /* @__PURE__ */ React58.createElement(StylesFieldLayout, { label: POSITION_LABEL }, /* @__PURE__ */ React58.createElement(SelectControl3, { options: positionOptions })));
|
|
4064
4498
|
};
|
|
4065
4499
|
|
|
4066
4500
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
4067
|
-
import * as
|
|
4501
|
+
import * as React59 from "react";
|
|
4068
4502
|
import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
|
|
4069
|
-
import {
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4503
|
+
import { InfoCircleFilledIcon } from "@elementor/icons";
|
|
4504
|
+
import { Alert as Alert2, AlertTitle, Box as Box5, Infotip } from "@elementor/ui";
|
|
4505
|
+
import { __ as __37 } from "@wordpress/i18n";
|
|
4506
|
+
var Z_INDEX_LABEL = __37("Z-index", "elementor");
|
|
4507
|
+
var ZIndexField = ({ disabled }) => {
|
|
4508
|
+
const StyleField = /* @__PURE__ */ React59.createElement(StylesField, { bind: "z-index", propDisplayName: Z_INDEX_LABEL }, /* @__PURE__ */ React59.createElement(StylesFieldLayout, { label: Z_INDEX_LABEL }, /* @__PURE__ */ React59.createElement(NumberControl4, { disabled })));
|
|
4509
|
+
const content = /* @__PURE__ */ React59.createElement(Alert2, { color: "secondary", icon: /* @__PURE__ */ React59.createElement(InfoCircleFilledIcon, null), size: "small" }, /* @__PURE__ */ React59.createElement(AlertTitle, null, __37("Z-index", "elementor")), /* @__PURE__ */ React59.createElement(Box5, { component: "span" }, __37(
|
|
4510
|
+
"z-index only works on positioned elements. Change position to relative, absolute, or fixed to enable layering.",
|
|
4511
|
+
"elementor"
|
|
4512
|
+
)));
|
|
4513
|
+
return disabled ? /* @__PURE__ */ React59.createElement(
|
|
4514
|
+
Infotip,
|
|
4515
|
+
{
|
|
4516
|
+
placement: "right",
|
|
4517
|
+
content,
|
|
4518
|
+
color: "secondary",
|
|
4519
|
+
slotProps: { popper: { sx: { width: 300 } } }
|
|
4520
|
+
},
|
|
4521
|
+
/* @__PURE__ */ React59.createElement(Box5, null, StyleField)
|
|
4522
|
+
) : /* @__PURE__ */ React59.createElement(React59.Fragment, null, StyleField);
|
|
4073
4523
|
};
|
|
4074
4524
|
|
|
4075
4525
|
// src/components/style-sections/position-section/position-section.tsx
|
|
4076
4526
|
var POSITION_STATIC = "static";
|
|
4077
|
-
var POSITION_LABEL2 =
|
|
4078
|
-
var DIMENSIONS_LABEL =
|
|
4079
|
-
var
|
|
4527
|
+
var POSITION_LABEL2 = __38("Position", "elementor");
|
|
4528
|
+
var DIMENSIONS_LABEL = __38("Dimensions", "elementor");
|
|
4529
|
+
var DEPENDENT_PROP_NAMES = [
|
|
4080
4530
|
"inset-block-start",
|
|
4081
4531
|
"inset-block-end",
|
|
4082
4532
|
"inset-inline-start",
|
|
4083
4533
|
"inset-inline-end",
|
|
4084
4534
|
"z-index"
|
|
4085
4535
|
];
|
|
4086
|
-
var CLEARED_POSITION_DEPENDENT_VALUES = {
|
|
4087
|
-
"inset-block-start": null,
|
|
4088
|
-
"inset-block-end": null,
|
|
4089
|
-
"inset-inline-start": null,
|
|
4090
|
-
"inset-inline-end": null,
|
|
4091
|
-
"z-index": null
|
|
4092
|
-
};
|
|
4093
4536
|
var PositionSection = () => {
|
|
4094
|
-
const { value:
|
|
4095
|
-
|
|
4096
|
-
});
|
|
4097
|
-
const
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
"inset-block-start": positionDependentValues?.["inset-block-start"],
|
|
4102
|
-
"inset-block-end": positionDependentValues?.["inset-block-end"],
|
|
4103
|
-
"inset-inline-start": positionDependentValues?.["inset-inline-start"],
|
|
4104
|
-
"inset-inline-end": positionDependentValues?.["inset-inline-end"]
|
|
4105
|
-
};
|
|
4106
|
-
const meta = { history: { propDisplayName: DIMENSIONS_LABEL } };
|
|
4107
|
-
const hasValuesToClear = Object.values(dimensions).some((v) => v !== null) || positionDependentValues?.["z-index"] !== null;
|
|
4108
|
-
if (hasValuesToClear) {
|
|
4109
|
-
updateDimensionsHistory(dimensions);
|
|
4110
|
-
setPositionDependentValues(CLEARED_POSITION_DEPENDENT_VALUES, meta);
|
|
4111
|
-
}
|
|
4112
|
-
}, [positionDependentValues, updateDimensionsHistory, setPositionDependentValues]);
|
|
4113
|
-
const clearPositionDependentPropsRef = useRef9(clearPositionDependentProps);
|
|
4114
|
-
clearPositionDependentPropsRef.current = clearPositionDependentProps;
|
|
4115
|
-
useEffect6(() => {
|
|
4116
|
-
if (positionValue?.value === POSITION_STATIC || positionValue === null) {
|
|
4117
|
-
clearPositionDependentPropsRef.current();
|
|
4118
|
-
}
|
|
4119
|
-
}, [positionValue]);
|
|
4120
|
-
const onPositionChange = (newPosition, previousPosition) => {
|
|
4121
|
-
const meta = { history: { propDisplayName: DIMENSIONS_LABEL } };
|
|
4122
|
-
if (newPosition === POSITION_STATIC) {
|
|
4123
|
-
clearPositionDependentProps();
|
|
4124
|
-
} else if (previousPosition === POSITION_STATIC) {
|
|
4125
|
-
if (dimensionsValuesFromHistory) {
|
|
4126
|
-
setPositionDependentValues(
|
|
4127
|
-
{ ...dimensionsValuesFromHistory, "z-index": void 0 },
|
|
4128
|
-
meta
|
|
4129
|
-
);
|
|
4130
|
-
clearDimensionsHistory();
|
|
4131
|
-
}
|
|
4537
|
+
const { value: position } = useStylesField("position", withHistoryLabel(POSITION_LABEL2));
|
|
4538
|
+
const positionPrevRef = useRef11(position);
|
|
4539
|
+
const { values: dependentValues, setValues: setDependentValues } = useStylesFields(DEPENDENT_PROP_NAMES);
|
|
4540
|
+
const [savedDependentValues, saveToHistory, clearHistory] = usePersistDimensions();
|
|
4541
|
+
useEffect7(() => {
|
|
4542
|
+
if (position && position?.value === POSITION_STATIC && hasDependentValues(dependentValues)) {
|
|
4543
|
+
saveToHistory(extractDimensions(dependentValues));
|
|
4132
4544
|
}
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4545
|
+
if (positionPrevRef.current?.value === POSITION_STATIC) {
|
|
4546
|
+
setDependentValues({ ...savedDependentValues }, withHistoryLabel(DIMENSIONS_LABEL));
|
|
4547
|
+
clearHistory();
|
|
4548
|
+
}
|
|
4549
|
+
if ((!position || position?.value === POSITION_STATIC) && dependentValues?.["z-index"]) {
|
|
4550
|
+
setDependentValues({ "z-index": null }, withHistoryLabel(DIMENSIONS_LABEL));
|
|
4551
|
+
}
|
|
4552
|
+
positionPrevRef.current = position;
|
|
4553
|
+
}, [position?.value]);
|
|
4554
|
+
return /* @__PURE__ */ React60.createElement(StyledSectionContent, null, /* @__PURE__ */ React60.createElement(PositionField, null), /* @__PURE__ */ React60.createElement(DimensionsField, null), /* @__PURE__ */ React60.createElement(ZIndexField, { disabled: !position || position?.value === POSITION_STATIC }), /* @__PURE__ */ React60.createElement(PanelDivider, null), /* @__PURE__ */ React60.createElement(OffsetField, null));
|
|
4136
4555
|
};
|
|
4137
4556
|
var usePersistDimensions = () => {
|
|
4138
4557
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -4140,28 +4559,68 @@ var usePersistDimensions = () => {
|
|
|
4140
4559
|
const dimensionsPath = `${styleVariantPath}/dimensions`;
|
|
4141
4560
|
return useSessionStorage4(dimensionsPath);
|
|
4142
4561
|
};
|
|
4562
|
+
var withHistoryLabel = (name) => {
|
|
4563
|
+
return {
|
|
4564
|
+
history: { propDisplayName: name }
|
|
4565
|
+
};
|
|
4566
|
+
};
|
|
4567
|
+
var hasDependentValues = (values) => {
|
|
4568
|
+
if (!values) {
|
|
4569
|
+
return false;
|
|
4570
|
+
}
|
|
4571
|
+
const dimensions = extractDimensions(values);
|
|
4572
|
+
return Object.values(dimensions).some((v) => v !== null);
|
|
4573
|
+
};
|
|
4574
|
+
var extractDimensions = (values) => {
|
|
4575
|
+
return DEPENDENT_PROP_NAMES.reduce((acc, key) => {
|
|
4576
|
+
return {
|
|
4577
|
+
...acc,
|
|
4578
|
+
[key]: values?.[key] ?? null
|
|
4579
|
+
};
|
|
4580
|
+
}, {});
|
|
4581
|
+
};
|
|
4582
|
+
var StyledSectionContent = styled6(SectionContent, {
|
|
4583
|
+
shouldForwardProp: (prop) => prop !== "gap"
|
|
4584
|
+
})(({ gap = 2, theme }) => ({
|
|
4585
|
+
gap: 0,
|
|
4586
|
+
"& > *": {
|
|
4587
|
+
marginBottom: theme.spacing(gap)
|
|
4588
|
+
},
|
|
4589
|
+
"& > *:last-child": {
|
|
4590
|
+
marginBottom: 0
|
|
4591
|
+
},
|
|
4592
|
+
"& > .MuiStack-root": {
|
|
4593
|
+
marginBottom: 0
|
|
4594
|
+
},
|
|
4595
|
+
"& > .MuiStack-root:has(> *)": {
|
|
4596
|
+
marginBottom: theme.spacing(gap)
|
|
4597
|
+
},
|
|
4598
|
+
"& > .MuiDivider-root": {
|
|
4599
|
+
marginBottom: theme.spacing(gap)
|
|
4600
|
+
}
|
|
4601
|
+
}));
|
|
4143
4602
|
|
|
4144
4603
|
// src/components/style-sections/size-section/size-section.tsx
|
|
4145
|
-
import * as
|
|
4146
|
-
import { useRef as
|
|
4604
|
+
import * as React65 from "react";
|
|
4605
|
+
import { useRef as useRef12 } from "react";
|
|
4147
4606
|
import { AspectRatioControl, PositionControl, SizeControl as SizeControl6 } from "@elementor/editor-controls";
|
|
4148
|
-
import { Grid as
|
|
4149
|
-
import { __ as
|
|
4607
|
+
import { Grid as Grid7, Stack as Stack10 } from "@elementor/ui";
|
|
4608
|
+
import { __ as __42 } from "@wordpress/i18n";
|
|
4150
4609
|
|
|
4151
4610
|
// src/components/style-tab-collapsible-content.tsx
|
|
4152
|
-
import * as
|
|
4611
|
+
import * as React62 from "react";
|
|
4153
4612
|
import { CollapsibleContent } from "@elementor/editor-ui";
|
|
4154
4613
|
|
|
4155
4614
|
// src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
|
|
4156
|
-
import * as
|
|
4615
|
+
import * as React61 from "react";
|
|
4157
4616
|
import { isElementsStylesProvider as isElementsStylesProvider6 } from "@elementor/editor-styles-repository";
|
|
4158
|
-
import { Stack as Stack9, Tooltip } from "@elementor/ui";
|
|
4159
|
-
import { __ as
|
|
4617
|
+
import { Stack as Stack9, Tooltip as Tooltip2 } from "@elementor/ui";
|
|
4618
|
+
import { __ as __39 } from "@wordpress/i18n";
|
|
4160
4619
|
var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
4161
4620
|
const { id, meta, provider } = useStyle();
|
|
4162
4621
|
const snapshot = useStylesInheritanceSnapshot();
|
|
4163
4622
|
if (fields.includes("custom_css")) {
|
|
4164
|
-
return /* @__PURE__ */
|
|
4623
|
+
return /* @__PURE__ */ React61.createElement(CustomCssIndicator, null);
|
|
4165
4624
|
}
|
|
4166
4625
|
const snapshotFields = Object.fromEntries(
|
|
4167
4626
|
Object.entries(snapshot ?? {}).filter(([key]) => fields.includes(key))
|
|
@@ -4170,9 +4629,9 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
|
4170
4629
|
if (!hasValues && !hasOverrides) {
|
|
4171
4630
|
return null;
|
|
4172
4631
|
}
|
|
4173
|
-
const hasValueLabel =
|
|
4174
|
-
const hasOverridesLabel =
|
|
4175
|
-
return /* @__PURE__ */
|
|
4632
|
+
const hasValueLabel = __39("Has effective styles", "elementor");
|
|
4633
|
+
const hasOverridesLabel = __39("Has overridden styles", "elementor");
|
|
4634
|
+
return /* @__PURE__ */ React61.createElement(Tooltip2, { title: __39("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React61.createElement(Stack9, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React61.createElement(
|
|
4176
4635
|
StyleIndicator,
|
|
4177
4636
|
{
|
|
4178
4637
|
getColor: getStylesProviderThemeColor(provider.getKey()),
|
|
@@ -4180,7 +4639,7 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
|
4180
4639
|
role: "listitem",
|
|
4181
4640
|
"aria-label": hasValueLabel
|
|
4182
4641
|
}
|
|
4183
|
-
), hasOverrides && /* @__PURE__ */
|
|
4642
|
+
), hasOverrides && /* @__PURE__ */ React61.createElement(
|
|
4184
4643
|
StyleIndicator,
|
|
4185
4644
|
{
|
|
4186
4645
|
isOverridden: true,
|
|
@@ -4220,59 +4679,59 @@ function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
|
4220
4679
|
|
|
4221
4680
|
// src/components/style-tab-collapsible-content.tsx
|
|
4222
4681
|
var StyleTabCollapsibleContent = ({ fields = [], children }) => {
|
|
4223
|
-
return /* @__PURE__ */
|
|
4682
|
+
return /* @__PURE__ */ React62.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
|
|
4224
4683
|
};
|
|
4225
4684
|
function getStylesInheritanceIndicators(fields) {
|
|
4226
4685
|
if (fields.length === 0) {
|
|
4227
4686
|
return null;
|
|
4228
4687
|
}
|
|
4229
|
-
return (isOpen) => !isOpen ? /* @__PURE__ */
|
|
4688
|
+
return (isOpen) => !isOpen ? /* @__PURE__ */ React62.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
|
|
4230
4689
|
}
|
|
4231
4690
|
|
|
4232
4691
|
// src/components/style-sections/size-section/object-fit-field.tsx
|
|
4233
|
-
import * as
|
|
4692
|
+
import * as React63 from "react";
|
|
4234
4693
|
import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
|
|
4235
|
-
import { __ as
|
|
4236
|
-
var OBJECT_FIT_LABEL =
|
|
4694
|
+
import { __ as __40 } from "@wordpress/i18n";
|
|
4695
|
+
var OBJECT_FIT_LABEL = __40("Object fit", "elementor");
|
|
4237
4696
|
var positionOptions2 = [
|
|
4238
|
-
{ label:
|
|
4239
|
-
{ label:
|
|
4240
|
-
{ label:
|
|
4241
|
-
{ label:
|
|
4242
|
-
{ label:
|
|
4697
|
+
{ label: __40("Fill", "elementor"), value: "fill" },
|
|
4698
|
+
{ label: __40("Cover", "elementor"), value: "cover" },
|
|
4699
|
+
{ label: __40("Contain", "elementor"), value: "contain" },
|
|
4700
|
+
{ label: __40("None", "elementor"), value: "none" },
|
|
4701
|
+
{ label: __40("Scale down", "elementor"), value: "scale-down" }
|
|
4243
4702
|
];
|
|
4244
4703
|
var ObjectFitField = () => {
|
|
4245
|
-
return /* @__PURE__ */
|
|
4704
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "object-fit", propDisplayName: OBJECT_FIT_LABEL }, /* @__PURE__ */ React63.createElement(StylesFieldLayout, { label: OBJECT_FIT_LABEL }, /* @__PURE__ */ React63.createElement(SelectControl4, { options: positionOptions2 })));
|
|
4246
4705
|
};
|
|
4247
4706
|
|
|
4248
4707
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
4249
|
-
import * as
|
|
4250
|
-
import { ToggleControl as
|
|
4708
|
+
import * as React64 from "react";
|
|
4709
|
+
import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
|
|
4251
4710
|
import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
|
|
4252
|
-
import { __ as
|
|
4253
|
-
var OVERFLOW_LABEL =
|
|
4254
|
-
var
|
|
4711
|
+
import { __ as __41 } from "@wordpress/i18n";
|
|
4712
|
+
var OVERFLOW_LABEL = __41("Overflow", "elementor");
|
|
4713
|
+
var options7 = [
|
|
4255
4714
|
{
|
|
4256
4715
|
value: "visible",
|
|
4257
|
-
label:
|
|
4258
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4716
|
+
label: __41("Visible", "elementor"),
|
|
4717
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeIcon, { fontSize: size }),
|
|
4259
4718
|
showTooltip: true
|
|
4260
4719
|
},
|
|
4261
4720
|
{
|
|
4262
4721
|
value: "hidden",
|
|
4263
|
-
label:
|
|
4264
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4722
|
+
label: __41("Hidden", "elementor"),
|
|
4723
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeOffIcon, { fontSize: size }),
|
|
4265
4724
|
showTooltip: true
|
|
4266
4725
|
},
|
|
4267
4726
|
{
|
|
4268
4727
|
value: "auto",
|
|
4269
|
-
label:
|
|
4270
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4728
|
+
label: __41("Auto", "elementor"),
|
|
4729
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(LetterAIcon, { fontSize: size }),
|
|
4271
4730
|
showTooltip: true
|
|
4272
4731
|
}
|
|
4273
4732
|
];
|
|
4274
4733
|
var OverflowField = () => {
|
|
4275
|
-
return /* @__PURE__ */
|
|
4734
|
+
return /* @__PURE__ */ React64.createElement(StylesField, { bind: "overflow", propDisplayName: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(StylesFieldLayout, { label: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(ToggleControl11, { options: options7 })));
|
|
4276
4735
|
};
|
|
4277
4736
|
|
|
4278
4737
|
// src/components/style-sections/size-section/size-section.tsx
|
|
@@ -4280,97 +4739,97 @@ var CssSizeProps = [
|
|
|
4280
4739
|
[
|
|
4281
4740
|
{
|
|
4282
4741
|
bind: "width",
|
|
4283
|
-
label:
|
|
4742
|
+
label: __42("Width", "elementor")
|
|
4284
4743
|
},
|
|
4285
4744
|
{
|
|
4286
4745
|
bind: "height",
|
|
4287
|
-
label:
|
|
4746
|
+
label: __42("Height", "elementor")
|
|
4288
4747
|
}
|
|
4289
4748
|
],
|
|
4290
4749
|
[
|
|
4291
4750
|
{
|
|
4292
4751
|
bind: "min-width",
|
|
4293
|
-
label:
|
|
4752
|
+
label: __42("Min width", "elementor")
|
|
4294
4753
|
},
|
|
4295
4754
|
{
|
|
4296
4755
|
bind: "min-height",
|
|
4297
|
-
label:
|
|
4756
|
+
label: __42("Min height", "elementor")
|
|
4298
4757
|
}
|
|
4299
4758
|
],
|
|
4300
4759
|
[
|
|
4301
4760
|
{
|
|
4302
4761
|
bind: "max-width",
|
|
4303
|
-
label:
|
|
4762
|
+
label: __42("Max width", "elementor")
|
|
4304
4763
|
},
|
|
4305
4764
|
{
|
|
4306
4765
|
bind: "max-height",
|
|
4307
|
-
label:
|
|
4766
|
+
label: __42("Max height", "elementor")
|
|
4308
4767
|
}
|
|
4309
4768
|
]
|
|
4310
4769
|
];
|
|
4311
|
-
var ASPECT_RATIO_LABEL =
|
|
4770
|
+
var ASPECT_RATIO_LABEL = __42("Aspect Ratio", "elementor");
|
|
4312
4771
|
var SizeSection = () => {
|
|
4313
|
-
const gridRowRefs = [
|
|
4314
|
-
return /* @__PURE__ */
|
|
4772
|
+
const gridRowRefs = [useRef12(null), useRef12(null), useRef12(null)];
|
|
4773
|
+
return /* @__PURE__ */ React65.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React65.createElement(Grid7, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React65.createElement(Grid7, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React65.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(Stack10, null, /* @__PURE__ */ React65.createElement(OverflowField, null)), /* @__PURE__ */ React65.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React65.createElement(Stack10, { gap: 2, pt: 2 }, /* @__PURE__ */ React65.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React65.createElement(AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(ObjectFitField, null), /* @__PURE__ */ React65.createElement(StylesField, { bind: "object-position", propDisplayName: __42("Object position", "elementor") }, /* @__PURE__ */ React65.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(PositionControl, null))))));
|
|
4315
4774
|
};
|
|
4316
4775
|
var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
|
|
4317
|
-
return /* @__PURE__ */
|
|
4776
|
+
return /* @__PURE__ */ React65.createElement(StylesField, { bind, propDisplayName: label }, /* @__PURE__ */ React65.createElement(Grid7, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React65.createElement(Grid7, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, label)), /* @__PURE__ */ React65.createElement(Grid7, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(SizeControl6, { extendedOptions, anchorRef: rowRef }))));
|
|
4318
4777
|
};
|
|
4319
4778
|
|
|
4320
4779
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
4321
|
-
import * as
|
|
4780
|
+
import * as React66 from "react";
|
|
4322
4781
|
import { LinkedDimensionsControl } from "@elementor/editor-controls";
|
|
4323
|
-
import { __ as
|
|
4324
|
-
var MARGIN_LABEL =
|
|
4325
|
-
var PADDING_LABEL =
|
|
4782
|
+
import { __ as __43 } from "@wordpress/i18n";
|
|
4783
|
+
var MARGIN_LABEL = __43("Margin", "elementor");
|
|
4784
|
+
var PADDING_LABEL = __43("Padding", "elementor");
|
|
4326
4785
|
var SpacingSection = () => {
|
|
4327
4786
|
const { isSiteRtl } = useDirection();
|
|
4328
|
-
return /* @__PURE__ */
|
|
4787
|
+
return /* @__PURE__ */ React66.createElement(SectionContent, null, /* @__PURE__ */ React66.createElement(StylesField, { bind: "margin", propDisplayName: MARGIN_LABEL }, /* @__PURE__ */ React66.createElement(
|
|
4329
4788
|
LinkedDimensionsControl,
|
|
4330
4789
|
{
|
|
4331
4790
|
label: MARGIN_LABEL,
|
|
4332
4791
|
isSiteRtl,
|
|
4333
4792
|
min: -Number.MAX_SAFE_INTEGER
|
|
4334
4793
|
}
|
|
4335
|
-
)), /* @__PURE__ */
|
|
4794
|
+
)), /* @__PURE__ */ React66.createElement(PanelDivider, null), /* @__PURE__ */ React66.createElement(StylesField, { bind: "padding", propDisplayName: PADDING_LABEL }, /* @__PURE__ */ React66.createElement(LinkedDimensionsControl, { label: PADDING_LABEL, isSiteRtl })));
|
|
4336
4795
|
};
|
|
4337
4796
|
|
|
4338
4797
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
4339
|
-
import * as
|
|
4798
|
+
import * as React83 from "react";
|
|
4340
4799
|
|
|
4341
4800
|
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
4342
|
-
import * as
|
|
4801
|
+
import * as React67 from "react";
|
|
4343
4802
|
import { NumberControl as NumberControl5 } from "@elementor/editor-controls";
|
|
4344
|
-
import { __ as
|
|
4345
|
-
var COLUMN_COUNT_LABEL =
|
|
4803
|
+
import { __ as __44 } from "@wordpress/i18n";
|
|
4804
|
+
var COLUMN_COUNT_LABEL = __44("Columns", "elementor");
|
|
4346
4805
|
var ColumnCountField = () => {
|
|
4347
|
-
return /* @__PURE__ */
|
|
4806
|
+
return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-count", propDisplayName: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(NumberControl5, { shouldForceInt: true, min: 0, step: 1 })));
|
|
4348
4807
|
};
|
|
4349
4808
|
|
|
4350
4809
|
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
4351
|
-
import * as
|
|
4352
|
-
import { useRef as
|
|
4810
|
+
import * as React68 from "react";
|
|
4811
|
+
import { useRef as useRef13 } from "react";
|
|
4353
4812
|
import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
|
|
4354
|
-
import { __ as
|
|
4355
|
-
var COLUMN_GAP_LABEL =
|
|
4813
|
+
import { __ as __45 } from "@wordpress/i18n";
|
|
4814
|
+
var COLUMN_GAP_LABEL = __45("Column gap", "elementor");
|
|
4356
4815
|
var ColumnGapField = () => {
|
|
4357
|
-
const rowRef =
|
|
4358
|
-
return /* @__PURE__ */
|
|
4816
|
+
const rowRef = useRef13(null);
|
|
4817
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(SizeControl7, { anchorRef: rowRef })));
|
|
4359
4818
|
};
|
|
4360
4819
|
|
|
4361
4820
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
4362
|
-
import * as
|
|
4821
|
+
import * as React69 from "react";
|
|
4363
4822
|
import { FontFamilyControl, useFontFamilies } from "@elementor/editor-controls";
|
|
4364
4823
|
import { useSectionWidth } from "@elementor/editor-ui";
|
|
4365
|
-
import { __ as
|
|
4366
|
-
var FONT_FAMILY_LABEL =
|
|
4824
|
+
import { __ as __46 } from "@wordpress/i18n";
|
|
4825
|
+
var FONT_FAMILY_LABEL = __46("Font family", "elementor");
|
|
4367
4826
|
var FontFamilyField = () => {
|
|
4368
4827
|
const fontFamilies = useFontFamilies();
|
|
4369
4828
|
const sectionWidth = useSectionWidth();
|
|
4370
4829
|
if (fontFamilies.length === 0) {
|
|
4371
4830
|
return null;
|
|
4372
4831
|
}
|
|
4373
|
-
return /* @__PURE__ */
|
|
4832
|
+
return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-family", propDisplayName: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(StylesFieldLayout, { label: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(
|
|
4374
4833
|
FontFamilyControl,
|
|
4375
4834
|
{
|
|
4376
4835
|
fontFamilies,
|
|
@@ -4381,196 +4840,196 @@ var FontFamilyField = () => {
|
|
|
4381
4840
|
};
|
|
4382
4841
|
|
|
4383
4842
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
4384
|
-
import * as
|
|
4385
|
-
import { useRef as
|
|
4843
|
+
import * as React70 from "react";
|
|
4844
|
+
import { useRef as useRef14 } from "react";
|
|
4386
4845
|
import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
|
|
4387
|
-
import { __ as
|
|
4388
|
-
var FONT_SIZE_LABEL =
|
|
4846
|
+
import { __ as __47 } from "@wordpress/i18n";
|
|
4847
|
+
var FONT_SIZE_LABEL = __47("Font size", "elementor");
|
|
4389
4848
|
var FontSizeField = () => {
|
|
4390
|
-
const rowRef =
|
|
4391
|
-
return /* @__PURE__ */
|
|
4849
|
+
const rowRef = useRef14(null);
|
|
4850
|
+
return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React70.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React70.createElement(SizeControl8, { anchorRef: rowRef, ariaLabel: FONT_SIZE_LABEL })));
|
|
4392
4851
|
};
|
|
4393
4852
|
|
|
4394
4853
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
4395
|
-
import * as
|
|
4396
|
-
import { ToggleControl as
|
|
4854
|
+
import * as React71 from "react";
|
|
4855
|
+
import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
|
|
4397
4856
|
import { ItalicIcon, MinusIcon } from "@elementor/icons";
|
|
4398
|
-
import { __ as
|
|
4399
|
-
var FONT_STYLE_LABEL =
|
|
4400
|
-
var
|
|
4857
|
+
import { __ as __48 } from "@wordpress/i18n";
|
|
4858
|
+
var FONT_STYLE_LABEL = __48("Font style", "elementor");
|
|
4859
|
+
var options8 = [
|
|
4401
4860
|
{
|
|
4402
4861
|
value: "normal",
|
|
4403
|
-
label:
|
|
4404
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4862
|
+
label: __48("Normal", "elementor"),
|
|
4863
|
+
renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(MinusIcon, { fontSize: size }),
|
|
4405
4864
|
showTooltip: true
|
|
4406
4865
|
},
|
|
4407
4866
|
{
|
|
4408
4867
|
value: "italic",
|
|
4409
|
-
label:
|
|
4410
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4868
|
+
label: __48("Italic", "elementor"),
|
|
4869
|
+
renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(ItalicIcon, { fontSize: size }),
|
|
4411
4870
|
showTooltip: true
|
|
4412
4871
|
}
|
|
4413
4872
|
];
|
|
4414
4873
|
var FontStyleField = () => {
|
|
4415
|
-
return /* @__PURE__ */
|
|
4874
|
+
return /* @__PURE__ */ React71.createElement(StylesField, { bind: "font-style", propDisplayName: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(StylesFieldLayout, { label: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(ToggleControl12, { options: options8 })));
|
|
4416
4875
|
};
|
|
4417
4876
|
|
|
4418
4877
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
4419
|
-
import * as
|
|
4878
|
+
import * as React72 from "react";
|
|
4420
4879
|
import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
|
|
4421
|
-
import { __ as
|
|
4422
|
-
var FONT_WEIGHT_LABEL =
|
|
4880
|
+
import { __ as __49 } from "@wordpress/i18n";
|
|
4881
|
+
var FONT_WEIGHT_LABEL = __49("Font weight", "elementor");
|
|
4423
4882
|
var fontWeightOptions = [
|
|
4424
|
-
{ value: "100", label:
|
|
4425
|
-
{ value: "200", label:
|
|
4426
|
-
{ value: "300", label:
|
|
4427
|
-
{ value: "400", label:
|
|
4428
|
-
{ value: "500", label:
|
|
4429
|
-
{ value: "600", label:
|
|
4430
|
-
{ value: "700", label:
|
|
4431
|
-
{ value: "800", label:
|
|
4432
|
-
{ value: "900", label:
|
|
4883
|
+
{ value: "100", label: __49("100 - Thin", "elementor") },
|
|
4884
|
+
{ value: "200", label: __49("200 - Extra light", "elementor") },
|
|
4885
|
+
{ value: "300", label: __49("300 - Light", "elementor") },
|
|
4886
|
+
{ value: "400", label: __49("400 - Normal", "elementor") },
|
|
4887
|
+
{ value: "500", label: __49("500 - Medium", "elementor") },
|
|
4888
|
+
{ value: "600", label: __49("600 - Semi bold", "elementor") },
|
|
4889
|
+
{ value: "700", label: __49("700 - Bold", "elementor") },
|
|
4890
|
+
{ value: "800", label: __49("800 - Extra bold", "elementor") },
|
|
4891
|
+
{ value: "900", label: __49("900 - Black", "elementor") }
|
|
4433
4892
|
];
|
|
4434
4893
|
var FontWeightField = () => {
|
|
4435
|
-
return /* @__PURE__ */
|
|
4894
|
+
return /* @__PURE__ */ React72.createElement(StylesField, { bind: "font-weight", propDisplayName: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(StylesFieldLayout, { label: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(SelectControl5, { options: fontWeightOptions })));
|
|
4436
4895
|
};
|
|
4437
4896
|
|
|
4438
4897
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
4439
|
-
import * as
|
|
4440
|
-
import { useRef as
|
|
4898
|
+
import * as React73 from "react";
|
|
4899
|
+
import { useRef as useRef15 } from "react";
|
|
4441
4900
|
import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
|
|
4442
|
-
import { __ as
|
|
4443
|
-
var LETTER_SPACING_LABEL =
|
|
4901
|
+
import { __ as __50 } from "@wordpress/i18n";
|
|
4902
|
+
var LETTER_SPACING_LABEL = __50("Letter spacing", "elementor");
|
|
4444
4903
|
var LetterSpacingField = () => {
|
|
4445
|
-
const rowRef =
|
|
4446
|
-
return /* @__PURE__ */
|
|
4904
|
+
const rowRef = useRef15(null);
|
|
4905
|
+
return /* @__PURE__ */ React73.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React73.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React73.createElement(SizeControl9, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
|
|
4447
4906
|
};
|
|
4448
4907
|
|
|
4449
4908
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
4450
|
-
import * as
|
|
4451
|
-
import { useRef as
|
|
4909
|
+
import * as React74 from "react";
|
|
4910
|
+
import { useRef as useRef16 } from "react";
|
|
4452
4911
|
import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
|
|
4453
|
-
import { __ as
|
|
4454
|
-
var LINE_HEIGHT_LABEL =
|
|
4912
|
+
import { __ as __51 } from "@wordpress/i18n";
|
|
4913
|
+
var LINE_HEIGHT_LABEL = __51("Line height", "elementor");
|
|
4455
4914
|
var LineHeightField = () => {
|
|
4456
|
-
const rowRef =
|
|
4457
|
-
return /* @__PURE__ */
|
|
4915
|
+
const rowRef = useRef16(null);
|
|
4916
|
+
return /* @__PURE__ */ React74.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React74.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React74.createElement(SizeControl10, { anchorRef: rowRef })));
|
|
4458
4917
|
};
|
|
4459
4918
|
|
|
4460
4919
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
4461
|
-
import * as
|
|
4462
|
-
import { ToggleControl as
|
|
4920
|
+
import * as React75 from "react";
|
|
4921
|
+
import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
|
|
4463
4922
|
import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
|
|
4464
|
-
import { withDirection as
|
|
4465
|
-
import { __ as
|
|
4466
|
-
var TEXT_ALIGNMENT_LABEL =
|
|
4467
|
-
var AlignStartIcon =
|
|
4468
|
-
var AlignEndIcon =
|
|
4469
|
-
var
|
|
4923
|
+
import { withDirection as withDirection11 } from "@elementor/ui";
|
|
4924
|
+
import { __ as __52 } from "@wordpress/i18n";
|
|
4925
|
+
var TEXT_ALIGNMENT_LABEL = __52("Text align", "elementor");
|
|
4926
|
+
var AlignStartIcon = withDirection11(AlignLeftIcon);
|
|
4927
|
+
var AlignEndIcon = withDirection11(AlignRightIcon);
|
|
4928
|
+
var options9 = [
|
|
4470
4929
|
{
|
|
4471
4930
|
value: "start",
|
|
4472
|
-
label:
|
|
4473
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4931
|
+
label: __52("Start", "elementor"),
|
|
4932
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignStartIcon, { fontSize: size }),
|
|
4474
4933
|
showTooltip: true
|
|
4475
4934
|
},
|
|
4476
4935
|
{
|
|
4477
4936
|
value: "center",
|
|
4478
|
-
label:
|
|
4479
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4937
|
+
label: __52("Center", "elementor"),
|
|
4938
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignCenterIcon, { fontSize: size }),
|
|
4480
4939
|
showTooltip: true
|
|
4481
4940
|
},
|
|
4482
4941
|
{
|
|
4483
4942
|
value: "end",
|
|
4484
|
-
label:
|
|
4485
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4943
|
+
label: __52("End", "elementor"),
|
|
4944
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignEndIcon, { fontSize: size }),
|
|
4486
4945
|
showTooltip: true
|
|
4487
4946
|
},
|
|
4488
4947
|
{
|
|
4489
4948
|
value: "justify",
|
|
4490
|
-
label:
|
|
4491
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4949
|
+
label: __52("Justify", "elementor"),
|
|
4950
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignJustifiedIcon, { fontSize: size }),
|
|
4492
4951
|
showTooltip: true
|
|
4493
4952
|
}
|
|
4494
4953
|
];
|
|
4495
4954
|
var TextAlignmentField = () => {
|
|
4496
|
-
return /* @__PURE__ */
|
|
4955
|
+
return /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-align", propDisplayName: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(UiProviders, null, /* @__PURE__ */ React75.createElement(StylesFieldLayout, { label: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(ToggleControl13, { options: options9 }))));
|
|
4497
4956
|
};
|
|
4498
4957
|
|
|
4499
4958
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
4500
|
-
import * as
|
|
4959
|
+
import * as React76 from "react";
|
|
4501
4960
|
import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
|
|
4502
|
-
import { __ as
|
|
4503
|
-
var TEXT_COLOR_LABEL =
|
|
4961
|
+
import { __ as __53 } from "@wordpress/i18n";
|
|
4962
|
+
var TEXT_COLOR_LABEL = __53("Text color", "elementor");
|
|
4504
4963
|
var TextColorField = () => {
|
|
4505
|
-
return /* @__PURE__ */
|
|
4964
|
+
return /* @__PURE__ */ React76.createElement(StylesField, { bind: "color", propDisplayName: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(ColorControl2, { id: "text-color-control" })));
|
|
4506
4965
|
};
|
|
4507
4966
|
|
|
4508
4967
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
4509
|
-
import * as
|
|
4510
|
-
import { ToggleControl as
|
|
4968
|
+
import * as React77 from "react";
|
|
4969
|
+
import { ToggleControl as ToggleControl14 } from "@elementor/editor-controls";
|
|
4511
4970
|
import { MinusIcon as MinusIcon2, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
|
|
4512
|
-
import { __ as
|
|
4513
|
-
var TEXT_DECORATION_LABEL =
|
|
4514
|
-
var
|
|
4971
|
+
import { __ as __54 } from "@wordpress/i18n";
|
|
4972
|
+
var TEXT_DECORATION_LABEL = __54("Line decoration", "elementor");
|
|
4973
|
+
var options10 = [
|
|
4515
4974
|
{
|
|
4516
4975
|
value: "none",
|
|
4517
|
-
label:
|
|
4518
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4976
|
+
label: __54("None", "elementor"),
|
|
4977
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(MinusIcon2, { fontSize: size }),
|
|
4519
4978
|
showTooltip: true,
|
|
4520
4979
|
exclusive: true
|
|
4521
4980
|
},
|
|
4522
4981
|
{
|
|
4523
4982
|
value: "underline",
|
|
4524
|
-
label:
|
|
4525
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4983
|
+
label: __54("Underline", "elementor"),
|
|
4984
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(UnderlineIcon, { fontSize: size }),
|
|
4526
4985
|
showTooltip: true
|
|
4527
4986
|
},
|
|
4528
4987
|
{
|
|
4529
4988
|
value: "line-through",
|
|
4530
|
-
label:
|
|
4531
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4989
|
+
label: __54("Line-through", "elementor"),
|
|
4990
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(StrikethroughIcon, { fontSize: size }),
|
|
4532
4991
|
showTooltip: true
|
|
4533
4992
|
},
|
|
4534
4993
|
{
|
|
4535
4994
|
value: "overline",
|
|
4536
|
-
label:
|
|
4537
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4995
|
+
label: __54("Overline", "elementor"),
|
|
4996
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(OverlineIcon, { fontSize: size }),
|
|
4538
4997
|
showTooltip: true
|
|
4539
4998
|
}
|
|
4540
4999
|
];
|
|
4541
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
5000
|
+
var TextDecorationField = () => /* @__PURE__ */ React77.createElement(StylesField, { bind: "text-decoration", propDisplayName: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(StylesFieldLayout, { label: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(ToggleControl14, { options: options10, exclusive: false })));
|
|
4542
5001
|
|
|
4543
5002
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
4544
|
-
import * as
|
|
4545
|
-
import { ToggleControl as
|
|
5003
|
+
import * as React78 from "react";
|
|
5004
|
+
import { ToggleControl as ToggleControl15 } from "@elementor/editor-controls";
|
|
4546
5005
|
import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
|
|
4547
|
-
import { __ as
|
|
4548
|
-
var TEXT_DIRECTION_LABEL =
|
|
4549
|
-
var
|
|
5006
|
+
import { __ as __55 } from "@wordpress/i18n";
|
|
5007
|
+
var TEXT_DIRECTION_LABEL = __55("Direction", "elementor");
|
|
5008
|
+
var options11 = [
|
|
4550
5009
|
{
|
|
4551
5010
|
value: "ltr",
|
|
4552
|
-
label:
|
|
4553
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5011
|
+
label: __55("Left to right", "elementor"),
|
|
5012
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionLtrIcon, { fontSize: size }),
|
|
4554
5013
|
showTooltip: true
|
|
4555
5014
|
},
|
|
4556
5015
|
{
|
|
4557
5016
|
value: "rtl",
|
|
4558
|
-
label:
|
|
4559
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5017
|
+
label: __55("Right to left", "elementor"),
|
|
5018
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionRtlIcon, { fontSize: size }),
|
|
4560
5019
|
showTooltip: true
|
|
4561
5020
|
}
|
|
4562
5021
|
];
|
|
4563
5022
|
var TextDirectionField = () => {
|
|
4564
|
-
return /* @__PURE__ */
|
|
5023
|
+
return /* @__PURE__ */ React78.createElement(StylesField, { bind: "direction", propDisplayName: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(StylesFieldLayout, { label: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(ToggleControl15, { options: options11 })));
|
|
4565
5024
|
};
|
|
4566
5025
|
|
|
4567
5026
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
4568
|
-
import * as
|
|
5027
|
+
import * as React80 from "react";
|
|
4569
5028
|
import { StrokeControl } from "@elementor/editor-controls";
|
|
4570
|
-
import { __ as
|
|
5029
|
+
import { __ as __56 } from "@wordpress/i18n";
|
|
4571
5030
|
|
|
4572
5031
|
// src/components/add-or-remove-content.tsx
|
|
4573
|
-
import * as
|
|
5032
|
+
import * as React79 from "react";
|
|
4574
5033
|
import { MinusIcon as MinusIcon3, PlusIcon } from "@elementor/icons";
|
|
4575
5034
|
import { Collapse as Collapse2, IconButton, Stack as Stack11 } from "@elementor/ui";
|
|
4576
5035
|
var SIZE = "tiny";
|
|
@@ -4582,7 +5041,7 @@ var AddOrRemoveContent = ({
|
|
|
4582
5041
|
disabled,
|
|
4583
5042
|
renderLabel
|
|
4584
5043
|
}) => {
|
|
4585
|
-
return /* @__PURE__ */
|
|
5044
|
+
return /* @__PURE__ */ React79.createElement(SectionContent, null, /* @__PURE__ */ React79.createElement(
|
|
4586
5045
|
Stack11,
|
|
4587
5046
|
{
|
|
4588
5047
|
direction: "row",
|
|
@@ -4593,8 +5052,8 @@ var AddOrRemoveContent = ({
|
|
|
4593
5052
|
}
|
|
4594
5053
|
},
|
|
4595
5054
|
renderLabel(),
|
|
4596
|
-
isAdded ? /* @__PURE__ */
|
|
4597
|
-
), /* @__PURE__ */
|
|
5055
|
+
isAdded ? /* @__PURE__ */ React79.createElement(IconButton, { size: SIZE, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React79.createElement(MinusIcon3, { fontSize: SIZE })) : /* @__PURE__ */ React79.createElement(IconButton, { size: SIZE, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React79.createElement(PlusIcon, { fontSize: SIZE }))
|
|
5056
|
+
), /* @__PURE__ */ React79.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React79.createElement(SectionContent, null, children)));
|
|
4598
5057
|
};
|
|
4599
5058
|
|
|
4600
5059
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
@@ -4614,7 +5073,7 @@ var initTextStroke = {
|
|
|
4614
5073
|
}
|
|
4615
5074
|
}
|
|
4616
5075
|
};
|
|
4617
|
-
var TEXT_STROKE_LABEL =
|
|
5076
|
+
var TEXT_STROKE_LABEL = __56("Text stroke", "elementor");
|
|
4618
5077
|
var TextStrokeField = () => {
|
|
4619
5078
|
const { value, setValue, canEdit } = useStylesField("stroke", {
|
|
4620
5079
|
history: { propDisplayName: TEXT_STROKE_LABEL }
|
|
@@ -4626,67 +5085,67 @@ var TextStrokeField = () => {
|
|
|
4626
5085
|
setValue(null);
|
|
4627
5086
|
};
|
|
4628
5087
|
const hasTextStroke = Boolean(value);
|
|
4629
|
-
return /* @__PURE__ */
|
|
5088
|
+
return /* @__PURE__ */ React80.createElement(StylesField, { bind: "stroke", propDisplayName: TEXT_STROKE_LABEL }, /* @__PURE__ */ React80.createElement(
|
|
4630
5089
|
AddOrRemoveContent,
|
|
4631
5090
|
{
|
|
4632
5091
|
isAdded: hasTextStroke,
|
|
4633
5092
|
onAdd: addTextStroke,
|
|
4634
5093
|
onRemove: removeTextStroke,
|
|
4635
5094
|
disabled: !canEdit,
|
|
4636
|
-
renderLabel: () => /* @__PURE__ */
|
|
5095
|
+
renderLabel: () => /* @__PURE__ */ React80.createElement(ControlLabel, null, TEXT_STROKE_LABEL)
|
|
4637
5096
|
},
|
|
4638
|
-
/* @__PURE__ */
|
|
5097
|
+
/* @__PURE__ */ React80.createElement(StrokeControl, null)
|
|
4639
5098
|
));
|
|
4640
5099
|
};
|
|
4641
5100
|
|
|
4642
5101
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
4643
|
-
import * as
|
|
4644
|
-
import { ToggleControl as
|
|
5102
|
+
import * as React81 from "react";
|
|
5103
|
+
import { ToggleControl as ToggleControl16 } from "@elementor/editor-controls";
|
|
4645
5104
|
import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
|
|
4646
|
-
import { __ as
|
|
4647
|
-
var TEXT_TRANSFORM_LABEL =
|
|
4648
|
-
var
|
|
5105
|
+
import { __ as __57 } from "@wordpress/i18n";
|
|
5106
|
+
var TEXT_TRANSFORM_LABEL = __57("Text transform", "elementor");
|
|
5107
|
+
var options12 = [
|
|
4649
5108
|
{
|
|
4650
5109
|
value: "none",
|
|
4651
|
-
label:
|
|
4652
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5110
|
+
label: __57("None", "elementor"),
|
|
5111
|
+
renderContent: ({ size }) => /* @__PURE__ */ React81.createElement(MinusIcon4, { fontSize: size }),
|
|
4653
5112
|
showTooltip: true
|
|
4654
5113
|
},
|
|
4655
5114
|
{
|
|
4656
5115
|
value: "capitalize",
|
|
4657
|
-
label:
|
|
4658
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5116
|
+
label: __57("Capitalize", "elementor"),
|
|
5117
|
+
renderContent: ({ size }) => /* @__PURE__ */ React81.createElement(LetterCaseIcon, { fontSize: size }),
|
|
4659
5118
|
showTooltip: true
|
|
4660
5119
|
},
|
|
4661
5120
|
{
|
|
4662
5121
|
value: "uppercase",
|
|
4663
|
-
label:
|
|
4664
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5122
|
+
label: __57("Uppercase", "elementor"),
|
|
5123
|
+
renderContent: ({ size }) => /* @__PURE__ */ React81.createElement(LetterCaseUpperIcon, { fontSize: size }),
|
|
4665
5124
|
showTooltip: true
|
|
4666
5125
|
},
|
|
4667
5126
|
{
|
|
4668
5127
|
value: "lowercase",
|
|
4669
|
-
label:
|
|
4670
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
5128
|
+
label: __57("Lowercase", "elementor"),
|
|
5129
|
+
renderContent: ({ size }) => /* @__PURE__ */ React81.createElement(LetterCaseLowerIcon, { fontSize: size }),
|
|
4671
5130
|
showTooltip: true
|
|
4672
5131
|
}
|
|
4673
5132
|
];
|
|
4674
|
-
var TransformField = () => /* @__PURE__ */
|
|
5133
|
+
var TransformField = () => /* @__PURE__ */ React81.createElement(StylesField, { bind: "text-transform", propDisplayName: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React81.createElement(StylesFieldLayout, { label: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React81.createElement(ToggleControl16, { options: options12 })));
|
|
4675
5134
|
|
|
4676
5135
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
4677
|
-
import * as
|
|
4678
|
-
import { useRef as
|
|
5136
|
+
import * as React82 from "react";
|
|
5137
|
+
import { useRef as useRef17 } from "react";
|
|
4679
5138
|
import { SizeControl as SizeControl11 } from "@elementor/editor-controls";
|
|
4680
|
-
import { __ as
|
|
4681
|
-
var WORD_SPACING_LABEL =
|
|
5139
|
+
import { __ as __58 } from "@wordpress/i18n";
|
|
5140
|
+
var WORD_SPACING_LABEL = __58("Word spacing", "elementor");
|
|
4682
5141
|
var WordSpacingField = () => {
|
|
4683
|
-
const rowRef =
|
|
4684
|
-
return /* @__PURE__ */
|
|
5142
|
+
const rowRef = useRef17(null);
|
|
5143
|
+
return /* @__PURE__ */ React82.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React82.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React82.createElement(SizeControl11, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
|
|
4685
5144
|
};
|
|
4686
5145
|
|
|
4687
5146
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
4688
5147
|
var TypographySection = () => {
|
|
4689
|
-
return /* @__PURE__ */
|
|
5148
|
+
return /* @__PURE__ */ React83.createElement(SectionContent, null, /* @__PURE__ */ React83.createElement(FontFamilyField, null), /* @__PURE__ */ React83.createElement(FontWeightField, null), /* @__PURE__ */ React83.createElement(FontSizeField, null), /* @__PURE__ */ React83.createElement(PanelDivider, null), /* @__PURE__ */ React83.createElement(TextAlignmentField, null), /* @__PURE__ */ React83.createElement(TextColorField, null), /* @__PURE__ */ React83.createElement(
|
|
4690
5149
|
StyleTabCollapsibleContent,
|
|
4691
5150
|
{
|
|
4692
5151
|
fields: [
|
|
@@ -4701,18 +5160,18 @@ var TypographySection = () => {
|
|
|
4701
5160
|
"stroke"
|
|
4702
5161
|
]
|
|
4703
5162
|
},
|
|
4704
|
-
/* @__PURE__ */
|
|
5163
|
+
/* @__PURE__ */ React83.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React83.createElement(LineHeightField, null), /* @__PURE__ */ React83.createElement(LetterSpacingField, null), /* @__PURE__ */ React83.createElement(WordSpacingField, null), /* @__PURE__ */ React83.createElement(ColumnCountField, null), /* @__PURE__ */ React83.createElement(ColumnGapField, null), /* @__PURE__ */ React83.createElement(PanelDivider, null), /* @__PURE__ */ React83.createElement(TextDecorationField, null), /* @__PURE__ */ React83.createElement(TransformField, null), /* @__PURE__ */ React83.createElement(TextDirectionField, null), /* @__PURE__ */ React83.createElement(FontStyleField, null), /* @__PURE__ */ React83.createElement(TextStrokeField, null))
|
|
4705
5164
|
));
|
|
4706
5165
|
};
|
|
4707
5166
|
|
|
4708
5167
|
// src/components/style-tab-section.tsx
|
|
4709
|
-
import * as
|
|
5168
|
+
import * as React84 from "react";
|
|
4710
5169
|
var StyleTabSection = ({ section, fields = [], unmountOnExit = true }) => {
|
|
4711
5170
|
const { component, name, title, action } = section;
|
|
4712
5171
|
const tabDefaults = useDefaultPanelSettings();
|
|
4713
|
-
const SectionComponent = component || (() => /* @__PURE__ */
|
|
5172
|
+
const SectionComponent = component || (() => /* @__PURE__ */ React84.createElement(React84.Fragment, null));
|
|
4714
5173
|
const isExpanded = tabDefaults.defaultSectionsExpanded.style?.includes(name);
|
|
4715
|
-
return /* @__PURE__ */
|
|
5174
|
+
return /* @__PURE__ */ React84.createElement(
|
|
4716
5175
|
Section,
|
|
4717
5176
|
{
|
|
4718
5177
|
title,
|
|
@@ -4721,7 +5180,7 @@ var StyleTabSection = ({ section, fields = [], unmountOnExit = true }) => {
|
|
|
4721
5180
|
unmountOnExit,
|
|
4722
5181
|
action
|
|
4723
5182
|
},
|
|
4724
|
-
/* @__PURE__ */
|
|
5183
|
+
/* @__PURE__ */ React84.createElement(SectionComponent, null)
|
|
4725
5184
|
);
|
|
4726
5185
|
};
|
|
4727
5186
|
|
|
@@ -4743,7 +5202,7 @@ var StyleTab = () => {
|
|
|
4743
5202
|
if (!currentClassesProp) {
|
|
4744
5203
|
return null;
|
|
4745
5204
|
}
|
|
4746
|
-
return /* @__PURE__ */
|
|
5205
|
+
return /* @__PURE__ */ React85.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React85.createElement(
|
|
4747
5206
|
StyleProvider,
|
|
4748
5207
|
{
|
|
4749
5208
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -4754,13 +5213,13 @@ var StyleTab = () => {
|
|
|
4754
5213
|
},
|
|
4755
5214
|
setMetaState: setActiveStyleState
|
|
4756
5215
|
},
|
|
4757
|
-
/* @__PURE__ */
|
|
5216
|
+
/* @__PURE__ */ React85.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React85.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React85.createElement(ClassesHeader, null, /* @__PURE__ */ React85.createElement(CssClassSelector, null), /* @__PURE__ */ React85.createElement(Divider5, null)), /* @__PURE__ */ React85.createElement(SectionsList, null, /* @__PURE__ */ React85.createElement(
|
|
4758
5217
|
StyleTabSection,
|
|
4759
5218
|
{
|
|
4760
5219
|
section: {
|
|
4761
5220
|
component: LayoutSection,
|
|
4762
5221
|
name: "Layout",
|
|
4763
|
-
title:
|
|
5222
|
+
title: __59("Layout", "elementor")
|
|
4764
5223
|
},
|
|
4765
5224
|
fields: [
|
|
4766
5225
|
"display",
|
|
@@ -4770,26 +5229,29 @@ var StyleTab = () => {
|
|
|
4770
5229
|
"align-items",
|
|
4771
5230
|
"align-content",
|
|
4772
5231
|
"align-self",
|
|
4773
|
-
"gap"
|
|
5232
|
+
"gap",
|
|
5233
|
+
"order",
|
|
5234
|
+
"grid-column",
|
|
5235
|
+
"grid-row"
|
|
4774
5236
|
]
|
|
4775
5237
|
}
|
|
4776
|
-
), /* @__PURE__ */
|
|
5238
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4777
5239
|
StyleTabSection,
|
|
4778
5240
|
{
|
|
4779
5241
|
section: {
|
|
4780
5242
|
component: SpacingSection,
|
|
4781
5243
|
name: "Spacing",
|
|
4782
|
-
title:
|
|
5244
|
+
title: __59("Spacing", "elementor")
|
|
4783
5245
|
},
|
|
4784
5246
|
fields: ["margin", "padding"]
|
|
4785
5247
|
}
|
|
4786
|
-
), /* @__PURE__ */
|
|
5248
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4787
5249
|
StyleTabSection,
|
|
4788
5250
|
{
|
|
4789
5251
|
section: {
|
|
4790
5252
|
component: SizeSection,
|
|
4791
5253
|
name: "Size",
|
|
4792
|
-
title:
|
|
5254
|
+
title: __59("Size", "elementor")
|
|
4793
5255
|
},
|
|
4794
5256
|
fields: [
|
|
4795
5257
|
"width",
|
|
@@ -4803,23 +5265,23 @@ var StyleTab = () => {
|
|
|
4803
5265
|
"object-fit"
|
|
4804
5266
|
]
|
|
4805
5267
|
}
|
|
4806
|
-
), /* @__PURE__ */
|
|
5268
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4807
5269
|
StyleTabSection,
|
|
4808
5270
|
{
|
|
4809
5271
|
section: {
|
|
4810
5272
|
component: PositionSection,
|
|
4811
5273
|
name: "Position",
|
|
4812
|
-
title:
|
|
5274
|
+
title: __59("Position", "elementor")
|
|
4813
5275
|
},
|
|
4814
5276
|
fields: ["position", "z-index", "scroll-margin-top"]
|
|
4815
5277
|
}
|
|
4816
|
-
), /* @__PURE__ */
|
|
5278
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4817
5279
|
StyleTabSection,
|
|
4818
5280
|
{
|
|
4819
5281
|
section: {
|
|
4820
5282
|
component: TypographySection,
|
|
4821
5283
|
name: "Typography",
|
|
4822
|
-
title:
|
|
5284
|
+
title: __59("Typography", "elementor")
|
|
4823
5285
|
},
|
|
4824
5286
|
fields: [
|
|
4825
5287
|
"font-family",
|
|
@@ -4838,33 +5300,33 @@ var StyleTab = () => {
|
|
|
4838
5300
|
"stroke"
|
|
4839
5301
|
]
|
|
4840
5302
|
}
|
|
4841
|
-
), /* @__PURE__ */
|
|
5303
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4842
5304
|
StyleTabSection,
|
|
4843
5305
|
{
|
|
4844
5306
|
section: {
|
|
4845
5307
|
component: BackgroundSection,
|
|
4846
5308
|
name: "Background",
|
|
4847
|
-
title:
|
|
5309
|
+
title: __59("Background", "elementor")
|
|
4848
5310
|
},
|
|
4849
5311
|
fields: ["background"]
|
|
4850
5312
|
}
|
|
4851
|
-
), /* @__PURE__ */
|
|
5313
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4852
5314
|
StyleTabSection,
|
|
4853
5315
|
{
|
|
4854
5316
|
section: {
|
|
4855
5317
|
component: BorderSection,
|
|
4856
5318
|
name: "Border",
|
|
4857
|
-
title:
|
|
5319
|
+
title: __59("Border", "elementor")
|
|
4858
5320
|
},
|
|
4859
5321
|
fields: ["border-radius", "border-width", "border-color", "border-style"]
|
|
4860
5322
|
}
|
|
4861
|
-
), /* @__PURE__ */
|
|
5323
|
+
), /* @__PURE__ */ React85.createElement(
|
|
4862
5324
|
StyleTabSection,
|
|
4863
5325
|
{
|
|
4864
5326
|
section: {
|
|
4865
5327
|
component: EffectsSection,
|
|
4866
5328
|
name: "Effects",
|
|
4867
|
-
title:
|
|
5329
|
+
title: __59("Effects", "elementor")
|
|
4868
5330
|
},
|
|
4869
5331
|
fields: [
|
|
4870
5332
|
"mix-blend-mode",
|
|
@@ -4877,12 +5339,12 @@ var StyleTab = () => {
|
|
|
4877
5339
|
"transition"
|
|
4878
5340
|
]
|
|
4879
5341
|
}
|
|
4880
|
-
), /* @__PURE__ */
|
|
5342
|
+
), /* @__PURE__ */ React85.createElement(StyleTabSlot, null)), /* @__PURE__ */ React85.createElement(Box6, { sx: { height: "150px" } })))
|
|
4881
5343
|
));
|
|
4882
5344
|
};
|
|
4883
5345
|
function ClassesHeader({ children }) {
|
|
4884
5346
|
const scrollDirection = useScrollDirection();
|
|
4885
|
-
return /* @__PURE__ */
|
|
5347
|
+
return /* @__PURE__ */ React85.createElement(Stack12, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
4886
5348
|
}
|
|
4887
5349
|
function useCurrentClassesProp() {
|
|
4888
5350
|
const { elementType } = useElement();
|
|
@@ -4901,19 +5363,19 @@ var EditingPanelTabs = () => {
|
|
|
4901
5363
|
return (
|
|
4902
5364
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
4903
5365
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
4904
|
-
/* @__PURE__ */
|
|
5366
|
+
/* @__PURE__ */ React86.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React86.createElement(PanelTabContent, null))
|
|
4905
5367
|
);
|
|
4906
5368
|
};
|
|
4907
5369
|
var PanelTabContent = () => {
|
|
4908
5370
|
const { element } = useElement();
|
|
4909
5371
|
const editorDefaults = useDefaultPanelSettings();
|
|
4910
5372
|
const defaultComponentTab = editorDefaults.defaultTab;
|
|
4911
|
-
const isInteractionsActive =
|
|
5373
|
+
const isInteractionsActive = isExperimentActive3("e_interactions");
|
|
4912
5374
|
const isPromotedElement = !!getWidgetsCache2()?.[element.type]?.meta?.is_pro_promotion;
|
|
4913
5375
|
const [storedTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
4914
5376
|
const currentTab = isPromotedElement && storedTab === "settings" ? "style" : storedTab;
|
|
4915
5377
|
const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
|
|
4916
|
-
return /* @__PURE__ */
|
|
5378
|
+
return /* @__PURE__ */ React86.createElement(ScrollProvider, null, /* @__PURE__ */ React86.createElement(Stack13, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React86.createElement(Stack13, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React86.createElement(
|
|
4917
5379
|
Tabs,
|
|
4918
5380
|
{
|
|
4919
5381
|
variant: "fullWidth",
|
|
@@ -4925,10 +5387,10 @@ var PanelTabContent = () => {
|
|
|
4925
5387
|
setCurrentTab(newValue);
|
|
4926
5388
|
}
|
|
4927
5389
|
},
|
|
4928
|
-
!isPromotedElement && /* @__PURE__ */
|
|
4929
|
-
/* @__PURE__ */
|
|
4930
|
-
isInteractionsActive && /* @__PURE__ */
|
|
4931
|
-
), /* @__PURE__ */
|
|
5390
|
+
!isPromotedElement && /* @__PURE__ */ React86.createElement(Tab, { label: __60("General", "elementor"), ...getTabProps("settings") }),
|
|
5391
|
+
/* @__PURE__ */ React86.createElement(Tab, { label: __60("Style", "elementor"), ...getTabProps("style") }),
|
|
5392
|
+
isInteractionsActive && /* @__PURE__ */ React86.createElement(Tab, { label: __60("Interactions", "elementor"), ...getTabProps("interactions") })
|
|
5393
|
+
), /* @__PURE__ */ React86.createElement(Divider6, null)), !isPromotedElement && /* @__PURE__ */ React86.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React86.createElement(SettingsTab, null)), /* @__PURE__ */ React86.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React86.createElement(StyleTab, null)), isInteractionsActive && /* @__PURE__ */ React86.createElement(TabPanel, { ...getTabPanelProps("interactions"), disablePadding: true }, /* @__PURE__ */ React86.createElement(InteractionsTab, null))));
|
|
4932
5394
|
};
|
|
4933
5395
|
|
|
4934
5396
|
// src/components/editing-panel.tsx
|
|
@@ -4941,13 +5403,13 @@ var EditingPanel = () => {
|
|
|
4941
5403
|
if (!element || !elementType) {
|
|
4942
5404
|
return null;
|
|
4943
5405
|
}
|
|
4944
|
-
const panelTitle =
|
|
5406
|
+
const panelTitle = __61("Edit %s", "elementor").replace("%s", elementType.title);
|
|
4945
5407
|
const { component: ReplacementComponent } = getEditingPanelReplacement(element, elementType) ?? {};
|
|
4946
|
-
let panelContent = /* @__PURE__ */
|
|
5408
|
+
let panelContent = /* @__PURE__ */ React87.createElement(React87.Fragment, null, /* @__PURE__ */ React87.createElement(PanelHeader, null, /* @__PURE__ */ React87.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React87.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React87.createElement(PanelBody, null, /* @__PURE__ */ React87.createElement(EditingPanelTabs, null)));
|
|
4947
5409
|
if (ReplacementComponent) {
|
|
4948
|
-
panelContent = /* @__PURE__ */
|
|
5410
|
+
panelContent = /* @__PURE__ */ React87.createElement(ReplacementComponent, null);
|
|
4949
5411
|
}
|
|
4950
|
-
return /* @__PURE__ */
|
|
5412
|
+
return /* @__PURE__ */ React87.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React87.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React87.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React87.createElement(ThemeProvider3, null, /* @__PURE__ */ React87.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React87.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React87.createElement(ElementProvider, { element, elementType, settings }, /* @__PURE__ */ React87.createElement(Panel, null, /* @__PURE__ */ React87.createElement(PanelHeaderTopSlot, null), panelContent)))))));
|
|
4951
5413
|
};
|
|
4952
5414
|
|
|
4953
5415
|
// src/init.ts
|
|
@@ -4956,7 +5418,7 @@ import { __registerPanel as registerPanel } from "@elementor/editor-panels";
|
|
|
4956
5418
|
import { blockCommand } from "@elementor/editor-v1-adapters";
|
|
4957
5419
|
|
|
4958
5420
|
// src/hooks/use-open-editor-panel.ts
|
|
4959
|
-
import { useEffect as
|
|
5421
|
+
import { useEffect as useEffect8 } from "react";
|
|
4960
5422
|
import { __privateListenTo as listenTo, commandStartEvent } from "@elementor/editor-v1-adapters";
|
|
4961
5423
|
|
|
4962
5424
|
// src/panel.ts
|
|
@@ -4980,7 +5442,7 @@ var isAtomicWidgetSelected = () => {
|
|
|
4980
5442
|
// src/hooks/use-open-editor-panel.ts
|
|
4981
5443
|
var useOpenEditorPanel = () => {
|
|
4982
5444
|
const { open } = usePanelActions();
|
|
4983
|
-
|
|
5445
|
+
useEffect8(() => {
|
|
4984
5446
|
return listenTo(commandStartEvent("panel/editor/open"), () => {
|
|
4985
5447
|
if (isAtomicWidgetSelected()) {
|
|
4986
5448
|
open();
|
|
@@ -4999,21 +5461,21 @@ var EditingPanelHooks = () => {
|
|
|
4999
5461
|
import { AttributesControl, DisplayConditionsControl } from "@elementor/editor-controls";
|
|
5000
5462
|
|
|
5001
5463
|
// src/components/promotions/custom-css.tsx
|
|
5002
|
-
import * as
|
|
5003
|
-
import { useRef as
|
|
5464
|
+
import * as React88 from "react";
|
|
5465
|
+
import { useRef as useRef18 } from "react";
|
|
5004
5466
|
import { PromotionTrigger } from "@elementor/editor-controls";
|
|
5005
|
-
import { __ as
|
|
5467
|
+
import { __ as __62 } from "@wordpress/i18n";
|
|
5006
5468
|
var TRACKING_DATA = { target_name: "custom_css", location_l2: "style" };
|
|
5007
5469
|
var CustomCssSection = () => {
|
|
5008
|
-
const triggerRef =
|
|
5009
|
-
return /* @__PURE__ */
|
|
5470
|
+
const triggerRef = useRef18(null);
|
|
5471
|
+
return /* @__PURE__ */ React88.createElement(
|
|
5010
5472
|
StyleTabSection,
|
|
5011
5473
|
{
|
|
5012
5474
|
section: {
|
|
5013
5475
|
name: "Custom CSS",
|
|
5014
|
-
title:
|
|
5476
|
+
title: __62("Custom CSS", "elementor"),
|
|
5015
5477
|
action: {
|
|
5016
|
-
component: /* @__PURE__ */
|
|
5478
|
+
component: /* @__PURE__ */ React88.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "customCss", trackingData: TRACKING_DATA }),
|
|
5017
5479
|
onClick: () => triggerRef.current?.toggle()
|
|
5018
5480
|
}
|
|
5019
5481
|
}
|
|
@@ -5023,19 +5485,19 @@ var CustomCssSection = () => {
|
|
|
5023
5485
|
|
|
5024
5486
|
// src/components/promotions/init.tsx
|
|
5025
5487
|
var init = () => {
|
|
5488
|
+
injectIntoStyleTab({
|
|
5489
|
+
id: "custom-css",
|
|
5490
|
+
component: CustomCssSection,
|
|
5491
|
+
options: { overwrite: true }
|
|
5492
|
+
});
|
|
5026
5493
|
if (!window.elementorPro) {
|
|
5027
|
-
injectIntoStyleTab({
|
|
5028
|
-
id: "custom-css",
|
|
5029
|
-
component: CustomCssSection,
|
|
5030
|
-
options: { overwrite: true }
|
|
5031
|
-
});
|
|
5032
5494
|
controlsRegistry.register("attributes", AttributesControl, "two-columns");
|
|
5033
5495
|
controlsRegistry.register("display-conditions", DisplayConditionsControl, "two-columns");
|
|
5034
5496
|
}
|
|
5035
5497
|
};
|
|
5036
5498
|
|
|
5037
5499
|
// src/controls-registry/element-controls/tabs-control/tabs-control.tsx
|
|
5038
|
-
import * as
|
|
5500
|
+
import * as React89 from "react";
|
|
5039
5501
|
import {
|
|
5040
5502
|
ControlFormLabel as ControlFormLabel3,
|
|
5041
5503
|
Repeater,
|
|
@@ -5047,9 +5509,9 @@ import {
|
|
|
5047
5509
|
useElementEditorSettings
|
|
5048
5510
|
} from "@elementor/editor-elements";
|
|
5049
5511
|
import { numberPropTypeUtil as numberPropTypeUtil4 } from "@elementor/editor-props";
|
|
5050
|
-
import { InfoCircleFilledIcon } from "@elementor/icons";
|
|
5051
|
-
import { Alert as
|
|
5052
|
-
import { __ as
|
|
5512
|
+
import { InfoCircleFilledIcon as InfoCircleFilledIcon2 } from "@elementor/icons";
|
|
5513
|
+
import { Alert as Alert3, Chip as Chip4, Infotip as Infotip2, Stack as Stack14, Switch, TextField as TextField2, Typography as Typography4 } from "@elementor/ui";
|
|
5514
|
+
import { __ as __64 } from "@wordpress/i18n";
|
|
5053
5515
|
|
|
5054
5516
|
// src/controls-registry/element-controls/get-element-by-type.ts
|
|
5055
5517
|
import { getContainer as getContainer2 } from "@elementor/editor-elements";
|
|
@@ -5074,7 +5536,7 @@ import {
|
|
|
5074
5536
|
removeElements
|
|
5075
5537
|
} from "@elementor/editor-elements";
|
|
5076
5538
|
import { numberPropTypeUtil as numberPropTypeUtil3 } from "@elementor/editor-props";
|
|
5077
|
-
import { __ as
|
|
5539
|
+
import { __ as __63 } from "@wordpress/i18n";
|
|
5078
5540
|
var TAB_ELEMENT_TYPE = "e-tab";
|
|
5079
5541
|
var TAB_CONTENT_ELEMENT_TYPE = "e-tab-content";
|
|
5080
5542
|
var useActions = () => {
|
|
@@ -5097,7 +5559,7 @@ var useActions = () => {
|
|
|
5097
5559
|
}
|
|
5098
5560
|
duplicateElements({
|
|
5099
5561
|
elementIds: [tabId, tabContentId],
|
|
5100
|
-
title:
|
|
5562
|
+
title: __63("Duplicate Tab", "elementor"),
|
|
5101
5563
|
onDuplicateElements: () => {
|
|
5102
5564
|
if (newDefault !== defaultActiveTab) {
|
|
5103
5565
|
setDefaultActiveTab(newDefault, {}, { withHistory: false });
|
|
@@ -5134,7 +5596,7 @@ var useActions = () => {
|
|
|
5134
5596
|
defaultActiveTab
|
|
5135
5597
|
});
|
|
5136
5598
|
moveElements({
|
|
5137
|
-
title:
|
|
5599
|
+
title: __63("Reorder Tabs", "elementor"),
|
|
5138
5600
|
moves: [
|
|
5139
5601
|
{
|
|
5140
5602
|
element: movedElement,
|
|
@@ -5168,7 +5630,7 @@ var useActions = () => {
|
|
|
5168
5630
|
defaultActiveTab
|
|
5169
5631
|
});
|
|
5170
5632
|
removeElements({
|
|
5171
|
-
title:
|
|
5633
|
+
title: __63("Tabs", "elementor"),
|
|
5172
5634
|
elementIds: items3.flatMap(({ item, index }) => {
|
|
5173
5635
|
const tabId = item.id;
|
|
5174
5636
|
const tabContentContainer = getContainer3(tabContentAreaId);
|
|
@@ -5203,7 +5665,7 @@ var useActions = () => {
|
|
|
5203
5665
|
items3.forEach(({ index }) => {
|
|
5204
5666
|
const position = index + 1;
|
|
5205
5667
|
createElements({
|
|
5206
|
-
title:
|
|
5668
|
+
title: __63("Tabs", "elementor"),
|
|
5207
5669
|
elements: [
|
|
5208
5670
|
{
|
|
5209
5671
|
container: tabContentArea,
|
|
@@ -5272,7 +5734,7 @@ var calculateDefaultOnDuplicate = ({
|
|
|
5272
5734
|
var TAB_MENU_ELEMENT_TYPE = "e-tabs-menu";
|
|
5273
5735
|
var TAB_CONTENT_AREA_ELEMENT_TYPE = "e-tabs-content-area";
|
|
5274
5736
|
var TabsControl = ({ label }) => {
|
|
5275
|
-
return /* @__PURE__ */
|
|
5737
|
+
return /* @__PURE__ */ React89.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: __64("Tabs", "elementor") }, /* @__PURE__ */ React89.createElement(TabsControlContent, { label }));
|
|
5276
5738
|
};
|
|
5277
5739
|
var TabsControlContent = ({ label }) => {
|
|
5278
5740
|
const { element } = useElement();
|
|
@@ -5316,7 +5778,7 @@ var TabsControlContent = ({ label }) => {
|
|
|
5316
5778
|
});
|
|
5317
5779
|
}
|
|
5318
5780
|
};
|
|
5319
|
-
return /* @__PURE__ */
|
|
5781
|
+
return /* @__PURE__ */ React89.createElement(
|
|
5320
5782
|
Repeater,
|
|
5321
5783
|
{
|
|
5322
5784
|
showToggle: false,
|
|
@@ -5336,7 +5798,7 @@ var TabsControlContent = ({ label }) => {
|
|
|
5336
5798
|
};
|
|
5337
5799
|
var ItemLabel = ({ value, index }) => {
|
|
5338
5800
|
const elementTitle = value?.title;
|
|
5339
|
-
return /* @__PURE__ */
|
|
5801
|
+
return /* @__PURE__ */ React89.createElement(Stack14, { sx: { minHeight: 20 }, direction: "row", alignItems: "center", gap: 1.5 }, /* @__PURE__ */ React89.createElement("span", null, elementTitle), /* @__PURE__ */ React89.createElement(ItemDefaultTab, { index }));
|
|
5340
5802
|
};
|
|
5341
5803
|
var ItemDefaultTab = ({ index }) => {
|
|
5342
5804
|
const { value: defaultItem } = useBoundProp5(numberPropTypeUtil4);
|
|
@@ -5344,18 +5806,18 @@ var ItemDefaultTab = ({ index }) => {
|
|
|
5344
5806
|
if (!isDefault) {
|
|
5345
5807
|
return null;
|
|
5346
5808
|
}
|
|
5347
|
-
return /* @__PURE__ */
|
|
5809
|
+
return /* @__PURE__ */ React89.createElement(Chip4, { size: "tiny", shape: "rounded", label: __64("Default", "elementor") });
|
|
5348
5810
|
};
|
|
5349
5811
|
var ItemContent = ({ value, index }) => {
|
|
5350
5812
|
if (!value.id) {
|
|
5351
5813
|
return null;
|
|
5352
5814
|
}
|
|
5353
|
-
return /* @__PURE__ */
|
|
5815
|
+
return /* @__PURE__ */ React89.createElement(Stack14, { p: 2, gap: 1.5 }, /* @__PURE__ */ React89.createElement(TabLabelControl, { elementId: value.id }), /* @__PURE__ */ React89.createElement(SettingsField, { bind: "default-active-tab", propDisplayName: __64("Tabs", "elementor") }, /* @__PURE__ */ React89.createElement(DefaultTabControl, { tabIndex: index })));
|
|
5354
5816
|
};
|
|
5355
5817
|
var DefaultTabControl = ({ tabIndex }) => {
|
|
5356
5818
|
const { value, setValue } = useBoundProp5(numberPropTypeUtil4);
|
|
5357
5819
|
const isDefault = value === tabIndex;
|
|
5358
|
-
return /* @__PURE__ */
|
|
5820
|
+
return /* @__PURE__ */ React89.createElement(Stack14, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 2 }, /* @__PURE__ */ React89.createElement(ControlFormLabel3, null, __64("Set as default tab", "elementor")), /* @__PURE__ */ React89.createElement(ConditionalTooltip, { showTooltip: isDefault, placement: "right" }, /* @__PURE__ */ React89.createElement(
|
|
5359
5821
|
Switch,
|
|
5360
5822
|
{
|
|
5361
5823
|
size: "small",
|
|
@@ -5373,7 +5835,7 @@ var DefaultTabControl = ({ tabIndex }) => {
|
|
|
5373
5835
|
var TabLabelControl = ({ elementId }) => {
|
|
5374
5836
|
const editorSettings = useElementEditorSettings(elementId);
|
|
5375
5837
|
const label = editorSettings?.title ?? "";
|
|
5376
|
-
return /* @__PURE__ */
|
|
5838
|
+
return /* @__PURE__ */ React89.createElement(Stack14, { gap: 1 }, /* @__PURE__ */ React89.createElement(ControlFormLabel3, null, __64("Tab name", "elementor")), /* @__PURE__ */ React89.createElement(
|
|
5377
5839
|
TextField2,
|
|
5378
5840
|
{
|
|
5379
5841
|
size: "tiny",
|
|
@@ -5394,22 +5856,22 @@ var ConditionalTooltip = ({
|
|
|
5394
5856
|
if (!showTooltip) {
|
|
5395
5857
|
return children;
|
|
5396
5858
|
}
|
|
5397
|
-
return /* @__PURE__ */
|
|
5398
|
-
|
|
5859
|
+
return /* @__PURE__ */ React89.createElement(
|
|
5860
|
+
Infotip2,
|
|
5399
5861
|
{
|
|
5400
5862
|
arrow: false,
|
|
5401
|
-
content: /* @__PURE__ */
|
|
5402
|
-
|
|
5863
|
+
content: /* @__PURE__ */ React89.createElement(
|
|
5864
|
+
Alert3,
|
|
5403
5865
|
{
|
|
5404
5866
|
color: "secondary",
|
|
5405
|
-
icon: /* @__PURE__ */
|
|
5867
|
+
icon: /* @__PURE__ */ React89.createElement(InfoCircleFilledIcon2, { fontSize: "tiny" }),
|
|
5406
5868
|
size: "small",
|
|
5407
5869
|
sx: { width: 288 }
|
|
5408
5870
|
},
|
|
5409
|
-
/* @__PURE__ */
|
|
5871
|
+
/* @__PURE__ */ React89.createElement(Typography4, { variant: "body2" }, __64("To change the default tab, simply set another tab as default.", "elementor"))
|
|
5410
5872
|
)
|
|
5411
5873
|
},
|
|
5412
|
-
/* @__PURE__ */
|
|
5874
|
+
/* @__PURE__ */ React89.createElement("span", null, children)
|
|
5413
5875
|
);
|
|
5414
5876
|
};
|
|
5415
5877
|
|
|
@@ -5435,7 +5897,7 @@ import {
|
|
|
5435
5897
|
import { controlActionsMenu as controlActionsMenu2 } from "@elementor/menus";
|
|
5436
5898
|
|
|
5437
5899
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
5438
|
-
import * as
|
|
5900
|
+
import * as React90 from "react";
|
|
5439
5901
|
import { PropKeyProvider as PropKeyProvider4, PropProvider as PropProvider4, useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
|
|
5440
5902
|
import {
|
|
5441
5903
|
backgroundImageOverlayPropTypeUtil
|
|
@@ -5443,10 +5905,10 @@ import {
|
|
|
5443
5905
|
import { DatabaseIcon } from "@elementor/icons";
|
|
5444
5906
|
|
|
5445
5907
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
5446
|
-
import { useMemo as
|
|
5908
|
+
import { useMemo as useMemo13 } from "react";
|
|
5447
5909
|
|
|
5448
5910
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
5449
|
-
import { useMemo as
|
|
5911
|
+
import { useMemo as useMemo12 } from "react";
|
|
5450
5912
|
import { useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
|
|
5451
5913
|
|
|
5452
5914
|
// src/dynamics/sync/get-atomic-dynamic-tags.ts
|
|
@@ -5497,7 +5959,7 @@ var filterByLicense = (tags) => {
|
|
|
5497
5959
|
// src/dynamics/utils.ts
|
|
5498
5960
|
import {
|
|
5499
5961
|
createPropUtils,
|
|
5500
|
-
isTransformable as
|
|
5962
|
+
isTransformable as isTransformable3
|
|
5501
5963
|
} from "@elementor/editor-props";
|
|
5502
5964
|
import { getElementorConfig as getElementorConfig2 } from "@elementor/editor-v1-adapters";
|
|
5503
5965
|
import { z } from "@elementor/schema";
|
|
@@ -5519,7 +5981,7 @@ var getDynamicPropType = (propType) => {
|
|
|
5519
5981
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
5520
5982
|
};
|
|
5521
5983
|
var isDynamicPropValue = (prop) => {
|
|
5522
|
-
return
|
|
5984
|
+
return isTransformable3(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
5523
5985
|
};
|
|
5524
5986
|
var supportsDynamic = (propType) => {
|
|
5525
5987
|
return !!getDynamicPropType(propType);
|
|
@@ -5540,7 +6002,7 @@ var usePropDynamicTagsInternal = (filterByLicense2) => {
|
|
|
5540
6002
|
categories = propDynamicType?.settings.categories || [];
|
|
5541
6003
|
}
|
|
5542
6004
|
const categoriesKey = categories.join();
|
|
5543
|
-
return
|
|
6005
|
+
return useMemo12(
|
|
5544
6006
|
() => getDynamicTagsByCategories(categories, filterByLicense2),
|
|
5545
6007
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5546
6008
|
[categoriesKey, filterByLicense2]
|
|
@@ -5574,28 +6036,28 @@ var getDynamicTagsByCategories = (categories, filterByLicense2) => {
|
|
|
5574
6036
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
5575
6037
|
var useDynamicTag = (tagName) => {
|
|
5576
6038
|
const dynamicTags = useAllPropDynamicTags();
|
|
5577
|
-
return
|
|
6039
|
+
return useMemo13(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
5578
6040
|
};
|
|
5579
6041
|
|
|
5580
6042
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
5581
|
-
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */
|
|
6043
|
+
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React90.createElement(DatabaseIcon, { fontSize: "tiny" });
|
|
5582
6044
|
var BackgroundControlDynamicTagLabel = ({ value }) => {
|
|
5583
6045
|
const context = useBoundProp7(backgroundImageOverlayPropTypeUtil);
|
|
5584
|
-
return /* @__PURE__ */
|
|
6046
|
+
return /* @__PURE__ */ React90.createElement(PropProvider4, { ...context, value: value.value }, /* @__PURE__ */ React90.createElement(PropKeyProvider4, { bind: "image" }, /* @__PURE__ */ React90.createElement(Wrapper2, { rawValue: value.value })));
|
|
5585
6047
|
};
|
|
5586
6048
|
var Wrapper2 = ({ rawValue }) => {
|
|
5587
6049
|
const { propType } = useBoundProp7();
|
|
5588
6050
|
const imageOverlayPropType = propType.prop_types["background-image-overlay"];
|
|
5589
|
-
return /* @__PURE__ */
|
|
6051
|
+
return /* @__PURE__ */ React90.createElement(PropProvider4, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React90.createElement(PropKeyProvider4, { bind: "src" }, /* @__PURE__ */ React90.createElement(Content, { rawValue: rawValue.image })));
|
|
5590
6052
|
};
|
|
5591
6053
|
var Content = ({ rawValue }) => {
|
|
5592
6054
|
const src = rawValue.value.src;
|
|
5593
6055
|
const dynamicTag = useDynamicTag(src.value.name || "");
|
|
5594
|
-
return /* @__PURE__ */
|
|
6056
|
+
return /* @__PURE__ */ React90.createElement(React90.Fragment, null, dynamicTag?.label);
|
|
5595
6057
|
};
|
|
5596
6058
|
|
|
5597
6059
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
5598
|
-
import * as
|
|
6060
|
+
import * as React94 from "react";
|
|
5599
6061
|
import {
|
|
5600
6062
|
ControlFormLabel as ControlFormLabel4,
|
|
5601
6063
|
PropKeyProvider as PropKeyProvider6,
|
|
@@ -5607,9 +6069,9 @@ import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/i
|
|
|
5607
6069
|
import {
|
|
5608
6070
|
bindPopover,
|
|
5609
6071
|
bindTrigger as bindTrigger2,
|
|
5610
|
-
Box as
|
|
6072
|
+
Box as Box7,
|
|
5611
6073
|
Divider as Divider8,
|
|
5612
|
-
Grid as
|
|
6074
|
+
Grid as Grid8,
|
|
5613
6075
|
IconButton as IconButton2,
|
|
5614
6076
|
Popover,
|
|
5615
6077
|
Stack as Stack16,
|
|
@@ -5620,7 +6082,7 @@ import {
|
|
|
5620
6082
|
usePopupState as usePopupState2,
|
|
5621
6083
|
useTabs as useTabs2
|
|
5622
6084
|
} from "@elementor/ui";
|
|
5623
|
-
import { __ as
|
|
6085
|
+
import { __ as __66 } from "@wordpress/i18n";
|
|
5624
6086
|
|
|
5625
6087
|
// src/hooks/use-persist-dynamic-value.ts
|
|
5626
6088
|
import { useSessionStorage as useSessionStorage5 } from "@elementor/session";
|
|
@@ -5631,12 +6093,12 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
5631
6093
|
};
|
|
5632
6094
|
|
|
5633
6095
|
// src/dynamics/dynamic-control.tsx
|
|
5634
|
-
import * as
|
|
6096
|
+
import * as React92 from "react";
|
|
5635
6097
|
import { PropKeyProvider as PropKeyProvider5, PropProvider as PropProvider5, useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
|
|
5636
6098
|
|
|
5637
6099
|
// src/dynamics/components/dynamic-conditional-control.tsx
|
|
5638
|
-
import * as
|
|
5639
|
-
import { useMemo as
|
|
6100
|
+
import * as React91 from "react";
|
|
6101
|
+
import { useMemo as useMemo14 } from "react";
|
|
5640
6102
|
import { isDependencyMet as isDependencyMet3 } from "@elementor/editor-props";
|
|
5641
6103
|
var DynamicConditionalControl = ({
|
|
5642
6104
|
children,
|
|
@@ -5644,7 +6106,7 @@ var DynamicConditionalControl = ({
|
|
|
5644
6106
|
propsSchema,
|
|
5645
6107
|
dynamicSettings
|
|
5646
6108
|
}) => {
|
|
5647
|
-
const defaults =
|
|
6109
|
+
const defaults = useMemo14(() => {
|
|
5648
6110
|
if (!propsSchema) {
|
|
5649
6111
|
return {};
|
|
5650
6112
|
}
|
|
@@ -5654,7 +6116,7 @@ var DynamicConditionalControl = ({
|
|
|
5654
6116
|
return result;
|
|
5655
6117
|
}, {});
|
|
5656
6118
|
}, [propsSchema]);
|
|
5657
|
-
const convertedSettings =
|
|
6119
|
+
const convertedSettings = useMemo14(() => {
|
|
5658
6120
|
if (!dynamicSettings) {
|
|
5659
6121
|
return {};
|
|
5660
6122
|
}
|
|
@@ -5673,14 +6135,14 @@ var DynamicConditionalControl = ({
|
|
|
5673
6135
|
{}
|
|
5674
6136
|
);
|
|
5675
6137
|
}, [dynamicSettings]);
|
|
5676
|
-
const effectiveSettings =
|
|
6138
|
+
const effectiveSettings = useMemo14(() => {
|
|
5677
6139
|
return { ...defaults, ...convertedSettings };
|
|
5678
6140
|
}, [defaults, convertedSettings]);
|
|
5679
6141
|
if (!propType?.dependencies?.terms.length) {
|
|
5680
|
-
return /* @__PURE__ */
|
|
6142
|
+
return /* @__PURE__ */ React91.createElement(React91.Fragment, null, children);
|
|
5681
6143
|
}
|
|
5682
6144
|
const isHidden = !isDependencyMet3(propType?.dependencies, effectiveSettings).isMet;
|
|
5683
|
-
return isHidden ? null : /* @__PURE__ */
|
|
6145
|
+
return isHidden ? null : /* @__PURE__ */ React91.createElement(React91.Fragment, null, children);
|
|
5684
6146
|
};
|
|
5685
6147
|
|
|
5686
6148
|
// src/dynamics/dynamic-control.tsx
|
|
@@ -5705,7 +6167,7 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
5705
6167
|
});
|
|
5706
6168
|
};
|
|
5707
6169
|
const propType = createTopLevelObjectType({ schema: dynamicTag.props_schema });
|
|
5708
|
-
return /* @__PURE__ */
|
|
6170
|
+
return /* @__PURE__ */ React92.createElement(PropProvider5, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React92.createElement(PropKeyProvider5, { bind }, /* @__PURE__ */ React92.createElement(
|
|
5709
6171
|
DynamicConditionalControl,
|
|
5710
6172
|
{
|
|
5711
6173
|
propType: dynamicPropType,
|
|
@@ -5717,13 +6179,13 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
5717
6179
|
};
|
|
5718
6180
|
|
|
5719
6181
|
// src/dynamics/components/dynamic-selection.tsx
|
|
5720
|
-
import * as
|
|
5721
|
-
import { Fragment as Fragment14, useEffect as
|
|
6182
|
+
import * as React93 from "react";
|
|
6183
|
+
import { Fragment as Fragment14, useEffect as useEffect9, useState as useState10 } from "react";
|
|
5722
6184
|
import { trackUpgradePromotionClick, trackViewPromotion, useBoundProp as useBoundProp9 } from "@elementor/editor-controls";
|
|
5723
6185
|
import { CtaButton, PopoverHeader, PopoverMenuList, SearchField, SectionPopoverBody } from "@elementor/editor-ui";
|
|
5724
6186
|
import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
|
|
5725
6187
|
import { Divider as Divider7, Link as Link2, Stack as Stack15, Typography as Typography5, useTheme as useTheme3 } from "@elementor/ui";
|
|
5726
|
-
import { __ as
|
|
6188
|
+
import { __ as __65 } from "@wordpress/i18n";
|
|
5727
6189
|
var SIZE2 = "tiny";
|
|
5728
6190
|
var PROMO_TEXT_WIDTH = 170;
|
|
5729
6191
|
var PRO_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-modal/";
|
|
@@ -5736,9 +6198,9 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
|
|
|
5736
6198
|
const { bind, value: dynamicValue, setValue } = useBoundProp9(dynamicPropTypeUtil);
|
|
5737
6199
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
5738
6200
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
5739
|
-
const
|
|
5740
|
-
const hasNoDynamicTags = !
|
|
5741
|
-
|
|
6201
|
+
const options13 = useFilteredOptions(searchValue);
|
|
6202
|
+
const hasNoDynamicTags = !options13.length && !searchValue.trim();
|
|
6203
|
+
useEffect9(() => {
|
|
5742
6204
|
if (hasNoDynamicTags) {
|
|
5743
6205
|
trackViewPromotion({ target_name: "dynamic_tags" });
|
|
5744
6206
|
} else if (expired) {
|
|
@@ -5752,11 +6214,11 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
|
|
|
5752
6214
|
if (!isCurrentValueDynamic) {
|
|
5753
6215
|
updatePropValueHistory(anyValue);
|
|
5754
6216
|
}
|
|
5755
|
-
const selectedOption =
|
|
6217
|
+
const selectedOption = options13.flatMap(([, items3]) => items3).find((item) => item.value === value);
|
|
5756
6218
|
setValue({ name: value, group: selectedOption?.group ?? "", settings: { label: selectedOption?.label } });
|
|
5757
6219
|
closePopover();
|
|
5758
6220
|
};
|
|
5759
|
-
const virtualizedItems =
|
|
6221
|
+
const virtualizedItems = options13.flatMap(([category, items3]) => [
|
|
5760
6222
|
{
|
|
5761
6223
|
type: "category",
|
|
5762
6224
|
value: category,
|
|
@@ -5770,19 +6232,19 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
|
|
|
5770
6232
|
]);
|
|
5771
6233
|
const getPopOverContent = () => {
|
|
5772
6234
|
if (hasNoDynamicTags) {
|
|
5773
|
-
return /* @__PURE__ */
|
|
6235
|
+
return /* @__PURE__ */ React93.createElement(NoDynamicTags, null);
|
|
5774
6236
|
}
|
|
5775
6237
|
if (expired) {
|
|
5776
|
-
return /* @__PURE__ */
|
|
6238
|
+
return /* @__PURE__ */ React93.createElement(ExpiredDynamicTags, null);
|
|
5777
6239
|
}
|
|
5778
|
-
return /* @__PURE__ */
|
|
6240
|
+
return /* @__PURE__ */ React93.createElement(Fragment14, null, /* @__PURE__ */ React93.createElement(
|
|
5779
6241
|
SearchField,
|
|
5780
6242
|
{
|
|
5781
6243
|
value: searchValue,
|
|
5782
6244
|
onSearch: handleSearch,
|
|
5783
|
-
placeholder:
|
|
6245
|
+
placeholder: __65("Search dynamic tags\u2026", "elementor")
|
|
5784
6246
|
}
|
|
5785
|
-
), /* @__PURE__ */
|
|
6247
|
+
), /* @__PURE__ */ React93.createElement(Divider7, null), /* @__PURE__ */ React93.createElement(
|
|
5786
6248
|
PopoverMenuList,
|
|
5787
6249
|
{
|
|
5788
6250
|
items: virtualizedItems,
|
|
@@ -5790,20 +6252,20 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
|
|
|
5790
6252
|
onClose: closePopover,
|
|
5791
6253
|
selectedValue: dynamicValue?.name,
|
|
5792
6254
|
itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
|
|
5793
|
-
noResultsComponent: /* @__PURE__ */
|
|
6255
|
+
noResultsComponent: /* @__PURE__ */ React93.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
|
|
5794
6256
|
}
|
|
5795
6257
|
));
|
|
5796
6258
|
};
|
|
5797
|
-
return /* @__PURE__ */
|
|
6259
|
+
return /* @__PURE__ */ React93.createElement(SectionPopoverBody, { "aria-label": __65("Dynamic tags", "elementor") }, /* @__PURE__ */ React93.createElement(
|
|
5798
6260
|
PopoverHeader,
|
|
5799
6261
|
{
|
|
5800
|
-
title:
|
|
6262
|
+
title: __65("Dynamic tags", "elementor"),
|
|
5801
6263
|
onClose: closePopover,
|
|
5802
|
-
icon: /* @__PURE__ */
|
|
6264
|
+
icon: /* @__PURE__ */ React93.createElement(DatabaseIcon2, { fontSize: SIZE2 })
|
|
5803
6265
|
}
|
|
5804
6266
|
), getPopOverContent());
|
|
5805
6267
|
};
|
|
5806
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
6268
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React93.createElement(
|
|
5807
6269
|
Stack15,
|
|
5808
6270
|
{
|
|
5809
6271
|
gap: 1,
|
|
@@ -5814,11 +6276,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React88.createElem
|
|
|
5814
6276
|
color: "text.secondary",
|
|
5815
6277
|
sx: { pb: 3.5 }
|
|
5816
6278
|
},
|
|
5817
|
-
/* @__PURE__ */
|
|
5818
|
-
/* @__PURE__ */
|
|
5819
|
-
/* @__PURE__ */
|
|
6279
|
+
/* @__PURE__ */ React93.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
6280
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "subtitle2" }, __65("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React93.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
6281
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, __65("Try something else.", "elementor"), /* @__PURE__ */ React93.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __65("Clear & try again", "elementor")))
|
|
5820
6282
|
);
|
|
5821
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
6283
|
+
var NoDynamicTags = () => /* @__PURE__ */ React93.createElement(React93.Fragment, null, /* @__PURE__ */ React93.createElement(Divider7, null), /* @__PURE__ */ React93.createElement(
|
|
5822
6284
|
Stack15,
|
|
5823
6285
|
{
|
|
5824
6286
|
gap: 1,
|
|
@@ -5829,10 +6291,10 @@ var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(React88.Fragment
|
|
|
5829
6291
|
color: "text.secondary",
|
|
5830
6292
|
sx: { pb: 3.5 }
|
|
5831
6293
|
},
|
|
5832
|
-
/* @__PURE__ */
|
|
5833
|
-
/* @__PURE__ */
|
|
5834
|
-
/* @__PURE__ */
|
|
5835
|
-
/* @__PURE__ */
|
|
6294
|
+
/* @__PURE__ */ React93.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
6295
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "subtitle2" }, __65("Streamline your workflow with dynamic tags", "elementor")),
|
|
6296
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, __65("Upgrade now to display your content dynamically.", "elementor")),
|
|
6297
|
+
/* @__PURE__ */ React93.createElement(
|
|
5836
6298
|
CtaButton,
|
|
5837
6299
|
{
|
|
5838
6300
|
size: "small",
|
|
@@ -5841,7 +6303,7 @@ var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(React88.Fragment
|
|
|
5841
6303
|
}
|
|
5842
6304
|
)
|
|
5843
6305
|
));
|
|
5844
|
-
var ExpiredDynamicTags = () => /* @__PURE__ */
|
|
6306
|
+
var ExpiredDynamicTags = () => /* @__PURE__ */ React93.createElement(React93.Fragment, null, /* @__PURE__ */ React93.createElement(Divider7, null), /* @__PURE__ */ React93.createElement(
|
|
5845
6307
|
Stack15,
|
|
5846
6308
|
{
|
|
5847
6309
|
gap: 1,
|
|
@@ -5852,22 +6314,22 @@ var ExpiredDynamicTags = () => /* @__PURE__ */ React88.createElement(React88.Fra
|
|
|
5852
6314
|
color: "text.secondary",
|
|
5853
6315
|
sx: { pb: 3.5 }
|
|
5854
6316
|
},
|
|
5855
|
-
/* @__PURE__ */
|
|
5856
|
-
/* @__PURE__ */
|
|
5857
|
-
/* @__PURE__ */
|
|
5858
|
-
/* @__PURE__ */
|
|
6317
|
+
/* @__PURE__ */ React93.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
6318
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "subtitle2" }, __65("Unlock your Dynamic tags again", "elementor")),
|
|
6319
|
+
/* @__PURE__ */ React93.createElement(Typography5, { align: "center", variant: "caption", width: PROMO_TEXT_WIDTH }, __65("Dynamic tags need Elementor Pro. Renew now to keep them active.", "elementor")),
|
|
6320
|
+
/* @__PURE__ */ React93.createElement(
|
|
5859
6321
|
CtaButton,
|
|
5860
6322
|
{
|
|
5861
6323
|
size: "small",
|
|
5862
6324
|
href: RENEW_DYNAMIC_TAGS_URL,
|
|
5863
6325
|
onClick: () => trackUpgradePromotionClick({ target_name: "dynamic_tags" }),
|
|
5864
|
-
children:
|
|
6326
|
+
children: __65("Renew Now", "elementor")
|
|
5865
6327
|
}
|
|
5866
6328
|
)
|
|
5867
6329
|
));
|
|
5868
6330
|
var useFilteredOptions = (searchValue) => {
|
|
5869
6331
|
const dynamicTags = usePropDynamicTags();
|
|
5870
|
-
const
|
|
6332
|
+
const options13 = dynamicTags.reduce((categories, { name, label, group }) => {
|
|
5871
6333
|
const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
|
|
5872
6334
|
if (!isVisible) {
|
|
5873
6335
|
return categories;
|
|
@@ -5878,7 +6340,7 @@ var useFilteredOptions = (searchValue) => {
|
|
|
5878
6340
|
categories.get(group)?.push({ label, group, value: name });
|
|
5879
6341
|
return categories;
|
|
5880
6342
|
}, /* @__PURE__ */ new Map());
|
|
5881
|
-
return [...
|
|
6343
|
+
return [...options13];
|
|
5882
6344
|
};
|
|
5883
6345
|
|
|
5884
6346
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
@@ -5898,7 +6360,7 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
|
|
|
5898
6360
|
const { name: tagName = "" } = value;
|
|
5899
6361
|
const dynamicTag = useDynamicTag(tagName);
|
|
5900
6362
|
if (!isDynamicTagSupported(tagName) && OriginalControl) {
|
|
5901
|
-
return /* @__PURE__ */
|
|
6363
|
+
return /* @__PURE__ */ React94.createElement(PropProvider6, { propType: originalPropType, value: { [bind]: null }, setValue: setAnyValue }, /* @__PURE__ */ React94.createElement(PropKeyProvider6, { bind }, /* @__PURE__ */ React94.createElement(OriginalControl, { ...props })));
|
|
5902
6364
|
}
|
|
5903
6365
|
const removeDynamicTag = () => {
|
|
5904
6366
|
setAnyValue(propValueFromHistory ?? null);
|
|
@@ -5906,25 +6368,25 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
|
|
|
5906
6368
|
if (!dynamicTag) {
|
|
5907
6369
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
5908
6370
|
}
|
|
5909
|
-
return /* @__PURE__ */
|
|
6371
|
+
return /* @__PURE__ */ React94.createElement(Box7, null, /* @__PURE__ */ React94.createElement(
|
|
5910
6372
|
Tag,
|
|
5911
6373
|
{
|
|
5912
6374
|
fullWidth: true,
|
|
5913
6375
|
showActionsOnHover: true,
|
|
5914
6376
|
label: dynamicTag.label,
|
|
5915
|
-
startIcon: /* @__PURE__ */
|
|
6377
|
+
startIcon: /* @__PURE__ */ React94.createElement(DatabaseIcon3, { fontSize: SIZE3 }),
|
|
5916
6378
|
...bindTrigger2(selectionPopoverState),
|
|
5917
|
-
actions: /* @__PURE__ */
|
|
6379
|
+
actions: /* @__PURE__ */ React94.createElement(React94.Fragment, null, /* @__PURE__ */ React94.createElement(DynamicSettingsPopover, { dynamicTag, disabled: readonly }), /* @__PURE__ */ React94.createElement(
|
|
5918
6380
|
IconButton2,
|
|
5919
6381
|
{
|
|
5920
6382
|
size: SIZE3,
|
|
5921
6383
|
onClick: removeDynamicTag,
|
|
5922
|
-
"aria-label":
|
|
6384
|
+
"aria-label": __66("Remove dynamic value", "elementor")
|
|
5923
6385
|
},
|
|
5924
|
-
/* @__PURE__ */
|
|
6386
|
+
/* @__PURE__ */ React94.createElement(XIcon, { fontSize: SIZE3 })
|
|
5925
6387
|
))
|
|
5926
6388
|
}
|
|
5927
|
-
), /* @__PURE__ */
|
|
6389
|
+
), /* @__PURE__ */ React94.createElement(
|
|
5928
6390
|
Popover,
|
|
5929
6391
|
{
|
|
5930
6392
|
disablePortal: true,
|
|
@@ -5936,7 +6398,7 @@ var DynamicSelectionControl = ({ OriginalControl, ...props }) => {
|
|
|
5936
6398
|
},
|
|
5937
6399
|
...bindPopover(selectionPopoverState)
|
|
5938
6400
|
},
|
|
5939
|
-
/* @__PURE__ */
|
|
6401
|
+
/* @__PURE__ */ React94.createElement(SectionPopoverBody2, { "aria-label": __66("Dynamic tags", "elementor") }, /* @__PURE__ */ React94.createElement(DynamicSelection, { close: selectionPopoverState.close, expired: readonly }))
|
|
5940
6402
|
));
|
|
5941
6403
|
};
|
|
5942
6404
|
var DynamicSettingsPopover = ({
|
|
@@ -5948,16 +6410,16 @@ var DynamicSettingsPopover = ({
|
|
|
5948
6410
|
if (!hasDynamicSettings) {
|
|
5949
6411
|
return null;
|
|
5950
6412
|
}
|
|
5951
|
-
return /* @__PURE__ */
|
|
6413
|
+
return /* @__PURE__ */ React94.createElement(React94.Fragment, null, /* @__PURE__ */ React94.createElement(
|
|
5952
6414
|
IconButton2,
|
|
5953
6415
|
{
|
|
5954
6416
|
size: SIZE3,
|
|
5955
6417
|
disabled,
|
|
5956
6418
|
...!disabled && bindTrigger2(popupState),
|
|
5957
|
-
"aria-label":
|
|
6419
|
+
"aria-label": __66("Dynamic settings", "elementor")
|
|
5958
6420
|
},
|
|
5959
|
-
/* @__PURE__ */
|
|
5960
|
-
), /* @__PURE__ */
|
|
6421
|
+
/* @__PURE__ */ React94.createElement(SettingsIcon, { fontSize: SIZE3 })
|
|
6422
|
+
), /* @__PURE__ */ React94.createElement(
|
|
5961
6423
|
Popover,
|
|
5962
6424
|
{
|
|
5963
6425
|
disablePortal: true,
|
|
@@ -5969,14 +6431,14 @@ var DynamicSettingsPopover = ({
|
|
|
5969
6431
|
},
|
|
5970
6432
|
...bindPopover(popupState)
|
|
5971
6433
|
},
|
|
5972
|
-
/* @__PURE__ */
|
|
6434
|
+
/* @__PURE__ */ React94.createElement(SectionPopoverBody2, { "aria-label": __66("Dynamic settings", "elementor") }, /* @__PURE__ */ React94.createElement(
|
|
5973
6435
|
PopoverHeader2,
|
|
5974
6436
|
{
|
|
5975
6437
|
title: dynamicTag.label,
|
|
5976
6438
|
onClose: popupState.close,
|
|
5977
|
-
icon: /* @__PURE__ */
|
|
6439
|
+
icon: /* @__PURE__ */ React94.createElement(DatabaseIcon3, { fontSize: SIZE3 })
|
|
5978
6440
|
}
|
|
5979
|
-
), /* @__PURE__ */
|
|
6441
|
+
), /* @__PURE__ */ React94.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls, tagName: dynamicTag.name }))
|
|
5980
6442
|
));
|
|
5981
6443
|
};
|
|
5982
6444
|
var DynamicSettings = ({ controls, tagName }) => {
|
|
@@ -5987,9 +6449,9 @@ var DynamicSettings = ({ controls, tagName }) => {
|
|
|
5987
6449
|
}
|
|
5988
6450
|
if (tagsWithoutTabs.includes(tagName)) {
|
|
5989
6451
|
const singleTab = tabs[0];
|
|
5990
|
-
return /* @__PURE__ */
|
|
6452
|
+
return /* @__PURE__ */ React94.createElement(React94.Fragment, null, /* @__PURE__ */ React94.createElement(Divider8, null), /* @__PURE__ */ React94.createElement(ControlsItemsStack, { items: singleTab.value.items }));
|
|
5991
6453
|
}
|
|
5992
|
-
return /* @__PURE__ */
|
|
6454
|
+
return /* @__PURE__ */ React94.createElement(React94.Fragment, null, tabs.length > 1 && /* @__PURE__ */ React94.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React94.createElement(
|
|
5993
6455
|
Tab2,
|
|
5994
6456
|
{
|
|
5995
6457
|
key: index,
|
|
@@ -5997,15 +6459,15 @@ var DynamicSettings = ({ controls, tagName }) => {
|
|
|
5997
6459
|
sx: { px: 1, py: 0.5 },
|
|
5998
6460
|
...getTabProps(index)
|
|
5999
6461
|
}
|
|
6000
|
-
))), /* @__PURE__ */
|
|
6001
|
-
return /* @__PURE__ */
|
|
6462
|
+
))), /* @__PURE__ */ React94.createElement(Divider8, null), tabs.map(({ value }, index) => {
|
|
6463
|
+
return /* @__PURE__ */ React94.createElement(
|
|
6002
6464
|
TabPanel2,
|
|
6003
6465
|
{
|
|
6004
6466
|
key: index,
|
|
6005
6467
|
sx: { flexGrow: 1, py: 0, overflowY: "auto" },
|
|
6006
6468
|
...getTabPanelProps(index)
|
|
6007
6469
|
},
|
|
6008
|
-
/* @__PURE__ */
|
|
6470
|
+
/* @__PURE__ */ React94.createElement(ControlsItemsStack, { items: value.items })
|
|
6009
6471
|
);
|
|
6010
6472
|
}));
|
|
6011
6473
|
};
|
|
@@ -6047,17 +6509,17 @@ var Control2 = ({ control }) => {
|
|
|
6047
6509
|
display: "grid",
|
|
6048
6510
|
gridTemplateColumns: isSwitchControl ? "minmax(0, 1fr) max-content" : "1fr 1fr"
|
|
6049
6511
|
} : {};
|
|
6050
|
-
return /* @__PURE__ */
|
|
6512
|
+
return /* @__PURE__ */ React94.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React94.createElement(Grid8, { container: true, gap: 0.75, sx: layoutStyleProps }, control.label ? /* @__PURE__ */ React94.createElement(Grid8, { item: true, xs: 12 }, /* @__PURE__ */ React94.createElement(ControlFormLabel4, null, control.label)) : null, /* @__PURE__ */ React94.createElement(Grid8, { item: true, xs: 12 }, /* @__PURE__ */ React94.createElement(Control, { type: control.type, props: controlProps }))));
|
|
6051
6513
|
};
|
|
6052
6514
|
function ControlsItemsStack({ items: items3 }) {
|
|
6053
|
-
return /* @__PURE__ */
|
|
6054
|
-
(item) => item.type === "control" ? /* @__PURE__ */
|
|
6515
|
+
return /* @__PURE__ */ React94.createElement(Stack16, { p: 2, gap: 2, sx: { overflowY: "auto" } }, items3.map(
|
|
6516
|
+
(item) => item.type === "control" ? /* @__PURE__ */ React94.createElement(Control2, { key: item.value.bind, control: item.value }) : null
|
|
6055
6517
|
));
|
|
6056
6518
|
}
|
|
6057
6519
|
|
|
6058
6520
|
// src/dynamics/dynamic-transformer.ts
|
|
6059
6521
|
import { createTransformer } from "@elementor/editor-canvas";
|
|
6060
|
-
import { isTransformable as
|
|
6522
|
+
import { isTransformable as isTransformable4 } from "@elementor/editor-props";
|
|
6061
6523
|
|
|
6062
6524
|
// src/dynamics/errors.ts
|
|
6063
6525
|
import { createError as createError2 } from "@elementor/utils";
|
|
@@ -6075,7 +6537,7 @@ var dynamicTransformer = createTransformer((value, { propType }) => {
|
|
|
6075
6537
|
});
|
|
6076
6538
|
function simpleTransform(props) {
|
|
6077
6539
|
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
6078
|
-
const value =
|
|
6540
|
+
const value = isTransformable4(settingValue) ? settingValue.value : settingValue;
|
|
6079
6541
|
return [settingKey, value];
|
|
6080
6542
|
});
|
|
6081
6543
|
return Object.fromEntries(transformed);
|
|
@@ -6104,18 +6566,18 @@ function getDynamicValue(name, settings) {
|
|
|
6104
6566
|
}
|
|
6105
6567
|
|
|
6106
6568
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
6107
|
-
import * as
|
|
6569
|
+
import * as React95 from "react";
|
|
6108
6570
|
import { useBoundProp as useBoundProp11 } from "@elementor/editor-controls";
|
|
6109
6571
|
import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
|
|
6110
|
-
import { __ as
|
|
6572
|
+
import { __ as __67 } from "@wordpress/i18n";
|
|
6111
6573
|
var usePropDynamicAction = () => {
|
|
6112
6574
|
const { propType } = useBoundProp11();
|
|
6113
6575
|
const visible = !!propType && supportsDynamic(propType);
|
|
6114
6576
|
return {
|
|
6115
6577
|
visible,
|
|
6116
6578
|
icon: DatabaseIcon4,
|
|
6117
|
-
title:
|
|
6118
|
-
content: ({ close }) => /* @__PURE__ */
|
|
6579
|
+
title: __67("Dynamic tags", "elementor"),
|
|
6580
|
+
content: ({ close }) => /* @__PURE__ */ React95.createElement(DynamicSelection, { close })
|
|
6119
6581
|
};
|
|
6120
6582
|
};
|
|
6121
6583
|
|
|
@@ -6150,7 +6612,7 @@ import { useBoundProp as useBoundProp12 } from "@elementor/editor-controls";
|
|
|
6150
6612
|
import { hasVariable as hasVariable2 } from "@elementor/editor-variables";
|
|
6151
6613
|
import { BrushBigIcon } from "@elementor/icons";
|
|
6152
6614
|
import { controlActionsMenu as controlActionsMenu3 } from "@elementor/menus";
|
|
6153
|
-
import { __ as
|
|
6615
|
+
import { __ as __68 } from "@wordpress/i18n";
|
|
6154
6616
|
|
|
6155
6617
|
// src/utils/is-equal.ts
|
|
6156
6618
|
function isEqual(a, b) {
|
|
@@ -6226,22 +6688,22 @@ function useResetStyleValueProps() {
|
|
|
6226
6688
|
const visible = calculateVisibility();
|
|
6227
6689
|
return {
|
|
6228
6690
|
visible,
|
|
6229
|
-
title:
|
|
6691
|
+
title: __68("Clear", "elementor"),
|
|
6230
6692
|
icon: BrushBigIcon,
|
|
6231
6693
|
onClick: () => resetValue()
|
|
6232
6694
|
};
|
|
6233
6695
|
}
|
|
6234
6696
|
|
|
6235
6697
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
6236
|
-
import * as
|
|
6698
|
+
import * as React101 from "react";
|
|
6237
6699
|
import { useBoundProp as useBoundProp13 } from "@elementor/editor-controls";
|
|
6238
6700
|
import { isEmpty as isEmpty2 } from "@elementor/editor-props";
|
|
6239
6701
|
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4 } from "@elementor/editor-styles-repository";
|
|
6240
|
-
import { __ as
|
|
6702
|
+
import { __ as __72 } from "@wordpress/i18n";
|
|
6241
6703
|
|
|
6242
6704
|
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
6243
|
-
import * as
|
|
6244
|
-
import { useMemo as
|
|
6705
|
+
import * as React100 from "react";
|
|
6706
|
+
import { useMemo as useMemo15, useRef as useRef19, useState as useState12 } from "react";
|
|
6245
6707
|
import {
|
|
6246
6708
|
createPropsResolver as createPropsResolver2,
|
|
6247
6709
|
stylesInheritanceTransformersRegistry
|
|
@@ -6249,37 +6711,37 @@ import {
|
|
|
6249
6711
|
import { PopoverHeader as PopoverHeader3, useSectionWidth as useSectionWidth2 } from "@elementor/editor-ui";
|
|
6250
6712
|
import {
|
|
6251
6713
|
Backdrop,
|
|
6252
|
-
Box as
|
|
6714
|
+
Box as Box9,
|
|
6253
6715
|
Card,
|
|
6254
6716
|
CardContent,
|
|
6255
6717
|
ClickAwayListener,
|
|
6256
6718
|
IconButton as IconButton3,
|
|
6257
|
-
Infotip as
|
|
6719
|
+
Infotip as Infotip3,
|
|
6258
6720
|
Stack as Stack17,
|
|
6259
|
-
Tooltip as
|
|
6721
|
+
Tooltip as Tooltip6
|
|
6260
6722
|
} from "@elementor/ui";
|
|
6261
|
-
import { __ as
|
|
6723
|
+
import { __ as __71 } from "@wordpress/i18n";
|
|
6262
6724
|
|
|
6263
6725
|
// src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
|
|
6264
|
-
import { isValidElement, useEffect as
|
|
6726
|
+
import { isValidElement, useEffect as useEffect10, useState as useState11 } from "react";
|
|
6265
6727
|
import { UnknownStyleStateError } from "@elementor/editor-canvas";
|
|
6266
6728
|
import {
|
|
6267
6729
|
isClassState as isClassState2,
|
|
6268
6730
|
isPseudoState
|
|
6269
6731
|
} from "@elementor/editor-styles";
|
|
6270
6732
|
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
|
|
6271
|
-
import { __ as
|
|
6733
|
+
import { __ as __69 } from "@wordpress/i18n";
|
|
6272
6734
|
var MAXIMUM_ITEMS = 2;
|
|
6273
6735
|
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
6274
6736
|
const [items3, setItems] = useState11([]);
|
|
6275
|
-
|
|
6737
|
+
useEffect10(() => {
|
|
6276
6738
|
(async () => {
|
|
6277
6739
|
const normalizedItems = await Promise.all(
|
|
6278
6740
|
inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
|
|
6279
6741
|
);
|
|
6280
6742
|
const validItems = normalizedItems.map((item) => ({
|
|
6281
6743
|
...item,
|
|
6282
|
-
displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel :
|
|
6744
|
+
displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __69("Base", "elementor")
|
|
6283
6745
|
})).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
|
|
6284
6746
|
setItems(validItems);
|
|
6285
6747
|
})();
|
|
@@ -6336,7 +6798,7 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
6336
6798
|
};
|
|
6337
6799
|
|
|
6338
6800
|
// src/styles-inheritance/components/infotip/breakpoint-icon.tsx
|
|
6339
|
-
import * as
|
|
6801
|
+
import * as React96 from "react";
|
|
6340
6802
|
import { useBreakpoints } from "@elementor/editor-responsive";
|
|
6341
6803
|
import {
|
|
6342
6804
|
DesktopIcon,
|
|
@@ -6347,7 +6809,7 @@ import {
|
|
|
6347
6809
|
TabletPortraitIcon,
|
|
6348
6810
|
WidescreenIcon
|
|
6349
6811
|
} from "@elementor/icons";
|
|
6350
|
-
import { Tooltip as
|
|
6812
|
+
import { Tooltip as Tooltip3 } from "@elementor/ui";
|
|
6351
6813
|
var SIZE4 = "tiny";
|
|
6352
6814
|
var DEFAULT_BREAKPOINT3 = "desktop";
|
|
6353
6815
|
var breakpointIconMap = {
|
|
@@ -6367,20 +6829,20 @@ var BreakpointIcon = ({ breakpoint }) => {
|
|
|
6367
6829
|
return null;
|
|
6368
6830
|
}
|
|
6369
6831
|
const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
|
|
6370
|
-
return /* @__PURE__ */
|
|
6832
|
+
return /* @__PURE__ */ React96.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React96.createElement(IconComponent, { fontSize: SIZE4, sx: { mt: "2px" } }));
|
|
6371
6833
|
};
|
|
6372
6834
|
|
|
6373
6835
|
// src/styles-inheritance/components/infotip/label-chip.tsx
|
|
6374
|
-
import * as
|
|
6836
|
+
import * as React97 from "react";
|
|
6375
6837
|
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY3 } from "@elementor/editor-styles-repository";
|
|
6376
6838
|
import { InfoCircleIcon } from "@elementor/icons";
|
|
6377
|
-
import { Chip as Chip5, Tooltip as
|
|
6378
|
-
import { __ as
|
|
6839
|
+
import { Chip as Chip5, Tooltip as Tooltip4 } from "@elementor/ui";
|
|
6840
|
+
import { __ as __70 } from "@wordpress/i18n";
|
|
6379
6841
|
var SIZE5 = "tiny";
|
|
6380
6842
|
var LabelChip = ({ displayLabel, provider }) => {
|
|
6381
6843
|
const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY3;
|
|
6382
|
-
const chipIcon = isBaseStyle ? /* @__PURE__ */
|
|
6383
|
-
return /* @__PURE__ */
|
|
6844
|
+
const chipIcon = isBaseStyle ? /* @__PURE__ */ React97.createElement(Tooltip4, { title: __70("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React97.createElement(InfoCircleIcon, { fontSize: SIZE5 })) : void 0;
|
|
6845
|
+
return /* @__PURE__ */ React97.createElement(
|
|
6384
6846
|
Chip5,
|
|
6385
6847
|
{
|
|
6386
6848
|
label: displayLabel,
|
|
@@ -6406,10 +6868,10 @@ var LabelChip = ({ displayLabel, provider }) => {
|
|
|
6406
6868
|
};
|
|
6407
6869
|
|
|
6408
6870
|
// src/styles-inheritance/components/infotip/value-component.tsx
|
|
6409
|
-
import * as
|
|
6410
|
-
import { Tooltip as
|
|
6871
|
+
import * as React98 from "react";
|
|
6872
|
+
import { Tooltip as Tooltip5, Typography as Typography6 } from "@elementor/ui";
|
|
6411
6873
|
var ValueComponent = ({ index, value }) => {
|
|
6412
|
-
return /* @__PURE__ */
|
|
6874
|
+
return /* @__PURE__ */ React98.createElement(Tooltip5, { title: value, placement: "top" }, /* @__PURE__ */ React98.createElement(
|
|
6413
6875
|
Typography6,
|
|
6414
6876
|
{
|
|
6415
6877
|
variant: "caption",
|
|
@@ -6431,9 +6893,9 @@ var ValueComponent = ({ index, value }) => {
|
|
|
6431
6893
|
};
|
|
6432
6894
|
|
|
6433
6895
|
// src/styles-inheritance/components/infotip/action-icons.tsx
|
|
6434
|
-
import * as
|
|
6435
|
-
import { Box as
|
|
6436
|
-
var ActionIcons = () => /* @__PURE__ */
|
|
6896
|
+
import * as React99 from "react";
|
|
6897
|
+
import { Box as Box8 } from "@elementor/ui";
|
|
6898
|
+
var ActionIcons = () => /* @__PURE__ */ React99.createElement(Box8, { display: "flex", gap: 0.5, alignItems: "center" });
|
|
6437
6899
|
|
|
6438
6900
|
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
6439
6901
|
var SECTION_PADDING_INLINE = 32;
|
|
@@ -6447,7 +6909,7 @@ var StylesInheritanceInfotip = ({
|
|
|
6447
6909
|
isDisabled
|
|
6448
6910
|
}) => {
|
|
6449
6911
|
const [showInfotip, setShowInfotip] = useState12(false);
|
|
6450
|
-
const triggerRef =
|
|
6912
|
+
const triggerRef = useRef19(null);
|
|
6451
6913
|
const toggleInfotip = () => {
|
|
6452
6914
|
if (isDisabled) {
|
|
6453
6915
|
return;
|
|
@@ -6462,14 +6924,14 @@ var StylesInheritanceInfotip = ({
|
|
|
6462
6924
|
};
|
|
6463
6925
|
const key = path.join(".");
|
|
6464
6926
|
const sectionWidth = useSectionWidth2();
|
|
6465
|
-
const resolve =
|
|
6927
|
+
const resolve = useMemo15(() => {
|
|
6466
6928
|
return createPropsResolver2({
|
|
6467
6929
|
transformers: stylesInheritanceTransformersRegistry,
|
|
6468
6930
|
schema: { [key]: propType }
|
|
6469
6931
|
});
|
|
6470
6932
|
}, [key, propType]);
|
|
6471
6933
|
const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
|
|
6472
|
-
const infotipContent = /* @__PURE__ */
|
|
6934
|
+
const infotipContent = /* @__PURE__ */ React100.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React100.createElement(
|
|
6473
6935
|
Card,
|
|
6474
6936
|
{
|
|
6475
6937
|
elevation: 0,
|
|
@@ -6482,8 +6944,8 @@ var StylesInheritanceInfotip = ({
|
|
|
6482
6944
|
flexDirection: "column"
|
|
6483
6945
|
}
|
|
6484
6946
|
},
|
|
6485
|
-
/* @__PURE__ */
|
|
6486
|
-
|
|
6947
|
+
/* @__PURE__ */ React100.createElement(
|
|
6948
|
+
Box9,
|
|
6487
6949
|
{
|
|
6488
6950
|
sx: {
|
|
6489
6951
|
position: "sticky",
|
|
@@ -6492,9 +6954,9 @@ var StylesInheritanceInfotip = ({
|
|
|
6492
6954
|
backgroundColor: "background.paper"
|
|
6493
6955
|
}
|
|
6494
6956
|
},
|
|
6495
|
-
/* @__PURE__ */
|
|
6957
|
+
/* @__PURE__ */ React100.createElement(PopoverHeader3, { title: __71("Style origin", "elementor"), onClose: closeInfotip })
|
|
6496
6958
|
),
|
|
6497
|
-
/* @__PURE__ */
|
|
6959
|
+
/* @__PURE__ */ React100.createElement(
|
|
6498
6960
|
CardContent,
|
|
6499
6961
|
{
|
|
6500
6962
|
sx: {
|
|
@@ -6508,39 +6970,39 @@ var StylesInheritanceInfotip = ({
|
|
|
6508
6970
|
}
|
|
6509
6971
|
}
|
|
6510
6972
|
},
|
|
6511
|
-
/* @__PURE__ */
|
|
6512
|
-
return /* @__PURE__ */
|
|
6513
|
-
|
|
6973
|
+
/* @__PURE__ */ React100.createElement(Stack17, { gap: 1.5, sx: { pl: 2, pr: 1, pt: 1.5, pb: 1.5 }, role: "list" }, items3.map((item, index) => {
|
|
6974
|
+
return /* @__PURE__ */ React100.createElement(
|
|
6975
|
+
Box9,
|
|
6514
6976
|
{
|
|
6515
6977
|
key: item.id,
|
|
6516
6978
|
display: "flex",
|
|
6517
6979
|
gap: 0.5,
|
|
6518
6980
|
role: "listitem",
|
|
6519
|
-
"aria-label":
|
|
6981
|
+
"aria-label": __71("Inheritance item: %s", "elementor").replace(
|
|
6520
6982
|
"%s",
|
|
6521
6983
|
item.displayLabel
|
|
6522
6984
|
)
|
|
6523
6985
|
},
|
|
6524
|
-
/* @__PURE__ */
|
|
6525
|
-
|
|
6986
|
+
/* @__PURE__ */ React100.createElement(
|
|
6987
|
+
Box9,
|
|
6526
6988
|
{
|
|
6527
6989
|
display: "flex",
|
|
6528
6990
|
gap: 0.5,
|
|
6529
6991
|
sx: { flexWrap: "wrap", width: "100%", alignItems: "flex-start" }
|
|
6530
6992
|
},
|
|
6531
|
-
/* @__PURE__ */
|
|
6532
|
-
/* @__PURE__ */
|
|
6533
|
-
/* @__PURE__ */
|
|
6993
|
+
/* @__PURE__ */ React100.createElement(BreakpointIcon, { breakpoint: item.breakpoint }),
|
|
6994
|
+
/* @__PURE__ */ React100.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }),
|
|
6995
|
+
/* @__PURE__ */ React100.createElement(ValueComponent, { index, value: item.value })
|
|
6534
6996
|
),
|
|
6535
|
-
/* @__PURE__ */
|
|
6997
|
+
/* @__PURE__ */ React100.createElement(ActionIcons, null)
|
|
6536
6998
|
);
|
|
6537
6999
|
}))
|
|
6538
7000
|
)
|
|
6539
7001
|
));
|
|
6540
7002
|
if (isDisabled) {
|
|
6541
|
-
return /* @__PURE__ */
|
|
7003
|
+
return /* @__PURE__ */ React100.createElement(Box9, { sx: { display: "inline-flex" } }, children);
|
|
6542
7004
|
}
|
|
6543
|
-
return /* @__PURE__ */
|
|
7005
|
+
return /* @__PURE__ */ React100.createElement(Box9, { ref: triggerRef, sx: { display: "inline-flex" } }, /* @__PURE__ */ React100.createElement(
|
|
6544
7006
|
TooltipOrInfotip,
|
|
6545
7007
|
{
|
|
6546
7008
|
showInfotip,
|
|
@@ -6548,7 +7010,7 @@ var StylesInheritanceInfotip = ({
|
|
|
6548
7010
|
infotipContent,
|
|
6549
7011
|
isDisabled
|
|
6550
7012
|
},
|
|
6551
|
-
/* @__PURE__ */
|
|
7013
|
+
/* @__PURE__ */ React100.createElement(
|
|
6552
7014
|
IconButton3,
|
|
6553
7015
|
{
|
|
6554
7016
|
onClick: toggleInfotip,
|
|
@@ -6568,10 +7030,10 @@ function TooltipOrInfotip({
|
|
|
6568
7030
|
isDisabled
|
|
6569
7031
|
}) {
|
|
6570
7032
|
if (isDisabled) {
|
|
6571
|
-
return /* @__PURE__ */
|
|
7033
|
+
return /* @__PURE__ */ React100.createElement(Box9, { sx: { display: "inline-flex" } }, children);
|
|
6572
7034
|
}
|
|
6573
7035
|
if (showInfotip) {
|
|
6574
|
-
return /* @__PURE__ */
|
|
7036
|
+
return /* @__PURE__ */ React100.createElement(React100.Fragment, null, /* @__PURE__ */ React100.createElement(
|
|
6575
7037
|
Backdrop,
|
|
6576
7038
|
{
|
|
6577
7039
|
open: showInfotip,
|
|
@@ -6581,8 +7043,8 @@ function TooltipOrInfotip({
|
|
|
6581
7043
|
zIndex: (theme) => theme.zIndex.modal - 1
|
|
6582
7044
|
}
|
|
6583
7045
|
}
|
|
6584
|
-
), /* @__PURE__ */
|
|
6585
|
-
|
|
7046
|
+
), /* @__PURE__ */ React100.createElement(
|
|
7047
|
+
Infotip3,
|
|
6586
7048
|
{
|
|
6587
7049
|
placement: "top-end",
|
|
6588
7050
|
content: infotipContent,
|
|
@@ -6593,7 +7055,7 @@ function TooltipOrInfotip({
|
|
|
6593
7055
|
children
|
|
6594
7056
|
));
|
|
6595
7057
|
}
|
|
6596
|
-
return /* @__PURE__ */
|
|
7058
|
+
return /* @__PURE__ */ React100.createElement(Tooltip6, { title: __71("Style origin", "elementor"), placement: "top" }, children);
|
|
6597
7059
|
}
|
|
6598
7060
|
|
|
6599
7061
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
@@ -6606,7 +7068,7 @@ var StylesInheritanceIndicator = ({
|
|
|
6606
7068
|
if (!path || !inheritanceChain.length) {
|
|
6607
7069
|
return null;
|
|
6608
7070
|
}
|
|
6609
|
-
return /* @__PURE__ */
|
|
7071
|
+
return /* @__PURE__ */ React101.createElement(Indicator, { inheritanceChain, path, propType });
|
|
6610
7072
|
};
|
|
6611
7073
|
var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
|
|
6612
7074
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
@@ -6622,7 +7084,7 @@ var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
|
|
|
6622
7084
|
getColor: isFinalValue && currentStyleProvider ? getStylesProviderThemeColor(currentStyleProvider.getKey()) : void 0,
|
|
6623
7085
|
isOverridden: hasValue && !isFinalValue ? true : void 0
|
|
6624
7086
|
};
|
|
6625
|
-
return /* @__PURE__ */
|
|
7087
|
+
return /* @__PURE__ */ React101.createElement(
|
|
6626
7088
|
StylesInheritanceInfotip,
|
|
6627
7089
|
{
|
|
6628
7090
|
inheritanceChain,
|
|
@@ -6631,17 +7093,17 @@ var Indicator = ({ inheritanceChain, path, propType, isDisabled }) => {
|
|
|
6631
7093
|
label,
|
|
6632
7094
|
isDisabled
|
|
6633
7095
|
},
|
|
6634
|
-
/* @__PURE__ */
|
|
7096
|
+
/* @__PURE__ */ React101.createElement(StyleIndicator, { ...styleIndicatorProps })
|
|
6635
7097
|
);
|
|
6636
7098
|
};
|
|
6637
7099
|
var getLabel = ({ isFinalValue, hasValue }) => {
|
|
6638
7100
|
if (isFinalValue) {
|
|
6639
|
-
return
|
|
7101
|
+
return __72("This is the final value", "elementor");
|
|
6640
7102
|
}
|
|
6641
7103
|
if (hasValue) {
|
|
6642
|
-
return
|
|
7104
|
+
return __72("This value is overridden by another style", "elementor");
|
|
6643
7105
|
}
|
|
6644
|
-
return
|
|
7106
|
+
return __72("This has value from another style", "elementor");
|
|
6645
7107
|
};
|
|
6646
7108
|
|
|
6647
7109
|
// src/styles-inheritance/init-styles-inheritance-transformers.ts
|
|
@@ -6666,7 +7128,7 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
|
|
|
6666
7128
|
]);
|
|
6667
7129
|
|
|
6668
7130
|
// src/styles-inheritance/transformers/array-transformer.tsx
|
|
6669
|
-
import * as
|
|
7131
|
+
import * as React102 from "react";
|
|
6670
7132
|
import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
|
|
6671
7133
|
var arrayTransformer = createTransformer2((values) => {
|
|
6672
7134
|
if (!values || values.length === 0) {
|
|
@@ -6676,18 +7138,18 @@ var arrayTransformer = createTransformer2((values) => {
|
|
|
6676
7138
|
if (allStrings) {
|
|
6677
7139
|
return values.join(" ");
|
|
6678
7140
|
}
|
|
6679
|
-
return /* @__PURE__ */
|
|
7141
|
+
return /* @__PURE__ */ React102.createElement(React102.Fragment, null, values.map((item, index) => /* @__PURE__ */ React102.createElement(React102.Fragment, { key: index }, index > 0 && " ", item)));
|
|
6680
7142
|
});
|
|
6681
7143
|
|
|
6682
7144
|
// src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
|
|
6683
|
-
import * as
|
|
7145
|
+
import * as React103 from "react";
|
|
6684
7146
|
import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
|
|
6685
|
-
import { Stack as Stack18, styled as
|
|
6686
|
-
var backgroundColorOverlayTransformer = createTransformer3((value) => /* @__PURE__ */
|
|
7147
|
+
import { Stack as Stack18, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
|
|
7148
|
+
var backgroundColorOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React103.createElement(Stack18, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React103.createElement(ItemLabelColor, { value })));
|
|
6687
7149
|
var ItemLabelColor = ({ value: { color } }) => {
|
|
6688
|
-
return /* @__PURE__ */
|
|
7150
|
+
return /* @__PURE__ */ React103.createElement("span", null, color);
|
|
6689
7151
|
};
|
|
6690
|
-
var StyledUnstableColorIndicator =
|
|
7152
|
+
var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
|
|
6691
7153
|
width: "1em",
|
|
6692
7154
|
height: "1em",
|
|
6693
7155
|
borderRadius: `${theme.shape.borderRadius / 2}px`,
|
|
@@ -6696,20 +7158,20 @@ var StyledUnstableColorIndicator = styled6(UnstableColorIndicator)(({ theme }) =
|
|
|
6696
7158
|
}));
|
|
6697
7159
|
|
|
6698
7160
|
// src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
|
|
6699
|
-
import * as
|
|
7161
|
+
import * as React104 from "react";
|
|
6700
7162
|
import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
|
|
6701
7163
|
import { Stack as Stack19 } from "@elementor/ui";
|
|
6702
|
-
import { __ as
|
|
6703
|
-
var backgroundGradientOverlayTransformer = createTransformer4((value) => /* @__PURE__ */
|
|
7164
|
+
import { __ as __73 } from "@wordpress/i18n";
|
|
7165
|
+
var backgroundGradientOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React104.createElement(Stack19, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React104.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React104.createElement(ItemLabelGradient, { value })));
|
|
6704
7166
|
var ItemIconGradient = ({ value }) => {
|
|
6705
7167
|
const gradient = getGradientValue(value);
|
|
6706
|
-
return /* @__PURE__ */
|
|
7168
|
+
return /* @__PURE__ */ React104.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
6707
7169
|
};
|
|
6708
7170
|
var ItemLabelGradient = ({ value }) => {
|
|
6709
7171
|
if (value.type === "linear") {
|
|
6710
|
-
return /* @__PURE__ */
|
|
7172
|
+
return /* @__PURE__ */ React104.createElement("span", null, __73("Linear gradient", "elementor"));
|
|
6711
7173
|
}
|
|
6712
|
-
return /* @__PURE__ */
|
|
7174
|
+
return /* @__PURE__ */ React104.createElement("span", null, __73("Radial gradient", "elementor"));
|
|
6713
7175
|
};
|
|
6714
7176
|
var getGradientValue = (gradient) => {
|
|
6715
7177
|
const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
|
|
@@ -6720,15 +7182,15 @@ var getGradientValue = (gradient) => {
|
|
|
6720
7182
|
};
|
|
6721
7183
|
|
|
6722
7184
|
// src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
|
|
6723
|
-
import * as
|
|
7185
|
+
import * as React105 from "react";
|
|
6724
7186
|
import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
|
|
6725
7187
|
import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
|
|
6726
7188
|
import { CardMedia, Stack as Stack20 } from "@elementor/ui";
|
|
6727
7189
|
import { useWpMediaAttachment } from "@elementor/wp-media";
|
|
6728
|
-
var backgroundImageOverlayTransformer = createTransformer5((value) => /* @__PURE__ */
|
|
7190
|
+
var backgroundImageOverlayTransformer = createTransformer5((value) => /* @__PURE__ */ React105.createElement(Stack20, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React105.createElement(ItemIconImage, { value }), /* @__PURE__ */ React105.createElement(ItemLabelImage, { value })));
|
|
6729
7191
|
var ItemIconImage = ({ value }) => {
|
|
6730
7192
|
const { imageUrl } = useImage(value);
|
|
6731
|
-
return /* @__PURE__ */
|
|
7193
|
+
return /* @__PURE__ */ React105.createElement(
|
|
6732
7194
|
CardMedia,
|
|
6733
7195
|
{
|
|
6734
7196
|
image: imageUrl,
|
|
@@ -6744,7 +7206,7 @@ var ItemIconImage = ({ value }) => {
|
|
|
6744
7206
|
};
|
|
6745
7207
|
var ItemLabelImage = ({ value }) => {
|
|
6746
7208
|
const { imageTitle } = useImage(value);
|
|
6747
|
-
return /* @__PURE__ */
|
|
7209
|
+
return /* @__PURE__ */ React105.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React105.createElement("span", null, imageTitle));
|
|
6748
7210
|
};
|
|
6749
7211
|
var useImage = (image) => {
|
|
6750
7212
|
let imageTitle, imageUrl = null;
|
|
@@ -6769,7 +7231,7 @@ var getFileExtensionFromFilename = (filename) => {
|
|
|
6769
7231
|
};
|
|
6770
7232
|
|
|
6771
7233
|
// src/styles-inheritance/transformers/box-shadow-transformer.tsx
|
|
6772
|
-
import * as
|
|
7234
|
+
import * as React106 from "react";
|
|
6773
7235
|
import { createTransformer as createTransformer6 } from "@elementor/editor-canvas";
|
|
6774
7236
|
var boxShadowTransformer = createTransformer6((value) => {
|
|
6775
7237
|
if (!value) {
|
|
@@ -6779,20 +7241,20 @@ var boxShadowTransformer = createTransformer6((value) => {
|
|
|
6779
7241
|
const colorValue = color || "#000000";
|
|
6780
7242
|
const sizes = [hOffset || "0px", vOffset || "0px", blur || "10px", spread || "0px"].join(" ");
|
|
6781
7243
|
const positionValue = position || "outset";
|
|
6782
|
-
return /* @__PURE__ */
|
|
7244
|
+
return /* @__PURE__ */ React106.createElement(React106.Fragment, null, colorValue, " ", positionValue, ", ", sizes);
|
|
6783
7245
|
});
|
|
6784
7246
|
|
|
6785
7247
|
// src/styles-inheritance/transformers/color-transformer.tsx
|
|
6786
|
-
import * as
|
|
7248
|
+
import * as React107 from "react";
|
|
6787
7249
|
import { createTransformer as createTransformer7 } from "@elementor/editor-canvas";
|
|
6788
|
-
import { Stack as Stack21, styled as
|
|
7250
|
+
import { Stack as Stack21, styled as styled8, UnstableColorIndicator as UnstableColorIndicator2 } from "@elementor/ui";
|
|
6789
7251
|
function isValidCSSColor(value) {
|
|
6790
7252
|
if (!value.trim()) {
|
|
6791
7253
|
return false;
|
|
6792
7254
|
}
|
|
6793
7255
|
return CSS.supports("color", value.trim());
|
|
6794
7256
|
}
|
|
6795
|
-
var StyledColorIndicator =
|
|
7257
|
+
var StyledColorIndicator = styled8(UnstableColorIndicator2)(({ theme }) => ({
|
|
6796
7258
|
width: "1em",
|
|
6797
7259
|
height: "1em",
|
|
6798
7260
|
borderRadius: `${theme.shape.borderRadius / 2}px`,
|
|
@@ -6803,14 +7265,14 @@ var colorTransformer = createTransformer7((value) => {
|
|
|
6803
7265
|
if (!isValidCSSColor(value)) {
|
|
6804
7266
|
return value;
|
|
6805
7267
|
}
|
|
6806
|
-
return /* @__PURE__ */
|
|
7268
|
+
return /* @__PURE__ */ React107.createElement(Stack21, { direction: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React107.createElement(StyledColorIndicator, { size: "inherit", component: "span", value }), /* @__PURE__ */ React107.createElement("span", null, value));
|
|
6807
7269
|
});
|
|
6808
7270
|
|
|
6809
7271
|
// src/styles-inheritance/transformers/repeater-to-items-transformer.tsx
|
|
6810
7272
|
import { createTransformer as createTransformer8 } from "@elementor/editor-canvas";
|
|
6811
7273
|
var createRepeaterToItemsTransformer = (originalTransformer) => {
|
|
6812
|
-
return createTransformer8((value,
|
|
6813
|
-
const stringResult = originalTransformer(value,
|
|
7274
|
+
return createTransformer8((value, options13) => {
|
|
7275
|
+
const stringResult = originalTransformer(value, options13);
|
|
6814
7276
|
if (!stringResult || typeof stringResult !== "string") {
|
|
6815
7277
|
return stringResult;
|
|
6816
7278
|
}
|