@eccenca/gui-elements 25.0.0 → 25.1.0-featurev2510colorfield.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 +69 -0
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +17 -13
- package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.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 +1 -0
- package/dist/cjs/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +34 -11
- package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV12.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/colorHash.js +25 -11
- package/dist/cjs/common/utils/colorHash.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/ColorField/ColorField.js +115 -0
- package/dist/cjs/components/ColorField/ColorField.js.map +1 -0
- package/dist/cjs/components/ContextOverlay/ContextOverlay.js +6 -6
- package/dist/cjs/components/ContextOverlay/ContextOverlay.js.map +1 -1
- package/dist/cjs/components/DecoupledOverlay/DecoupledOverlay.js +47 -0
- package/dist/cjs/components/DecoupledOverlay/DecoupledOverlay.js.map +1 -0
- package/dist/cjs/components/Icon/IconButton.js.map +1 -1
- package/dist/cjs/components/Icon/canonicalIconNames.js +3 -0
- 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 +2 -1
- package/dist/cjs/components/MultiSelect/MultiSelect.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/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 +24 -32
- package/dist/cjs/components/VisualTour/VisualTour.js.map +1 -1
- package/dist/cjs/components/index.js +2 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/extensions/codemirror/CodeMirror.js +18 -6
- 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/react-flow/edges/EdgeLabel.js +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeLabel.js.map +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeNew.js +1 -1
- package/dist/cjs/extensions/react-flow/edges/EdgeNew.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/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/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/SilkActivityControl.js +1 -3
- package/dist/esm/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
- package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js +1 -0
- package/dist/esm/cmem/ContentBlobToggler/ContentBlobToggler.js.map +1 -1
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +32 -9
- package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
- package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV12.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/colorHash.js +25 -12
- package/dist/esm/common/utils/colorHash.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/ColorField/ColorField.js +141 -0
- package/dist/esm/components/ColorField/ColorField.js.map +1 -0
- package/dist/esm/components/ContextOverlay/ContextOverlay.js +3 -3
- package/dist/esm/components/ContextOverlay/ContextOverlay.js.map +1 -1
- package/dist/esm/components/DecoupledOverlay/DecoupledOverlay.js +41 -0
- package/dist/esm/components/DecoupledOverlay/DecoupledOverlay.js.map +1 -0
- package/dist/esm/components/Icon/IconButton.js.map +1 -1
- package/dist/esm/components/Icon/canonicalIconNames.js +3 -0
- 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 +3 -2
- package/dist/esm/components/MultiSelect/MultiSelect.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/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 +25 -33
- package/dist/esm/components/VisualTour/VisualTour.js.map +1 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/extensions/codemirror/CodeMirror.js +19 -7
- 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/react-flow/edges/EdgeLabel.js +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeLabel.js.map +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeNew.js +1 -1
- package/dist/esm/extensions/react-flow/edges/EdgeNew.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/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/nodeUtils.js.map +1 -1
- package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +9 -0
- package/dist/types/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.d.ts +26 -10
- package/dist/types/common/index.d.ts +2 -1
- package/dist/types/common/utils/colorHash.d.ts +4 -3
- package/dist/types/components/Application/ApplicationViewability.d.ts +36 -0
- package/dist/types/components/Application/index.d.ts +1 -0
- package/dist/types/components/ColorField/ColorField.d.ts +31 -0
- package/dist/types/components/ContextOverlay/ContextOverlay.d.ts +7 -1
- package/dist/types/components/DecoupledOverlay/DecoupledOverlay.d.ts +20 -0
- package/dist/types/components/Icon/IconButton.d.ts +1 -1
- package/dist/types/components/Icon/canonicalIconNames.d.ts +2 -0
- package/dist/types/components/Icon/transformIcon.d.ts +2 -0
- package/dist/types/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/types/components/RadioButton/RadioButton.d.ts +8 -2
- package/dist/types/components/Structure/TitleSubsection.d.ts +1 -1
- package/dist/types/components/Tabs/Tab.d.ts +2 -2
- 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 +2 -0
- package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +1 -1
- package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +1 -1
- package/package.json +50 -51
- package/src/cmem/ActivityControl/ActivityControlWidget.tsx +68 -35
- package/src/cmem/ActivityControl/SilkActivityControl.tsx +1 -1
- package/src/cmem/ContentBlobToggler/ContentBlobToggler.tsx +1 -1
- package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +66 -18
- package/src/cmem/ContentBlobToggler/stories/StringPreviewContentBlobToggler.stories.tsx +27 -0
- package/src/cmem/ContentBlobToggler/tests/StringPreviewContentBlobToggler.test.tsx +98 -0
- package/src/cmem/react-flow/ReactFlow/ReactFlowV12.tsx +1 -0
- package/src/common/Intent/index.ts +2 -1
- package/src/common/index.ts +2 -1
- package/src/common/utils/colorHash.ts +36 -18
- 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 +12 -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/tests/ApplicationViewability.test.tsx +43 -0
- package/src/components/AutoSuggestion/tests/ExtendedCodeEditor.test.tsx +1 -1
- package/src/components/Card/card.scss +6 -0
- package/src/components/Checkbox/checkbox.scss +14 -2
- package/src/components/ColorField/ColorField.stories.tsx +69 -0
- package/src/components/ColorField/ColorField.test.tsx +125 -0
- package/src/components/ColorField/ColorField.tsx +200 -0
- package/src/components/ColorField/_colorfield.scss +56 -0
- package/src/components/ContentGroup/_contentgroup.scss +9 -0
- package/src/components/ContextOverlay/ContextOverlay.tsx +20 -1
- package/src/components/DecoupledOverlay/DecoupledOverlay.stories.tsx +30 -0
- package/src/components/DecoupledOverlay/DecoupledOverlay.tsx +97 -0
- package/src/components/DecoupledOverlay/_decoupledoverlay.scss +46 -0
- package/src/components/Depiction/depiction.scss +6 -0
- package/src/components/FlexibleLayout/flexiblelayout.scss +16 -0
- package/src/components/Grid/grid.scss +17 -0
- package/src/components/Grid/stories/Grid.stories.tsx +10 -7
- package/src/components/Grid/stories/GridRow.stories.tsx +13 -7
- package/src/components/Icon/IconButton.tsx +1 -1
- package/src/components/Icon/canonicalIconNames.tsx +3 -0
- package/src/components/Icon/transformIcon.tsx +17 -0
- package/src/components/Link/Link.stories.tsx +30 -0
- package/src/components/Link/link.scss +28 -2
- package/src/components/MultiSelect/MultiSelect.tsx +12 -3
- package/src/components/Notification/notification.scss +6 -0
- package/src/components/OverviewItem/overviewitem.scss +9 -0
- package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +28 -0
- package/src/components/OverviewItem/stories/OverviewItemActions.stories.tsx +2 -2
- package/src/components/OverviewItem/stories/OverviewItemDescription.stories.tsx +1 -1
- package/src/components/OverviewItem/stories/OverviewItemLine.stories.tsx +1 -1
- package/src/components/PropertyValuePair/propertyvalue.scss +23 -1
- package/src/components/RadioButton/RadioButton.tsx +15 -3
- package/src/components/RadioButton/radiobutton.scss +13 -0
- package/src/components/Separation/separation.scss +6 -0
- package/src/components/Table/table.scss +22 -0
- package/src/components/Tabs/stories/TabTitle.stories.tsx +7 -2
- package/src/components/Tag/stories/TagList.stories.tsx +2 -2
- package/src/components/Tag/tag.scss +19 -9
- package/src/components/TextReducer/TextReducer.test.tsx +3 -3
- package/src/components/Typography/InlineText.tsx +24 -0
- package/src/components/Typography/_reset.scss +1 -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 +28 -2
- package/src/components/VisualTour/VisualTour.tsx +30 -50
- package/src/components/VisualTour/visualTour.scss +0 -34
- package/src/components/index.scss +2 -0
- package/src/components/index.ts +2 -0
- package/src/configuration/_customproperties.scss +32 -0
- package/src/configuration/stories/customproperties.stories.tsx +118 -0
- package/src/extensions/codemirror/CodeMirror.tsx +20 -9
- package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +1 -2
- package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +3 -3
- package/src/extensions/react-flow/_config.scss +3 -3
- package/src/extensions/react-flow/edges/EdgeLabel.tsx +5 -3
- package/src/extensions/react-flow/edges/EdgeNew.tsx +2 -1
- package/src/extensions/react-flow/edges/_edges.scss +3 -2
- package/src/extensions/react-flow/handles/HandleDefault.tsx +2 -2
- 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/_nodes.scss +4 -3
- package/src/extensions/react-flow/nodes/nodeUtils.tsx +1 -0
- package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +2 -2
- package/src/index.scss +1 -0
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
Utils as BlueprintUtils,
|
|
8
8
|
} from "@blueprintjs/core";
|
|
9
9
|
|
|
10
|
-
import { CLASSPREFIX as eccgui } from "../../
|
|
10
|
+
import { CLASSPREFIX as eccgui, WhiteSpaceContainer, WhiteSpaceContainerProps } from "../../index";
|
|
11
11
|
|
|
12
12
|
export interface ContextOverlayProps extends Omit<BlueprintPopoverProps, "position"> {
|
|
13
13
|
/**
|
|
@@ -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);
|
|
@@ -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,97 @@
|
|
|
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
|
+
|
|
6
|
+
import { CLASSPREFIX as eccgui, ContextOverlayProps, TestableComponent, TooltipSize, WhiteSpaceContainer } from "../../index";
|
|
7
|
+
|
|
8
|
+
export interface DecoupledOverlayProps
|
|
9
|
+
extends React.HTMLAttributes<HTMLDivElement>,
|
|
10
|
+
TestableComponent,
|
|
11
|
+
Pick<ContextOverlayProps, "usePortal" | "portalContainer" | "placement" | "minimal" | "paddingSize"> {
|
|
12
|
+
/**
|
|
13
|
+
* Element that should be used. The step content is displayed as a tooltip instead of a modal.
|
|
14
|
+
* In case of an array, the first match is highlighted. */
|
|
15
|
+
targetSelectorOrElement: string | Element;
|
|
16
|
+
/**
|
|
17
|
+
* The size of the overlay.
|
|
18
|
+
* */
|
|
19
|
+
size?: TooltipSize;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Use an overlay popover without the necessity to use a target that need to be rendered in place.
|
|
24
|
+
* The target is referenced by a selector string or element object.
|
|
25
|
+
* It can exist somewhere in the DOM, but it must exist when the overlay is rendered.
|
|
26
|
+
* It is always displayed, close it by removement.
|
|
27
|
+
*/
|
|
28
|
+
export const DecoupledOverlay = ({
|
|
29
|
+
targetSelectorOrElement,
|
|
30
|
+
usePortal = true,
|
|
31
|
+
portalContainer = document.body,
|
|
32
|
+
minimal = false,
|
|
33
|
+
placement = "auto",
|
|
34
|
+
size = "large",
|
|
35
|
+
paddingSize,
|
|
36
|
+
children,
|
|
37
|
+
}: DecoupledOverlayProps) => {
|
|
38
|
+
const overlayRef = React.useCallback(
|
|
39
|
+
(overlay: HTMLDivElement | null) => {
|
|
40
|
+
const target =
|
|
41
|
+
typeof targetSelectorOrElement === "string"
|
|
42
|
+
? document.querySelector(targetSelectorOrElement)
|
|
43
|
+
: targetSelectorOrElement;
|
|
44
|
+
if (overlay && target) {
|
|
45
|
+
createPopper(target, overlay, {
|
|
46
|
+
placement: placement,
|
|
47
|
+
modifiers: [
|
|
48
|
+
{
|
|
49
|
+
name: "offset",
|
|
50
|
+
options: {
|
|
51
|
+
offset: [0, 15],
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
[targetSelectorOrElement]
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
const overlay = (
|
|
62
|
+
<div
|
|
63
|
+
className={
|
|
64
|
+
`${eccgui}-decoupled-overlay` +
|
|
65
|
+
` ${eccgui}-decoupled-overlay--${size}` +
|
|
66
|
+
` ${BlueprintClasses.POPOVER}` +
|
|
67
|
+
(minimal ? ` ${BlueprintClasses.MINIMAL}` : "")
|
|
68
|
+
}
|
|
69
|
+
role="tooltip"
|
|
70
|
+
ref={overlayRef}
|
|
71
|
+
>
|
|
72
|
+
{!minimal && (
|
|
73
|
+
<div
|
|
74
|
+
className={`${eccgui}-decoupled-overlay__arrow ${BlueprintClasses.POPOVER_ARROW}`}
|
|
75
|
+
data-popper-arrow
|
|
76
|
+
aria-hidden
|
|
77
|
+
/>
|
|
78
|
+
)}
|
|
79
|
+
<div className={`${BlueprintClasses.POPOVER_CONTENT} ${eccgui}-decoupled-overlay__content`}>
|
|
80
|
+
{paddingSize ? (
|
|
81
|
+
<WhiteSpaceContainer
|
|
82
|
+
paddingTop={paddingSize}
|
|
83
|
+
paddingRight={paddingSize}
|
|
84
|
+
paddingBottom={paddingSize}
|
|
85
|
+
paddingLeft={paddingSize}
|
|
86
|
+
>
|
|
87
|
+
{children}
|
|
88
|
+
</WhiteSpaceContainer>
|
|
89
|
+
) : children}
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
return usePortal ? createPortal(overlay, portalContainer) : overlay;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default DecoupledOverlay;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
.#{$eccgui}-decoupled-overlay__arrow {
|
|
2
|
+
&::before {
|
|
3
|
+
background: $card-background-color;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.#{$eccgui}-decoupled-overlay[data-popper-placement="top"] & {
|
|
7
|
+
bottom: -0.5 * $eccgui-size-block-whitespace;
|
|
8
|
+
}
|
|
9
|
+
.#{$eccgui}-decoupled-overlay[data-popper-placement="right"] & {
|
|
10
|
+
left: -0.5 * $eccgui-size-block-whitespace;
|
|
11
|
+
}
|
|
12
|
+
.#{$eccgui}-decoupled-overlay[data-popper-placement="bottom"] & {
|
|
13
|
+
top: -0.5 * $eccgui-size-block-whitespace;
|
|
14
|
+
}
|
|
15
|
+
.#{$eccgui}-decoupled-overlay[data-popper-placement="left"] & {
|
|
16
|
+
right: -0.5 * $eccgui-size-block-whitespace;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.#{$eccgui}-decoupled-overlay {
|
|
21
|
+
&.#{$prefix-blueprintjs}-popover {
|
|
22
|
+
z-index: 8001;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&--small {
|
|
26
|
+
@extend .#{$eccgui}-tooltip--small;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&--medium {
|
|
30
|
+
@extend .#{$eccgui}-tooltip--medium;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&--large {
|
|
34
|
+
@extend .#{$eccgui}-tooltip--large;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:has(.#{$eccgui}-decoupled-overlay__arrow) {
|
|
38
|
+
.#{$eccgui}-decoupled-overlay__content {
|
|
39
|
+
min-height: 30px; // height of blueprint arrow
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.#{$eccgui}-decoupled-overlay__content {
|
|
45
|
+
padding: 0.1px; // force margins of children to stay inside
|
|
46
|
+
}
|
|
@@ -46,3 +46,19 @@
|
|
|
46
46
|
flex-basis: auto;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
|
|
50
|
+
@media print {
|
|
51
|
+
.#{$eccgui}-flexible__container,
|
|
52
|
+
.#{$eccgui}-flexible__item {
|
|
53
|
+
position: relative;
|
|
54
|
+
display: block;
|
|
55
|
+
width: auto;
|
|
56
|
+
height: auto;
|
|
57
|
+
padding: 0;
|
|
58
|
+
margin: 0;
|
|
59
|
+
|
|
60
|
+
&:is(.#{$eccgui}-flexible__item) {
|
|
61
|
+
margin-bottom: $eccgui-size-block-whitespace;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -86,3 +86,20 @@ $grid-gutter: rem($eccgui-size-grid-gutter);
|
|
|
86
86
|
flex-wrap: nowrap;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
+
|
|
90
|
+
@media print {
|
|
91
|
+
.#{$eccgui}-grid,
|
|
92
|
+
.#{$eccgui}-grid__row,
|
|
93
|
+
.#{$eccgui}-grid__column {
|
|
94
|
+
position: relative;
|
|
95
|
+
display: block;
|
|
96
|
+
width: auto;
|
|
97
|
+
height: auto;
|
|
98
|
+
padding: 0;
|
|
99
|
+
margin: 0;
|
|
100
|
+
|
|
101
|
+
&:is(.#{$eccgui}-grid__column) {
|
|
102
|
+
margin-bottom: $eccgui-size-block-whitespace;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -11,19 +11,22 @@ export default {
|
|
|
11
11
|
subcomponents: { GridRow, GridColumn },
|
|
12
12
|
argTypes: {
|
|
13
13
|
children: {
|
|
14
|
-
control:
|
|
14
|
+
control: false,
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
|
+
decorators: [
|
|
18
|
+
(Story) => (
|
|
19
|
+
<div style={{ minHeight: "30vh", position: "relative" }}>
|
|
20
|
+
<Story />
|
|
21
|
+
</div>
|
|
22
|
+
),
|
|
23
|
+
],
|
|
17
24
|
} as Meta<typeof Grid>;
|
|
18
25
|
|
|
19
|
-
const Template: StoryFn<typeof Grid> = (args) =>
|
|
20
|
-
<div style={{ minHeight: "30vh", position: "relative" }}>
|
|
21
|
-
<Grid {...args} />
|
|
22
|
-
</div>
|
|
23
|
-
);
|
|
26
|
+
const Template: StoryFn<typeof Grid> = (args) => <Grid {...args} />;
|
|
24
27
|
|
|
25
28
|
export const Default = Template.bind({});
|
|
26
29
|
Default.args = {
|
|
27
|
-
children: <GridRow {...RowExample.args} verticalStretched />,
|
|
30
|
+
children: [<GridRow {...RowExample.args} verticalStretched />, <GridRow {...RowExample.args} verticalStretched />],
|
|
28
31
|
verticalStretchable: true,
|
|
29
32
|
};
|
|
@@ -10,21 +10,27 @@ export default {
|
|
|
10
10
|
component: GridRow,
|
|
11
11
|
argTypes: {
|
|
12
12
|
children: {
|
|
13
|
-
control:
|
|
13
|
+
control: false,
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
16
|
} as Meta<typeof GridRow>;
|
|
17
17
|
|
|
18
|
-
const Template: StoryFn<typeof GridRow> = (args) =>
|
|
19
|
-
<Grid style={{ minHeight: "30vh" }} verticalStretchable>
|
|
20
|
-
<GridRow {...args} />
|
|
21
|
-
</Grid>
|
|
22
|
-
);
|
|
18
|
+
const Template: StoryFn<typeof GridRow> = (args) => <GridRow {...args} />;
|
|
23
19
|
|
|
24
20
|
export const Default = Template.bind({});
|
|
25
21
|
Default.args = {
|
|
26
|
-
children:
|
|
22
|
+
children: [
|
|
23
|
+
<GridColumn {...ColumnExample.args} verticalAlign="center" key="col1" />,
|
|
24
|
+
<GridColumn {...ColumnExample.args} verticalAlign="center" key="col1" />,
|
|
25
|
+
],
|
|
27
26
|
};
|
|
27
|
+
Default.decorators = [
|
|
28
|
+
(Story) => (
|
|
29
|
+
<Grid style={{ minHeight: "30vh" }} verticalStretchable>
|
|
30
|
+
<Story />
|
|
31
|
+
</Grid>
|
|
32
|
+
),
|
|
33
|
+
];
|
|
28
34
|
|
|
29
35
|
const TemplateStretched: StoryFn<typeof GridRow> = (args) => (
|
|
30
36
|
<Grid style={{ minHeight: "50vh" }} verticalStretchable>
|
|
@@ -2,11 +2,11 @@ import React from "react";
|
|
|
2
2
|
|
|
3
3
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
4
4
|
import Button, { ButtonProps } from "../Button/Button";
|
|
5
|
+
import {TestableComponent} from "../interfaces";
|
|
5
6
|
|
|
6
7
|
import { ValidIconName } from "./canonicalIconNames";
|
|
7
8
|
import Icon, { IconProps } from "./Icon";
|
|
8
9
|
import { TestIconProps } from "./TestIcon";
|
|
9
|
-
import {TestableComponent} from "../interfaces";
|
|
10
10
|
|
|
11
11
|
interface ExtendedButtonProps
|
|
12
12
|
extends Omit<ButtonProps, "name" | "icon" | "rightIcon" | "text" | "minimal" | "tooltip">, TestableComponent {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as icons from "@carbon/react/icons";
|
|
2
2
|
import { CarbonIconType as IconType } from "@carbon/react/icons";
|
|
3
|
+
import { transform} from "./transformIcon";
|
|
3
4
|
|
|
4
5
|
const canonicalIcons = {
|
|
5
6
|
"application-activities": icons.Activity,
|
|
@@ -172,8 +173,10 @@ const canonicalIcons = {
|
|
|
172
173
|
"state-checked": icons.CheckboxChecked,
|
|
173
174
|
"state-checkedsimple": icons.Checkmark,
|
|
174
175
|
"state-confirmed": icons.ThumbsUp,
|
|
176
|
+
"state-confirmed-all": icons.ThumbsUpDouble,
|
|
175
177
|
"state-danger": icons.ErrorFilled,
|
|
176
178
|
"state-declined": icons.ThumbsDown,
|
|
179
|
+
"state-declined-all": transform(icons.ThumbsUpDouble, 0, false, true),
|
|
177
180
|
"state-flagged": icons.Flag,
|
|
178
181
|
"state-info": icons.InformationFilled,
|
|
179
182
|
"state-locked": icons.Locked,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CarbonIconType, CarbonIconProps } from "@carbon/react/icons";
|
|
3
|
+
|
|
4
|
+
export const transform = (IconSymbol: CarbonIconType, rotate: number = 0, flipH: boolean = false, flipV: boolean = false) : CarbonIconType => {
|
|
5
|
+
return React.forwardRef((props: CarbonIconProps, ref: React.ForwardedRef<React.ReactSVGElement>) => {
|
|
6
|
+
return (
|
|
7
|
+
<IconSymbol
|
|
8
|
+
{...props}
|
|
9
|
+
ref={ref}
|
|
10
|
+
transform={
|
|
11
|
+
`scale(${flipH ? "-1" : "1"}, ${flipV ? "-1" : "1"}) rotate(${rotate})`
|
|
12
|
+
}
|
|
13
|
+
/>
|
|
14
|
+
);
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Meta, StoryFn } from "@storybook/react";
|
|
3
|
+
|
|
4
|
+
import { Link } from "../../../index";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Components/Link",
|
|
8
|
+
component: Link,
|
|
9
|
+
argTypes: {
|
|
10
|
+
target: {
|
|
11
|
+
control: "select",
|
|
12
|
+
options: ["_self", "_blank", "_parent", "_top"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
} as Meta<typeof Link>;
|
|
16
|
+
|
|
17
|
+
const Template: StoryFn<typeof Link> = (args) => <Link {...args} />;
|
|
18
|
+
|
|
19
|
+
export const Default = Template.bind({});
|
|
20
|
+
Default.args = {
|
|
21
|
+
children: "Example link",
|
|
22
|
+
href: "https://example.com/",
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const Disabled = Template.bind({});
|
|
26
|
+
Disabled.args = {
|
|
27
|
+
children: "Disabled link",
|
|
28
|
+
href: "https://example.com/",
|
|
29
|
+
disabled: true,
|
|
30
|
+
};
|
|
@@ -2,8 +2,34 @@
|
|
|
2
2
|
@include link.link;
|
|
3
3
|
|
|
4
4
|
.#{$prefix}--link {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
&,
|
|
6
|
+
&:hover {
|
|
7
|
+
// default case: use font size from context
|
|
8
|
+
font-size: inherit;
|
|
9
|
+
line-height: inherit;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&.#{$prefix}--link--sm {
|
|
13
|
+
&,
|
|
14
|
+
&:hover {
|
|
15
|
+
font-size: $eccgui-size-typo-caption;
|
|
16
|
+
line-height: $eccgui-size-typo-caption-lineheight;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
&.#{$prefix}--link--md {
|
|
20
|
+
&,
|
|
21
|
+
&:hover {
|
|
22
|
+
font-size: $eccgui-size-typo-text;
|
|
23
|
+
line-height: $eccgui-size-typo-text-lineheight;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
&.#{$prefix}--link--lg {
|
|
27
|
+
&,
|
|
28
|
+
&:hover {
|
|
29
|
+
font-size: $eccgui-size-typo-subtitle;
|
|
30
|
+
line-height: $eccgui-size-typo-subtitle-lineheight;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
7
33
|
|
|
8
34
|
&:focus {
|
|
9
35
|
outline: none;
|
|
@@ -10,7 +10,15 @@ import { removeExtraSpaces } from "../../common/utils/stringUtils";
|
|
|
10
10
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
11
11
|
import { TestableComponent } from "../interfaces";
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
ContextOverlayProps,
|
|
15
|
+
Highlighter,
|
|
16
|
+
highlighterUtils,
|
|
17
|
+
IconButton,
|
|
18
|
+
MenuItem,
|
|
19
|
+
OverflowText,
|
|
20
|
+
Spinner
|
|
21
|
+
} from "./../../index";
|
|
14
22
|
|
|
15
23
|
export interface MultiSuggestFieldSelectionProps<T> {
|
|
16
24
|
newlySelected?: T;
|
|
@@ -53,7 +61,7 @@ interface MultiSuggestFieldCommonProps<T>
|
|
|
53
61
|
/**
|
|
54
62
|
* prop to listen for query changes, when text is entered in the multi-select input
|
|
55
63
|
*/
|
|
56
|
-
runOnQueryChange?: (query: string) => Promise<T[] | undefined
|
|
64
|
+
runOnQueryChange?: (query: string) => Promise<T[] | undefined> | (T[] | undefined);
|
|
57
65
|
/**
|
|
58
66
|
* Whether the component should take up the full width of its container.
|
|
59
67
|
* This overrides `tagInputProps.fill`.
|
|
@@ -265,7 +273,8 @@ export function MultiSuggestField<T>({
|
|
|
265
273
|
};
|
|
266
274
|
|
|
267
275
|
const defaultFilterPredicate = (item: T, query: string) => {
|
|
268
|
-
|
|
276
|
+
const searchWords = highlighterUtils.extractSearchWords(query, true)
|
|
277
|
+
return highlighterUtils.matchesAllWords(itemLabel(item).toLowerCase(), searchWords)
|
|
269
278
|
};
|
|
270
279
|
|
|
271
280
|
/**
|
|
@@ -197,3 +197,12 @@ $eccgui-size-overviewitem-line-typo-large-lineheight: $eccgui-size-typo-subtitle
|
|
|
197
197
|
display: flex;
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
+
|
|
201
|
+
@media print {
|
|
202
|
+
.#{$eccgui}-overviewitem__actions {
|
|
203
|
+
display: none;
|
|
204
|
+
}
|
|
205
|
+
.#{$eccgui}-overviewitem__depiction {
|
|
206
|
+
print-color-adjust: exact;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -6,15 +6,20 @@ import {
|
|
|
6
6
|
Badge,
|
|
7
7
|
Card,
|
|
8
8
|
Depiction,
|
|
9
|
+
OverflowText,
|
|
9
10
|
OverviewItem,
|
|
10
11
|
OverviewItemActions,
|
|
11
12
|
OverviewItemDepiction,
|
|
12
13
|
OverviewItemDescription,
|
|
14
|
+
OverviewItemLine,
|
|
15
|
+
Tag,
|
|
16
|
+
TagList,
|
|
13
17
|
} from "./../../../../index";
|
|
14
18
|
import { FullExample as OtherDepictionExample } from "./../../Depiction/stories/Depiction.stories";
|
|
15
19
|
import { Default as ActionsExample } from "./OverviewItemActions.stories";
|
|
16
20
|
import { AutoTransform as DepictionExample } from "./OverviewItemDepiction.stories";
|
|
17
21
|
import { Default as DescriptionExample } from "./OverviewItemDescription.stories";
|
|
22
|
+
import { Default as LineExample } from "./OverviewItemLine.stories";
|
|
18
23
|
|
|
19
24
|
export default {
|
|
20
25
|
title: "Components/OverviewItem",
|
|
@@ -76,3 +81,26 @@ ItemWithDepictionElement.args = {
|
|
|
76
81
|
hasSpacing: true,
|
|
77
82
|
hasCardWrapper: true,
|
|
78
83
|
};
|
|
84
|
+
|
|
85
|
+
export const ItemWithTags = Template.bind({});
|
|
86
|
+
ItemWithTags.args = {
|
|
87
|
+
children: [
|
|
88
|
+
<OverviewItemDepiction {...DepictionExample.args} key={"depiction"} />,
|
|
89
|
+
<OverviewItemDescription key={"description"}>
|
|
90
|
+
<OverviewItemLine {...LineExample.args} />
|
|
91
|
+
<OverviewItemLine small>
|
|
92
|
+
<OverflowText>
|
|
93
|
+
<TagList>
|
|
94
|
+
<Tag small>Test</Tag>
|
|
95
|
+
<Tag small>Tag</Tag>
|
|
96
|
+
<Tag small>List</Tag>
|
|
97
|
+
</TagList>
|
|
98
|
+
</OverflowText>
|
|
99
|
+
</OverviewItemLine>
|
|
100
|
+
</OverviewItemDescription>,
|
|
101
|
+
<OverviewItemActions children={ActionsExample.args.children[0]} key={"actions"} />,
|
|
102
|
+
],
|
|
103
|
+
densityHigh: false,
|
|
104
|
+
hasSpacing: true,
|
|
105
|
+
hasCardWrapper: true,
|
|
106
|
+
};
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
subcomponents: { Button, IconButton, ContextMenu },
|
|
10
10
|
argTypes: {
|
|
11
11
|
children: {
|
|
12
|
-
control:
|
|
12
|
+
control: false,
|
|
13
13
|
description: "User-interactive elements.",
|
|
14
14
|
},
|
|
15
15
|
},
|
|
@@ -20,7 +20,7 @@ const Template: StoryFn<typeof OverviewItemActions> = (args) => <OverviewItemAct
|
|
|
20
20
|
export const Default = Template.bind({});
|
|
21
21
|
Default.args = {
|
|
22
22
|
children: [
|
|
23
|
-
<IconButton name="item-remove"
|
|
23
|
+
<IconButton name="item-remove" text="Remove this item" disruptive />,
|
|
24
24
|
<Button affirmative>Other action</Button>,
|
|
25
25
|
],
|
|
26
26
|
};
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.#{$eccgui}-propertyvalue__pair {
|
|
8
|
+
clear: both;
|
|
8
9
|
display: block;
|
|
9
10
|
width: 100%;
|
|
10
|
-
clear: both;
|
|
11
11
|
|
|
12
12
|
&.#{$eccgui}-propertyvalue__pair--hasdivider {
|
|
13
13
|
&:not(:last-child) {
|
|
@@ -94,3 +94,25 @@
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
|
|
98
|
+
@media print {
|
|
99
|
+
.#{$eccgui}-propertyvalue__pair,
|
|
100
|
+
.#{$eccgui}-propertyvalue__property,
|
|
101
|
+
.#{$eccgui}-propertyvalue__value {
|
|
102
|
+
position: relative;
|
|
103
|
+
float: none !important;
|
|
104
|
+
display: block;
|
|
105
|
+
width: auto;
|
|
106
|
+
height: auto;
|
|
107
|
+
min-height: 0 !important;
|
|
108
|
+
padding: 0;
|
|
109
|
+
margin: 0 !important;
|
|
110
|
+
|
|
111
|
+
&:is(.#{$eccgui}-propertyvalue__property) {
|
|
112
|
+
margin-bottom: 0.25 * $eccgui-size-block-whitespace !important;
|
|
113
|
+
}
|
|
114
|
+
&:is(.#{$eccgui}-propertyvalue__pair) {
|
|
115
|
+
margin-bottom: 0.5 * $eccgui-size-block-whitespace !important;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Radio as BlueprintRadioButton, RadioProps as BlueprintRadioProps } from "@blueprintjs/core";
|
|
3
|
+
import classNames from "classnames";
|
|
3
4
|
|
|
4
5
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
5
6
|
|
|
6
|
-
export
|
|
7
|
+
export interface RadioButtonProps extends BlueprintRadioProps {
|
|
8
|
+
/**
|
|
9
|
+
* Hide the indicator.
|
|
10
|
+
* The element cannot be identified as radio input then but a click on the children can be easily processed via `onChange` event.
|
|
11
|
+
*/
|
|
12
|
+
hideIndicator?: boolean;
|
|
13
|
+
}
|
|
7
14
|
|
|
8
|
-
export const RadioButton = ({ children, className = "", ...restProps }: RadioButtonProps) => {
|
|
15
|
+
export const RadioButton = ({ children, className = "", hideIndicator = false, ...restProps }: RadioButtonProps) => {
|
|
9
16
|
return (
|
|
10
|
-
<BlueprintRadioButton
|
|
17
|
+
<BlueprintRadioButton
|
|
18
|
+
{...restProps}
|
|
19
|
+
className={classNames(`${eccgui}-radiobutton`, className, {
|
|
20
|
+
[`${eccgui}-radiobutton--hidden-indicator`]: hideIndicator,
|
|
21
|
+
})}
|
|
22
|
+
>
|
|
11
23
|
{children}
|
|
12
24
|
</BlueprintRadioButton>
|
|
13
25
|
);
|