@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,111 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Tab as BlueprintTab,
|
|
4
|
+
TabProps as BlueprintTabProps
|
|
5
|
+
} from "@blueprintjs/core";
|
|
6
|
+
import Color from "color";
|
|
7
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
8
|
+
import TabTitle, { TabTitleProps } from "./TabTitle";
|
|
9
|
+
|
|
10
|
+
export interface TabProps extends Omit<BlueprintTabProps, "title"> {
|
|
11
|
+
/**
|
|
12
|
+
* Title (or tab label).
|
|
13
|
+
*/
|
|
14
|
+
title: string | React.ReactElement<TabTitleProps>;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the background color of a tag, depends on the `Color` object provided by the
|
|
17
|
+
* [npm color module](https://www.npmjs.com/package/color) v3. You can use it with
|
|
18
|
+
* all allowed [CSS color values](https://developer.mozilla.org/de/docs/Web/CSS/color_value).
|
|
19
|
+
*
|
|
20
|
+
* The front color is set automatically, so the tag label is always readable.
|
|
21
|
+
*/
|
|
22
|
+
backgroundColor?: Color | string;
|
|
23
|
+
/**
|
|
24
|
+
* In case of not enough space do not shrink this tab in its size.
|
|
25
|
+
*/
|
|
26
|
+
dontShrink?: boolean;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Dummy as we cannot use it like that directly for now
|
|
30
|
+
export const TabDummyForStorybook = (props: TabProps) => { return <>{props.title}</>}
|
|
31
|
+
|
|
32
|
+
export const transformTabProperties = ({
|
|
33
|
+
title,
|
|
34
|
+
dontShrink=false,
|
|
35
|
+
className="",
|
|
36
|
+
backgroundColor,
|
|
37
|
+
...otherBlueprintTabProperties
|
|
38
|
+
}: TabProps) => {
|
|
39
|
+
const flexStyles = dontShrink ? { flexShrink: 0} : {};
|
|
40
|
+
let colorStyles = {};
|
|
41
|
+
if (!!backgroundColor) {
|
|
42
|
+
let color = Color("#ffffff")
|
|
43
|
+
try {
|
|
44
|
+
color = Color(backgroundColor);
|
|
45
|
+
} catch(ex) {
|
|
46
|
+
console.warn("Received invalid background color for tag: " + backgroundColor)
|
|
47
|
+
}
|
|
48
|
+
colorStyles = {
|
|
49
|
+
backgroundColor: `${color.rgb().toString()}`,
|
|
50
|
+
color: color.isLight() ? "#000" : "#fff",
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const extraStyles = (dontShrink || !!backgroundColor) ? {style: {...flexStyles, ...colorStyles}} : {};
|
|
54
|
+
return {
|
|
55
|
+
key: otherBlueprintTabProperties.id,
|
|
56
|
+
className: className + ` ${eccgui}-tabs`,
|
|
57
|
+
title: typeof title === "string" ? <TabTitle text={title} /> : title,
|
|
58
|
+
...otherBlueprintTabProperties,
|
|
59
|
+
...extraStyles
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/*
|
|
64
|
+
|
|
65
|
+
NOTE: Try to overload the original Tab element. Currently it does not work.
|
|
66
|
+
(at least inside Storybook) because the set displayName is overwritten and
|
|
67
|
+
Blueprints Tabs integration cannot match the new Tab element correctly by
|
|
68
|
+
checking the displayName.
|
|
69
|
+
|
|
70
|
+
const Tab = (tabProps: TabProps) => {
|
|
71
|
+
return <BlueprintTab
|
|
72
|
+
{...transformTabProperties(tabProps)}
|
|
73
|
+
/>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
Tab.displayName = BlueprintTab.displayName;
|
|
77
|
+
//*/
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
import { AbstractPureComponent2, Classes } from "@blueprintjs/core";
|
|
81
|
+
class Tab extends AbstractPureComponent2<TabProps> {
|
|
82
|
+
public static defaultProps: Partial<TabProps> = {
|
|
83
|
+
disabled: false,
|
|
84
|
+
//dontShrink: false,
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
constructor(props: TabProps) {
|
|
88
|
+
//const { title, ...otherProps} = transformTabProperties(props);
|
|
89
|
+
//const newProps = {...otherProps, title: props.title}
|
|
90
|
+
//console.log(newProps);
|
|
91
|
+
super(props);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
public static displayName = BlueprintTab.displayName;
|
|
95
|
+
|
|
96
|
+
// this component is never rendered directly; see BlueprintTabs#renderTabPanel()
|
|
97
|
+
public render() {
|
|
98
|
+
const { className, panel } = this.props;
|
|
99
|
+
return (
|
|
100
|
+
<div className={`${Classes.TAB_PANEL} ${className}`} role="tablist">
|
|
101
|
+
{panel}
|
|
102
|
+
</div>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
//*
|
|
108
|
+
export default Tab;
|
|
109
|
+
//*/
|
|
110
|
+
|
|
111
|
+
export default BlueprintTab;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
3
|
+
import Button from "../Button/Button";
|
|
4
|
+
|
|
5
|
+
export interface TabTitleProps {
|
|
6
|
+
/**
|
|
7
|
+
* Content of the label that is displayed in the tab element.
|
|
8
|
+
*/
|
|
9
|
+
text: string | React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Content that is displayed before the tab label, could be used for icons, change markers, etc.
|
|
12
|
+
* Use text content inside `<span>` element to force white space between th eprefix and the label.
|
|
13
|
+
*/
|
|
14
|
+
titlePrefix?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Content that is display after tab label, could be used for counts or close/remove buttons.
|
|
17
|
+
* Use text content inside `<span>` element to force white space between th eprefix and the label.
|
|
18
|
+
*/
|
|
19
|
+
titleSuffix?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Enable larger display of the tab.
|
|
22
|
+
*/
|
|
23
|
+
large?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Enable smaller display of the tab.
|
|
26
|
+
*/
|
|
27
|
+
small?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Add a tooltip to a tab, displayed when user hoveres over it.
|
|
30
|
+
*/
|
|
31
|
+
tooltip?: string | JSX.Element;
|
|
32
|
+
/**
|
|
33
|
+
* Make the tab not usable, display is also narrowed.
|
|
34
|
+
*/
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Gives control about functionality and layout of the tab titles.
|
|
40
|
+
*/
|
|
41
|
+
const TabTitle = ({
|
|
42
|
+
text,
|
|
43
|
+
tooltip,
|
|
44
|
+
titlePrefix,
|
|
45
|
+
titleSuffix,
|
|
46
|
+
large=false,
|
|
47
|
+
small=false,
|
|
48
|
+
disabled=false,
|
|
49
|
+
}: TabTitleProps) => {
|
|
50
|
+
return (
|
|
51
|
+
<Button
|
|
52
|
+
className={`${eccgui}-tabtitle`}
|
|
53
|
+
minimal
|
|
54
|
+
tabIndex={-1}
|
|
55
|
+
text={text}
|
|
56
|
+
tooltip={disabled ? undefined : tooltip}
|
|
57
|
+
tooltipProperties={{
|
|
58
|
+
tooltipProps: {
|
|
59
|
+
boundary: "window"
|
|
60
|
+
}
|
|
61
|
+
}}
|
|
62
|
+
icon={<>{titlePrefix}</>}
|
|
63
|
+
rightIcon={<>{titleSuffix}</>}
|
|
64
|
+
small={small}
|
|
65
|
+
large={large}
|
|
66
|
+
disabled={disabled}
|
|
67
|
+
/>
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export default TabTitle;
|
|
@@ -1,119 +1,51 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Tabs as BlueprintTabs,
|
|
4
|
-
TabsProps as
|
|
5
|
-
Tab,
|
|
6
|
-
TabProps as BlueprintTabProbs,
|
|
4
|
+
TabsProps as BlueprintTabsProps,
|
|
7
5
|
} from "@blueprintjs/core";
|
|
8
6
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
9
|
-
import
|
|
7
|
+
import Tab, { TabProps, transformTabProperties } from "./Tab";
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
small?: boolean;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const createBlueprintTab = ({
|
|
26
|
-
titlePrefix,
|
|
27
|
-
title,
|
|
28
|
-
titleSuffix,
|
|
29
|
-
dontShrink=false,
|
|
30
|
-
large=false,
|
|
31
|
-
small=false,
|
|
32
|
-
...otherBlueprintTabProperties
|
|
33
|
-
}: TabProps) => {
|
|
34
|
-
const extraStyles = dontShrink ? { style: {flexShrink: 0} } : {};
|
|
35
|
-
return <Tab
|
|
36
|
-
key={otherBlueprintTabProperties.id}
|
|
37
|
-
title={(
|
|
38
|
-
<Button
|
|
39
|
-
//title={title}
|
|
40
|
-
minimal
|
|
41
|
-
tabIndex={-1}
|
|
42
|
-
text={title}
|
|
43
|
-
icon={<>{titlePrefix}</>}
|
|
44
|
-
rightIcon={<>{titleSuffix}</>}
|
|
45
|
-
small={small}
|
|
46
|
-
large={large}
|
|
47
|
-
/>
|
|
48
|
-
)}
|
|
49
|
-
{...otherBlueprintTabProperties}
|
|
50
|
-
{...extraStyles}
|
|
51
|
-
/>;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// deprecated interface
|
|
55
|
-
export interface DeprecatedTabProps {
|
|
56
|
-
tabId: string;
|
|
57
|
-
tabTitle: React.ReactNode;
|
|
58
|
-
tabContent?: JSX.Element;
|
|
59
|
-
dontShrink?: boolean;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const createDeprecatedTab = ({
|
|
63
|
-
tabId,
|
|
64
|
-
tabTitle,
|
|
65
|
-
tabContent,
|
|
66
|
-
dontShrink=false
|
|
67
|
-
}: DeprecatedTabProps) => {
|
|
68
|
-
const extraStyles = dontShrink ? { style: {flexShrink: 0} } : {};
|
|
69
|
-
return <Tab
|
|
70
|
-
key={tabId}
|
|
71
|
-
id={tabId}
|
|
72
|
-
title={tabTitle}
|
|
73
|
-
panel={tabContent}
|
|
74
|
-
{...extraStyles}
|
|
75
|
-
/>;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
interface TabsProps extends Omit<BlueprintTabsProbs, "vertical" | "onChange" | "large"> {
|
|
79
|
-
activeTab: string;
|
|
80
|
-
tabs: any[]; // DeprecatedTabProps[] | TabProps[];
|
|
81
|
-
onTabClick: ({props}: any) => void;
|
|
82
|
-
prefixTabNames?: string;
|
|
9
|
+
interface TabsProps extends Omit<BlueprintTabsProps, "vertical" | "large" | "animate"> {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Data structure containing all tabs, including their titles and content panels.
|
|
13
|
+
* Currently it is not possible to add `Tab` elements direct as children elements to the `<Tabs>` container.
|
|
14
|
+
*/
|
|
15
|
+
tabs?: TabProps[];
|
|
16
|
+
/**
|
|
17
|
+
* Allow scrollbars on the tabs header.
|
|
18
|
+
* Otherwise they will be shrinked if not enough space.
|
|
19
|
+
*/
|
|
83
20
|
allowScrollbars?: boolean;
|
|
84
21
|
}
|
|
85
22
|
|
|
86
23
|
function Tabs(
|
|
87
24
|
{
|
|
88
|
-
activeTab,
|
|
89
25
|
tabs=[],
|
|
90
|
-
|
|
91
|
-
prefixTabNames='tabBar',
|
|
26
|
+
children,
|
|
92
27
|
className = "",
|
|
93
28
|
allowScrollbars,
|
|
94
29
|
...restProps
|
|
95
30
|
}: TabsProps) {
|
|
31
|
+
|
|
96
32
|
return (
|
|
97
33
|
<BlueprintTabs
|
|
98
|
-
onChange={onTabClick}
|
|
99
|
-
selectedTabId={activeTab}
|
|
100
34
|
className={
|
|
101
35
|
className +
|
|
36
|
+
` ${eccgui}-tabs` +
|
|
102
37
|
(allowScrollbars ? ` ${eccgui}-tabs--scrollablelist` : "")
|
|
103
38
|
}
|
|
104
39
|
{...restProps}
|
|
40
|
+
animate={false}
|
|
105
41
|
>
|
|
106
|
-
{
|
|
42
|
+
{!!tabs ? (
|
|
107
43
|
tabs.map(tab => {
|
|
108
|
-
return
|
|
109
|
-
className: `${prefixTabNames}-header-${tab.id}`,
|
|
110
|
-
...tab
|
|
111
|
-
}) : createDeprecatedTab({
|
|
112
|
-
className: `${prefixTabNames}-header-${tab.tabId}`,
|
|
113
|
-
...tab
|
|
114
|
-
});
|
|
44
|
+
return <Tab {...transformTabProperties(tab)} />;
|
|
115
45
|
})
|
|
116
|
-
|
|
46
|
+
) : (
|
|
47
|
+
children
|
|
48
|
+
)}
|
|
117
49
|
</BlueprintTabs>
|
|
118
50
|
);
|
|
119
51
|
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ComponentStory, ComponentMeta } from "@storybook/react";
|
|
3
|
+
import { Tabs } from "./../../../../";
|
|
4
|
+
import { TabDummyForStorybook } from "./../Tab";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Components/Tabs",
|
|
8
|
+
component: TabDummyForStorybook,
|
|
9
|
+
argTypes: {
|
|
10
|
+
id: {
|
|
11
|
+
description: "Unique identifier used to control which tab is selected.",
|
|
12
|
+
control: "text",
|
|
13
|
+
table: {
|
|
14
|
+
type: { summary: "string" },
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
className: {
|
|
18
|
+
description: "A space-delimited list of class names.",
|
|
19
|
+
control: "boolean",
|
|
20
|
+
table: {
|
|
21
|
+
defaultValue: { summary: undefined },
|
|
22
|
+
type: { summary: "string" },
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
disabled: {
|
|
26
|
+
description: "Whether this action is non-interactive and the button is not usable. This option must be repeated currently also in the `TabTitle` element.",
|
|
27
|
+
control: "boolean",
|
|
28
|
+
table: {
|
|
29
|
+
defaultValue: { summary: false },
|
|
30
|
+
type: { summary: "boolean" },
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
panel: {
|
|
34
|
+
description: "Panel content, rendered by the parent Tabs when this tab is active.",
|
|
35
|
+
table: {
|
|
36
|
+
defaultValue: { summary: undefined },
|
|
37
|
+
type: { summary: "JSX.Element" },
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
backgroundColor: {
|
|
41
|
+
control: "color",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
} as ComponentMeta<typeof TabDummyForStorybook>;
|
|
45
|
+
|
|
46
|
+
const Tab = (args) => {
|
|
47
|
+
return (
|
|
48
|
+
<Tabs
|
|
49
|
+
id="titledemo"
|
|
50
|
+
tabs={[args]}
|
|
51
|
+
/>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const TemplateFull: ComponentStory<typeof TabDummyForStorybook> = (args) => (
|
|
56
|
+
<Tab {...args} />
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
export const TabElement = TemplateFull.bind({});
|
|
60
|
+
TabElement.args = {
|
|
61
|
+
id: "tabtest",
|
|
62
|
+
title: "Tab title",
|
|
63
|
+
dontShrink: false,
|
|
64
|
+
panel: <div>Test panel content.</div>
|
|
65
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ComponentStory, ComponentMeta } from "@storybook/react";
|
|
3
|
+
import { Tabs, TabTitle as TabTitleOrg } from "./../../../";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "Components/Tabs",
|
|
7
|
+
component: TabTitleOrg,
|
|
8
|
+
argTypes: {
|
|
9
|
+
},
|
|
10
|
+
} as ComponentMeta<typeof TabTitleOrg>;
|
|
11
|
+
|
|
12
|
+
const TabTitle = (args) => {
|
|
13
|
+
return (
|
|
14
|
+
<Tabs
|
|
15
|
+
id="titledemo"
|
|
16
|
+
tabs={[
|
|
17
|
+
{
|
|
18
|
+
id: "titlesimple",
|
|
19
|
+
title: <TabTitleOrg {...args} />
|
|
20
|
+
}
|
|
21
|
+
]}
|
|
22
|
+
/>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const TemplateFull: ComponentStory<typeof TabTitleOrg> = (args) => (
|
|
27
|
+
<TabTitle {...args} />
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export const TabTitleElement = TemplateFull.bind({});
|
|
31
|
+
TabTitleElement.args = {
|
|
32
|
+
text: "Tab title",
|
|
33
|
+
titlePrefix: "[",
|
|
34
|
+
titleSuffix: <span>]</span>,
|
|
35
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ComponentStory, ComponentMeta } from "@storybook/react";
|
|
3
|
+
import { Tabs, Tab, TabTitle } from "./../../../";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: "Components/Tabs",
|
|
7
|
+
component: Tabs,
|
|
8
|
+
argTypes: {
|
|
9
|
+
id: {
|
|
10
|
+
description: "Unique identifier used to control which tab is selected.",
|
|
11
|
+
control: "text",
|
|
12
|
+
table: {
|
|
13
|
+
type: { summary: "string" },
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
className: {
|
|
17
|
+
description: "A space-delimited list of class names.",
|
|
18
|
+
control: "text",
|
|
19
|
+
table: {
|
|
20
|
+
defaultValue: { summary: undefined },
|
|
21
|
+
type: { summary: "string" },
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
/*
|
|
25
|
+
NOTE: we currently cannot support this because Blueprint set then !important
|
|
26
|
+
styles prevent tab background colors.
|
|
27
|
+
|
|
28
|
+
animate: {
|
|
29
|
+
description: "Whether the selected tab indicator should animate its movement.",
|
|
30
|
+
control: "boolean",
|
|
31
|
+
table: {
|
|
32
|
+
defaultValue: { summary: true },
|
|
33
|
+
type: { summary: "boolean" },
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
*/
|
|
37
|
+
defaultSelectedTabId: {
|
|
38
|
+
description: "Initial selected tab `id`, for uncontrolled usage.",
|
|
39
|
+
control: "text",
|
|
40
|
+
table: {
|
|
41
|
+
defaultValue: { summary: undefined },
|
|
42
|
+
type: { summary: "string" },
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
selectedTabId: {
|
|
46
|
+
description: "Selected tab id, for controlled usage. Providing this prop will put the component in controlled mode and the `onChange` handler must be set.",
|
|
47
|
+
control: "text",
|
|
48
|
+
table: {
|
|
49
|
+
defaultValue: { summary: undefined },
|
|
50
|
+
type: { summary: "string" },
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
onChange: {
|
|
54
|
+
description: "A callback function that is invoked when a tab in the tab list is clicked.",
|
|
55
|
+
table: {
|
|
56
|
+
defaultValue: { summary: undefined },
|
|
57
|
+
type: { summary: "(newTabId: TabId, prevTabId: TabId | undefined, event: MouseEvent<HTMLElement>) => void" },
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
} as ComponentMeta<typeof Tabs>;
|
|
62
|
+
|
|
63
|
+
const TemplateFull: ComponentStory<typeof Tabs> = (args) => (
|
|
64
|
+
<Tabs {...args} />
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
export const TabsContainerUncontrolled = TemplateFull.bind({});
|
|
68
|
+
TabsContainerUncontrolled.args = {
|
|
69
|
+
id: "storytabs1",
|
|
70
|
+
tabs: [
|
|
71
|
+
{
|
|
72
|
+
id: "storytab1",
|
|
73
|
+
title: "Tab title 1",
|
|
74
|
+
panel: <div>Tab content 1</div>,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: "storytab2",
|
|
78
|
+
title: <TabTitle text="Tab title 2" />,
|
|
79
|
+
panel: <div>Tab content 2</div>,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: "storytab3",
|
|
83
|
+
title: <TabTitle text="Tab title 3" tooltip="Tab tooltip 3" />,
|
|
84
|
+
panel: <div>Tab content 3</div>,
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
FIXME: this integration does currently not work, reason is not clear. See Tab component comments at bottom.
|
|
91
|
+
export const UncontrolledElementsUsage = TemplateFull.bind({});
|
|
92
|
+
UncontrolledElementsUsage.args = {
|
|
93
|
+
id: "storytabs2",
|
|
94
|
+
children: [
|
|
95
|
+
<Tab id="storytab1" title="Tab title 1" panel={<div>Tab content 1</div>} />
|
|
96
|
+
]
|
|
97
|
+
};
|
|
98
|
+
*/
|
|
@@ -32,11 +32,14 @@ $tab-indicator-width: 3px !default;
|
|
|
32
32
|
max-width: 33%;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
& > .#{$ns}-button
|
|
35
|
+
& > .#{$ns}-button, // normal button
|
|
36
|
+
& > span > span > span > .#{$ns}-button { // button with tooltip
|
|
36
37
|
outline: none;
|
|
37
38
|
margin-bottom: $tab-indicator-width;
|
|
38
39
|
max-width: 15rem;
|
|
39
40
|
width: 100%;
|
|
41
|
+
color: inherit;
|
|
42
|
+
border-radius: 0;
|
|
40
43
|
|
|
41
44
|
.#{$ns}-button-text {
|
|
42
45
|
white-space: nowrap;
|
|
@@ -50,10 +53,14 @@ $tab-indicator-width: 3px !default;
|
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
|
|
53
|
-
&:focus
|
|
54
|
-
|
|
56
|
+
&:focus,
|
|
57
|
+
&:hover {
|
|
58
|
+
& > .#{$ns}-button,
|
|
59
|
+
& > span > span > span > .#{$ns}-button {
|
|
60
|
+
background: $minimal-button-background-color-hover;
|
|
61
|
+
color: inherit;
|
|
62
|
+
}
|
|
55
63
|
}
|
|
56
|
-
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
.#{$ns}-tab-indicator-wrapper {
|
|
@@ -14,8 +14,9 @@ interface TagProps extends Omit<
|
|
|
14
14
|
"large" |
|
|
15
15
|
"multiline" |
|
|
16
16
|
"intent" |
|
|
17
|
-
"rightIcon"
|
|
18
|
-
|
|
17
|
+
"rightIcon"
|
|
18
|
+
// Removed round to have chip-like elements, since they are currently missing
|
|
19
|
+
// "round"
|
|
19
20
|
> {
|
|
20
21
|
// own properties
|
|
21
22
|
|
|
@@ -57,7 +58,13 @@ function Tag({
|
|
|
57
58
|
otherProps['interactive'] = otherProps.interactive ?? !!otherProps.onClick ? true : false;
|
|
58
59
|
if (!!backgroundColor) {
|
|
59
60
|
const additionalStyles = otherProps.style ?? {};
|
|
60
|
-
|
|
61
|
+
let color = Color("#ffffff")
|
|
62
|
+
try {
|
|
63
|
+
color = Color(backgroundColor);
|
|
64
|
+
} catch(ex) {
|
|
65
|
+
console.warn("Received invalid background color for tag: " + backgroundColor)
|
|
66
|
+
}
|
|
67
|
+
|
|
61
68
|
otherProps['style'] = {
|
|
62
69
|
...additionalStyles,
|
|
63
70
|
...{
|
|
@@ -18,7 +18,7 @@ $tag-line-height-large: $eccgui-size-typo-tag-large; // !default;
|
|
|
18
18
|
$tag-padding-large: ($tag-height-large - $tag-line-height-large); // !default;
|
|
19
19
|
// $tag-icon-spacing: ($tag-height - 12px) / 2 !default;
|
|
20
20
|
// $tag-icon-spacing-large: ($tag-height-large - $pt-icon-size-standard) / 2 !default;
|
|
21
|
-
|
|
21
|
+
$tag-round-adjustment: 0px !default;
|
|
22
22
|
|
|
23
23
|
@import "~@blueprintjs/core/src/components/tag/tag";
|
|
24
24
|
|
|
@@ -53,7 +53,7 @@ $tag-padding-large: ($tag-height-large - $tag-line-height-large); // !default;
|
|
|
53
53
|
vertical-align: baseline;
|
|
54
54
|
font-size: $eccgui-size-typo-tag;
|
|
55
55
|
line-height: $eccgui-size-typo-tag-lineheight;
|
|
56
|
-
font-weight: $eccgui-font-weight-
|
|
56
|
+
font-weight: $eccgui-font-weight-regular;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
.#{$eccgui}-tag__list-label {
|
|
@@ -35,7 +35,7 @@ export interface TextFieldProps extends Partial<Omit<InputGroupProps, "intent" |
|
|
|
35
35
|
/**
|
|
36
36
|
* Left aligned icon, can be a canonical icon name or an `Icon` element.
|
|
37
37
|
*/
|
|
38
|
-
leftIcon?: ValidIconName | MaybeElement
|
|
38
|
+
leftIcon?: ValidIconName | MaybeElement;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
@@ -2,15 +2,34 @@ import React from "react";
|
|
|
2
2
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
3
3
|
import * as TypographyClassNames from "./classnames";
|
|
4
4
|
|
|
5
|
+
// FIXME: CMEM-3742: comment + add story
|
|
6
|
+
|
|
7
|
+
export interface HtmlContentBlockProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
className?: string;
|
|
9
|
+
small?: boolean;
|
|
10
|
+
/** currently not supported */
|
|
11
|
+
large?: boolean;
|
|
12
|
+
/** currently not supported */
|
|
13
|
+
muted ?: boolean;
|
|
14
|
+
/** currently not supported */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
linebreakForced?: boolean;
|
|
17
|
+
linebreakPrevented?: boolean;
|
|
18
|
+
noScrollbarsOnChildren?: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
5
21
|
function HtmlContentBlock({
|
|
6
22
|
className = "",
|
|
7
23
|
children,
|
|
8
24
|
small = false,
|
|
9
|
-
large = false,
|
|
10
|
-
muted = false,
|
|
11
|
-
disabled = false,
|
|
25
|
+
large = false,
|
|
26
|
+
muted = false,
|
|
27
|
+
disabled = false,
|
|
28
|
+
linebreakForced = false,
|
|
29
|
+
linebreakPrevented = false,
|
|
30
|
+
noScrollbarsOnChildren = false,
|
|
12
31
|
...otherProps
|
|
13
|
-
}:
|
|
32
|
+
}: HtmlContentBlockProps) {
|
|
14
33
|
return (
|
|
15
34
|
<div
|
|
16
35
|
className={
|
|
@@ -19,8 +38,12 @@ function HtmlContentBlock({
|
|
|
19
38
|
(small ? " " + TypographyClassNames.SMALL : "") +
|
|
20
39
|
(large ? " " + TypographyClassNames.LARGE : "") +
|
|
21
40
|
(muted ? " " + TypographyClassNames.MUTED : "") +
|
|
41
|
+
(linebreakForced ? " " + TypographyClassNames.FORCELINEBREAK : "") +
|
|
42
|
+
(linebreakPrevented ? " " + TypographyClassNames.PREVENTLINEBREAK : "") +
|
|
43
|
+
(noScrollbarsOnChildren ? " " + TypographyClassNames.NOSCROLLBARSONCHILDREN : "") +
|
|
22
44
|
(disabled ? " " + TypographyClassNames.DISABLED : "")
|
|
23
45
|
}
|
|
46
|
+
{...otherProps}
|
|
24
47
|
>
|
|
25
48
|
{children}
|
|
26
49
|
</div>
|
|
@@ -4,6 +4,7 @@ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
|
4
4
|
export const NOOVERFLOW = eccgui + "-typography--nooverflow";
|
|
5
5
|
export const FORCELINEBREAK = eccgui + "-typography--forcelinebreak";
|
|
6
6
|
export const PREVENTLINEBREAK = eccgui + "-typography--preventlinebreak";
|
|
7
|
+
export const NOSCROLLBARSONCHILDREN = eccgui + "-typography--noscrollbarsonchildren";
|
|
7
8
|
export const LARGE = eccgui + "-typography--large";
|
|
8
9
|
export const SMALL = eccgui + "-typography--small";
|
|
9
10
|
export const MUTED = eccgui + "-typography--muted";
|