@workday/canvas-kit-react 11.0.0-alpha.726-next.0 → 11.0.0-alpha.758-next.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/breadcrumbs/lib/BreadcrumbsItem.tsx +1 -1
- package/breadcrumbs/lib/BreadcrumbsOverflowButton.tsx +1 -1
- package/button/lib/BaseButton.tsx +16 -1
- package/button/lib/DeleteButton.tsx +12 -11
- package/button/lib/ExternalHyperlink.tsx +1 -1
- package/button/lib/PrimaryButton.tsx +52 -45
- package/button/lib/SecondaryButton.tsx +58 -75
- package/button/lib/TertiaryButton.tsx +63 -54
- package/collection/lib/ListBox.tsx +9 -3
- package/combobox/lib/ComboboxMenuList.tsx +3 -4
- package/dist/commonjs/badge/lib/CountBadge.js +6 -6
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
- package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/BaseButton.js +18 -17
- package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/DeleteButton.js +2 -1
- package/dist/commonjs/button/lib/ExternalHyperlink.js +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.js +3 -2
- package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/SecondaryButton.js +3 -2
- package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/TertiaryButton.js +16 -15
- package/dist/commonjs/card/lib/Card.js +1 -1
- package/dist/commonjs/card/lib/CardHeading.js +1 -1
- package/dist/commonjs/checkbox/lib/CheckBackground.js +5 -5
- package/dist/commonjs/checkbox/lib/CheckboxCheck.js +9 -9
- package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
- package/dist/commonjs/checkbox/lib/CheckboxInput.js +11 -11
- package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
- package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/ListBox.js +14 -8
- package/dist/commonjs/combobox/lib/ComboboxMenuItem.js +4 -4
- package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts.map +1 -1
- package/dist/commonjs/combobox/lib/ComboboxMenuList.js +4 -5
- package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
- package/dist/commonjs/common/lib/CanvasProvider.js +1 -1
- package/dist/commonjs/icon/index.d.ts +1 -1
- package/dist/commonjs/icon/index.d.ts.map +1 -1
- package/dist/commonjs/icon/index.js +4 -1
- package/dist/commonjs/icon/lib/AccentIcon.d.ts +30 -4
- package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/AccentIcon.js +28 -4
- package/dist/commonjs/icon/lib/AppletIcon.d.ts +31 -2
- package/dist/commonjs/icon/lib/AppletIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/AppletIcon.js +27 -4
- package/dist/commonjs/icon/lib/Graphic.d.ts +20 -1
- package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/Graphic.js +25 -3
- package/dist/commonjs/icon/lib/Svg.d.ts +12 -2
- package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/Svg.js +25 -10
- package/dist/commonjs/icon/lib/SystemIcon.d.ts +79 -16
- package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIcon.js +51 -14
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +2 -3
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.js +20 -30
- package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
- package/dist/commonjs/menu/lib/MenuCard.js +2 -2
- package/dist/commonjs/menu/lib/MenuList.js +5 -5
- package/dist/commonjs/select/lib/Select.js +7 -7
- package/dist/commonjs/select/lib/hooks/useSelectInput.d.ts +4 -1
- package/dist/commonjs/select/lib/hooks/useSelectInput.d.ts.map +1 -1
- package/dist/commonjs/select/lib/hooks/useSelectInput.js +14 -5
- package/dist/commonjs/switch/lib/Switch.js +13 -13
- package/dist/commonjs/table/lib/Table.js +2 -2
- package/dist/commonjs/table/lib/TableBody.js +2 -2
- package/dist/commonjs/table/lib/TableCaption.js +2 -2
- package/dist/commonjs/table/lib/TableCell.js +2 -2
- package/dist/commonjs/table/lib/TableFooter.js +2 -2
- package/dist/commonjs/table/lib/TableHead.js +2 -2
- package/dist/commonjs/table/lib/TableHeader.js +2 -2
- package/dist/commonjs/table/lib/TableRow.js +2 -2
- package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +4 -12
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/commonjs/text/lib/LabelText.d.ts.map +1 -1
- package/dist/commonjs/text/lib/LabelText.js +11 -27
- package/dist/commonjs/text/lib/Text.d.ts +103 -0
- package/dist/commonjs/text/lib/Text.d.ts.map +1 -1
- package/dist/commonjs/text/lib/Text.js +30 -27
- package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
- package/dist/commonjs/tooltip/lib/OverflowTooltip.js +2 -3
- package/dist/es6/badge/lib/CountBadge.js +6 -6
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
- package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/es6/button/lib/BaseButton.js +18 -17
- package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/es6/button/lib/DeleteButton.js +2 -1
- package/dist/es6/button/lib/ExternalHyperlink.js +1 -1
- package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/PrimaryButton.js +3 -2
- package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/SecondaryButton.js +3 -2
- package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/TertiaryButton.js +16 -15
- package/dist/es6/card/lib/Card.js +1 -1
- package/dist/es6/card/lib/CardHeading.js +1 -1
- package/dist/es6/checkbox/lib/CheckBackground.js +5 -5
- package/dist/es6/checkbox/lib/CheckboxCheck.js +9 -9
- package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
- package/dist/es6/checkbox/lib/CheckboxInput.js +11 -11
- package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
- package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/es6/collection/lib/ListBox.js +15 -9
- package/dist/es6/combobox/lib/ComboboxMenuItem.js +4 -4
- package/dist/es6/combobox/lib/ComboboxMenuList.d.ts.map +1 -1
- package/dist/es6/combobox/lib/ComboboxMenuList.js +5 -6
- package/dist/es6/common/lib/AccessibleHide.js +1 -1
- package/dist/es6/common/lib/CanvasProvider.js +1 -1
- package/dist/es6/icon/index.d.ts +1 -1
- package/dist/es6/icon/index.d.ts.map +1 -1
- package/dist/es6/icon/index.js +1 -1
- package/dist/es6/icon/lib/AccentIcon.d.ts +30 -4
- package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/AccentIcon.js +27 -3
- package/dist/es6/icon/lib/AppletIcon.d.ts +31 -2
- package/dist/es6/icon/lib/AppletIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/AppletIcon.js +26 -3
- package/dist/es6/icon/lib/Graphic.d.ts +20 -1
- package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
- package/dist/es6/icon/lib/Graphic.js +24 -2
- package/dist/es6/icon/lib/Svg.d.ts +12 -2
- package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
- package/dist/es6/icon/lib/Svg.js +25 -11
- package/dist/es6/icon/lib/SystemIcon.d.ts +79 -16
- package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIcon.js +50 -13
- package/dist/es6/icon/lib/SystemIconCircle.d.ts +2 -3
- package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIconCircle.js +23 -30
- package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
- package/dist/es6/menu/lib/MenuCard.js +2 -2
- package/dist/es6/menu/lib/MenuList.js +5 -5
- package/dist/es6/select/lib/Select.js +7 -7
- package/dist/es6/select/lib/hooks/useSelectInput.d.ts +4 -1
- package/dist/es6/select/lib/hooks/useSelectInput.d.ts.map +1 -1
- package/dist/es6/select/lib/hooks/useSelectInput.js +14 -5
- package/dist/es6/switch/lib/Switch.js +13 -13
- package/dist/es6/table/lib/Table.js +2 -2
- package/dist/es6/table/lib/TableBody.js +2 -2
- package/dist/es6/table/lib/TableCaption.js +2 -2
- package/dist/es6/table/lib/TableCell.js +2 -2
- package/dist/es6/table/lib/TableFooter.js +2 -2
- package/dist/es6/table/lib/TableHead.js +2 -2
- package/dist/es6/table/lib/TableHeader.js +2 -2
- package/dist/es6/table/lib/TableRow.js +2 -2
- package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
- package/dist/es6/tabs/lib/TabsItem.js +5 -13
- package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/es6/text/lib/LabelText.d.ts.map +1 -1
- package/dist/es6/text/lib/LabelText.js +12 -28
- package/dist/es6/text/lib/Text.d.ts +103 -0
- package/dist/es6/text/lib/Text.d.ts.map +1 -1
- package/dist/es6/text/lib/Text.js +31 -28
- package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
- package/dist/es6/tooltip/lib/OverflowTooltip.js +2 -3
- package/icon/index.ts +1 -1
- package/icon/lib/AccentIcon.tsx +48 -10
- package/icon/lib/AppletIcon.tsx +53 -12
- package/icon/lib/Graphic.tsx +43 -10
- package/icon/lib/Svg.tsx +36 -19
- package/icon/lib/SystemIcon.tsx +134 -39
- package/icon/lib/SystemIconCircle.tsx +42 -47
- package/package.json +5 -5
- package/select/lib/hooks/useSelectInput.ts +24 -8
- package/tabs/lib/TabsItem.tsx +6 -13
- package/tabs/lib/useTabsModel.tsx +0 -1
- package/text/lib/LabelText.tsx +11 -63
- package/text/lib/Text.tsx +65 -62
- package/tooltip/lib/OverflowTooltip.tsx +2 -3
- package/dist/commonjs/icon/lib/Icon.d.ts +0 -9
- package/dist/commonjs/icon/lib/Icon.d.ts.map +0 -1
- package/dist/commonjs/icon/lib/Icon.js +0 -40
- package/dist/es6/icon/lib/Icon.d.ts +0 -9
- package/dist/es6/icon/lib/Icon.d.ts.map +0 -1
- package/dist/es6/icon/lib/Icon.js +0 -18
- package/icon/lib/Icon.tsx +0 -38
|
@@ -21,6 +21,109 @@ export interface TextProps extends BoxProps {
|
|
|
21
21
|
*/
|
|
22
22
|
variant?: 'error' | 'hint' | 'inverse';
|
|
23
23
|
}
|
|
24
|
+
export declare const textStencil: import("@workday/canvas-kit-styling").Stencil<{
|
|
25
|
+
typeLevel: {
|
|
26
|
+
'title.large': {
|
|
27
|
+
color: "--cnvs-sys-color-text-strong";
|
|
28
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
29
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
30
|
+
lineHeight: "--cnvs-base-line-height-600";
|
|
31
|
+
fontSize: "--cnvs-base-font-size-600";
|
|
32
|
+
};
|
|
33
|
+
'title.medium': {
|
|
34
|
+
color: "--cnvs-sys-color-text-strong";
|
|
35
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
36
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
37
|
+
lineHeight: "--cnvs-base-line-height-500";
|
|
38
|
+
fontSize: "--cnvs-base-font-size-500";
|
|
39
|
+
};
|
|
40
|
+
'title.small': {
|
|
41
|
+
color: "--cnvs-sys-color-text-strong";
|
|
42
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
43
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
44
|
+
lineHeight: "--cnvs-base-line-height-400";
|
|
45
|
+
fontSize: "--cnvs-base-font-size-400";
|
|
46
|
+
};
|
|
47
|
+
'heading.large': {
|
|
48
|
+
color: "--cnvs-sys-color-text-strong";
|
|
49
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
50
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
51
|
+
lineHeight: "--cnvs-base-line-height-350";
|
|
52
|
+
fontSize: "--cnvs-base-font-size-300";
|
|
53
|
+
};
|
|
54
|
+
'heading.medium': {
|
|
55
|
+
color: "--cnvs-sys-color-text-strong";
|
|
56
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
57
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
58
|
+
lineHeight: "--cnvs-base-line-height-300";
|
|
59
|
+
fontSize: "--cnvs-base-font-size-250";
|
|
60
|
+
};
|
|
61
|
+
'heading.small': {
|
|
62
|
+
color: "--cnvs-sys-color-text-strong";
|
|
63
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
64
|
+
fontWeight: "--cnvs-base-font-weight-700";
|
|
65
|
+
lineHeight: "--cnvs-base-line-height-250";
|
|
66
|
+
fontSize: "--cnvs-base-font-size-200";
|
|
67
|
+
};
|
|
68
|
+
'body.large': {
|
|
69
|
+
color: "--cnvs-sys-color-text-default";
|
|
70
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
71
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
72
|
+
lineHeight: "--cnvs-base-line-height-200";
|
|
73
|
+
fontSize: "--cnvs-base-font-size-150";
|
|
74
|
+
};
|
|
75
|
+
'body.medium': {
|
|
76
|
+
color: "--cnvs-sys-color-text-default";
|
|
77
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
78
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
79
|
+
lineHeight: "--cnvs-base-line-height-200";
|
|
80
|
+
fontSize: "--cnvs-base-font-size-125";
|
|
81
|
+
};
|
|
82
|
+
'body.small': {
|
|
83
|
+
color: "--cnvs-sys-color-text-default";
|
|
84
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
85
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
86
|
+
lineHeight: "--cnvs-base-line-height-150";
|
|
87
|
+
fontSize: "--cnvs-base-font-size-100";
|
|
88
|
+
letterSpacing: "--cnvs-base-letter-spacing-200";
|
|
89
|
+
};
|
|
90
|
+
'subtext.large': {
|
|
91
|
+
color: "--cnvs-sys-color-text-default";
|
|
92
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
93
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
94
|
+
lineHeight: "--cnvs-base-line-height-100";
|
|
95
|
+
fontSize: "--cnvs-base-font-size-75";
|
|
96
|
+
letterSpacing: "--cnvs-base-letter-spacing-150";
|
|
97
|
+
};
|
|
98
|
+
'subtext.medium': {
|
|
99
|
+
color: "--cnvs-sys-color-text-default";
|
|
100
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
101
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
102
|
+
lineHeight: "--cnvs-base-line-height-50";
|
|
103
|
+
fontSize: "--cnvs-base-font-size-50";
|
|
104
|
+
letterSpacing: "--cnvs-base-letter-spacing-100";
|
|
105
|
+
};
|
|
106
|
+
'subtext.small': {
|
|
107
|
+
color: "--cnvs-sys-color-text-default";
|
|
108
|
+
fontFamily: "--cnvs-base-font-family-50";
|
|
109
|
+
fontWeight: "--cnvs-base-font-weight-400";
|
|
110
|
+
lineHeight: "--cnvs-base-line-height-50";
|
|
111
|
+
fontSize: "--cnvs-base-font-size-25";
|
|
112
|
+
letterSpacing: "--cnvs-base-letter-spacing-50";
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
variant: {
|
|
116
|
+
error: {
|
|
117
|
+
color: "--cnvs-sys-color-text-critical-default";
|
|
118
|
+
};
|
|
119
|
+
hint: {
|
|
120
|
+
color: "--cnvs-sys-color-text-hint";
|
|
121
|
+
};
|
|
122
|
+
inverse: {
|
|
123
|
+
color: "--cnvs-sys-color-text-inverse";
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
}, {}, never, never>;
|
|
24
127
|
/**
|
|
25
128
|
* This is a generic base component intended to render any text.
|
|
26
129
|
* It has `typeLevel` and `variant` style props that simplify navigating
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../text/lib/Text.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../text/lib/Text.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAc,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAEvE,aAAK,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC7C,aAAK,SAAS,GAAG,GAAG,MAAM,OAAO,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;AAE3D,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+DtB,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,IAAI,gFASf,CAAC"}
|
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { system } from '@workday/canvas-tokens-web';
|
|
3
3
|
import { createComponent } from '@workday/canvas-kit-react/common';
|
|
4
|
-
import {
|
|
4
|
+
import { createStencil } from '@workday/canvas-kit-styling';
|
|
5
5
|
import { mergeStyles } from '@workday/canvas-kit-react/layout';
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
6
|
+
export const textStencil = createStencil({
|
|
7
|
+
base: { name: "474d4e", styles: "" },
|
|
8
|
+
modifiers: {
|
|
9
|
+
typeLevel: {
|
|
10
|
+
// Title level styles
|
|
11
|
+
'title.large': { name: "ec2152", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-600);font-size:var(--cnvs-base-font-size-600);color:var(--cnvs-sys-color-text-strong);" },
|
|
12
|
+
'title.medium': { name: "10cd08", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-500);font-size:var(--cnvs-base-font-size-500);color:var(--cnvs-sys-color-text-strong);" },
|
|
13
|
+
'title.small': { name: "2d40bb", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-400);font-size:var(--cnvs-base-font-size-400);color:var(--cnvs-sys-color-text-strong);" },
|
|
14
|
+
// Heading level styles
|
|
15
|
+
'heading.large': { name: "e7495d", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-350);font-size:var(--cnvs-base-font-size-300);color:var(--cnvs-sys-color-text-strong);" },
|
|
16
|
+
'heading.medium': { name: "57bd0c", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-300);font-size:var(--cnvs-base-font-size-250);color:var(--cnvs-sys-color-text-strong);" },
|
|
17
|
+
'heading.small': { name: "453f9f", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-250);font-size:var(--cnvs-base-font-size-200);color:var(--cnvs-sys-color-text-strong);" },
|
|
18
|
+
// Body level styles
|
|
19
|
+
'body.large': { name: "2ecfeb", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-150);color:var(--cnvs-sys-color-text-default);" },
|
|
20
|
+
'body.medium': { name: "72deca", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-125);color:var(--cnvs-sys-color-text-default);" },
|
|
21
|
+
'body.small': { name: "005094", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-150);font-size:var(--cnvs-base-font-size-100);letter-spacing:var(--cnvs-base-letter-spacing-200);color:var(--cnvs-sys-color-text-default);" },
|
|
22
|
+
// Subtext level styles
|
|
23
|
+
'subtext.large': { name: "3c4fca", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" },
|
|
24
|
+
'subtext.medium': { name: "41ff51", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-50);letter-spacing:var(--cnvs-base-letter-spacing-100);color:var(--cnvs-sys-color-text-default);" },
|
|
25
|
+
'subtext.small': { name: "6e1406", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-25);letter-spacing:var(--cnvs-base-letter-spacing-50);color:var(--cnvs-sys-color-text-default);" }
|
|
26
|
+
},
|
|
27
|
+
variant: {
|
|
28
|
+
error: { name: "0003fd", styles: "color:var(--cnvs-sys-color-text-critical-default);" },
|
|
29
|
+
hint: { name: "b00e72", styles: "color:var(--cnvs-sys-color-text-hint);" },
|
|
30
|
+
inverse: { name: "8bc750", styles: "color:var(--cnvs-sys-color-text-inverse);" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}, "cnvs-text");
|
|
31
34
|
/**
|
|
32
35
|
* This is a generic base component intended to render any text.
|
|
33
36
|
* It has `typeLevel` and `variant` style props that simplify navigating
|
|
@@ -62,6 +65,6 @@ const textModifiers = createModifiers({
|
|
|
62
65
|
export const Text = createComponent('span')({
|
|
63
66
|
displayName: 'Text',
|
|
64
67
|
Component: ({ children, typeLevel, variant, ...elemProps }, ref, Element) => {
|
|
65
|
-
return (React.createElement(Element, Object.assign({ ref: ref }, mergeStyles(elemProps,
|
|
68
|
+
return (React.createElement(Element, Object.assign({ ref: ref }, mergeStyles(elemProps, textStencil({ typeLevel, variant }))), children));
|
|
66
69
|
},
|
|
67
70
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTooltip.d.ts","sourceRoot":"","sources":["../../../../tooltip/lib/OverflowTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,SAAS,EAGV,MAAM,iCAAiC,CAAC;AAMzC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,OAAO,KAAG,OAAO,GAAG,IAmBhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,OAAO,KAAG,OAAO,GAAG,IAahE,CAAC;
|
|
1
|
+
{"version":3,"file":"OverflowTooltip.d.ts","sourceRoot":"","sources":["../../../../tooltip/lib/OverflowTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,SAAS,EAGV,MAAM,iCAAiC,CAAC;AAMzC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,OAAO,KAAG,OAAO,GAAG,IAmBhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,OAAO,KAAG,OAAO,GAAG,IAahE,CAAC;AAcF,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC/F;;;;;;;OAOG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;CAClC;AAiBD,eAAO,MAAM,eAAe,8DAKzB,oBAAoB,gBAwCtB,CAAC"}
|
|
@@ -48,9 +48,8 @@ export const findEllipsisElement = (element) => {
|
|
|
48
48
|
const isOverflowed = (element) => {
|
|
49
49
|
const overflowElement = findEllipsisElement(element) || findOverflowElement(element);
|
|
50
50
|
if (overflowElement) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
overflowElement.scrollHeight > clientRect.height);
|
|
51
|
+
return (overflowElement.scrollWidth > overflowElement.clientWidth ||
|
|
52
|
+
overflowElement.scrollHeight > overflowElement.clientHeight);
|
|
54
53
|
}
|
|
55
54
|
return false;
|
|
56
55
|
};
|
package/icon/index.ts
CHANGED
package/icon/lib/AccentIcon.tsx
CHANGED
|
@@ -2,24 +2,30 @@ import * as React from 'react';
|
|
|
2
2
|
import {colors} from '@workday/canvas-kit-react/tokens';
|
|
3
3
|
import {CanvasAccentIcon, CanvasIconTypes} from '@workday/design-assets-types';
|
|
4
4
|
import {CSSObject} from '@emotion/styled';
|
|
5
|
-
import {Icon, IconProps} from './Icon';
|
|
6
5
|
import {createComponent, getColor} from '@workday/canvas-kit-react/common';
|
|
7
6
|
import {SystemPropValues} from '@workday/canvas-kit-react/layout';
|
|
7
|
+
import {createStencil, cssVar, handleCsProp, px2rem} from '@workday/canvas-kit-styling';
|
|
8
|
+
import {base} from '@workday/canvas-tokens-web';
|
|
9
|
+
import {Svg, SvgProps, svgStencil, transformColorNameToToken} from './Svg';
|
|
8
10
|
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Interface `AccentIconStyles` will be removed in a future version. All props will be moved inside `AccentIconProps`. Consider to use the new tokens set to set `color` prop: `color={base.blueberry500}`.
|
|
13
|
+
*/
|
|
9
14
|
export interface AccentIconStyles {
|
|
10
15
|
/**
|
|
11
16
|
* The fill color of the AccentIcon.
|
|
12
|
-
* @default
|
|
17
|
+
* @default base.blueberry500
|
|
13
18
|
*/
|
|
14
19
|
color?: SystemPropValues['color'];
|
|
15
20
|
/**
|
|
16
|
-
* If true, set the background fill of the AccentIcon to `transparent`.
|
|
21
|
+
* If true, set the background fill of the AccentIcon to `transparent`.
|
|
22
|
+
* If false, set the background fill of the AccentIcon to `base.frenchVanilla100`.
|
|
17
23
|
* @default false
|
|
18
24
|
*/
|
|
19
25
|
transparent?: boolean;
|
|
20
26
|
}
|
|
21
27
|
|
|
22
|
-
export interface AccentIconProps extends AccentIconStyles, Omit<
|
|
28
|
+
export interface AccentIconProps extends AccentIconStyles, Omit<SvgProps, 'src' | 'type'> {
|
|
23
29
|
/**
|
|
24
30
|
* The icon to display from `@workday/canvas-accent-icons-web`.
|
|
25
31
|
*/
|
|
@@ -31,6 +37,9 @@ export interface AccentIconProps extends AccentIconStyles, Omit<IconProps, 'src'
|
|
|
31
37
|
size?: number;
|
|
32
38
|
}
|
|
33
39
|
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated `accentIconStyles` will be removed in in a future version as a part of implementation of stencils and new tokens. Consider to use `accentIconStencil` instead.
|
|
42
|
+
*/
|
|
34
43
|
export const accentIconStyles = ({
|
|
35
44
|
color = colors.blueberry500,
|
|
36
45
|
transparent = false,
|
|
@@ -43,23 +52,52 @@ export const accentIconStyles = ({
|
|
|
43
52
|
},
|
|
44
53
|
});
|
|
45
54
|
|
|
55
|
+
export const accentIconStencil = createStencil({
|
|
56
|
+
extends: svgStencil,
|
|
57
|
+
vars: {
|
|
58
|
+
color: '',
|
|
59
|
+
},
|
|
60
|
+
base: ({color, size}) => ({
|
|
61
|
+
[size]: px2rem(56),
|
|
62
|
+
'& .color-500': {
|
|
63
|
+
fill: cssVar(color, base.blueberry500),
|
|
64
|
+
},
|
|
65
|
+
'& .french-vanilla-100': {
|
|
66
|
+
fill: base.frenchVanilla100,
|
|
67
|
+
},
|
|
68
|
+
}),
|
|
69
|
+
modifiers: {
|
|
70
|
+
transparent: {
|
|
71
|
+
true: {
|
|
72
|
+
'& .french-vanilla-100': {
|
|
73
|
+
fill: 'transparent',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
|
|
46
80
|
export const AccentIcon = createComponent('span')({
|
|
47
81
|
displayName: 'AccentIcon',
|
|
48
82
|
Component: (
|
|
49
|
-
{transparent
|
|
83
|
+
{transparent, size, icon, color, shouldMirror, ...elemProps}: AccentIconProps,
|
|
50
84
|
ref,
|
|
51
85
|
Element
|
|
52
86
|
) => {
|
|
53
87
|
return (
|
|
54
|
-
<
|
|
88
|
+
<Svg
|
|
55
89
|
src={icon}
|
|
56
90
|
type={CanvasIconTypes.Accent}
|
|
57
|
-
styles={accentIconStyles({color, transparent})}
|
|
58
|
-
size={size}
|
|
59
91
|
as={Element}
|
|
60
92
|
ref={ref}
|
|
61
|
-
|
|
62
|
-
|
|
93
|
+
{...handleCsProp(elemProps, [
|
|
94
|
+
accentIconStencil({
|
|
95
|
+
color: transformColorNameToToken(color),
|
|
96
|
+
size: typeof size === 'number' ? px2rem(size) : undefined,
|
|
97
|
+
shouldMirror,
|
|
98
|
+
transparent,
|
|
99
|
+
}),
|
|
100
|
+
])}
|
|
63
101
|
/>
|
|
64
102
|
);
|
|
65
103
|
},
|
package/icon/lib/AppletIcon.tsx
CHANGED
|
@@ -2,9 +2,14 @@ import * as React from 'react';
|
|
|
2
2
|
import {colors, BrandingColor, CanvasColor} from '@workday/canvas-kit-react/tokens';
|
|
3
3
|
import {CanvasAppletIcon, CanvasIconTypes} from '@workday/design-assets-types';
|
|
4
4
|
import {CSSObject} from '@emotion/styled';
|
|
5
|
-
import {
|
|
5
|
+
import {Svg, SvgProps, svgStencil} from './Svg';
|
|
6
6
|
import {createComponent} from '@workday/canvas-kit-react/common';
|
|
7
|
+
import {handleCsProp, createStencil, px2rem, cssVar} from '@workday/canvas-kit-styling';
|
|
8
|
+
import {base} from '@workday/canvas-tokens-web';
|
|
7
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Interface `AppletIconStyles` will be removed in a future version. All props will be moved inside `AppletIconProps`.
|
|
12
|
+
*/
|
|
8
13
|
export interface AppletIconStyles {
|
|
9
14
|
/**
|
|
10
15
|
* The icon color hue. Must use a member of the `AppletIcon.Colors` static enum.
|
|
@@ -13,6 +18,9 @@ export interface AppletIconStyles {
|
|
|
13
18
|
color?: BrandingColor;
|
|
14
19
|
}
|
|
15
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated `appletIconStyles` will be removed in in a future version as a part of implementation of stencils and new tokens. Consider to use `appletIconStencil` instead.
|
|
23
|
+
*/
|
|
16
24
|
export const appletIconStyles = ({
|
|
17
25
|
color = BrandingColor.Blueberry,
|
|
18
26
|
}: AppletIconStyles): CSSObject => {
|
|
@@ -55,7 +63,7 @@ export const appletIconStyles = ({
|
|
|
55
63
|
};
|
|
56
64
|
};
|
|
57
65
|
|
|
58
|
-
export interface AppletIconProps extends AppletIconStyles, Pick<
|
|
66
|
+
export interface AppletIconProps extends AppletIconStyles, Pick<SvgProps, 'shouldMirror' | 'cs'> {
|
|
59
67
|
/**
|
|
60
68
|
* The icon to display from `@workday/canvas-applet-icons-web`.
|
|
61
69
|
*/
|
|
@@ -67,23 +75,56 @@ export interface AppletIconProps extends AppletIconStyles, Pick<IconProps, 'shou
|
|
|
67
75
|
size?: number;
|
|
68
76
|
}
|
|
69
77
|
|
|
78
|
+
export const appletIconStencil = createStencil({
|
|
79
|
+
extends: svgStencil,
|
|
80
|
+
vars: {
|
|
81
|
+
color200: '',
|
|
82
|
+
color300: '',
|
|
83
|
+
color400: '',
|
|
84
|
+
color500: '',
|
|
85
|
+
},
|
|
86
|
+
base: ({color200, color300, color400, color500, size}) => ({
|
|
87
|
+
[size]: px2rem(92),
|
|
88
|
+
'& .color-100': {
|
|
89
|
+
fill: base.frenchVanilla100,
|
|
90
|
+
},
|
|
91
|
+
'& .color-200': {
|
|
92
|
+
fill: cssVar(color200, base.blueberry200),
|
|
93
|
+
},
|
|
94
|
+
'& .color-300': {
|
|
95
|
+
fill: cssVar(color300, base.blueberry300),
|
|
96
|
+
},
|
|
97
|
+
'& .color-400': {
|
|
98
|
+
fill: cssVar(color400, base.blueberry400),
|
|
99
|
+
},
|
|
100
|
+
'& .color-400-alpha-20': {
|
|
101
|
+
fill: cssVar(color400, base.blueberry400),
|
|
102
|
+
},
|
|
103
|
+
'& .color-500': {
|
|
104
|
+
fill: cssVar(color500, base.blueberry400),
|
|
105
|
+
},
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
108
|
+
|
|
70
109
|
export const AppletIcon = createComponent('span')({
|
|
71
110
|
displayName: 'AppletIcon',
|
|
72
|
-
Component: (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
111
|
+
Component: ({size, icon, color, ...elemProps}: AppletIconProps, ref, Element) => {
|
|
112
|
+
const colors = color && {
|
|
113
|
+
color200: base[`${color}200` as const],
|
|
114
|
+
color300: base[`${color}300` as const],
|
|
115
|
+
color400: base[`${color}400` as const],
|
|
116
|
+
color500: base[`${color}500` as const],
|
|
117
|
+
};
|
|
118
|
+
|
|
77
119
|
return (
|
|
78
|
-
<
|
|
120
|
+
<Svg
|
|
79
121
|
src={icon}
|
|
80
122
|
type={CanvasIconTypes.Applet}
|
|
81
|
-
styles={appletIconStyles({color})}
|
|
82
123
|
as={Element}
|
|
83
|
-
size={size}
|
|
84
124
|
ref={ref}
|
|
85
|
-
|
|
86
|
-
|
|
125
|
+
{...handleCsProp(elemProps, [
|
|
126
|
+
appletIconStencil({...colors, size: size ? px2rem(size) : undefined}),
|
|
127
|
+
])}
|
|
87
128
|
/>
|
|
88
129
|
);
|
|
89
130
|
},
|
package/icon/lib/Graphic.tsx
CHANGED
|
@@ -3,16 +3,22 @@ import {CanvasGraphic, CanvasIconTypes} from '@workday/design-assets-types';
|
|
|
3
3
|
import {CSSObject} from '@emotion/styled';
|
|
4
4
|
import {Svg, SvgProps} from './Svg';
|
|
5
5
|
import {createComponent} from '@workday/canvas-kit-react/common';
|
|
6
|
+
import {createStencil, createVars, cssVar, handleCsProp, px2rem} from '@workday/canvas-kit-styling';
|
|
6
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Interface `GraphicStyles` will be removed in a future version. `grow` prop will be moved inside `GraphicProps`.
|
|
10
|
+
*/
|
|
7
11
|
export interface GraphicStyles {
|
|
8
12
|
/**
|
|
9
13
|
* The width of the Graphic in `px`. The Graphic's `width` takes precedence over its `height` in order to preserve its proportions.
|
|
10
14
|
* @default width of graphic
|
|
15
|
+
* @deprecated Use `cs` to set width, `cs={{"& svg": {width: '1rem'}}}`
|
|
11
16
|
*/
|
|
12
17
|
width?: number | string;
|
|
13
18
|
/**
|
|
14
19
|
* The height of the Graphic in `px`. If the Graphic's `height` is set, its `width` will be set to `100%`.
|
|
15
20
|
* @default height of graphic
|
|
21
|
+
* @deprecated Use `cs` to set height, `cs={{"& svg": {height: '1rem'}}}`
|
|
16
22
|
*/
|
|
17
23
|
height?: number | string;
|
|
18
24
|
/**
|
|
@@ -22,13 +28,16 @@ export interface GraphicStyles {
|
|
|
22
28
|
grow?: boolean;
|
|
23
29
|
}
|
|
24
30
|
|
|
25
|
-
export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'shouldMirror'> {
|
|
31
|
+
export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'shouldMirror' | 'cs'> {
|
|
26
32
|
/**
|
|
27
33
|
* The graphic to display from `@workday/canvas-graphics-web`.
|
|
28
34
|
*/
|
|
29
35
|
src: CanvasGraphic;
|
|
30
36
|
}
|
|
31
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated `graphicStyles` will be removed in in a future version as a part of implementation of stencils and new tokens. Consider to use `graphicStencil` instead.
|
|
40
|
+
*/
|
|
32
41
|
export const graphicStyles = ({width, height, grow}: GraphicStyles): CSSObject => {
|
|
33
42
|
if (grow) {
|
|
34
43
|
return {
|
|
@@ -59,22 +68,46 @@ export const graphicStyles = ({width, height, grow}: GraphicStyles): CSSObject =
|
|
|
59
68
|
return {};
|
|
60
69
|
};
|
|
61
70
|
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Part of supporting deprecated `height` and `width` props
|
|
73
|
+
*/
|
|
74
|
+
const graphicVars = createVars('height', 'width');
|
|
75
|
+
|
|
76
|
+
export const graphicStencil = createStencil({
|
|
77
|
+
base: {
|
|
78
|
+
'& svg': {
|
|
79
|
+
width: cssVar(graphicVars.width, '100%'),
|
|
80
|
+
height: cssVar(graphicVars.height, '100%'),
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
modifiers: {
|
|
84
|
+
grow: {
|
|
85
|
+
true: {
|
|
86
|
+
width: '100%',
|
|
87
|
+
'& svg': {
|
|
88
|
+
width: '100%',
|
|
89
|
+
height: '100%',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
|
|
62
96
|
export const Graphic = createComponent('span')({
|
|
63
97
|
displayName: 'Graphic',
|
|
64
|
-
Component: (
|
|
65
|
-
{grow = false, src, width, height, shouldMirror, ...elemProps}: GraphicProps,
|
|
66
|
-
ref,
|
|
67
|
-
Element
|
|
68
|
-
) => {
|
|
98
|
+
Component: ({grow, width, height, ...elemProps}: GraphicProps, ref, Element) => {
|
|
69
99
|
return (
|
|
70
100
|
<Svg
|
|
71
|
-
src={src}
|
|
72
|
-
styles={graphicStyles({width, height, grow})}
|
|
73
101
|
type={CanvasIconTypes.Graphic}
|
|
74
102
|
as={Element}
|
|
75
103
|
ref={ref}
|
|
76
|
-
|
|
77
|
-
|
|
104
|
+
{...handleCsProp(elemProps, [
|
|
105
|
+
graphicStencil({grow}),
|
|
106
|
+
{
|
|
107
|
+
[graphicVars.height]: typeof height === 'number' ? px2rem(height) : height,
|
|
108
|
+
[graphicVars.width]: typeof width === 'number' ? px2rem(width) : width,
|
|
109
|
+
},
|
|
110
|
+
])}
|
|
78
111
|
/>
|
|
79
112
|
);
|
|
80
113
|
},
|
package/icon/lib/Svg.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {CSSObject} from '@emotion/styled';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import {CanvasIcon, CanvasIconTypes} from '@workday/design-assets-types';
|
|
4
3
|
import {validateIconType} from './utils';
|
|
5
|
-
import {createComponent
|
|
6
|
-
import {
|
|
4
|
+
import {createComponent} from '@workday/canvas-kit-react/common';
|
|
5
|
+
import {BoxProps, mergeStyles} from '@workday/canvas-kit-react/layout';
|
|
6
|
+
import {createStencil} from '@workday/canvas-kit-styling';
|
|
7
|
+
import {base} from '@workday/canvas-tokens-web';
|
|
7
8
|
|
|
8
9
|
export interface SvgProps extends BoxProps {
|
|
9
10
|
src: CanvasIcon;
|
|
10
|
-
styles?: CSSObject;
|
|
11
11
|
type: CanvasIconTypes;
|
|
12
12
|
/**
|
|
13
13
|
* If set to `true`, transform the SVG's x-axis to mirror the graphic
|
|
@@ -16,22 +16,40 @@ export interface SvgProps extends BoxProps {
|
|
|
16
16
|
shouldMirror?: boolean;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
export const svgStencil = createStencil({
|
|
20
|
+
vars: {
|
|
21
|
+
/** set width and height of svg element */
|
|
22
|
+
size: '',
|
|
23
|
+
},
|
|
24
|
+
base: ({size}) => ({
|
|
25
|
+
boxSizing: 'border-box',
|
|
23
26
|
display: 'inline-block',
|
|
24
|
-
'> svg': {
|
|
27
|
+
'> svg': {
|
|
28
|
+
display: 'block',
|
|
29
|
+
width: size,
|
|
30
|
+
height: size,
|
|
31
|
+
},
|
|
32
|
+
}),
|
|
33
|
+
modifiers: {
|
|
34
|
+
shouldMirror: {
|
|
35
|
+
true: {
|
|
36
|
+
transform: 'scaleX(-1)',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
25
39
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
)
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
/** @deprecated */
|
|
43
|
+
export const transformColorNameToToken = (color?: string) => {
|
|
44
|
+
if (color && color in base) {
|
|
45
|
+
return base[color as keyof typeof base];
|
|
46
|
+
}
|
|
47
|
+
return color;
|
|
48
|
+
};
|
|
31
49
|
|
|
32
50
|
export const Svg = createComponent('span')({
|
|
33
51
|
displayName: 'Svg',
|
|
34
|
-
Component: ({src, type, ...elemProps}: SvgProps, ref, Element) => {
|
|
52
|
+
Component: ({shouldMirror, src, type, ...elemProps}: SvgProps, ref, Element) => {
|
|
35
53
|
try {
|
|
36
54
|
validateIconType(src, type);
|
|
37
55
|
} catch (e) {
|
|
@@ -40,11 +58,10 @@ export const Svg = createComponent('span')({
|
|
|
40
58
|
}
|
|
41
59
|
|
|
42
60
|
return (
|
|
43
|
-
<
|
|
44
|
-
as={Element}
|
|
45
|
-
dangerouslySetInnerHTML={{__html: src.svg}}
|
|
46
|
-
{...elemProps}
|
|
61
|
+
<Element
|
|
47
62
|
ref={ref}
|
|
63
|
+
dangerouslySetInnerHTML={{__html: src.svg}}
|
|
64
|
+
{...mergeStyles(elemProps, svgStencil({shouldMirror}))}
|
|
48
65
|
/>
|
|
49
66
|
);
|
|
50
67
|
},
|