@eccenca/gui-elements 22.0.0-rc.7 → 22.1.0-rc.1
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 +36 -4
- package/README.md +21 -7
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +23 -15
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +23 -6
- package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js +59 -31
- package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/index.js +11 -0
- package/dist/cjs/cmem/ActivityControl/index.js.map +1 -0
- package/dist/cjs/cmem/ContentBlobToggler/index.js +8 -0
- package/dist/cjs/cmem/ContentBlobToggler/index.js.map +1 -0
- package/dist/cjs/cmem/index.js +14 -13
- package/dist/cjs/cmem/index.js.map +1 -1
- package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js +57 -0
- package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -0
- package/dist/cjs/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
- package/dist/cjs/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
- package/dist/cjs/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
- package/dist/cjs/cmem/react-flow/configuration/graph.js +31 -0
- package/dist/cjs/cmem/react-flow/configuration/graph.js.map +1 -0
- package/dist/cjs/cmem/react-flow/configuration/linking.js +29 -0
- package/dist/cjs/cmem/react-flow/configuration/linking.js.map +1 -0
- package/dist/cjs/cmem/react-flow/configuration/unspecified.js +15 -0
- package/dist/cjs/cmem/react-flow/configuration/unspecified.js.map +1 -0
- package/dist/cjs/cmem/react-flow/configuration/workflow.js +27 -0
- package/dist/cjs/cmem/react-flow/configuration/workflow.js.map +1 -0
- package/dist/cjs/common/utils/stringUtils.js +7 -0
- package/dist/cjs/common/utils/stringUtils.js.map +1 -0
- package/dist/cjs/components/Application/ApplicationContent.js +1 -7
- package/dist/cjs/components/Application/ApplicationContent.js.map +1 -1
- package/dist/cjs/components/Application/ApplicationTitle.js +1 -7
- package/dist/cjs/components/Application/ApplicationTitle.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +284 -0
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -0
- package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js +81 -0
- package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -0
- package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js +46 -0
- package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -0
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +12 -15
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/cjs/components/Breadcrumb/BreadcrumbItem.js +1 -1
- package/dist/cjs/components/Button/Button.js +1 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Card/Card.js +18 -3
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/ContextOverlay/ContextMenu.js +1 -1
- package/dist/cjs/components/ContextOverlay/ContextMenu.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/Dialog/SimpleDialog.js.map +1 -1
- package/dist/cjs/components/Form/FieldItemRow.js +2 -3
- package/dist/cjs/components/Form/FieldItemRow.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +30 -0
- package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/cjs/components/MultiSelect/MultiSelect.js +212 -0
- package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/cjs/components/Notification/Notification.js +8 -2
- package/dist/cjs/components/Notification/Notification.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItemList.js +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/Tabs/Tab.js +94 -0
- package/dist/cjs/components/Tabs/Tab.js.map +1 -0
- package/dist/cjs/components/Tabs/TabTitle.js +20 -0
- package/dist/cjs/components/Tabs/TabTitle.js.map +1 -0
- package/dist/cjs/components/Tabs/Tabs.js +26 -19
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/Tag/Tag.js +7 -1
- package/dist/cjs/components/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/Typography/HtmlContentBlock.js +6 -6
- package/dist/cjs/components/Typography/HtmlContentBlock.js.map +1 -1
- package/dist/cjs/components/Typography/classnames.js +2 -1
- package/dist/cjs/components/Typography/classnames.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js +98 -0
- package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
- package/dist/cjs/extensions/react-flow/edges/utils.js +97 -4
- package/dist/cjs/extensions/react-flow/edges/utils.js.map +1 -1
- package/dist/cjs/extensions/react-flow/index.js +5 -1
- package/dist/cjs/extensions/react-flow/index.js.map +1 -1
- package/dist/cjs/extensions/react-flow/minimap/utils.js +2 -2
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +141 -0
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -0
- package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js +41 -0
- package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -0
- package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +3 -130
- package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeTools.js +11 -9
- package/dist/cjs/extensions/react-flow/nodes/NodeTools.js.map +1 -1
- package/dist/cjs/index.js +17 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js +25 -0
- package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js.map +1 -0
- package/dist/cjs/legacy-replacements/Button/Button.js +61 -0
- package/dist/cjs/legacy-replacements/Button/Button.js.map +1 -0
- package/dist/cjs/legacy-replacements/Button/DismissiveButton.js +25 -0
- package/dist/cjs/legacy-replacements/Button/DismissiveButton.js.map +1 -0
- package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js +25 -0
- package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js.map +1 -0
- package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js +55 -0
- package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js.map +1 -0
- package/dist/cjs/legacy-replacements/Radio/RadioButton.js +48 -0
- package/dist/cjs/legacy-replacements/Radio/RadioButton.js.map +1 -0
- package/dist/cjs/legacy-replacements/Tabs/Tabs.js +36 -0
- package/dist/cjs/legacy-replacements/Tabs/Tabs.js.map +1 -0
- package/dist/cjs/legacy-replacements/TextField/TextField.js +75 -0
- package/dist/cjs/legacy-replacements/TextField/TextField.js.map +1 -0
- package/dist/cjs/legacy-replacements/index.js +22 -0
- package/dist/cjs/legacy-replacements/index.js.map +1 -0
- package/dist/es5/cmem/ActivityControl/ActivityControlWidget.js +23 -15
- package/dist/es5/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/es5/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +21 -4
- package/dist/es5/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
- package/dist/es5/cmem/ActivityControl/SilkActivityControl.js +57 -31
- package/dist/es5/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/es5/cmem/ActivityControl/index.js +4 -0
- package/dist/es5/cmem/ActivityControl/index.js.map +1 -0
- package/dist/es5/cmem/ContentBlobToggler/index.js +3 -0
- package/dist/es5/cmem/ContentBlobToggler/index.js.map +1 -0
- package/dist/es5/cmem/index.js +6 -8
- package/dist/es5/cmem/index.js.map +1 -1
- package/dist/es5/cmem/react-flow/ReactFlow/ReactFlow.js +43 -0
- package/dist/es5/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -0
- package/dist/es5/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
- package/dist/es5/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
- package/dist/es5/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
- package/dist/es5/cmem/react-flow/configuration/graph.js +23 -0
- package/dist/es5/cmem/react-flow/configuration/graph.js.map +1 -0
- package/dist/es5/cmem/react-flow/configuration/linking.js +21 -0
- package/dist/es5/cmem/react-flow/configuration/linking.js.map +1 -0
- package/dist/es5/cmem/react-flow/configuration/unspecified.js +12 -0
- package/dist/es5/cmem/react-flow/configuration/unspecified.js.map +1 -0
- package/dist/es5/cmem/react-flow/configuration/workflow.js +19 -0
- package/dist/es5/cmem/react-flow/configuration/workflow.js.map +1 -0
- package/dist/es5/common/utils/stringUtils.js +3 -0
- package/dist/es5/common/utils/stringUtils.js.map +1 -0
- package/dist/es5/components/Application/ApplicationContent.js +1 -7
- package/dist/es5/components/Application/ApplicationContent.js.map +1 -1
- package/dist/es5/components/Application/ApplicationTitle.js +1 -7
- package/dist/es5/components/Application/ApplicationTitle.js.map +1 -1
- package/dist/es5/components/AutoSuggestion/AutoSuggestion.js +346 -0
- package/dist/es5/components/AutoSuggestion/AutoSuggestion.js.map +1 -0
- package/dist/es5/components/AutoSuggestion/AutoSuggestionList.js +93 -0
- package/dist/es5/components/AutoSuggestion/AutoSuggestionList.js.map +1 -0
- package/dist/es5/components/AutoSuggestion/SingleLineCodeEditor.js +42 -0
- package/dist/es5/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -0
- package/dist/es5/components/AutocompleteField/AutoCompleteField.js +12 -15
- package/dist/es5/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/es5/components/Breadcrumb/BreadcrumbItem.js +1 -1
- package/dist/es5/components/Button/Button.js +1 -1
- package/dist/es5/components/Button/Button.js.map +1 -1
- package/dist/es5/components/Card/Card.js +18 -3
- package/dist/es5/components/Card/Card.js.map +1 -1
- package/dist/es5/components/ContextOverlay/ContextMenu.js +1 -1
- package/dist/es5/components/ContextOverlay/ContextMenu.js.map +1 -1
- package/dist/es5/components/Dialog/Modal.js +2 -2
- package/dist/es5/components/Dialog/Modal.js.map +1 -1
- package/dist/es5/components/Dialog/SimpleDialog.js.map +1 -1
- package/dist/es5/components/Form/FieldItemRow.js +2 -3
- package/dist/es5/components/Form/FieldItemRow.js.map +1 -1
- package/dist/es5/components/Icon/Icon.js.map +1 -1
- package/dist/es5/components/Icon/canonicalIconNames.js +30 -0
- package/dist/es5/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/es5/components/MultiSelect/MultiSelect.js +290 -0
- package/dist/es5/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/es5/components/Notification/Notification.js +10 -3
- package/dist/es5/components/Notification/Notification.js.map +1 -1
- package/dist/es5/components/OverviewItem/OverviewItemList.js +1 -1
- package/dist/es5/components/OverviewItem/OverviewItemList.js.map +1 -1
- package/dist/es5/components/Spinner/Spinner.js +2 -2
- package/dist/es5/components/Spinner/Spinner.js.map +1 -1
- package/dist/es5/components/Tabs/Tab.js +97 -0
- package/dist/es5/components/Tabs/Tab.js.map +1 -0
- package/dist/es5/components/Tabs/TabTitle.js +16 -0
- package/dist/es5/components/Tabs/TabTitle.js.map +1 -0
- package/dist/es5/components/Tabs/Tabs.js +8 -21
- package/dist/es5/components/Tabs/Tabs.js.map +1 -1
- package/dist/es5/components/Tag/Tag.js +7 -1
- package/dist/es5/components/Tag/Tag.js.map +1 -1
- package/dist/es5/components/Typography/HtmlContentBlock.js +17 -8
- package/dist/es5/components/Typography/HtmlContentBlock.js.map +1 -1
- package/dist/es5/components/Typography/classnames.js +1 -0
- package/dist/es5/components/Typography/classnames.js.map +1 -1
- package/dist/es5/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
- package/dist/es5/extensions/react-flow/edges/getSmoothStepPath.js +119 -0
- package/dist/es5/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
- package/dist/es5/extensions/react-flow/edges/utils.js +100 -5
- package/dist/es5/extensions/react-flow/edges/utils.js.map +1 -1
- package/dist/es5/extensions/react-flow/index.js +2 -0
- package/dist/es5/extensions/react-flow/index.js.map +1 -1
- package/dist/es5/extensions/react-flow/minimap/utils.js +1 -1
- package/dist/es5/extensions/react-flow/nodes/NodeContent.js +162 -0
- package/dist/es5/extensions/react-flow/nodes/NodeContent.js.map +1 -0
- package/dist/es5/extensions/react-flow/nodes/NodeContentExtension.js +45 -0
- package/dist/es5/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -0
- package/dist/es5/extensions/react-flow/nodes/NodeDefault.js +2 -129
- package/dist/es5/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/es5/extensions/react-flow/nodes/NodeTools.js +12 -10
- package/dist/es5/extensions/react-flow/nodes/NodeTools.js.map +1 -1
- package/dist/es5/index.js +9 -4
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/legacy-replacements/Button/AffirmativeButton.js +29 -0
- package/dist/es5/legacy-replacements/Button/AffirmativeButton.js.map +1 -0
- package/dist/es5/legacy-replacements/Button/Button.js +65 -0
- package/dist/es5/legacy-replacements/Button/Button.js.map +1 -0
- package/dist/es5/legacy-replacements/Button/DismissiveButton.js +29 -0
- package/dist/es5/legacy-replacements/Button/DismissiveButton.js.map +1 -0
- package/dist/es5/legacy-replacements/Button/DisruptiveButton.js +29 -0
- package/dist/es5/legacy-replacements/Button/DisruptiveButton.js.map +1 -0
- package/dist/es5/legacy-replacements/Checkbox/Checkbox.js +59 -0
- package/dist/es5/legacy-replacements/Checkbox/Checkbox.js.map +1 -0
- package/dist/es5/legacy-replacements/Radio/RadioButton.js +52 -0
- package/dist/es5/legacy-replacements/Radio/RadioButton.js.map +1 -0
- package/dist/es5/legacy-replacements/Tabs/Tabs.js +40 -0
- package/dist/es5/legacy-replacements/Tabs/Tabs.js.map +1 -0
- package/dist/es5/legacy-replacements/TextField/TextField.js +81 -0
- package/dist/es5/legacy-replacements/TextField/TextField.js.map +1 -0
- package/dist/es5/legacy-replacements/index.js +10 -0
- package/dist/es5/legacy-replacements/index.js.map +1 -0
- package/dist/types/cmem/ActivityControl/ActivityControlTypes.d.ts +2 -1
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +48 -2
- package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +18 -3
- package/dist/types/cmem/ActivityControl/index.d.ts +3 -0
- package/dist/types/cmem/ContentBlobToggler/index.d.ts +2 -0
- package/dist/types/cmem/index.d.ts +8 -8
- package/dist/types/cmem/react-flow/ReactFlow/ReactFlow.d.ts +14 -0
- package/dist/types/cmem/react-flow/configuration/graph.d.ts +21 -0
- package/dist/types/cmem/react-flow/configuration/linking.d.ts +19 -0
- package/dist/types/cmem/react-flow/configuration/unspecified.d.ts +9 -0
- package/dist/types/cmem/react-flow/configuration/workflow.d.ts +17 -0
- package/dist/types/common/utils/stringUtils.d.ts +2 -0
- package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +67 -0
- package/dist/types/components/AutoSuggestion/AutoSuggestionList.d.ts +13 -0
- package/dist/types/components/AutoSuggestion/SingleLineCodeEditor.d.ts +25 -0
- package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +8 -7
- package/dist/types/components/Button/Button.d.ts +3 -2
- package/dist/types/components/Card/Card.d.ts +9 -4
- package/dist/types/components/ContextOverlay/ContextMenu.d.ts +6 -1
- package/dist/types/components/Dialog/Modal.d.ts +4 -3
- package/dist/types/components/Dialog/SimpleDialog.d.ts +2 -0
- package/dist/types/components/Form/FieldItemRow.d.ts +1 -0
- package/dist/types/components/Icon/Icon.d.ts +2 -2
- package/dist/types/components/Icon/IconButton.d.ts +1 -1
- package/dist/types/components/Icon/canonicalIconNames.d.ts +1 -1
- package/dist/types/components/MultiSelect/MultiSelect.d.ts +86 -0
- package/dist/types/components/Notification/Notification.d.ts +55 -2
- package/dist/types/components/OverviewItem/OverviewItemList.d.ts +1 -1
- package/dist/types/components/Spinner/Spinner.d.ts +1 -1
- package/dist/types/components/Tabs/Tab.d.ts +549 -0
- package/dist/types/components/Tabs/TabTitle.d.ts +38 -0
- package/dist/types/components/Tabs/Tabs.d.ts +14 -20
- package/dist/types/components/Tag/Tag.d.ts +1 -1
- package/dist/types/components/Typography/HtmlContentBlock.d.ts +15 -5
- package/dist/types/components/Typography/classnames.d.ts +1 -0
- package/dist/types/extensions/react-flow/edges/getSmoothStepPath.d.ts +18 -0
- package/dist/types/extensions/react-flow/edges/utils.d.ts +1 -1
- package/dist/types/extensions/react-flow/index.d.ts +4 -0
- package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +127 -0
- package/dist/types/extensions/react-flow/nodes/NodeContentExtension.d.ts +34 -0
- package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +4 -121
- package/dist/types/extensions/react-flow/nodes/NodeTools.d.ts +9 -2
- package/dist/types/extensions/react-flow/nodes/nodeTypes.d.ts +10 -10
- package/dist/types/index.d.ts +9 -4
- package/dist/types/legacy-replacements/Button/AffirmativeButton.d.ts +2 -0
- package/dist/types/legacy-replacements/Button/Button.d.ts +5 -0
- package/dist/types/legacy-replacements/Button/DismissiveButton.d.ts +2 -0
- package/dist/types/legacy-replacements/Button/DisruptiveButton.d.ts +2 -0
- package/dist/types/legacy-replacements/Checkbox/Checkbox.d.ts +2 -0
- package/dist/types/legacy-replacements/Radio/RadioButton.d.ts +2 -0
- package/dist/types/legacy-replacements/Tabs/Tabs.d.ts +22 -0
- package/dist/types/legacy-replacements/TextField/TextField.d.ts +2 -0
- package/dist/types/legacy-replacements/index.d.ts +10 -0
- package/package.json +48 -20
- package/src/cmem/ActivityControl/ActivityControlTypes.ts +3 -1
- package/src/cmem/ActivityControl/ActivityControlWidget.stories.tsx +98 -0
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +144 -89
- package/src/cmem/ActivityControl/ActivityExecutionErrorReportModal.tsx +11 -3
- package/src/cmem/ActivityControl/SilkActivityControl.tsx +182 -120
- package/src/cmem/ActivityControl/index.ts +3 -0
- package/src/cmem/ContentBlobToggler/index.ts +2 -0
- package/src/cmem/_index.scss +6 -0
- package/src/cmem/index.ts +10 -23
- package/src/cmem/react-flow/ReactFlow/ReactFlow.stories.tsx +222 -0
- package/src/cmem/react-flow/ReactFlow/ReactFlow.tsx +40 -0
- package/src/cmem/react-flow/_edges.scss +23 -0
- package/src/cmem/react-flow/_handles.scss +34 -0
- package/src/cmem/react-flow/_index.scss +5 -0
- package/src/cmem/react-flow/_minimap.scss +33 -0
- package/src/cmem/react-flow/_nodes.scss +66 -0
- package/src/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
- package/src/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
- package/src/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
- package/src/cmem/react-flow/configuration/_colors.scss +3 -0
- package/src/cmem/react-flow/configuration/graph.ts +29 -0
- package/src/cmem/react-flow/configuration/linking.ts +28 -0
- package/src/cmem/react-flow/configuration/unspecified.ts +13 -0
- package/src/cmem/react-flow/configuration/workflow.ts +25 -0
- package/src/common/utils/stringUtils.ts +2 -0
- package/src/components/Application/ApplicationContent.tsx +0 -5
- package/src/components/Application/ApplicationTitle.tsx +0 -5
- package/src/components/AutoSuggestion/AutoSuggestion.scss +100 -0
- package/src/components/AutoSuggestion/AutoSuggestion.tsx +446 -0
- package/src/components/AutoSuggestion/AutoSuggestionList.tsx +170 -0
- package/src/components/AutoSuggestion/SingleLineCodeEditor.tsx +97 -0
- package/src/components/AutoSuggestion/tests/AutoSuggestion.test.tsx +37 -0
- package/src/components/AutoSuggestion/tests/AutoSuggestionList.test.tsx +124 -0
- package/src/components/AutoSuggestion/tests/SingleLineCodeEditor.test.tsx +55 -0
- package/src/components/AutocompleteField/AutoCompleteField.tsx +24 -23
- package/src/components/AutocompleteField/autoCompleteFieldUtils.tsx +2 -1
- package/src/components/Breadcrumb/BreadcrumbItem.tsx +5 -5
- package/src/components/Breadcrumb/BreadcrumbList.tsx +1 -1
- package/src/components/Button/Button.stories.tsx +1 -1
- package/src/components/Button/Button.tsx +4 -3
- package/src/components/Card/Card.tsx +23 -4
- package/src/components/Card/card.scss +4 -0
- package/src/components/Checkbox/checkbox.scss +4 -0
- package/src/components/ContextOverlay/ContextMenu.tsx +8 -2
- package/src/components/Dialog/Modal.tsx +9 -2
- package/src/components/Dialog/SimpleDialog.tsx +2 -0
- package/src/components/Form/FieldItem.tsx +3 -3
- package/src/components/Form/FieldItemRow.tsx +2 -4
- package/src/components/Icon/Icon.tsx +4 -4
- package/src/components/Icon/IconButton.tsx +3 -3
- package/src/components/Icon/canonicalIconNames.tsx +39 -2
- package/src/components/Menu/MenuItem.tsx +1 -1
- package/src/components/MultiSelect/MultiSelect.stories.tsx +71 -0
- package/src/components/MultiSelect/MultiSelect.tsx +373 -0
- package/src/components/Notification/Notification.stories.tsx +82 -0
- package/src/components/Notification/Notification.tsx +62 -4
- package/src/components/Notification/notification.scss +2 -1
- package/src/components/OverviewItem/OverviewItemList.tsx +2 -2
- package/src/components/RadioButton/radiobutton.scss +4 -0
- package/src/components/Spinner/Spinner.tsx +1 -1
- package/src/components/Switch/switch.scss +1 -0
- package/src/components/Tabs/Tab.tsx +111 -0
- package/src/components/Tabs/TabTitle.tsx +71 -0
- package/src/components/Tabs/Tabs.tsx +22 -90
- package/src/components/Tabs/stories/Tab.stories.tsx +65 -0
- package/src/components/Tabs/stories/TabTitle.stories.tsx +35 -0
- package/src/components/Tabs/stories/Tabs.stories.tsx +98 -0
- package/src/components/Tabs/tabs.scss +11 -4
- package/src/components/Tag/Tag.tsx +10 -3
- package/src/components/Tag/tag.scss +2 -2
- package/src/components/TextField/TextField.tsx +1 -1
- package/src/components/Toolbar/toolbar.scss +1 -1
- package/src/components/Typography/HtmlContentBlock.tsx +27 -4
- package/src/components/Typography/classnames.ts +1 -0
- package/src/components/Typography/typography.scss +8 -0
- package/src/configuration/_variables.scss +3 -3
- package/src/extensions/react-flow/_config.scss +2 -2
- package/src/extensions/react-flow/_react-flow.scss +4 -0
- package/src/extensions/react-flow/edges/EdgeDefault.tsx +0 -1
- package/src/extensions/react-flow/edges/_edges.scss +3 -28
- package/src/extensions/react-flow/edges/getSmoothStepPath.ts +118 -0
- package/src/extensions/react-flow/edges/utils.ts +131 -4
- package/src/extensions/react-flow/handles/_handles.scss +4 -58
- package/src/extensions/react-flow/index.ts +4 -0
- package/src/extensions/react-flow/minimap/_minimap.scss +0 -45
- package/src/extensions/react-flow/minimap/utils.ts +1 -1
- package/src/extensions/react-flow/nodes/NodeContent.tsx +336 -0
- package/src/extensions/react-flow/nodes/NodeContentExtension.tsx +17 -10
- package/src/extensions/react-flow/nodes/NodeDefault.tsx +4 -326
- package/src/extensions/react-flow/nodes/NodeTools.tsx +27 -10
- package/src/extensions/react-flow/nodes/_nodes.scss +61 -196
- package/src/extensions/react-flow/nodes/{NodeContent.stories.tsx → stories/NodeContent.stories.tsx} +14 -5
- package/src/extensions/react-flow/nodes/stories/NodeContentExtension.stories.tsx +59 -0
- package/src/extensions/react-flow/nodes/{NodeDefault.stories.tsx → stories/NodeDefault.stories.tsx} +5 -3
- package/src/index.scss +1 -0
- package/src/index.ts +19 -4
- package/src/legacy-replacements/Tabs/Tabs.stories.tsx +46 -0
- package/src/legacy-replacements/Tabs/Tabs.tsx +84 -0
- package/src/legacy-replacements/index.ts +11 -0
- package/src/test/setupTests.js +19 -0
- package/src/components/Icon/canonicalIconNames.json +0 -120
- package/src/extensions/react-flow/nodes/NodeContentExtension.stories.tsx +0 -36
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
Position
|
|
4
|
+
} from "react-flow-renderer";
|
|
5
|
+
import { Icon, Tooltip } from "../../../index";
|
|
6
|
+
import { CLASSPREFIX as eccgui } from "../../../configuration/constants";
|
|
7
|
+
import {ValidIconName} from "../../../components/Icon/canonicalIconNames";
|
|
8
|
+
import { HandleDefault, HandleProps } from "./../handles/HandleDefault";
|
|
9
|
+
import { NodeProps } from "./NodeDefault";
|
|
10
|
+
import { NodeContentExtensionProps } from "./NodeContentExtension";
|
|
11
|
+
|
|
12
|
+
export type HighlightingState = "success" | "warning" | "danger" | "match" | "altmatch";
|
|
13
|
+
|
|
14
|
+
export interface IHandleProps extends HandleProps {
|
|
15
|
+
category?: "configuration";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface NodeContentData<CONTENT_PROPS = any> {
|
|
19
|
+
/**
|
|
20
|
+
* Name of icon that should be displayed before the node label.
|
|
21
|
+
* Must be a name from our list of canonical icon names.
|
|
22
|
+
*/
|
|
23
|
+
iconName?: ValidIconName;
|
|
24
|
+
/**
|
|
25
|
+
* Valid and accessible URL or `data-uri` for an image that should be displayed before the node label.
|
|
26
|
+
*/
|
|
27
|
+
depiction?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Label that is displayed in the node header.
|
|
30
|
+
*/
|
|
31
|
+
label: string;
|
|
32
|
+
/**
|
|
33
|
+
* Content element, displayed in the node body.
|
|
34
|
+
*/
|
|
35
|
+
content?: React.ReactNode | ((adjustedContentProps: Partial<CONTENT_PROPS>) => React.ReactNode);
|
|
36
|
+
/**
|
|
37
|
+
* Content extension, displayed at the bottom side of a node.
|
|
38
|
+
*/
|
|
39
|
+
contentExtension?: React.ReactElement<NodeContentExtensionProps>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends NodeContentData, React.HTMLAttributes<HTMLDivElement> {
|
|
43
|
+
/**
|
|
44
|
+
* Size of the node.
|
|
45
|
+
* If `minimalShape` is not set to `none`then the configured size definition is only used for the selected node state.
|
|
46
|
+
*/
|
|
47
|
+
size?: "tiny" | "small" | "medium" | "large";
|
|
48
|
+
/**
|
|
49
|
+
* Defines if the node is initially displayed within a very small shape.
|
|
50
|
+
* If not set to `none` then the node is only displayed in normal size when it is selected.
|
|
51
|
+
*/
|
|
52
|
+
minimalShape?: "none" | "circular" | "rectangular";
|
|
53
|
+
/**
|
|
54
|
+
* Set the type of used highlights to mark the node.
|
|
55
|
+
*/
|
|
56
|
+
highlightedState?: HighlightingState | HighlightingState[];
|
|
57
|
+
/**
|
|
58
|
+
* Text used for tooltip used on icon and depiction.
|
|
59
|
+
*/
|
|
60
|
+
typeLabel?: string;
|
|
61
|
+
/**
|
|
62
|
+
* If `executionButtons` content is included or not.
|
|
63
|
+
* It is displayed in the node header between label and menu.
|
|
64
|
+
*/
|
|
65
|
+
showExecutionButtons?: boolean;
|
|
66
|
+
// For some still unknown reason this has to be a function instead of just a ReactNode. Else sometimes the nodes "froze".
|
|
67
|
+
/**
|
|
68
|
+
* Set of defined buttons and icons that can be displayed.
|
|
69
|
+
*/
|
|
70
|
+
executionButtons?: (adjustedContentProps: Partial<NODE_CONTENT_PROPS>, setAdjustedContentProps: React.Dispatch<React.SetStateAction<Partial<NODE_CONTENT_PROPS>>>) => React.ReactElement<NODE_CONTENT_PROPS>;
|
|
71
|
+
/**
|
|
72
|
+
* Can be used for permanent action button or context menu.
|
|
73
|
+
* It is displayed at the node header right to the label.
|
|
74
|
+
*/
|
|
75
|
+
menuButtons?: React.ReactNode;
|
|
76
|
+
/**
|
|
77
|
+
* Array of property definition objects for `Handle` components that need to be created for the node.
|
|
78
|
+
* @see https://reactflow.dev/docs/api/handle/
|
|
79
|
+
*/
|
|
80
|
+
handles?: IHandleProps[];
|
|
81
|
+
/**
|
|
82
|
+
* Set the minimal number of handles on left or right side of the node to activate the recalculation of the minimal height of the node.
|
|
83
|
+
*/
|
|
84
|
+
adaptHeightForHandleMinCount?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Height per handle in px (without the unit) used for minimal height calculation of the node.
|
|
87
|
+
*/
|
|
88
|
+
adaptSizeIncrement?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Callback function to provide content for the tooltip on a node with a defined `minimalShape`.
|
|
91
|
+
* If you do not want a tooltip in this state you need to provide a callback that returns an empty value.
|
|
92
|
+
*/
|
|
93
|
+
getMinimalTooltipData?: (node: NodeProps<NODE_DATA>) => NodeContentData;
|
|
94
|
+
/**
|
|
95
|
+
* Set if a handle is displayed even if it does not allow a connection to an edge.
|
|
96
|
+
*/
|
|
97
|
+
showUnconnectableHandles?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* The node is displayed with some animated shadow for highlighting purposes.
|
|
100
|
+
*/
|
|
101
|
+
animated?:boolean;
|
|
102
|
+
|
|
103
|
+
/** Additional data stored in the node. */
|
|
104
|
+
businessData?: NODE_DATA;
|
|
105
|
+
|
|
106
|
+
// we need to forward some ReactFlowNodeProps here
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* This property is only forwarded from the `NodeDefault` element.
|
|
110
|
+
* If set then it will be always overwritten internally.
|
|
111
|
+
*/
|
|
112
|
+
targetPosition?: typeof Position[keyof typeof Position];
|
|
113
|
+
/**
|
|
114
|
+
* This property is only forwarded from the `NodeDefault` element.
|
|
115
|
+
* If set then it will be always overwritten internally.
|
|
116
|
+
*/
|
|
117
|
+
sourcePosition?: typeof Position[keyof typeof Position];
|
|
118
|
+
/**
|
|
119
|
+
* This property is only forwarded from the `NodeDefault` element.
|
|
120
|
+
* If set then it will be always overwritten internally.
|
|
121
|
+
*/
|
|
122
|
+
isConnectable?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* This property is only forwarded from the `NodeDefault` element.
|
|
125
|
+
* If set then it will be always overwritten internally.
|
|
126
|
+
*/
|
|
127
|
+
selected?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Allow react flow wheel events, e.g. for zooming using the mouse wheel over a node.
|
|
130
|
+
* If this is allowed scrolling inside a node is not possible.
|
|
131
|
+
*/
|
|
132
|
+
letPassWheelEvents?: boolean;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
interface MemoHandlerProps extends HandleProps {
|
|
136
|
+
posdirection: string;
|
|
137
|
+
style: {
|
|
138
|
+
[key:string]: string | undefined
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const defaultHandles = [
|
|
143
|
+
{ type: "target" },
|
|
144
|
+
{ type: "source" },
|
|
145
|
+
] as IHandleProps[];
|
|
146
|
+
|
|
147
|
+
const getDefaultMinimalTooltipData = (node: any) => {
|
|
148
|
+
return {
|
|
149
|
+
label: node.data?.label,
|
|
150
|
+
content: node.data?.content,
|
|
151
|
+
iconName: node.data?.iconName,
|
|
152
|
+
depiction: node.data?.depiction,
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const addHandles = (handles: any, position: any, posDirection: any, isConnectable: any, nodeStyle: any) => {
|
|
157
|
+
return handles[position].map((handle: any, idx: any) => {
|
|
158
|
+
const {
|
|
159
|
+
className,
|
|
160
|
+
style = {},
|
|
161
|
+
category,
|
|
162
|
+
} = handle;
|
|
163
|
+
const styleAdditions : {[key: string]: string}= {
|
|
164
|
+
color: nodeStyle.borderColor ?? undefined
|
|
165
|
+
}
|
|
166
|
+
styleAdditions[posDirection] = (100 / (handles[position].length + 1) * (idx + 1)) + "%";
|
|
167
|
+
const handleProperties = {
|
|
168
|
+
...handle,
|
|
169
|
+
...{
|
|
170
|
+
position: handle.position ?? position,
|
|
171
|
+
style: { ...style, ...styleAdditions},
|
|
172
|
+
posdirection: posDirection,
|
|
173
|
+
isConnectable: typeof handle.isConnectable !== "undefined" ? handle.isConnectable : isConnectable,
|
|
174
|
+
className: !!category ? (className?className+" ":"") + gethighlightedStateClasses(category, `${eccgui}-graphviz__handle`) : className,
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
return (
|
|
178
|
+
<MemoHandler {...handleProperties} key={"handle" + idx} />
|
|
179
|
+
);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const imgWithTooltip = (imgEl: any, tooltipText: any) => {
|
|
184
|
+
if (!!tooltipText) {
|
|
185
|
+
return <Tooltip content={tooltipText}><span>{imgEl}</span></Tooltip>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return imgEl;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export const gethighlightedStateClasses = (state: any, baseClassName: any) => {
|
|
192
|
+
let hightlights = typeof state === "string" ? [state] : state;
|
|
193
|
+
//@ts-ignore
|
|
194
|
+
return hightlights.map(item => `${baseClassName}--highlight-${item}`).join(' ');
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const MemoHandler = React.memo(
|
|
198
|
+
(props: MemoHandlerProps) => <HandleDefault {...props} />,
|
|
199
|
+
(prev, next) => {
|
|
200
|
+
const styleHasChanged =
|
|
201
|
+
prev.style[prev.posdirection] === next.style[next.posdirection];
|
|
202
|
+
return styleHasChanged;
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* The `NodeContent` element manages the main view of how a node is displaying which content.
|
|
208
|
+
* This element cannot be used directly, all properties must be routed through the `data` property of an `elements` property item inside the `ReactFlow` container.
|
|
209
|
+
*/
|
|
210
|
+
export function NodeContent <CONTENT_PROPS = any>({
|
|
211
|
+
iconName,
|
|
212
|
+
depiction,
|
|
213
|
+
typeLabel,
|
|
214
|
+
label,
|
|
215
|
+
showExecutionButtons = true,
|
|
216
|
+
executionButtons,
|
|
217
|
+
menuButtons,
|
|
218
|
+
content,
|
|
219
|
+
contentExtension,
|
|
220
|
+
size = "small",
|
|
221
|
+
minimalShape = "circular",
|
|
222
|
+
highlightedState,
|
|
223
|
+
handles = defaultHandles,
|
|
224
|
+
adaptHeightForHandleMinCount,
|
|
225
|
+
adaptSizeIncrement = 15,
|
|
226
|
+
getMinimalTooltipData = getDefaultMinimalTooltipData,
|
|
227
|
+
style = {},
|
|
228
|
+
showUnconnectableHandles = false,
|
|
229
|
+
animated = false,
|
|
230
|
+
// forwarded props
|
|
231
|
+
targetPosition = Position.Left,
|
|
232
|
+
sourcePosition = Position.Right,
|
|
233
|
+
isConnectable = true,
|
|
234
|
+
selected,
|
|
235
|
+
letPassWheelEvents = false,
|
|
236
|
+
// businessData is just being ignored
|
|
237
|
+
businessData,
|
|
238
|
+
// other props for DOM element
|
|
239
|
+
...otherProps
|
|
240
|
+
}: NodeContentProps<any>) {
|
|
241
|
+
const [adjustedContentProps, setAdjustedContentProps] = React.useState<Partial<CONTENT_PROPS>>({})
|
|
242
|
+
const handleStack: { [key: string]: IHandleProps[] } = {};
|
|
243
|
+
handleStack[Position.Top] = [] as IHandleProps[];
|
|
244
|
+
handleStack[Position.Right] = [] as IHandleProps[];
|
|
245
|
+
handleStack[Position.Bottom] = [] as IHandleProps[];
|
|
246
|
+
handleStack[Position.Left] = [] as IHandleProps[];
|
|
247
|
+
if (handles.length > 0) {
|
|
248
|
+
handles.forEach(handle => {
|
|
249
|
+
if (!!handle.position) {
|
|
250
|
+
handleStack[handle.position].push(handle);
|
|
251
|
+
}
|
|
252
|
+
else if (handle.category === "configuration") {
|
|
253
|
+
handleStack[Position.Top].push(handle);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
if (handle.type === "target") {
|
|
257
|
+
handleStack[targetPosition].push(handle);
|
|
258
|
+
}
|
|
259
|
+
if (handle.type === "source") {
|
|
260
|
+
handleStack[sourcePosition].push(handle);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
const styleExpandDimensions: { [key: string]: string | number } = {};
|
|
266
|
+
if (
|
|
267
|
+
typeof adaptHeightForHandleMinCount !== "undefined" &&
|
|
268
|
+
(minimalShape === "none" || !!selected) &&
|
|
269
|
+
adaptSizeIncrement && (
|
|
270
|
+
handleStack[Position.Left].length >= adaptHeightForHandleMinCount ||
|
|
271
|
+
handleStack[Position.Right].length >= adaptHeightForHandleMinCount
|
|
272
|
+
)
|
|
273
|
+
) {
|
|
274
|
+
const minHeightLeft = handleStack[Position.Left].length * adaptSizeIncrement;
|
|
275
|
+
const minHeightRight = handleStack[Position.Right].length * adaptSizeIncrement;
|
|
276
|
+
styleExpandDimensions["minHeight"] = Math.max(minHeightLeft, minHeightRight);
|
|
277
|
+
}
|
|
278
|
+
return (
|
|
279
|
+
<>
|
|
280
|
+
<section
|
|
281
|
+
{...otherProps}
|
|
282
|
+
style={{...style, ...styleExpandDimensions}}
|
|
283
|
+
className={
|
|
284
|
+
`${eccgui}-graphviz__node` +
|
|
285
|
+
` ${eccgui}-graphviz__node--${size}` +
|
|
286
|
+
` ${eccgui}-graphviz__node--minimal-${minimalShape}` +
|
|
287
|
+
(!!highlightedState ? " " + gethighlightedStateClasses(highlightedState, `${eccgui}-graphviz__node`) : "") +
|
|
288
|
+
(animated ? ` ${eccgui}-graphviz__node--animated` : "") +
|
|
289
|
+
(showUnconnectableHandles === false ? ` ${eccgui}-graphviz__node--hidehandles` : "") +
|
|
290
|
+
(letPassWheelEvents === false ? ` nowheel` : "")
|
|
291
|
+
}
|
|
292
|
+
>
|
|
293
|
+
<header className={`${eccgui}-graphviz__node__header`}>
|
|
294
|
+
{(!!iconName || !!depiction) && (
|
|
295
|
+
<span
|
|
296
|
+
className={`${eccgui}-graphviz__node__header-depiction`}
|
|
297
|
+
>
|
|
298
|
+
{!!depiction && imgWithTooltip(<img src={depiction} alt="" />, (minimalShape === "none" || selected) ? typeLabel : undefined)}
|
|
299
|
+
{(!!iconName && !depiction) && <Icon name={iconName} tooltipText={(minimalShape === "none" || selected) ? typeLabel : undefined} />}
|
|
300
|
+
</span>
|
|
301
|
+
)}
|
|
302
|
+
<span
|
|
303
|
+
className={`${eccgui}-graphviz__node__header-label`}
|
|
304
|
+
title={label}
|
|
305
|
+
>
|
|
306
|
+
{label}
|
|
307
|
+
</span>
|
|
308
|
+
{(menuButtons || (showExecutionButtons && executionButtons)) && (
|
|
309
|
+
<span
|
|
310
|
+
className={`${eccgui}-graphviz__node__header-menu`}
|
|
311
|
+
>
|
|
312
|
+
{(showExecutionButtons && typeof executionButtons === "function") ? executionButtons(adjustedContentProps, setAdjustedContentProps) : null}
|
|
313
|
+
{menuButtons??null}
|
|
314
|
+
</span>
|
|
315
|
+
)}
|
|
316
|
+
</header>
|
|
317
|
+
{content && (
|
|
318
|
+
<div className={`${eccgui}-graphviz__node__content`}>
|
|
319
|
+
{typeof content === "function" ? content(adjustedContentProps) : content}
|
|
320
|
+
</div>
|
|
321
|
+
)}
|
|
322
|
+
<div className={`${eccgui}-graphviz__node__footer`}>
|
|
323
|
+
</div>
|
|
324
|
+
{contentExtension}
|
|
325
|
+
</section>
|
|
326
|
+
{!!handles && (
|
|
327
|
+
<>
|
|
328
|
+
{ addHandles(handleStack, Position.Top, "left", isConnectable, style) }
|
|
329
|
+
{ addHandles(handleStack, Position.Right, "top", isConnectable, style) }
|
|
330
|
+
{ addHandles(handleStack, Position.Bottom, "left", isConnectable, style) }
|
|
331
|
+
{ addHandles(handleStack, Position.Left, "top", isConnectable, style) }
|
|
332
|
+
</>
|
|
333
|
+
)}
|
|
334
|
+
</>
|
|
335
|
+
);
|
|
336
|
+
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { CLASSPREFIX as eccgui } from "../../../configuration/constants";
|
|
3
3
|
import IconButton from "../../../components/Icon/IconButton";
|
|
4
|
-
import Button from "../../../components/Button/Button";
|
|
5
4
|
|
|
6
5
|
export interface NodeContentExtensionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/**
|
|
7
|
+
* When enabled the element is displayed in a way that it does not count into the node size calculation.
|
|
8
|
+
*/
|
|
9
|
+
slideOutOfNode?: boolean;
|
|
7
10
|
/**
|
|
8
11
|
* Element is displayed in expanded state.
|
|
9
12
|
* If it has no `onToggle` handler property set then it is always expanded.
|
|
@@ -34,6 +37,7 @@ export interface NodeContentExtensionProps extends React.HTMLAttributes<HTMLDivE
|
|
|
34
37
|
*/
|
|
35
38
|
export const NodeContentExtension = ({
|
|
36
39
|
children,
|
|
40
|
+
slideOutOfNode = false,
|
|
37
41
|
isExpanded = false,
|
|
38
42
|
onToggle = undefined,
|
|
39
43
|
actionButtons,
|
|
@@ -51,6 +55,7 @@ export const NodeContentExtension = ({
|
|
|
51
55
|
{...otherProps}
|
|
52
56
|
className={
|
|
53
57
|
`${eccgui}-graphviz__node__extension` +
|
|
58
|
+
(slideOutOfNode ? ` ${eccgui}-graphviz__node__extension--slideout` : "") +
|
|
54
59
|
(expanded ? ` ${eccgui}-graphviz__node__extension--expanded` : "")
|
|
55
60
|
}
|
|
56
61
|
>
|
|
@@ -70,15 +75,17 @@ export const NodeContentExtension = ({
|
|
|
70
75
|
<div className={`${eccgui}-graphviz__node__extension-body`}>
|
|
71
76
|
{children}
|
|
72
77
|
</div>
|
|
73
|
-
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
{(!!actionButtons || !!onToggle) && (
|
|
79
|
+
<div className={`${eccgui}-graphviz__node__extension-actions`}>
|
|
80
|
+
<IconButton
|
|
81
|
+
className={`${eccgui}-graphviz__node__extension-reducebutton`}
|
|
82
|
+
name="toggler-showless"
|
|
83
|
+
text={tooltipReduce}
|
|
84
|
+
onClick={onToggle ? (e) => { onToggle(e, expanded); } : undefined}
|
|
85
|
+
/>
|
|
86
|
+
{actionButtons}
|
|
87
|
+
</div>
|
|
88
|
+
)}
|
|
82
89
|
</>
|
|
83
90
|
)
|
|
84
91
|
}
|