@eccenca/gui-elements 24.0.0-rc.1 → 24.0.0-rc.3
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/CHANGELOG.md +71 -5
- package/README.md +5 -3
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +8 -4
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/cjs/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js +4 -8
- package/dist/cjs/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js.map +1 -1
- package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
- package/dist/cjs/cmem/markdown/highlightSearchWords.js +5 -8
- package/dist/cjs/cmem/markdown/highlightSearchWords.js.map +1 -1
- package/dist/cjs/cmem/react-flow/nodes/StickyNoteNode.js.map +1 -1
- package/dist/cjs/common/index.js +1 -3
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/components/Accordion/Accordion.js +2 -7
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/Accordion/AccordionItem.js +1 -2
- package/dist/cjs/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +114 -63
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +13 -51
- package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/extensions/markText.js +55 -0
- package/dist/cjs/components/AutoSuggestion/extensions/markText.js.map +1 -0
- package/dist/cjs/components/AutoSuggestion/index.js +1 -3
- package/dist/cjs/components/AutoSuggestion/index.js.map +1 -1
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +2 -6
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/cjs/components/AutocompleteField/index.js +1 -0
- package/dist/cjs/components/AutocompleteField/index.js.map +1 -1
- package/dist/cjs/components/Breadcrumb/BreadcrumbList.js +2 -2
- package/dist/cjs/components/Breadcrumb/BreadcrumbList.js.map +1 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Card/CardHeader.js +2 -2
- package/dist/cjs/components/Card/CardHeader.js.map +1 -1
- package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js +3 -3
- package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js.map +1 -1
- package/dist/cjs/components/Dialog/AlertDialog.js.map +1 -1
- package/dist/cjs/components/Dialog/Modal.js +2 -2
- package/dist/cjs/components/Dialog/Modal.js.map +1 -1
- package/dist/cjs/components/FlexibleLayout/FlexibleLayoutContainer.js +55 -0
- package/dist/cjs/components/FlexibleLayout/FlexibleLayoutContainer.js.map +1 -0
- package/dist/cjs/components/FlexibleLayout/FlexibleLayoutItem.js +57 -0
- package/dist/cjs/components/FlexibleLayout/FlexibleLayoutItem.js.map +1 -0
- package/dist/cjs/components/FlexibleLayout/index.js +19 -0
- package/dist/cjs/components/FlexibleLayout/index.js.map +1 -0
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/GridColumn.js +1 -1
- package/dist/cjs/components/Grid/GridColumn.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.js +3 -5
- package/dist/cjs/components/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +2 -2
- package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/cjs/components/Label/Label.js +2 -2
- package/dist/cjs/components/Label/Label.js.map +1 -1
- package/dist/cjs/components/MultiSelect/MultiSelect.js +6 -15
- package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js +7 -2
- package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js.map +1 -1
- package/dist/cjs/components/Notification/Notification.js +2 -5
- package/dist/cjs/components/Notification/Notification.js.map +1 -1
- package/dist/cjs/components/PropertyValuePair/PropertyValueList.js +12 -2
- package/dist/cjs/components/PropertyValuePair/PropertyValueList.js.map +1 -1
- package/dist/cjs/components/PropertyValuePair/PropertyValuePair.js +3 -2
- package/dist/cjs/components/PropertyValuePair/PropertyValuePair.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +0 -6
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/SuggestField/SuggestField.js +2 -2
- package/dist/cjs/components/SuggestField/SuggestField.js.map +1 -1
- package/dist/cjs/components/Table/Table.js +0 -3
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Tag/Tag.js +1 -0
- package/dist/cjs/components/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/TextField/TextArea.js +1 -19
- package/dist/cjs/components/TextField/TextArea.js.map +1 -1
- package/dist/cjs/components/TextField/TextField.js +6 -24
- package/dist/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Highlighter.js +0 -6
- package/dist/cjs/components/Typography/Highlighter.js.map +1 -1
- package/dist/cjs/components/Typography/index.js +0 -8
- package/dist/cjs/components/Typography/index.js.map +1 -1
- package/dist/cjs/components/Workspace/WorkspaceContent.js +1 -1
- package/dist/cjs/components/Workspace/WorkspaceContent.js.map +1 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +91 -86
- package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +43 -0
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -0
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +49 -0
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -0
- package/dist/cjs/extensions/react-flow/edges/edgeTypes.js +1 -1
- package/dist/cjs/extensions/react-flow/edges/edgeTypes.js.map +1 -1
- package/dist/cjs/extensions/react-flow/index.js +3 -14
- package/dist/cjs/extensions/react-flow/index.js.map +1 -1
- package/dist/cjs/extensions/react-flow/minimap/utils.js +4 -7
- package/dist/cjs/extensions/react-flow/minimap/utils.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +2 -10
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js +1 -1
- package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js.map +1 -1
- package/dist/cjs/index.js +1 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js +1 -0
- package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js.map +1 -1
- package/dist/cjs/legacy-replacements/Button/Button.js +2 -0
- package/dist/cjs/legacy-replacements/Button/Button.js.map +1 -1
- package/dist/cjs/legacy-replacements/Button/DismissiveButton.js +1 -0
- package/dist/cjs/legacy-replacements/Button/DismissiveButton.js.map +1 -1
- package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js +1 -0
- package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js.map +1 -1
- package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js +2 -0
- package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/legacy-replacements/Radio/RadioButton.js +2 -0
- package/dist/cjs/legacy-replacements/Radio/RadioButton.js.map +1 -1
- package/dist/cjs/legacy-replacements/Tabs/Tabs.js +1 -0
- package/dist/cjs/legacy-replacements/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/legacy-replacements/TextField/TextField.js +2 -0
- package/dist/cjs/legacy-replacements/TextField/TextField.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +9 -4
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/esm/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js +2 -4
- package/dist/esm/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js.map +1 -1
- package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
- package/dist/esm/cmem/markdown/highlightSearchWords.js +5 -8
- package/dist/esm/cmem/markdown/highlightSearchWords.js.map +1 -1
- package/dist/esm/cmem/react-flow/nodes/StickyNoteNode.js.map +1 -1
- package/dist/esm/common/index.js +0 -2
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +2 -7
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Accordion/AccordionItem.js +1 -2
- package/dist/esm/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +133 -81
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +36 -60
- package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/extensions/markText.js +72 -0
- package/dist/esm/components/AutoSuggestion/extensions/markText.js.map +1 -0
- package/dist/esm/components/AutoSuggestion/index.js +1 -2
- package/dist/esm/components/AutoSuggestion/index.js.map +1 -1
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js +3 -6
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/esm/components/AutocompleteField/index.js +1 -0
- package/dist/esm/components/AutocompleteField/index.js.map +1 -1
- package/dist/esm/components/Breadcrumb/BreadcrumbList.js +2 -2
- package/dist/esm/components/Breadcrumb/BreadcrumbList.js.map +1 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Card/CardHeader.js +2 -2
- package/dist/esm/components/Card/CardHeader.js.map +1 -1
- package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js +2 -2
- package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js.map +1 -1
- package/dist/esm/components/Dialog/AlertDialog.js.map +1 -1
- package/dist/esm/components/Dialog/Modal.js +3 -3
- package/dist/esm/components/Dialog/Modal.js.map +1 -1
- package/dist/esm/components/FlexibleLayout/FlexibleLayoutContainer.js +40 -0
- package/dist/esm/components/FlexibleLayout/FlexibleLayoutContainer.js.map +1 -0
- package/dist/esm/components/FlexibleLayout/FlexibleLayoutItem.js +42 -0
- package/dist/esm/components/FlexibleLayout/FlexibleLayoutItem.js.map +1 -0
- package/dist/esm/components/FlexibleLayout/index.js +3 -0
- package/dist/esm/components/FlexibleLayout/index.js.map +1 -0
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Grid/GridColumn.js +1 -1
- package/dist/esm/components/Grid/GridColumn.js.map +1 -1
- package/dist/esm/components/Icon/Icon.js +1 -2
- package/dist/esm/components/Icon/Icon.js.map +1 -1
- package/dist/esm/components/Icon/canonicalIconNames.js +2 -2
- package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/esm/components/Label/Label.js +2 -2
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/MultiSelect/MultiSelect.js +7 -15
- package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/esm/components/MultiSuggestField/MultiSuggestField.js +6 -1
- package/dist/esm/components/MultiSuggestField/MultiSuggestField.js.map +1 -1
- package/dist/esm/components/Notification/Notification.js +2 -6
- package/dist/esm/components/Notification/Notification.js.map +1 -1
- package/dist/esm/components/PropertyValuePair/PropertyValueList.js +12 -2
- package/dist/esm/components/PropertyValuePair/PropertyValueList.js.map +1 -1
- package/dist/esm/components/PropertyValuePair/PropertyValuePair.js +3 -2
- package/dist/esm/components/PropertyValuePair/PropertyValuePair.js.map +1 -1
- package/dist/esm/components/Select/Select.js +0 -6
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Spinner/Spinner.js.map +1 -1
- package/dist/esm/components/SuggestField/SuggestField.js +1 -1
- package/dist/esm/components/SuggestField/SuggestField.js.map +1 -1
- package/dist/esm/components/Table/Table.js +0 -3
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +1 -0
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/TextField/TextArea.js +2 -20
- package/dist/esm/components/TextField/TextArea.js.map +1 -1
- package/dist/esm/components/TextField/TextField.js +6 -24
- package/dist/esm/components/TextField/TextField.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/Highlighter.js +3 -6
- package/dist/esm/components/Typography/Highlighter.js.map +1 -1
- package/dist/esm/components/Typography/index.js +0 -7
- package/dist/esm/components/Typography/index.js.map +1 -1
- package/dist/esm/components/Workspace/WorkspaceContent.js +1 -1
- package/dist/esm/components/Workspace/WorkspaceContent.js.map +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +132 -83
- package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +39 -0
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -0
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +55 -0
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -0
- package/dist/esm/extensions/react-flow/edges/edgeTypes.js +1 -1
- package/dist/esm/extensions/react-flow/edges/edgeTypes.js.map +1 -1
- package/dist/esm/extensions/react-flow/index.js +2 -12
- package/dist/esm/extensions/react-flow/index.js.map +1 -1
- package/dist/esm/extensions/react-flow/minimap/utils.js +4 -7
- package/dist/esm/extensions/react-flow/minimap/utils.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js +2 -10
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/nodeTypes.js +1 -1
- package/dist/esm/extensions/react-flow/nodes/nodeTypes.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/legacy-replacements/Button/AffirmativeButton.js +1 -0
- package/dist/esm/legacy-replacements/Button/AffirmativeButton.js.map +1 -1
- package/dist/esm/legacy-replacements/Button/Button.js +2 -0
- package/dist/esm/legacy-replacements/Button/Button.js.map +1 -1
- package/dist/esm/legacy-replacements/Button/DismissiveButton.js +1 -0
- package/dist/esm/legacy-replacements/Button/DismissiveButton.js.map +1 -1
- package/dist/esm/legacy-replacements/Button/DisruptiveButton.js +1 -0
- package/dist/esm/legacy-replacements/Button/DisruptiveButton.js.map +1 -1
- package/dist/esm/legacy-replacements/Checkbox/Checkbox.js +2 -0
- package/dist/esm/legacy-replacements/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/legacy-replacements/Radio/RadioButton.js +2 -0
- package/dist/esm/legacy-replacements/Radio/RadioButton.js.map +1 -1
- package/dist/esm/legacy-replacements/Tabs/Tabs.js +1 -0
- package/dist/esm/legacy-replacements/Tabs/Tabs.js.map +1 -1
- package/dist/esm/legacy-replacements/TextField/TextField.js +2 -0
- package/dist/esm/legacy-replacements/TextField/TextField.js.map +1 -1
- package/dist/types/cmem/ActivityControl/ActivityControlTypes.d.ts +3 -5
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +0 -2
- package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +7 -11
- package/dist/types/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.d.ts +7 -3
- package/dist/types/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.d.ts +1 -12
- package/dist/types/cmem/markdown/Markdown.d.ts +0 -1
- package/dist/types/cmem/markdown/highlightSearchWords.d.ts +0 -6
- package/dist/types/cmem/react-flow/nodes/StickyNoteNode.d.ts +2 -2
- package/dist/types/common/index.d.ts +0 -24
- package/dist/types/components/Accordion/Accordion.d.ts +1 -6
- package/dist/types/components/Accordion/AccordionItem.d.ts +1 -6
- package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +27 -17
- package/dist/types/components/AutoSuggestion/AutoSuggestionList.d.ts +0 -1
- package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +10 -11
- package/dist/types/components/AutoSuggestion/extensions/markText.d.ts +16 -0
- package/dist/types/components/AutoSuggestion/index.d.ts +2 -2
- package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +11 -15
- package/dist/types/components/AutocompleteField/index.d.ts +1 -0
- package/dist/types/components/AutocompleteField/interfaces.d.ts +4 -2
- package/dist/types/components/Breadcrumb/BreadcrumbList.d.ts +1 -6
- package/dist/types/components/Button/Button.d.ts +0 -2
- package/dist/types/components/Card/CardHeader.d.ts +1 -9
- package/dist/types/components/Dialog/AlertDialog.d.ts +0 -1
- package/dist/types/components/FlexibleLayout/FlexibleLayoutContainer.d.ts +31 -0
- package/dist/types/components/FlexibleLayout/FlexibleLayoutItem.d.ts +24 -0
- package/dist/types/components/FlexibleLayout/index.d.ts +2 -0
- package/dist/types/components/Grid/Grid.d.ts +0 -5
- package/dist/types/components/Grid/GridColumn.d.ts +1 -6
- package/dist/types/components/Icon/BaseIcon.d.ts +2 -2
- package/dist/types/components/Icon/Icon.d.ts +0 -5
- package/dist/types/components/Icon/canonicalIconNames.d.ts +2 -7
- package/dist/types/components/Label/Label.d.ts +5 -1
- package/dist/types/components/MultiSelect/MultiSelect.d.ts +6 -8
- package/dist/types/components/MultiSuggestField/MultiSuggestField.d.ts +11 -2
- package/dist/types/components/Notification/Notification.d.ts +1 -14
- package/dist/types/components/PropertyValuePair/PropertyValueList.d.ts +8 -2
- package/dist/types/components/PropertyValuePair/PropertyValuePair.d.ts +5 -1
- package/dist/types/components/Select/Select.d.ts +0 -3
- package/dist/types/components/Spinner/Spinner.d.ts +3 -3
- package/dist/types/components/SuggestField/SuggestField.d.ts +5 -0
- package/dist/types/components/SuggestField/index.d.ts +1 -1
- package/dist/types/components/Table/Table.d.ts +1 -4
- package/dist/types/components/Tag/Tag.d.ts +0 -5
- package/dist/types/components/TextField/TextArea.d.ts +1 -21
- package/dist/types/components/TextField/TextField.d.ts +3 -23
- package/dist/types/components/Tooltip/Tooltip.d.ts +2 -2
- package/dist/types/components/Typography/Highlighter.d.ts +3 -6
- package/dist/types/components/Typography/index.d.ts +0 -6
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/extensions/codemirror/CodeMirror.d.ts +54 -26
- package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +23 -0
- package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +20 -0
- package/dist/types/extensions/react-flow/edges/edgeTypes.d.ts +1 -0
- package/dist/types/extensions/react-flow/index.d.ts +0 -14
- package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +6 -14
- package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +0 -1
- package/dist/types/extensions/react-flow/nodes/nodeTypes.d.ts +1 -0
- package/dist/types/extensions/react-flow/nodes/sharedTypes.d.ts +0 -1
- package/dist/types/index.d.ts +1 -9
- package/dist/types/legacy-replacements/Button/AffirmativeButton.d.ts +1 -0
- package/dist/types/legacy-replacements/Button/Button.d.ts +1 -0
- package/dist/types/legacy-replacements/Button/DismissiveButton.d.ts +1 -0
- package/dist/types/legacy-replacements/Button/DisruptiveButton.d.ts +1 -0
- package/dist/types/legacy-replacements/Checkbox/Checkbox.d.ts +1 -0
- package/dist/types/legacy-replacements/Radio/RadioButton.d.ts +1 -0
- package/dist/types/legacy-replacements/Tabs/Tabs.d.ts +4 -2
- package/dist/types/legacy-replacements/TextField/TextField.d.ts +1 -0
- package/package.json +7 -4
- package/src/cmem/ActivityControl/ActivityControlTypes.ts +3 -7
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +0 -6
- package/src/cmem/ActivityControl/SilkActivityControl.tsx +8 -18
- package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +22 -9
- package/src/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.tsx +11 -7
- package/src/cmem/DateTimeDisplay/tests/ElapsedDateTimeDisplay.test.tsx +9 -4
- package/src/cmem/markdown/Markdown.tsx +0 -2
- package/src/cmem/markdown/highlightSearchWords.test.ts +3 -2
- package/src/cmem/markdown/highlightSearchWords.ts +5 -10
- package/src/cmem/markdown/markdown.scss +6 -3
- package/src/cmem/markdown/markdown.utils.ts +18 -0
- package/src/cmem/markdown/markdownutils.test.ts +17 -0
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +1 -1
- package/src/cmem/react-flow/nodes/StickyNoteNode.tsx +2 -2
- package/src/common/index.ts +0 -3
- package/src/components/Accordion/Accordion.tsx +0 -13
- package/src/components/Accordion/AccordionItem.tsx +0 -7
- package/src/components/Accordion/accordion.scss +0 -5
- package/src/components/AutoSuggestion/AutoSuggestion.scss +20 -17
- package/src/components/AutoSuggestion/AutoSuggestion.tsx +171 -100
- package/src/components/AutoSuggestion/AutoSuggestionList.tsx +0 -3
- package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +47 -83
- package/src/components/AutoSuggestion/extensions/markText.ts +63 -0
- package/src/components/AutoSuggestion/index.ts +2 -2
- package/src/components/AutoSuggestion/tests/ExtendedCodeEditor.test.tsx +13 -11
- package/src/components/AutocompleteField/AutoCompleteField.tsx +17 -19
- package/src/components/AutocompleteField/index.ts +1 -0
- package/src/components/AutocompleteField/interfaces.ts +5 -2
- package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -7
- package/src/components/Button/Button.tsx +0 -5
- package/src/components/Card/CardHeader.tsx +2 -10
- package/src/components/CodeAutocompleteField/CodeAutocompleteField.stories.tsx +9 -3
- package/src/components/CodeAutocompleteField/CodeAutocompleteField.tsx +2 -2
- package/src/components/Dialog/AlertDialog.tsx +0 -3
- package/src/components/Dialog/Modal.tsx +3 -3
- package/src/components/FlexibleLayout/FlexibleLayoutContainer.tsx +67 -0
- package/src/components/FlexibleLayout/FlexibleLayoutItem.tsx +59 -0
- package/src/components/FlexibleLayout/flexiblelayout.scss +48 -0
- package/src/components/FlexibleLayout/index.ts +2 -0
- package/src/components/FlexibleLayout/stories/FlexibleLayoutContainer.stories.tsx +31 -0
- package/src/components/FlexibleLayout/stories/FlexibleLayoutItem.stories.tsx +28 -0
- package/src/components/Grid/Grid.tsx +0 -5
- package/src/components/Grid/GridColumn.tsx +0 -6
- package/src/components/Icon/BaseIcon.tsx +2 -2
- package/src/components/Icon/Icon.tsx +1 -5
- package/src/components/Icon/canonicalIconNames.tsx +5 -11
- package/src/components/Label/Label.tsx +6 -1
- package/src/components/Label/label.scss +6 -0
- package/src/components/MultiSelect/MultiSelect.tsx +9 -19
- package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +2 -2
- package/src/components/MultiSuggestField/MultiSuggestField.tsx +16 -3
- package/src/components/MultiSuggestField/tests/MultiSuggestField.test.tsx +6 -6
- package/src/components/Notification/Notification.tsx +2 -17
- package/src/components/Notification/notification.scss +1 -2
- package/src/components/PropertyValuePair/PropertyValueList.tsx +26 -3
- package/src/components/PropertyValuePair/PropertyValuePair.tsx +7 -1
- package/src/components/PropertyValuePair/propertyvalue.scss +25 -13
- package/src/components/PropertyValuePair/stories/PropertyValueList.stories.tsx +1 -1
- package/src/components/PropertyValuePair/stories/PropertyValuePair.stories.tsx +1 -1
- package/src/components/Select/Select.tsx +0 -10
- package/src/components/Spinner/Spinner.tsx +3 -6
- package/src/components/SuggestField/SuggestField.tsx +6 -1
- package/src/components/Table/Table.tsx +2 -7
- package/src/components/Tag/Tag.tsx +1 -8
- package/src/components/TextField/TextArea.tsx +2 -45
- package/src/components/TextField/TextField.tsx +9 -51
- package/src/components/Tooltip/Tooltip.tsx +2 -2
- package/src/components/Typography/Highlighter.tsx +3 -6
- package/src/components/Typography/index.ts +0 -9
- package/src/components/Typography/typography.scss +51 -0
- package/src/components/Workspace/WorkspaceContent.tsx +1 -1
- package/src/components/index.scss +1 -0
- package/src/components/index.ts +1 -1
- package/src/configuration/_variables.scss +4 -0
- package/src/extensions/codemirror/CodeMirror.tsx +189 -106
- package/src/extensions/codemirror/_codemirror.scss +24 -41
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +44 -0
- package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +57 -0
- package/src/extensions/react-flow/edges/edgeTypes.ts +1 -1
- package/src/extensions/react-flow/index.ts +2 -13
- package/src/extensions/react-flow/minimap/_minimap.scss +0 -22
- package/src/extensions/react-flow/minimap/utils.ts +2 -5
- package/src/extensions/react-flow/nodes/NodeContent.tsx +4 -27
- package/src/extensions/react-flow/nodes/NodeDefault.tsx +0 -3
- package/src/extensions/react-flow/nodes/_nodes.scss +0 -55
- package/src/extensions/react-flow/nodes/nodeTypes.ts +1 -1
- package/src/extensions/react-flow/nodes/sharedTypes.ts +0 -1
- package/src/index.ts +1 -3
- package/src/legacy-replacements/Button/AffirmativeButton.tsx +1 -0
- package/src/legacy-replacements/Button/Button.tsx +2 -0
- package/src/legacy-replacements/Button/DismissiveButton.tsx +1 -0
- package/src/legacy-replacements/Button/DisruptiveButton.tsx +1 -0
- package/src/legacy-replacements/Checkbox/Checkbox.tsx +2 -0
- package/src/legacy-replacements/Radio/RadioButton.tsx +2 -0
- package/src/legacy-replacements/Tabs/Tabs.tsx +5 -4
- package/src/legacy-replacements/TextField/TextField.tsx +2 -0
- package/dist/cjs/components/NumericInput/NumericInput.js +0 -9
- package/dist/cjs/components/NumericInput/NumericInput.js.map +0 -1
- package/dist/esm/components/NumericInput/NumericInput.js +0 -6
- package/dist/esm/components/NumericInput/NumericInput.js.map +0 -1
- package/dist/types/components/NumericInput/NumericInput.d.ts +0 -3
- package/src/components/AutoSuggestion/AutoSuggestion.stories.tsx +0 -14
- package/src/components/MultiSelect/MultiSelect.stories.tsx +0 -14
- package/src/components/NumericInput/NumericInput.tsx +0 -6
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { UnControlled as UnControlledEditor } from "react-codemirror2";
|
|
3
2
|
import { Classes as BlueprintClassNames } from "@blueprintjs/core";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import "codemirror/addon/display/placeholder.js";
|
|
7
|
-
import "codemirror/mode/sparql/sparql.js";
|
|
3
|
+
import { EditorState } from "@codemirror/state";
|
|
4
|
+
import { EditorView, lineNumbers, Rect } from "@codemirror/view";
|
|
8
5
|
|
|
9
6
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
7
|
+
import { CodeEditor } from "../../extensions/codemirror/CodeMirror";
|
|
8
|
+
//hooks
|
|
9
|
+
import { SupportedCodeEditorModes } from "../../extensions/codemirror/hooks/useCodemirrorModeExtension.hooks";
|
|
10
10
|
|
|
11
11
|
export interface IRange {
|
|
12
12
|
from: number;
|
|
@@ -15,26 +15,26 @@ export interface IRange {
|
|
|
15
15
|
|
|
16
16
|
export interface ExtendedCodeEditorProps {
|
|
17
17
|
// Is called with the editor instance that allows access via the CodeMirror API
|
|
18
|
-
|
|
18
|
+
setCM: (editor: EditorView | undefined) => any;
|
|
19
19
|
// Called whenever the editor content changes
|
|
20
20
|
onChange: (value: string) => any;
|
|
21
21
|
// Called when the cursor position changes
|
|
22
|
-
onCursorChange: (pos:
|
|
22
|
+
onCursorChange: (pos: number, coords: Rect, scrollinfo: HTMLElement, cm: EditorView) => any;
|
|
23
23
|
// The editor theme, e.g. "sparql"
|
|
24
|
-
mode?:
|
|
24
|
+
mode?: SupportedCodeEditorModes;
|
|
25
25
|
// The initial value of the editor
|
|
26
26
|
initialValue: string;
|
|
27
27
|
// Called when the focus status changes
|
|
28
28
|
onFocusChange: (focused: boolean) => any;
|
|
29
29
|
// Called when the user presses a key
|
|
30
|
-
onKeyDown: (event: KeyboardEvent) =>
|
|
30
|
+
onKeyDown: (event: KeyboardEvent) => boolean;
|
|
31
31
|
// function invoked when any click occurs
|
|
32
|
-
onMouseDown?: (
|
|
32
|
+
onMouseDown?: (view: EditorView) => void;
|
|
33
33
|
// Called when the user selects text
|
|
34
34
|
onSelection: (ranges: IRange[]) => any;
|
|
35
35
|
// If the <Tab> key is enabled as normal input, i.e. it won't have the behavior of changing to the next input element, expected in a web app.
|
|
36
36
|
enableTab?: boolean;
|
|
37
|
-
/** Placeholder
|
|
37
|
+
/** Placeholder to be shown when no text has been entered, yet. */
|
|
38
38
|
placeholder?: string;
|
|
39
39
|
//show scrollbar
|
|
40
40
|
showScrollBar?: boolean;
|
|
@@ -44,87 +44,51 @@ export interface ExtendedCodeEditorProps {
|
|
|
44
44
|
|
|
45
45
|
export type IEditorProps = ExtendedCodeEditorProps;
|
|
46
46
|
|
|
47
|
-
/**
|
|
47
|
+
/** Supports single-line and multiline editing. */
|
|
48
48
|
export const ExtendedCodeEditor = ({
|
|
49
|
-
|
|
50
|
-
onChange,
|
|
51
|
-
onCursorChange,
|
|
52
|
-
mode,
|
|
49
|
+
multiline = false,
|
|
53
50
|
initialValue = "",
|
|
54
|
-
onFocusChange,
|
|
55
51
|
onKeyDown,
|
|
56
|
-
onSelection,
|
|
57
52
|
enableTab = false,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
mode,
|
|
54
|
+
setCM,
|
|
55
|
+
onFocusChange,
|
|
61
56
|
onMouseDown,
|
|
57
|
+
onChange,
|
|
58
|
+
placeholder,
|
|
59
|
+
onCursorChange,
|
|
60
|
+
onSelection,
|
|
62
61
|
}: ExtendedCodeEditorProps) => {
|
|
63
62
|
const initialContent = React.useRef(multiline ? initialValue : initialValue.replace(/[\r\n]/g, " "));
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (change.update && typeof change.update === "function" && change.text.length > 1) {
|
|
70
|
-
change.update(change.from, change.to, [change.text.join("")]);
|
|
71
|
-
}
|
|
72
|
-
return true;
|
|
73
|
-
});
|
|
74
|
-
setEditorInstance(editor);
|
|
75
|
-
},
|
|
76
|
-
onBeforeChange: (_editor: CodeMirrorEditor, data: EditorChange, _: string, next: () => any) => {
|
|
77
|
-
// Reduce multiple lines to a single line
|
|
78
|
-
if (data.text.length > 1) {
|
|
79
|
-
_editor.setValue(data.text.join(""));
|
|
80
|
-
}
|
|
81
|
-
next();
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
const extraEditorProps = multiline
|
|
86
|
-
? {
|
|
87
|
-
editorDidMount: (editor: any) => {
|
|
88
|
-
setEditorInstance(editor);
|
|
89
|
-
},
|
|
90
|
-
}
|
|
91
|
-
: extendedEditorProps;
|
|
63
|
+
const multilineExtensions = multiline
|
|
64
|
+
? [lineNumbers(), EditorView.lineWrapping]
|
|
65
|
+
: [
|
|
66
|
+
EditorState?.transactionFilter.of((tr) => (tr.newDoc.lines > 1 ? [] : tr)), //prevent multiline,
|
|
67
|
+
];
|
|
92
68
|
|
|
93
69
|
return (
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}}
|
|
117
|
-
onCursor={(editor, data) => {
|
|
118
|
-
onCursorChange(data, editor.cursorCoords(true, "local"), editor.getScrollInfo());
|
|
119
|
-
}}
|
|
120
|
-
onChange={(_editor, _data, value) => {
|
|
121
|
-
onChange(value);
|
|
122
|
-
}}
|
|
123
|
-
onMouseDown={(editor) => onMouseDown && onMouseDown(editor)}
|
|
124
|
-
onKeyDown={(_, event) => onKeyDown(event)}
|
|
125
|
-
{...extraEditorProps}
|
|
126
|
-
/>
|
|
127
|
-
</div>
|
|
70
|
+
<CodeEditor
|
|
71
|
+
defaultValue={initialContent.current}
|
|
72
|
+
setEditorView={setCM}
|
|
73
|
+
onSelection={onSelection}
|
|
74
|
+
onMouseDown={onMouseDown}
|
|
75
|
+
onChange={onChange}
|
|
76
|
+
placeholder={placeholder}
|
|
77
|
+
onCursorChange={onCursorChange}
|
|
78
|
+
onFocusChange={onFocusChange}
|
|
79
|
+
onKeyDown={onKeyDown}
|
|
80
|
+
shouldHaveMinimalSetup={false}
|
|
81
|
+
preventLineNumbers={!multiline}
|
|
82
|
+
mode={mode}
|
|
83
|
+
name=""
|
|
84
|
+
enableTab={enableTab}
|
|
85
|
+
additionalExtensions={[...multilineExtensions]}
|
|
86
|
+
outerDivAttributes={{
|
|
87
|
+
className: `${eccgui}-${
|
|
88
|
+
multiline ? "codeeditor" : `singlelinecodeeditor ${BlueprintClassNames.INPUT}`
|
|
89
|
+
}`,
|
|
90
|
+
}}
|
|
91
|
+
/>
|
|
128
92
|
);
|
|
129
93
|
};
|
|
130
94
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { StateEffect, StateField } from "@codemirror/state";
|
|
2
|
+
import { Decoration, EditorView } from "@codemirror/view";
|
|
3
|
+
|
|
4
|
+
const addMarks = StateEffect?.define(),
|
|
5
|
+
filterMarks = StateEffect?.define();
|
|
6
|
+
|
|
7
|
+
// This value must be added to the set of extensions to enable this
|
|
8
|
+
export const markField = StateField?.define({
|
|
9
|
+
// Start with an empty set of decorations
|
|
10
|
+
create() {
|
|
11
|
+
return Decoration.none;
|
|
12
|
+
},
|
|
13
|
+
// This is called whenever the editor updates—it computes the new set
|
|
14
|
+
update(value: any, tr) {
|
|
15
|
+
// Move the decorations to account for document changes
|
|
16
|
+
value = value.map(tr.changes);
|
|
17
|
+
// If this transaction adds or removes decorations, apply those changes
|
|
18
|
+
for (const effect of tr.effects) {
|
|
19
|
+
if (effect.is(addMarks)) value = value.update({ add: effect.value, sort: true });
|
|
20
|
+
else if (effect.is(filterMarks)) value = value.update({ filter: effect.value });
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
},
|
|
24
|
+
// Indicate that this field provides a set of decorations
|
|
25
|
+
provide: (f) => EditorView.decorations.from(f),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
type marksConfig = {
|
|
29
|
+
view: EditorView;
|
|
30
|
+
from: number;
|
|
31
|
+
to: number;
|
|
32
|
+
className?: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const markText = (config: marksConfig) => {
|
|
37
|
+
const docLength = config.view.state.doc.length;
|
|
38
|
+
if (!docLength) return { from: 0, to: 0 };
|
|
39
|
+
const strikeMark = Decoration.mark({
|
|
40
|
+
class: config.className,
|
|
41
|
+
attributes: {
|
|
42
|
+
title: config.title ?? "",
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const stopRange = Math.min(config.to, docLength);
|
|
46
|
+
config.view.dispatch({
|
|
47
|
+
effects: addMarks.of([strikeMark.range(config.from, stopRange)] as any),
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return { from: config.from, to: stopRange };
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const removeMarkFromText = (config: marksConfig) => {
|
|
54
|
+
const dispatch = (
|
|
55
|
+
typeof config.view.dispatch === "function" ? config.view?.dispatch : () => {}
|
|
56
|
+
) as EditorView["dispatch"];
|
|
57
|
+
|
|
58
|
+
dispatch({
|
|
59
|
+
effects: filterMarks?.of(
|
|
60
|
+
((from: number, to: number) => to <= config.from || from >= config.to) as unknown as null
|
|
61
|
+
),
|
|
62
|
+
});
|
|
63
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutoSuggestionProps } from "./AutoSuggestion";
|
|
2
2
|
import { AutoSuggestionList, AutoSuggestionListProps } from "./AutoSuggestionList";
|
|
3
3
|
import { ExtendedCodeEditor, ExtendedCodeEditorProps } from "./ExtendedCodeEditor";
|
|
4
4
|
|
|
5
|
-
export {
|
|
5
|
+
export { AutoSuggestionList, ExtendedCodeEditor };
|
|
6
6
|
|
|
7
7
|
export type { AutoSuggestionProps, AutoSuggestionListProps, ExtendedCodeEditorProps };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { render } from "@testing-library/react";
|
|
3
|
-
import
|
|
3
|
+
import { EditorView } from "@codemirror/view";
|
|
4
4
|
|
|
5
5
|
import "@testing-library/jest-dom";
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ import { CLASSPREFIX as eccgui } from "../../../configuration/constants";
|
|
|
9
9
|
|
|
10
10
|
describe("SingleLineCodeEditor", () => {
|
|
11
11
|
let props: ExtendedCodeEditorProps,
|
|
12
|
-
|
|
12
|
+
cm: EditorView | null = null;
|
|
13
13
|
|
|
14
14
|
beforeAll(() => {
|
|
15
15
|
document.createRange = () => {
|
|
@@ -28,15 +28,15 @@ describe("SingleLineCodeEditor", () => {
|
|
|
28
28
|
|
|
29
29
|
beforeEach(() => {
|
|
30
30
|
props = {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
setCM: jest.fn((editor) => {
|
|
32
|
+
cm = editor as EditorView;
|
|
33
33
|
}),
|
|
34
34
|
onChange: jest.fn((value) => {}),
|
|
35
35
|
onCursorChange: jest.fn((pos, coords) => {}),
|
|
36
36
|
mode: undefined,
|
|
37
37
|
initialValue: "",
|
|
38
38
|
onFocusChange: jest.fn((focused) => {}),
|
|
39
|
-
onKeyDown: jest.fn((event) =>
|
|
39
|
+
onKeyDown: jest.fn((event) => true),
|
|
40
40
|
onSelection: jest.fn((ranges) => {}),
|
|
41
41
|
};
|
|
42
42
|
});
|
|
@@ -48,8 +48,8 @@ describe("SingleLineCodeEditor", () => {
|
|
|
48
48
|
|
|
49
49
|
it("should set the editorInstance immediately it's mounted", () => {
|
|
50
50
|
render(<ExtendedCodeEditor {...props} />);
|
|
51
|
-
expect(props.
|
|
52
|
-
expect(
|
|
51
|
+
expect(props.setCM).toHaveBeenCalled();
|
|
52
|
+
expect(cm).not.toBeNull();
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
it("should set the default value on the editor input", () => {
|
|
@@ -58,18 +58,20 @@ describe("SingleLineCodeEditor", () => {
|
|
|
58
58
|
initialValue: "This is the initial input",
|
|
59
59
|
};
|
|
60
60
|
const { getByText } = render(<ExtendedCodeEditor {...props} />);
|
|
61
|
-
expect(
|
|
61
|
+
expect(cm?.state.doc.toString()).toBe(props.initialValue);
|
|
62
62
|
expect(getByText(props.initialValue)).toBeTruthy();
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
it("should not allow user to create new lines", () => {
|
|
66
66
|
render(<ExtendedCodeEditor {...props} />);
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
cm?.dispatch({
|
|
68
|
+
changes: { from: 0, to: cm.state.doc.length, insert: "I'm entering a new line \n character" },
|
|
69
|
+
});
|
|
70
|
+
expect(cm?.state.doc.lines).toBe(1);
|
|
69
71
|
});
|
|
70
72
|
|
|
71
73
|
it("should convert multiple lines to a single line", () => {
|
|
72
74
|
render(<ExtendedCodeEditor {...{ ...props, initialValue: "1\n2\n3" }} />);
|
|
73
|
-
expect(
|
|
75
|
+
expect(cm?.state.doc.lines).toBe(1);
|
|
74
76
|
});
|
|
75
77
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react";
|
|
2
2
|
import {
|
|
3
3
|
HTMLInputProps as BlueprintHTMLInputProps,
|
|
4
|
-
|
|
4
|
+
InputGroupProps as BlueprintInputGroupProps,
|
|
5
5
|
} from "@blueprintjs/core";
|
|
6
|
-
import {
|
|
6
|
+
import { Suggest as BlueprintSuggest } from "@blueprintjs/select";
|
|
7
7
|
|
|
8
8
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
9
9
|
import {
|
|
@@ -17,20 +17,13 @@ import {
|
|
|
17
17
|
Spinner,
|
|
18
18
|
} from "../../index";
|
|
19
19
|
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
// @deprecated import from `src/components/AutocompleteField/interfaces`
|
|
23
|
-
export type IElementWidth = IElementWidthOrig;
|
|
24
|
-
// @deprecated import from `src/components/AutocompleteField/interfaces`
|
|
25
|
-
export type IRenderModifiers = IRenderModifiersOrig;
|
|
20
|
+
import { SuggestFieldItemRendererModifierProps } from "./interfaces";
|
|
26
21
|
|
|
27
22
|
type SearchFunction<T> = (value: string) => T[];
|
|
28
23
|
type AsyncSearchFunction<T> = (value: string) => Promise<T[]>;
|
|
29
24
|
|
|
30
25
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @param T is the input data structure/type of the items that can be selected.
|
|
33
|
-
* @param UPDATE_VALUE The value type that will be pushed into the onChange callback.
|
|
26
|
+
* @deprecated (v25) replaced by SuggestFieldProps
|
|
34
27
|
*/
|
|
35
28
|
export interface AutoCompleteFieldProps<T, UPDATE_VALUE> {
|
|
36
29
|
/**
|
|
@@ -64,7 +57,12 @@ export interface AutoCompleteFieldProps<T, UPDATE_VALUE> {
|
|
|
64
57
|
* @param handleClick The function that needs to be called when the rendered item gets clicked. Else a selection
|
|
65
58
|
* via mouse is not possible. This only needs to be used when returning a JSX.Element.
|
|
66
59
|
*/
|
|
67
|
-
itemRenderer(
|
|
60
|
+
itemRenderer(
|
|
61
|
+
item: T,
|
|
62
|
+
query: string,
|
|
63
|
+
modifiers: SuggestFieldItemRendererModifierProps,
|
|
64
|
+
handleClick: () => any
|
|
65
|
+
): string | JSX.Element;
|
|
68
66
|
|
|
69
67
|
/** Renders the string that should be displayed in the input field after the item has been selected.
|
|
70
68
|
*/
|
|
@@ -120,7 +118,7 @@ export interface AutoCompleteFieldProps<T, UPDATE_VALUE> {
|
|
|
120
118
|
/** Renders how the option to newly create an item should look like in the selection list. */
|
|
121
119
|
itemRenderer: (
|
|
122
120
|
query: string,
|
|
123
|
-
modifiers:
|
|
121
|
+
modifiers: SuggestFieldItemRendererModifierProps,
|
|
124
122
|
handleClick: React.MouseEventHandler<HTMLElement>
|
|
125
123
|
) => JSX.Element | undefined;
|
|
126
124
|
|
|
@@ -160,6 +158,9 @@ export interface AutoCompleteFieldProps<T, UPDATE_VALUE> {
|
|
|
160
158
|
loadMoreResults?: () => Promise<T[] | undefined>;
|
|
161
159
|
}
|
|
162
160
|
|
|
161
|
+
/**
|
|
162
|
+
* @deprecated (v25) replaced by SuggestFieldProps
|
|
163
|
+
*/
|
|
163
164
|
export type IAutoCompleteFieldProps<T, UPDATE_VALUE> = AutoCompleteFieldProps<T, UPDATE_VALUE>;
|
|
164
165
|
|
|
165
166
|
AutoCompleteField.defaultProps = {
|
|
@@ -172,12 +173,9 @@ AutoCompleteField.defaultProps = {
|
|
|
172
173
|
};
|
|
173
174
|
|
|
174
175
|
/**
|
|
175
|
-
*
|
|
176
|
-
* Use `SuggestField` as replacement.
|
|
177
|
-
*
|
|
178
|
-
* @deprecated
|
|
176
|
+
* @deprecated (support already removed) use `SuggestField` as replacement.
|
|
179
177
|
*/
|
|
180
|
-
|
|
178
|
+
function AutoCompleteField<T, UPDATE_VALUE>(props: AutoCompleteFieldProps<T, UPDATE_VALUE>) {
|
|
181
179
|
const {
|
|
182
180
|
className,
|
|
183
181
|
reset,
|
|
@@ -332,7 +330,7 @@ export function AutoCompleteField<T, UPDATE_VALUE>(props: AutoCompleteFieldProps
|
|
|
332
330
|
if (!modifiers.matchesPredicate) {
|
|
333
331
|
return null;
|
|
334
332
|
}
|
|
335
|
-
const relevantModifiers:
|
|
333
|
+
const relevantModifiers: SuggestFieldItemRendererModifierProps = {
|
|
336
334
|
active: modifiers.active,
|
|
337
335
|
disabled: modifiers.disabled,
|
|
338
336
|
highlightingEnabled: highlightingEnabled,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface SuggestFieldItemRendererModifierProps {
|
|
2
2
|
active: boolean;
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
// The width styles that should be given to the rendered option items
|
|
@@ -6,7 +6,10 @@ export interface IRenderModifiers {
|
|
|
6
6
|
highlightingEnabled: boolean;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
/**
|
|
9
|
+
/** @deprecated (v25) use `SuggestFieldItemRendererModifierProps` */
|
|
10
|
+
export type IRenderModifiers = SuggestFieldItemRendererModifierProps;
|
|
11
|
+
|
|
12
|
+
/** @deprecated (v25) use `SuggestFieldItemRendererModifierProps["styleWidth"]` */
|
|
10
13
|
export interface IElementWidth {
|
|
11
14
|
minWidth: string;
|
|
12
15
|
maxWidth: string;
|
|
@@ -31,11 +31,6 @@ export interface BreadcrumbListProps
|
|
|
31
31
|
Is only used if the breadcrumb item have not defined an own `onClick` handler.
|
|
32
32
|
*/
|
|
33
33
|
onItemClick?(itemUrl: string | undefined, event: object): boolean | void;
|
|
34
|
-
/**
|
|
35
|
-
native attributes for the unordered HTML list (ul)
|
|
36
|
-
@deprecated will be removed because the BlueprintJS `Breadcrumbs` component does not support native `ul` attributes. Use `wrapperProps` as alternate way to add native attributes to a container `div` element.
|
|
37
|
-
*/
|
|
38
|
-
htmlUlProps?: React.HTMLAttributes<HTMLUListElement>;
|
|
39
34
|
/**
|
|
40
35
|
* If set then a `div` element is used as wrapper.
|
|
41
36
|
* It uses the attributes given via this property.
|
|
@@ -64,7 +59,6 @@ export const BreadcrumbList = ({
|
|
|
64
59
|
className = "",
|
|
65
60
|
// itemDivider = "/",
|
|
66
61
|
onItemClick,
|
|
67
|
-
htmlUlProps,
|
|
68
62
|
ignoreOverflow = false,
|
|
69
63
|
latenOverflow = false,
|
|
70
64
|
wrapperProps,
|
|
@@ -109,7 +103,6 @@ export const BreadcrumbList = ({
|
|
|
109
103
|
const breadcrumbs = (
|
|
110
104
|
<BlueprintBreadcrumbList
|
|
111
105
|
{...otherBlueprintBreadcrumbsProps}
|
|
112
|
-
{...htmlUlProps}
|
|
113
106
|
className={
|
|
114
107
|
`${eccgui}-breadcrumb__list` +
|
|
115
108
|
(latenOverflow ? ` ${eccgui}-breadcrumb__list--latenoverflow` : "") +
|
|
@@ -14,11 +14,6 @@ import Icon from "../Icon/Icon";
|
|
|
14
14
|
import Badge, { BadgeProps } from "./../Badge/Badge";
|
|
15
15
|
import Tooltip, { TooltipProps } from "./../Tooltip/Tooltip";
|
|
16
16
|
|
|
17
|
-
/** @deprecated will be removed, there is no replacement */
|
|
18
|
-
export type AnchorOrButtonProps =
|
|
19
|
-
| Omit<BlueprintButtonProps, "elementRef" | "icon" | "rightIcon">
|
|
20
|
-
| Omit<BlueprintAnchorButtonProps, "elementRef" | "icon" | "rightIcon">;
|
|
21
|
-
|
|
22
17
|
interface AdditionalButtonProps {
|
|
23
18
|
/**
|
|
24
19
|
* Always use this when the button triggers an affirmative action, e.g. confirm a process.
|
|
@@ -9,17 +9,9 @@ import CardTitle from "./CardTitle";
|
|
|
9
9
|
|
|
10
10
|
export interface CardHeaderProps extends Omit<OverviewItemProps, "densityHigh" | "hasSpacing"> {
|
|
11
11
|
children: JSX.Element | (JSX.Element | undefined | null)[] | null | undefined;
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated use `whitespaceAmount` option of `<Card />`
|
|
14
|
-
*/
|
|
15
|
-
densityHigh?: OverviewItemProps["densityHigh"];
|
|
16
|
-
/**
|
|
17
|
-
* @deprecated use `whitespaceAmount` option of `<Card />`
|
|
18
|
-
*/
|
|
19
|
-
hasSpacing?: OverviewItemProps["hasSpacing"];
|
|
20
12
|
}
|
|
21
13
|
|
|
22
|
-
export const CardHeader = ({ children, className = "",
|
|
14
|
+
export const CardHeader = ({ children, className = "", ...otherProps }: CardHeaderProps) => {
|
|
23
15
|
const actions: any[] = [];
|
|
24
16
|
const description: any[] = [];
|
|
25
17
|
|
|
@@ -39,7 +31,7 @@ export const CardHeader = ({ children, className = "", densityHigh = true, ...ot
|
|
|
39
31
|
|
|
40
32
|
return (
|
|
41
33
|
<header>
|
|
42
|
-
<OverviewItem {...otherProps} className={`${eccgui}-card__header ` + className} densityHigh={
|
|
34
|
+
<OverviewItem {...otherProps} className={`${eccgui}-card__header ` + className} densityHigh={true}>
|
|
43
35
|
{description.length > 0 && <OverviewItemDescription>{description}</OverviewItemDescription>}
|
|
44
36
|
{actions}
|
|
45
37
|
</OverviewItem>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { OverlaysProvider } from "@blueprintjs/core";
|
|
2
3
|
import { Meta, StoryFn } from "@storybook/react";
|
|
3
4
|
import { fn } from "@storybook/test";
|
|
4
5
|
|
|
5
6
|
import { CodeAutocompleteField, CodeAutocompleteFieldProps } from "../../../index";
|
|
6
|
-
import {
|
|
7
|
+
import { CodeAutocompleteFieldPartialAutoCompleteResult } from "../AutoSuggestion/AutoSuggestion";
|
|
7
8
|
|
|
8
9
|
export default {
|
|
9
10
|
title: "Forms/CodeAutocompleteField",
|
|
@@ -15,7 +16,9 @@ export default {
|
|
|
15
16
|
} as Meta<typeof CodeAutocompleteField>;
|
|
16
17
|
|
|
17
18
|
const Template: StoryFn<typeof CodeAutocompleteField> = (args) => (
|
|
18
|
-
<
|
|
19
|
+
<OverlaysProvider>
|
|
20
|
+
<CodeAutocompleteField {...args} />
|
|
21
|
+
</OverlaysProvider>
|
|
19
22
|
);
|
|
20
23
|
|
|
21
24
|
const resultList = ["find me", "item", "auto-completion result"];
|
|
@@ -25,7 +28,10 @@ const defaultProps: CodeAutocompleteFieldProps = {
|
|
|
25
28
|
fetchSuggestions(
|
|
26
29
|
inputString: string,
|
|
27
30
|
cursorPosition: number
|
|
28
|
-
):
|
|
31
|
+
):
|
|
32
|
+
| CodeAutocompleteFieldPartialAutoCompleteResult
|
|
33
|
+
| undefined
|
|
34
|
+
| Promise<CodeAutocompleteFieldPartialAutoCompleteResult | undefined> {
|
|
29
35
|
const stringBeforeCursor = inputString.substring(0, cursorPosition);
|
|
30
36
|
const lastSpaceIdx = stringBeforeCursor.lastIndexOf(" ");
|
|
31
37
|
const searchWordStart = lastSpaceIdx >= 0 ? lastSpaceIdx + 1 : 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
3
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
4
|
-
import
|
|
4
|
+
import AutoSuggestion, { AutoSuggestionProps } from "../AutoSuggestion/AutoSuggestion";
|
|
5
5
|
|
|
6
6
|
export type CodeAutocompleteFieldProps = AutoSuggestionProps;
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ export type CodeAutocompleteFieldProps = AutoSuggestionProps;
|
|
|
12
12
|
* Example usage: input of a path string offering auto-completion for each single part of the path.
|
|
13
13
|
*/
|
|
14
14
|
export function CodeAutocompleteField({ className, ...otherProps }: CodeAutocompleteFieldProps) {
|
|
15
|
-
// Currently this works only as an alias element for `
|
|
15
|
+
// Currently this works only as an alias element for `AutoSuggestion`.
|
|
16
16
|
return (
|
|
17
17
|
<AutoSuggestion
|
|
18
18
|
className={`${eccgui}-codeautocompletefield` + (className ? ` ${className}` : "")}
|
|
@@ -19,9 +19,6 @@ export interface AlertDialogProps extends Omit<SimpleDialogProps, "intent"> {
|
|
|
19
19
|
danger?: boolean;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// @deprecated
|
|
23
|
-
export type IAlertDialogProps = AlertDialogProps;
|
|
24
|
-
|
|
25
22
|
/**
|
|
26
23
|
* Special element to display alert notification in modal dialogs.
|
|
27
24
|
* Inherits all properties from `SimpleDialog`, except `intent`.
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
Overlay2Props as BlueprintOverlayProps,
|
|
6
6
|
} from "@blueprintjs/core";
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { utils } from "../../common";
|
|
9
9
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
10
10
|
import { TestableComponent } from "../interfaces";
|
|
11
11
|
|
|
@@ -100,12 +100,12 @@ export const Modal = ({
|
|
|
100
100
|
}
|
|
101
101
|
if (usePortal && forceTopPosition) {
|
|
102
102
|
const parentalPortal = modalElement.closest(`.${BlueprintClassNames.PORTAL}`) as HTMLElement;
|
|
103
|
-
const highestTopIndex = (
|
|
103
|
+
const highestTopIndex = (utils.getGlobalVar("highestModalTopIndex") as unknown as number) ?? 0;
|
|
104
104
|
if (parentalPortal) {
|
|
105
105
|
const portalTopIndex = parseInt(getComputedStyle(parentalPortal).zIndex ?? 0, 10);
|
|
106
106
|
const newTopIndex = Math.max(portalTopIndex, highestTopIndex) + 1;
|
|
107
107
|
parentalPortal.style.zIndex = `${newTopIndex}`;
|
|
108
|
-
|
|
108
|
+
utils.setGlobalVar("highestModalTopIndex", newTopIndex);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
};
|