@workday/canvas-kit-react 6.0.0-beta.0-next.11 → 6.0.0-beta.0-next.16

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 (130) hide show
  1. package/button/README.md +19 -2
  2. package/button/lib/IconButton.tsx +7 -1
  3. package/button/lib/PrimaryButton.tsx +18 -2
  4. package/button/lib/SecondaryButton.tsx +18 -2
  5. package/button/lib/TertiaryButton.tsx +18 -2
  6. package/button/lib/ToolbarDropdownButton.tsx +11 -2
  7. package/button/lib/ToolbarIconButton.tsx +2 -1
  8. package/button/lib/parts/ButtonLabelIcon.tsx +13 -2
  9. package/dist/commonjs/button/lib/IconButton.d.ts +5 -0
  10. package/dist/commonjs/button/lib/IconButton.d.ts.map +1 -1
  11. package/dist/commonjs/button/lib/IconButton.js +2 -2
  12. package/dist/commonjs/button/lib/PrimaryButton.d.ts +5 -0
  13. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  14. package/dist/commonjs/button/lib/PrimaryButton.js +3 -3
  15. package/dist/commonjs/button/lib/SecondaryButton.d.ts +5 -0
  16. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  17. package/dist/commonjs/button/lib/SecondaryButton.js +3 -3
  18. package/dist/commonjs/button/lib/TertiaryButton.d.ts +5 -0
  19. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  20. package/dist/commonjs/button/lib/TertiaryButton.js +3 -3
  21. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  22. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +3 -3
  23. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
  24. package/dist/commonjs/button/lib/ToolbarIconButton.js +2 -2
  25. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +6 -1
  26. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  27. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +2 -2
  28. package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
  29. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  30. package/dist/commonjs/icon/lib/AppletIcon.d.ts +1 -1
  31. package/dist/commonjs/icon/lib/AppletIcon.d.ts.map +1 -1
  32. package/dist/commonjs/icon/lib/AppletIcon.js +2 -2
  33. package/dist/commonjs/icon/lib/Graphic.d.ts +1 -1
  34. package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
  35. package/dist/commonjs/icon/lib/Graphic.js +2 -2
  36. package/dist/commonjs/icon/lib/Icon.d.ts.map +1 -1
  37. package/dist/commonjs/icon/lib/Icon.js +2 -2
  38. package/dist/commonjs/icon/lib/Svg.d.ts +5 -0
  39. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  40. package/dist/commonjs/icon/lib/Svg.js +2 -1
  41. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  42. package/dist/commonjs/icon/lib/SystemIcon.js +2 -2
  43. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +1 -1
  44. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
  45. package/dist/commonjs/icon/lib/SystemIconCircle.js +2 -2
  46. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +1 -1
  47. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  48. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +11 -9
  49. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  50. package/dist/commonjs/tooltip/lib/TooltipContainer.js +18 -1
  51. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +4 -4
  52. package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
  53. package/dist/es6/button/lib/IconButton.d.ts +5 -0
  54. package/dist/es6/button/lib/IconButton.d.ts.map +1 -1
  55. package/dist/es6/button/lib/IconButton.js +2 -2
  56. package/dist/es6/button/lib/PrimaryButton.d.ts +5 -0
  57. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  58. package/dist/es6/button/lib/PrimaryButton.js +3 -3
  59. package/dist/es6/button/lib/SecondaryButton.d.ts +5 -0
  60. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  61. package/dist/es6/button/lib/SecondaryButton.js +3 -3
  62. package/dist/es6/button/lib/TertiaryButton.d.ts +5 -0
  63. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  64. package/dist/es6/button/lib/TertiaryButton.js +3 -3
  65. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  66. package/dist/es6/button/lib/ToolbarDropdownButton.js +3 -3
  67. package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
  68. package/dist/es6/button/lib/ToolbarIconButton.js +2 -2
  69. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +6 -1
  70. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  71. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +2 -2
  72. package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
  73. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  74. package/dist/es6/icon/lib/AppletIcon.d.ts +1 -1
  75. package/dist/es6/icon/lib/AppletIcon.d.ts.map +1 -1
  76. package/dist/es6/icon/lib/AppletIcon.js +2 -2
  77. package/dist/es6/icon/lib/Graphic.d.ts +1 -1
  78. package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
  79. package/dist/es6/icon/lib/Graphic.js +2 -2
  80. package/dist/es6/icon/lib/Icon.d.ts.map +1 -1
  81. package/dist/es6/icon/lib/Icon.js +2 -2
  82. package/dist/es6/icon/lib/Svg.d.ts +5 -0
  83. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  84. package/dist/es6/icon/lib/Svg.js +2 -1
  85. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  86. package/dist/es6/icon/lib/SystemIcon.js +2 -2
  87. package/dist/es6/icon/lib/SystemIconCircle.d.ts +1 -1
  88. package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
  89. package/dist/es6/icon/lib/SystemIconCircle.js +2 -2
  90. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +1 -1
  91. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  92. package/dist/es6/tooltip/lib/OverflowTooltip.js +11 -6
  93. package/dist/es6/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  94. package/dist/es6/tooltip/lib/TooltipContainer.js +18 -1
  95. package/dist/es6/tooltip/lib/useTooltip.d.ts +4 -4
  96. package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
  97. package/icon/README.md +60 -0
  98. package/icon/lib/AccentIcon.tsx +10 -1
  99. package/icon/lib/AppletIcon.tsx +5 -2
  100. package/icon/lib/Graphic.tsx +3 -2
  101. package/icon/lib/Icon.tsx +11 -2
  102. package/icon/lib/Svg.tsx +7 -1
  103. package/icon/lib/SystemIcon.tsx +2 -0
  104. package/icon/lib/SystemIconCircle.tsx +3 -1
  105. package/package.json +5 -5
  106. package/tooltip/lib/OverflowTooltip.tsx +20 -15
  107. package/tooltip/lib/TooltipContainer.tsx +23 -0
  108. package/tooltip/lib/useTooltip.tsx +5 -5
  109. package/ts3.5/dist/commonjs/button/lib/IconButton.d.ts +5 -0
  110. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +5 -0
  111. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +5 -0
  112. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +5 -0
  113. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +6 -1
  114. package/ts3.5/dist/commonjs/icon/lib/AppletIcon.d.ts +1 -1
  115. package/ts3.5/dist/commonjs/icon/lib/Graphic.d.ts +1 -1
  116. package/ts3.5/dist/commonjs/icon/lib/Svg.d.ts +5 -0
  117. package/ts3.5/dist/commonjs/icon/lib/SystemIconCircle.d.ts +1 -1
  118. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +1 -1
  119. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +4 -4
  120. package/ts3.5/dist/es6/button/lib/IconButton.d.ts +5 -0
  121. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +5 -0
  122. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +5 -0
  123. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +5 -0
  124. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +6 -1
  125. package/ts3.5/dist/es6/icon/lib/AppletIcon.d.ts +1 -1
  126. package/ts3.5/dist/es6/icon/lib/Graphic.d.ts +1 -1
  127. package/ts3.5/dist/es6/icon/lib/Svg.d.ts +5 -0
  128. package/ts3.5/dist/es6/icon/lib/SystemIconCircle.d.ts +1 -1
  129. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +1 -1
  130. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +4 -4
@@ -54,7 +54,9 @@ export const appletIconStyles = ({
54
54
  };
55
55
  };
56
56
 
57
- export interface AppletIconProps extends AppletIconStyles, Pick<IconProps, 'iconRef'> {
57
+ export interface AppletIconProps
58
+ extends AppletIconStyles,
59
+ Pick<IconProps, 'iconRef' | 'shouldMirror'> {
58
60
  /**
59
61
  * The icon to display from `@workday/canvas-applet-icons-web`.
60
62
  */
@@ -70,7 +72,7 @@ export default class AppletIcon extends React.Component<AppletIconProps> {
70
72
  public static Colors = BrandingColor;
71
73
 
72
74
  public render() {
73
- const {size = 92, icon, color, iconRef, ...elemProps} = this.props;
75
+ const {size = 92, icon, color, iconRef, shouldMirror, ...elemProps} = this.props;
74
76
 
75
77
  return (
76
78
  <Icon
@@ -79,6 +81,7 @@ export default class AppletIcon extends React.Component<AppletIconProps> {
79
81
  styles={appletIconStyles({color})}
80
82
  size={size}
81
83
  iconRef={iconRef}
84
+ shouldMirror={shouldMirror}
82
85
  {...elemProps}
83
86
  />
84
87
  );
@@ -21,7 +21,7 @@ export interface GraphicStyles {
21
21
  grow?: boolean;
22
22
  }
23
23
 
24
- export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'iconRef'> {
24
+ export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'iconRef' | 'shouldMirror'> {
25
25
  /**
26
26
  * The graphic to display from `@workday/canvas-graphics-web`.
27
27
  */
@@ -60,7 +60,7 @@ export const graphicStyles = ({width, height, grow}: GraphicStyles): CSSObject =
60
60
 
61
61
  export default class Graphic extends React.Component<GraphicProps> {
62
62
  render() {
63
- const {grow = false, src, width, height, iconRef, ...elemProps} = this.props;
63
+ const {grow = false, src, width, height, iconRef, shouldMirror, ...elemProps} = this.props;
64
64
 
65
65
  return (
66
66
  <Svg
@@ -68,6 +68,7 @@ export default class Graphic extends React.Component<GraphicProps> {
68
68
  styles={graphicStyles({width, height, grow})}
69
69
  type={CanvasIconTypes.Graphic}
70
70
  iconRef={iconRef}
71
+ shouldMirror={shouldMirror}
71
72
  {...elemProps}
72
73
  />
73
74
  );
package/icon/lib/Icon.tsx CHANGED
@@ -12,7 +12,7 @@ export interface IconProps extends SvgProps {
12
12
 
13
13
  export default class Icon extends React.Component<IconProps> {
14
14
  public render() {
15
- const {src, size, styles, type, iconRef, ...elemProps} = this.props;
15
+ const {src, size, styles, type, iconRef, shouldMirror, ...elemProps} = this.props;
16
16
 
17
17
  const iconStyles: CSSObject = {...styles};
18
18
 
@@ -23,6 +23,15 @@ export default class Icon extends React.Component<IconProps> {
23
23
  };
24
24
  }
25
25
 
26
- return <Svg src={src} type={type} {...elemProps} styles={iconStyles} iconRef={iconRef} />;
26
+ return (
27
+ <Svg
28
+ src={src}
29
+ type={type}
30
+ shouldMirror={shouldMirror}
31
+ {...elemProps}
32
+ styles={iconStyles}
33
+ iconRef={iconRef}
34
+ />
35
+ );
27
36
  }
28
37
  }
package/icon/lib/Svg.tsx CHANGED
@@ -9,11 +9,16 @@ export interface SvgProps extends React.HTMLAttributes<HTMLSpanElement> {
9
9
  styles?: CSSObject;
10
10
  type: CanvasIconTypes;
11
11
  iconRef?: React.Ref<HTMLSpanElement>;
12
+ /**
13
+ * If set to `true`, transform the SVG's x-axis to mirror the graphic
14
+ * @default false
15
+ */
16
+ shouldMirror?: boolean;
12
17
  }
13
18
 
14
19
  export default class Svg extends React.Component<SvgProps> {
15
20
  public render() {
16
- const {src, styles, type, iconRef, ...elemProps} = this.props;
21
+ const {src, styles, type, iconRef, shouldMirror, ...elemProps} = this.props;
17
22
 
18
23
  // Validation for JS
19
24
  try {
@@ -35,6 +40,7 @@ export default class Svg extends React.Component<SvgProps> {
35
40
  css(styles, {
36
41
  display: 'inline-block',
37
42
  '& svg': {display: 'block'},
43
+ transform: shouldMirror ? 'scaleX(-1)' : undefined,
38
44
  }),
39
45
  elemProps.className
40
46
  )}
@@ -98,6 +98,7 @@ export default class SystemIcon extends React.Component<SystemIconProps> {
98
98
  fill,
99
99
  fillHover,
100
100
  size,
101
+ shouldMirror,
101
102
  ...elemProps
102
103
  } = this.props;
103
104
 
@@ -119,6 +120,7 @@ export default class SystemIcon extends React.Component<SystemIconProps> {
119
120
  size={size}
120
121
  styles={style}
121
122
  iconRef={iconRef}
123
+ shouldMirror={shouldMirror}
122
124
  {...elemProps}
123
125
  />
124
126
  );
@@ -15,7 +15,7 @@ export enum SystemIconCircleSize {
15
15
  xxl = 120,
16
16
  }
17
17
 
18
- export interface SystemIconCircleProps extends Pick<SystemIconProps, 'iconRef'> {
18
+ export interface SystemIconCircleProps extends Pick<SystemIconProps, 'iconRef' | 'shouldMirror'> {
19
19
  /**
20
20
  * The background color of the SystemIconCircle from `@workday/canvas-colors-web`.
21
21
  * @default colors.soap300
@@ -67,6 +67,7 @@ export default class SystemIconCircle extends React.Component<SystemIconCirclePr
67
67
  size = SystemIconCircleSize.l,
68
68
  icon,
69
69
  iconRef,
70
+ shouldMirror,
70
71
  ...elemProps
71
72
  } = this.props;
72
73
 
@@ -81,6 +82,7 @@ export default class SystemIconCircle extends React.Component<SystemIconCirclePr
81
82
  colorHover={iconColor}
82
83
  size={iconSize}
83
84
  iconRef={iconRef}
85
+ shouldMirror={shouldMirror}
84
86
  />
85
87
  </Container>
86
88
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "6.0.0-beta.0-next.11+c369bddc",
3
+ "version": "6.0.0-beta.0-next.16+2c70e470",
4
4
  "description": "The parent module that contains all Workday Canvas Kit React components",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -57,9 +57,9 @@
57
57
  "@popperjs/core": "^2.5.4",
58
58
  "@workday/canvas-colors-web": "^2.0.0",
59
59
  "@workday/canvas-depth-web": "^0.16.4",
60
- "@workday/canvas-kit-labs-react": "^6.0.0-beta.0-next.11+c369bddc",
61
- "@workday/canvas-kit-popup-stack": "^6.0.0-beta.0-next.11+c369bddc",
62
- "@workday/canvas-kit-preview-react": "^6.0.0-beta.0-next.11+c369bddc",
60
+ "@workday/canvas-kit-labs-react": "^6.0.0-beta.0-next.16+2c70e470",
61
+ "@workday/canvas-kit-popup-stack": "^6.0.0-beta.0-next.16+2c70e470",
62
+ "@workday/canvas-kit-preview-react": "^6.0.0-beta.0-next.16+2c70e470",
63
63
  "@workday/canvas-system-icons-web": "1.0.41",
64
64
  "@workday/design-assets-types": "^0.2.4",
65
65
  "chroma-js": "^2.1.0",
@@ -75,5 +75,5 @@
75
75
  "@workday/canvas-accent-icons-web": "^1.0.0",
76
76
  "@workday/canvas-applet-icons-web": "^0.17.50"
77
77
  },
78
- "gitHead": "c369bddcf00cc219e9c8d6569b5a26355bdde4d6"
78
+ "gitHead": "2c70e470ff0afecfdd18ea96837ab7f19f812128"
79
79
  }
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import innerText from 'react-innertext';
3
2
 
4
3
  import {getTransformFromPlacement, Placement, Popper} from '@workday/canvas-kit-react/popup';
5
4
  import {mergeCallback} from '@workday/canvas-kit-react/common';
@@ -11,7 +10,7 @@ import {useTooltip} from './useTooltip';
11
10
  * Look for an element within the tree for an overflow element (auto, scroll, clip, or hidden).
12
11
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
13
12
  */
14
- const findOverflowElement = (element: HTMLElement): HTMLElement | null => {
13
+ const findOverflowElement = (element: Element): Element | null => {
15
14
  const style = getComputedStyle(element);
16
15
  if (
17
16
  style.overflow === 'auto' ||
@@ -20,28 +19,30 @@ const findOverflowElement = (element: HTMLElement): HTMLElement | null => {
20
19
  style.overflow === 'hidden'
21
20
  ) {
22
21
  return element;
23
- } else {
22
+ } else if (element.children) {
23
+ // `children` is not defined for SVGElement in IE11
24
24
  for (let i = 0; i < element.children.length; i++) {
25
- const overflowElement = findOverflowElement(element.children[i] as HTMLElement);
25
+ const overflowElement = findOverflowElement(element.children[i]);
26
26
  if (overflowElement) {
27
27
  return overflowElement;
28
28
  }
29
29
  }
30
30
  return null;
31
31
  }
32
+ return null;
32
33
  };
33
34
 
34
35
  /**
35
36
  * Look for an element within the tree for a `text-overflow` CSS property of `ellipsis`.
36
37
  * This could be the passed element, or a descendant. If no element is found, `null` is returned.
37
38
  */
38
- const findEllipsisElement = (element: HTMLElement): HTMLElement | null => {
39
+ const findEllipsisElement = (element: Element): Element | null => {
39
40
  const style = getComputedStyle(element);
40
41
  if (style.textOverflow === 'ellipsis' || Number(style.webkitLineClamp) > 0) {
41
42
  return element;
42
43
  } else {
43
44
  for (let i = 0; i < element.children.length; i++) {
44
- const overflowElement = findEllipsisElement(element.children[i] as HTMLElement);
45
+ const overflowElement = findEllipsisElement(element.children[i]);
45
46
  if (overflowElement) {
46
47
  return overflowElement;
47
48
  }
@@ -50,7 +51,7 @@ const findEllipsisElement = (element: HTMLElement): HTMLElement | null => {
50
51
  }
51
52
  };
52
53
 
53
- const isOverflowed = (element: HTMLElement) => {
54
+ const isOverflowed = (element: Element) => {
54
55
  const overflowElement = findEllipsisElement(element) || findOverflowElement(element);
55
56
 
56
57
  if (overflowElement) {
@@ -99,17 +100,21 @@ export const OverflowTooltip = ({
99
100
  children,
100
101
  ...elemProps
101
102
  }: OverflowTooltipProps) => {
102
- const titleText = innerText(children);
103
- const {targetProps, popperProps, tooltipProps} = useTooltip({type: 'label', titleText});
103
+ const [titleText, setTitleText] = React.useState('');
104
+ const {targetProps, popperProps, tooltipProps} = useTooltip({type: 'muted'});
104
105
 
105
- const onMouseEnter = (event: React.MouseEvent<HTMLElement>) => {
106
- if (isOverflowed(event.currentTarget)) {
107
- targetProps.onMouseEnter(event);
106
+ const onMouseEnter = (event: React.MouseEvent) => {
107
+ const target = event.currentTarget;
108
+ setTitleText(target instanceof HTMLElement ? target.innerText : '');
109
+ if (isOverflowed(target)) {
110
+ targetProps.onMouseEnter(event as React.MouseEvent);
108
111
  }
109
112
  };
110
- const onFocus = (event: React.FocusEvent<HTMLElement>) => {
111
- if (isOverflowed(event.currentTarget)) {
112
- targetProps.onFocus(event);
113
+ const onFocus = (event: React.FocusEvent) => {
114
+ const target = event.currentTarget;
115
+ setTitleText(target instanceof HTMLElement ? target.innerText : '');
116
+ if (isOverflowed(target)) {
117
+ targetProps.onFocus(event as React.FocusEvent);
113
118
  }
114
119
  };
115
120
 
@@ -49,6 +49,7 @@ export const TooltipContainer = styled('div')<TooltipContainerProps>(
49
49
  {
50
50
  ...type.levels.subtext.medium,
51
51
  display: 'inline-flex',
52
+ position: 'relative',
52
53
  padding: spaceNumbers.xxs + spaceNumbers.xxxs,
53
54
  color: colors.frenchVanilla100,
54
55
  a: {
@@ -68,6 +69,28 @@ export const TooltipContainer = styled('div')<TooltipContainerProps>(
68
69
  right: 0,
69
70
  bottom: 0,
70
71
  },
72
+
73
+ // offset tooltips by 2 pixels when a keyboard focus ring is detected
74
+ '[data-whatinput=keyboard] &': {
75
+ padding: spaceNumbers.xxs + spaceNumbers.xxxs + 2,
76
+ ':before': {
77
+ margin: spaceNumbers.xxxs + 2,
78
+ },
79
+ },
80
+
81
+ // Fix offsets based on placement
82
+ '[data-popper-placement="top-start"] &, [data-popper-placement="bottom-start"] &': {
83
+ left: -spaceNumbers.xxxs,
84
+ },
85
+ '[data-popper-placement="top-end"] &, [data-popper-placement="bottom-end"] &': {
86
+ right: -spaceNumbers.xxxs,
87
+ },
88
+ '[data-popper-placement="left-start"] &, [data-popper-placement="right-start"] &': {
89
+ top: -spaceNumbers.xxxs,
90
+ },
91
+ '[data-popper-placement="left-end"] &, [data-popper-placement="right-end"] &': {
92
+ bottom: -spaceNumbers.xxxs,
93
+ },
71
94
  },
72
95
  ({transformOrigin = defaultTransformOrigin}) => {
73
96
  if (transformOrigin === null) {
@@ -31,7 +31,7 @@ const useIntentTimer = (fn: Function, waitMs: number = 0): {start(): void; clear
31
31
  };
32
32
  };
33
33
 
34
- const isInteractiveElement = (element: HTMLElement) => {
34
+ const isInteractiveElement = (element: Element) => {
35
35
  const tagName = element.tagName.toLowerCase();
36
36
  const tabIndex = element.getAttribute('tabindex');
37
37
 
@@ -51,7 +51,7 @@ const isInteractiveElement = (element: HTMLElement) => {
51
51
  * Convenience hook for creating components with tooltips. It will return an object of properties to mix
52
52
  * into a target, popper and tooltip
53
53
  */
54
- export function useTooltip<T extends HTMLElement = HTMLElement>({
54
+ export function useTooltip<T extends Element = Element>({
55
55
  type = 'label',
56
56
  titleText = '',
57
57
  }: {
@@ -89,12 +89,12 @@ export function useTooltip<T extends HTMLElement = HTMLElement>({
89
89
  intentTimer.clear();
90
90
  };
91
91
 
92
- const onOpenFromTarget = (event: React.SyntheticEvent<HTMLElement>) => {
92
+ const onOpenFromTarget = (event: React.SyntheticEvent) => {
93
93
  setAnchorElement(event.currentTarget as T);
94
94
  onOpen();
95
95
  };
96
96
 
97
- const onFocus = (event: React.FocusEvent<HTMLElement>) => {
97
+ const onFocus = (event: React.FocusEvent) => {
98
98
  if (!mouseDownRef.current) {
99
99
  onOpenFromTarget(event);
100
100
  }
@@ -102,7 +102,7 @@ export function useTooltip<T extends HTMLElement = HTMLElement>({
102
102
  mouseDownRef.current = false;
103
103
  };
104
104
 
105
- const onMouseDown = (event: React.MouseEvent<HTMLElement>) => {
105
+ const onMouseDown = (event: React.MouseEvent) => {
106
106
  mouseDownRef.current = true;
107
107
  if (isInteractiveElement(event.currentTarget)) {
108
108
  popupModel.events.hide();
@@ -25,6 +25,11 @@ export interface IconButtonProps extends Themeable {
25
25
  * The icon of the IconButton.
26
26
  */
27
27
  icon?: CanvasSystemIcon;
28
+ /**
29
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
30
+ * @default false
31
+ */
32
+ shouldMirrorIcon?: boolean;
28
33
  /**
29
34
  * The function called when the IconButton toggled state changes.
30
35
  */
@@ -23,6 +23,11 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
23
23
  * @default 'left'
24
24
  */
25
25
  iconPosition?: 'left' | 'right';
26
+ /**
27
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
28
+ * @default false
29
+ */
30
+ shouldMirrorIcon?: boolean;
26
31
  children?: React.ReactNode;
27
32
  }
28
33
  export declare const PrimaryButton: import("../../common").ElementComponent<"button", PrimaryButtonProps>;
@@ -28,6 +28,11 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
28
28
  * @default 'left'
29
29
  */
30
30
  iconPosition?: 'left' | 'right';
31
+ /**
32
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
33
+ * @default false
34
+ */
35
+ shouldMirrorIcon?: boolean;
31
36
  children?: React.ReactNode;
32
37
  }
33
38
  export declare const SecondaryButton: import("../../common").ElementComponent<"button", SecondaryButtonProps>;
@@ -24,6 +24,11 @@ export interface TertiaryButtonProps extends Themeable {
24
24
  /**
25
25
  * The capitalization of the text in the button.
26
26
  */
27
+ /**
28
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
29
+ * @default false
30
+ */
31
+ shouldMirrorIcon?: boolean;
27
32
  allCaps?: boolean;
28
33
  children?: React.ReactNode;
29
34
  }
@@ -15,6 +15,11 @@ export interface ButtonLabelIconProps {
15
15
  * @default 'left'
16
16
  */
17
17
  iconPosition?: 'left' | 'right';
18
+ /**
19
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
20
+ * @default false
21
+ */
22
+ shouldMirrorIcon?: boolean;
18
23
  }
19
- export declare const ButtonLabelIcon: ({ icon, size, iconPosition, ...elemProps }: ButtonLabelIconProps) => JSX.Element | null;
24
+ export declare const ButtonLabelIcon: ({ icon, size, iconPosition, shouldMirrorIcon, ...elemProps }: ButtonLabelIconProps) => JSX.Element | null;
20
25
  //# sourceMappingURL=ButtonLabelIcon.d.ts.map
@@ -11,7 +11,7 @@ export interface AppletIconStyles {
11
11
  color?: BrandingColor;
12
12
  }
13
13
  export declare const appletIconStyles: ({ color, }: AppletIconStyles) => CSSObject;
14
- export interface AppletIconProps extends AppletIconStyles, Pick<IconProps, 'iconRef'> {
14
+ export interface AppletIconProps extends AppletIconStyles, Pick<IconProps, 'iconRef' | 'shouldMirror'> {
15
15
  /**
16
16
  * The icon to display from `@workday/canvas-applet-icons-web`.
17
17
  */
@@ -19,7 +19,7 @@ export interface GraphicStyles {
19
19
  */
20
20
  grow?: boolean;
21
21
  }
22
- export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'iconRef'> {
22
+ export interface GraphicProps extends GraphicStyles, Pick<SvgProps, 'iconRef' | 'shouldMirror'> {
23
23
  /**
24
24
  * The graphic to display from `@workday/canvas-graphics-web`.
25
25
  */
@@ -7,6 +7,11 @@ export interface SvgProps extends React.HTMLAttributes<HTMLSpanElement> {
7
7
  styles?: CSSObject;
8
8
  type: CanvasIconTypes;
9
9
  iconRef?: React.Ref<HTMLSpanElement>;
10
+ /**
11
+ * If set to `true`, transform the SVG's x-axis to mirror the graphic
12
+ * @default false
13
+ */
14
+ shouldMirror?: boolean;
10
15
  }
11
16
  export default class Svg extends React.Component<SvgProps> {
12
17
  render(): JSX.Element | null;
@@ -9,7 +9,7 @@ export declare enum SystemIconCircleSize {
9
9
  xl = 64,
10
10
  xxl = 120
11
11
  }
12
- export interface SystemIconCircleProps extends Pick<SystemIconProps, 'iconRef'> {
12
+ export interface SystemIconCircleProps extends Pick<SystemIconProps, 'iconRef' | 'shouldMirror'> {
13
13
  /**
14
14
  * The background color of the SystemIconCircle from `@workday/canvas-colors-web`.
15
15
  * @default colors.soap300
@@ -36,7 +36,7 @@ export declare const Pagination: {
36
36
  JumpToLastButton(props: IconButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>): JSX.Element;
37
37
  PageList(props: Pick<PageListProps, "m" | "p" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "alignContent" | "alignItems" | "alignSelf" | "direction" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "overflowX" | "overflowY" | "verticalAlign" | "width" | "flex" | "margin" | "overflow" | "padding" | "start" | "wrap" | "type" | "grow" | "marginX" | "marginY" | "paddingX" | "paddingY" | "basis" | "mx" | "my" | "marginT" | "mt" | "marginR" | "mr" | "marginB" | "mb" | "marginL" | "ml" | "px" | "py" | "paddingT" | "pt" | "paddingR" | "pr" | "paddingB" | "pb" | "paddingL" | "pl" | "shrink" | "reversed">): JSX.Element;
38
38
  PageListItem(props: Pick<import("./common/Flex").FlexProps, "m" | "p" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "alignContent" | "alignItems" | "alignSelf" | "direction" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "overflowX" | "overflowY" | "verticalAlign" | "width" | "flex" | "margin" | "overflow" | "padding" | "wrap" | "grow" | "marginX" | "marginY" | "paddingX" | "paddingY" | "basis" | "mx" | "my" | "marginT" | "mt" | "marginR" | "mr" | "marginB" | "mb" | "marginL" | "ml" | "px" | "py" | "paddingT" | "pt" | "paddingR" | "pr" | "paddingB" | "pb" | "paddingL" | "pl" | "shrink">): JSX.Element;
39
- PageButton({ "aria-label": ariaLabel, ...elemProps }: Pick<PageButtonProps, "name" | "form" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "size" | "icon" | "disabled" | "theme" | "value" | "type" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "variant" | "onToggleChange" | "toggled" | "pageNumber">): JSX.Element;
39
+ PageButton({ "aria-label": ariaLabel, ...elemProps }: Pick<PageButtonProps, "name" | "form" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "size" | "icon" | "disabled" | "theme" | "value" | "type" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "variant" | "shouldMirrorIcon" | "onToggleChange" | "toggled" | "pageNumber">): JSX.Element;
40
40
  AdditionalDetails(props: Pick<AdditionalDetailsProps, "m" | "p" | "style" | "title" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "css" | "alignContent" | "alignItems" | "alignSelf" | "direction" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "overflowX" | "overflowY" | "verticalAlign" | "width" | "flex" | "margin" | "overflow" | "padding" | "wrap" | "as" | "grow" | "marginX" | "marginY" | "paddingX" | "paddingY" | "basis" | "mx" | "my" | "marginT" | "mt" | "marginR" | "mr" | "marginB" | "mb" | "marginL" | "ml" | "px" | "py" | "paddingT" | "pt" | "paddingR" | "pr" | "paddingB" | "pb" | "paddingL" | "pl" | "shrink" | "shouldAnnounceToScreenReader" | "shouldHideDetails">): JSX.Element;
41
41
  GoToForm({ children }: GoToFormProps): JSX.Element;
42
42
  GoToTextInput(props: GoToTextInputProps): JSX.Element;
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  * Convenience hook for creating components with tooltips. It will return an object of properties to mix
4
4
  * into a target, popper and tooltip
5
5
  */
6
- export declare function useTooltip<T extends HTMLElement = HTMLElement>({ type, titleText, }?: {
6
+ export declare function useTooltip<T extends Element = Element>({ type, titleText, }?: {
7
7
  /**
8
8
  * Determines the tooltip type for accessibility.
9
9
  *
@@ -30,10 +30,10 @@ export declare function useTooltip<T extends HTMLElement = HTMLElement>({ type,
30
30
  targetProps: {
31
31
  'aria-describedby': string | undefined;
32
32
  'aria-label': string | undefined;
33
- onMouseEnter: (event: React.SyntheticEvent<HTMLElement, Event>) => void;
33
+ onMouseEnter: (event: React.SyntheticEvent<Element, Event>) => void;
34
34
  onMouseLeave: () => void;
35
- onMouseDown: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
36
- onFocus: (event: React.FocusEvent<HTMLElement>) => void;
35
+ onMouseDown: (event: React.MouseEvent<Element, MouseEvent>) => void;
36
+ onFocus: (event: React.FocusEvent<Element>) => void;
37
37
  onBlur: () => void;
38
38
  };
39
39
  /** Mix these properties into the `Popper` component */
@@ -25,6 +25,11 @@ export interface IconButtonProps extends Themeable {
25
25
  * The icon of the IconButton.
26
26
  */
27
27
  icon?: CanvasSystemIcon;
28
+ /**
29
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
30
+ * @default false
31
+ */
32
+ shouldMirrorIcon?: boolean;
28
33
  /**
29
34
  * The function called when the IconButton toggled state changes.
30
35
  */
@@ -23,6 +23,11 @@ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
23
23
  * @default 'left'
24
24
  */
25
25
  iconPosition?: 'left' | 'right';
26
+ /**
27
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
28
+ * @default false
29
+ */
30
+ shouldMirrorIcon?: boolean;
26
31
  children?: React.ReactNode;
27
32
  }
28
33
  export declare const PrimaryButton: import("../../common").ElementComponent<"button", PrimaryButtonProps>;
@@ -28,6 +28,11 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
28
28
  * @default 'left'
29
29
  */
30
30
  iconPosition?: 'left' | 'right';
31
+ /**
32
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
33
+ * @default false
34
+ */
35
+ shouldMirrorIcon?: boolean;
31
36
  children?: React.ReactNode;
32
37
  }
33
38
  export declare const SecondaryButton: import("../../common").ElementComponent<"button", SecondaryButtonProps>;
@@ -24,6 +24,11 @@ export interface TertiaryButtonProps extends Themeable {
24
24
  /**
25
25
  * The capitalization of the text in the button.
26
26
  */
27
+ /**
28
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
29
+ * @default false
30
+ */
31
+ shouldMirrorIcon?: boolean;
27
32
  allCaps?: boolean;
28
33
  children?: React.ReactNode;
29
34
  }
@@ -15,6 +15,11 @@ export interface ButtonLabelIconProps {
15
15
  * @default 'left'
16
16
  */
17
17
  iconPosition?: 'left' | 'right';
18
+ /**
19
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
20
+ * @default false
21
+ */
22
+ shouldMirrorIcon?: boolean;
18
23
  }
19
- export declare const ButtonLabelIcon: ({ icon, size, iconPosition, ...elemProps }: ButtonLabelIconProps) => JSX.Element | null;
24
+ export declare const ButtonLabelIcon: ({ icon, size, iconPosition, shouldMirrorIcon, ...elemProps }: ButtonLabelIconProps) => JSX.Element | null;
20
25
  //# sourceMappingURL=ButtonLabelIcon.d.ts.map