@workday/canvas-kit-docs 11.0.0-alpha.662-next.0 → 11.0.0-alpha.667-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/es6/lib/docs.js +191 -146
  2. package/dist/mdx/preview-react/form-field/FormField.mdx +18 -0
  3. package/dist/mdx/preview-react/form-field/examples/AllFields.tsx +12 -12
  4. package/dist/mdx/preview-react/form-field/examples/Grow.tsx +21 -0
  5. package/dist/mdx/preview-react/form-field/examples/ThemedErrors.tsx +36 -0
  6. package/dist/mdx/preview-react/menu/Menu.mdx +10 -1
  7. package/dist/mdx/preview-react/radio/Radio.mdx +2 -5
  8. package/dist/mdx/preview-react/radio/examples/Basic.tsx +11 -4
  9. package/dist/mdx/preview-react/radio/examples/Custom.tsx +11 -4
  10. package/dist/mdx/preview-react/radio/examples/Disabled.tsx +5 -4
  11. package/dist/mdx/preview-react/radio/examples/Error.tsx +1 -1
  12. package/dist/mdx/preview-react/radio/examples/Inverse.tsx +7 -10
  13. package/dist/mdx/preview-react/radio/examples/LabelPosition.tsx +5 -8
  14. package/dist/mdx/preview-react/radio/examples/NoValue.tsx +5 -8
  15. package/dist/mdx/preview-react/radio/examples/RefForwarding.tsx +5 -4
  16. package/dist/mdx/preview-react/radio/examples/Required.tsx +7 -10
  17. package/dist/mdx/preview-react/radio/examples/StandaloneRadio.tsx +7 -4
  18. package/dist/mdx/preview-react/text-area/TextArea.mdx +9 -0
  19. package/dist/mdx/preview-react/text-input/TextInput.mdx +12 -2
  20. package/dist/mdx/react/checkbox/Checkbox.mdx +16 -6
  21. package/dist/mdx/react/checkbox/examples/Alert.tsx +11 -7
  22. package/dist/mdx/react/checkbox/examples/Error.tsx +11 -7
  23. package/dist/mdx/react/checkbox/examples/LabelPosition.tsx +9 -3
  24. package/dist/mdx/react/checkbox/examples/Required.tsx +9 -3
  25. package/dist/mdx/react/color-picker/color-input/ColorInput.mdx +16 -6
  26. package/dist/mdx/react/color-picker/color-input/examples/Alert.tsx +5 -8
  27. package/dist/mdx/react/color-picker/color-input/examples/Basic.tsx +4 -3
  28. package/dist/mdx/react/color-picker/color-input/examples/Checked.tsx +4 -3
  29. package/dist/mdx/react/color-picker/color-input/examples/Disabled.tsx +4 -3
  30. package/dist/mdx/react/color-picker/color-input/examples/Error.tsx +5 -8
  31. package/dist/mdx/react/color-picker/color-input/examples/Grow.tsx +4 -3
  32. package/dist/mdx/react/color-picker/color-input/examples/LabelPosition.tsx +4 -3
  33. package/dist/mdx/react/color-picker/color-input/examples/RefForwarding.tsx +4 -3
  34. package/dist/mdx/react/color-picker/color-input/examples/Required.tsx +4 -3
  35. package/dist/mdx/react/color-picker/color-input/examples/ValidColorChange.tsx +5 -3
  36. package/dist/mdx/react/color-picker/color-preview/ColorPreview.mdx +16 -6
  37. package/dist/mdx/react/color-picker/color-preview/examples/LabelPosition.tsx +4 -3
  38. package/dist/mdx/react/color-picker/color-preview/examples/RefForwarding.tsx +4 -3
  39. package/dist/mdx/react/common/examples/ResponsiveStyles.tsx +4 -3
  40. package/dist/mdx/react/dialog/examples/Basic.tsx +4 -3
  41. package/dist/mdx/react/dialog/examples/Focus.tsx +4 -3
  42. package/dist/mdx/react/form-field/FormField.mdx +9 -0
  43. package/dist/mdx/react/modal/examples/CustomFocus.tsx +9 -3
  44. package/dist/mdx/react/modal/examples/FormModal.tsx +7 -5
  45. package/dist/mdx/react/modal/examples/ReturnFocus.tsx +6 -4
  46. package/dist/mdx/react/radio/Radio.mdx +19 -8
  47. package/dist/mdx/react/radio/examples/Alert.tsx +6 -10
  48. package/dist/mdx/react/radio/examples/Basic.tsx +5 -4
  49. package/dist/mdx/react/radio/examples/Disabled.tsx +5 -4
  50. package/dist/mdx/react/radio/examples/Error.tsx +6 -10
  51. package/dist/mdx/react/radio/examples/LabelPosition.tsx +5 -8
  52. package/dist/mdx/react/radio/examples/NoValue.tsx +5 -4
  53. package/dist/mdx/react/radio/examples/RefForwarding.tsx +5 -4
  54. package/dist/mdx/react/radio/examples/Required.tsx +5 -4
  55. package/dist/mdx/react/select/Select.mdx +16 -7
  56. package/dist/mdx/react/select/examples/Alert.tsx +5 -7
  57. package/dist/mdx/react/select/examples/Basic.tsx +4 -3
  58. package/dist/mdx/react/select/examples/Complex.tsx +4 -3
  59. package/dist/mdx/react/select/examples/Disabled.tsx +4 -3
  60. package/dist/mdx/react/select/examples/DisabledOption.tsx +4 -3
  61. package/dist/mdx/react/select/examples/Error.tsx +5 -7
  62. package/dist/mdx/react/select/examples/Grow.tsx +4 -3
  63. package/dist/mdx/react/select/examples/HoistedModel.tsx +4 -3
  64. package/dist/mdx/react/select/examples/LabelPosition.tsx +4 -3
  65. package/dist/mdx/react/select/examples/MenuHeight.tsx +4 -3
  66. package/dist/mdx/react/select/examples/RefForwarding.tsx +8 -7
  67. package/dist/mdx/react/select/examples/Required.tsx +7 -6
  68. package/dist/mdx/react/select/examples/WithIcons.tsx +11 -6
  69. package/dist/mdx/react/skeleton/examples/Simulation.tsx +7 -5
  70. package/dist/mdx/react/status-indicator/StatusIndicator.mdx +10 -0
  71. package/dist/mdx/react/switch/Switch.mdx +16 -7
  72. package/dist/mdx/react/table/Table.mdx +7 -0
  73. package/dist/mdx/react/text-area/TextArea.mdx +18 -11
  74. package/dist/mdx/react/text-area/examples/Alert.tsx +5 -8
  75. package/dist/mdx/react/text-area/examples/Basic.tsx +4 -3
  76. package/dist/mdx/react/text-area/examples/Disabled.tsx +4 -3
  77. package/dist/mdx/react/text-area/examples/Error.tsx +5 -8
  78. package/dist/mdx/react/text-area/examples/Grow.tsx +4 -3
  79. package/dist/mdx/react/text-area/examples/LabelPosition.tsx +4 -3
  80. package/dist/mdx/react/text-area/examples/Placeholder.tsx +9 -3
  81. package/dist/mdx/react/text-area/examples/RefForwarding.tsx +4 -3
  82. package/dist/mdx/react/text-area/examples/Required.tsx +4 -3
  83. package/dist/mdx/react/text-area/examples/ResizeConstraints.tsx +9 -3
  84. package/dist/mdx/react/text-input/TextInput.mdx +16 -7
  85. package/package.json +6 -6
@@ -14,6 +14,8 @@ import CustomId from './examples/CustomId';
14
14
  import AllFields from './examples/AllFields';
15
15
  import Hint from './examples/Hint';
16
16
  import FieldSet from './examples/FieldSet';
17
+ import Grow from './examples/Grow';
18
+ import ThemedError from './examples/ThemedErrors';
17
19
 
18
20
 
19
21
  # Canvas Kit Form Field
@@ -75,6 +77,15 @@ input component. By default, the orientation will be set to `vertical`.
75
77
 
76
78
  <ExampleCodeBlock code={LabelPositionHorizontal} />
77
79
 
80
+ ### Grow
81
+
82
+ Set the `grow` prop of the Form Field to `true` to configure it (including the wrapped input
83
+ component) to expand to the width of its container.
84
+
85
+ **Note: This Prop is deprecated and will be removed in a future major version.**
86
+
87
+ <ExampleCodeBlock code={Grow} />
88
+
78
89
  ### Ref Forwarding
79
90
 
80
91
  If you need full customization you can use the `FormField` behavior hooks to build your own
@@ -120,6 +131,13 @@ Form Field should allow you to use it with all `inputs` including `Select`, `Tex
120
131
 
121
132
  <ExampleCodeBlock code={AllFields} />
122
133
 
134
+ ### Themed Errors
135
+
136
+ You can theme your error rings by wrapping an input in a `CanvasProvider` and defining
137
+ `focusOutline` and `error` properties on the `theme`.
138
+
139
+ <ExampleCodeBlock code={ThemedError} />
140
+
123
141
  ## Component API
124
142
 
125
143
  <SymbolDoc name="FormField" fileName="/preview-react/" />
@@ -18,26 +18,26 @@ export default () => {
18
18
  borderRadius: '4px',
19
19
  }}
20
20
  >
21
- <FormField>
21
+ <FormField grow>
22
22
  <FormField.Label>First Name</FormField.Label>
23
- <FormField.Input width="100%" as={TextInput} />
23
+ <FormField.Input as={TextInput} />
24
24
  </FormField>
25
25
 
26
- <FormField isRequired={true} error="alert">
26
+ <FormField isRequired={true} error="alert" grow>
27
27
  <FormField.Label>Email</FormField.Label>
28
- <FormField.Container cs={{width: '100%'}}>
29
- <FormField.Input width="100%" as={TextInput} />
28
+ <FormField.Container>
29
+ <FormField.Input as={TextInput} />
30
30
  <FormField.Hint>Hint text for your input</FormField.Hint>
31
31
  </FormField.Container>
32
32
  </FormField>
33
- <FormField>
33
+ <FormField grow>
34
34
  <FormField.Label>Text Area Label</FormField.Label>
35
- <FormField.Input width="100%" as={TextArea} />
35
+ <FormField.Input as={TextArea} />
36
36
  </FormField>
37
- <FormField error="error" width="100%">
37
+ <FormField error="error" grow>
38
38
  <FormField.Label>Choose a Crust</FormField.Label>
39
39
  <Select items={['Pizza', 'Cheeseburger', 'Fries']}>
40
- <FormField.Input width="100%" as={Select.Input} />
40
+ <FormField.Input as={Select.Input} />
41
41
  <Select.Popper>
42
42
  <Select.Card>
43
43
  <Select.List>{item => <Select.Item>{item}</Select.Item>}</Select.List>
@@ -45,7 +45,7 @@ export default () => {
45
45
  </Select.Popper>
46
46
  </Select>
47
47
  </FormField>
48
- <FormField as="fieldset" isRequired={true} error={'error'} orientation="horizontal">
48
+ <FormField as="fieldset" isRequired={true} error={'error'} orientation="horizontal" grow>
49
49
  <FormField.Label as="legend">Radio Group Legend</FormField.Label>
50
50
  <FormField.Container>
51
51
  <FormField.Input as={RadioGroup}>
@@ -60,14 +60,14 @@ export default () => {
60
60
  <FormField.Hint>Error Message</FormField.Hint>
61
61
  </FormField.Container>
62
62
  </FormField>
63
- <FormField as="fieldset">
63
+ <FormField as="fieldset" grow>
64
64
  <FormField.Label as="legend">Checkbox Legend</FormField.Label>
65
65
  <FormField.Input checked={true} as={Checkbox} label="Checkbox Label" />
66
66
  <FormField.Input checked={false} as={Checkbox} label="Thin Crust" />
67
67
  <FormField.Input checked={false} as={Checkbox} label="Extra Cheese" />
68
68
  </FormField>
69
69
 
70
- <FormField orientation="horizontal">
70
+ <FormField orientation="horizontal" grow>
71
71
  <FormField.Label>Switch Label</FormField.Label>
72
72
  <FormField.Input as={Switch} />
73
73
  </FormField>
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
+ import {Flex} from '@workday/canvas-kit-react/layout';
4
+ import {TextInput} from '@workday/canvas-kit-react/text-input';
5
+
6
+ export default () => {
7
+ const [value, setValue] = React.useState('');
8
+
9
+ const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
10
+ setValue(event.target.value);
11
+ };
12
+
13
+ return (
14
+ <Flex>
15
+ <FormField grow>
16
+ <FormField.Label>First Name</FormField.Label>
17
+ <FormField.Input as={TextInput} value={value} onChange={handleChange} />
18
+ </FormField>
19
+ </Flex>
20
+ );
21
+ };
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import {TextInput} from '@workday/canvas-kit-react/text-input';
3
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
4
+ import {CanvasProvider, PartialEmotionCanvasTheme} from '@workday/canvas-kit-react/common';
5
+ import {colors, space} from '@workday/canvas-kit-react/tokens';
6
+
7
+ export default () => {
8
+ const [value, setValue] = React.useState('');
9
+
10
+ const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
11
+ setValue(event.target.value);
12
+ };
13
+
14
+ const theme: PartialEmotionCanvasTheme = {
15
+ canvas: {
16
+ palette: {
17
+ common: {
18
+ focusOutline: colors.grapeSoda300,
19
+ },
20
+ error: {
21
+ main: colors.islandPunch400,
22
+ },
23
+ },
24
+ },
25
+ };
26
+
27
+ return (
28
+ <CanvasProvider theme={theme}>
29
+ <FormField error={!value ? 'error' : undefined} isRequired={true} orientation="vertical">
30
+ <FormField.Label>Email</FormField.Label>
31
+ <FormField.Input as={TextInput} onChange={handleChange} value={value} />
32
+ <FormField.Hint paddingTop={space.xxs}>{!value && 'Please enter an email.'}</FormField.Hint>
33
+ </FormField>
34
+ </CanvasProvider>
35
+ );
36
+ };
@@ -1,5 +1,6 @@
1
1
  import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
2
  import {DeprecatedMenu, DeprecatedMenuItem} from '@workday/canvas-kit-preview-react/menu';
3
+ import {StatusIndicator} from '@workday/canvas-kit-preview-react/status-indicator';
3
4
 
4
5
  import Basic from './examples/Basic';
5
6
  import ContextMenu from './examples/ContextMenu';
@@ -9,7 +10,15 @@ import Headers from './examples/Headers';
9
10
  import ManyItems from './examples/ManyItems';
10
11
 
11
12
 
12
- # Canvas Kit Menu (deprecated)
13
+ # Canvas Kit Menu
14
+
15
+ <StatusIndicator variant="red">
16
+ <StatusIndicator.Label>Deprecated</StatusIndicator.Label>
17
+ </StatusIndicator>
18
+
19
+ `Menu` in Preview been deprecated and will be removed in a future major version. Please use
20
+ [Menu in Main](https://workday.github.io/canvas-kit/?path=/docs/components-popups-menu--basic)
21
+ instead.
13
22
 
14
23
  `DeprecatedMenu` displays a list of options when triggered by an action or UI element like an icon
15
24
  or button.
@@ -73,11 +73,8 @@ It will forward `ref` to its underlying `<input type="radio">` element.
73
73
 
74
74
  ### Label Position
75
75
 
76
- Set the `labelPosition` prop of the wrapping `FormField` to designate the position of the label
77
- relative to the `RadioGroup`. `labelPosition` accepts the following values:
78
-
79
- - `FormField.LabelPosition.Top` (Default)
80
- - `FormField.LabelPosition.Left`
76
+ Set the `orientation` prop of the Form Field to designate the position of the label relative to the
77
+ input component. By default, the orientation will be set to `vertical`.
81
78
 
82
79
  <ExampleCodeBlock code={LabelPosition} />
83
80
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
  import {Flex} from '@workday/canvas-kit-react/layout';
5
5
 
@@ -15,8 +15,15 @@ export default () => {
15
15
 
16
16
  return (
17
17
  <Flex flexDirection="column">
18
- <FormField label="Choose Your Pizza Crust" useFieldset={true}>
19
- <RadioGroup name="pizza-crust" onChange={handleChange} width="200px" value={value}>
18
+ <FormField as="fieldset">
19
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
20
+ <FormField.Input
21
+ as={RadioGroup}
22
+ name="pizza-crust"
23
+ onChange={handleChange}
24
+ width="200px"
25
+ value={value}
26
+ >
20
27
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
21
28
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
22
29
  <RadioGroup.RadioButton value="gluten-free">Gluten free</RadioGroup.RadioButton>
@@ -24,7 +31,7 @@ export default () => {
24
31
  <RadioGroup.RadioButton value="custom">
25
32
  Butter - the best thing to put on bread
26
33
  </RadioGroup.RadioButton>
27
- </RadioGroup>
34
+ </FormField.Input>
28
35
  </FormField>
29
36
  Value selected: {value}
30
37
  </Flex>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
  import {Flex} from '@workday/canvas-kit-react/layout';
5
5
 
@@ -15,8 +15,15 @@ export default () => {
15
15
 
16
16
  return (
17
17
  <Flex flexDirection="column">
18
- <FormField label="Choose Your Pizza Crust" useFieldset={true}>
19
- <RadioGroup name="pizza-crust-custom" onChange={handleChange} width="200px" value={value}>
18
+ <FormField as="fieldset">
19
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
20
+ <FormField.Input
21
+ as={RadioGroup}
22
+ name="pizza-crust-custom"
23
+ onChange={handleChange}
24
+ width="200px"
25
+ value={value}
26
+ >
20
27
  <RadioGroup.Label>
21
28
  <RadioGroup.Label.Input value="deep-dish" />
22
29
  <RadioGroup.Label.Text color="berrySmoothie400">Deep dish</RadioGroup.Label.Text>
@@ -29,7 +36,7 @@ export default () => {
29
36
  <RadioGroup.Label.Input value="cauliflower" />
30
37
  <RadioGroup.Label.Text color="berrySmoothie400">Cauliflower</RadioGroup.Label.Text>
31
38
  </RadioGroup.Label>
32
- </RadioGroup>
39
+ </FormField.Input>
33
40
  </FormField>
34
41
  Value selected: {value}
35
42
  </Flex>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
 
5
5
  export default () => {
@@ -12,15 +12,16 @@ export default () => {
12
12
  }
13
13
  };
14
14
  return (
15
- <FormField label="Choose Your Pizza Crust" useFieldset={true}>
16
- <RadioGroup name="crust-disabled" onChange={handleChange} value={value}>
15
+ <FormField as="fieldset">
16
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
17
+ <FormField.Input as={RadioGroup} name="crust-disabled" onChange={handleChange} value={value}>
17
18
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
18
19
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
19
20
  <RadioGroup.RadioButton disabled value="gluten-free">
20
21
  Gluten free (sold out)
21
22
  </RadioGroup.RadioButton>
22
23
  <RadioGroup.RadioButton value="cauliflower">Cauliflower</RadioGroup.RadioButton>
23
- </RadioGroup>
24
+ </FormField.Input>
24
25
  </FormField>
25
26
  );
26
27
  };
@@ -13,7 +13,7 @@ export default () => {
13
13
  };
14
14
 
15
15
  return (
16
- <FormField error="error">
16
+ <FormField error="error" as="fieldset">
17
17
  <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
18
18
  <FormField.Input as={RadioGroup} name="crust-error" onChange={handleChange} value={value}>
19
19
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import {Box} from '@workday/canvas-kit-react/layout';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
- import {FormField} from '@workday/canvas-kit-react/form-field';
5
- import {styled} from '@workday/canvas-kit-react/common';
4
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
5
+ import {styled, StyledType} from '@workday/canvas-kit-react/common';
6
6
  import {colors} from '@workday/canvas-kit-react/tokens';
7
7
 
8
- const StyledFormField = styled(FormField)({
8
+ const StyledFormField = styled(FormField)<StyledType>({
9
9
  legend: {
10
10
  color: colors.frenchVanilla100,
11
11
  },
@@ -23,12 +23,9 @@ export default () => {
23
23
 
24
24
  return (
25
25
  <Box backgroundColor="blueberry400" padding="s">
26
- <StyledFormField
27
- label="Choose Your Pizza Crust"
28
- labelPosition={FormField.LabelPosition.Top}
29
- useFieldset={true}
30
- >
31
- <RadioGroup name="crust-inverse" onChange={handleChange} value={value}>
26
+ <StyledFormField as="fieldset">
27
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
28
+ <FormField.Input as={RadioGroup} name="crust-inverse" onChange={handleChange} value={value}>
32
29
  <RadioGroup.RadioButton variant="inverse" value="deep-dish">
33
30
  Deep dish
34
31
  </RadioGroup.RadioButton>
@@ -41,7 +38,7 @@ export default () => {
41
38
  <RadioGroup.RadioButton variant="inverse" value="cauliflower">
42
39
  Cauliflower
43
40
  </RadioGroup.RadioButton>
44
- </RadioGroup>
41
+ </FormField.Input>
45
42
  </StyledFormField>
46
43
  </Box>
47
44
  );
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
 
5
5
  export default () => {
@@ -12,17 +12,14 @@ export default () => {
12
12
  }
13
13
  };
14
14
  return (
15
- <FormField
16
- label="Choose Your Pizza Crust"
17
- labelPosition={FormField.LabelPosition.Left}
18
- useFieldset={true}
19
- >
20
- <RadioGroup name="crust-label" onChange={handleChange} value={value}>
15
+ <FormField orientation="horizontal" as="fieldset">
16
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
17
+ <FormField.Input as={RadioGroup} name="crust-label" onChange={handleChange} value={value}>
21
18
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
22
19
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
23
20
  <RadioGroup.RadioButton value="gluten-free">Gluten free</RadioGroup.RadioButton>
24
21
  <RadioGroup.RadioButton value="cauliflower">Cauliflower</RadioGroup.RadioButton>
25
- </RadioGroup>
22
+ </FormField.Input>
26
23
  </FormField>
27
24
  );
28
25
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
 
5
5
  export default () => {
@@ -12,17 +12,14 @@ export default () => {
12
12
  }
13
13
  };
14
14
  return (
15
- <FormField
16
- label="Choose Your Pizza Crust"
17
- labelPosition={FormField.LabelPosition.Top}
18
- useFieldset={true}
19
- >
20
- <RadioGroup name="crust-no-value" onChange={handleChange} value={value}>
15
+ <FormField as="fieldset">
16
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
17
+ <FormField.Input as={RadioGroup} name="crust-no-value" onChange={handleChange} value={value}>
21
18
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
22
19
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
23
20
  <RadioGroup.RadioButton value="gluten-free">Gluten free</RadioGroup.RadioButton>
24
21
  <RadioGroup.RadioButton value="cauliflower">Cauliflower</RadioGroup.RadioButton>
25
- </RadioGroup>
22
+ </FormField.Input>
26
23
  </FormField>
27
24
  );
28
25
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
3
- import {FormField} from '@workday/canvas-kit-react/form-field';
3
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
4
4
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
5
5
 
6
6
  export default () => {
@@ -20,15 +20,16 @@ export default () => {
20
20
 
21
21
  return (
22
22
  <>
23
- <FormField label="Choose Your Pizza Crust" useFieldset={true}>
24
- <RadioGroup name="crust-ref" onChange={handleChange} value={value}>
23
+ <FormField as="fieldset">
24
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
25
+ <FormField.Input as={RadioGroup} name="crust-ref" onChange={handleChange} value={value}>
25
26
  <RadioGroup.RadioButton value="deep-dish">Deep dish</RadioGroup.RadioButton>
26
27
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
27
28
  <RadioGroup.RadioButton value="gluten-free" ref={glutenFreeRef}>
28
29
  Gluten free
29
30
  </RadioGroup.RadioButton>
30
31
  <RadioGroup.RadioButton value="cauliflower">Cauliflower</RadioGroup.RadioButton>
31
- </RadioGroup>
32
+ </FormField.Input>
32
33
  </FormField>
33
34
  <PrimaryButton onClick={handleClick}>Select Gluten Free</PrimaryButton>
34
35
  </>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {RadioGroup} from '@workday/canvas-kit-preview-react/radio';
4
4
 
5
5
  export default () => {
@@ -12,14 +12,10 @@ export default () => {
12
12
  }
13
13
  };
14
14
  return (
15
- <FormField
16
- label="Choose Your Pizza Crust"
17
- required={true}
18
- useFieldset={true}
19
- hintText="You must choose a crust"
20
- hintId="choose-crust"
21
- >
22
- <RadioGroup
15
+ <FormField isRequired={true} as="fieldset">
16
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
17
+ <FormField.Input
18
+ as={RadioGroup}
23
19
  name="crust-required"
24
20
  onChange={handleChange}
25
21
  value={value}
@@ -29,7 +25,8 @@ export default () => {
29
25
  <RadioGroup.RadioButton value="thin">Thin</RadioGroup.RadioButton>
30
26
  <RadioGroup.RadioButton value="gluten-free">Gluten free</RadioGroup.RadioButton>
31
27
  <RadioGroup.RadioButton value="cauliflower">Cauliflower</RadioGroup.RadioButton>
32
- </RadioGroup>
28
+ </FormField.Input>
29
+ <FormField.Hint>You must choose a crust</FormField.Hint>
33
30
  </FormField>
34
31
  );
35
32
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import {FormField} from '@workday/canvas-kit-react/form-field';
2
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
3
  import {StyledRadioButton} from '@workday/canvas-kit-preview-react/radio';
4
4
  import {Flex} from '@workday/canvas-kit-react/layout';
5
5
 
@@ -15,10 +15,12 @@ export default () => {
15
15
 
16
16
  return (
17
17
  <Flex flexDirection="column">
18
- <FormField label="Choose Your Pizza Crust" useFieldset={true}>
18
+ <FormField as="fieldset">
19
+ <FormField.Label as="legend">Choose Your Pizza Crust</FormField.Label>
19
20
  <Flex gap="m">
20
21
  <Flex as="label" gap="xs">
21
- <StyledRadioButton
22
+ <FormField.Input
23
+ as={StyledRadioButton}
22
24
  onChange={handleChange}
23
25
  value="deep-dish"
24
26
  name="pizza-crust-standalone"
@@ -27,7 +29,8 @@ export default () => {
27
29
  Deep dish
28
30
  </Flex>
29
31
  <Flex as="label" gap="xs">
30
- <StyledRadioButton
32
+ <FormField.Input
33
+ as={StyledRadioButton}
31
34
  onChange={handleChange}
32
35
  value="gluten-free"
33
36
  checked={value === 'gluten-free'}
@@ -1,6 +1,7 @@
1
1
  import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
2
 
3
3
  import {TextArea} from '@workday/canvas-kit-preview-react/text-area';
4
+ import {StatusIndicator} from '@workday/canvas-kit-preview-react/status-indicator';
4
5
 
5
6
  import Alert from './examples/Alert';
6
7
  import Basic from './examples/Basic';
@@ -18,6 +19,14 @@ import ResizeConstraints from './examples/ResizeConstraints';
18
19
 
19
20
  # Canvas Kit Text Area
20
21
 
22
+ <StatusIndicator variant="red">
23
+ <StatusIndicator.Label>Deprecated</StatusIndicator.Label>
24
+ </StatusIndicator>
25
+
26
+ `TextArea` in Preview has been deprecated and will be removed in a future major version. Please use
27
+ [`FormField` in Preview](https://workday.github.io/canvas-kit/?path=/story/preview-inputs-form-field--basic)
28
+ instead.
29
+
21
30
  TextArea's allow users to enter and edit multiple lines of text.
22
31
 
23
32
  [> Workday Design Reference](https://design.workday.com/components/inputs/text-area)
@@ -1,6 +1,7 @@
1
1
  import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
2
 
3
3
  import {TextInput} from '@workday/canvas-kit-preview-react/text-input';
4
+ import {StatusIndicator} from '@workday/canvas-kit-preview-react/status-indicator';
4
5
 
5
6
  import Basic from './examples/Basic';
6
7
  import Disabled from './examples/Disabled';
@@ -22,6 +23,14 @@ import Alert from './examples/Alert';
22
23
 
23
24
  # Canvas Kit Text Input
24
25
 
26
+ <StatusIndicator variant="red">
27
+ <StatusIndicator.Label>Deprecated</StatusIndicator.Label>
28
+ </StatusIndicator>
29
+
30
+ `TextInput` in Preview has been deprecated and will be removed in a future major version. Please use
31
+ [`FormField` in Preview](https://workday.github.io/canvas-kit/?path=/story/preview-inputs-form-field--basic)
32
+ instead.
33
+
25
34
  Text Inputs allow users to enter words or characters without styling.
26
35
 
27
36
  [> Workday Design Reference](https://design.workday.com/components/inputs/text-input)
@@ -68,8 +77,9 @@ of the immutiblity.
68
77
 
69
78
  ### Hidden
70
79
 
71
- Set `TextInput.Field`'s `type` prop to
72
- `hidden` to completly hide a field while still submitting its value, often used for things like security tokens. Note: You will likely need to manually set`aria-describedby={undefined}`and`id={undefined}`
80
+ Set `TextInput.Field`'s `type` prop to `hidden` to completly hide a field while still submitting its
81
+ value, often used for things like security tokens. Note: You will likely need to manually
82
+ set`aria-describedby={undefined}`and`id={undefined}`
73
83
 
74
84
  <ExampleCodeBlock code={Hidden} />
75
85
 
@@ -1,6 +1,7 @@
1
1
  import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
2
 
3
3
  import {Checkbox} from '@workday/canvas-kit-react/checkbox/lib/Checkbox.tsx';
4
+ import {InformationHighlight} from '@workday/canvas-kit-docs';
4
5
 
5
6
  import Alert from './examples/Alert';
6
7
  import Basic from './examples/Basic';
@@ -28,6 +29,18 @@ yarn add @workday/canvas-kit-react
28
29
 
29
30
  ## Usage
30
31
 
32
+ <InformationHighlight style={{margin: '1.5rem 0'}}>
33
+ <InformationHighlight.Icon />
34
+ <InformationHighlight.Heading>Note</InformationHighlight.Heading>
35
+ <InformationHighlight.Body>
36
+ These examples are using FormField from Preview. We can plan to promote this component to the
37
+ Main package in a future major version.
38
+ </InformationHighlight.Body>
39
+ <InformationHighlight.Link href="https://workday.github.io/canvas-kit/?path=/docs/preview-inputs-form-field--basic">
40
+ View Form Field (Preview) Documentation
41
+ </InformationHighlight.Link>
42
+ </InformationHighlight>
43
+
31
44
  ### Basic Example
32
45
 
33
46
  Checkbox may be used on its own without [Form Field](/components/inputs/form-field/) since it
@@ -66,13 +79,10 @@ Checkbox supports [ref forwarding](https://reactjs.org/docs/forwarding-refs.html
66
79
 
67
80
  <ExampleCodeBlock code={RefForwarding} />
68
81
 
69
- ### Label Position
70
-
71
- If Form Field is being used, set its `labelPosition` prop to designate the position of the label
72
- relative to the Checkbox. `labelPosition` accepts the following values:
82
+ ### Label Position Horizontal
73
83
 
74
- - `FormField.LabelPosition.Top` (Default)
75
- - `FormField.LabelPosition.Left`
84
+ Set the `orientation` prop of the Form Field to designate the position of the label relative to the
85
+ input component. By default, the orientation will be set to `vertical`.
76
86
 
77
87
  <ExampleCodeBlock code={LabelPosition} />
78
88
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import {Checkbox} from '@workday/canvas-kit-react/checkbox';
3
- import {FormField} from '@workday/canvas-kit-react/form-field';
3
+ import {FormField} from '@workday/canvas-kit-preview-react/form-field';
4
4
 
5
5
  export default () => {
6
6
  const [checked, setChecked] = React.useState(false);
@@ -10,12 +10,16 @@ export default () => {
10
10
  };
11
11
 
12
12
  return (
13
- <FormField
14
- error={FormField.ErrorType.Alert}
15
- hintId="hint-alert"
16
- hintText="You must agree to the terms before proceeding"
17
- >
18
- <Checkbox checked={checked} label="I agree to the terms" onChange={handleChange} />
13
+ <FormField error="alert" orientation="horizontal">
14
+ <FormField.Container>
15
+ <FormField.Input
16
+ as={Checkbox}
17
+ checked={checked}
18
+ label="I agree to the terms"
19
+ onChange={handleChange}
20
+ />
21
+ <FormField.Hint>You must agree to the terms before proceeding</FormField.Hint>
22
+ </FormField.Container>
19
23
  </FormField>
20
24
  );
21
25
  };