@eccenca/gui-elements 25.0.0 → 25.1.0-changeupgradedtoreact18cmem6639.0
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 +124 -0
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +30 -26
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +11 -5
- package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
- package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js +1 -3
- package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/cjs/cmem/ContentBlobToggler/ContentBlobToggler.js +13 -6
- package/dist/cjs/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +49 -11
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/cjs/cmem/markdown/Markdown.js +2 -2
- package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
- package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -1
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +1 -1
- package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/cjs/cmem/react-flow/configuration/graph.js +0 -2
- package/dist/cjs/cmem/react-flow/configuration/graph.js.map +1 -1
- package/dist/cjs/cmem/react-flow/configuration/linking.js +0 -2
- package/dist/cjs/cmem/react-flow/configuration/linking.js.map +1 -1
- package/dist/cjs/cmem/react-flow/configuration/workflow.js +0 -2
- package/dist/cjs/cmem/react-flow/configuration/workflow.js.map +1 -1
- package/dist/cjs/common/Intent/index.js +1 -1
- package/dist/cjs/common/Intent/index.js.map +1 -1
- package/dist/cjs/common/index.js +1 -0
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/common/utils/CssCustomProperties.js.map +1 -1
- package/dist/cjs/common/utils/colorHash.js +26 -12
- package/dist/cjs/common/utils/colorHash.js.map +1 -1
- package/dist/cjs/components/Application/ApplicationSidebarNavigation.js.map +1 -1
- package/dist/cjs/components/Application/ApplicationTitle.js +5 -1
- package/dist/cjs/components/Application/ApplicationTitle.js.map +1 -1
- package/dist/cjs/components/Application/ApplicationViewability.js +33 -0
- package/dist/cjs/components/Application/ApplicationViewability.js.map +1 -0
- package/dist/cjs/components/Application/index.js +1 -0
- package/dist/cjs/components/Application/index.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +2 -9
- package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/cjs/components/AutocompleteField/autoCompleteFieldUtils.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +6 -2
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ColorField/ColorField.js +114 -0
- package/dist/cjs/components/ColorField/ColorField.js.map +1 -0
- package/dist/cjs/components/ContentGroup/ContentGroup.js +19 -19
- package/dist/cjs/components/ContentGroup/ContentGroup.js.map +1 -1
- package/dist/cjs/components/ContextOverlay/ContextMenu.js +4 -4
- package/dist/cjs/components/ContextOverlay/ContextMenu.js.map +1 -1
- package/dist/cjs/components/ContextOverlay/ContextOverlay.js +3 -2
- package/dist/cjs/components/ContextOverlay/ContextOverlay.js.map +1 -1
- package/dist/cjs/components/DecoupledOverlay/DecoupledOverlay.js +48 -0
- package/dist/cjs/components/DecoupledOverlay/DecoupledOverlay.js.map +1 -0
- package/dist/cjs/components/Icon/IconButton.js +2 -2
- package/dist/cjs/components/Icon/IconButton.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +10 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/cjs/components/Icon/transformIcon.js +14 -0
- package/dist/cjs/components/Icon/transformIcon.js.map +1 -0
- package/dist/cjs/components/MultiSelect/MultiSelect.js +63 -24
- package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/cjs/components/NotAvailable/NotAvailable.js +42 -0
- package/dist/cjs/components/NotAvailable/NotAvailable.js.map +1 -0
- package/dist/cjs/components/Notification/Notification.js.map +1 -1
- package/dist/cjs/components/OverviewItem/OverviewItemDepiction.js.map +1 -1
- package/dist/cjs/components/RadioButton/RadioButton.js +5 -2
- package/dist/cjs/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +6 -4
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Table/TableContainer.js +1 -1
- package/dist/cjs/components/Table/TableContainer.js.map +1 -1
- package/dist/cjs/components/Table/TableExpandRow.js +2 -2
- package/dist/cjs/components/Table/TableExpandRow.js.map +1 -1
- package/dist/cjs/components/TextField/useTextValidation.js +17 -8
- package/dist/cjs/components/TextField/useTextValidation.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +11 -7
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/InlineText.js +29 -0
- package/dist/cjs/components/Typography/InlineText.js.map +1 -0
- package/dist/cjs/components/Typography/index.js +1 -0
- package/dist/cjs/components/Typography/index.js.map +1 -1
- package/dist/cjs/components/VisualTour/VisualTour.js +30 -36
- package/dist/cjs/components/VisualTour/VisualTour.js.map +1 -1
- package/dist/cjs/components/index.js +3 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +59 -21
- package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
- package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +2 -2
- package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/cjs/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.js +23 -0
- package/dist/cjs/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.js.map +1 -0
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js +5 -2
- package/dist/cjs/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeLabel.js +8 -3
- package/dist/cjs/extensions/react-flow/edges/EdgeLabel.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeNew.js +6 -4
- package/dist/cjs/extensions/react-flow/edges/EdgeNew.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeTools.js +2 -2
- package/dist/cjs/extensions/react-flow/edges/EdgeTools.js.map +1 -1
- package/dist/cjs/extensions/react-flow/handles/HandleContent.js +5 -2
- package/dist/cjs/extensions/react-flow/handles/HandleContent.js.map +1 -1
- package/dist/cjs/extensions/react-flow/handles/HandleDefault.js +1 -1
- package/dist/cjs/extensions/react-flow/handles/HandleDefault.js.map +1 -1
- package/dist/cjs/extensions/react-flow/handles/HandleTools.js +2 -2
- package/dist/cjs/extensions/react-flow/handles/HandleTools.js.map +1 -1
- package/dist/cjs/extensions/react-flow/markers/ReactFlowMarkers.js.map +1 -1
- package/dist/cjs/extensions/react-flow/minimap/MiniMap.js +1 -1
- package/dist/cjs/extensions/react-flow/minimap/MiniMap.js.map +1 -1
- package/dist/cjs/extensions/react-flow/minimap/MiniMapV12.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +7 -5
- package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +5 -2
- package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/NodeTools.js +6 -2
- package/dist/cjs/extensions/react-flow/nodes/NodeTools.js.map +1 -1
- package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js +19 -14
- package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +4 -1
- package/dist/esm/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
- package/dist/esm/cmem/ActivityControl/SilkActivityControl.js +1 -3
- package/dist/esm/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js +9 -5
- package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +57 -9
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/esm/cmem/markdown/Markdown.js +1 -1
- package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
- package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -1
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +1 -1
- package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
- package/dist/esm/cmem/react-flow/configuration/graph.js +0 -2
- package/dist/esm/cmem/react-flow/configuration/graph.js.map +1 -1
- package/dist/esm/cmem/react-flow/configuration/linking.js +0 -2
- package/dist/esm/cmem/react-flow/configuration/linking.js.map +1 -1
- package/dist/esm/cmem/react-flow/configuration/workflow.js +0 -2
- package/dist/esm/cmem/react-flow/configuration/workflow.js.map +1 -1
- package/dist/esm/common/Intent/index.js +1 -1
- package/dist/esm/common/Intent/index.js.map +1 -1
- package/dist/esm/common/index.js +2 -1
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/common/utils/CssCustomProperties.js.map +1 -1
- package/dist/esm/common/utils/colorHash.js +26 -13
- package/dist/esm/common/utils/colorHash.js.map +1 -1
- package/dist/esm/common/utils/reduceToText.js +1 -1
- package/dist/esm/components/Application/ApplicationSidebarNavigation.js.map +1 -1
- package/dist/esm/components/Application/ApplicationTitle.js +5 -1
- package/dist/esm/components/Application/ApplicationTitle.js.map +1 -1
- package/dist/esm/components/Application/ApplicationViewability.js +28 -0
- package/dist/esm/components/Application/ApplicationViewability.js.map +1 -0
- package/dist/esm/components/Application/index.js +1 -0
- package/dist/esm/components/Application/index.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
- package/dist/esm/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js +9 -16
- package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
- package/dist/esm/components/AutocompleteField/autoCompleteFieldUtils.js.map +1 -1
- package/dist/esm/components/Button/Button.js +6 -2
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/ColorField/ColorField.js +140 -0
- package/dist/esm/components/ColorField/ColorField.js.map +1 -0
- package/dist/esm/components/ContentGroup/ContentGroup.js +1 -1
- package/dist/esm/components/ContentGroup/ContentGroup.js.map +1 -1
- package/dist/esm/components/ContextOverlay/ContextMenu.js +4 -4
- package/dist/esm/components/ContextOverlay/ContextMenu.js.map +1 -1
- package/dist/esm/components/ContextOverlay/ContextOverlay.js +3 -2
- package/dist/esm/components/ContextOverlay/ContextOverlay.js.map +1 -1
- package/dist/esm/components/DecoupledOverlay/DecoupledOverlay.js +42 -0
- package/dist/esm/components/DecoupledOverlay/DecoupledOverlay.js.map +1 -0
- package/dist/esm/components/Icon/IconButton.js +2 -2
- package/dist/esm/components/Icon/IconButton.js.map +1 -1
- package/dist/esm/components/Icon/canonicalIconNames.js +10 -1
- package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
- package/dist/esm/components/Icon/transformIcon.js +21 -0
- package/dist/esm/components/Icon/transformIcon.js.map +1 -0
- package/dist/esm/components/MultiSelect/MultiSelect.js +66 -27
- package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/esm/components/NotAvailable/NotAvailable.js +46 -0
- package/dist/esm/components/NotAvailable/NotAvailable.js.map +1 -0
- package/dist/esm/components/Notification/Notification.js.map +1 -1
- package/dist/esm/components/OverviewItem/OverviewItemDepiction.js.map +1 -1
- package/dist/esm/components/RadioButton/RadioButton.js +6 -2
- package/dist/esm/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/esm/components/Select/Select.js +3 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableContainer.js +1 -1
- package/dist/esm/components/Table/TableContainer.js.map +1 -1
- package/dist/esm/components/Table/TableExpandRow.js +1 -1
- package/dist/esm/components/Table/TableExpandRow.js.map +1 -1
- package/dist/esm/components/TextField/useTextValidation.js +39 -8
- package/dist/esm/components/TextField/useTextValidation.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +11 -7
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Typography/InlineText.js +33 -0
- package/dist/esm/components/Typography/InlineText.js.map +1 -0
- package/dist/esm/components/Typography/index.js +1 -0
- package/dist/esm/components/Typography/index.js.map +1 -1
- package/dist/esm/components/VisualTour/VisualTour.js +31 -37
- package/dist/esm/components/VisualTour/VisualTour.js.map +1 -1
- package/dist/esm/components/index.js +3 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +62 -24
- package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +1 -1
- package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +3 -3
- package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -1
- package/dist/esm/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.js +47 -0
- package/dist/esm/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.js.map +1 -0
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js +16 -2
- package/dist/esm/extensions/codemirror/toolbars/markdown.toolbar.js.map +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeLabel.js +4 -2
- package/dist/esm/extensions/react-flow/edges/EdgeLabel.js.map +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeNew.js +3 -1
- package/dist/esm/extensions/react-flow/edges/EdgeNew.js.map +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeTools.js +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeTools.js.map +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleContent.js +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleContent.js.map +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleDefault.js +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleDefault.js.map +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleTools.js +1 -1
- package/dist/esm/extensions/react-flow/handles/HandleTools.js.map +1 -1
- package/dist/esm/extensions/react-flow/markers/ReactFlowMarkers.js.map +1 -1
- package/dist/esm/extensions/react-flow/minimap/MiniMap.js +1 -1
- package/dist/esm/extensions/react-flow/minimap/MiniMap.js.map +1 -1
- package/dist/esm/extensions/react-flow/minimap/MiniMapV12.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js +4 -2
- package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeDefault.js +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/NodeTools.js +2 -1
- package/dist/esm/extensions/react-flow/nodes/NodeTools.js.map +1 -1
- package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +13 -4
- package/dist/types/cmem/ActivityControl/ActivityExecutionErrorReportModal.d.ts +1 -1
- package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +4 -4
- package/dist/types/cmem/ContentBlobToggler/ContentBlobToggler.d.ts +5 -1
- package/dist/types/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.d.ts +27 -11
- package/dist/types/cmem/markdown/Markdown.d.ts +2 -1
- package/dist/types/cmem/react-flow/configuration/graph.d.ts +2 -1
- package/dist/types/cmem/react-flow/configuration/linking.d.ts +2 -1
- package/dist/types/cmem/react-flow/configuration/workflow.d.ts +2 -1
- package/dist/types/common/index.d.ts +2 -1
- package/dist/types/common/utils/CssCustomProperties.d.ts +2 -2
- package/dist/types/common/utils/colorHash.d.ts +5 -4
- package/dist/types/components/Accordion/AccordionItem.d.ts +1 -1
- package/dist/types/components/Application/ApplicationSidebarNavigation.d.ts +2 -0
- package/dist/types/components/Application/ApplicationViewability.d.ts +36 -0
- package/dist/types/components/Application/index.d.ts +1 -0
- package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +2 -2
- package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +2 -12
- package/dist/types/components/AutocompleteField/autoCompleteFieldUtils.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/Card/CardHeader.d.ts +1 -1
- package/dist/types/components/ColorField/ColorField.d.ts +30 -0
- package/dist/types/components/ContentGroup/ContentGroup.d.ts +1 -1
- package/dist/types/components/ContextOverlay/ContextMenu.d.ts +9 -3
- package/dist/types/components/ContextOverlay/ContextOverlay.d.ts +8 -2
- package/dist/types/components/DecoupledOverlay/DecoupledOverlay.d.ts +22 -0
- package/dist/types/components/Depiction/Depiction.d.ts +1 -1
- package/dist/types/components/Dialog/SimpleDialog.d.ts +1 -1
- package/dist/types/components/Form/FieldItem.d.ts +1 -1
- package/dist/types/components/Form/FieldSet.d.ts +3 -3
- package/dist/types/components/HoverToggler/HoverToggler.d.ts +2 -2
- package/dist/types/components/Icon/IconButton.d.ts +1 -1
- package/dist/types/components/Icon/canonicalIconNames.d.ts +9 -1
- package/dist/types/components/Icon/transformIcon.d.ts +2 -0
- package/dist/types/components/Label/Label.d.ts +3 -3
- package/dist/types/components/Menu/MenuItem.d.ts +1 -1
- package/dist/types/components/MultiSelect/MultiSelect.d.ts +17 -5
- package/dist/types/components/NotAvailable/NotAvailable.d.ts +32 -0
- package/dist/types/components/Notification/Notification.d.ts +2 -2
- package/dist/types/components/OverviewItem/OverviewItemActions.d.ts +1 -1
- package/dist/types/components/PropertyValuePair/PropertyValueList.d.ts +1 -1
- package/dist/types/components/RadioButton/RadioButton.d.ts +8 -2
- package/dist/types/components/Select/Select.d.ts +2 -1
- package/dist/types/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/types/components/Structure/TitleSubsection.d.ts +3 -6
- package/dist/types/components/SuggestField/index.d.ts +2 -2
- package/dist/types/components/Table/TableContainer.d.ts +3 -3
- package/dist/types/components/Tabs/Tab.d.ts +4 -10
- package/dist/types/components/Tabs/TabTitle.d.ts +1 -1
- package/dist/types/components/TextField/TextArea.d.ts +1 -1
- package/dist/types/components/Typography/InlineText.d.ts +13 -0
- package/dist/types/components/Typography/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/extensions/codemirror/CodeMirror.d.ts +12 -9
- package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +1 -1
- package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +1 -1
- package/dist/types/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.d.ts +24 -0
- package/dist/types/extensions/codemirror/toolbars/markdown.toolbar.d.ts +2 -0
- package/dist/types/extensions/react-flow/edges/EdgeLabel.d.ts +3 -3
- package/dist/types/extensions/react-flow/edges/EdgeTools.d.ts +1 -1
- package/dist/types/extensions/react-flow/handles/HandleContent.d.ts +2 -2
- package/dist/types/extensions/react-flow/handles/HandleTools.d.ts +2 -2
- package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +3 -3
- package/dist/types/extensions/react-flow/nodes/NodeTools.d.ts +2 -2
- package/package.json +65 -61
- package/src/_shame.scss +1 -35
- package/src/cmem/ActivityControl/ActivityControlWidget.stories.tsx +3 -8
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +74 -41
- package/src/cmem/ActivityControl/ActivityExecutionErrorReportModal.tsx +6 -4
- package/src/cmem/ActivityControl/SilkActivityControl.tsx +5 -5
- package/src/cmem/ContentBlobToggler/ContentBlobToggler.tsx +16 -6
- package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +72 -19
- package/src/cmem/ContentBlobToggler/stories/StringPreviewContentBlobToggler.stories.tsx +27 -0
- package/src/cmem/ContentBlobToggler/tests/StringPreviewContentBlobToggler.test.tsx +98 -0
- package/src/cmem/markdown/Markdown.stories.tsx +2 -2
- package/src/cmem/markdown/Markdown.tsx +2 -1
- package/src/cmem/markdown/markdown.scss +1 -1
- package/src/cmem/react-flow/ReactFlow/ReactFlowV12.tsx +1 -0
- package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +1 -1
- package/src/cmem/react-flow/configuration/graph.ts +2 -3
- package/src/cmem/react-flow/configuration/linking.ts +2 -3
- package/src/cmem/react-flow/configuration/workflow.ts +2 -3
- package/src/common/Intent/index.ts +2 -1
- package/src/common/index.ts +2 -1
- package/src/common/scss/_accessibility-defaults.scss +101 -0
- package/src/common/utils/CssCustomProperties.ts +5 -3
- package/src/common/utils/colorHash.ts +38 -20
- package/src/components/Accordion/AccordionItem.tsx +1 -1
- package/src/components/Accordion/Stories/AccordionItem.stories.tsx +1 -1
- package/src/components/Application/ApplicationSidebarNavigation.tsx +5 -2
- package/src/components/Application/ApplicationTitle.tsx +7 -1
- package/src/components/Application/ApplicationViewability.tsx +61 -0
- package/src/components/Application/_colors.scss +15 -0
- package/src/components/Application/_content.scss +7 -0
- package/src/components/Application/_header.scss +45 -21
- package/src/components/Application/_sidebar.scss +6 -0
- package/src/components/Application/_toolbar.scss +3 -3
- package/src/components/Application/_viewability.scss +13 -0
- package/src/components/Application/application.scss +1 -0
- package/src/components/Application/index.ts +1 -0
- package/src/components/Application/stories/ApplicationViewability.stories.tsx +37 -0
- package/src/components/Application/stories/ColorPalettes.stories.tsx +4 -3
- package/src/components/Application/tests/ApplicationViewability.test.tsx +43 -0
- package/src/components/AutoSuggestion/AutoSuggestion.scss +3 -1
- package/src/components/AutoSuggestion/AutoSuggestion.tsx +4 -4
- package/src/components/AutoSuggestion/AutoSuggestionList.tsx +1 -1
- package/src/components/AutoSuggestion/tests/ExtendedCodeEditor.test.tsx +1 -1
- package/src/components/AutocompleteField/AutoCompleteField.tsx +9 -18
- package/src/components/AutocompleteField/autoCompleteFieldUtils.tsx +1 -1
- package/src/components/Badge/Badge.stories.tsx +1 -1
- package/src/components/Badge/Badge.test.tsx +22 -0
- package/src/components/Breadcrumb/breadcrumb.scss +2 -2
- package/src/components/Button/Button.test.tsx +16 -2
- package/src/components/Button/Button.tsx +11 -6
- package/src/components/Button/button.scss +2 -0
- package/src/components/Card/CardHeader.tsx +1 -1
- package/src/components/Card/card.scss +6 -0
- package/src/components/Card/stories/Card.stories.tsx +1 -1
- package/src/components/Checkbox/Stories/Checkbox.stories.tsx +1 -1
- package/src/components/Checkbox/checkbox.scss +23 -3
- package/src/components/ColorField/ColorField.stories.tsx +72 -0
- package/src/components/ColorField/ColorField.test.tsx +101 -0
- package/src/components/ColorField/ColorField.tsx +200 -0
- package/src/components/ColorField/_colorfield.scss +67 -0
- package/src/components/ContentGroup/ContentGroup.stories.tsx +1 -1
- package/src/components/ContentGroup/ContentGroup.tsx +3 -3
- package/src/components/ContentGroup/_contentgroup.scss +9 -0
- package/src/components/ContextOverlay/ContextMenu.tsx +10 -4
- package/src/components/ContextOverlay/ContextOverlay.tsx +23 -4
- package/src/components/DecoupledOverlay/DecoupledOverlay.stories.tsx +30 -0
- package/src/components/DecoupledOverlay/DecoupledOverlay.tsx +100 -0
- package/src/components/DecoupledOverlay/_decoupledoverlay.scss +46 -0
- package/src/components/Depiction/Depiction.tsx +1 -1
- package/src/components/Depiction/depiction.scss +6 -0
- package/src/components/Dialog/SimpleDialog.tsx +1 -1
- package/src/components/Dialog/dialog.scss +10 -2
- package/src/components/Dialog/stories/Modal.stories.tsx +1 -1
- package/src/components/FlexibleLayout/flexiblelayout.scss +16 -0
- package/src/components/Form/FieldItem.tsx +1 -1
- package/src/components/Form/FieldSet.tsx +3 -3
- package/src/components/Form/Stories/FieldItem.stories.tsx +1 -1
- package/src/components/Form/Stories/FieldSet.stories.tsx +1 -1
- package/src/components/Form/form.scss +2 -2
- package/src/components/Grid/grid.scss +17 -0
- package/src/components/Grid/stories/Grid.stories.tsx +10 -7
- package/src/components/Grid/stories/GridColumn.stories.tsx +1 -1
- package/src/components/Grid/stories/GridRow.stories.tsx +14 -8
- package/src/components/HoverToggler/HoverToggler.tsx +2 -2
- package/src/components/Icon/IconButton.tsx +3 -3
- package/src/components/Icon/canonicalIconNames.tsx +11 -1
- package/src/components/Icon/stories/IconButton.stories.tsx +1 -1
- package/src/components/Icon/stories/TestIcon.stories.tsx +1 -1
- package/src/components/Icon/transformIcon.tsx +17 -0
- package/src/components/Label/Label.tsx +3 -3
- package/src/components/Link/Link.stories.tsx +30 -0
- package/src/components/Link/link.scss +33 -8
- package/src/components/Menu/MenuItem.tsx +1 -1
- package/src/components/Menu/Stories/MenuItem.stories.tsx +1 -1
- package/src/components/MultiSelect/MultiSelect.tsx +104 -32
- package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +40 -1
- package/src/components/MultiSuggestField/_multisuggestfield.scss +18 -0
- package/src/components/MultiSuggestField/tests/MultiSuggestField.test.tsx +89 -37
- package/src/components/NotAvailable/NotAvailable.stories.tsx +15 -0
- package/src/components/NotAvailable/NotAvailable.tsx +71 -0
- package/src/components/Notification/Notification.stories.tsx +2 -1
- package/src/components/Notification/Notification.tsx +3 -3
- package/src/components/Notification/notification.scss +6 -0
- package/src/components/OverviewItem/OverviewItemActions.tsx +1 -1
- package/src/components/OverviewItem/OverviewItemDepiction.tsx +1 -1
- package/src/components/OverviewItem/overviewitem.scss +9 -0
- package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +29 -1
- package/src/components/OverviewItem/stories/OverviewItemActions.stories.tsx +3 -3
- package/src/components/OverviewItem/stories/OverviewItemDepiction.stories.tsx +1 -1
- package/src/components/OverviewItem/stories/OverviewItemDescription.stories.tsx +2 -2
- package/src/components/OverviewItem/stories/OverviewItemLine.stories.tsx +1 -1
- package/src/components/Pagination/Stories/Pagination.stories.tsx +32 -0
- package/src/components/Pagination/pagination.scss +55 -5
- package/src/components/PropertyValuePair/PropertyValueList.tsx +1 -1
- package/src/components/PropertyValuePair/propertyvalue.scss +23 -1
- package/src/components/RadioButton/RadioButton.tsx +15 -3
- package/src/components/RadioButton/Stories/RadioButton.stories.tsx +1 -1
- package/src/components/RadioButton/radiobutton.scss +18 -1
- package/src/components/Select/Select.tsx +8 -6
- package/src/components/Separation/separation.scss +6 -0
- package/src/components/Skeleton/Skeleton.tsx +2 -2
- package/src/components/Structure/TitleSubsection.tsx +1 -1
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Table/TableContainer.tsx +4 -4
- package/src/components/Table/TableExpandRow.tsx +1 -1
- package/src/components/Table/table.scss +22 -0
- package/src/components/Tabs/TabTitle.tsx +1 -1
- package/src/components/Tabs/stories/TabTitle.stories.tsx +7 -2
- package/src/components/Tabs/tabs.scss +2 -2
- package/src/components/Tag/stories/Tag.stories.tsx +1 -1
- package/src/components/Tag/stories/TagList.stories.tsx +3 -3
- package/src/components/Tag/tag.scss +19 -9
- package/src/components/TextField/TextArea.tsx +1 -1
- package/src/components/TextField/stories/TextArea.stories.tsx +1 -1
- package/src/components/TextField/stories/TextField.stories.tsx +24 -3
- package/src/components/TextField/tests/useTextValidation.test.tsx +83 -0
- package/src/components/TextField/textfield.scss +20 -0
- package/src/components/TextField/useTextValidation.ts +17 -8
- package/src/components/TextReducer/TextReducer.stories.tsx +4 -1
- package/src/components/TextReducer/TextReducer.test.tsx +3 -3
- package/src/components/Toolbar/toolbar.scss +1 -2
- package/src/components/Tooltip/Tooltip.test.tsx +40 -5
- package/src/components/Tooltip/Tooltip.tsx +15 -11
- package/src/components/Typography/InlineText.tsx +24 -0
- package/src/components/Typography/_reset.scss +2 -0
- package/src/components/Typography/index.ts +1 -0
- package/src/components/Typography/stories/InlineText.stories.tsx +27 -0
- package/src/components/Typography/typography.scss +37 -3
- package/src/components/VisualTour/VisualTour.tsx +35 -55
- package/src/components/VisualTour/visualTour.scss +0 -34
- package/src/components/index.scss +2 -0
- package/src/components/index.ts +3 -0
- package/src/configuration/_customproperties.scss +32 -0
- package/src/configuration/stories/customproperties.stories.tsx +122 -0
- package/src/extensions/codemirror/CodeMirror.stories.tsx +9 -4
- package/src/extensions/codemirror/CodeMirror.tsx +93 -37
- package/src/extensions/codemirror/_codemirror.scss +18 -28
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +1 -2
- package/src/extensions/codemirror/tests/CodeEditor.test.tsx +138 -0
- package/src/extensions/codemirror/tests/EditorAppearanceConfigMenu.test.tsx +131 -0
- package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +3 -3
- package/src/extensions/codemirror/toolbars/EditorAppearanceConfigMenu.tsx +59 -0
- package/src/extensions/codemirror/toolbars/markdown.toolbar.tsx +17 -3
- package/src/extensions/react-flow/_config.scss +3 -3
- package/src/extensions/react-flow/_react-flow_v12.scss +1 -1
- package/src/extensions/react-flow/edges/EdgeLabel.tsx +15 -11
- package/src/extensions/react-flow/edges/EdgeNew.tsx +6 -6
- package/src/extensions/react-flow/edges/EdgeTools.tsx +5 -6
- package/src/extensions/react-flow/edges/_edges.scss +3 -2
- package/src/extensions/react-flow/edges/stories/EdgeLabel.stories.tsx +2 -1
- package/src/extensions/react-flow/handles/HandleContent.tsx +4 -4
- package/src/extensions/react-flow/handles/HandleDefault.tsx +3 -3
- package/src/extensions/react-flow/handles/HandleTools.tsx +3 -3
- package/src/extensions/react-flow/handles/_handles.scss +3 -3
- package/src/extensions/react-flow/markers/ReactFlowMarkers.tsx +1 -1
- package/src/extensions/react-flow/minimap/MiniMap.tsx +2 -1
- package/src/extensions/react-flow/minimap/MiniMapV12.tsx +1 -1
- package/src/extensions/react-flow/nodes/NodeContent.tsx +20 -19
- package/src/extensions/react-flow/nodes/NodeDefault.tsx +1 -1
- package/src/extensions/react-flow/nodes/NodeDefaultV12.tsx +1 -2
- package/src/extensions/react-flow/nodes/NodeTools.tsx +8 -8
- package/src/extensions/react-flow/nodes/_nodes.scss +4 -3
- package/src/extensions/react-flow/nodes/nodeUtils.tsx +1 -0
- package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +3 -1
- package/src/includes/carbon-components/_requisits.scss +3 -1
- package/src/index.scss +2 -0
- package/src/test/setupTests.js +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { render } from "@testing-library/react";
|
|
3
|
+
import userEvent from "@testing-library/user-event";
|
|
4
|
+
|
|
5
|
+
import "@testing-library/jest-dom";
|
|
6
|
+
|
|
7
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
8
|
+
|
|
9
|
+
import { ColorField } from "./ColorField";
|
|
10
|
+
|
|
11
|
+
describe("ColorField", () => {
|
|
12
|
+
describe("rendering", () => {
|
|
13
|
+
it("renders without crashing, and correct component CSS class is applied", () => {
|
|
14
|
+
const { container } = render(<ColorField />);
|
|
15
|
+
expect(container).not.toBeEmptyDOMElement();
|
|
16
|
+
expect(container.getElementsByClassName(`${eccgui}-colorfield`).length).toBe(1);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("renders a color input by default (no palette presets)", () => {
|
|
20
|
+
const { container } = render(<ColorField colorPresets={[]} allowCustomColor={true} />);
|
|
21
|
+
expect(container.querySelector("input[type='color']")).toBeInTheDocument();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("renders a readonly text input when palette colors are configured, and custom picker CSS class is applied", () => {
|
|
25
|
+
const { container } = render(
|
|
26
|
+
<ColorField
|
|
27
|
+
className="my-custom-class"
|
|
28
|
+
colorPresets={[
|
|
29
|
+
["my-black", "#000000"],
|
|
30
|
+
["my-white", "#ffffff"],
|
|
31
|
+
]}
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
|
+
// With default palette settings, a text input with readOnly is shown
|
|
35
|
+
expect(container.querySelector("input[type='text']")).toBeInTheDocument();
|
|
36
|
+
expect(container.querySelector("input[readonly]")).toBeInTheDocument();
|
|
37
|
+
expect(container.querySelector(`.${eccgui}-colorfield--custom-picker`)).toBeInTheDocument();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("applies additional className", () => {
|
|
41
|
+
render(<ColorField className="my-custom-class" colorPresets={[]} allowCustomColor={true} />);
|
|
42
|
+
expect(document.querySelector(".my-custom-class")).toBeInTheDocument();
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
describe("value handling", () => {
|
|
47
|
+
it("uses defaultValue as initial color", () => {
|
|
48
|
+
render(<ColorField defaultValue="#ff0000" colorPresets={[]} allowCustomColor={true} />);
|
|
49
|
+
const input = document.querySelector("input") as HTMLInputElement;
|
|
50
|
+
expect(input.value).toBe("#ff0000");
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("uses value prop as initial color", () => {
|
|
54
|
+
render(<ColorField value="#00ff00" colorPresets={[]} allowCustomColor={true} />);
|
|
55
|
+
const input = document.querySelector("input") as HTMLInputElement;
|
|
56
|
+
expect(input.value).toBe("#00ff00");
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("falls back to #000000 when no value or defaultValue is provided", () => {
|
|
60
|
+
render(<ColorField colorPresets={[]} allowCustomColor={true} />);
|
|
61
|
+
const input = document.querySelector("input") as HTMLInputElement;
|
|
62
|
+
expect(input.value).toBe("#000000");
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("updates displayed value when value prop changes", () => {
|
|
66
|
+
const { rerender } = render(<ColorField value="#ff0000" colorPresets={[]} allowCustomColor={true} />);
|
|
67
|
+
let input = document.querySelector("input") as HTMLInputElement;
|
|
68
|
+
expect(input.value).toBe("#ff0000");
|
|
69
|
+
|
|
70
|
+
rerender(<ColorField value="#0000ff" colorPresets={[]} allowCustomColor={true} />);
|
|
71
|
+
input = document.querySelector("input") as HTMLInputElement;
|
|
72
|
+
expect(input.value).toBe("#0000ff");
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
describe("disabled state", () => {
|
|
77
|
+
it("is disabled when disabled prop is true", () => {
|
|
78
|
+
render(<ColorField disabled colorPresets={[]} allowCustomColor={true} />);
|
|
79
|
+
const input = document.querySelector("input") as HTMLInputElement;
|
|
80
|
+
expect(input).toBeDisabled();
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it("is disabled when no palette colors and allowCustomColor is false", () => {
|
|
84
|
+
render(<ColorField colorPresets={[]} allowCustomColor={false} />);
|
|
85
|
+
const input = document.querySelector("input") as HTMLInputElement;
|
|
86
|
+
expect(input).toBeDisabled();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
describe("onChange callback", () => {
|
|
91
|
+
it("calls onChange when native color input changes", async () => {
|
|
92
|
+
const user = userEvent.setup();
|
|
93
|
+
const onChange = jest.fn();
|
|
94
|
+
render(<ColorField onChange={onChange} colorPresets={[]} allowCustomColor={true} />);
|
|
95
|
+
const input = document.querySelector("input[type='color']") as HTMLInputElement;
|
|
96
|
+
input.type = "text"; // for unknown reasons Jest seems not able to test it on color inputs
|
|
97
|
+
await user.type(input, "#123456");
|
|
98
|
+
expect(onChange).toHaveBeenCalled();
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
});
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import Color from "color";
|
|
4
|
+
|
|
5
|
+
import { utils } from "../../common";
|
|
6
|
+
import { getEnabledColorsProps } from "../../common/utils/colorHash";
|
|
7
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
8
|
+
import { ContextOverlay } from "../ContextOverlay";
|
|
9
|
+
import { FieldSet } from "../Form";
|
|
10
|
+
import { RadioButton } from "../RadioButton/RadioButton";
|
|
11
|
+
import { Spacing } from "../Separation/Spacing";
|
|
12
|
+
import { Tag, TagList } from "../Tag";
|
|
13
|
+
import { TextField, TextFieldProps } from "../TextField";
|
|
14
|
+
import { Tooltip } from "../Tooltip/Tooltip";
|
|
15
|
+
import { WhiteSpaceContainer } from "../Typography";
|
|
16
|
+
|
|
17
|
+
type ColorPresets = [string, string][] | [string, Color][];
|
|
18
|
+
type ColorPresetConfiguration = Pick<getEnabledColorsProps, "includeColorWeight" | "includePaletteGroup">;
|
|
19
|
+
|
|
20
|
+
export interface ColorFieldProps extends Omit<TextFieldProps, "invisibleCharacterWarning"> {
|
|
21
|
+
/**
|
|
22
|
+
* Any color can be selected, not only from the color presets.
|
|
23
|
+
*/
|
|
24
|
+
allowCustomColor?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* List of named colors that are used a selectable color options.
|
|
27
|
+
*/
|
|
28
|
+
colorPresets?: ColorPresets;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Color input field that provides resets from the configured color palette.
|
|
33
|
+
* Use `includeColorWeight` and `includePaletteGroup` to filter them.
|
|
34
|
+
*/
|
|
35
|
+
export const ColorField = ({
|
|
36
|
+
className = "",
|
|
37
|
+
allowCustomColor = false,
|
|
38
|
+
colorPresets = listColorPalettePresets(),
|
|
39
|
+
defaultValue,
|
|
40
|
+
value,
|
|
41
|
+
onChange,
|
|
42
|
+
fullWidth = false,
|
|
43
|
+
...otherTextFieldProps
|
|
44
|
+
}: ColorFieldProps) => {
|
|
45
|
+
const ref = React.useRef(null);
|
|
46
|
+
const [colorValue, setColorValue] = React.useState<string>(defaultValue || value || "#000000");
|
|
47
|
+
if (value && value !== colorValue) {
|
|
48
|
+
setColorValue(value);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const disableNativePicker = colorPresets.length > 0;
|
|
52
|
+
const disabled = (!disableNativePicker && !allowCustomColor) || otherTextFieldProps.disabled;
|
|
53
|
+
|
|
54
|
+
const forwardOnChange = (forwardedEvent: React.ChangeEvent<HTMLInputElement>) => {
|
|
55
|
+
setColorValue(forwardedEvent.target.value);
|
|
56
|
+
if (onChange) {
|
|
57
|
+
onChange(forwardedEvent);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const colorInput = (
|
|
62
|
+
<TextField
|
|
63
|
+
inputRef={ref}
|
|
64
|
+
className={classNames(`${eccgui}-colorfield`, className, {
|
|
65
|
+
[`${eccgui}-colorfield--custom-picker`]: disableNativePicker,
|
|
66
|
+
[`${eccgui}-colorfield--disabled`]: disabled,
|
|
67
|
+
})}
|
|
68
|
+
// we cannot use `color` type for the custom picker because we do not have control over it then
|
|
69
|
+
type={!disableNativePicker ? "color" : "text"}
|
|
70
|
+
readOnly={disableNativePicker}
|
|
71
|
+
disabled={disabled}
|
|
72
|
+
value={colorValue}
|
|
73
|
+
fullWidth={fullWidth}
|
|
74
|
+
{...otherTextFieldProps}
|
|
75
|
+
onChange={
|
|
76
|
+
!disableNativePicker
|
|
77
|
+
? (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
78
|
+
forwardOnChange(e);
|
|
79
|
+
}
|
|
80
|
+
: undefined
|
|
81
|
+
}
|
|
82
|
+
style={{ ...otherTextFieldProps.style, [`--eccgui-colorfield-background`]: colorValue } as CSSProperties}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
return disableNativePicker && !disabled ? (
|
|
87
|
+
<ContextOverlay
|
|
88
|
+
fill={fullWidth}
|
|
89
|
+
content={
|
|
90
|
+
<WhiteSpaceContainer
|
|
91
|
+
paddingTop={"small"}
|
|
92
|
+
paddingRight={"small"}
|
|
93
|
+
paddingBottom={"small"}
|
|
94
|
+
paddingLeft={"small"}
|
|
95
|
+
className={`${eccgui}-colorfield__picker`}
|
|
96
|
+
>
|
|
97
|
+
{allowCustomColor && (
|
|
98
|
+
<>
|
|
99
|
+
<TextField
|
|
100
|
+
type={"color"}
|
|
101
|
+
value={colorValue}
|
|
102
|
+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
|
|
103
|
+
forwardOnChange(e);
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
106
|
+
<Spacing size={"small"} />
|
|
107
|
+
</>
|
|
108
|
+
)}
|
|
109
|
+
<FieldSet>
|
|
110
|
+
<TagList className={`${eccgui}-colorfield__palette`}>
|
|
111
|
+
{colorPresets!.map((color: [string, string | Color], idx: number) => [
|
|
112
|
+
<RadioButton
|
|
113
|
+
key={idx}
|
|
114
|
+
className={`${eccgui}-colorfield__palette__color`}
|
|
115
|
+
hideIndicator
|
|
116
|
+
value={typeof color[1] === "string" ? color[1] : color[1].toString()}
|
|
117
|
+
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
|
|
118
|
+
forwardOnChange(e);
|
|
119
|
+
}}
|
|
120
|
+
>
|
|
121
|
+
<Tooltip content={color[0]}>
|
|
122
|
+
<Tag
|
|
123
|
+
large
|
|
124
|
+
style={{ [`--eccgui-colorfield-palette-color`]: color[1] } as CSSProperties}
|
|
125
|
+
>
|
|
126
|
+
{typeof color[1] === "string" ? color[1] : color[1].toString()}
|
|
127
|
+
</Tag>
|
|
128
|
+
</Tooltip>
|
|
129
|
+
</RadioButton>,
|
|
130
|
+
// Looks like we cannot force some type of line break in the tag list via CSS only
|
|
131
|
+
(idx + 1) % 8 === 0 && (
|
|
132
|
+
<>
|
|
133
|
+
<br className={`${eccgui}-colorfield__palette-linebreak`} />
|
|
134
|
+
</>
|
|
135
|
+
),
|
|
136
|
+
])}
|
|
137
|
+
</TagList>
|
|
138
|
+
</FieldSet>
|
|
139
|
+
</WhiteSpaceContainer>
|
|
140
|
+
}
|
|
141
|
+
>
|
|
142
|
+
{colorInput}
|
|
143
|
+
</ContextOverlay>
|
|
144
|
+
) : (
|
|
145
|
+
colorInput
|
|
146
|
+
);
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const defaultColorPaletteSet: ColorPresetConfiguration = {
|
|
150
|
+
// on default, we only include color weights that can have enough contrasts to black/white
|
|
151
|
+
includeColorWeight: [100, 300, 700, 900],
|
|
152
|
+
// on default, we only include layout colors
|
|
153
|
+
includePaletteGroup: ["layout"],
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Simple helper function to get a list of colors defined in the color palette.
|
|
158
|
+
*/
|
|
159
|
+
const listColorPalettePresets = (colorPaletteSet = defaultColorPaletteSet) => {
|
|
160
|
+
return utils
|
|
161
|
+
.getEnabledColorPropertiesFromPalette({
|
|
162
|
+
...colorPaletteSet,
|
|
163
|
+
minimalColorDistance: 0, // we use all allowed colors, and do not check distances between them
|
|
164
|
+
})
|
|
165
|
+
.map((color: [string, string | Color]) => [
|
|
166
|
+
color[0].replace(`${eccgui}-color-palette-`, ""),
|
|
167
|
+
color[1],
|
|
168
|
+
]) as ColorPresets;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
ColorField.listColorPalettePresets = listColorPalettePresets;
|
|
172
|
+
|
|
173
|
+
type calculateColorHashValueProps = Pick<ColorFieldProps, "allowCustomColor"> & ColorPresetConfiguration;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Simple helper function that provide simple access to color hash calculation.
|
|
177
|
+
*/
|
|
178
|
+
ColorField.calculateColorHashValue = (
|
|
179
|
+
text: string,
|
|
180
|
+
options: calculateColorHashValueProps = {
|
|
181
|
+
...defaultColorPaletteSet,
|
|
182
|
+
allowCustomColor: false,
|
|
183
|
+
}
|
|
184
|
+
) => {
|
|
185
|
+
const hash = utils.textToColorHash({
|
|
186
|
+
text,
|
|
187
|
+
options: {
|
|
188
|
+
returnValidColorsDirectly: options.allowCustomColor as boolean,
|
|
189
|
+
enabledColors: utils.getEnabledColorsFromPalette({
|
|
190
|
+
includePaletteGroup: options.includePaletteGroup,
|
|
191
|
+
includeColorWeight: options.includeColorWeight,
|
|
192
|
+
minimalColorDistance: 0,
|
|
193
|
+
}),
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
return hash ? hash : undefined;
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
export default ColorField;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
.#{$eccgui}-colorfield {
|
|
2
|
+
cursor: default;
|
|
3
|
+
|
|
4
|
+
&:not(.#{$ns}-fill) {
|
|
5
|
+
width: 100%;
|
|
6
|
+
max-width: 4 * $eccgui-size-textfield-height-regular;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.#{$ns}-input {
|
|
10
|
+
color: var(--#{$eccgui}-colorfield-background);
|
|
11
|
+
cursor: inherit;
|
|
12
|
+
background-color: var(--#{$eccgui}-colorfield-background);
|
|
13
|
+
|
|
14
|
+
&[type="color"] {
|
|
15
|
+
&::-webkit-color-swatch-wrapper {
|
|
16
|
+
display: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&::-moz-color-swatch {
|
|
20
|
+
display: none;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&[class*="#{$ns}-intent-"] {
|
|
26
|
+
// we need to remove normal intent indicators like colored bg or blinking
|
|
27
|
+
.#{$ns}-input {
|
|
28
|
+
background-color: var(--#{$eccgui}-colorfield-background);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.#{$ns}-input-left-container {
|
|
33
|
+
top: 1px;
|
|
34
|
+
left: 1px !important;
|
|
35
|
+
height: calc(100% - 2px);
|
|
36
|
+
background-color: $eccgui-color-textfield-background;
|
|
37
|
+
}
|
|
38
|
+
.#{$ns}-input-action {
|
|
39
|
+
top: 1px;
|
|
40
|
+
right: 1px !important;
|
|
41
|
+
height: calc(100% - 2px);
|
|
42
|
+
background-color: $eccgui-color-textfield-background;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.#{$eccgui}-colorfield--disabled {
|
|
47
|
+
opacity: $eccgui-opacity-disabled;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.#{$eccgui}-colorfield__palette {
|
|
51
|
+
& > li:has(.#{$eccgui}-colorfield__palette-linebreak) {
|
|
52
|
+
display: block;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 0;
|
|
55
|
+
margin: 0;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.#{$eccgui}-colorfield__palette__color {
|
|
61
|
+
margin: 0;
|
|
62
|
+
.#{$eccgui}-tag__item {
|
|
63
|
+
width: 3rem;
|
|
64
|
+
color: var(--#{$eccgui}-colorfield-palette-color) !important;
|
|
65
|
+
background-color: var(--#{$eccgui}-colorfield-palette-color) !important;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { LoremIpsum } from "react-lorem-ipsum";
|
|
3
3
|
import { Meta, StoryFn } from "@storybook/react";
|
|
4
4
|
|
|
5
|
-
import { Badge, ContentGroup, HtmlContentBlock, IconButton, Tag } from "
|
|
5
|
+
import { Badge, ContentGroup, HtmlContentBlock, IconButton, Tag } from "../../components";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: "Components/ContentGroup",
|
|
@@ -2,8 +2,6 @@ import React from "react";
|
|
|
2
2
|
import classNames from "classnames";
|
|
3
3
|
import Color from "color";
|
|
4
4
|
|
|
5
|
-
import { TestableComponent } from "../../components/interfaces";
|
|
6
|
-
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
7
5
|
import {
|
|
8
6
|
Divider,
|
|
9
7
|
Icon,
|
|
@@ -17,7 +15,9 @@ import {
|
|
|
17
15
|
Toolbar,
|
|
18
16
|
ToolbarSection,
|
|
19
17
|
Tooltip,
|
|
20
|
-
} from "
|
|
18
|
+
} from "../../components";
|
|
19
|
+
import { TestableComponent } from "../../components/interfaces";
|
|
20
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
21
21
|
|
|
22
22
|
export interface ContentGroupProps extends Omit<React.HTMLAttributes<HTMLElement>, "title">, TestableComponent {
|
|
23
23
|
/**
|
|
@@ -60,3 +60,12 @@ $eccgui-color-scontentgroup-border-sub: eccgui-color-rgba(
|
|
|
60
60
|
flex-shrink: 1;
|
|
61
61
|
width: 100%;
|
|
62
62
|
}
|
|
63
|
+
|
|
64
|
+
@media print {
|
|
65
|
+
.#{$eccgui}-contentgroup__header__options {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
.#{$eccgui}-contentgroup--border-sub::after {
|
|
69
|
+
print-color-adjust: exact;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -2,7 +2,7 @@ import React, { ReactElement } from "react";
|
|
|
2
2
|
|
|
3
3
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
4
4
|
import { ValidIconName } from "../Icon/canonicalIconNames";
|
|
5
|
-
import IconButton from "../Icon/IconButton";
|
|
5
|
+
import { IconButton, IconButtonProps } from "../Icon/IconButton";
|
|
6
6
|
import { TestableComponent } from "../interfaces";
|
|
7
7
|
import Menu from "../Menu/Menu";
|
|
8
8
|
|
|
@@ -17,19 +17,24 @@ export interface ContextMenuProps extends TestableComponent {
|
|
|
17
17
|
* The elements of the context menu.
|
|
18
18
|
* They will be wrapped in a `Menu` element automatically.
|
|
19
19
|
*/
|
|
20
|
-
children?: JSX.Element | JSX.Element[];
|
|
20
|
+
children?: React.JSX.Element | React.JSX.Element[];
|
|
21
21
|
/**
|
|
22
22
|
* Toggler that need to be used to display menu.
|
|
23
23
|
* If a valid icon name is used then the icon element is displayed.
|
|
24
24
|
* In this case `togglerText`, `togglerLarge` and `tooltipAsTitle` are used, too.
|
|
25
25
|
*/
|
|
26
|
-
togglerElement?: ValidIconName | JSX.Element;
|
|
26
|
+
togglerElement?: ValidIconName | React.JSX.Element;
|
|
27
27
|
/**
|
|
28
28
|
* Text displayed as title or tooltip on toggler element.
|
|
29
29
|
*/
|
|
30
30
|
togglerText?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Allow to de- and increase the size of the default toggler button.
|
|
33
|
+
*/
|
|
34
|
+
togglerSize?: IconButtonProps["size"];
|
|
31
35
|
/**
|
|
32
36
|
* Toggler element is displayed larger than normal.
|
|
37
|
+
* @deprecated (v26) use `togglerSize="large" instead
|
|
33
38
|
*/
|
|
34
39
|
togglerLarge?: boolean;
|
|
35
40
|
/**
|
|
@@ -62,6 +67,7 @@ export const ContextMenu = ({
|
|
|
62
67
|
contextOverlayProps,
|
|
63
68
|
disabled,
|
|
64
69
|
togglerLarge = false,
|
|
70
|
+
togglerSize,
|
|
65
71
|
/* FIXME: The Tooltip component can interfere with the opened menu, since it is implemented via portal and may cover the menu,
|
|
66
72
|
so by default we use the title attribute instead of Tooltip. */
|
|
67
73
|
tooltipAsTitle = true,
|
|
@@ -76,7 +82,7 @@ export const ContextMenu = ({
|
|
|
76
82
|
tooltipAsTitle={tooltipAsTitle}
|
|
77
83
|
name={[togglerElement]}
|
|
78
84
|
text={togglerText}
|
|
79
|
-
|
|
85
|
+
size={togglerLarge ? "large" : togglerSize}
|
|
80
86
|
disabled={!!disabled}
|
|
81
87
|
data-test-id={dataTestId ?? undefined}
|
|
82
88
|
data-testid={dataTestid ?? undefined}
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
PopoverProps as BlueprintPopoverProps,
|
|
7
7
|
Utils as BlueprintUtils,
|
|
8
8
|
} from "@blueprintjs/core";
|
|
9
|
-
|
|
10
|
-
import {
|
|
9
|
+
import {WhiteSpaceContainerProps, WhiteSpaceContainer} from "../Typography";
|
|
10
|
+
import {CLASSPREFIX as eccgui} from "../../configuration/constants";
|
|
11
11
|
|
|
12
12
|
export interface ContextOverlayProps extends Omit<BlueprintPopoverProps, "position"> {
|
|
13
13
|
/**
|
|
14
14
|
* `target` element to use as toggler for the overlay display.
|
|
15
15
|
*/
|
|
16
|
-
children?: JSX.Element;
|
|
16
|
+
children?: React.JSX.Element;
|
|
17
17
|
/**
|
|
18
18
|
* Type of counter property to `Modal.forceTopPosition`.
|
|
19
19
|
* Use it when you need to display modal dialogs out of the context overlay.
|
|
@@ -24,6 +24,11 @@ export interface ContextOverlayProps extends Omit<BlueprintPopoverProps, "positi
|
|
|
24
24
|
* Currently experimental.
|
|
25
25
|
*/
|
|
26
26
|
usePlaceholder?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Adds white space to each side of the overlay content.
|
|
29
|
+
* For more control use `WhiteSpaceContainer` directly as wrapper for the content children.
|
|
30
|
+
*/
|
|
31
|
+
paddingSize?: WhiteSpaceContainerProps["paddingTop"];
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
/**
|
|
@@ -36,6 +41,8 @@ export const ContextOverlay = ({
|
|
|
36
41
|
preventTopPosition,
|
|
37
42
|
className = "",
|
|
38
43
|
usePlaceholder = false,
|
|
44
|
+
paddingSize,
|
|
45
|
+
content,
|
|
39
46
|
...otherPopoverProps
|
|
40
47
|
}: ContextOverlayProps) => {
|
|
41
48
|
const placeholderRef = React.useRef<HTMLElement>(null);
|
|
@@ -108,7 +115,7 @@ export const ContextOverlay = ({
|
|
|
108
115
|
return () => {};
|
|
109
116
|
}, [!!placeholderRef.current, otherPopoverProps.interactionKind]);
|
|
110
117
|
|
|
111
|
-
const refocus = React.useCallback((node) => {
|
|
118
|
+
const refocus = React.useCallback((node:any) => {
|
|
112
119
|
const target = node?.targetRef.current.children[0];
|
|
113
120
|
if (!eventMemory.current || !target) {
|
|
114
121
|
return;
|
|
@@ -169,6 +176,18 @@ export const ContextOverlay = ({
|
|
|
169
176
|
) : (
|
|
170
177
|
<BlueprintPopover
|
|
171
178
|
placement="bottom"
|
|
179
|
+
content={content ? (
|
|
180
|
+
paddingSize ? (
|
|
181
|
+
<WhiteSpaceContainer
|
|
182
|
+
paddingTop={paddingSize}
|
|
183
|
+
paddingRight={paddingSize}
|
|
184
|
+
paddingBottom={paddingSize}
|
|
185
|
+
paddingLeft={paddingSize}
|
|
186
|
+
>
|
|
187
|
+
{content}
|
|
188
|
+
</WhiteSpaceContainer>
|
|
189
|
+
) : content
|
|
190
|
+
) : undefined}
|
|
172
191
|
{...otherPopoverProps}
|
|
173
192
|
className={targetClassName}
|
|
174
193
|
portalClassName={portalClassNameFinal.trim() ?? undefined}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Meta, StoryFn } from "@storybook/react";
|
|
3
|
+
|
|
4
|
+
import { DecoupledOverlay, DecoupledOverlayProps, Tag, WhiteSpaceContainer } from "../../../index";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Components/DecoupledOverlay",
|
|
8
|
+
component: DecoupledOverlay,
|
|
9
|
+
argTypes: {},
|
|
10
|
+
} as Meta<typeof DecoupledOverlay>;
|
|
11
|
+
|
|
12
|
+
const Template: StoryFn<typeof DecoupledOverlay> = (args: DecoupledOverlayProps) => {
|
|
13
|
+
return (
|
|
14
|
+
<>
|
|
15
|
+
<Tag id={"decoupledTarget"}>Decoupled target</Tag>
|
|
16
|
+
<DecoupledOverlay {...args} />
|
|
17
|
+
</>
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const Default = Template.bind({});
|
|
22
|
+
|
|
23
|
+
Default.args = {
|
|
24
|
+
children: (
|
|
25
|
+
<WhiteSpaceContainer marginTop={"small"} marginRight={"small"} marginBottom={"small"} marginLeft={"small"}>
|
|
26
|
+
Decoupled overlay
|
|
27
|
+
</WhiteSpaceContainer>
|
|
28
|
+
),
|
|
29
|
+
targetSelectorOrElement: "#decoupledTarget",
|
|
30
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createPortal } from "react-dom";
|
|
3
|
+
import { Classes as BlueprintClasses } from "@blueprintjs/core";
|
|
4
|
+
import { createPopper } from "@popperjs/core";
|
|
5
|
+
import {TooltipSize} from "../Tooltip/Tooltip";
|
|
6
|
+
import {TestableComponent} from "../interfaces";
|
|
7
|
+
import {ContextOverlayProps} from "../ContextOverlay";
|
|
8
|
+
import {CLASSPREFIX as eccgui} from "../../configuration/constants";
|
|
9
|
+
import WhiteSpaceContainer from "../Typography/WhiteSpaceContainer";
|
|
10
|
+
|
|
11
|
+
export interface DecoupledOverlayProps
|
|
12
|
+
extends React.HTMLAttributes<HTMLDivElement>,
|
|
13
|
+
TestableComponent,
|
|
14
|
+
Pick<ContextOverlayProps, "usePortal" | "portalContainer" | "placement" | "minimal" | "paddingSize"> {
|
|
15
|
+
/**
|
|
16
|
+
* Element that should be used. The step content is displayed as a tooltip instead of a modal.
|
|
17
|
+
* In case of an array, the first match is highlighted. */
|
|
18
|
+
targetSelectorOrElement: string | Element;
|
|
19
|
+
/**
|
|
20
|
+
* The size of the overlay.
|
|
21
|
+
* */
|
|
22
|
+
size?: TooltipSize;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Use an overlay popover without the necessity to use a target that need to be rendered in place.
|
|
27
|
+
* The target is referenced by a selector string or element object.
|
|
28
|
+
* It can exist somewhere in the DOM, but it must exist when the overlay is rendered.
|
|
29
|
+
* It is always displayed, close it by removement.
|
|
30
|
+
*/
|
|
31
|
+
export const DecoupledOverlay = ({
|
|
32
|
+
targetSelectorOrElement,
|
|
33
|
+
usePortal = true,
|
|
34
|
+
portalContainer = document.body,
|
|
35
|
+
minimal = false,
|
|
36
|
+
placement = "auto",
|
|
37
|
+
size = "large",
|
|
38
|
+
paddingSize,
|
|
39
|
+
children,
|
|
40
|
+
}: DecoupledOverlayProps) => {
|
|
41
|
+
const overlayRef = React.useCallback(
|
|
42
|
+
(overlay: HTMLDivElement | null) => {
|
|
43
|
+
const target =
|
|
44
|
+
typeof targetSelectorOrElement === "string"
|
|
45
|
+
? document.querySelector(targetSelectorOrElement)
|
|
46
|
+
: targetSelectorOrElement;
|
|
47
|
+
if (overlay && target) {
|
|
48
|
+
createPopper(target, overlay, {
|
|
49
|
+
placement: placement,
|
|
50
|
+
modifiers: [
|
|
51
|
+
{
|
|
52
|
+
name: "offset",
|
|
53
|
+
options: {
|
|
54
|
+
offset: [0, 15],
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
[targetSelectorOrElement]
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
const overlay = (
|
|
65
|
+
<div
|
|
66
|
+
className={
|
|
67
|
+
`${eccgui}-decoupled-overlay` +
|
|
68
|
+
` ${eccgui}-decoupled-overlay--${size}` +
|
|
69
|
+
` ${BlueprintClasses.POPOVER}` +
|
|
70
|
+
(minimal ? ` ${BlueprintClasses.MINIMAL}` : "")
|
|
71
|
+
}
|
|
72
|
+
role="tooltip"
|
|
73
|
+
ref={overlayRef}
|
|
74
|
+
>
|
|
75
|
+
{!minimal && (
|
|
76
|
+
<div
|
|
77
|
+
className={`${eccgui}-decoupled-overlay__arrow ${BlueprintClasses.POPOVER_ARROW}`}
|
|
78
|
+
data-popper-arrow
|
|
79
|
+
aria-hidden
|
|
80
|
+
/>
|
|
81
|
+
)}
|
|
82
|
+
<div className={`${BlueprintClasses.POPOVER_CONTENT} ${eccgui}-decoupled-overlay__content`}>
|
|
83
|
+
{paddingSize ? (
|
|
84
|
+
<WhiteSpaceContainer
|
|
85
|
+
paddingTop={paddingSize}
|
|
86
|
+
paddingRight={paddingSize}
|
|
87
|
+
paddingBottom={paddingSize}
|
|
88
|
+
paddingLeft={paddingSize}
|
|
89
|
+
>
|
|
90
|
+
{children}
|
|
91
|
+
</WhiteSpaceContainer>
|
|
92
|
+
) : children}
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
return usePortal ? createPortal(overlay, portalContainer) : overlay;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export default DecoupledOverlay;
|