@elementor/editor-controls 3.33.0-99 → 3.34.2

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.
Files changed (94) hide show
  1. package/dist/index.d.mts +264 -74
  2. package/dist/index.d.ts +264 -74
  3. package/dist/index.js +2541 -1861
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +2344 -1660
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +31 -17
  8. package/src/bound-prop-context/prop-context.tsx +8 -1
  9. package/src/bound-prop-context/use-bound-prop.ts +19 -5
  10. package/src/components/autocomplete.tsx +34 -3
  11. package/src/components/conditional-control-infotip.tsx +64 -0
  12. package/src/components/{unstable-repeater → control-repeater}/actions/disable-item-action.tsx +2 -2
  13. package/src/components/{unstable-repeater → control-repeater}/actions/duplicate-item-action.tsx +10 -4
  14. package/src/components/{unstable-repeater → control-repeater}/actions/remove-item-action.tsx +2 -2
  15. package/src/components/control-repeater/context/item-context.tsx +8 -0
  16. package/src/components/{unstable-repeater → control-repeater}/context/repeater-context.tsx +24 -15
  17. package/src/components/control-repeater/control-repeater.tsx +29 -0
  18. package/src/components/{unstable-repeater → control-repeater}/index.ts +1 -2
  19. package/src/components/{unstable-repeater → control-repeater}/items/edit-item-popover.tsx +6 -20
  20. package/src/components/control-repeater/items/item.tsx +75 -0
  21. package/src/components/{unstable-repeater → control-repeater}/items/items-container.tsx +8 -13
  22. package/src/components/{unstable-repeater → control-repeater}/locations.ts +0 -4
  23. package/src/components/{unstable-repeater → control-repeater}/types.ts +1 -2
  24. package/src/components/control-toggle-button-group.tsx +79 -69
  25. package/src/components/enable-unfiltered-modal.tsx +1 -26
  26. package/src/components/icon-buttons/clear-icon-button.tsx +23 -0
  27. package/src/components/inline-editor-toolbar.tsx +137 -0
  28. package/src/components/inline-editor.tsx +111 -0
  29. package/src/components/item-selector.tsx +10 -4
  30. package/src/components/{unstable-repeater/header/header.tsx → repeater/repeater-header.tsx} +4 -12
  31. package/src/components/repeater/repeater-popover.tsx +19 -0
  32. package/src/components/repeater/repeater-tag.tsx +16 -0
  33. package/src/components/repeater/repeater.tsx +405 -0
  34. package/src/components/{sortable.tsx → repeater/sortable.tsx} +1 -1
  35. package/src/components/size-control/size-input.tsx +20 -14
  36. package/src/components/size-control/text-field-inner-selection.tsx +15 -2
  37. package/src/control-adornments/control-adornments-context.tsx +5 -4
  38. package/src/control-replacements.tsx +3 -43
  39. package/src/controls/background-control/background-control.tsx +43 -12
  40. package/src/controls/background-control/background-gradient-color-control.tsx +5 -8
  41. package/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx +18 -13
  42. package/src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx +25 -16
  43. package/src/controls/box-shadow-repeater-control.tsx +38 -21
  44. package/src/controls/color-control.tsx +3 -1
  45. package/src/controls/date-time-control.tsx +108 -0
  46. package/src/controls/filter-control/drop-shadow/drop-shadow-item-content.tsx +1 -0
  47. package/src/controls/filter-control/drop-shadow/drop-shadow-item-label.tsx +10 -6
  48. package/src/controls/filter-control/filter-content.tsx +1 -1
  49. package/src/controls/filter-control/filter-repeater-control.tsx +24 -21
  50. package/src/controls/filter-control/single-size/single-size-item-content.tsx +1 -1
  51. package/src/controls/filter-control/single-size/single-size-item-label.tsx +2 -1
  52. package/src/controls/font-family-control/font-family-control.tsx +66 -55
  53. package/src/controls/html-tag-control.tsx +90 -0
  54. package/src/controls/image-media-control.tsx +2 -2
  55. package/src/controls/inline-editing-control.tsx +18 -0
  56. package/src/controls/key-value-control.tsx +8 -2
  57. package/src/controls/link-control.tsx +23 -123
  58. package/src/controls/linked-dimensions-control.tsx +71 -33
  59. package/src/controls/query-control.tsx +168 -0
  60. package/src/controls/repeatable-control.tsx +62 -27
  61. package/src/controls/select-control-wrapper.tsx +57 -0
  62. package/src/controls/select-control.tsx +9 -5
  63. package/src/controls/selection-size-control.tsx +13 -2
  64. package/src/controls/size-control.tsx +32 -59
  65. package/src/controls/svg-media-control.tsx +33 -10
  66. package/src/controls/text-area-control.tsx +5 -1
  67. package/src/controls/text-control.tsx +5 -0
  68. package/src/controls/toggle-control.tsx +11 -2
  69. package/src/controls/transform-control/functions/axis-row.tsx +1 -0
  70. package/src/controls/transform-control/transform-icon.tsx +2 -2
  71. package/src/controls/transform-control/transform-label.tsx +15 -32
  72. package/src/controls/transform-control/transform-repeater-control.tsx +42 -36
  73. package/src/controls/transform-control/{transform-base-control.tsx → transform-settings-control.tsx} +2 -2
  74. package/src/controls/transform-control/use-transform-tabs-history.tsx +1 -1
  75. package/src/controls/transition-control/data.ts +16 -1
  76. package/src/controls/transition-control/trainsition-events.ts +2 -2
  77. package/src/controls/transition-control/transition-repeater-control.tsx +137 -13
  78. package/src/controls/transition-control/transition-selector.tsx +37 -14
  79. package/src/controls/url-control.tsx +21 -16
  80. package/src/hooks/use-filtered-items-list.ts +3 -2
  81. package/src/hooks/use-repeatable-control-context.ts +3 -0
  82. package/src/hooks/use-sync-external-state.tsx +0 -1
  83. package/src/index.ts +21 -5
  84. package/src/utils/convert-toggle-options-to-atomic.tsx +33 -0
  85. package/src/utils/escape-html-attr.ts +11 -0
  86. package/src/components/css-code-editor/css-editor.styles.ts +0 -52
  87. package/src/components/css-code-editor/css-editor.tsx +0 -142
  88. package/src/components/css-code-editor/css-validation.ts +0 -75
  89. package/src/components/css-code-editor/resize-handle.tsx +0 -55
  90. package/src/components/css-code-editor/visual-content-change-protection.ts +0 -69
  91. package/src/components/repeater.tsx +0 -343
  92. package/src/components/unstable-repeater/items/item.tsx +0 -77
  93. package/src/components/unstable-repeater/unstable-repeater.tsx +0 -26
  94. /package/src/components/{unstable-repeater → control-repeater}/actions/tooltip-add-item-action.tsx +0 -0
@@ -1,77 +0,0 @@
1
- import * as React from 'react';
2
- import { bindTrigger, UnstableTag } from '@elementor/ui';
3
- import { __ } from '@wordpress/i18n';
4
-
5
- import { SlotChildren } from '../../../control-replacements';
6
- import { DisableItemAction } from '../actions/disable-item-action';
7
- import { DuplicateItemAction } from '../actions/duplicate-item-action';
8
- import { RemoveItemAction } from '../actions/remove-item-action';
9
- import { useRepeaterContext } from '../context/repeater-context';
10
- import { RepeaterItemActionsSlot, RepeaterItemIconSlot, RepeaterItemLabelSlot } from '../locations';
11
- import { type ItemProps, type RepeatablePropValue } from '../types';
12
-
13
- export const Item = < T extends RepeatablePropValue >( {
14
- Label,
15
- Icon,
16
- value,
17
- index = -1,
18
- children,
19
- }: React.PropsWithChildren< ItemProps< T > > ) => {
20
- const { items, popoverState, setRowRef, openItemIndex, setOpenItemIndex } = useRepeaterContext();
21
- const triggerProps = bindTrigger( popoverState );
22
- const key = items[ index ].key ?? -1;
23
-
24
- const onClick = ( ev: React.MouseEvent ) => {
25
- triggerProps.onClick( ev );
26
- setOpenItemIndex( index );
27
- };
28
-
29
- const setRef = ( ref: HTMLDivElement | null ) => {
30
- if ( ! ref || openItemIndex !== index || ref === popoverState.anchorEl ) {
31
- return;
32
- }
33
-
34
- setRowRef( ref );
35
- popoverState.setAnchorEl( ref );
36
- };
37
-
38
- return (
39
- <>
40
- <UnstableTag
41
- key={ key }
42
- disabled={ false }
43
- label={
44
- <RepeaterItemLabelSlot value={ value }>
45
- <Label value={ value as T } />
46
- </RepeaterItemLabelSlot>
47
- }
48
- showActionsOnHover
49
- fullWidth
50
- ref={ setRef }
51
- variant="outlined"
52
- aria-label={ __( 'Open item', 'elementor' ) }
53
- sx={ { minHeight: ( theme ) => theme.spacing( 4 ) } }
54
- { ...triggerProps }
55
- onClick={ onClick }
56
- startIcon={
57
- <RepeaterItemIconSlot value={ value }>
58
- <Icon value={ value as T } />
59
- </RepeaterItemIconSlot>
60
- }
61
- actions={
62
- <>
63
- <RepeaterItemActionsSlot index={ index ?? -1 } />
64
-
65
- <SlotChildren
66
- whitelist={ [ DuplicateItemAction, DisableItemAction, RemoveItemAction ] as React.FC[] }
67
- props={ { index } }
68
- sorted
69
- >
70
- { children }
71
- </SlotChildren>
72
- </>
73
- }
74
- />
75
- </>
76
- );
77
- };
@@ -1,26 +0,0 @@
1
- import * as React from 'react';
2
- import { type PropTypeUtil } from '@elementor/editor-props';
3
-
4
- import { SlotChildren } from '../../control-replacements';
5
- import { SectionContent } from '../section-content';
6
- import { RepeaterContextProvider } from './context/repeater-context';
7
- import { Header } from './header/header';
8
- import { EditItemPopover } from './items/edit-item-popover';
9
- import { ItemsContainer } from './items/items-container';
10
- import { type RepeatablePropValue } from './types';
11
-
12
- export const UnstableRepeater = < T extends RepeatablePropValue >( {
13
- children,
14
- initial,
15
- propTypeUtil,
16
- }: React.PropsWithChildren< { initial: T; propTypeUtil: PropTypeUtil< string, T[] > } > ) => {
17
- return (
18
- <SectionContent>
19
- <RepeaterContextProvider initial={ initial } propTypeUtil={ propTypeUtil }>
20
- <SlotChildren whitelist={ [ Header, ItemsContainer, EditItemPopover ] as React.FC[] } sorted>
21
- { children }
22
- </SlotChildren>
23
- </RepeaterContextProvider>
24
- </SectionContent>
25
- );
26
- };