@workday/canvas-kit-react 10.0.0-alpha.537-next.0 → 10.0.0-alpha.539-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.
Files changed (117) hide show
  1. package/button/index.ts +8 -11
  2. package/button/lib/BaseButton.tsx +274 -256
  3. package/button/lib/Button.tsx +67 -0
  4. package/button/lib/DeleteButton.tsx +42 -58
  5. package/button/lib/PrimaryButton.tsx +82 -149
  6. package/button/lib/SecondaryButton.tsx +87 -173
  7. package/button/lib/TertiaryButton.tsx +158 -223
  8. package/button/lib/ToolbarDropdownButton.tsx +11 -2
  9. package/button/lib/ToolbarIconButton.tsx +10 -2
  10. package/button/lib/parts/ButtonLabelIcon.tsx +1 -7
  11. package/button/lib/types.ts +6 -8
  12. package/common/lib/CanvasProvider.tsx +50 -24
  13. package/common/lib/utils/slugify.ts +4 -1
  14. package/dist/commonjs/button/index.d.ts +8 -5
  15. package/dist/commonjs/button/index.d.ts.map +1 -1
  16. package/dist/commonjs/button/index.js +9 -13
  17. package/dist/commonjs/button/lib/BaseButton.d.ts +69 -5
  18. package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
  19. package/dist/commonjs/button/lib/BaseButton.js +199 -192
  20. package/dist/commonjs/button/lib/Button.d.ts +17 -0
  21. package/dist/commonjs/button/lib/Button.d.ts.map +1 -0
  22. package/dist/commonjs/button/lib/Button.js +42 -0
  23. package/dist/commonjs/button/lib/DeleteButton.d.ts +7 -9
  24. package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
  25. package/dist/commonjs/button/lib/DeleteButton.js +29 -19
  26. package/dist/commonjs/button/lib/PrimaryButton.d.ts +15 -36
  27. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  28. package/dist/commonjs/button/lib/PrimaryButton.js +67 -79
  29. package/dist/commonjs/button/lib/SecondaryButton.d.ts +16 -43
  30. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  31. package/dist/commonjs/button/lib/SecondaryButton.js +71 -96
  32. package/dist/commonjs/button/lib/TertiaryButton.d.ts +35 -47
  33. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  34. package/dist/commonjs/button/lib/TertiaryButton.js +136 -134
  35. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  36. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +11 -2
  37. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
  38. package/dist/commonjs/button/lib/ToolbarIconButton.js +10 -2
  39. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +1 -7
  40. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  41. package/dist/commonjs/button/lib/types.d.ts +6 -7
  42. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  43. package/dist/commonjs/card/lib/Card.d.ts +1 -1
  44. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  45. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  46. package/dist/commonjs/common/lib/CanvasProvider.d.ts +1 -8
  47. package/dist/commonjs/common/lib/CanvasProvider.d.ts.map +1 -1
  48. package/dist/commonjs/common/lib/CanvasProvider.js +31 -13
  49. package/dist/commonjs/common/lib/utils/slugify.d.ts.map +1 -1
  50. package/dist/commonjs/common/lib/utils/slugify.js +4 -1
  51. package/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  52. package/dist/commonjs/layout/lib/Box.d.ts +3 -2
  53. package/dist/commonjs/layout/lib/Box.d.ts.map +1 -1
  54. package/dist/commonjs/layout/lib/Box.js +2 -1
  55. package/dist/commonjs/layout/lib/Flex.d.ts +1 -1
  56. package/dist/commonjs/layout/lib/Grid.d.ts +1 -1
  57. package/dist/commonjs/menu/lib/MenuItem.d.ts +1 -1
  58. package/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  59. package/dist/commonjs/popup/lib/PopupBody.d.ts +1 -1
  60. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  61. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  62. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +3 -1
  63. package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
  64. package/dist/es6/button/index.d.ts +8 -5
  65. package/dist/es6/button/index.d.ts.map +1 -1
  66. package/dist/es6/button/index.js +8 -5
  67. package/dist/es6/button/lib/BaseButton.d.ts +69 -5
  68. package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
  69. package/dist/es6/button/lib/BaseButton.js +199 -192
  70. package/dist/es6/button/lib/Button.d.ts +17 -0
  71. package/dist/es6/button/lib/Button.d.ts.map +1 -0
  72. package/dist/es6/button/lib/Button.js +20 -0
  73. package/dist/es6/button/lib/DeleteButton.d.ts +7 -9
  74. package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
  75. package/dist/es6/button/lib/DeleteButton.js +31 -21
  76. package/dist/es6/button/lib/PrimaryButton.d.ts +15 -36
  77. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  78. package/dist/es6/button/lib/PrimaryButton.js +67 -79
  79. package/dist/es6/button/lib/SecondaryButton.d.ts +16 -43
  80. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  81. package/dist/es6/button/lib/SecondaryButton.js +71 -95
  82. package/dist/es6/button/lib/TertiaryButton.d.ts +35 -47
  83. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  84. package/dist/es6/button/lib/TertiaryButton.js +137 -135
  85. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  86. package/dist/es6/button/lib/ToolbarDropdownButton.js +11 -2
  87. package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
  88. package/dist/es6/button/lib/ToolbarIconButton.js +10 -2
  89. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +1 -7
  90. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  91. package/dist/es6/button/lib/types.d.ts +6 -7
  92. package/dist/es6/button/lib/types.d.ts.map +1 -1
  93. package/dist/es6/card/lib/Card.d.ts +1 -1
  94. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  95. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  96. package/dist/es6/common/lib/CanvasProvider.d.ts +1 -8
  97. package/dist/es6/common/lib/CanvasProvider.d.ts.map +1 -1
  98. package/dist/es6/common/lib/CanvasProvider.js +31 -13
  99. package/dist/es6/common/lib/utils/slugify.d.ts.map +1 -1
  100. package/dist/es6/common/lib/utils/slugify.js +4 -1
  101. package/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  102. package/dist/es6/layout/lib/Box.d.ts +3 -2
  103. package/dist/es6/layout/lib/Box.d.ts.map +1 -1
  104. package/dist/es6/layout/lib/Box.js +2 -1
  105. package/dist/es6/layout/lib/Flex.d.ts +1 -1
  106. package/dist/es6/layout/lib/Grid.d.ts +1 -1
  107. package/dist/es6/menu/lib/MenuItem.d.ts +1 -1
  108. package/dist/es6/popup/lib/Popup.d.ts +1 -1
  109. package/dist/es6/popup/lib/PopupBody.d.ts +1 -1
  110. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  111. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
  112. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +3 -1
  113. package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
  114. package/layout/lib/Box.tsx +6 -4
  115. package/package.json +5 -3
  116. package/popup/lib/PopupCloseIcon.tsx +1 -1
  117. package/segmented-control/lib/SegmentedControlButton.tsx +3 -1
@@ -1,53 +1,41 @@
1
- import * as React from 'react';
2
- import { Themeable } from '@workday/canvas-kit-react/common';
3
- import { CanvasSystemIcon } from '@workday/design-assets-types';
4
- import { IconPositions, ButtonSizes } from './types';
5
- import { BaseButtonProps } from './BaseButton';
6
- export interface TertiaryButtonProps extends Themeable, BaseButtonProps {
7
- /**
8
- * The variant of the TertiaryButton.
9
- */
10
- variant?: 'inverse' | undefined;
11
- /**
12
- * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
13
- * If no size is provided, it will default to `medium`.
14
- */
15
- size?: ButtonSizes;
16
- /**
17
- * Button icon positions can either be `start` or `end`.
18
- * If no value is provided, it defaults to `start`.
19
- */
20
- iconPosition?: IconPositions;
21
- /**
22
- * The icon of the TertiaryButton.
23
- */
24
- icon?: CanvasSystemIcon;
25
- /**
26
- * The capitalization of the text in the button.
27
- */
28
- /**
29
- * If set to `true`, transform the icon's x-axis to mirror the graphic
30
- */
31
- shouldMirrorIcon?: boolean;
32
- /**
33
- * If set to `true`, transform text to all letters uppercase
34
- */
35
- allCaps?: boolean;
36
- children?: React.ReactNode;
1
+ import { ButtonProps } from './Button';
2
+ /**
3
+ * Extends all the style properties from Box to our buttons as well as props from ButtonProps.
4
+ * We omit `ref` since all of our buttons use `createComponent` and already give access to `ref`.
5
+ * Use this type to extend and customize any one off buttons that you want full control over styling.
6
+ */
7
+ export interface TertiaryButtonProps extends ButtonProps {
37
8
  /**
38
- * If set to `true`, make icon button available to use theme colors instead of default
9
+ * Variant has an option for `inverse` which will inverse the styling
39
10
  */
11
+ variant?: 'inverse';
40
12
  isThemeable?: boolean;
41
13
  }
42
- /**
43
- * Tertiary Buttons have the lowest emphasis. Use for less important actions that the user may not
44
- * often be looking to do. Tertiary Buttons have lower prominence as its container is not visible
45
- * until it is interacted with. Use Tertiary Buttons for supplemental actions such as “View More”,
46
- * “Read More” or “Select a File”. Tertiary Buttons are frequently used on Cards.
47
- *
48
- * Tertiary Buttons have four sizes: `extraSmall`, `small`, `medium` and `large`. Icons are
49
- * supported for every size and can be positioned at the `start` or `end` with the `iconPosition`
50
- * prop.
51
- */
14
+ export declare const tertiaryButtonModifiers: {
15
+ isThemeable: {
16
+ true: string;
17
+ };
18
+ variant: {
19
+ inverse: string;
20
+ };
21
+ iconPosition: {
22
+ largeOnly: string;
23
+ largeStart: string;
24
+ largeEnd: string;
25
+ mediumOnly: string;
26
+ mediumStart: string;
27
+ mediumEnd: string;
28
+ smallOnly: string;
29
+ smallStart: string;
30
+ smallEnd: string;
31
+ extraSmallOnly: string;
32
+ extraSmallStart: string;
33
+ extraSmallEnd: string;
34
+ };
35
+ } & ((modifiers: Partial<{
36
+ isThemeable: "true";
37
+ variant: "inverse";
38
+ iconPosition: "largeOnly" | "largeStart" | "largeEnd" | "mediumOnly" | "mediumStart" | "mediumEnd" | "smallOnly" | "smallStart" | "smallEnd" | "extraSmallOnly" | "extraSmallStart" | "extraSmallEnd";
39
+ }>) => string);
52
40
  export declare const TertiaryButton: import("@workday/canvas-kit-react/common").ElementComponent<"button", TertiaryButtonProps>;
53
41
  //# sourceMappingURL=TertiaryButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TertiaryButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/TertiaryButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,SAAS,EAKV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAe,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACjE,OAAO,EAAa,eAAe,EAAC,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,eAAe;IACrE;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;OAEG;IACH;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAiJD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,4FAkDzB,CAAC"}
1
+ {"version":3,"file":"TertiaryButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/TertiaryButton.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAS,WAAW,EAAC,MAAM,UAAU,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+CD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;cA0ElC,CAAC;AAEH,eAAO,MAAM,cAAc,4FA+CzB,CAAC"}
@@ -19,147 +19,149 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.TertiaryButton = void 0;
22
+ exports.TertiaryButton = exports.tertiaryButtonModifiers = void 0;
23
23
  const React = __importStar(require("react"));
24
+ const BaseButton_1 = require("./BaseButton");
24
25
  const common_1 = require("@workday/canvas-kit-react/common");
26
+ const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
27
+ const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
25
28
  const tokens_1 = require("@workday/canvas-kit-react/tokens");
26
- const BaseButton_1 = require("./BaseButton");
27
- const getTertiaryButtonColors = (variant, theme, hasThemeStyles) => {
28
- const { canvas: { palette: { primary: themePrimary }, }, } = theme;
29
- if (variant === 'inverse') {
30
- return {
31
- default: {
32
- background: 'transparent',
33
- icon: tokens_1.colors.frenchVanilla100,
34
- label: tokens_1.colors.frenchVanilla100,
35
- },
36
- hover: {
37
- background: tokens_1.colors.frenchVanilla100,
38
- icon: tokens_1.colors.blackPepper400,
39
- label: tokens_1.colors.blackPepper400,
40
- },
41
- active: {
42
- background: tokens_1.colors.soap200,
43
- icon: tokens_1.colors.blackPepper400,
44
- label: tokens_1.colors.blackPepper400,
45
- },
46
- focus: {
47
- background: tokens_1.colors.frenchVanilla100,
48
- icon: tokens_1.colors.blackPepper400,
49
- label: tokens_1.colors.blackPepper400,
50
- focusRing: common_1.focusRing({
51
- separation: 2,
29
+ const Button_1 = require("./Button");
30
+ const tertiaryStyles = canvas_kit_styling_1.createStyles({
31
+ paddingInline: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.system.space.x2, tokens_1.space.xxs),
32
+ minWidth: 'auto',
33
+ textDecoration: 'underline',
34
+ border: 0,
35
+ // Default Styles
36
+ [BaseButton_1.buttonVars.default.background]: 'transparent',
37
+ [BaseButton_1.buttonVars.default.border]: 'transparent',
38
+ [BaseButton_1.buttonVars.default.borderRadius]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.system.shape.medium),
39
+ [BaseButton_1.buttonVars.default.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
40
+ [BaseButton_1.buttonVars.default.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
41
+ // Hover Styles
42
+ [BaseButton_1.buttonVars.hover.background]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.soap200),
43
+ [BaseButton_1.buttonVars.hover.border]: 'transparent',
44
+ [BaseButton_1.buttonVars.hover.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.dark),
45
+ [BaseButton_1.buttonVars.hover.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper500),
46
+ // Focus Styles
47
+ [BaseButton_1.buttonVars.focus.background]: 'transparent',
48
+ [BaseButton_1.buttonVars.focus.border]: 'transparent',
49
+ [BaseButton_1.buttonVars.focus.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
50
+ [BaseButton_1.buttonVars.focus.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper500),
51
+ [BaseButton_1.buttonVars.focus.boxShadowInner]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.common.focusOutline),
52
+ [BaseButton_1.buttonVars.focus.boxShadowOuter]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.common.focusOutline),
53
+ // Active Styles
54
+ [BaseButton_1.buttonVars.active.background]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.soap300),
55
+ [BaseButton_1.buttonVars.active.border]: 'transparent',
56
+ [BaseButton_1.buttonVars.active.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.dark),
57
+ [BaseButton_1.buttonVars.active.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper500),
58
+ // Disabled Styles
59
+ [BaseButton_1.buttonVars.disabled.background]: 'transparent',
60
+ [BaseButton_1.buttonVars.disabled.border]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
61
+ [BaseButton_1.buttonVars.disabled.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
62
+ [BaseButton_1.buttonVars.disabled.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
63
+ [BaseButton_1.buttonVars.disabled.opacity]: '0.4',
64
+ '&:focus-visible, &.focus': {
65
+ ...common_1.focusRing({
66
+ width: 2,
67
+ separation: 0,
68
+ innerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100, canvas_kit_styling_1.cssVar(BaseButton_1.buttonVars.focus.boxShadowInner)),
69
+ outerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.common.focusOutline, canvas_kit_styling_1.cssVar(BaseButton_1.buttonVars.focus.boxShadowOuter)),
70
+ }),
71
+ },
72
+ });
73
+ exports.tertiaryButtonModifiers = canvas_kit_styling_1.createModifiers({
74
+ isThemeable: {
75
+ true: canvas_kit_styling_1.createStyles({
76
+ [BaseButton_1.buttonVars.default.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
77
+ [BaseButton_1.buttonVars.hover.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.dark),
78
+ [BaseButton_1.buttonVars.focus.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
79
+ [BaseButton_1.buttonVars.active.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.dark),
80
+ [BaseButton_1.buttonVars.disabled.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.primary.base),
81
+ }),
82
+ },
83
+ variant: {
84
+ inverse: canvas_kit_styling_1.createStyles({
85
+ // Default Styles
86
+ [BaseButton_1.buttonVars.default.background]: 'transparent',
87
+ [BaseButton_1.buttonVars.default.border]: 'transparent',
88
+ [BaseButton_1.buttonVars.default.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
89
+ [BaseButton_1.buttonVars.default.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
90
+ // Hover Styles
91
+ [BaseButton_1.buttonVars.hover.background]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
92
+ [BaseButton_1.buttonVars.hover.border]: 'transparent',
93
+ [BaseButton_1.buttonVars.hover.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
94
+ [BaseButton_1.buttonVars.hover.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
95
+ // Focus Styles
96
+ [BaseButton_1.buttonVars.focus.background]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
97
+ [BaseButton_1.buttonVars.focus.border]: 'transparent',
98
+ [BaseButton_1.buttonVars.focus.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
99
+ [BaseButton_1.buttonVars.focus.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
100
+ // Active Styles
101
+ [BaseButton_1.buttonVars.active.background]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.soap200),
102
+ [BaseButton_1.buttonVars.active.border]: 'transparent',
103
+ [BaseButton_1.buttonVars.active.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
104
+ [BaseButton_1.buttonVars.active.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400),
105
+ // Disabled Styles
106
+ [BaseButton_1.buttonVars.disabled.background]: 'transparent',
107
+ [BaseButton_1.buttonVars.disabled.border]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
108
+ [BaseButton_1.buttonVars.disabled.label]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
109
+ [BaseButton_1.buttonVars.disabled.icon]: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100),
110
+ '&:focus-visible, &.focus': {
111
+ ...common_1.focusRing({
52
112
  inset: 'inner',
53
- innerColor: 'currentColor',
54
- outerColor: tokens_1.colors.frenchVanilla100,
55
- }, theme),
56
- },
57
- disabled: {
58
- background: 'transparent',
59
- icon: tokens_1.colors.frenchVanilla100,
60
- label: tokens_1.colors.frenchVanilla100,
61
- },
62
- };
63
- }
64
- else {
65
- return {
66
- default: {
67
- icon: hasThemeStyles ? themePrimary.main : tokens_1.colors.blackPepper400,
68
- label: themePrimary.main,
69
- },
70
- hover: {
71
- background: tokens_1.colors.soap200,
72
- icon: hasThemeStyles ? themePrimary.dark : tokens_1.colors.blackPepper500,
73
- label: themePrimary.dark,
74
- },
75
- active: {
76
- background: tokens_1.colors.soap300,
77
- icon: hasThemeStyles ? themePrimary.dark : tokens_1.colors.blackPepper500,
78
- label: themePrimary.dark,
79
- },
80
- focus: {
81
- icon: hasThemeStyles ? themePrimary.main : tokens_1.colors.blackPepper500,
82
- label: themePrimary.main,
83
- focusRing: common_1.focusRing({ innerColor: tokens_1.colors.blueberry400 }, theme),
84
- },
85
- disabled: {
86
- background: 'transparent',
87
- icon: hasThemeStyles ? themePrimary.main : tokens_1.colors.blackPepper400,
88
- label: themePrimary.main,
113
+ width: 2,
114
+ separation: 2,
115
+ innerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.blackPepper400, canvas_kit_styling_1.cssVar(BaseButton_1.buttonVars.focus.boxShadowInner)),
116
+ outerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.base.frenchVanilla100, canvas_kit_styling_1.cssVar(BaseButton_1.buttonVars.focus.boxShadowOuter)),
117
+ }),
89
118
  },
90
- };
91
- }
92
- };
93
- const StyledButtonLabel = common_1.styled(BaseButton_1.BaseButton.Label)({
94
- textDecoration: 'underline',
119
+ }),
120
+ },
121
+ iconPosition: {
122
+ largeOnly: canvas_kit_styling_1.createStyles({
123
+ borderRadius: tokens_1.borderRadius.circle,
124
+ padding: '0',
125
+ minWidth: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.system.space.x12),
126
+ }),
127
+ largeStart: canvas_kit_styling_1.createStyles({
128
+ paddingInlineStart: tokens_1.space.xxs,
129
+ paddingInlineEnd: tokens_1.space.xs,
130
+ }),
131
+ largeEnd: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xs, paddingInlineEnd: tokens_1.space.xxs }),
132
+ mediumOnly: canvas_kit_styling_1.createStyles({ padding: '0', minWidth: tokens_1.space.xl, borderRadius: tokens_1.borderRadius.circle }),
133
+ mediumStart: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xxs, paddingInlineEnd: tokens_1.space.xs }),
134
+ mediumEnd: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xs, paddingInlineEnd: tokens_1.space.xxs }),
135
+ smallOnly: canvas_kit_styling_1.createStyles({ padding: '0', minWidth: tokens_1.space.l, borderRadius: tokens_1.borderRadius.circle }),
136
+ smallStart: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xxs, paddingInlineEnd: tokens_1.space.xs }),
137
+ smallEnd: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xs, paddingInlineEnd: tokens_1.space.xxs }),
138
+ extraSmallOnly: canvas_kit_styling_1.createStyles({
139
+ padding: '0',
140
+ minWidth: tokens_1.space.m,
141
+ borderRadius: tokens_1.borderRadius.circle,
142
+ }),
143
+ extraSmallStart: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xxxs, paddingInlineEnd: tokens_1.space.xxs }),
144
+ extraSmallEnd: canvas_kit_styling_1.createStyles({ paddingInlineStart: tokens_1.space.xxs, paddingInlineEnd: tokens_1.space.xxxs }),
145
+ },
95
146
  });
96
- const StyledTertiaryButtonContainer = common_1.styled(BaseButton_1.BaseButton)({
97
- border: '0',
98
- }, ({ allCaps }) => ({
99
- textTransform: allCaps ? 'uppercase' : undefined,
100
- }));
101
- const getPaddingStyles = (icon, iconPosition, children, size) => {
102
- if (children) {
103
- // if there is an icon on the left, add 4px extra padding to the right for visual balance
104
- if (icon && iconPosition === 'start') {
105
- if (size === 'extraSmall') {
106
- return `0 ${tokens_1.space.xxs} 0 ${tokens_1.space.xxxs}`;
107
- }
108
- return `0 ${tokens_1.space.xs} 0 ${tokens_1.space.xxs}`;
109
- }
110
- // if there is an icon on the right, add 4px extra padding to the left for visual balance
111
- if (icon && iconPosition === 'end') {
112
- if (size === 'extraSmall') {
113
- return `0 ${tokens_1.space.xxxs} 0 ${tokens_1.space.xxs}`;
114
- }
115
- return `0 ${tokens_1.space.xxs} 0 ${tokens_1.space.xs}`;
116
- }
117
- // if there is no icon, return the default padding
118
- return `0 ${tokens_1.space.xxs}`;
119
- }
120
- else {
121
- return '0';
122
- }
123
- };
124
- const getMinWidthStyles = (children, size) => {
125
- let minWidthNum;
126
- switch (size) {
127
- case 'large':
128
- minWidthNum = '48px';
129
- break;
130
- case 'medium':
131
- minWidthNum = tokens_1.space.xl;
132
- break;
133
- case 'small':
134
- minWidthNum = tokens_1.space.l;
135
- break;
136
- case 'extraSmall':
137
- minWidthNum = tokens_1.space.m;
138
- break;
139
- default:
140
- minWidthNum = tokens_1.space.xl;
141
- break;
142
- }
143
- return children ? 'auto' : minWidthNum;
144
- };
145
- /**
146
- * Tertiary Buttons have the lowest emphasis. Use for less important actions that the user may not
147
- * often be looking to do. Tertiary Buttons have lower prominence as its container is not visible
148
- * until it is interacted with. Use Tertiary Buttons for supplemental actions such as “View More”,
149
- * “Read More” or “Select a File”. Tertiary Buttons are frequently used on Cards.
150
- *
151
- * Tertiary Buttons have four sizes: `extraSmall`, `small`, `medium` and `large`. Icons are
152
- * supported for every size and can be positioned at the `start` or `end` with the `iconPosition`
153
- * prop.
154
- */
155
147
  exports.TertiaryButton = common_1.createComponent('button')({
156
148
  displayName: 'TertiaryButton',
157
- Component: ({ size = 'medium', iconPosition = 'start', isThemeable = false, variant, children, icon, shouldMirrorIcon = false, ...elemProps }, ref, Element) => {
158
- const theme = common_1.useTheme();
159
- const hasThemeStyles = !!children || isThemeable;
160
- return (React.createElement(StyledTertiaryButtonContainer, Object.assign({ ref: ref, as: Element, colors: getTertiaryButtonColors(variant, theme, hasThemeStyles), size: size, padding: getPaddingStyles(icon, iconPosition, children, size), minWidth: getMinWidthStyles(children, size), borderRadius: children ? tokens_1.borderRadius.m : tokens_1.borderRadius.circle }, elemProps),
161
- icon && iconPosition === 'start' && (React.createElement(BaseButton_1.BaseButton.Icon, { size: size, iconPosition: iconPosition, icon: icon, shouldMirrorIcon: shouldMirrorIcon })),
162
- children && React.createElement(StyledButtonLabel, null, children),
163
- icon && iconPosition === 'end' && (React.createElement(BaseButton_1.BaseButton.Icon, { size: size, iconPosition: iconPosition, icon: icon, shouldMirrorIcon: shouldMirrorIcon }))));
149
+ Component: ({ children, icon, colors, size = 'medium', isThemeable, variant, iconPosition, cs, ...elemProps }, ref, Element) => {
150
+ const baseIconPosition = iconPosition
151
+ ? iconPosition
152
+ : icon
153
+ ? children
154
+ ? 'start'
155
+ : 'only'
156
+ : undefined;
157
+ return (React.createElement(Button_1.Button, Object.assign({ as: Element, ref: ref, icon: icon, iconPosition: iconPosition, size: size, cs: [
158
+ tertiaryStyles,
159
+ exports.tertiaryButtonModifiers({
160
+ isThemeable: (isThemeable || baseIconPosition !== 'only'),
161
+ variant: variant,
162
+ iconPosition: BaseButton_1.getIconPosition(size, baseIconPosition),
163
+ }),
164
+ cs,
165
+ ] }, elemProps), children));
164
166
  },
165
167
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarDropdownButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/ToolbarDropdownButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAKV,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAC,sBAAsB,EAAC,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,0BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAChE,SAAS;CAAG;AAwBhB,eAAO,MAAM,qBAAqB,mGAuChC,CAAC"}
1
+ {"version":3,"file":"ToolbarDropdownButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/ToolbarDropdownButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAKV,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EAAC,sBAAsB,EAAC,MAAM,qBAAqB,CAAC;AAG3D,MAAM,WAAW,0BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAChE,SAAS;CAAG;AAgChB,eAAO,MAAM,qBAAqB,mGAuChC,CAAC"}
@@ -7,17 +7,19 @@ exports.ToolbarDropdownButton = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const tokens_1 = require("@workday/canvas-kit-react/tokens");
9
9
  const common_1 = require("@workday/canvas-kit-react/common");
10
+ const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
10
11
  const BaseButton_1 = require("./BaseButton");
11
12
  const canvas_system_icons_web_1 = require("@workday/canvas-system-icons-web");
13
+ const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
12
14
  const StyledToolbarDropdownButton = common_1.styled(BaseButton_1.BaseButton)({
13
15
  padding: tokens_1.space.zero,
14
16
  minWidth: tokens_1.space.l,
15
17
  width: 'auto',
16
18
  height: tokens_1.space.l,
17
19
  borderRadius: tokens_1.borderRadius.m,
20
+ gap: tokens_1.space.zero,
18
21
  '& .wd-icon': {
19
22
  display: 'inline-block',
20
- verticalAlign: 'middle',
21
23
  width: 20,
22
24
  height: 20,
23
25
  },
@@ -29,6 +31,14 @@ const StyledToolbarDropdownButton = common_1.styled(BaseButton_1.BaseButton)({
29
31
  marginRight: 0,
30
32
  width: 18, // decrease the space between a custom icon and the chevron per design
31
33
  },
34
+ '&:focus-visible, &.focus': {
35
+ ...common_1.focusRing({
36
+ width: 2,
37
+ separation: 0,
38
+ innerColor: 'transparent',
39
+ outerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.common.focusOutline),
40
+ }),
41
+ },
32
42
  });
33
43
  exports.ToolbarDropdownButton = common_1.createComponent('button')({
34
44
  displayName: 'ToolbarDropdownButton',
@@ -56,7 +66,6 @@ const getToolbarDropdownButtonColors = (theme) => {
56
66
  },
57
67
  focus: {
58
68
  icon: tokens_1.colors.licorice200,
59
- focusRing: common_1.focusRing({ width: 2, separation: 0 }, theme),
60
69
  background: 'transparent',
61
70
  },
62
71
  disabled: {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarIconButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/ToolbarIconButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAKV,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC,EACnD,SAAS;IACX,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAWD,eAAO,MAAM,iBAAiB,+FAiD5B,CAAC"}
1
+ {"version":3,"file":"ToolbarIconButton.d.ts","sourceRoot":"","sources":["../../../../button/lib/ToolbarIconButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,SAAS,EAKV,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC,EACnD,SAAS;IACX,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAkBD,eAAO,MAAM,iBAAiB,+FAiD5B,CAAC"}
@@ -23,14 +23,23 @@ exports.ToolbarIconButton = void 0;
23
23
  const React = __importStar(require("react"));
24
24
  const tokens_1 = require("@workday/canvas-kit-react/tokens");
25
25
  const common_1 = require("@workday/canvas-kit-react/common");
26
+ const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
26
27
  const BaseButton_1 = require("./BaseButton");
28
+ const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
27
29
  const StyledToolbarIconButton = common_1.styled(BaseButton_1.BaseButton)({
28
30
  ['& .wd-icon']: {
29
31
  display: 'inline-block',
30
- verticalAlign: 'middle',
31
32
  width: 20,
32
33
  height: 20,
33
34
  },
35
+ '&:focus-visible, &.focus': {
36
+ ...common_1.focusRing({
37
+ width: 2,
38
+ separation: 0,
39
+ innerColor: 'transparent',
40
+ outerColor: canvas_kit_styling_1.cssVar(canvas_tokens_web_1.brand.common.focusOutline),
41
+ }),
42
+ },
34
43
  });
35
44
  exports.ToolbarIconButton = common_1.createComponent('button')({
36
45
  displayName: 'ToolbarIconButton',
@@ -70,7 +79,6 @@ const getToolbarIconButtonColors = (theme, toggled) => {
70
79
  },
71
80
  focus: {
72
81
  icon: toggled ? themePrimary.main : tokens_1.colors.licorice200,
73
- focusRing: common_1.focusRing({ width: 2, separation: 0 }, theme),
74
82
  background: toggled ? themePrimary.lightest : 'transparent',
75
83
  },
76
84
  disabled: {
@@ -1,4 +1,4 @@
1
- import { ButtonSizes, IconPositions } from '../types';
1
+ import { ButtonSizes } from '../types';
2
2
  import { SystemIconProps } from '@workday/canvas-kit-react/icon';
3
3
  export interface ButtonLabelIconProps extends Partial<SystemIconProps> {
4
4
  /**
@@ -7,12 +7,6 @@ export interface ButtonLabelIconProps extends Partial<SystemIconProps> {
7
7
  * @default 'medium'
8
8
  */
9
9
  size?: ButtonSizes;
10
- /**
11
- * Button icon positions can either be `left` or `right`.
12
- * If no value is provided, it defaults to `left`.
13
- * @default 'start'
14
- */
15
- iconPosition?: IconPositions;
16
10
  /**
17
11
  * If set to `true`, transform the icon's x-axis to mirror the graphic
18
12
  * @default false
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonLabelIcon.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonLabelIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAa,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE3E,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,eAAe,CAAC;IACpE;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD,eAAO,MAAM,eAAe,2FAyB1B,CAAC"}
1
+ {"version":3,"file":"ButtonLabelIcon.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonLabelIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAErC,OAAO,EAAa,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE3E,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,eAAe,CAAC;IACpE;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD,eAAO,MAAM,eAAe,2FAyB1B,CAAC"}
@@ -11,13 +11,13 @@ export interface ButtonStateColors {
11
11
  opacity?: string;
12
12
  }
13
13
  export interface ButtonColors {
14
- default: ButtonStateColors;
15
- hover: ButtonStateColors;
16
- active: ButtonStateColors;
17
- focus: ButtonStateColors & {
14
+ default?: ButtonStateColors;
15
+ hover?: ButtonStateColors;
16
+ active?: ButtonStateColors;
17
+ focus?: ButtonStateColors & {
18
18
  focusRing?: CSSObject;
19
19
  };
20
- disabled: ButtonStateColors;
20
+ disabled?: ButtonStateColors;
21
21
  }
22
22
  /**
23
23
  * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
@@ -26,6 +26,5 @@ export interface ButtonColors {
26
26
  * @default 'medium'
27
27
  */
28
28
  export declare type ButtonSizes = 'extraSmall' | 'small' | 'medium' | 'large';
29
- export declare type TertiaryButtonSizes = 'extraSmall' | 'small' | 'medium';
30
- export declare type IconPositions = 'start' | 'end';
29
+ export declare type IconPositions = 'start' | 'end' | 'only';
31
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../button/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,GAAG;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;GAKG;AACH,oBAAY,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtE,oBAAY,mBAAmB,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AACpE,oBAAY,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../button/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,GAAG;QAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,oBAAY,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtE,oBAAY,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC"}
@@ -44,6 +44,6 @@ export declare const Card: import("@workday/canvas-kit-react/common").ElementCom
44
44
  * dialog), it may be helpful to add an `aria-describedby` referencing the `id` of the
45
45
  * `Card.Body` to the `Card` container.
46
46
  */
47
- Body: import("@workday/canvas-kit-react/common").ElementComponent<"div", import("@workday/canvas-kit-react/layout").BackgroundStyleProps & import("../../layout/lib/utils/border/color").BorderColorStyleProps & import("../../layout/lib/utils/border/lineStyle").BorderLineStyleProps & import("../../layout/lib/utils/border/radius").BorderRadiusStyleProps & import("../../layout/lib/utils/border/shorthand").BorderShorthandStyleProps & import("../../layout/lib/utils/border/width").BorderWidthStyleProps & import("@workday/canvas-kit-react/layout").ColorStyleProps & import("@workday/canvas-kit-react/layout").DepthStyleProps & import("@workday/canvas-kit-react/layout").FlexItemStyleProps & import("@workday/canvas-kit-react/layout").GridItemStyleProps & import("@workday/canvas-kit-react/layout").LayoutStyleProps & import("@workday/canvas-kit-react/layout").OtherStyleProps & import("@workday/canvas-kit-react/layout").PositionStyleProps & import("@workday/canvas-kit-react/layout").SpaceStyleProps & import("@workday/canvas-kit-react/layout").TextStyleProps>;
47
+ Body: import("@workday/canvas-kit-react/common").ElementComponent<"div", import("@workday/canvas-kit-react/layout").BackgroundStyleProps & import("../../layout/lib/utils/border/color").BorderColorStyleProps & import("../../layout/lib/utils/border/lineStyle").BorderLineStyleProps & import("../../layout/lib/utils/border/radius").BorderRadiusStyleProps & import("../../layout/lib/utils/border/shorthand").BorderShorthandStyleProps & import("../../layout/lib/utils/border/width").BorderWidthStyleProps & import("@workday/canvas-kit-react/layout").ColorStyleProps & import("@workday/canvas-kit-react/layout").DepthStyleProps & import("@workday/canvas-kit-react/layout").FlexItemStyleProps & import("@workday/canvas-kit-react/layout").GridItemStyleProps & import("@workday/canvas-kit-react/layout").LayoutStyleProps & import("@workday/canvas-kit-react/layout").OtherStyleProps & import("@workday/canvas-kit-react/layout").PositionStyleProps & import("@workday/canvas-kit-react/layout").SpaceStyleProps & import("@workday/canvas-kit-react/layout").TextStyleProps & import("@workday/canvas-kit-styling").CSProps>;
48
48
  };
49
49
  //# sourceMappingURL=Card.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare const CardBody: import("@workday/canvas-kit-react/common").ElementComponent<"div", import("@workday/canvas-kit-react/layout").BackgroundStyleProps & import("../../layout/lib/utils/border/color").BorderColorStyleProps & import("../../layout/lib/utils/border/lineStyle").BorderLineStyleProps & import("../../layout/lib/utils/border/radius").BorderRadiusStyleProps & import("../../layout/lib/utils/border/shorthand").BorderShorthandStyleProps & import("../../layout/lib/utils/border/width").BorderWidthStyleProps & import("@workday/canvas-kit-react/layout").ColorStyleProps & import("@workday/canvas-kit-react/layout").DepthStyleProps & import("@workday/canvas-kit-react/layout").FlexItemStyleProps & import("@workday/canvas-kit-react/layout").GridItemStyleProps & import("@workday/canvas-kit-react/layout").LayoutStyleProps & import("@workday/canvas-kit-react/layout").OtherStyleProps & import("@workday/canvas-kit-react/layout").PositionStyleProps & import("@workday/canvas-kit-react/layout").SpaceStyleProps & import("@workday/canvas-kit-react/layout").TextStyleProps>;
1
+ export declare const CardBody: import("@workday/canvas-kit-react/common").ElementComponent<"div", import("@workday/canvas-kit-react/layout").BackgroundStyleProps & import("../../layout/lib/utils/border/color").BorderColorStyleProps & import("../../layout/lib/utils/border/lineStyle").BorderLineStyleProps & import("../../layout/lib/utils/border/radius").BorderRadiusStyleProps & import("../../layout/lib/utils/border/shorthand").BorderShorthandStyleProps & import("../../layout/lib/utils/border/width").BorderWidthStyleProps & import("@workday/canvas-kit-react/layout").ColorStyleProps & import("@workday/canvas-kit-react/layout").DepthStyleProps & import("@workday/canvas-kit-react/layout").FlexItemStyleProps & import("@workday/canvas-kit-react/layout").GridItemStyleProps & import("@workday/canvas-kit-react/layout").LayoutStyleProps & import("@workday/canvas-kit-react/layout").OtherStyleProps & import("@workday/canvas-kit-react/layout").PositionStyleProps & import("@workday/canvas-kit-react/layout").SpaceStyleProps & import("@workday/canvas-kit-react/layout").TextStyleProps & import("@workday/canvas-kit-styling").CSProps>;
2
2
  //# sourceMappingURL=CardBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardBody.d.ts","sourceRoot":"","sources":["../../../../card/lib/CardBody.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,8hCASnB,CAAC"}
1
+ {"version":3,"file":"CardBody.d.ts","sourceRoot":"","sources":["../../../../card/lib/CardBody.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,8kCASnB,CAAC"}
@@ -3,12 +3,5 @@ import { PartialEmotionCanvasTheme } from './theming';
3
3
  export interface CanvasProviderProps {
4
4
  theme: PartialEmotionCanvasTheme;
5
5
  }
6
- export declare class CanvasProvider extends React.Component<CanvasProviderProps & React.HTMLAttributes<HTMLElement>> {
7
- static defaultProps: {
8
- theme: {
9
- canvas: import("./theming").CanvasTheme;
10
- };
11
- };
12
- render(): JSX.Element;
13
- }
6
+ export declare const CanvasProvider: ({ children, theme, ...props }: CanvasProviderProps & React.HTMLAttributes<HTMLElement>) => JSX.Element;
14
7
  //# sourceMappingURL=CanvasProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasProvider.d.ts","sourceRoot":"","sources":["../../../../common/lib/CanvasProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAqB,yBAAyB,EAAC,MAAM,WAAW,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,yBAAyB,CAAC;CAClC;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CACjD,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CACxD;IACC,MAAM,CAAC,YAAY;;;;MAIjB;IAEF,MAAM;CAeP"}
1
+ {"version":3,"file":"CanvasProvider.d.ts","sourceRoot":"","sources":["../../../../common/lib/CanvasProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAqB,yBAAyB,EAAW,MAAM,WAAW,CAAC;AAGlF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,yBAAyB,CAAC;CAClC;AAkCD,eAAO,MAAM,cAAc,kCAIxB,mBAAmB,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,gBAazD,CAAC"}
@@ -24,17 +24,35 @@ const React = __importStar(require("react"));
24
24
  const react_1 = require("@emotion/react");
25
25
  const InputProvider_1 = require("./InputProvider");
26
26
  const theming_1 = require("./theming");
27
- class CanvasProvider extends React.Component {
28
- render() {
29
- const { children, theme, ...elemProps } = this.props;
30
- return (React.createElement(react_1.ThemeProvider, { theme: theme },
31
- React.createElement(InputProvider_1.InputProvider, null),
32
- React.createElement("div", Object.assign({ dir: (theme.canvas && theme.canvas.direction) || theming_1.defaultCanvasTheme.direction }, elemProps), children)));
33
- }
34
- }
35
- exports.CanvasProvider = CanvasProvider;
36
- CanvasProvider.defaultProps = {
37
- theme: {
38
- canvas: theming_1.defaultCanvasTheme,
39
- },
27
+ const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
28
+ const mappedKeys = {
29
+ lightest: 'lightest',
30
+ light: 'light',
31
+ main: 'base',
32
+ dark: 'dark',
33
+ darkest: 'darkest',
34
+ contrast: 'accent',
35
+ };
36
+ const useCanvasThemeToCssVars = (theme, elemProps) => {
37
+ const filledTheme = theming_1.useTheme(theme);
38
+ const { palette } = filledTheme.canvas;
39
+ const style = ['common', 'primary', 'error', 'alert', 'success', 'neutral'].reduce((result, color) => {
40
+ if (color === 'common') {
41
+ // @ts-ignore
42
+ result[canvas_tokens_web_1.brand.common.focusOutline] = palette.common.focusOutline;
43
+ }
44
+ ['lightest', 'light', 'main', 'dark', 'darkest', 'contrast'].forEach(key => {
45
+ // @ts-ignore
46
+ result[canvas_tokens_web_1.brand[color][mappedKeys[key]]] = palette[color][key];
47
+ });
48
+ return result;
49
+ }, elemProps.style || {});
50
+ return { ...elemProps, style };
40
51
  };
52
+ const CanvasProvider = ({ children, theme, ...props }) => {
53
+ const elemProps = useCanvasThemeToCssVars(theme, props);
54
+ return (React.createElement(react_1.ThemeProvider, { theme: theme },
55
+ React.createElement(InputProvider_1.InputProvider, null),
56
+ React.createElement("div", Object.assign({ dir: (theme.canvas && theme.canvas.direction) || theming_1.defaultCanvasTheme.direction }, elemProps), children)));
57
+ };
58
+ exports.CanvasProvider = CanvasProvider;