@workday/canvas-kit-preview-react 8.0.0-alpha.239-next.10 → 8.0.0-alpha.240-next.11

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 (28) hide show
  1. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +37 -595
  2. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  3. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts +1 -24
  4. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -1
  5. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts +3 -26
  6. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts.map +1 -1
  7. package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +8 -6
  8. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -1
  9. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.js +6 -27
  10. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +37 -598
  11. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -1
  12. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.js +3 -3
  13. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +37 -595
  14. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  15. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts +1 -24
  16. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -1
  17. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts +3 -26
  18. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts.map +1 -1
  19. package/dist/es6/segmented-control/lib/SegmentedControlList.js +9 -7
  20. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -1
  21. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.js +7 -28
  22. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +37 -598
  23. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -1
  24. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.js +4 -4
  25. package/package.json +4 -4
  26. package/segmented-control/lib/SegmentedControlList.tsx +10 -9
  27. package/segmented-control/lib/hooks/useSegmentedControlItem.tsx +11 -48
  28. package/segmented-control/lib/hooks/useSegmentedControlModel.tsx +4 -10
@@ -1 +1 @@
1
- {"version":3,"file":"useSegmentedControlModel.d.ts","sourceRoot":"","sources":["../../../../../segmented-control/lib/hooks/useSegmentedControlModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,eAAO,MAAM,wBAAwB;IAGjC;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxBH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CL,CAAC"}
1
+ {"version":3,"file":"useSegmentedControlModel.d.ts","sourceRoot":"","sources":["../../../../../segmented-control/lib/hooks/useSegmentedControlModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,wBAAwB;IAGjC;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxBH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CL,CAAC"}
@@ -11,9 +11,9 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import React from 'react';
13
13
  import { createModelHook } from '@workday/canvas-kit-react/common';
14
- import { defaultGetId, useListModel, useOverflowListModel, } from '@workday/canvas-kit-react/collection';
14
+ import { defaultGetId, useListModel } from '@workday/canvas-kit-react/collection';
15
15
  export var useSegmentedControlModel = createModelHook({
16
- defaultConfig: __assign(__assign({}, useOverflowListModel.defaultConfig), {
16
+ defaultConfig: __assign(__assign({}, useListModel.defaultConfig), {
17
17
  /**
18
18
  * Optional id for the whole `SegmentedControl` group. If not provided, a unique id will be created.
19
19
  * @default useUniqueId()
@@ -46,7 +46,7 @@ export var useSegmentedControlModel = createModelHook({
46
46
  var getId = config.getId || defaultGetId;
47
47
  var initialSelectedRef = React.useRef(config.initialValue);
48
48
  var items = config.items;
49
- var model = useOverflowListModel(useOverflowListModel.mergeConfig(config, {
49
+ var model = useListModel(useListModel.mergeConfig(config, {
50
50
  orientation: config.orientation || 'horizontal',
51
51
  items: items,
52
52
  onRegisterItem: function (data) {
@@ -61,7 +61,7 @@ export var useSegmentedControlModel = createModelHook({
61
61
  : [],
62
62
  shouldVirtualize: false,
63
63
  }));
64
- var state = __assign(__assign({}, model.state), { disabled: config.disabled, size: config.size, nonInteractiveIds: [], hiddenIds: [] });
64
+ var state = __assign(__assign({}, model.state), { disabled: config.disabled, size: config.size });
65
65
  var events = __assign({}, model.events);
66
66
  return __assign(__assign({}, model), { state: state,
67
67
  events: events });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-preview-react",
3
- "version": "8.0.0-alpha.239-next.10+46fbe588",
3
+ "version": "8.0.0-alpha.240-next.11+f6621f78",
4
4
  "description": "Canvas Kit Preview is made up of components that have the full design and a11y review, are part of the DS ecosystem and are approved for use in product. The API's could be subject to change, but not without strong communication and migration strategies.",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -46,16 +46,16 @@
46
46
  "dependencies": {
47
47
  "@emotion/react": "^11.7.1",
48
48
  "@emotion/styled": "^11.6.0",
49
- "@workday/canvas-kit-react": "^8.0.0-alpha.239-next.10+46fbe588",
49
+ "@workday/canvas-kit-react": "^8.0.0-alpha.240-next.11+f6621f78",
50
50
  "@workday/canvas-system-icons-web": "^3.0.0",
51
51
  "@workday/design-assets-types": "^0.2.8"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@workday/canvas-accent-icons-web": "^3.0.0",
55
- "@workday/canvas-kit-labs-react": "^8.0.0-alpha.239-next.10+46fbe588",
55
+ "@workday/canvas-kit-labs-react": "^8.0.0-alpha.240-next.11+f6621f78",
56
56
  "formik": "^2.2.9",
57
57
  "react-hook-form": "7.36.1",
58
58
  "yup": "^0.32.11"
59
59
  },
60
- "gitHead": "46fbe58858eac3afa6d5df9eb4fccbbb5d806977"
60
+ "gitHead": "f6621f7840832cf99fc5690de97211525b9dc638"
61
61
  }
@@ -5,21 +5,22 @@ import {
5
5
  ExtractProps,
6
6
  createElemPropsHook,
7
7
  } from '@workday/canvas-kit-react/common';
8
- import {Stack} from '@workday/canvas-kit-react/layout';
8
+ import {Grid} from '@workday/canvas-kit-react/layout';
9
9
  import {useListRenderItems} from '@workday/canvas-kit-react/collection';
10
10
  import {useSegmentedControlModel} from './hooks/useSegmentedControlModel';
11
11
 
12
12
  export interface SegmentedControlListProps<T = any>
13
- extends Omit<Partial<ExtractProps<typeof Stack, never>>, 'children'> {
13
+ extends Omit<Partial<ExtractProps<typeof Grid, never>>, 'children'> {
14
14
  'aria-label': string;
15
15
  children: ((item: T) => React.ReactNode) | React.ReactNode;
16
16
  }
17
17
 
18
18
  const useSegmentedControlList = createElemPropsHook(useSegmentedControlModel)(
19
- ({state: {orientation, disabled}}) => {
19
+ ({state: {orientation, disabled, items}}) => {
20
+ const directionName = orientation === 'vertical' ? 'Row' : 'Column';
20
21
  return {
21
- flexDirection: orientation === 'vertical' ? 'column' : 'row',
22
- opacity: disabled ? 0.4 : 1,
22
+ [`gridTemplate${directionName}s`]: `repeat(${items.length}, 1fr)`,
23
+ opacity: disabled ? 0.4 : undefined,
23
24
  };
24
25
  }
25
26
  );
@@ -30,19 +31,19 @@ export const SegmentedControlList = createSubcomponent('div')({
30
31
  elemPropsHook: useSegmentedControlList,
31
32
  })<SegmentedControlListProps>(({children, ...elemProps}, Element, model) => {
32
33
  return (
33
- <Stack
34
+ <Grid
34
35
  as={Element}
35
- display="inline-flex"
36
+ display="inline-grid"
36
37
  role="group"
37
38
  backgroundColor="soap200"
38
39
  border="1px solid transparent"
39
40
  borderColor="licorice200"
40
41
  borderRadius="l"
41
- spacing="xxs"
42
42
  padding="3px"
43
+ gridGap="xxs"
43
44
  {...elemProps}
44
45
  >
45
46
  {useListRenderItems(model, children)}
46
- </Stack>
47
+ </Grid>
47
48
  );
48
49
  });
@@ -1,11 +1,6 @@
1
1
  import * as React from 'react';
2
2
 
3
- import {
4
- createElemPropsHook,
5
- composeHooks,
6
- useLocalRef,
7
- useMountLayout,
8
- } from '@workday/canvas-kit-react/common';
3
+ import {createElemPropsHook, composeHooks} from '@workday/canvas-kit-react/common';
9
4
  import {
10
5
  useListItemRegister,
11
6
  isSelected,
@@ -18,57 +13,25 @@ export const useSegmentedControlItem = composeHooks(
18
13
  createElemPropsHook(useSegmentedControlModel)(
19
14
  (
20
15
  model,
21
- ref?: React.Ref<HTMLElement>,
16
+ _?: React.Ref<HTMLElement>,
22
17
  elemProps: {'data-id'?: string; children?: React.ReactNode} = {}
23
18
  ) => {
24
- const {elementRef, localRef} = useLocalRef(ref);
25
19
  const name = elemProps['data-id'] || '';
26
- const id = `${model.state.id}-${name}`;
27
-
28
- useMountLayout(() => {
29
- if (localRef.current) {
30
- const styles = getComputedStyle(localRef.current);
31
- model.events.addItemWidth({
32
- id: name,
33
- width:
34
- localRef.current.offsetWidth +
35
- parseFloat(styles.marginLeft) +
36
- parseFloat(styles.marginRight),
37
- });
38
- }
39
-
40
- return () => {
41
- model.events.removeItemWidth({id: name});
42
- };
43
- });
44
-
45
20
  const selected = !!name && isSelected(name, model.state);
46
- const [longest] = Object.keys(model.state.itemWidthCache)
47
- .map(e => model.state.itemWidthCache[e])
48
- .sort((a, b) => (a < b ? 1 : -1));
49
21
 
50
22
  return {
51
- ref: elementRef,
52
- id,
23
+ id: `${model.state.id}-${name}`,
53
24
  'aria-pressed': selected,
54
- disabled: model.state.disabled || undefined,
55
- width: elemProps.children && `${longest}px`,
56
25
  };
57
26
  }
58
27
  ),
59
28
  useListItemRegister,
60
- createElemPropsHook(useSegmentedControlModel)(
61
- (
62
- {state},
63
- _ref,
64
- elemProps: {
65
- disabled?: boolean;
66
- } = {}
67
- ) => {
68
- return {
69
- // override the default disabled functionality of `useListItemRegister`
70
- disabled: elemProps.disabled || state.disabled ? true : undefined,
71
- };
72
- }
73
- )
29
+ createElemPropsHook(useSegmentedControlModel)(({state}) => {
30
+ return {
31
+ // override the default disabled functionality of `useListItemRegister`
32
+ // it shouldn't allow to set disabled state only for one button
33
+ // state prop will disable the whole container
34
+ disabled: state.disabled ? true : undefined,
35
+ };
36
+ })
74
37
  );
@@ -1,14 +1,10 @@
1
1
  import React from 'react';
2
2
  import {createModelHook} from '@workday/canvas-kit-react/common';
3
- import {
4
- defaultGetId,
5
- useListModel,
6
- useOverflowListModel,
7
- } from '@workday/canvas-kit-react/collection';
3
+ import {defaultGetId, useListModel} from '@workday/canvas-kit-react/collection';
8
4
 
9
5
  export const useSegmentedControlModel = createModelHook({
10
6
  defaultConfig: {
11
- ...useOverflowListModel.defaultConfig,
7
+ ...useListModel.defaultConfig,
12
8
  /**
13
9
  * Optional id for the whole `SegmentedControl` group. If not provided, a unique id will be created.
14
10
  * @default useUniqueId()
@@ -42,8 +38,8 @@ export const useSegmentedControlModel = createModelHook({
42
38
  const initialSelectedRef = React.useRef(config.initialValue);
43
39
  const items = config.items;
44
40
 
45
- const model = useOverflowListModel(
46
- useOverflowListModel.mergeConfig(config, {
41
+ const model = useListModel(
42
+ useListModel.mergeConfig(config, {
47
43
  orientation: config.orientation || 'horizontal',
48
44
  items,
49
45
  onRegisterItem(data) {
@@ -65,8 +61,6 @@ export const useSegmentedControlModel = createModelHook({
65
61
  ...model.state,
66
62
  disabled: config.disabled,
67
63
  size: config.size,
68
- nonInteractiveIds: [],
69
- hiddenIds: [],
70
64
  };
71
65
 
72
66
  const events = {