@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
|
@@ -29,3 +29,16 @@
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
|
|
33
|
+
.#{$eccgui}-radiobutton--hidden-indicator {
|
|
34
|
+
&:not(.#{$ns}-align-right) {
|
|
35
|
+
padding-inline-start: 0;
|
|
36
|
+
}
|
|
37
|
+
&:not(.#{$ns}-align-left) {
|
|
38
|
+
padding-inline-end: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
input ~ .#{$ns}-control-indicator {
|
|
42
|
+
visibility: hidden;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -356,3 +356,25 @@ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row + tr[data-child-row] {
|
|
|
356
356
|
min-height: $eccgui-size-tablecell-height-regular;
|
|
357
357
|
}
|
|
358
358
|
}
|
|
359
|
+
|
|
360
|
+
@media print {
|
|
361
|
+
.#{$eccgui}-simpletable:has(.#{$eccgui}-simpletable__cell > .#{$eccgui}-typography__overflowtext) {
|
|
362
|
+
// allow 2 lines of text in `<OverflowText />` elements that are direct children of table cells
|
|
363
|
+
.#{$eccgui}-simpletable__cell {
|
|
364
|
+
& > .#{$eccgui}-typography__overflowtext,
|
|
365
|
+
& > .#{$eccgui}-typography__overflowtext--passdown {
|
|
366
|
+
display: inline;
|
|
367
|
+
overflow: visible;
|
|
368
|
+
text-overflow: unset;
|
|
369
|
+
white-space: unset;
|
|
370
|
+
}
|
|
371
|
+
& > .#{$eccgui}-typography__overflowtext {
|
|
372
|
+
display: -webkit-box;
|
|
373
|
+
overflow: hidden;
|
|
374
|
+
-webkit-line-clamp: 2;
|
|
375
|
+
line-clamp: 2;
|
|
376
|
+
-webkit-box-orient: vertical;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Meta, StoryFn } from "@storybook/react";
|
|
3
3
|
|
|
4
|
-
import { Tabs, TabTitle as TabTitleOrg } from "./../../../";
|
|
4
|
+
import { Tabs, TabTitle as TabTitleOrg, TabTitleProps } from "./../../../";
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
title: "Components/Tabs/TabTitle",
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
argTypes: {},
|
|
10
10
|
} as Meta<typeof TabTitleOrg>;
|
|
11
11
|
|
|
12
|
-
const TabTitle = (args) => {
|
|
12
|
+
const TabTitle = (args: React.JSX.IntrinsicAttributes & TabTitleProps) => {
|
|
13
13
|
return (
|
|
14
14
|
<Tabs
|
|
15
15
|
id="titledemo"
|
|
@@ -31,3 +31,8 @@ TabTitleElement.args = {
|
|
|
31
31
|
titlePrefix: "[",
|
|
32
32
|
titleSuffix: <span>]</span>,
|
|
33
33
|
};
|
|
34
|
+
|
|
35
|
+
export const TabTitleSymbolElement = TemplateFull.bind({});
|
|
36
|
+
TabTitleSymbolElement.args = {
|
|
37
|
+
text: "★",
|
|
38
|
+
};
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
component: TagList,
|
|
9
9
|
argTypes: {
|
|
10
10
|
children: {
|
|
11
|
-
control:
|
|
11
|
+
control: false,
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
} as Meta<typeof TagList>;
|
|
@@ -18,5 +18,5 @@ const Template: StoryFn<typeof TagList> = (args) => <TagList {...args} />;
|
|
|
18
18
|
export const List = Template.bind({});
|
|
19
19
|
List.args = {
|
|
20
20
|
label: "Tag list",
|
|
21
|
-
children: [<Tag>Short</Tag>, <Tag>List</Tag>, <Tag>Of</Tag>, <Tag>Tags</Tag>],
|
|
21
|
+
children: [<Tag small>Short</Tag>, <Tag>List</Tag>, <Tag>Of</Tag>, <Tag large>Tags</Tag>],
|
|
22
22
|
};
|
|
@@ -30,12 +30,15 @@ $tag-round-adjustment: 0 !default;
|
|
|
30
30
|
@import "~@blueprintjs/core/src/components/tag/tag";
|
|
31
31
|
|
|
32
32
|
.#{$eccgui}-tag__item {
|
|
33
|
+
--eccgui-tag-border-width: 1px;
|
|
34
|
+
|
|
33
35
|
flex-grow: 0;
|
|
34
36
|
flex-shrink: 0;
|
|
35
37
|
min-width: calc(#{$tag-height} - 2px);
|
|
36
38
|
min-height: calc(#{$tag-height} - 2px);
|
|
37
39
|
max-height: calc(#{$tag-height} - 2px);
|
|
38
40
|
padding: 0 $tag-padding-top;
|
|
41
|
+
line-height: calc(#{$tag-height} - 2px);
|
|
39
42
|
|
|
40
43
|
&.#{$ns}-round {
|
|
41
44
|
border-radius: $tag-height * 0.5;
|
|
@@ -55,11 +58,12 @@ $tag-round-adjustment: 0 !default;
|
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
&.#{$eccgui}-tag--small {
|
|
58
|
-
min-width: calc(#{$tag-height-small} + #{$tag-padding-small}
|
|
59
|
-
min-height: calc(#{$tag-height-small} + #{$tag-padding-small}
|
|
60
|
-
max-height: calc(#{$tag-height-small} + #{$tag-padding-small}
|
|
61
|
+
min-width: calc(#{$tag-height-small} + #{$tag-padding-small});
|
|
62
|
+
min-height: calc(#{$tag-height-small} + #{$tag-padding-small});
|
|
63
|
+
max-height: calc(#{$tag-height-small} + #{$tag-padding-small});
|
|
61
64
|
padding: 0 $tag-padding-small;
|
|
62
|
-
|
|
65
|
+
font-size: calc(#{$eccgui-size-typo-tag} - 1px);
|
|
66
|
+
line-height: calc(#{$tag-height-small} + #{$tag-padding-small});
|
|
63
67
|
|
|
64
68
|
&.#{$ns}-round {
|
|
65
69
|
border-radius: $tag-height-small * 0.5;
|
|
@@ -75,7 +79,7 @@ $tag-round-adjustment: 0 !default;
|
|
|
75
79
|
min-height: calc(#{$tag-height-large} + #{$tag-padding-large} - 2px);
|
|
76
80
|
max-height: calc(#{$tag-height-large} + #{$tag-padding-large} - 2px);
|
|
77
81
|
font-size: $eccgui-size-typo-tag-large;
|
|
78
|
-
line-height: calc(#{$tag-height-large} - 2px);
|
|
82
|
+
line-height: calc(#{$tag-height-large} + #{$tag-padding-large} - 2px);
|
|
79
83
|
|
|
80
84
|
&.#{$ns}-round {
|
|
81
85
|
border-radius: $tag-height-large * 0.5;
|
|
@@ -138,7 +142,7 @@ $tag-round-adjustment: 0 !default;
|
|
|
138
142
|
|
|
139
143
|
.#{$ns}-tag {
|
|
140
144
|
border-style: solid;
|
|
141
|
-
border-width:
|
|
145
|
+
border-width: var(--eccgui-tag-border-width);
|
|
142
146
|
|
|
143
147
|
&:not([class*="#{$ns}-intent-"]) {
|
|
144
148
|
--eccgui-tag-bg: #{$tag-default-color};
|
|
@@ -151,7 +155,7 @@ $tag-round-adjustment: 0 !default;
|
|
|
151
155
|
var(--eccgui-tag-bg) var(--eccgui-tag-emfactor),
|
|
152
156
|
eccgui-color-var("identity", "background", "100")
|
|
153
157
|
);
|
|
154
|
-
border-color: var(--eccgui-tag-border);
|
|
158
|
+
border-color: eccgui-color-rgba(var(--eccgui-tag-border), calc(0.25 * var(--eccgui-tag-emfactor)));
|
|
155
159
|
|
|
156
160
|
&.#{$eccgui}-tag--strongeremphasis {
|
|
157
161
|
--eccgui-tag-emfactor: 95%;
|
|
@@ -211,7 +215,7 @@ $tag-round-adjustment: 0 !default;
|
|
|
211
215
|
var(--eccgui-tag-bg) var(--eccgui-tag-emfactor),
|
|
212
216
|
eccgui-color-var("identity", "background", "100")
|
|
213
217
|
);
|
|
214
|
-
border-color: var(--eccgui-tag-border);
|
|
218
|
+
border-color: eccgui-color-rgba(var(--eccgui-tag-border), calc(0.25 * var(--eccgui-tag-emfactor)));
|
|
215
219
|
|
|
216
220
|
&.#{$eccgui}-tag--strongeremphasis {
|
|
217
221
|
--eccgui-tag-emfactor: 100%;
|
|
@@ -231,7 +235,7 @@ $tag-round-adjustment: 0 !default;
|
|
|
231
235
|
|
|
232
236
|
&[class*="#{$eccgui}-intent--"] {
|
|
233
237
|
color: eccgui-color-rgba(var(--eccgui-tag-text), var(--eccgui-tag-emfactor));
|
|
234
|
-
border-color: eccgui-color-rgba(var(--eccgui-tag-border), var(--eccgui-tag-emfactor));
|
|
238
|
+
border-color: eccgui-color-rgba(var(--eccgui-tag-border), calc(0.25 * var(--eccgui-tag-emfactor)));
|
|
235
239
|
}
|
|
236
240
|
|
|
237
241
|
&.#{$eccgui}-intent--primary {
|
|
@@ -267,3 +271,9 @@ $tag-round-adjustment: 0 !default;
|
|
|
267
271
|
}
|
|
268
272
|
}
|
|
269
273
|
}
|
|
274
|
+
|
|
275
|
+
@media print {
|
|
276
|
+
.#{$eccgui}-tag__item {
|
|
277
|
+
print-color-adjust: exact;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {render, RenderResult} from "@testing-library/react";
|
|
2
|
+
import { render, RenderResult } from "@testing-library/react";
|
|
3
3
|
|
|
4
4
|
import "@testing-library/jest-dom";
|
|
5
5
|
|
|
@@ -9,10 +9,10 @@ import { Default as TextReducerStory } from "./TextReducer.stories";
|
|
|
9
9
|
describe("TextReducer", () => {
|
|
10
10
|
const textMustExist = (queryByText: RenderResult["queryByText"], text: string) => {
|
|
11
11
|
expect(queryByText(text, { exact: false })).not.toBeNull();
|
|
12
|
-
}
|
|
12
|
+
};
|
|
13
13
|
const textMustNotExist = (queryByText: RenderResult["queryByText"], text: string) => {
|
|
14
14
|
expect(queryByText(text, { exact: false })).toBeNull();
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
it("should display encoded HTML entities by default if they are used in the transformed markup", () => {
|
|
17
17
|
const { queryByText } = render(<TextReducer {...TextReducerStory.args} />);
|
|
18
18
|
textMustExist(queryByText, "'entities' & "quotes"");
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
4
|
+
import { TestableComponent } from "../interfaces";
|
|
5
|
+
|
|
6
|
+
export interface InlineTextProps extends React.HTMLAttributes<HTMLElement>, TestableComponent {
|
|
7
|
+
/**
|
|
8
|
+
* Additional CSS class name.
|
|
9
|
+
*/
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Forces all children to be displayed as inline content.
|
|
15
|
+
*/
|
|
16
|
+
export const InlineText = ({ className = "", children, ...otherProps }: InlineTextProps) => {
|
|
17
|
+
return (
|
|
18
|
+
<div {...otherProps} className={`${eccgui}-typography__inlinetext` + (className ? " " + className : "")}>
|
|
19
|
+
{children}
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default InlineText;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Meta, StoryFn } from "@storybook/react";
|
|
3
|
+
|
|
4
|
+
import { InlineText } from "../InlineText";
|
|
5
|
+
|
|
6
|
+
import overflowTextConfig from "./OverflowText.stories";
|
|
7
|
+
|
|
8
|
+
const config = {
|
|
9
|
+
title: "Components/Typography/InlineText",
|
|
10
|
+
component: InlineText,
|
|
11
|
+
argTypes: {
|
|
12
|
+
children: overflowTextConfig.argTypes?.children,
|
|
13
|
+
},
|
|
14
|
+
} as Meta<typeof InlineText>;
|
|
15
|
+
export default config;
|
|
16
|
+
|
|
17
|
+
const Template: StoryFn<typeof InlineText> = (args) => <InlineText {...args} />;
|
|
18
|
+
|
|
19
|
+
export const Default = Template.bind({});
|
|
20
|
+
Default.args = {
|
|
21
|
+
children: (
|
|
22
|
+
<div>
|
|
23
|
+
<div>Block line 1.</div>
|
|
24
|
+
<div>Block line 2.</div>
|
|
25
|
+
</div>
|
|
26
|
+
),
|
|
27
|
+
};
|
|
@@ -17,6 +17,11 @@ body {
|
|
|
17
17
|
text-rendering: optimizelegibility;
|
|
18
18
|
-webkit-font-smoothing: antialiased;
|
|
19
19
|
-moz-osx-font-smoothing: grayscale;
|
|
20
|
+
// User-facing text may contain Unicode symbols (e.g. "★") that fall outside the primary font stack.
|
|
21
|
+
// Browsers pick different system fallback fonts for such characters, causing glyphs to render at
|
|
22
|
+
// different optical sizes (smaller in Firefox). font-size-adjust normalises the fallback font size
|
|
23
|
+
// by matching the primary font's x-height, reducing the visual size discrepancy across browsers.
|
|
24
|
+
font-size-adjust: from-font;
|
|
20
25
|
}
|
|
21
26
|
|
|
22
27
|
code {
|
|
@@ -68,6 +73,11 @@ mark {
|
|
|
68
73
|
line-height: $eccgui-size-typo-caption-lineheight;
|
|
69
74
|
}
|
|
70
75
|
|
|
76
|
+
.#{$eccgui}-typography__contentblock.#{$eccgui}-typography--large {
|
|
77
|
+
font-size: $eccgui-size-typo-subtitle;
|
|
78
|
+
line-height: $eccgui-size-typo-subtitle-lineheight;
|
|
79
|
+
}
|
|
80
|
+
|
|
71
81
|
h1 {
|
|
72
82
|
.#{$eccgui}-typography__contentblock &,
|
|
73
83
|
&.#{$eccgui}-typography__text {
|
|
@@ -223,9 +233,9 @@ table {
|
|
|
223
233
|
max-width: 100%;
|
|
224
234
|
overflow: hidden;
|
|
225
235
|
text-overflow: ellipsis;
|
|
236
|
+
vertical-align: middle;
|
|
226
237
|
overflow-wrap: normal;
|
|
227
238
|
white-space: nowrap;
|
|
228
|
-
vertical-align: middle;
|
|
229
239
|
}
|
|
230
240
|
|
|
231
241
|
.#{$eccgui}-typography__overflowtext--inline {
|
|
@@ -241,8 +251,8 @@ table {
|
|
|
241
251
|
}
|
|
242
252
|
|
|
243
253
|
.#{$eccgui}-typography__overflowtext--ellipsis-reverse {
|
|
244
|
-
text-align: left;
|
|
245
254
|
text-overflow: ellipsis;
|
|
255
|
+
text-align: left;
|
|
246
256
|
direction: rtl;
|
|
247
257
|
unicode-bidi: embed;
|
|
248
258
|
|
|
@@ -263,6 +273,22 @@ table {
|
|
|
263
273
|
}
|
|
264
274
|
}
|
|
265
275
|
|
|
276
|
+
// InlineText
|
|
277
|
+
|
|
278
|
+
.#{$eccgui}-typography__inlinetext {
|
|
279
|
+
display: inline;
|
|
280
|
+
|
|
281
|
+
* {
|
|
282
|
+
display: inline;
|
|
283
|
+
|
|
284
|
+
& + * {
|
|
285
|
+
&::before {
|
|
286
|
+
content: " ";
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
266
292
|
// helpers
|
|
267
293
|
|
|
268
294
|
.#{$eccgui}-typography--nooverflow {
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { createPortal } from "react-dom";
|
|
3
|
-
import { Classes as BlueprintClasses } from "@blueprintjs/core";
|
|
4
|
-
import { createPopper } from "@popperjs/core";
|
|
5
3
|
|
|
6
4
|
import { CLASSPREFIX as eccgui } from "../../configuration/constants";
|
|
7
5
|
import {
|
|
@@ -14,6 +12,7 @@ import {
|
|
|
14
12
|
CardHeader,
|
|
15
13
|
CardOptions,
|
|
16
14
|
CardTitle,
|
|
15
|
+
DecoupledOverlay,
|
|
17
16
|
IconButton,
|
|
18
17
|
Markdown,
|
|
19
18
|
ModalSize,
|
|
@@ -130,7 +129,7 @@ export const VisualTour = ({
|
|
|
130
129
|
<Button
|
|
131
130
|
key={"next"}
|
|
132
131
|
variant="outlined"
|
|
133
|
-
|
|
132
|
+
elevated
|
|
134
133
|
onClick={() => {
|
|
135
134
|
setCurrentStepIndex(currentStepIndex + 1);
|
|
136
135
|
}}
|
|
@@ -144,7 +143,7 @@ export const VisualTour = ({
|
|
|
144
143
|
text={closeLabel}
|
|
145
144
|
onClick={closeTour}
|
|
146
145
|
variant="outlined"
|
|
147
|
-
|
|
146
|
+
elevated
|
|
148
147
|
rightIcon={"navigation-close"}
|
|
149
148
|
/>
|
|
150
149
|
),
|
|
@@ -292,25 +291,6 @@ interface StepPopoverProps {
|
|
|
292
291
|
|
|
293
292
|
/** Popover that is displayed and points at the highlighted element. */
|
|
294
293
|
const StepPopover = ({ highlightedElement, step, titleOption, actionButtons }: StepPopoverProps) => {
|
|
295
|
-
const tooltipRef = React.useCallback(
|
|
296
|
-
(tooltip: HTMLDivElement | null) => {
|
|
297
|
-
if (tooltip) {
|
|
298
|
-
createPopper(highlightedElement, tooltip, {
|
|
299
|
-
placement: "auto",
|
|
300
|
-
modifiers: [
|
|
301
|
-
{
|
|
302
|
-
name: "offset",
|
|
303
|
-
options: {
|
|
304
|
-
offset: [0, 15],
|
|
305
|
-
},
|
|
306
|
-
},
|
|
307
|
-
],
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
[highlightedElement]
|
|
312
|
-
);
|
|
313
|
-
|
|
314
294
|
const backdropRef = React.useCallback(
|
|
315
295
|
(backdrop: HTMLDivElement | null) => {
|
|
316
296
|
const highlightStencil = () => {
|
|
@@ -340,39 +320,39 @@ const StepPopover = ({ highlightedElement, step, titleOption, actionButtons }: S
|
|
|
340
320
|
[highlightedElement]
|
|
341
321
|
);
|
|
342
322
|
|
|
323
|
+
// map to only tooltip size because the `DecoupledOverlay` only supports them
|
|
324
|
+
let overlaySize: TooltipSize = "large";
|
|
325
|
+
switch (step.size) {
|
|
326
|
+
case "tiny":
|
|
327
|
+
overlaySize = "small";
|
|
328
|
+
break;
|
|
329
|
+
case "regular":
|
|
330
|
+
overlaySize = "medium";
|
|
331
|
+
break;
|
|
332
|
+
case "xlarge":
|
|
333
|
+
case "fullscreen":
|
|
334
|
+
overlaySize = "large";
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
|
|
343
338
|
return createPortal(
|
|
344
339
|
<div className={`${eccgui}-visual-tour`}>
|
|
345
340
|
<div className={`${eccgui}-visual-tour__focushelper`} ref={backdropRef} />
|
|
346
341
|
<div>
|
|
347
342
|
<div className={`${eccgui}-visual-tour__backdrop`} />
|
|
348
343
|
</div>
|
|
349
|
-
<
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
aria-hidden
|
|
362
|
-
/>
|
|
363
|
-
<div className={`${BlueprintClasses.POPOVER_CONTENT} ${eccgui}-visual-tour__overlay__content`}>
|
|
364
|
-
<Card isOnlyLayout elevation={-1} whitespaceAmount="small">
|
|
365
|
-
<CardHeader>
|
|
366
|
-
<CardTitle>{step.title}</CardTitle>
|
|
367
|
-
<CardOptions>{titleOption}</CardOptions>
|
|
368
|
-
</CardHeader>
|
|
369
|
-
<CardContent>
|
|
370
|
-
<StepContent step={step} />
|
|
371
|
-
</CardContent>
|
|
372
|
-
<CardActions inverseDirection>{actionButtons}</CardActions>
|
|
373
|
-
</Card>
|
|
374
|
-
</div>
|
|
375
|
-
</div>
|
|
344
|
+
<DecoupledOverlay targetSelectorOrElement={highlightedElement} size={overlaySize} usePortal={false}>
|
|
345
|
+
<Card isOnlyLayout elevation={-1} whitespaceAmount="small">
|
|
346
|
+
<CardHeader>
|
|
347
|
+
<CardTitle>{step.title}</CardTitle>
|
|
348
|
+
<CardOptions>{titleOption}</CardOptions>
|
|
349
|
+
</CardHeader>
|
|
350
|
+
<CardContent>
|
|
351
|
+
<StepContent step={step} />
|
|
352
|
+
</CardContent>
|
|
353
|
+
<CardActions inverseDirection>{actionButtons}</CardActions>
|
|
354
|
+
</Card>
|
|
355
|
+
</DecoupledOverlay>
|
|
376
356
|
</div>,
|
|
377
357
|
document.body
|
|
378
358
|
);
|
|
@@ -31,40 +31,6 @@
|
|
|
31
31
|
opacity: 0;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.#{$eccgui}-visual-tour__arrow {
|
|
35
|
-
&::before {
|
|
36
|
-
background: $card-background-color;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.#{$eccgui}-visual-tour__overlay[data-popper-placement="top"] & {
|
|
40
|
-
bottom: -0.5 * $eccgui-size-block-whitespace;
|
|
41
|
-
}
|
|
42
|
-
.#{$eccgui}-visual-tour__overlay[data-popper-placement="right"] & {
|
|
43
|
-
left: -0.5 * $eccgui-size-block-whitespace;
|
|
44
|
-
}
|
|
45
|
-
.#{$eccgui}-visual-tour__overlay[data-popper-placement="bottom"] & {
|
|
46
|
-
top: -0.5 * $eccgui-size-block-whitespace;
|
|
47
|
-
}
|
|
48
|
-
.#{$eccgui}-visual-tour__overlay[data-popper-placement="left"] & {
|
|
49
|
-
right: -0.5 * $eccgui-size-block-whitespace;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.#{$eccgui}-visual-tour__overlay {
|
|
54
|
-
z-index: 8002; // 2 over application header
|
|
55
|
-
&--small {
|
|
56
|
-
@extend .#{$eccgui}-tooltip--small;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&--medium {
|
|
60
|
-
@extend .#{$eccgui}-tooltip--medium;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&--large {
|
|
64
|
-
@extend .#{$eccgui}-tooltip--large;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
34
|
.#{$eccgui}-card__content {
|
|
69
35
|
.#{$eccgui}-visual-tour__overlay__content & {
|
|
70
36
|
max-height: 45vh;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
@import "./Card/card";
|
|
6
6
|
@import "./Chat/chat";
|
|
7
7
|
@import "./Checkbox/checkbox";
|
|
8
|
+
@import "./DecoupledOverlay/decoupledoverlay";
|
|
8
9
|
@import "./Depiction/depiction";
|
|
9
10
|
@import "./Dialog/dialog";
|
|
10
11
|
@import "./FlexibleLayout/flexiblelayout";
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
@import "./Tabs/tabs";
|
|
33
34
|
@import "./Tag/tag";
|
|
34
35
|
@import "./TextField/textfield";
|
|
36
|
+
@import "./ColorField/colorfield";
|
|
35
37
|
@import "./TagInput/taginput";
|
|
36
38
|
@import "./Toolbar/toolbar";
|
|
37
39
|
@import "./Tooltip/tooltip";
|
package/src/components/index.ts
CHANGED
|
@@ -7,8 +7,10 @@ export * from "./Card";
|
|
|
7
7
|
export * from "./Chat";
|
|
8
8
|
export * from "./Checkbox/Checkbox";
|
|
9
9
|
export * from "./CodeAutocompleteField";
|
|
10
|
+
export * from "./ColorField/ColorField";
|
|
10
11
|
export * from "./ContentGroup/ContentGroup";
|
|
11
12
|
export * from "./ContextOverlay";
|
|
13
|
+
export * from "./DecoupledOverlay/DecoupledOverlay";
|
|
12
14
|
export * from "./Depiction/Depiction";
|
|
13
15
|
export * from "./Dialog";
|
|
14
16
|
export * from "./FlexibleLayout";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We mirror our SCSS variables here to improve availability in inline styles
|
|
3
|
+
* and module styles without included SCSS config stack.
|
|
4
|
+
* Colors are set in `src/components/Application/_colors.scss`.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
:root {
|
|
8
|
+
--#{$eccgui}-size-typo-caption: #{$eccgui-size-typo-caption};
|
|
9
|
+
--#{$eccgui}-size-typo-caption-lineheight: #{$eccgui-size-typo-caption-lineheight};
|
|
10
|
+
--#{$eccgui}-size-typo-text: #{$eccgui-size-typo-text};
|
|
11
|
+
--#{$eccgui}-size-typo-text-lineheight: #{$eccgui-size-typo-text-lineheight};
|
|
12
|
+
--#{$eccgui}-size-typo-subtitle: #{$eccgui-size-typo-subtitle};
|
|
13
|
+
--#{$eccgui}-size-typo-subtitle-lineheight: #{$eccgui-size-typo-subtitle-lineheight};
|
|
14
|
+
--#{$eccgui}-size-typo-title: #{$eccgui-size-typo-title};
|
|
15
|
+
--#{$eccgui}-size-typo-title-lineheight: #{$eccgui-size-typo-title-lineheight};
|
|
16
|
+
--#{$eccgui}-size-typo-headline: #{$eccgui-size-typo-headline};
|
|
17
|
+
--#{$eccgui}-size-typo-headline-lineheight: #{$eccgui-size-typo-headline-lineheight};
|
|
18
|
+
--#{$eccgui}-font-weight-light: #{$eccgui-font-weight-light};
|
|
19
|
+
--#{$eccgui}-font-weight-regular: #{$eccgui-font-weight-regular};
|
|
20
|
+
--#{$eccgui}-font-weight-bold: #{$eccgui-font-weight-bold};
|
|
21
|
+
--#{$eccgui}-font-spacing-condensed: #{$eccgui-font-spacing-condensed};
|
|
22
|
+
--#{$eccgui}-font-spacing-regular: #{$eccgui-font-spacing-regular};
|
|
23
|
+
--#{$eccgui}-font-spacing-wide: #{$eccgui-font-spacing-wide};
|
|
24
|
+
--#{$eccgui}-size-block-whitespace: #{$eccgui-size-block-whitespace};
|
|
25
|
+
--#{$eccgui}-size-inline-whitespace: #{$eccgui-size-inline-whitespace};
|
|
26
|
+
--#{$eccgui}-opacity-regular: #{$eccgui-opacity-regular};
|
|
27
|
+
--#{$eccgui}-opacity-narrow: #{$eccgui-opacity-narrow};
|
|
28
|
+
--#{$eccgui}-opacity-muted: #{$eccgui-opacity-muted};
|
|
29
|
+
--#{$eccgui}-opacity-disabled: #{$eccgui-opacity-disabled};
|
|
30
|
+
--#{$eccgui}-opacity-ghostly: #{$eccgui-opacity-ghostly};
|
|
31
|
+
--#{$eccgui}-opacity-invisible: #{$eccgui-opacity-invisible};
|
|
32
|
+
}
|