@workday/canvas-kit-react 7.0.0-alpha.92-next.19 → 7.0.0-alpha.96-next.22

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 (83) hide show
  1. package/collection/index.ts +1 -1
  2. package/collection/lib/react-virtual.ts +4 -10
  3. package/collection/lib/useListItemRegister.tsx +1 -1
  4. package/collection/lib/useListRenderItem.tsx +1 -1
  5. package/dist/commonjs/collection/index.d.ts +1 -1
  6. package/dist/commonjs/collection/index.d.ts.map +1 -1
  7. package/dist/commonjs/collection/lib/react-virtual.d.ts +2 -2
  8. package/dist/commonjs/collection/lib/react-virtual.d.ts.map +1 -1
  9. package/dist/commonjs/collection/lib/useCursorListModel.d.ts +93 -0
  10. package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
  11. package/dist/commonjs/collection/lib/useListItemRegister.d.ts +1 -1
  12. package/dist/commonjs/collection/lib/useListItemRegister.js +1 -1
  13. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  14. package/dist/commonjs/icon/lib/Svg.js +1 -1
  15. package/dist/commonjs/layout/lib/Stack.d.ts.map +1 -1
  16. package/dist/commonjs/layout/lib/Stack.js +1 -1
  17. package/dist/commonjs/menu/lib/Menu.d.ts +285 -101
  18. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  19. package/dist/commonjs/menu/lib/Menu.js +2 -2
  20. package/dist/commonjs/menu/lib/MenuCard.d.ts +2 -2
  21. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +1 -1
  22. package/dist/commonjs/menu/lib/MenuItem.d.ts +2 -2
  23. package/dist/commonjs/menu/lib/MenuList.d.ts +2 -2
  24. package/dist/commonjs/menu/lib/MenuPopper.d.ts +1 -1
  25. package/dist/commonjs/menu/lib/MenuTarget.d.ts +2 -2
  26. package/dist/commonjs/menu/lib/useMenuModel.d.ts +43 -43
  27. package/dist/commonjs/tabs/lib/Tabs.d.ts +167 -167
  28. package/dist/commonjs/tabs/lib/Tabs.js +1 -1
  29. package/dist/commonjs/tabs/lib/TabsItem.d.ts +4 -4
  30. package/dist/commonjs/tabs/lib/TabsList.d.ts +5 -5
  31. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +1 -1
  32. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +4 -4
  33. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  34. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -2
  35. package/dist/commonjs/tabs/lib/TabsPanel.d.ts +7 -6
  36. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -1
  37. package/dist/commonjs/tabs/lib/TabsPanel.js +10 -10
  38. package/dist/commonjs/tabs/lib/TabsPanels.d.ts +3 -3
  39. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +108 -108
  40. package/dist/es6/collection/index.d.ts +1 -1
  41. package/dist/es6/collection/index.d.ts.map +1 -1
  42. package/dist/es6/collection/lib/react-virtual.d.ts +2 -2
  43. package/dist/es6/collection/lib/react-virtual.d.ts.map +1 -1
  44. package/dist/es6/collection/lib/react-virtual.js +1 -1
  45. package/dist/es6/collection/lib/useCursorListModel.d.ts +93 -0
  46. package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
  47. package/dist/es6/collection/lib/useListItemRegister.d.ts +1 -1
  48. package/dist/es6/collection/lib/useListItemRegister.js +1 -1
  49. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  50. package/dist/es6/icon/lib/Svg.js +1 -1
  51. package/dist/es6/layout/lib/Stack.d.ts.map +1 -1
  52. package/dist/es6/layout/lib/Stack.js +1 -1
  53. package/dist/es6/menu/lib/Menu.d.ts +285 -101
  54. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  55. package/dist/es6/menu/lib/Menu.js +2 -2
  56. package/dist/es6/menu/lib/MenuCard.d.ts +2 -2
  57. package/dist/es6/menu/lib/MenuContextTarget.d.ts +1 -1
  58. package/dist/es6/menu/lib/MenuItem.d.ts +2 -2
  59. package/dist/es6/menu/lib/MenuList.d.ts +2 -2
  60. package/dist/es6/menu/lib/MenuPopper.d.ts +1 -1
  61. package/dist/es6/menu/lib/MenuTarget.d.ts +2 -2
  62. package/dist/es6/menu/lib/useMenuModel.d.ts +43 -43
  63. package/dist/es6/tabs/lib/Tabs.d.ts +167 -167
  64. package/dist/es6/tabs/lib/Tabs.js +1 -1
  65. package/dist/es6/tabs/lib/TabsItem.d.ts +4 -4
  66. package/dist/es6/tabs/lib/TabsList.d.ts +5 -5
  67. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +1 -1
  68. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +4 -4
  69. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  70. package/dist/es6/tabs/lib/TabsOverflowButton.js +1 -2
  71. package/dist/es6/tabs/lib/TabsPanel.d.ts +7 -6
  72. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -1
  73. package/dist/es6/tabs/lib/TabsPanel.js +10 -10
  74. package/dist/es6/tabs/lib/TabsPanels.d.ts +3 -3
  75. package/dist/es6/tabs/lib/useTabsModel.d.ts +108 -108
  76. package/icon/lib/Svg.tsx +12 -3
  77. package/layout/lib/Stack.tsx +3 -1
  78. package/menu/lib/Menu.tsx +2 -2
  79. package/package.json +5 -5
  80. package/tabs/lib/Tabs.tsx +1 -1
  81. package/tabs/lib/TabsList.tsx +1 -1
  82. package/tabs/lib/TabsOverflowButton.tsx +5 -7
  83. package/tabs/lib/TabsPanel.tsx +15 -11
package/icon/lib/Svg.tsx CHANGED
@@ -2,7 +2,7 @@ import {CSSObject} from '@emotion/styled';
2
2
  import * as React from 'react';
3
3
  import {CanvasIcon, CanvasIconTypes} from '@workday/design-assets-types';
4
4
  import {validateIconType} from './utils';
5
- import {createComponent, styled} from '@workday/canvas-kit-react/common';
5
+ import {createComponent, styled, StyledType} from '@workday/canvas-kit-react/common';
6
6
  import {Box, BoxProps} from '@workday/canvas-kit-react/layout';
7
7
 
8
8
  export interface SvgProps extends BoxProps {
@@ -16,7 +16,9 @@ export interface SvgProps extends BoxProps {
16
16
  shouldMirror?: boolean;
17
17
  }
18
18
 
19
- const StyledIconSpan = styled(Box.as('span'))<Pick<SvgProps, 'shouldMirror' | 'styles'>>(
19
+ const StyledIconSpan = styled(Box.as('span'))<
20
+ StyledType & Pick<SvgProps, 'shouldMirror' | 'styles'>
21
+ >(
20
22
  {
21
23
  display: 'inline-block',
22
24
  '> svg': {display: 'block'},
@@ -37,7 +39,14 @@ export const Svg = createComponent('span')({
37
39
  return null;
38
40
  }
39
41
 
40
- return <StyledIconSpan dangerouslySetInnerHTML={{__html: src.svg}} {...elemProps} ref={ref} />;
42
+ return (
43
+ <StyledIconSpan
44
+ as={Element}
45
+ dangerouslySetInnerHTML={{__html: src.svg}}
46
+ {...elemProps}
47
+ ref={ref}
48
+ />
49
+ );
41
50
  },
42
51
  });
43
52
 
@@ -40,7 +40,9 @@ export const Stack = createComponent('div')({
40
40
  return (
41
41
  <StyledStack as={Element} ref={ref} flexDirection="row" {...elemProps}>
42
42
  {shouldWrapChildren
43
- ? validChildren.map(child => <StackItem>{child}</StackItem>)
43
+ ? validChildren.map((child, index) => (
44
+ <StackItem key={child.props.id || index}>{child}</StackItem>
45
+ ))
44
46
  : validChildren}
45
47
  </StyledStack>
46
48
  );
package/menu/lib/Menu.tsx CHANGED
@@ -26,8 +26,8 @@ export interface MenuProps {
26
26
  * <Menu.Popper>
27
27
  * <Menu.Card>
28
28
  * <Menu.List>
29
- * <Menu.Item name="first">First Item</Menu.Item>
30
- * <Menu.Item name="second">Second Item</Menu.Item>
29
+ * <Menu.Item data-id="first">First Item</Menu.Item>
30
+ * <Menu.Item data-id="second">Second Item</Menu.Item>
31
31
  * </Menu.List>
32
32
  * </Menu.Card>
33
33
  * </Menu.Popper>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "7.0.0-alpha.92-next.19+e2cad878",
3
+ "version": "7.0.0-alpha.96-next.22+29ac2599",
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",
@@ -48,9 +48,9 @@
48
48
  "@emotion/styled": "^11.6.0",
49
49
  "@popperjs/core": "^2.5.4",
50
50
  "@workday/canvas-colors-web": "^2.0.0",
51
- "@workday/canvas-kit-labs-react": "^7.0.0-alpha.92-next.19+e2cad878",
52
- "@workday/canvas-kit-popup-stack": "^7.0.0-alpha.92-next.19+e2cad878",
53
- "@workday/canvas-kit-preview-react": "^7.0.0-alpha.92-next.19+e2cad878",
51
+ "@workday/canvas-kit-labs-react": "^7.0.0-alpha.96-next.22+29ac2599",
52
+ "@workday/canvas-kit-popup-stack": "^7.0.0-alpha.96-next.22+29ac2599",
53
+ "@workday/canvas-kit-preview-react": "^7.0.0-alpha.96-next.22+29ac2599",
54
54
  "@workday/canvas-system-icons-web": "^3.0.0",
55
55
  "@workday/design-assets-types": "^0.2.4",
56
56
  "chroma-js": "^2.1.0",
@@ -69,5 +69,5 @@
69
69
  "@workday/canvas-accent-icons-web": "^3.0.0",
70
70
  "@workday/canvas-applet-icons-web": "^2.0.0"
71
71
  },
72
- "gitHead": "e2cad87834c40633618cb65a95a0271b1256e214"
72
+ "gitHead": "29ac25992f1ca92c4cc885813c271120511038b5"
73
73
  }
package/tabs/lib/Tabs.tsx CHANGED
@@ -36,7 +36,7 @@ export const Tabs = createContainer()({
36
36
  * <Tabs.Menu.Popper>
37
37
  * <Tabs.Menu.Card>
38
38
  * <Tabs.Menu.List>
39
- * {(item: MyTabItem) => <Tabs.Menu.Item name={item.id}>{item.text}</Tabs.Menu.Item>}
39
+ * {(item: MyTabItem) => <Tabs.Menu.Item data-id={item.id}>{item.text}</Tabs.Menu.Item>}
40
40
  * </Tabs.Menu.List>
41
41
  * </Tabs.Menu.Card>
42
42
  * </Tabs.Menu.Popper>
@@ -24,7 +24,7 @@ export interface TabListProps<T = unknown> extends Partial<ExtractProps<typeof S
24
24
  *
25
25
  * @example
26
26
  * <Tabs.List>
27
- * {(item) => <Tabs.Item key={item.id} name={item.name}>{item.text}</Tabs.Item>}
27
+ * {(item) => <Tabs.Item>{item.text}</Tabs.Item>}
28
28
  * </Tabs.List>
29
29
  */
30
30
  children: ((item: T) => React.ReactNode) | React.ReactNode;
@@ -22,13 +22,11 @@ export interface OverflowButtonProps {
22
22
  }
23
23
 
24
24
  export const useTabsOverflowButton = composeHooks(
25
- createElemPropsHook(useTabsModel)(
26
- (model, _?: React.Ref<HTMLButtonElement>, elemProps: {name?: string} = {}) => {
27
- return {
28
- 'aria-haspopup': true,
29
- };
30
- }
31
- ),
25
+ createElemPropsHook(useTabsModel)(() => {
26
+ return {
27
+ 'aria-haspopup': true,
28
+ };
29
+ }),
32
30
  useOverflowListTarget,
33
31
  subModelHook((m: ReturnType<typeof useTabsModel>) => m.menu, useMenuTarget)
34
32
  );
@@ -9,6 +9,7 @@ import {
9
9
  hideMouseFocus,
10
10
  StyledType,
11
11
  } from '@workday/canvas-kit-react/common';
12
+ import {Item} from '@workday/canvas-kit-react/collection';
12
13
  import {Box} from '@workday/canvas-kit-react/layout';
13
14
 
14
15
  import {useTabsModel} from './useTabsModel';
@@ -37,26 +38,29 @@ export interface TabPanelProps<T = unknown> extends ExtractProps<typeof Box, nev
37
38
  const StyledTabsPanel = styled(Box)<StyledType>(hideMouseFocus);
38
39
 
39
40
  export const useTabsPanel = createElemPropsHook(useTabsModel)(
40
- ({state, events}, _?: React.Ref<HTMLElement>, elemProps: {'data-id'?: string} = {}) => {
41
- const name = elemProps['data-id'];
42
- const [tabName, setTabName] = React.useState(elemProps['data-id'] || '');
41
+ (
42
+ {state, events},
43
+ _?: React.Ref<HTMLElement>,
44
+ elemProps: {'data-id'?: string; item?: Item<any>} = {}
45
+ ) => {
46
+ const [localId, setLocalId] = React.useState(elemProps['data-id'] || elemProps.item?.id || '');
43
47
 
44
48
  useMountLayout(() => {
45
- const index = state.panelIndexRef.current;
46
- const tabName = name || String(index);
47
- events.registerPanel({item: {id: tabName}, textValue: ''});
48
- setTabName(tabName);
49
+ const defaultId = state.panelIndexRef.current;
50
+ const itemId = localId || String(defaultId);
51
+ events.registerPanel({item: {id: itemId}, textValue: ''});
52
+ setLocalId(itemId);
49
53
 
50
54
  return () => {
51
- events.unregisterPanel({id: tabName});
55
+ events.unregisterPanel({id: itemId});
52
56
  };
53
57
  });
54
58
 
55
59
  return {
56
60
  role: 'tabpanel',
57
- 'aria-labelledby': `${state.id}-${tabName}`,
58
- hidden: !!tabName && tabName !== state.selectedIds[0],
59
- id: `tabpanel-${state.id}-${tabName}`,
61
+ 'aria-labelledby': `${state.id}-${localId}`,
62
+ hidden: !!localId && localId !== state.selectedIds[0],
63
+ id: `tabpanel-${state.id}-${localId}`,
60
64
  tabIndex: 0,
61
65
  };
62
66
  }