@workday/canvas-kit-preview-react 8.0.0-alpha.116-next.1 → 8.0.0-alpha.123-next.3

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 (136) hide show
  1. package/breadcrumbs/index.ts +0 -4
  2. package/color-picker/README.md +1 -1
  3. package/color-picker/index.ts +1 -1
  4. package/color-picker/lib/ColorPicker.tsx +2 -3
  5. package/dist/commonjs/breadcrumbs/index.d.ts +0 -3
  6. package/dist/commonjs/breadcrumbs/index.d.ts.map +1 -1
  7. package/dist/commonjs/breadcrumbs/index.js +0 -4
  8. package/dist/commonjs/color-picker/index.d.ts +1 -1
  9. package/dist/commonjs/color-picker/index.d.ts.map +1 -1
  10. package/dist/commonjs/color-picker/index.js +2 -6
  11. package/dist/commonjs/color-picker/lib/ColorPicker.d.ts +1 -2
  12. package/dist/commonjs/color-picker/lib/ColorPicker.d.ts.map +1 -1
  13. package/dist/commonjs/color-picker/lib/ColorPicker.js +5 -4
  14. package/dist/commonjs/menu/index.d.ts +1 -4
  15. package/dist/commonjs/menu/index.d.ts.map +1 -1
  16. package/dist/commonjs/menu/index.js +1 -9
  17. package/dist/commonjs/menu/lib/Menu.d.ts +1 -1
  18. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  19. package/dist/commonjs/menu/lib/Menu.js +2 -1
  20. package/dist/commonjs/menu/lib/MenuItem.d.ts +1 -2
  21. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  22. package/dist/commonjs/menu/lib/MenuItem.js +2 -1
  23. package/dist/commonjs/pill/lib/Pill.d.ts +7 -0
  24. package/dist/commonjs/pill/lib/Pill.d.ts.map +1 -1
  25. package/dist/commonjs/pill/lib/Pill.js +11 -4
  26. package/dist/commonjs/pill/lib/PillAvatar.d.ts +1 -0
  27. package/dist/commonjs/pill/lib/PillAvatar.d.ts.map +1 -1
  28. package/dist/commonjs/pill/lib/PillAvatar.js +1 -1
  29. package/dist/commonjs/pill/lib/PillIcon.d.ts +1 -0
  30. package/dist/commonjs/pill/lib/PillIcon.d.ts.map +1 -1
  31. package/dist/commonjs/pill/lib/PillIcon.js +1 -1
  32. package/dist/commonjs/pill/lib/PillIconButton.d.ts +6 -0
  33. package/dist/commonjs/pill/lib/PillIconButton.d.ts.map +1 -1
  34. package/dist/commonjs/pill/lib/PillIconButton.js +17 -24
  35. package/dist/commonjs/pill/lib/PillLabel.d.ts +1 -0
  36. package/dist/commonjs/pill/lib/PillLabel.d.ts.map +1 -1
  37. package/dist/commonjs/pill/lib/PillLabel.js +1 -1
  38. package/dist/commonjs/pill/lib/usePillModel.d.ts +13 -0
  39. package/dist/commonjs/pill/lib/usePillModel.d.ts.map +1 -1
  40. package/dist/commonjs/pill/lib/usePillModel.js +7 -1
  41. package/dist/commonjs/select/index.d.ts +0 -3
  42. package/dist/commonjs/select/index.d.ts.map +1 -1
  43. package/dist/commonjs/select/index.js +0 -7
  44. package/dist/commonjs/select/lib/Select.d.ts +0 -1
  45. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  46. package/dist/commonjs/select/lib/Select.js +2 -6
  47. package/dist/commonjs/select/lib/SelectBase.d.ts +2 -2
  48. package/dist/commonjs/select/lib/SelectBase.d.ts.map +1 -1
  49. package/dist/commonjs/select/lib/SelectBase.js +6 -9
  50. package/dist/commonjs/select/lib/SelectMenu.d.ts +2 -2
  51. package/dist/commonjs/select/lib/SelectMenu.d.ts.map +1 -1
  52. package/dist/commonjs/select/lib/SelectMenu.js +2 -2
  53. package/dist/commonjs/select/lib/SelectOption.d.ts +1 -2
  54. package/dist/commonjs/select/lib/SelectOption.d.ts.map +1 -1
  55. package/dist/commonjs/select/lib/SelectOption.js +2 -1
  56. package/dist/commonjs/side-panel/index.d.ts +0 -3
  57. package/dist/commonjs/side-panel/index.d.ts.map +1 -1
  58. package/dist/commonjs/side-panel/index.js +0 -7
  59. package/dist/commonjs/side-panel/lib/SidePanel.d.ts +1 -2
  60. package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
  61. package/dist/commonjs/side-panel/lib/SidePanel.js +3 -3
  62. package/dist/es6/breadcrumbs/index.d.ts +0 -3
  63. package/dist/es6/breadcrumbs/index.d.ts.map +1 -1
  64. package/dist/es6/breadcrumbs/index.js +0 -3
  65. package/dist/es6/color-picker/index.d.ts +1 -1
  66. package/dist/es6/color-picker/index.d.ts.map +1 -1
  67. package/dist/es6/color-picker/index.js +1 -1
  68. package/dist/es6/color-picker/lib/ColorPicker.d.ts +1 -2
  69. package/dist/es6/color-picker/lib/ColorPicker.d.ts.map +1 -1
  70. package/dist/es6/color-picker/lib/ColorPicker.js +2 -3
  71. package/dist/es6/menu/index.d.ts +1 -4
  72. package/dist/es6/menu/index.d.ts.map +1 -1
  73. package/dist/es6/menu/index.js +1 -4
  74. package/dist/es6/menu/lib/Menu.d.ts +1 -1
  75. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  76. package/dist/es6/menu/lib/Menu.js +1 -1
  77. package/dist/es6/menu/lib/MenuItem.d.ts +1 -2
  78. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  79. package/dist/es6/menu/lib/MenuItem.js +1 -1
  80. package/dist/es6/pill/lib/Pill.d.ts +7 -0
  81. package/dist/es6/pill/lib/Pill.d.ts.map +1 -1
  82. package/dist/es6/pill/lib/Pill.js +11 -4
  83. package/dist/es6/pill/lib/PillAvatar.d.ts +1 -0
  84. package/dist/es6/pill/lib/PillAvatar.d.ts.map +1 -1
  85. package/dist/es6/pill/lib/PillAvatar.js +1 -1
  86. package/dist/es6/pill/lib/PillIcon.d.ts +1 -0
  87. package/dist/es6/pill/lib/PillIcon.d.ts.map +1 -1
  88. package/dist/es6/pill/lib/PillIcon.js +1 -1
  89. package/dist/es6/pill/lib/PillIconButton.d.ts +6 -0
  90. package/dist/es6/pill/lib/PillIconButton.d.ts.map +1 -1
  91. package/dist/es6/pill/lib/PillIconButton.js +18 -25
  92. package/dist/es6/pill/lib/PillLabel.d.ts +1 -0
  93. package/dist/es6/pill/lib/PillLabel.d.ts.map +1 -1
  94. package/dist/es6/pill/lib/PillLabel.js +1 -1
  95. package/dist/es6/pill/lib/usePillModel.d.ts +13 -0
  96. package/dist/es6/pill/lib/usePillModel.d.ts.map +1 -1
  97. package/dist/es6/pill/lib/usePillModel.js +8 -2
  98. package/dist/es6/select/index.d.ts +0 -3
  99. package/dist/es6/select/index.d.ts.map +1 -1
  100. package/dist/es6/select/index.js +0 -3
  101. package/dist/es6/select/lib/Select.d.ts +0 -1
  102. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  103. package/dist/es6/select/lib/Select.js +1 -2
  104. package/dist/es6/select/lib/SelectBase.d.ts +2 -2
  105. package/dist/es6/select/lib/SelectBase.d.ts.map +1 -1
  106. package/dist/es6/select/lib/SelectBase.js +3 -4
  107. package/dist/es6/select/lib/SelectMenu.d.ts +2 -2
  108. package/dist/es6/select/lib/SelectMenu.d.ts.map +1 -1
  109. package/dist/es6/select/lib/SelectMenu.js +1 -2
  110. package/dist/es6/select/lib/SelectOption.d.ts +1 -2
  111. package/dist/es6/select/lib/SelectOption.d.ts.map +1 -1
  112. package/dist/es6/select/lib/SelectOption.js +1 -2
  113. package/dist/es6/side-panel/index.d.ts +0 -3
  114. package/dist/es6/side-panel/index.d.ts.map +1 -1
  115. package/dist/es6/side-panel/index.js +0 -3
  116. package/dist/es6/side-panel/lib/SidePanel.d.ts +1 -2
  117. package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
  118. package/dist/es6/side-panel/lib/SidePanel.js +1 -2
  119. package/menu/index.ts +1 -6
  120. package/menu/lib/Menu.tsx +1 -1
  121. package/menu/lib/MenuItem.tsx +1 -3
  122. package/package.json +7 -6
  123. package/pill/lib/Pill.tsx +10 -2
  124. package/pill/lib/PillAvatar.tsx +1 -0
  125. package/pill/lib/PillIcon.tsx +2 -0
  126. package/pill/lib/PillIconButton.tsx +36 -32
  127. package/pill/lib/PillLabel.tsx +1 -0
  128. package/pill/lib/usePillModel.tsx +8 -1
  129. package/select/README.md +7 -7
  130. package/select/index.ts +0 -3
  131. package/select/lib/Select.tsx +1 -3
  132. package/select/lib/SelectBase.tsx +3 -5
  133. package/select/lib/SelectMenu.tsx +1 -3
  134. package/select/lib/SelectOption.tsx +1 -3
  135. package/side-panel/index.ts +0 -4
  136. package/side-panel/lib/SidePanel.tsx +1 -2
@@ -6,7 +6,7 @@ import {SystemIcon, SystemIconProps} from '@workday/canvas-kit-react/icon';
6
6
  import {usePillModel} from './usePillModel';
7
7
  import {xSmallIcon} from '@workday/canvas-system-icons-web';
8
8
  import {CanvasSystemIcon} from '@workday/design-assets-types';
9
- import {borderRadius, colors, space} from '@workday/canvas-kit-react/tokens';
9
+ import {colors, space} from '@workday/canvas-kit-react/tokens';
10
10
  import {BaseButton} from '@workday/canvas-kit-react/button';
11
11
 
12
12
  export interface PillIconButtonProps extends Omit<SystemIconProps, 'icon'> {
@@ -15,6 +15,11 @@ export interface PillIconButtonProps extends Omit<SystemIconProps, 'icon'> {
15
15
  * @default `xSmallIcon`
16
16
  */
17
17
  icon?: CanvasSystemIcon;
18
+ /**
19
+ * The aria label for the removable icon
20
+ * @default 'remove'
21
+ */
22
+ 'aria-label'?: string;
18
23
  }
19
24
 
20
25
  const getIconColors = () => {
@@ -33,9 +38,7 @@ const getIconColors = () => {
33
38
  icon: colors.licorice500,
34
39
 
35
40
  focusRing: focusRing({
36
- width: 0,
37
41
  innerColor: 'transparent',
38
- outerColor: 'transparent',
39
42
  }),
40
43
  },
41
44
  disabled: {
@@ -45,51 +48,52 @@ const getIconColors = () => {
45
48
  };
46
49
  };
47
50
 
48
- const StyledFocusTarget = styled('span')<StyledType & PillIconButtonProps>({
49
- height: 20,
50
- position: 'absolute',
51
- right: '5px',
52
- left: space.xxxs,
53
- margin: 0,
54
- borderRadius: borderRadius.m,
55
- '&:focus': {
56
- outline: 'none',
57
- ...focusRing({
58
- outerColor: colors.blueberry400,
59
- innerColor: 'transparent',
60
- separation: 0,
61
- width: 2,
62
- inset: 'inner',
63
- }),
64
- },
65
- });
66
-
67
51
  const StyledIconButton = styled(BaseButton)<StyledType & PillIconButtonProps>({
68
- marginInlineEnd: '-14px !important', // visually pull in the pill to the right size
69
- paddingInlineEnd: space.xxxs, // add 4px padding outside the pill for click target
70
- marginInlineStart: `-${space.xxs} !important`, // visually create space between label and the button
52
+ marginInlineEnd: '-7px', // visually pull in the pill to the right size
53
+ marginInlineStart: `-2px`, // visually create space between label and the button
54
+ overflow: 'visible',
55
+ '::after': {
56
+ content: '""',
57
+ height: space.l,
58
+ width: space.l,
59
+ position: 'absolute',
60
+ left: '-7px',
61
+ bottom: '-7px',
62
+ margin: 0,
63
+ pointerEvents: 'all',
64
+ cursor: 'pointer',
65
+ },
71
66
  });
72
67
 
73
68
  export const PillIconButton = createSubcomponent('button')({
74
69
  modelHook: usePillModel,
75
70
  })<PillIconButtonProps>(
76
- ({size, icon = xSmallIcon, maxWidth, children, ...elemProps}, Element, model) => {
71
+ (
72
+ {size, icon = xSmallIcon, maxWidth, children, 'aria-label': ariaLabel = 'remove', ...elemProps},
73
+ Element,
74
+ model
75
+ ) => {
77
76
  return (
78
77
  <StyledIconButton
79
78
  borderRadius="s"
80
- height={space.l}
81
- width={space.l}
79
+ height={20}
80
+ width={20}
82
81
  padding="zero"
83
82
  disabled={model.state.disabled}
84
83
  colors={getIconColors()}
85
- tabIndex={-1}
84
+ aria-labelledby={`removable-${model.state.id} label-${model.state.id}`}
86
85
  as={Element}
87
86
  position="relative"
88
87
  {...elemProps}
89
88
  >
90
- {/* We made the clickable element in this case the button larger, and have the span be the visible focus area */}
91
- <StyledFocusTarget aria-hidden="true" tabIndex={model.state.disabled ? -1 : 0} />
92
- <SystemIcon icon={icon} size={24} />
89
+ <SystemIcon
90
+ aria-label={ariaLabel}
91
+ id={`removable-${model.state.id}`}
92
+ icon={icon}
93
+ size={space.m}
94
+ aria-hidden // This works for Chrome but not needed in Safari
95
+ role="img"
96
+ />
93
97
  </StyledIconButton>
94
98
  );
95
99
  }
@@ -26,6 +26,7 @@ export const PillLabel = createSubcomponent('span')({
26
26
  color={model.state.disabled ? colors.licorice100 : 'inherit'}
27
27
  maxWidth={model.state.maxWidth}
28
28
  as={Element}
29
+ id={`label-${model.state.id}`}
29
30
  {...elemProps}
30
31
  >
31
32
  {elemProps.children}
@@ -1,4 +1,4 @@
1
- import {createModelHook} from '@workday/canvas-kit-react/common';
1
+ import {createModelHook, useUniqueId} from '@workday/canvas-kit-react/common';
2
2
 
3
3
  export const usePillModel = createModelHook({
4
4
  defaultConfig: {
@@ -11,10 +11,17 @@ export const usePillModel = createModelHook({
11
11
  * Use to disable a pill.
12
12
  */
13
13
  disabled: false,
14
+ /**
15
+ * ID used to add accessibility labels to pill elements.
16
+ * @default `useUniqueId()`
17
+ */
18
+ id: '',
14
19
  },
15
20
  })(config => {
21
+ const id = useUniqueId(config.id);
16
22
  const state = {
17
23
  ...config,
24
+ id,
18
25
  };
19
26
 
20
27
  return {state, events: {}};
package/select/README.md CHANGED
@@ -34,7 +34,7 @@ fully accessible (see below).
34
34
 
35
35
  ```tsx
36
36
  import * as React from 'react';
37
- import Select from '@workday/canvas-kit-preview-react/select';
37
+ import {Select} from '@workday/canvas-kit-preview-react/select';
38
38
 
39
39
  function Example() {
40
40
  const options = [
@@ -58,8 +58,8 @@ function Example() {
58
58
 
59
59
  ```tsx
60
60
  import * as React from 'react';
61
- import Select from '@workday/canvas-kit-preview-react/select';
62
- import FormField from '@workday/canvas-kit-react/form-field';
61
+ import {Select} from '@workday/canvas-kit-preview-react/select';
62
+ import {FormField} from '@workday/canvas-kit-react/form-field';
63
63
 
64
64
  function Example() {
65
65
  const options = [
@@ -89,8 +89,8 @@ function Example() {
89
89
 
90
90
  ```tsx
91
91
  import * as React from 'react';
92
- import Select from '@workday/canvas-kit-preview-react/select';
93
- import FormField from '@workday/canvas-kit-react/form-field';
92
+ import {Select} from '@workday/canvas-kit-preview-react/select';
93
+ import {FormField} from '@workday/canvas-kit-react/form-field';
94
94
 
95
95
  function Example() {
96
96
  const options = ['California', 'Florida', 'New York', 'Pennsylvania', 'Texas'];
@@ -117,8 +117,8 @@ used to customize how each option is rendered.
117
117
 
118
118
  ```tsx
119
119
  import * as React from 'react';
120
- import Select from '@workday/canvas-kit-preview-react/select';
121
- import FormField from '@workday/canvas-kit-react/form-field';
120
+ import {Select} from '@workday/canvas-kit-preview-react/select';
121
+ import {FormField} from '@workday/canvas-kit-react/form-field';
122
122
  import {colors, typeColors} from '@workday/canvas-kit-react/tokens';
123
123
  import {
124
124
  activityStreamIcon,
package/select/index.ts CHANGED
@@ -1,7 +1,4 @@
1
- import Select from './lib/Select';
2
1
 
3
- export default Select;
4
- export {Select};
5
2
  export * from './lib/Select';
6
3
 
7
4
  export {
@@ -7,7 +7,7 @@ import {
7
7
  generateUniqueId,
8
8
  } from '@workday/canvas-kit-react/common';
9
9
  import {menuAnimationDuration} from './SelectMenu';
10
- import SelectBase, {CoreSelectBaseProps, Option, NormalizedOption} from './SelectBase';
10
+ import {SelectBase, CoreSelectBaseProps, Option, NormalizedOption} from './SelectBase';
11
11
  import {MenuVisibility} from './types';
12
12
  import {getCorrectedIndexByValue} from './utils';
13
13
 
@@ -587,5 +587,3 @@ export const Select = createComponent('button')({
587
587
  ErrorType,
588
588
  },
589
589
  });
590
-
591
- export default Select;
@@ -20,8 +20,8 @@ import {
20
20
  import {caretDownSmallIcon} from '@workday/canvas-system-icons-web';
21
21
  import {SystemIcon} from '@workday/canvas-kit-react/icon';
22
22
 
23
- import SelectMenu from './SelectMenu';
24
- import SelectOption from './SelectOption';
23
+ import {SelectMenu} from './SelectMenu';
24
+ import {SelectOption} from './SelectOption';
25
25
  import {scrollIntoViewIfNeeded} from './scrolling';
26
26
  import {MenuPlacement, MenuVisibility} from './types';
27
27
  import {getCorrectedIndexByValue} from './utils';
@@ -288,7 +288,7 @@ const defaultRenderSelected: RenderSelectedFunction = option => {
288
288
  return option.label;
289
289
  };
290
290
 
291
- const SelectBase = ({
291
+ export const SelectBase = ({
292
292
  'aria-labelledby': ariaLabelledBy,
293
293
  'aria-required': ariaRequired,
294
294
  as,
@@ -475,5 +475,3 @@ const SelectBase = ({
475
475
  </SelectWrapper>
476
476
  );
477
477
  };
478
-
479
- export default SelectBase;
@@ -223,7 +223,7 @@ const generatePopperOptions = (
223
223
  };
224
224
  };
225
225
 
226
- const SelectMenu = ({
226
+ export const SelectMenu = ({
227
227
  buttonRef,
228
228
  children,
229
229
  error,
@@ -294,5 +294,3 @@ const SelectMenu = ({
294
294
  </Popper>
295
295
  );
296
296
  };
297
-
298
- export default SelectMenu;
@@ -105,7 +105,7 @@ const Option = styled('li')<SelectOptionProps>(
105
105
  })
106
106
  );
107
107
 
108
- const SelectOption = ({
108
+ export const SelectOption = ({
109
109
  children,
110
110
  focused = false,
111
111
  interactive = true,
@@ -126,5 +126,3 @@ const SelectOption = ({
126
126
  </Option>
127
127
  );
128
128
  };
129
-
130
- export default SelectOption;
@@ -1,6 +1,2 @@
1
- import SidePanel from './lib/SidePanel';
2
-
3
- export default SidePanel;
4
- export {SidePanel};
5
1
  export * from './lib/hooks';
6
2
  export * from './lib/SidePanel';
@@ -110,7 +110,7 @@ export const SidePanelContext = React.createContext({
110
110
  origin: 'left',
111
111
  });
112
112
 
113
- const SidePanel = ({
113
+ export const SidePanel = ({
114
114
  as = 'section',
115
115
  children,
116
116
  collapsedWidth = 64,
@@ -267,4 +267,3 @@ const ToggleButton = ({
267
267
  };
268
268
 
269
269
  SidePanel.ToggleButton = ToggleButton;
270
- export default SidePanel;