@gooddata/sdk-ui-kit 11.53.0-alpha.0 → 11.53.0-alpha.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 (124) hide show
  1. package/esm/@ui/UiConfigEditor/ConfigEditorToolbar.d.ts +26 -0
  2. package/esm/@ui/UiConfigEditor/ConfigEditorToolbar.d.ts.map +1 -0
  3. package/esm/@ui/UiConfigEditor/ConfigEditorToolbar.js +38 -0
  4. package/esm/@ui/UiConfigEditor/UiConfigEditor.d.ts +20 -0
  5. package/esm/@ui/UiConfigEditor/UiConfigEditor.d.ts.map +1 -0
  6. package/esm/@ui/UiConfigEditor/UiConfigEditor.js +229 -0
  7. package/esm/@ui/UiConfigEditor/configEditorGrammars.d.ts +15 -0
  8. package/esm/@ui/UiConfigEditor/configEditorGrammars.d.ts.map +1 -0
  9. package/esm/@ui/UiConfigEditor/configEditorGrammars.js +50 -0
  10. package/esm/@ui/UiConfigEditor/configEditorHighlighting.d.ts +6 -0
  11. package/esm/@ui/UiConfigEditor/configEditorHighlighting.d.ts.map +1 -0
  12. package/esm/@ui/UiConfigEditor/configEditorHighlighting.js +31 -0
  13. package/esm/@ui/UiConfigEditor/configEditorLanguage.d.ts +43 -0
  14. package/esm/@ui/UiConfigEditor/configEditorLanguage.d.ts.map +1 -0
  15. package/esm/@ui/UiConfigEditor/configEditorLanguage.js +179 -0
  16. package/esm/@ui/UiConfigEditor/types.d.ts +135 -0
  17. package/esm/@ui/UiConfigEditor/types.d.ts.map +1 -0
  18. package/esm/@ui/UiConfigEditor/types.js +2 -0
  19. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.d.ts.map +1 -1
  20. package/esm/@ui/UiMenu/components/defaults/DefaultUiMenuHeader.js +5 -2
  21. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts.map +1 -1
  22. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js +3 -0
  23. package/esm/@ui/UiSubmenuHeader/UiSubmenuHeader.d.ts +2 -2
  24. package/esm/@ui/UiSubmenuHeader/UiSubmenuHeader.d.ts.map +1 -1
  25. package/esm/@ui/UiSubmenuHeader/UiSubmenuHeader.js +1 -0
  26. package/esm/@ui/hooks/useVirtualizerRectObserver.d.ts +12 -0
  27. package/esm/@ui/hooks/useVirtualizerRectObserver.d.ts.map +1 -0
  28. package/esm/@ui/hooks/useVirtualizerRectObserver.js +34 -0
  29. package/esm/Datepicker/Datepicker.d.ts +2 -4
  30. package/esm/Datepicker/Datepicker.d.ts.map +1 -1
  31. package/esm/Datepicker/Datepicker.js +4 -6
  32. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.d.ts +13 -0
  33. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.d.ts.map +1 -1
  34. package/esm/Dialog/StylingEditorDialog/StylingEditorDialog.js +19 -4
  35. package/esm/Dropdown/DropdownList.d.ts +7 -1
  36. package/esm/Dropdown/DropdownList.d.ts.map +1 -1
  37. package/esm/Dropdown/DropdownList.js +3 -2
  38. package/esm/FlexDimensions/FlexDimensions.d.ts +2 -20
  39. package/esm/FlexDimensions/FlexDimensions.d.ts.map +1 -1
  40. package/esm/FlexDimensions/FlexDimensions.js +33 -54
  41. package/esm/FlexDimensions/typings.d.ts +8 -0
  42. package/esm/FlexDimensions/typings.d.ts.map +1 -1
  43. package/esm/FlexDimensions/typings.js +1 -1
  44. package/esm/Form/Input.d.ts +2 -33
  45. package/esm/Form/Input.d.ts.map +1 -1
  46. package/esm/Form/Input.js +30 -35
  47. package/esm/Form/InputPure.d.ts +40 -50
  48. package/esm/Form/InputPure.d.ts.map +1 -1
  49. package/esm/Form/InputPure.js +111 -121
  50. package/esm/Form/InputWithNumberFormat.d.ts.map +1 -1
  51. package/esm/Header/Header.d.ts +1 -1
  52. package/esm/Header/Header.d.ts.map +1 -1
  53. package/esm/Header/Header.js +4 -3
  54. package/esm/Header/WorkspacePickerHomeFooter.d.ts +1 -3
  55. package/esm/Header/WorkspacePickerHomeFooter.d.ts.map +1 -1
  56. package/esm/Header/WorkspacePickerHomeFooter.js +6 -6
  57. package/esm/Header/typings.d.ts +0 -2
  58. package/esm/Header/typings.d.ts.map +1 -1
  59. package/esm/List/DateDatasetsListItem.d.ts.map +1 -1
  60. package/esm/List/DateDatasetsListItem.js +1 -2
  61. package/esm/List/LegacyList.d.ts.map +1 -1
  62. package/esm/List/LegacyList.js +2 -20
  63. package/esm/List/List.d.ts.map +1 -1
  64. package/esm/List/List.js +2 -20
  65. package/esm/List/ListItem.d.ts +2 -0
  66. package/esm/List/ListItem.d.ts.map +1 -1
  67. package/esm/List/ListItem.js +2 -2
  68. package/esm/ParameterControl/AllowedValuesParameterControlDropdown.d.ts +22 -0
  69. package/esm/ParameterControl/AllowedValuesParameterControlDropdown.d.ts.map +1 -0
  70. package/esm/ParameterControl/AllowedValuesParameterControlDropdown.js +38 -0
  71. package/esm/ParameterControl/ParameterControl.d.ts +3 -2
  72. package/esm/ParameterControl/ParameterControl.d.ts.map +1 -1
  73. package/esm/ParameterControl/ParameterControl.js +9 -5
  74. package/esm/ShortenedText/ShortenedText.d.ts +10 -14
  75. package/esm/ShortenedText/ShortenedText.d.ts.map +1 -1
  76. package/esm/ShortenedText/ShortenedText.js +85 -96
  77. package/esm/index.d.ts +8 -4
  78. package/esm/index.d.ts.map +1 -1
  79. package/esm/index.js +3 -2
  80. package/esm/sdk-ui-kit.d.ts +264 -170
  81. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts +7 -1
  82. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts.map +1 -1
  83. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js +2 -1
  84. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.d.ts.map +1 -1
  85. package/esm/syntaxHighlightingInput/hooks/useChangeHandler.js +9 -2
  86. package/esm/syntaxHighlightingInput/hooks/useCodemirror.d.ts +4 -1
  87. package/esm/syntaxHighlightingInput/hooks/useCodemirror.d.ts.map +1 -1
  88. package/esm/syntaxHighlightingInput/hooks/useCodemirror.js +2 -2
  89. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.d.ts +12 -1
  90. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.d.ts.map +1 -1
  91. package/esm/syntaxHighlightingInput/hooks/useCodemirrorChange.js +10 -8
  92. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.d.ts.map +1 -1
  93. package/esm/syntaxHighlightingInput/hooks/useCodemirrorEditable.js +11 -4
  94. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.d.ts +1 -1
  95. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.d.ts.map +1 -1
  96. package/esm/syntaxHighlightingInput/hooks/useCodemirrorKeymap.js +26 -22
  97. package/esm/syntaxHighlightingInput/syntaxErrorLinter.d.ts +24 -0
  98. package/esm/syntaxHighlightingInput/syntaxErrorLinter.d.ts.map +1 -0
  99. package/esm/syntaxHighlightingInput/syntaxErrorLinter.js +49 -0
  100. package/package.json +13 -11
  101. package/src/@ui/UiConfigEditor/UiConfigEditor.scss +169 -0
  102. package/src/@ui/UiMenu/UiMenu.scss +6 -0
  103. package/src/@ui/UiSubmenuHeader/UiSubmenuHeader.scss +15 -0
  104. package/src/@ui/index.scss +1 -0
  105. package/src/ParameterControl/ParameterControl.scss +10 -0
  106. package/styles/css/list.css +11 -0
  107. package/styles/css/list.css.map +1 -1
  108. package/styles/css/main.css +150 -1
  109. package/styles/css/main.css.map +1 -1
  110. package/styles/css/menu.css +11 -0
  111. package/styles/css/menu.css.map +1 -1
  112. package/styles/css/stylingEditorDialog.css +5 -0
  113. package/styles/css/stylingEditorDialog.css.map +1 -1
  114. package/styles/css/syntaxHighlightingInput.css +1 -1
  115. package/styles/css/syntaxHighlightingInput.css.map +1 -1
  116. package/styles/scss/list.scss +17 -0
  117. package/styles/scss/stylingEditorDialog.scss +8 -0
  118. package/styles/scss/syntaxHighlightingInput.scss +5 -2
  119. package/esm/syntaxHighlightingInput/YamlEditor.d.ts +0 -35
  120. package/esm/syntaxHighlightingInput/YamlEditor.d.ts.map +0 -1
  121. package/esm/syntaxHighlightingInput/YamlEditor.js +0 -32
  122. package/esm/syntaxHighlightingInput/yamlSyntaxLinter.d.ts +0 -12
  123. package/esm/syntaxHighlightingInput/yamlSyntaxLinter.d.ts.map +0 -1
  124. package/esm/syntaxHighlightingInput/yamlSyntaxLinter.js +0 -32
@@ -187,7 +187,7 @@ export declare function alignPointToPlacement(alignPoint: ILegacyAlignPoint): Pl
187
187
  /**
188
188
  * @internal
189
189
  */
190
- export declare const AppHeader: ComponentType<Omit<IAppHeaderProps, "theme" | "themeIsLoading" | "themeStatus">>;
190
+ export declare function AppHeader({ logoHref, accountMenuItems, helpMenuItems, menuItemsGroups, search, notificationsPanel, workspacePicker, isAccessibilityCompliant, logoUrl, logoTitle, organizationName, className, activeColor, headerColor, headerTextColor, documentationUrl, expiredDate, showUpsellButton, onUpsellButtonClick, badges, showStaticHelpMenu, userName, helpMenuDropdownAlignPoints: helpDropdownAlign, disableHelpDropdown, onHelpClick, helpRedirectUrl, showChatItem, isChatOpen, onChatItemClick, onLogoClick, onMenuItemClick }: IAppHeaderProps): JSX.Element;
191
191
 
192
192
  /**
193
193
  * @internal
@@ -472,6 +472,14 @@ export declare function ComponentLabelsProvider({ children, labels }: IComponent
472
472
  */
473
473
  export declare function ComponentTable<TProps extends object>({ Component, columnsBy, rowsBy, baseProps, debug, codeSnippet, cellWidth, cellHeight, align, cellStyle }: IComponentTableProps<TProps>): JSX.Element;
474
474
 
475
+ /**
476
+ * A language the config editor can display and emit. Every editor instance has a primary language —
477
+ * the one its value is written in — and may offer the other as an on-the-fly projection of it.
478
+ *
479
+ * @internal
480
+ */
481
+ export declare type ConfigEditorLanguage = "json" | "yaml";
482
+
475
483
  /**
476
484
  * @internal
477
485
  */
@@ -630,9 +638,7 @@ export declare function DateDatasetsListItem({ id, title, isHeader, isSelected,
630
638
  /**
631
639
  * @internal
632
640
  */
633
- export declare class Datepicker extends PureComponent<IDatePickerProps> {
634
- render(): JSX.Element;
635
- }
641
+ export declare const Datepicker: NamedExoticComponent<IDatePickerProps>;
636
642
 
637
643
  /**
638
644
  * @internal
@@ -910,7 +916,7 @@ export declare function DropdownInvertableSelect<T>(props: IDropdownInvertableSe
910
916
  * @internal
911
917
  *
912
918
  */
913
- export declare function DropdownList<T>({ id, title, className, tabsClassName, width, height, maxHeight, onKeyDownSelect, onKeyDownConfirm, isMobile, isLoading, items, itemsCount, itemHeight, containerPadding, mobileItemHeight, showSearch, disableAutofocus, searchString, searchLabel, searchPlaceholder, searchFieldSize, onSearch, showTabs, tabs, selectedTabId, onTabSelect, renderNoData, footer, closeDropdown, accessibilityConfig, renderItem, body, itemHeightGetter, itemTitleGetter, loadNextPage, hasNextPage, skeletonItemsCount, shouldLoadNextPage, isNextPageLoading, SkeletonItem, onScroll, scrollToItem, scrollToItemKeyExtractor }: IDropdownListProps<T>): ReactElement;
919
+ export declare function DropdownList<T>({ id, title, className, tabsClassName, width, height, maxHeight, onKeyDownSelect, onKeyDownConfirm, isMobile, isLoading, items, itemsCount, itemHeight, containerPadding, mobileItemHeight, showSearch, disableAutofocus, searchString, searchLabel, searchPlaceholder, searchFieldSize, onSearch, showTabs, tabs, selectedTabId, onTabSelect, renderNoData, footer, closeDropdown, accessibilityConfig, renderItem, body, itemHeightGetter, itemTitleGetter, getIsItemSelected, loadNextPage, hasNextPage, skeletonItemsCount, shouldLoadNextPage, isNextPageLoading, SkeletonItem, onScroll, scrollToItem, scrollToItemKeyExtractor }: IDropdownListProps<T>): ReactElement;
914
920
 
915
921
  /**
916
922
  * @internal
@@ -984,6 +990,18 @@ export declare const ExportDialogBase: NamedExoticComponent<IExportDialogBasePro
984
990
  */
985
991
  export declare const ExportTabularPdfDialog: NamedExoticComponent<IExportTabularPdfDialogProps>;
986
992
 
993
+ /**
994
+ * Where the selection goes when the controlled value is replaced from outside.
995
+ *
996
+ * - `"clamp"` keeps the current selection, clamped into the new document's bounds.
997
+ * - `"end"` puts the cursor at the end of the new document — for editors whose external replaces
998
+ * mean "a new document" (an applied example, a re-format), where the old offset is meaningless
999
+ * and a subsequent insert-at-cursor should append rather than land at a stale position.
1000
+ *
1001
+ * @internal
1002
+ */
1003
+ export declare type ExternalChangeSelection = "clamp" | "end";
1004
+
987
1005
  /**
988
1006
  * @internal
989
1007
  */
@@ -1054,24 +1072,7 @@ export declare const findItem: <T extends IUiMenuItemData = object>(items: IUiMe
1054
1072
  /**
1055
1073
  * @internal
1056
1074
  */
1057
- export declare class FlexDimensions extends Component<IFlexDimensionsProps, IFlexDimensionsState> {
1058
- static defaultProps: {
1059
- children: boolean;
1060
- className: string;
1061
- measureWidth: boolean;
1062
- measureHeight: boolean;
1063
- };
1064
- private wrapperRef;
1065
- private readonly throttledUpdateSize;
1066
- private readonly resizeObserver;
1067
- constructor(props: IFlexDimensionsProps);
1068
- componentDidMount(): void;
1069
- componentWillUnmount(): void;
1070
- getChildrenDimensions(): Partial<IFlexDimensionsState>;
1071
- updateSize: () => void;
1072
- renderChildren(): ReactNode;
1073
- render(): ReactNode;
1074
- }
1075
+ export declare const FlexDimensions: ForwardRefExoticComponent<IFlexDimensionsProps & RefAttributes<IFlexDimensionsHandle>>;
1075
1076
 
1076
1077
  /**
1077
1078
  * Data attribute to identify elements that should not trigger outside click closure.
@@ -1686,7 +1687,6 @@ export declare interface IAppHeaderProps {
1686
1687
  helpMenuDropdownAlignPoints?: HelpMenuDropdownAlignPoints;
1687
1688
  showStaticHelpMenu?: boolean;
1688
1689
  helpRedirectUrl?: string;
1689
- theme?: ITheme;
1690
1690
  showUpsellButton?: boolean;
1691
1691
  onUpsellButtonClick?: (e: MouseEvent_2) => void;
1692
1692
  search?: ReactNode;
@@ -3304,6 +3304,11 @@ export declare interface IDropdownListProps<T> {
3304
3304
  renderItem: (props: IRenderDropdownListItemProps<T>) => ReactElement;
3305
3305
  itemHeightGetter?: (index: number) => number;
3306
3306
  itemTitleGetter?: (item: T) => string;
3307
+ /**
3308
+ * Predicate that returns true for the currently selected item. It drives the options'
3309
+ * `aria-selected` and the `isSelected` render prop.
3310
+ */
3311
+ getIsItemSelected?: (item: T) => boolean;
3307
3312
  accessibilityConfig?: Pick<IAccessibilityConfigBase, "ariaLabel" | "ariaLabelledBy" | "role">;
3308
3313
  body?: ReactNode | ((closeDropdown: () => void) => ReactNode);
3309
3314
  onScroll?: () => void;
@@ -3698,6 +3703,15 @@ export declare interface IFilterLabelState {
3698
3703
  hasEllipsis: boolean;
3699
3704
  }
3700
3705
 
3706
+ /**
3707
+ * Imperative API exposed by the FlexDimensions component through its ref.
3708
+ *
3709
+ * @internal
3710
+ */
3711
+ export declare interface IFlexDimensionsHandle {
3712
+ updateSize: () => void;
3713
+ }
3714
+
3701
3715
  /**
3702
3716
  * @internal
3703
3717
  */
@@ -4075,6 +4089,18 @@ export declare interface IInputPureAccessibilityConfig extends IAccessibilityCon
4075
4089
  ariaInvalid?: AriaAttributes["aria-invalid"];
4076
4090
  }
4077
4091
 
4092
+ /**
4093
+ * Imperative handle exposed by {@link InputPure}.
4094
+ *
4095
+ * `inputNodeRef` is the native `<input>` element - consumers chain `Input.inputNodeRef.inputNodeRef`
4096
+ * down to it, so it has to stay the DOM node and not the component instance.
4097
+ *
4098
+ * @internal
4099
+ */
4100
+ export declare interface IInputPureHandle extends IDomNative {
4101
+ inputNodeRef: HTMLInputElement | null;
4102
+ }
4103
+
4078
4104
  /**
4079
4105
  * @internal
4080
4106
  */
@@ -5036,92 +5062,12 @@ export declare interface INoDataProps {
5036
5062
  /**
5037
5063
  * @internal
5038
5064
  */
5039
- export declare class Input extends PureComponent<IInputPureProps, IInputState> {
5040
- static defaultProps: {
5041
- autofocus: boolean;
5042
- className: string;
5043
- clearOnEsc: boolean;
5044
- disabled: boolean;
5045
- hasError: boolean;
5046
- hasWarning: boolean;
5047
- isSearch: boolean;
5048
- isSmall: boolean;
5049
- maxlength: number;
5050
- onChange: (..._args: unknown[]) => void;
5051
- onEscKeyPress: (..._args: unknown[]) => void;
5052
- onEnterKeyPress: (..._args: unknown[]) => void;
5053
- onBlur: (..._args: unknown[]) => void;
5054
- onFocus: (..._args: unknown[]) => void;
5055
- placeholder: string;
5056
- prefix: string;
5057
- readonly: boolean;
5058
- suffix: string;
5059
- label: string;
5060
- labelPositionTop: boolean;
5061
- value: string;
5062
- };
5063
- inputNodeRef: InputPure | null;
5064
- constructor(props: IInputPureProps);
5065
- UNSAFE_componentWillReceiveProps(nextProps: IInputPureProps): void;
5066
- onChange: (value: string | number, e?: ChangeEvent<HTMLInputElement> | undefined) => void;
5067
- valueChanged(value: string | number, e?: ChangeEvent<HTMLInputElement>): void;
5068
- render(): JSX.Element;
5069
- }
5065
+ export declare const Input: ForwardRefExoticComponent<IInputPureProps & RefAttributes<IInputPureHandle>>;
5070
5066
 
5071
5067
  /**
5072
5068
  * @internal
5073
5069
  */
5074
- export declare class InputPure extends PureComponent<IInputPureProps> implements IDomNative {
5075
- inputNodeRef: HTMLInputElement | null;
5076
- private autofocusDispatcher;
5077
- private readonly a11yIdBase;
5078
- static defaultProps: {
5079
- autofocus: boolean;
5080
- className: string;
5081
- clearOnEsc: boolean;
5082
- disabled: boolean;
5083
- hasError: boolean;
5084
- hasWarning: boolean;
5085
- isSearch: boolean;
5086
- isSmall: boolean;
5087
- maxlength: number;
5088
- onChange: (..._args: unknown[]) => void;
5089
- onEscKeyPress: (..._args: unknown[]) => void;
5090
- onEnterKeyPress: (..._args: unknown[]) => void;
5091
- onBlur: (..._args: unknown[]) => void;
5092
- onFocus: (..._args: unknown[]) => void;
5093
- placeholder: string;
5094
- prefix: string;
5095
- readonly: boolean;
5096
- suffix: string;
5097
- label: string;
5098
- labelPositionTop: boolean;
5099
- value: string;
5100
- };
5101
- componentDidMount(): void;
5102
- componentWillUnmount(): void;
5103
- componentDidUpdate(prevProps: Readonly<IInputPureProps>): void;
5104
- onChange: (e: ChangeEvent<HTMLInputElement>) => void;
5105
- onKeyPress: (e: KeyboardEvent_2<Element>) => void;
5106
- onClear: (e?: ChangeEvent<HTMLInputElement> | undefined) => void;
5107
- getLabelClassNames(className: string): string;
5108
- getInputClassNames(): string;
5109
- private getA11yIdBase;
5110
- private getPrefixA11yId;
5111
- private getSuffixA11yId;
5112
- renderPrefix(prefix: string, ariaLabel?: string): ReactNode;
5113
- renderSuffix(suffix: string, ariaLabel?: string): ReactNode;
5114
- renderLabel(label: ReactNode, htmlFor?: string): ReactNode;
5115
- renderSearch(isSearch: boolean): ReactNode;
5116
- renderClearIcon(clearOnEsc: boolean): ReactNode;
5117
- renderIconButton(iconButton: IconType, iconButtonLabel: string, onIconButtonClick: (e: MouseEvent_2<HTMLButtonElement>) => void): ReactNode;
5118
- getAriaDescribedBy(): string | undefined;
5119
- renderInput(): JSX.Element;
5120
- render(): JSX.Element;
5121
- focus(options?: {
5122
- preventScroll?: boolean;
5123
- }): void;
5124
- }
5070
+ export declare const InputPure: ForwardRefExoticComponent<IInputPureProps & RefAttributes<IInputPureHandle>>;
5125
5071
 
5126
5072
  /**
5127
5073
  * @internal
@@ -5460,6 +5406,7 @@ export declare interface IRenderDropdownListItemProps<T> {
5460
5406
  isFirst: boolean;
5461
5407
  isLast: boolean;
5462
5408
  focused?: boolean;
5409
+ isSelected?: boolean;
5463
5410
  }
5464
5411
 
5465
5412
  /**
@@ -5967,6 +5914,26 @@ export declare interface ISharingApplyPayload {
5967
5914
  granteesToDelete: IAccessGrantee[];
5968
5915
  }
5969
5916
 
5917
+ /**
5918
+ * To make this component work, parent container needs this:
5919
+ * max-width: Xpx;
5920
+ * white-space: nowrap;
5921
+ *
5922
+ * and the component itself needs:
5923
+ * display: inline-block;
5924
+ * width: 100%;
5925
+ * white-space: nowrap;
5926
+ */
5927
+ /**
5928
+ * Imperative API exposed through a ref, used by consumers that need to re-measure the text
5929
+ * after a layout change that React cannot observe on its own (e.g. a container resize).
5930
+ *
5931
+ * @internal
5932
+ */
5933
+ export declare interface IShortenedTextHandle {
5934
+ recomputeShortening: () => void;
5935
+ }
5936
+
5970
5937
  /**
5971
5938
  * @internal
5972
5939
  */
@@ -6010,6 +5977,8 @@ export declare interface ISimpleSettingWidgetProps {
6010
5977
  */
6011
5978
  export declare interface ISingleSelectListItemProps {
6012
5979
  title?: string;
5980
+ /** Rendered right after the title, e.g. a "(Default)" marker. */
5981
+ suffix?: ReactNode;
6013
5982
  icon?: string | ReactNode;
6014
5983
  type?: SingleSelectListItemType;
6015
5984
  className?: string;
@@ -6136,6 +6105,18 @@ export declare interface IStylingEditorDialogProps<T extends StylingPickerItemCo
6136
6105
  * this never prevents submission — use it for content that applies but degrades the result.
6137
6106
  */
6138
6107
  validateDefinitionWarning?: (content: T) => string | undefined;
6108
+ /**
6109
+ * Optionally replaces the definition editor, e.g. with a syntax-highlighting one.
6110
+ *
6111
+ * @remarks
6112
+ * `value` is the definition as JSON text, and `onChange` expects JSON text back — the same
6113
+ * contract as the plain textarea rendered when this is not supplied. Anything richer (a language
6114
+ * toggle and its persistence, for instance) stays owned by the caller.
6115
+ */
6116
+ renderDefinitionEditor?: (props: {
6117
+ value: string;
6118
+ onChange: (next: string) => void;
6119
+ }) => ReactNode;
6139
6120
  }
6140
6121
 
6141
6122
  /**
@@ -6230,6 +6211,11 @@ export declare interface ISyntaxHighlightingInputProps {
6230
6211
  aboveCursor?: boolean;
6231
6212
  };
6232
6213
  onCompletion?: CompletionSource;
6214
+ /**
6215
+ * Where the selection goes when the controlled `value` is replaced from outside: clamped in
6216
+ * place (default), or at the end of the new document.
6217
+ */
6218
+ externalChangeSelection?: ExternalChangeSelection;
6233
6219
  }
6234
6220
 
6235
6221
  /**
@@ -7111,6 +7097,141 @@ export declare interface IUiComboboxState {
7111
7097
  listboxId: string;
7112
7098
  }
7113
7099
 
7100
+ /**
7101
+ * Imperative operations on the editor's text, for callers that need to act at the cursor.
7102
+ *
7103
+ * @internal
7104
+ */
7105
+ export declare interface IUiConfigEditorApi {
7106
+ /** Replaces the current selection with `text` and leaves the caret directly after it. */
7107
+ insertAtCursor: (text: string) => void;
7108
+ focus: () => void;
7109
+ }
7110
+
7111
+ /**
7112
+ * What the editor hands a caller rendering the toolbar's context menu.
7113
+ *
7114
+ * @internal
7115
+ */
7116
+ export declare interface IUiConfigEditorContextMenuProps {
7117
+ /** Closes the menu — pass straight to `UiMenu`'s `onClose`. */
7118
+ onClose: () => void;
7119
+ /**
7120
+ * Identity for the menu, naming it after the button that opened it. Spread onto `UiMenu`'s
7121
+ * required `ariaAttributes`.
7122
+ */
7123
+ ariaAttributes: {
7124
+ id: string;
7125
+ "aria-labelledby": string;
7126
+ };
7127
+ }
7128
+
7129
+ /**
7130
+ * The editor's localized texts, gathered in one object so adding a text does not grow the prop
7131
+ * list. The caller localizes them, as with the other kit primitives; every key is optional.
7132
+ *
7133
+ * @internal
7134
+ */
7135
+ export declare interface IUiConfigEditorLabels {
7136
+ /**
7137
+ * Radio label per offered language, keyed by the language. Optional and partial: a language
7138
+ * without an entry falls back to its technical name ("JSON", "YAML"), which as format names
7139
+ * are usually left untranslated.
7140
+ */
7141
+ languages?: Partial<Record<ConfigEditorLanguage, string>>;
7142
+ /** Label of the action that re-formats the current text. Defaults to "Auto-format". */
7143
+ autoFormat?: string;
7144
+ /** Accessible name for the language radio group, e.g. "Editor language". */
7145
+ languageSwitcher?: string;
7146
+ /** Accessible name for the button opening the context menu, e.g. "More actions". */
7147
+ contextMenu?: string;
7148
+ /**
7149
+ * Localized message shown on each syntax-error diagnostic in the lint gutter. Read when the
7150
+ * editor mounts (and whenever the language changes); a later change to it is not picked up on
7151
+ * its own. Without it no syntax linting is installed.
7152
+ */
7153
+ syntaxError?: string;
7154
+ }
7155
+
7156
+ /**
7157
+ * @internal
7158
+ */
7159
+ export declare interface IUiConfigEditorProps {
7160
+ /**
7161
+ * The value, as text in the primary language. The component's single source of truth — any other
7162
+ * offered language is only ever a rendering of it.
7163
+ */
7164
+ value: string;
7165
+ /**
7166
+ * Fires with the next value, as text in the primary language.
7167
+ *
7168
+ * While a draft cannot be parsed, the raw draft is passed through verbatim instead. Callers
7169
+ * already validate this value by parsing it, so the invalid text reaching them unchanged is what
7170
+ * makes their existing "invalid definition" handling report the problem.
7171
+ */
7172
+ onChange: (next: string) => void;
7173
+ /** Language the value is written in — what `onChange` emits. Defaults to JSON. */
7174
+ primaryLanguage?: ConfigEditorLanguage;
7175
+ /**
7176
+ * Languages offered in the toolbar's switcher, in render order. With fewer than two entries no
7177
+ * switcher is rendered at all and the value is shown in the primary language, verbatim — the
7178
+ * editor never converts anything. Defaults to JSON and YAML.
7179
+ *
7180
+ * Only a JSON primary offers projections: YAML is a superset of JSON, so projecting the other
7181
+ * way an invalid JSON draft can be a valid YAML document, and the pass-through contract could
7182
+ * hand the caller text that validates as something the user never saw validated. With any
7183
+ * other primary the editor is single-language regardless of this prop.
7184
+ */
7185
+ languages?: ConfigEditorLanguage[];
7186
+ /**
7187
+ * Language the text is displayed in. Controlled: the caller owns it, and any persistence of it.
7188
+ * Defaults to the primary language, which is also what a single-language editor always
7189
+ * displays. Honored only with a JSON primary, and the switcher renders only when this and
7190
+ * `onLanguageChange` are both supplied — the controlled pair is what makes a selection able to
7191
+ * take effect.
7192
+ */
7193
+ language?: ConfigEditorLanguage;
7194
+ /**
7195
+ * Reports the language the user picked in the switcher. Without it no switcher is rendered,
7196
+ * whatever `languages` offers — the editor is controlled and cannot honor a selection it has
7197
+ * no way to report.
7198
+ */
7199
+ onLanguageChange?: (next: ConfigEditorLanguage) => void;
7200
+ /**
7201
+ * Schema-aware autocompletion for YAML, consulted while YAML is the displayed language. It is
7202
+ * handed the position's enclosing mapping keys, so completions can follow the document's shape.
7203
+ */
7204
+ completionSource?: YamlCompletionSource;
7205
+ /** The editor's localized texts. Anything omitted falls back to a neutral default. */
7206
+ labels?: IUiConfigEditorLabels;
7207
+ /**
7208
+ * Renders the contents of the toolbar's context menu, usually a `UiMenu`.
7209
+ *
7210
+ * The editor owns the button that opens it and the popover it sits in; what goes inside is the
7211
+ * caller's, since the actions on offer are specific to what is being edited. Omit the prop and
7212
+ * no button is rendered at all.
7213
+ */
7214
+ renderContextMenu?: (props: IUiConfigEditorContextMenuProps) => ReactNode;
7215
+ /**
7216
+ * Accessible name for the editor, wired to its aria-label. CodeMirror has no labellable input
7217
+ * element, so a visible caption cannot be attached with `htmlFor` — pass its text here too.
7218
+ */
7219
+ label?: string;
7220
+ placeholder?: string;
7221
+ /**
7222
+ * Renders the value without allowing edits, while keeping it focusable and selectable so it can
7223
+ * still be read and copied with a keyboard or screen reader. The language toggle stays available
7224
+ * — switching it only changes how the value is displayed.
7225
+ */
7226
+ readOnly?: boolean;
7227
+ /** Blocks editing and the whole toolbar, e.g. while a save is in flight. */
7228
+ disabled?: boolean;
7229
+ /** Visible height, in text rows. The editor also grows to fill a taller parent. */
7230
+ rows?: number;
7231
+ dataTestId?: string;
7232
+ editorRef?: Ref<IUiConfigEditorApi>;
7233
+ }
7234
+
7114
7235
  /**
7115
7236
  * @internal
7116
7237
  */
@@ -8780,7 +8901,7 @@ export declare interface IUiSubmenuHeaderProps {
8780
8901
  useShortenedTitle?: boolean;
8781
8902
  textColor?: string;
8782
8903
  backgroundColor?: string;
8783
- height?: SizeMedium | SizeLarge;
8904
+ height?: SizeSmall | SizeMedium | SizeLarge;
8784
8905
  titleId?: string;
8785
8906
  }
8786
8907
 
@@ -9558,33 +9679,9 @@ export declare interface IWorkspacePickerHomeFooterProps {
9558
9679
  href?: string;
9559
9680
  onClick?: (e: MouseEvent_2<HTMLAnchorElement>) => void;
9560
9681
  className?: string;
9561
- theme?: ITheme;
9562
9682
  children?: ReactNode;
9563
9683
  }
9564
9684
 
9565
- /**
9566
- * @internal
9567
- */
9568
- export declare interface IYamlEditorProps {
9569
- initialValue: string;
9570
- onChange?: (value: string) => void;
9571
- disabled?: boolean;
9572
- /** Accessible name for the editor (wired to its aria-label). */
9573
- label?: string;
9574
- completionSource?: YamlCompletionSource;
9575
- /**
9576
- * When set, wires the built-in YAML syntax linter with this (localized) diagnostic message.
9577
- * Applied once when the editor mounts; later changes are not re-applied.
9578
- */
9579
- syntaxErrorMessage?: string;
9580
- /**
9581
- * Extra CodeMirror extensions, appended after the YAML defaults. Applied once when the editor
9582
- * mounts; later changes are not re-applied.
9583
- */
9584
- extensions?: Extension[];
9585
- placeholder?: string;
9586
- }
9587
-
9588
9685
  /** @internal */
9589
9686
  export declare interface IYamlPosition {
9590
9687
  /** Keys of the mappings enclosing the position, outermost first. */
@@ -10024,8 +10121,9 @@ export declare type PageOrientation = "PORTRAIT" | "LANDSCAPE";
10024
10121
  export declare type PageSize = "A3" | "A4" | "LETTER";
10025
10122
 
10026
10123
  /**
10027
- * Selects the parameter editing control by `definition.type` — the single seam where control
10028
- * variants are dispatched. New parameter types get a sibling control and a new arm here.
10124
+ * Selects the parameter editing control by `definition.type` and constraint shape — the single
10125
+ * seam where control variants are dispatched. New variants get a sibling control and a new arm
10126
+ * here.
10029
10127
  *
10030
10128
  * @internal
10031
10129
  */
@@ -10066,6 +10164,17 @@ export declare type PermissionMenuLevel = "VIEW" | "SHARE" | "EDIT";
10066
10164
  */
10067
10165
  export declare type PositionPoint = `${VerticalPosition}-${HorizontalPosition}`;
10068
10166
 
10167
+ /**
10168
+ * Loads the grammar(s) `UiConfigEditor` needs for the given languages ahead of rendering one.
10169
+ *
10170
+ * Purely an optimization: the editor loads its grammar itself when it first renders, mounting
10171
+ * without highlighting for the moment that takes. Callers that know an editor is coming (and
10172
+ * tests that assert on a fully initialized editor synchronously) can await this instead.
10173
+ *
10174
+ * @internal
10175
+ */
10176
+ export declare function preloadUiConfigEditorGrammars(languages?: ConfigEditorLanguage[]): Promise<void>;
10177
+
10069
10178
  /**
10070
10179
  * @internal
10071
10180
  */
@@ -10297,33 +10406,10 @@ export declare type ShareDialogInteractionType = "SHARE_DIALOG_OPENED" | "SHARE_
10297
10406
  */
10298
10407
  export declare function ShareGranteeBase({ isLoading, isLockedNow, isUnderLenientControlNow, grantees, sharedObject, isDirty, currentUserPermissions, dashboardFilters, dashboardParameters, dashboardLinkBasePath, isShareGrantHidden, applyShareGrantOnSelect, showDashboardShareLink, isGranteeShareLoading, onCancel, onSubmit, onGranteeDelete, onGranularGranteeChange, onAddGranteeButtonClick, onLockChange, onUnderLenientControlChange, isCurrentUserWorkspaceManager, onShareLinkCopy }: IShareGranteeBaseProps): JSX.Element;
10299
10408
 
10300
- /**
10301
- * To make this component work, parent container needs this:
10302
- * max-width: Xpx;
10303
- * white-space: nowrap;
10304
- *
10305
- * and the component itself needs:
10306
- * display: inline-block;
10307
- * width: 100%;
10308
- * white-space: nowrap;
10309
- */
10310
10409
  /**
10311
10410
  * @internal
10312
10411
  */
10313
- export declare class ShortenedText extends PureComponent<IShortenedTextProps, IShortenedTextState> {
10314
- static defaultProps: Pick<IShortenedTextProps, "className" | "tagName" | "tooltipAlignPoints" | "tooltipVisibleOnMouseOver" | "getElement" | "displayTooltip" | "ellipsisPosition">;
10315
- textRef: RefObject<HTMLElement | null>;
10316
- private naturalScrollWidth;
10317
- constructor(props: IShortenedTextProps);
10318
- componentDidMount(): void;
10319
- UNSAFE_componentWillReceiveProps(nextProps: IShortenedTextProps): void;
10320
- componentDidUpdate(): void;
10321
- checkTitle(): void;
10322
- recomputeShortening(): void;
10323
- renderTextWithBubble(): ReactNode;
10324
- renderText(): ReactNode;
10325
- render(): ReactNode;
10326
- }
10412
+ export declare const ShortenedText: ForwardRefExoticComponent<IShortenedTextProps & RefAttributes<IShortenedTextHandle>>;
10327
10413
 
10328
10414
  /**
10329
10415
  * Shortens large numbers with K/M/B suffixes for compact display.
@@ -10505,7 +10591,7 @@ export declare function SubMenu(props: ISubMenuProps): JSX.Element;
10505
10591
  /**
10506
10592
  * @internal
10507
10593
  */
10508
- export declare function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions, extensions, disabled }: ISyntaxHighlightingInputProps): JSX.Element;
10594
+ export declare function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions, extensions, disabled, externalChangeSelection }: ISyntaxHighlightingInputProps): JSX.Element;
10509
10595
 
10510
10596
  /**
10511
10597
  * @internal
@@ -10880,6 +10966,25 @@ export declare type UiComboboxListItemLabelProps = HTMLAttributes<HTMLSpanElemen
10880
10966
  /** @internal */
10881
10967
  export declare function UiComboboxPopup({ children, style }: IUiComboboxPopupProps): JSX.Element | null;
10882
10968
 
10969
+ /**
10970
+ * A config editor: a CodeMirror source editor with syntax highlighting, line numbers and a lint
10971
+ * gutter, plus a toolbar to re-format the text and — when more than one language is offered — to
10972
+ * read and edit the same value as either JSON or YAML.
10973
+ *
10974
+ * The primary language is always the value in and the value out. Any other offered language is a
10975
+ * convenience projection converted on the fly, so a caller never has to know which language the user
10976
+ * happens to be looking at. A single-language editor never converts at all: what is typed is what is
10977
+ * emitted, byte for byte, so YAML comments and formatting the caller cares about survive.
10978
+ *
10979
+ * Switching language re-emits the value in canonical form, which is what makes switching to YAML and
10980
+ * back re-format the JSON. The canonical form matches the `JSON.stringify(value, null, 4)` that
10981
+ * callers conventionally seed the field with, so a switch on an untouched value is a no-op rather
10982
+ * than something that marks a form dirty.
10983
+ *
10984
+ * @internal
10985
+ */
10986
+ export declare function UiConfigEditor({ value, onChange, primaryLanguage, languages, language, onLanguageChange, completionSource, labels, renderContextMenu, label, placeholder, readOnly, disabled, rows, dataTestId, editorRef }: IUiConfigEditorProps): JSX.Element;
10987
+
10883
10988
  /**
10884
10989
  * Modal confirm dialog used for actions that need explicit user confirmation
10885
10990
  * (granting workspace access, restricting access, removing a grantee,
@@ -12068,22 +12173,11 @@ export declare function withBubble<T>(WrappedComponent: ComponentType<T>): Forwa
12068
12173
  /**
12069
12174
  * @internal
12070
12175
  */
12071
- export declare const WorkspacePickerHomeFooter: ComponentType<Omit<IWorkspacePickerHomeFooterProps, "theme" | "themeIsLoading" | "themeStatus">>;
12176
+ export declare function WorkspacePickerHomeFooter({ children, className, href, onClick }: IWorkspacePickerHomeFooterProps): JSX.Element;
12072
12177
 
12073
12178
  /** @internal */
12074
12179
  export declare type YamlCompletionSource = (context: CompletionContext, position: IYamlPosition) => ReturnType<CompletionSource>;
12075
12180
 
12076
- /**
12077
- * A YAML source editor: syntax highlighting, line numbers, a lint gutter, an optional syntax linter,
12078
- * and optional schema-aware autocompletion. Generic YAML plumbing lives here; schema-specific policy
12079
- * (the completion source, the syntax-error message, value handling) is injected by the caller.
12080
- *
12081
- * Uncontrolled: it seeds from `initialValue` and reports edits through `onChange`; the parent reads
12082
- * the current value from `onChange`, never by re-driving `initialValue`.
12083
- * @internal
12084
- */
12085
- export declare function YamlEditor({ initialValue, onChange, disabled, label, completionSource, syntaxErrorMessage, extensions, placeholder }: IYamlEditorProps): JSX.Element;
12086
-
12087
12181
  /** @internal */
12088
12182
  export declare function yamlPositionAt(state: EditorState, pos: number): IYamlPosition;
12089
12183
 
@@ -1,6 +1,7 @@
1
1
  import { type CompletionSource } from "@codemirror/autocomplete";
2
2
  import { type Extension } from "@codemirror/state";
3
3
  import { type EditorView } from "@codemirror/view";
4
+ import { type ExternalChangeSelection } from "./hooks/useCodemirrorChange.js";
4
5
  /**
5
6
  * @internal
6
7
  */
@@ -24,9 +25,14 @@ export interface ISyntaxHighlightingInputProps {
24
25
  aboveCursor?: boolean;
25
26
  };
26
27
  onCompletion?: CompletionSource;
28
+ /**
29
+ * Where the selection goes when the controlled `value` is replaced from outside: clamped in
30
+ * place (default), or at the end of the new document.
31
+ */
32
+ externalChangeSelection?: ExternalChangeSelection;
27
33
  }
28
34
  /**
29
35
  * @internal
30
36
  */
31
- export declare function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions, extensions, disabled }: ISyntaxHighlightingInputProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions, extensions, disabled, externalChangeSelection }: ISyntaxHighlightingInputProps): import("react/jsx-runtime").JSX.Element;
32
38
  //# sourceMappingURL=SyntaxHighlightingInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxHighlightingInput.d.ts","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACvD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAChE,cAAc,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,gBAAqB,EACrB,UAAe,EACf,QAAQ,EACX,EAAE,6BAA6B,2CAmB/B"}
1
+ {"version":3,"file":"SyntaxHighlightingInput.d.ts","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACvD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAChE,cAAc,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACrD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EACpC,KAAK,EACL,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,gBAAqB,EACrB,UAAe,EACf,QAAQ,EACR,uBAAuB,EAC1B,EAAE,6BAA6B,2CAoB/B"}
@@ -4,7 +4,7 @@ import { useCodemirror } from "./hooks/useCodemirror.js";
4
4
  /**
5
5
  * @internal
6
6
  */
7
- export function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions = [], extensions = [], disabled, }) {
7
+ export function SyntaxHighlightingInput({ value, label, placeholder, autocompletion, onApi, onChange, onCursor, onKeyDown, onCompletion, onFocus, onBlur, className, beforeExtensions = [], extensions = [], disabled, externalChangeSelection, }) {
8
8
  const { editorRef } = useCodemirror({
9
9
  placeholderText: placeholder,
10
10
  autocompletion,
@@ -20,6 +20,7 @@ export function SyntaxHighlightingInput({ value, label, placeholder, autocomplet
20
20
  onCompletion,
21
21
  onFocus,
22
22
  onBlur,
23
+ externalChangeSelection,
23
24
  });
24
25
  return _jsx("div", { className: cx(className, "gd-input-syntax-highlighting-input"), ref: editorRef });
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useChangeHandler.d.ts","sourceRoot":"","sources":["../../../src/syntaxHighlightingInput/hooks/useChangeHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAIhD,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,YAAY,EACf,EAAE;IACC,YAAY,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;CAC7E;;EAiBA"}
1
+ {"version":3,"file":"useChangeHandler.d.ts","sourceRoot":"","sources":["../../../src/syntaxHighlightingInput/hooks/useChangeHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAKhD,wBAAgB,gBAAgB,CAAC,EAC7B,YAAY,EACZ,YAAY,EACf,EAAE;IACC,YAAY,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;CAC7E;;EAwBA"}