@elementor/editor-controls 4.1.0-711 → 4.1.0-712

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 CHANGED
@@ -28,25 +28,25 @@ declare const TextControl: ControlComponent$1<({ placeholder, error, inputValue,
28
28
  ariaLabel?: string;
29
29
  }) => React$1.JSX.Element>;
30
30
 
31
- type Props$9 = {
31
+ type Props$b = {
32
32
  placeholder?: string;
33
33
  ariaLabel?: string;
34
34
  };
35
- declare const TextAreaControl: ControlComponent$1<({ placeholder, ariaLabel }: Props$9) => React$1.JSX.Element>;
35
+ declare const TextAreaControl: ControlComponent$1<({ placeholder, ariaLabel }: Props$b) => React$1.JSX.Element>;
36
36
 
37
37
  declare const lengthUnits: readonly ["px", "%", "em", "rem", "vw", "vh", "ch"];
38
38
  declare const angleUnits: readonly ["deg", "rad", "grad", "turn"];
39
39
  declare const timeUnits: readonly ["s", "ms"];
40
40
  declare const defaultExtendedOptions: readonly ["auto", "custom"];
41
- type LengthUnit = (typeof lengthUnits)[number];
42
- type AngleUnit = (typeof angleUnits)[number];
43
- type TimeUnit = (typeof timeUnits)[number];
41
+ type LengthUnit$1 = (typeof lengthUnits)[number];
42
+ type AngleUnit$1 = (typeof angleUnits)[number];
43
+ type TimeUnit$1 = (typeof timeUnits)[number];
44
44
  type ExtendedOption = (typeof defaultExtendedOptions)[number];
45
- type Unit = LengthUnit | AngleUnit | TimeUnit;
46
- declare function isUnitExtendedOption(unit: Unit | ExtendedOption): unit is ExtendedOption;
45
+ type Unit$1 = LengthUnit$1 | AngleUnit$1 | TimeUnit$1;
46
+ declare function isUnitExtendedOption(unit: Unit$1 | ExtendedOption): unit is ExtendedOption;
47
47
 
48
- type SizeVariant = 'length' | 'angle' | 'time';
49
- type UnitProps<T extends readonly Unit[]> = {
48
+ type SizeVariant$1 = 'length' | 'angle' | 'time';
49
+ type UnitProps<T extends readonly Unit$1[]> = {
50
50
  units?: T;
51
51
  defaultUnit?: T[number];
52
52
  };
@@ -61,18 +61,18 @@ type BaseSizeControlProps = {
61
61
  id?: string;
62
62
  ariaLabel?: string;
63
63
  };
64
- type LengthSizeControlProps = BaseSizeControlProps & UnitProps<LengthUnit[]> & {
64
+ type LengthSizeControlProps = BaseSizeControlProps & UnitProps<LengthUnit$1[]> & {
65
65
  variant: 'length';
66
66
  };
67
- type AngleSizeControlProps = BaseSizeControlProps & UnitProps<AngleUnit[]> & {
67
+ type AngleSizeControlProps = BaseSizeControlProps & UnitProps<AngleUnit$1[]> & {
68
68
  variant: 'angle';
69
69
  };
70
- type TimeSizeControlProps = BaseSizeControlProps & UnitProps<TimeUnit[]> & {
70
+ type TimeSizeControlProps = BaseSizeControlProps & UnitProps<TimeUnit$1[]> & {
71
71
  variant: 'time';
72
72
  };
73
73
  type SizeControlProps = LengthSizeControlProps | AngleSizeControlProps | TimeSizeControlProps;
74
74
  declare const SizeControl: ControlComponent$1<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, enablePropTypeUnits, id, ariaLabel, }: Omit<SizeControlProps, "variant"> & {
75
- variant?: SizeVariant;
75
+ variant?: SizeVariant$1;
76
76
  }) => React$1.JSX.Element>;
77
77
 
78
78
  declare const StrokeControl: ControlComponent$1<() => React$1.JSX.Element>;
@@ -115,12 +115,12 @@ type ChipsControlProps = {
115
115
  };
116
116
  declare const ChipsControl: ControlComponent$1<({ options }: ChipsControlProps) => React$1.JSX.Element>;
117
117
 
118
- type Props$8 = Partial<Omit<UnstableColorFieldProps, 'value' | 'onChange'>> & {
118
+ type Props$a = Partial<Omit<UnstableColorFieldProps, 'value' | 'onChange'>> & {
119
119
  propTypeUtil?: PropTypeUtil<string, string>;
120
120
  anchorEl?: HTMLElement | null;
121
121
  id?: string;
122
122
  };
123
- declare const ColorControl: ControlComponent$1<({ propTypeUtil, anchorEl, slotProps, id, ...props }: Props$8) => React$1.JSX.Element>;
123
+ declare const ColorControl: ControlComponent$1<({ propTypeUtil, anchorEl, slotProps, id, ...props }: Props$a) => React$1.JSX.Element>;
124
124
 
125
125
  type RenderContentProps = {
126
126
  size: ToggleButtonProps['size'];
@@ -134,7 +134,7 @@ type ToggleButtonGroupItem<TValue> = {
134
134
  };
135
135
  type ExclusiveValue<TValue> = TValue;
136
136
  type NonExclusiveValue<TValue> = TValue[];
137
- type Props$7<TValue> = {
137
+ type Props$9<TValue> = {
138
138
  disabled?: boolean;
139
139
  justify?: StackProps['justifyContent'];
140
140
  size?: ToggleButtonProps['size'];
@@ -151,10 +151,10 @@ type Props$7<TValue> = {
151
151
  value: ExclusiveValue<TValue>;
152
152
  onChange: (value: ExclusiveValue<TValue>) => void;
153
153
  });
154
- declare const ToggleButtonGroupUi: <TValue>(props: Props$7<TValue> & {
154
+ declare const ToggleButtonGroupUi: <TValue>(props: Props$9<TValue> & {
155
155
  ref?: React$1.Ref<HTMLDivElement>;
156
156
  }) => React$1.ReactElement;
157
- declare const ControlToggleButtonGroup: <TValue>(props: Props$7<TValue>) => React$1.JSX.Element;
157
+ declare const ControlToggleButtonGroup: <TValue>(props: Props$9<TValue>) => React$1.JSX.Element;
158
158
 
159
159
  type ToggleControlProps<T extends PropValue> = {
160
160
  options: Array<ToggleButtonGroupItem<T> & {
@@ -185,22 +185,22 @@ type Item$1 = {
185
185
  bind: PropKey;
186
186
  };
187
187
  type EqualUnequalItems = [Item$1, Item$1, Item$1, Item$1];
188
- type Props$6<TMultiPropType extends string, TPropValue extends MultiSizePropValue> = {
188
+ type Props$8<TMultiPropType extends string, TPropValue extends MultiSizePropValue> = {
189
189
  label: string;
190
190
  icon: ReactNode;
191
191
  tooltipLabel: string;
192
192
  items: EqualUnequalItems;
193
193
  multiSizePropTypeUtil: PropTypeUtil<TMultiPropType, TPropValue>;
194
194
  };
195
- declare function EqualUnequalSizesControl<TMultiPropType extends string, TPropValue extends MultiSizePropValue>({ label, icon, tooltipLabel, items, multiSizePropTypeUtil, }: Props$6<TMultiPropType, TPropValue>): React$1.JSX.Element;
195
+ declare function EqualUnequalSizesControl<TMultiPropType extends string, TPropValue extends MultiSizePropValue>({ label, icon, tooltipLabel, items, multiSizePropTypeUtil, }: Props$8<TMultiPropType, TPropValue>): React$1.JSX.Element;
196
196
 
197
- type Props$5 = {
197
+ type Props$7 = {
198
198
  label: string;
199
199
  isSiteRtl?: boolean;
200
200
  extendedOptions?: ExtendedOption[];
201
201
  min?: number;
202
202
  };
203
- declare const LinkedDimensionsControl: ({ label, isSiteRtl, extendedOptions, min }: Props$5) => React$1.JSX.Element;
203
+ declare const LinkedDimensionsControl: ({ label, isSiteRtl, extendedOptions, min }: Props$7) => React$1.JSX.Element;
204
204
 
205
205
  type FontCategory = {
206
206
  label: string;
@@ -253,7 +253,7 @@ type ControlProps<TControlProps = unknown> = TControlProps & {
253
253
  };
254
254
  };
255
255
 
256
- type Props$4 = ControlProps<{
256
+ type Props$6 = ControlProps<{
257
257
  queryOptions: {
258
258
  params: Record<string, unknown>;
259
259
  url: string;
@@ -265,21 +265,21 @@ type Props$4 = ControlProps<{
265
265
  ariaLabel?: string;
266
266
  }>;
267
267
  type DestinationProp = LinkPropValue['value']['destination'];
268
- declare const LinkControl: ControlComponent$1<(props: Props$4) => React$1.JSX.Element>;
268
+ declare const LinkControl: ControlComponent$1<(props: Props$6) => React$1.JSX.Element>;
269
269
 
270
270
  type SelectOption = {
271
271
  label: string;
272
272
  value: StringPropValue['value'];
273
273
  disabled?: boolean;
274
274
  };
275
- type Props$3 = {
275
+ type Props$5 = {
276
276
  options: SelectOption[];
277
277
  onChange?: (newValue: string | null, previousValue: string | null | undefined) => void;
278
278
  fallbackLabels?: Record<string, string>;
279
279
  };
280
- declare const HtmlTagControl: ControlComponent$1<({ options, onChange, fallbackLabels }: Props$3) => React$1.JSX.Element>;
280
+ declare const HtmlTagControl: ControlComponent$1<({ options, onChange, fallbackLabels }: Props$5) => React$1.JSX.Element>;
281
281
 
282
- type Props$2 = {
282
+ type Props$4 = {
283
283
  queryOptions: {
284
284
  params: Record<string, unknown>;
285
285
  url: string;
@@ -290,7 +290,7 @@ type Props$2 = {
290
290
  onSetValue?: (value: DestinationProp | null) => void;
291
291
  ariaLabel?: string;
292
292
  };
293
- declare const QueryControl: ControlComponent$1<(props: Props$2) => React$1.JSX.Element>;
293
+ declare const QueryControl: ControlComponent$1<(props: Props$4) => React$1.JSX.Element>;
294
294
 
295
295
  declare const GapControl: ({ label }: {
296
296
  label: string;
@@ -408,47 +408,6 @@ declare const InlineEditingControl: ControlComponent$1<({ sx, attributes, props,
408
408
 
409
409
  declare const EmailFormActionControl: ControlComponent$1<() => React$1.JSX.Element>;
410
410
 
411
- declare const ControlFormLabel: (props: FormLabelProps) => React$1.JSX.Element;
412
-
413
- declare const DisplayConditionsControl: ControlComponent$1<() => React$1.JSX.Element>;
414
-
415
- declare const AttributesControl: ControlComponent$1<() => React$1.JSX.Element>;
416
-
417
- type PromotionTrackingData = {
418
- target_name: string;
419
- target_location?: 'widget_panel' | 'variables_manager';
420
- location_l1?: string;
421
- location_l2?: 'style' | 'general' | 'interactions';
422
- };
423
- declare const trackViewPromotion: (data: PromotionTrackingData) => void;
424
- declare const trackUpgradePromotionClick: (data: PromotionTrackingData) => void;
425
-
426
- type V4PromotionData = {
427
- title: string;
428
- content: string;
429
- image: string;
430
- ctaUrl: string;
431
- };
432
- type V4PromotionKey = 'displayConditions' | 'customCss' | 'attributes';
433
-
434
- type PromotionTriggerProps = {
435
- promotionKey: V4PromotionKey;
436
- children?: ReactNode;
437
- trackingData: PromotionTrackingData;
438
- };
439
- type PromotionTriggerRef = {
440
- toggle: () => void;
441
- };
442
- declare const PromotionTrigger: React$1.ForwardRefExoticComponent<PromotionTriggerProps & React$1.RefAttributes<PromotionTriggerRef>>;
443
-
444
- type ClearIconButtonProps = {
445
- onClick?: () => void;
446
- tooltipText: React$1.ReactNode;
447
- disabled?: boolean;
448
- size?: 'tiny' | 'small' | 'medium' | 'large';
449
- };
450
- declare const ClearIconButton: ({ tooltipText, onClick, disabled, size }: ClearIconButtonProps) => React$1.JSX.Element;
451
-
452
411
  type Action = {
453
412
  type: string;
454
413
  payload?: object;
@@ -504,6 +463,67 @@ type EnhancedPropKeyContextValue<T, P> = PropKeyContextValue<T, P> & {
504
463
  declare function useBoundProp<T extends PropValue = PropValue, P extends PropType = PropType>(): EnhancedPropKeyContextValue<T, P>;
505
464
  declare function useBoundProp<TKey extends string, TValue extends PropValue>(propTypeUtil: PropTypeUtil<TKey, TValue>): UseBoundProp<TValue>;
506
465
 
466
+ type LengthUnit = 'px' | '%' | 'em' | 'rem' | 'vw' | 'vh' | 'ch';
467
+ type AngleUnit = 'deg' | 'rad' | 'grad' | 'turn';
468
+ type TimeUnit = 's' | 'ms';
469
+ type ExtendedSizeOption = 'auto' | 'custom';
470
+ type Unit = LengthUnit | AngleUnit | TimeUnit;
471
+ type SizeUnit$1 = Unit | ExtendedSizeOption;
472
+ type SizeVariant = 'length' | 'angle' | 'time';
473
+ type SetSizeValue<T> = (value: T, options?: CreateOptions, meta?: SetValueMeta) => void;
474
+
475
+ type Props$3 = {
476
+ placeholder?: string;
477
+ variant?: SizeVariant;
478
+ anchorRef?: RefObject<HTMLDivElement | null>;
479
+ startIcon?: React$1.ReactNode;
480
+ ariaLabel?: string;
481
+ min?: number;
482
+ id?: string;
483
+ };
484
+ declare const UnstableSizeControl: ControlComponent$1<({ variant, placeholder: propPlaceholder, anchorRef, startIcon, ariaLabel, min }: Props$3) => React$1.JSX.Element>;
485
+
486
+ declare const ControlFormLabel: (props: FormLabelProps) => React$1.JSX.Element;
487
+
488
+ declare const DisplayConditionsControl: ControlComponent$1<() => React$1.JSX.Element>;
489
+
490
+ declare const AttributesControl: ControlComponent$1<() => React$1.JSX.Element>;
491
+
492
+ type PromotionTrackingData = {
493
+ target_name: string;
494
+ target_location?: 'widget_panel' | 'variables_manager';
495
+ location_l1?: string;
496
+ location_l2?: 'style' | 'general' | 'interactions';
497
+ };
498
+ declare const trackViewPromotion: (data: PromotionTrackingData) => void;
499
+ declare const trackUpgradePromotionClick: (data: PromotionTrackingData) => void;
500
+
501
+ type V4PromotionData = {
502
+ title: string;
503
+ content: string;
504
+ image: string;
505
+ ctaUrl: string;
506
+ };
507
+ type V4PromotionKey = 'displayConditions' | 'customCss' | 'attributes';
508
+
509
+ type PromotionTriggerProps = {
510
+ promotionKey: V4PromotionKey;
511
+ children?: ReactNode;
512
+ trackingData: PromotionTrackingData;
513
+ };
514
+ type PromotionTriggerRef = {
515
+ toggle: () => void;
516
+ };
517
+ declare const PromotionTrigger: React$1.ForwardRefExoticComponent<PromotionTriggerProps & React$1.RefAttributes<PromotionTriggerRef>>;
518
+
519
+ type ClearIconButtonProps = {
520
+ onClick?: () => void;
521
+ tooltipText: React$1.ReactNode;
522
+ disabled?: boolean;
523
+ size?: 'tiny' | 'small' | 'medium' | 'large';
524
+ };
525
+ declare const ClearIconButton: ({ tooltipText, onClick, disabled, size }: ClearIconButtonProps) => React$1.JSX.Element;
526
+
507
527
  type AnchorEl = HTMLElement | null;
508
528
  type RepeaterItem<T> = {
509
529
  disabled?: boolean;
@@ -621,20 +641,63 @@ type InlineEditorToolbarProps = {
621
641
  };
622
642
  declare const InlineEditorToolbar: ({ editor, elementId, sx }: InlineEditorToolbarProps) => React$1.JSX.Element;
623
643
 
624
- type Props$1<TValue> = {
644
+ type Props$2<TValue> = {
625
645
  value: TValue;
626
- units: Unit[];
627
- defaultUnit?: Unit;
646
+ units: Unit$1[];
647
+ defaultUnit?: Unit$1;
628
648
  onChange: (value: TValue) => void;
629
649
  onBlur?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
630
650
  disabled?: boolean;
631
651
  InputProps?: TextFieldProps['InputProps'];
632
652
  startIcon?: React$1.ReactNode;
633
653
  };
634
- declare const UnstableSizeField: <T extends SizePropValue["value"]>({ value, InputProps, onChange, onBlur, units, defaultUnit, startIcon, }: Props$1<T>) => React$1.JSX.Element;
654
+ declare const UnstableSizeField: <T extends SizePropValue["value"]>({ value, InputProps, onChange, onBlur, units, defaultUnit, startIcon, }: Props$2<T>) => React$1.JSX.Element;
635
655
 
636
656
  declare const NumberInput: React$1.ForwardRefExoticComponent<(Omit<_mui_material.FilledTextFieldProps, "ref"> | Omit<_mui_material.OutlinedTextFieldProps, "ref"> | Omit<_mui_material.StandardTextFieldProps, "ref">) & React$1.RefAttributes<unknown>>;
637
657
 
658
+ type UnitSelectorProps<T extends string> = {
659
+ options: T[];
660
+ value: T;
661
+ onSelect: (value: T) => void;
662
+ isActive: boolean;
663
+ menuItemsAttributes?: {
664
+ [key in T]?: Record<string, unknown>;
665
+ };
666
+ optionLabelOverrides?: {
667
+ [key in T]?: React$1.ReactNode;
668
+ };
669
+ disabled?: boolean;
670
+ };
671
+
672
+ type SizeFieldProps<TValue extends SizePropValue['value'], TUnit extends SizeUnit$1> = {
673
+ units: TUnit[];
674
+ value: TValue | null;
675
+ placeholder?: string;
676
+ defaultUnit?: SizeUnit$1;
677
+ startIcon?: React$1.ReactNode;
678
+ setValue: SetSizeValue<TValue>;
679
+ onBlur?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
680
+ onKeyDown?: (event: React$1.KeyboardEvent<HTMLInputElement>) => void;
681
+ onUnitChange?: (unit: SizeUnit$1) => void;
682
+ disabled?: boolean;
683
+ focused?: boolean;
684
+ ariaLabel?: string;
685
+ min?: number;
686
+ InputProps?: TextFieldProps['InputProps'];
687
+ unitSelectorProps?: Partial<UnitSelectorProps<TUnit>>;
688
+ };
689
+
690
+ type SizeValue = SizePropValue['value'];
691
+ type SizeUnit = SizePropValue['value']['unit'];
692
+ type Props$1 = SizeFieldProps<SizeValue, SizeUnit> & {
693
+ anchorRef?: RefObject<HTMLDivElement | null>;
694
+ isUnitActive?: boolean;
695
+ SizeFieldWrapper?: React$1.ComponentType<{
696
+ children: React$1.ReactNode;
697
+ }>;
698
+ };
699
+ declare const SizeComponent: ({ anchorRef, isUnitActive, SizeFieldWrapper, ...sizeFieldProps }: Props$1) => React$1.JSX.Element;
700
+
638
701
  type AnyComponentType = ComponentType<any>;
639
702
  declare const brandSymbol: unique symbol;
640
703
  type ControlComponent$1<TComponent extends AnyComponentType = AnyComponentType> = TComponent & {
@@ -738,4 +801,4 @@ declare function useTypingBuffer(options?: UseTypingBufferOptions): {
738
801
  startsWith: (haystack: string, needle: string) => boolean;
739
802
  };
740
803
 
741
- export { type AdornmentComponent, type AngleUnit, AspectRatioControl, AttributesControl, BackgroundControl, BoxShadowRepeaterControl, ChipsControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, EmailFormActionControl, 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, NumberInput, PopoverContent, PopoverGridContainer, PositionControl, type PromotionTrackingData, 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 UseTypingBufferOptions, type V4PromotionData, type V4PromotionKey, VideoMediaControl, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, isUnitExtendedOption, registerControlReplacement, trackUpgradePromotionClick, trackViewPromotion, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useFontFamilies, useSyncExternalState, useTypingBuffer };
804
+ export { type AdornmentComponent, type AngleUnit$1 as AngleUnit, AspectRatioControl, AttributesControl, BackgroundControl, BoxShadowRepeaterControl, ChipsControl, ClearIconButton, ColorControl, type ControlActionsItems, ControlActionsProvider, ControlAdornments, ControlAdornmentsProvider, type ControlComponent$1 as ControlComponent, ControlFormLabel, type ControlReplacement, ControlReplacementsProvider, ControlToggleButtonGroup, DateTimeControl, DisplayConditionsControl, EmailFormActionControl, type EqualUnequalItems, EqualUnequalSizesControl, type ExtendedOption, FilterRepeaterControl, type FontCategory, FontFamilyControl, GapControl, HtmlTagControl, ImageControl, InlineEditingControl, InlineEditor, InlineEditorToolbar, type InlineEditorToolbarProps, ItemSelector, type ItemsActionPayload, KeyValueControl, type LengthUnit$1 as LengthUnit, LinkControl, LinkedDimensionsControl, NumberControl, NumberInput, PopoverContent, PopoverGridContainer, PositionControl, type PromotionTrackingData, PromotionTrigger, type PromotionTriggerRef, PropKeyProvider, PropProvider, type PropProviderProps, QueryControl, RepeatableControl, Repeater, type RepeaterItem, SelectControl, SelectControlWrapper, type SetRepeaterValuesMeta, type SetValue, type SetValueMeta, SizeComponent, SizeControl, StrokeControl, SvgMediaControl, SwitchControl, TextAreaControl, TextControl, type TimeUnit$1 as TimeUnit, type ToggleButtonGroupItem, ToggleButtonGroupUi, ToggleControl, type ToggleControlProps, TransformRepeaterControl, TransformSettingsControl, TransitionRepeaterControl, type Unit$1 as Unit, UnstableSizeControl, UnstableSizeField, UrlControl, type UseTypingBufferOptions, type V4PromotionData, type V4PromotionKey, VideoMediaControl, createControl, createControlReplacementsRegistry, enqueueFont, getControlReplacements, injectIntoRepeaterItemActions, injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel, isUnitExtendedOption, registerControlReplacement, trackUpgradePromotionClick, trackViewPromotion, transitionProperties, transitionsItemsList, useBoundProp, useControlActions, useControlReplacement, useFontFamilies, useSyncExternalState, useTypingBuffer };