@elementor/editor-controls 4.0.0-535 → 4.0.0-536
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 +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +142 -107
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +107 -73
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/components/promotions/attributes-control.tsx +36 -0
- package/src/components/promotions/types.ts +1 -1
- package/src/index.ts +1 -0
package/dist/index.d.mts
CHANGED
|
@@ -394,13 +394,15 @@ declare const ControlFormLabel: (props: FormLabelProps) => React$1.JSX.Element;
|
|
|
394
394
|
|
|
395
395
|
declare const DisplayConditionsControl: ControlComponent$1<() => React$1.JSX.Element>;
|
|
396
396
|
|
|
397
|
+
declare const AttributesControl: ControlComponent$1<() => React$1.JSX.Element>;
|
|
398
|
+
|
|
397
399
|
type V4PromotionData = {
|
|
398
400
|
title: string;
|
|
399
401
|
content: string;
|
|
400
402
|
image: string;
|
|
401
403
|
ctaUrl: string;
|
|
402
404
|
};
|
|
403
|
-
type V4PromotionKey = 'displayConditions' | 'customCss';
|
|
405
|
+
type V4PromotionKey = 'displayConditions' | 'customCss' | 'attributes';
|
|
404
406
|
|
|
405
407
|
type PromotionTriggerProps = {
|
|
406
408
|
promotionKey: V4PromotionKey;
|
|
@@ -697,4 +699,4 @@ declare const useElementCanHaveChildren: () => boolean;
|
|
|
697
699
|
|
|
698
700
|
declare const useFontFamilies: () => FontCategory[];
|
|
699
701
|
|
|
700
|
-
export { type AdornmentComponent, type AngleUnit, AspectRatioControl, BackgroundControl, BoxShadowRepeaterControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, type EqualUnequalItems, EqualUnequalSizesControl, type ExtendedOption, FilterRepeaterControl, type FontCategory, FontFamilyControl, GapControl, HtmlTagControl, ImageControl, InlineEditingControl, InlineEditor, InlineEditorToolbar, type InlineEditorToolbarProps, ItemSelector, type ItemsActionPayload, KeyValueControl, type LengthUnit, LinkControl, LinkedDimensionsControl, NumberControl, PopoverContent, PopoverGridContainer, PositionControl, PromotionTrigger, type PromotionTriggerRef, PropKeyProvider, PropProvider, type PropProviderProps, QueryControl, RepeatableControl, Repeater, type RepeaterItem, SelectControl, SelectControlWrapper, type SetRepeaterValuesMeta, type SetValue, type SetValueMeta, SizeControl, StrokeControl, SvgMediaControl, SwitchControl, TextAreaControl, TextControl, type TimeUnit, type ToggleButtonGroupItem, ToggleButtonGroupUi, ToggleControl, type ToggleControlProps, TransformRepeaterControl, TransformSettingsControl, TransitionRepeaterControl, type Unit, UnstableSizeField, UrlControl, type V4PromotionData, type V4PromotionKey, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, registerControlReplacement, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useElementCanHaveChildren, useFontFamilies, useSyncExternalState };
|
|
702
|
+
export { type AdornmentComponent, type AngleUnit, AspectRatioControl, AttributesControl, BackgroundControl, BoxShadowRepeaterControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, type EqualUnequalItems, EqualUnequalSizesControl, type ExtendedOption, FilterRepeaterControl, type FontCategory, FontFamilyControl, GapControl, HtmlTagControl, ImageControl, InlineEditingControl, InlineEditor, InlineEditorToolbar, type InlineEditorToolbarProps, ItemSelector, type ItemsActionPayload, KeyValueControl, type LengthUnit, LinkControl, LinkedDimensionsControl, NumberControl, PopoverContent, PopoverGridContainer, PositionControl, PromotionTrigger, type PromotionTriggerRef, PropKeyProvider, PropProvider, type PropProviderProps, QueryControl, RepeatableControl, Repeater, type RepeaterItem, SelectControl, SelectControlWrapper, type SetRepeaterValuesMeta, type SetValue, type SetValueMeta, SizeControl, StrokeControl, SvgMediaControl, SwitchControl, TextAreaControl, TextControl, type TimeUnit, type ToggleButtonGroupItem, ToggleButtonGroupUi, ToggleControl, type ToggleControlProps, TransformRepeaterControl, TransformSettingsControl, TransitionRepeaterControl, type Unit, UnstableSizeField, UrlControl, type V4PromotionData, type V4PromotionKey, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, registerControlReplacement, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useElementCanHaveChildren, useFontFamilies, useSyncExternalState };
|
package/dist/index.d.ts
CHANGED
|
@@ -394,13 +394,15 @@ declare const ControlFormLabel: (props: FormLabelProps) => React$1.JSX.Element;
|
|
|
394
394
|
|
|
395
395
|
declare const DisplayConditionsControl: ControlComponent$1<() => React$1.JSX.Element>;
|
|
396
396
|
|
|
397
|
+
declare const AttributesControl: ControlComponent$1<() => React$1.JSX.Element>;
|
|
398
|
+
|
|
397
399
|
type V4PromotionData = {
|
|
398
400
|
title: string;
|
|
399
401
|
content: string;
|
|
400
402
|
image: string;
|
|
401
403
|
ctaUrl: string;
|
|
402
404
|
};
|
|
403
|
-
type V4PromotionKey = 'displayConditions' | 'customCss';
|
|
405
|
+
type V4PromotionKey = 'displayConditions' | 'customCss' | 'attributes';
|
|
404
406
|
|
|
405
407
|
type PromotionTriggerProps = {
|
|
406
408
|
promotionKey: V4PromotionKey;
|
|
@@ -697,4 +699,4 @@ declare const useElementCanHaveChildren: () => boolean;
|
|
|
697
699
|
|
|
698
700
|
declare const useFontFamilies: () => FontCategory[];
|
|
699
701
|
|
|
700
|
-
export { type AdornmentComponent, type AngleUnit, AspectRatioControl, BackgroundControl, BoxShadowRepeaterControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, type EqualUnequalItems, EqualUnequalSizesControl, type ExtendedOption, FilterRepeaterControl, type FontCategory, FontFamilyControl, GapControl, HtmlTagControl, ImageControl, InlineEditingControl, InlineEditor, InlineEditorToolbar, type InlineEditorToolbarProps, ItemSelector, type ItemsActionPayload, KeyValueControl, type LengthUnit, LinkControl, LinkedDimensionsControl, NumberControl, PopoverContent, PopoverGridContainer, PositionControl, PromotionTrigger, type PromotionTriggerRef, PropKeyProvider, PropProvider, type PropProviderProps, QueryControl, RepeatableControl, Repeater, type RepeaterItem, SelectControl, SelectControlWrapper, type SetRepeaterValuesMeta, type SetValue, type SetValueMeta, SizeControl, StrokeControl, SvgMediaControl, SwitchControl, TextAreaControl, TextControl, type TimeUnit, type ToggleButtonGroupItem, ToggleButtonGroupUi, ToggleControl, type ToggleControlProps, TransformRepeaterControl, TransformSettingsControl, TransitionRepeaterControl, type Unit, UnstableSizeField, UrlControl, type V4PromotionData, type V4PromotionKey, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, registerControlReplacement, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useElementCanHaveChildren, useFontFamilies, useSyncExternalState };
|
|
702
|
+
export { type AdornmentComponent, type AngleUnit, AspectRatioControl, AttributesControl, BackgroundControl, BoxShadowRepeaterControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, type EqualUnequalItems, EqualUnequalSizesControl, type ExtendedOption, FilterRepeaterControl, type FontCategory, FontFamilyControl, GapControl, HtmlTagControl, ImageControl, InlineEditingControl, InlineEditor, InlineEditorToolbar, type InlineEditorToolbarProps, ItemSelector, type ItemsActionPayload, KeyValueControl, type LengthUnit, LinkControl, LinkedDimensionsControl, NumberControl, PopoverContent, PopoverGridContainer, PositionControl, PromotionTrigger, type PromotionTriggerRef, PropKeyProvider, PropProvider, type PropProviderProps, QueryControl, RepeatableControl, Repeater, type RepeaterItem, SelectControl, SelectControlWrapper, type SetRepeaterValuesMeta, type SetValue, type SetValueMeta, SizeControl, StrokeControl, SvgMediaControl, SwitchControl, TextAreaControl, TextControl, type TimeUnit, type ToggleButtonGroupItem, ToggleButtonGroupUi, ToggleControl, type ToggleControlProps, TransformRepeaterControl, TransformSettingsControl, TransitionRepeaterControl, type Unit, UnstableSizeField, UrlControl, type V4PromotionData, type V4PromotionKey, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, registerControlReplacement, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useElementCanHaveChildren, useFontFamilies, useSyncExternalState };
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
AspectRatioControl: () => AspectRatioControl,
|
|
34
|
+
AttributesControl: () => AttributesControl,
|
|
34
35
|
BackgroundControl: () => BackgroundControl,
|
|
35
36
|
BoxShadowRepeaterControl: () => BoxShadowRepeaterControl,
|
|
36
37
|
ClearIconButton: () => ClearIconButton,
|
|
@@ -6533,22 +6534,55 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
6533
6534
|
);
|
|
6534
6535
|
});
|
|
6535
6536
|
|
|
6536
|
-
// src/components/
|
|
6537
|
+
// src/components/promotions/attributes-control.tsx
|
|
6537
6538
|
var React102 = __toESM(require("react"));
|
|
6539
|
+
var import_react56 = require("react");
|
|
6538
6540
|
var import_icons34 = require("@elementor/icons");
|
|
6539
6541
|
var import_ui88 = require("@elementor/ui");
|
|
6540
|
-
var
|
|
6542
|
+
var import_i18n51 = require("@wordpress/i18n");
|
|
6543
|
+
var ARIA_LABEL2 = (0, import_i18n51.__)("Attributes", "elementor");
|
|
6544
|
+
var AttributesControl = createControl(() => {
|
|
6545
|
+
const triggerRef = (0, import_react56.useRef)(null);
|
|
6546
|
+
return /* @__PURE__ */ React102.createElement(
|
|
6547
|
+
import_ui88.Stack,
|
|
6548
|
+
{
|
|
6549
|
+
direction: "row",
|
|
6550
|
+
spacing: 2,
|
|
6551
|
+
sx: {
|
|
6552
|
+
justifyContent: "flex-end",
|
|
6553
|
+
alignItems: "center"
|
|
6554
|
+
}
|
|
6555
|
+
},
|
|
6556
|
+
/* @__PURE__ */ React102.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes" }),
|
|
6557
|
+
/* @__PURE__ */ React102.createElement(import_ui88.Tooltip, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React102.createElement(
|
|
6558
|
+
import_icons34.PlusIcon,
|
|
6559
|
+
{
|
|
6560
|
+
"aria-label": ARIA_LABEL2,
|
|
6561
|
+
fontSize: "tiny",
|
|
6562
|
+
color: "disabled",
|
|
6563
|
+
onClick: () => triggerRef.current?.toggle(),
|
|
6564
|
+
sx: { cursor: "pointer" }
|
|
6565
|
+
}
|
|
6566
|
+
))
|
|
6567
|
+
);
|
|
6568
|
+
});
|
|
6569
|
+
|
|
6570
|
+
// src/components/icon-buttons/clear-icon-button.tsx
|
|
6571
|
+
var React103 = __toESM(require("react"));
|
|
6572
|
+
var import_icons35 = require("@elementor/icons");
|
|
6573
|
+
var import_ui89 = require("@elementor/ui");
|
|
6574
|
+
var CustomIconButton = (0, import_ui89.styled)(import_ui89.IconButton)(({ theme }) => ({
|
|
6541
6575
|
width: theme.spacing(2.5),
|
|
6542
6576
|
height: theme.spacing(2.5)
|
|
6543
6577
|
}));
|
|
6544
|
-
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */
|
|
6578
|
+
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React103.createElement(import_ui89.Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React103.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React103.createElement(import_icons35.BrushBigIcon, { fontSize: size })));
|
|
6545
6579
|
|
|
6546
6580
|
// src/components/repeater/repeater.tsx
|
|
6547
|
-
var
|
|
6548
|
-
var
|
|
6549
|
-
var
|
|
6550
|
-
var
|
|
6551
|
-
var
|
|
6581
|
+
var React104 = __toESM(require("react"));
|
|
6582
|
+
var import_react57 = require("react");
|
|
6583
|
+
var import_icons36 = require("@elementor/icons");
|
|
6584
|
+
var import_ui90 = require("@elementor/ui");
|
|
6585
|
+
var import_i18n52 = require("@wordpress/i18n");
|
|
6552
6586
|
var SIZE9 = "tiny";
|
|
6553
6587
|
var EMPTY_OPEN_ITEM2 = -1;
|
|
6554
6588
|
var Repeater3 = ({
|
|
@@ -6566,7 +6600,7 @@ var Repeater3 = ({
|
|
|
6566
6600
|
openItem: initialOpenItem = EMPTY_OPEN_ITEM2,
|
|
6567
6601
|
isSortable = true
|
|
6568
6602
|
}) => {
|
|
6569
|
-
const [openItem, setOpenItem] = (0,
|
|
6603
|
+
const [openItem, setOpenItem] = (0, import_react57.useState)(initialOpenItem);
|
|
6570
6604
|
const uniqueKeys = items2.map(
|
|
6571
6605
|
(item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
|
|
6572
6606
|
);
|
|
@@ -6629,8 +6663,8 @@ var Repeater3 = ({
|
|
|
6629
6663
|
};
|
|
6630
6664
|
const isButtonDisabled = disabled || disableAddItemButton;
|
|
6631
6665
|
const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
|
|
6632
|
-
const addButton = /* @__PURE__ */
|
|
6633
|
-
|
|
6666
|
+
const addButton = /* @__PURE__ */ React104.createElement(
|
|
6667
|
+
import_ui90.IconButton,
|
|
6634
6668
|
{
|
|
6635
6669
|
size: SIZE9,
|
|
6636
6670
|
sx: {
|
|
@@ -6638,32 +6672,32 @@ var Repeater3 = ({
|
|
|
6638
6672
|
},
|
|
6639
6673
|
disabled: isButtonDisabled,
|
|
6640
6674
|
onClick: addRepeaterItem,
|
|
6641
|
-
"aria-label": (0,
|
|
6675
|
+
"aria-label": (0, import_i18n52.__)("Add item", "elementor")
|
|
6642
6676
|
},
|
|
6643
|
-
/* @__PURE__ */
|
|
6677
|
+
/* @__PURE__ */ React104.createElement(import_icons36.PlusIcon, { fontSize: SIZE9 })
|
|
6644
6678
|
);
|
|
6645
|
-
return /* @__PURE__ */
|
|
6646
|
-
|
|
6679
|
+
return /* @__PURE__ */ React104.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React104.createElement(RepeaterHeader, { label, adornment: ControlAdornments }, shouldShowInfotip ? /* @__PURE__ */ React104.createElement(
|
|
6680
|
+
import_ui90.Infotip,
|
|
6647
6681
|
{
|
|
6648
6682
|
placement: "right",
|
|
6649
6683
|
content: addButtonInfotipContent,
|
|
6650
6684
|
color: "secondary",
|
|
6651
6685
|
slotProps: { popper: { sx: { width: 300 } } }
|
|
6652
6686
|
},
|
|
6653
|
-
/* @__PURE__ */
|
|
6654
|
-
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */
|
|
6687
|
+
/* @__PURE__ */ React104.createElement(import_ui90.Box, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
|
|
6688
|
+
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React104.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
|
|
6655
6689
|
const index = uniqueKeys.indexOf(key);
|
|
6656
6690
|
const value = items2[index];
|
|
6657
6691
|
if (!value) {
|
|
6658
6692
|
return null;
|
|
6659
6693
|
}
|
|
6660
|
-
return /* @__PURE__ */
|
|
6694
|
+
return /* @__PURE__ */ React104.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React104.createElement(
|
|
6661
6695
|
RepeaterItem,
|
|
6662
6696
|
{
|
|
6663
6697
|
disabled,
|
|
6664
6698
|
propDisabled: value?.disabled,
|
|
6665
|
-
label: /* @__PURE__ */
|
|
6666
|
-
startIcon: /* @__PURE__ */
|
|
6699
|
+
label: /* @__PURE__ */ React104.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React104.createElement(itemSettings.Label, { value, index })),
|
|
6700
|
+
startIcon: /* @__PURE__ */ React104.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React104.createElement(itemSettings.Icon, { value })),
|
|
6667
6701
|
removeItem: () => removeRepeaterItem(index),
|
|
6668
6702
|
duplicateItem: () => duplicateRepeaterItem(index),
|
|
6669
6703
|
toggleDisableItem: () => toggleDisableRepeaterItem(index),
|
|
@@ -6675,7 +6709,7 @@ var Repeater3 = ({
|
|
|
6675
6709
|
actions: itemSettings.actions,
|
|
6676
6710
|
value
|
|
6677
6711
|
},
|
|
6678
|
-
(props) => /* @__PURE__ */
|
|
6712
|
+
(props) => /* @__PURE__ */ React104.createElement(
|
|
6679
6713
|
itemSettings.Content,
|
|
6680
6714
|
{
|
|
6681
6715
|
...props,
|
|
@@ -6705,27 +6739,27 @@ var RepeaterItem = ({
|
|
|
6705
6739
|
value
|
|
6706
6740
|
}) => {
|
|
6707
6741
|
const { popoverState, popoverProps, ref, setRef } = usePopover(openOnMount, onOpen);
|
|
6708
|
-
const duplicateLabel = (0,
|
|
6709
|
-
const toggleLabel = propDisabled ? (0,
|
|
6710
|
-
const removeLabel = (0,
|
|
6711
|
-
return /* @__PURE__ */
|
|
6742
|
+
const duplicateLabel = (0, import_i18n52.__)("Duplicate", "elementor");
|
|
6743
|
+
const toggleLabel = propDisabled ? (0, import_i18n52.__)("Show", "elementor") : (0, import_i18n52.__)("Hide", "elementor");
|
|
6744
|
+
const removeLabel = (0, import_i18n52.__)("Remove", "elementor");
|
|
6745
|
+
return /* @__PURE__ */ React104.createElement(React104.Fragment, null, /* @__PURE__ */ React104.createElement(
|
|
6712
6746
|
RepeaterTag,
|
|
6713
6747
|
{
|
|
6714
6748
|
disabled,
|
|
6715
6749
|
label,
|
|
6716
6750
|
ref: setRef,
|
|
6717
|
-
"aria-label": (0,
|
|
6718
|
-
...(0,
|
|
6751
|
+
"aria-label": (0, import_i18n52.__)("Open item", "elementor"),
|
|
6752
|
+
...(0, import_ui90.bindTrigger)(popoverState),
|
|
6719
6753
|
startIcon,
|
|
6720
|
-
actions: /* @__PURE__ */
|
|
6754
|
+
actions: /* @__PURE__ */ React104.createElement(React104.Fragment, null, showDuplicate && /* @__PURE__ */ React104.createElement(import_ui90.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(import_ui90.IconButton, { size: SIZE9, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React104.createElement(import_icons36.CopyIcon, { fontSize: SIZE9 }))), showToggle && /* @__PURE__ */ React104.createElement(import_ui90.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(import_ui90.IconButton, { size: SIZE9, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React104.createElement(import_icons36.EyeOffIcon, { fontSize: SIZE9 }) : /* @__PURE__ */ React104.createElement(import_icons36.EyeIcon, { fontSize: SIZE9 }))), actions?.(value), showRemove && /* @__PURE__ */ React104.createElement(import_ui90.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(import_ui90.IconButton, { size: SIZE9, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React104.createElement(import_icons36.XIcon, { fontSize: SIZE9 }))))
|
|
6721
6755
|
}
|
|
6722
|
-
), /* @__PURE__ */
|
|
6756
|
+
), /* @__PURE__ */ React104.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React104.createElement(import_ui90.Box, null, children({ anchorEl: ref }))));
|
|
6723
6757
|
};
|
|
6724
6758
|
var usePopover = (openOnMount, onOpen) => {
|
|
6725
|
-
const [ref, setRef] = (0,
|
|
6726
|
-
const popoverState = (0,
|
|
6727
|
-
const popoverProps = (0,
|
|
6728
|
-
(0,
|
|
6759
|
+
const [ref, setRef] = (0, import_react57.useState)(null);
|
|
6760
|
+
const popoverState = (0, import_ui90.usePopupState)({ variant: "popover" });
|
|
6761
|
+
const popoverProps = (0, import_ui90.bindPopover)(popoverState);
|
|
6762
|
+
(0, import_react57.useEffect)(() => {
|
|
6729
6763
|
if (openOnMount && ref) {
|
|
6730
6764
|
popoverState.open(ref);
|
|
6731
6765
|
onOpen?.();
|
|
@@ -6740,20 +6774,20 @@ var usePopover = (openOnMount, onOpen) => {
|
|
|
6740
6774
|
};
|
|
6741
6775
|
|
|
6742
6776
|
// src/components/inline-editor-toolbar.tsx
|
|
6777
|
+
var React106 = __toESM(require("react"));
|
|
6778
|
+
var import_react59 = require("react");
|
|
6779
|
+
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
6780
|
+
var import_icons38 = require("@elementor/icons");
|
|
6781
|
+
var import_ui92 = require("@elementor/ui");
|
|
6782
|
+
var import_react60 = require("@tiptap/react");
|
|
6783
|
+
var import_i18n54 = require("@wordpress/i18n");
|
|
6784
|
+
|
|
6785
|
+
// src/components/url-popover.tsx
|
|
6743
6786
|
var React105 = __toESM(require("react"));
|
|
6744
6787
|
var import_react58 = require("react");
|
|
6745
|
-
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
6746
6788
|
var import_icons37 = require("@elementor/icons");
|
|
6747
6789
|
var import_ui91 = require("@elementor/ui");
|
|
6748
|
-
var import_react59 = require("@tiptap/react");
|
|
6749
6790
|
var import_i18n53 = require("@wordpress/i18n");
|
|
6750
|
-
|
|
6751
|
-
// src/components/url-popover.tsx
|
|
6752
|
-
var React104 = __toESM(require("react"));
|
|
6753
|
-
var import_react57 = require("react");
|
|
6754
|
-
var import_icons36 = require("@elementor/icons");
|
|
6755
|
-
var import_ui90 = require("@elementor/ui");
|
|
6756
|
-
var import_i18n52 = require("@wordpress/i18n");
|
|
6757
6791
|
var UrlPopover = ({
|
|
6758
6792
|
popupState,
|
|
6759
6793
|
restoreValue,
|
|
@@ -6763,8 +6797,8 @@ var UrlPopover = ({
|
|
|
6763
6797
|
openInNewTab,
|
|
6764
6798
|
onToggleNewTab
|
|
6765
6799
|
}) => {
|
|
6766
|
-
const inputRef = (0,
|
|
6767
|
-
(0,
|
|
6800
|
+
const inputRef = (0, import_react58.useRef)(null);
|
|
6801
|
+
(0, import_react58.useEffect)(() => {
|
|
6768
6802
|
if (popupState.isOpen) {
|
|
6769
6803
|
requestAnimationFrame(() => inputRef.current?.focus());
|
|
6770
6804
|
}
|
|
@@ -6773,57 +6807,57 @@ var UrlPopover = ({
|
|
|
6773
6807
|
restoreValue();
|
|
6774
6808
|
popupState.close();
|
|
6775
6809
|
};
|
|
6776
|
-
return /* @__PURE__ */
|
|
6777
|
-
|
|
6810
|
+
return /* @__PURE__ */ React105.createElement(
|
|
6811
|
+
import_ui91.Popover,
|
|
6778
6812
|
{
|
|
6779
6813
|
slotProps: {
|
|
6780
6814
|
paper: { sx: { borderRadius: "16px", width: anchorRef.current?.offsetWidth + "px", marginTop: -1 } }
|
|
6781
6815
|
},
|
|
6782
|
-
...(0,
|
|
6816
|
+
...(0, import_ui91.bindPopover)(popupState),
|
|
6783
6817
|
anchorOrigin: { vertical: "top", horizontal: "left" },
|
|
6784
6818
|
transformOrigin: { vertical: "top", horizontal: "left" },
|
|
6785
6819
|
onClose: handleClose
|
|
6786
6820
|
},
|
|
6787
|
-
/* @__PURE__ */
|
|
6788
|
-
|
|
6821
|
+
/* @__PURE__ */ React105.createElement(import_ui91.Stack, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React105.createElement(
|
|
6822
|
+
import_ui91.TextField,
|
|
6789
6823
|
{
|
|
6790
6824
|
value,
|
|
6791
6825
|
onChange,
|
|
6792
6826
|
size: "tiny",
|
|
6793
6827
|
fullWidth: true,
|
|
6794
|
-
placeholder: (0,
|
|
6828
|
+
placeholder: (0, import_i18n53.__)("Type a URL", "elementor"),
|
|
6795
6829
|
inputProps: { ref: inputRef },
|
|
6796
6830
|
color: "secondary",
|
|
6797
6831
|
InputProps: { sx: { borderRadius: "8px" } },
|
|
6798
6832
|
onKeyUp: (event) => event.key === "Enter" && handleClose()
|
|
6799
6833
|
}
|
|
6800
|
-
), /* @__PURE__ */
|
|
6801
|
-
|
|
6834
|
+
), /* @__PURE__ */ React105.createElement(import_ui91.Tooltip, { title: (0, import_i18n53.__)("Open in a new tab", "elementor") }, /* @__PURE__ */ React105.createElement(
|
|
6835
|
+
import_ui91.ToggleButton,
|
|
6802
6836
|
{
|
|
6803
6837
|
size: "tiny",
|
|
6804
6838
|
value: "newTab",
|
|
6805
6839
|
selected: openInNewTab,
|
|
6806
6840
|
onClick: onToggleNewTab,
|
|
6807
|
-
"aria-label": (0,
|
|
6841
|
+
"aria-label": (0, import_i18n53.__)("Open in a new tab", "elementor"),
|
|
6808
6842
|
sx: { borderRadius: "8px" }
|
|
6809
6843
|
},
|
|
6810
|
-
/* @__PURE__ */
|
|
6844
|
+
/* @__PURE__ */ React105.createElement(import_icons37.ExternalLinkIcon, { fontSize: "tiny" })
|
|
6811
6845
|
)))
|
|
6812
6846
|
);
|
|
6813
6847
|
};
|
|
6814
6848
|
|
|
6815
6849
|
// src/components/inline-editor-toolbar.tsx
|
|
6816
6850
|
var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
6817
|
-
const [urlValue, setUrlValue] = (0,
|
|
6818
|
-
const [openInNewTab, setOpenInNewTab] = (0,
|
|
6819
|
-
const toolbarRef = (0,
|
|
6820
|
-
const linkPopupState = (0,
|
|
6851
|
+
const [urlValue, setUrlValue] = (0, import_react59.useState)("");
|
|
6852
|
+
const [openInNewTab, setOpenInNewTab] = (0, import_react59.useState)(false);
|
|
6853
|
+
const toolbarRef = (0, import_react59.useRef)(null);
|
|
6854
|
+
const linkPopupState = (0, import_ui92.usePopupState)({ variant: "popover" });
|
|
6821
6855
|
const hasLinkOnElement = elementId ? checkIfElementHasLink(elementId) : false;
|
|
6822
|
-
const editorState = (0,
|
|
6856
|
+
const editorState = (0, import_react60.useEditorState)({
|
|
6823
6857
|
editor,
|
|
6824
6858
|
selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
|
|
6825
6859
|
});
|
|
6826
|
-
const formatButtonsList = (0,
|
|
6860
|
+
const formatButtonsList = (0, import_react59.useMemo)(() => {
|
|
6827
6861
|
const buttons = Object.values(formatButtons);
|
|
6828
6862
|
if (hasLinkOnElement) {
|
|
6829
6863
|
return buttons.filter((button) => button.action !== "link");
|
|
@@ -6860,11 +6894,11 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6860
6894
|
}
|
|
6861
6895
|
linkPopupState.close();
|
|
6862
6896
|
};
|
|
6863
|
-
|
|
6897
|
+
React106.useEffect(() => {
|
|
6864
6898
|
editor?.commands?.focus();
|
|
6865
6899
|
}, [editor]);
|
|
6866
|
-
return /* @__PURE__ */
|
|
6867
|
-
|
|
6900
|
+
return /* @__PURE__ */ React106.createElement(
|
|
6901
|
+
import_ui92.Box,
|
|
6868
6902
|
{
|
|
6869
6903
|
ref: toolbarRef,
|
|
6870
6904
|
sx: {
|
|
@@ -6880,9 +6914,9 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6880
6914
|
...sx
|
|
6881
6915
|
}
|
|
6882
6916
|
},
|
|
6883
|
-
/* @__PURE__ */
|
|
6884
|
-
/* @__PURE__ */
|
|
6885
|
-
|
|
6917
|
+
/* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React106.createElement(import_ui92.IconButton, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
|
|
6918
|
+
/* @__PURE__ */ React106.createElement(
|
|
6919
|
+
import_ui92.ToggleButtonGroup,
|
|
6886
6920
|
{
|
|
6887
6921
|
value: editorState,
|
|
6888
6922
|
size: "tiny",
|
|
@@ -6890,7 +6924,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6890
6924
|
display: "flex",
|
|
6891
6925
|
gap: 0.5,
|
|
6892
6926
|
border: "none",
|
|
6893
|
-
[`& .${
|
|
6927
|
+
[`& .${import_ui92.toggleButtonGroupClasses.firstButton}, & .${import_ui92.toggleButtonGroupClasses.middleButton}, & .${import_ui92.toggleButtonGroupClasses.lastButton}`]: {
|
|
6894
6928
|
borderRadius: "8px",
|
|
6895
6929
|
border: "none",
|
|
6896
6930
|
marginLeft: 0,
|
|
@@ -6903,8 +6937,8 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6903
6937
|
}
|
|
6904
6938
|
}
|
|
6905
6939
|
},
|
|
6906
|
-
formatButtonsList.map((button) => /* @__PURE__ */
|
|
6907
|
-
|
|
6940
|
+
formatButtonsList.map((button) => /* @__PURE__ */ React106.createElement(import_ui92.Tooltip, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React106.createElement(
|
|
6941
|
+
import_ui92.ToggleButton,
|
|
6908
6942
|
{
|
|
6909
6943
|
value: button.action,
|
|
6910
6944
|
"aria-label": button.label,
|
|
@@ -6921,7 +6955,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6921
6955
|
button.icon
|
|
6922
6956
|
)))
|
|
6923
6957
|
),
|
|
6924
|
-
/* @__PURE__ */
|
|
6958
|
+
/* @__PURE__ */ React106.createElement(
|
|
6925
6959
|
UrlPopover,
|
|
6926
6960
|
{
|
|
6927
6961
|
popupState: linkPopupState,
|
|
@@ -6938,64 +6972,64 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6938
6972
|
var checkIfElementHasLink = (elementId) => !!(0, import_editor_elements6.getElementSetting)(elementId, "link")?.value?.destination;
|
|
6939
6973
|
var toolbarButtons = {
|
|
6940
6974
|
clear: {
|
|
6941
|
-
label: (0,
|
|
6942
|
-
icon: /* @__PURE__ */
|
|
6975
|
+
label: (0, import_i18n54.__)("Clear", "elementor"),
|
|
6976
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.MinusIcon, { fontSize: "tiny" }),
|
|
6943
6977
|
action: "clear",
|
|
6944
6978
|
method: (editor) => {
|
|
6945
6979
|
editor.chain().focus().clearNodes().unsetAllMarks().run();
|
|
6946
6980
|
}
|
|
6947
6981
|
},
|
|
6948
6982
|
bold: {
|
|
6949
|
-
label: (0,
|
|
6950
|
-
icon: /* @__PURE__ */
|
|
6983
|
+
label: (0, import_i18n54.__)("Bold", "elementor"),
|
|
6984
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.BoldIcon, { fontSize: "tiny" }),
|
|
6951
6985
|
action: "bold",
|
|
6952
6986
|
method: (editor) => {
|
|
6953
6987
|
editor.chain().focus().toggleBold().run();
|
|
6954
6988
|
}
|
|
6955
6989
|
},
|
|
6956
6990
|
italic: {
|
|
6957
|
-
label: (0,
|
|
6958
|
-
icon: /* @__PURE__ */
|
|
6991
|
+
label: (0, import_i18n54.__)("Italic", "elementor"),
|
|
6992
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.ItalicIcon, { fontSize: "tiny" }),
|
|
6959
6993
|
action: "italic",
|
|
6960
6994
|
method: (editor) => {
|
|
6961
6995
|
editor.chain().focus().toggleItalic().run();
|
|
6962
6996
|
}
|
|
6963
6997
|
},
|
|
6964
6998
|
underline: {
|
|
6965
|
-
label: (0,
|
|
6966
|
-
icon: /* @__PURE__ */
|
|
6999
|
+
label: (0, import_i18n54.__)("Underline", "elementor"),
|
|
7000
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.UnderlineIcon, { fontSize: "tiny" }),
|
|
6967
7001
|
action: "underline",
|
|
6968
7002
|
method: (editor) => {
|
|
6969
7003
|
editor.chain().focus().toggleUnderline().run();
|
|
6970
7004
|
}
|
|
6971
7005
|
},
|
|
6972
7006
|
strike: {
|
|
6973
|
-
label: (0,
|
|
6974
|
-
icon: /* @__PURE__ */
|
|
7007
|
+
label: (0, import_i18n54.__)("Strikethrough", "elementor"),
|
|
7008
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.StrikethroughIcon, { fontSize: "tiny" }),
|
|
6975
7009
|
action: "strike",
|
|
6976
7010
|
method: (editor) => {
|
|
6977
7011
|
editor.chain().focus().toggleStrike().run();
|
|
6978
7012
|
}
|
|
6979
7013
|
},
|
|
6980
7014
|
superscript: {
|
|
6981
|
-
label: (0,
|
|
6982
|
-
icon: /* @__PURE__ */
|
|
7015
|
+
label: (0, import_i18n54.__)("Superscript", "elementor"),
|
|
7016
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.SuperscriptIcon, { fontSize: "tiny" }),
|
|
6983
7017
|
action: "superscript",
|
|
6984
7018
|
method: (editor) => {
|
|
6985
7019
|
editor.chain().focus().toggleSuperscript().run();
|
|
6986
7020
|
}
|
|
6987
7021
|
},
|
|
6988
7022
|
subscript: {
|
|
6989
|
-
label: (0,
|
|
6990
|
-
icon: /* @__PURE__ */
|
|
7023
|
+
label: (0, import_i18n54.__)("Subscript", "elementor"),
|
|
7024
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.SubscriptIcon, { fontSize: "tiny" }),
|
|
6991
7025
|
action: "subscript",
|
|
6992
7026
|
method: (editor) => {
|
|
6993
7027
|
editor.chain().focus().toggleSubscript().run();
|
|
6994
7028
|
}
|
|
6995
7029
|
},
|
|
6996
7030
|
link: {
|
|
6997
|
-
label: (0,
|
|
6998
|
-
icon: /* @__PURE__ */
|
|
7031
|
+
label: (0, import_i18n54.__)("Link", "elementor"),
|
|
7032
|
+
icon: /* @__PURE__ */ React106.createElement(import_icons38.LinkIcon, { fontSize: "tiny" }),
|
|
6999
7033
|
action: "link",
|
|
7000
7034
|
method: null
|
|
7001
7035
|
}
|
|
@@ -7004,8 +7038,8 @@ var { clear: clearButton, ...formatButtons } = toolbarButtons;
|
|
|
7004
7038
|
var possibleFormats = Object.keys(formatButtons);
|
|
7005
7039
|
|
|
7006
7040
|
// src/components/size/unstable-size-field.tsx
|
|
7007
|
-
var
|
|
7008
|
-
var
|
|
7041
|
+
var React109 = __toESM(require("react"));
|
|
7042
|
+
var import_ui94 = require("@elementor/ui");
|
|
7009
7043
|
|
|
7010
7044
|
// src/hooks/use-size-value.ts
|
|
7011
7045
|
var useSizeValue = (externalValue, onChange, defaultValue) => {
|
|
@@ -7045,25 +7079,25 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
7045
7079
|
};
|
|
7046
7080
|
|
|
7047
7081
|
// src/components/size/unit-select.tsx
|
|
7048
|
-
var
|
|
7049
|
-
var
|
|
7082
|
+
var React107 = __toESM(require("react"));
|
|
7083
|
+
var import_react61 = require("react");
|
|
7050
7084
|
var import_editor_ui14 = require("@elementor/editor-ui");
|
|
7051
|
-
var
|
|
7085
|
+
var import_ui93 = require("@elementor/ui");
|
|
7052
7086
|
var menuItemContentStyles = {
|
|
7053
7087
|
display: "flex",
|
|
7054
7088
|
flexDirection: "column",
|
|
7055
7089
|
justifyContent: "center"
|
|
7056
7090
|
};
|
|
7057
7091
|
var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
7058
|
-
const popupState = (0,
|
|
7092
|
+
const popupState = (0, import_ui93.usePopupState)({
|
|
7059
7093
|
variant: "popover",
|
|
7060
|
-
popupId: (0,
|
|
7094
|
+
popupId: (0, import_react61.useId)()
|
|
7061
7095
|
});
|
|
7062
7096
|
const handleMenuItemClick = (index) => {
|
|
7063
7097
|
onClick(options[index]);
|
|
7064
7098
|
popupState.close();
|
|
7065
7099
|
};
|
|
7066
|
-
return /* @__PURE__ */
|
|
7100
|
+
return /* @__PURE__ */ React107.createElement(React107.Fragment, null, /* @__PURE__ */ React107.createElement(StyledButton2, { isPrimaryColor: showPrimaryColor, size: "small", ...(0, import_ui93.bindTrigger)(popupState) }, value), /* @__PURE__ */ React107.createElement(import_ui93.Menu, { MenuListProps: { dense: true }, ...(0, import_ui93.bindMenu)(popupState) }, options.map((option, index) => /* @__PURE__ */ React107.createElement(
|
|
7067
7101
|
import_editor_ui14.MenuListItem,
|
|
7068
7102
|
{
|
|
7069
7103
|
key: option,
|
|
@@ -7082,7 +7116,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
|
7082
7116
|
option.toUpperCase()
|
|
7083
7117
|
))));
|
|
7084
7118
|
};
|
|
7085
|
-
var StyledButton2 = (0,
|
|
7119
|
+
var StyledButton2 = (0, import_ui93.styled)(import_ui93.Button, {
|
|
7086
7120
|
shouldForwardProp: (prop) => prop !== "isPrimaryColor"
|
|
7087
7121
|
})(({ isPrimaryColor, theme }) => ({
|
|
7088
7122
|
color: isPrimaryColor ? theme.palette.text.primary : theme.palette.text.tertiary,
|
|
@@ -7092,11 +7126,11 @@ var StyledButton2 = (0, import_ui92.styled)(import_ui92.Button, {
|
|
|
7092
7126
|
}));
|
|
7093
7127
|
|
|
7094
7128
|
// src/components/size/unstable-size-input.tsx
|
|
7095
|
-
var
|
|
7096
|
-
var
|
|
7097
|
-
var UnstableSizeInput = (0,
|
|
7129
|
+
var React108 = __toESM(require("react"));
|
|
7130
|
+
var import_react62 = require("react");
|
|
7131
|
+
var UnstableSizeInput = (0, import_react62.forwardRef)(
|
|
7098
7132
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
7099
|
-
return /* @__PURE__ */
|
|
7133
|
+
return /* @__PURE__ */ React108.createElement(
|
|
7100
7134
|
NumberInput,
|
|
7101
7135
|
{
|
|
7102
7136
|
ref,
|
|
@@ -7140,7 +7174,7 @@ var UnstableSizeField = ({
|
|
|
7140
7174
|
const shouldHighlightUnit = () => {
|
|
7141
7175
|
return hasValue(size);
|
|
7142
7176
|
};
|
|
7143
|
-
return /* @__PURE__ */
|
|
7177
|
+
return /* @__PURE__ */ React109.createElement(
|
|
7144
7178
|
UnstableSizeInput,
|
|
7145
7179
|
{
|
|
7146
7180
|
type: "number",
|
|
@@ -7149,7 +7183,7 @@ var UnstableSizeField = ({
|
|
|
7149
7183
|
onChange: (event) => setSize(event.target.value),
|
|
7150
7184
|
InputProps: {
|
|
7151
7185
|
...InputProps,
|
|
7152
|
-
endAdornment: /* @__PURE__ */
|
|
7186
|
+
endAdornment: /* @__PURE__ */ React109.createElement(import_ui94.InputAdornment, { position: "end" }, /* @__PURE__ */ React109.createElement(
|
|
7153
7187
|
UnitSelect,
|
|
7154
7188
|
{
|
|
7155
7189
|
options: units2,
|
|
@@ -7167,13 +7201,13 @@ var hasValue = (value) => {
|
|
|
7167
7201
|
};
|
|
7168
7202
|
|
|
7169
7203
|
// src/hooks/use-font-families.ts
|
|
7170
|
-
var
|
|
7204
|
+
var import_react63 = require("react");
|
|
7171
7205
|
var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
|
|
7172
|
-
var
|
|
7206
|
+
var import_i18n55 = require("@wordpress/i18n");
|
|
7173
7207
|
var supportedCategories = {
|
|
7174
|
-
system: (0,
|
|
7175
|
-
custom: (0,
|
|
7176
|
-
googlefonts: (0,
|
|
7208
|
+
system: (0, import_i18n55.__)("System", "elementor"),
|
|
7209
|
+
custom: (0, import_i18n55.__)("Custom Fonts", "elementor"),
|
|
7210
|
+
googlefonts: (0, import_i18n55.__)("Google Fonts", "elementor")
|
|
7177
7211
|
};
|
|
7178
7212
|
var getFontFamilies = () => {
|
|
7179
7213
|
const { controls } = (0, import_editor_v1_adapters.getElementorConfig)();
|
|
@@ -7185,7 +7219,7 @@ var getFontFamilies = () => {
|
|
|
7185
7219
|
};
|
|
7186
7220
|
var useFontFamilies = () => {
|
|
7187
7221
|
const fontFamilies = getFontFamilies();
|
|
7188
|
-
return (0,
|
|
7222
|
+
return (0, import_react63.useMemo)(() => {
|
|
7189
7223
|
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
7190
7224
|
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
7191
7225
|
if (!supportedCategories[category]) {
|
|
@@ -7206,6 +7240,7 @@ var useFontFamilies = () => {
|
|
|
7206
7240
|
// Annotate the CommonJS export names for ESM import in node:
|
|
7207
7241
|
0 && (module.exports = {
|
|
7208
7242
|
AspectRatioControl,
|
|
7243
|
+
AttributesControl,
|
|
7209
7244
|
BackgroundControl,
|
|
7210
7245
|
BoxShadowRepeaterControl,
|
|
7211
7246
|
ClearIconButton,
|