@workday/canvas-kit-docs 13.0.0-alpha.950-next.0 → 13.0.0-alpha.996-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 (77) hide show
  1. package/dist/es6/index.d.ts +0 -1
  2. package/dist/es6/index.d.ts.map +1 -1
  3. package/dist/es6/index.js +0 -1
  4. package/dist/es6/lib/docs.js +2058 -189
  5. package/dist/es6/mdx/versionsTable.d.ts.map +1 -1
  6. package/dist/es6/mdx/versionsTable.js +4 -0
  7. package/dist/es6/mdx/welcomePage.js +1 -1
  8. package/dist/mdx/10.0-UPGRADE-GUIDE.mdx +1 -1
  9. package/dist/mdx/11.0-UPGRADE-GUIDE.mdx +6 -6
  10. package/dist/mdx/12.0-UPGRADE-GUIDE.mdx +6 -6
  11. package/dist/mdx/CONTRIBUTING.mdx +1 -1
  12. package/dist/mdx/CREATING_COMPOUND_COMPONENTS.mdx +31 -0
  13. package/dist/mdx/preview-react/InformationHighlight/InformationHighlight.mdx +109 -0
  14. package/dist/mdx/preview-react/InformationHighlight/examples/Basic.tsx +18 -0
  15. package/dist/mdx/preview-react/InformationHighlight/examples/Body.tsx +13 -0
  16. package/dist/mdx/preview-react/InformationHighlight/examples/Caution.tsx +27 -0
  17. package/dist/mdx/preview-react/InformationHighlight/examples/Critical.tsx +33 -0
  18. package/dist/mdx/preview-react/InformationHighlight/examples/CustomIconCritical.tsx +28 -0
  19. package/dist/mdx/preview-react/InformationHighlight/examples/Heading.tsx +11 -0
  20. package/dist/mdx/preview-react/InformationHighlight/examples/Informational.tsx +27 -0
  21. package/dist/mdx/preview-react/InformationHighlight/examples/RTL.tsx +42 -0
  22. package/dist/mdx/preview-react/radio/Radio.mdx +2 -2
  23. package/dist/mdx/preview-react/select/examples/Top Label/Alert.tsx +1 -1
  24. package/dist/mdx/preview-react/status-indicator/StatusIndicator.mdx +2 -2
  25. package/dist/mdx/react/_examples/GlobalHeader.mdx +36 -0
  26. package/dist/mdx/react/_examples/mdx/CompoundComponent.mdx +2 -2
  27. package/dist/mdx/react/_examples/mdx/Headers.mdx +26 -0
  28. package/dist/mdx/react/_examples/mdx/examples/GlobalHeader.tsx +267 -37
  29. package/dist/mdx/react/badge/CountBadge.mdx +2 -2
  30. package/dist/mdx/react/breadcrumbs/examples/Overflow.tsx +13 -4
  31. package/dist/mdx/react/button/button/Button.mdx +5 -5
  32. package/dist/mdx/react/card/card.mdx +2 -2
  33. package/dist/mdx/react/checkbox/Checkbox.mdx +5 -5
  34. package/dist/mdx/react/combobox/Combobox.mdx +2 -2
  35. package/dist/mdx/react/form-field/FormField.mdx +2 -2
  36. package/dist/mdx/react/modal/examples/IframeTest.tsx +4 -1
  37. package/dist/mdx/react/popup/examples/PopupWithFallbackPlacements.tsx +102 -53
  38. package/dist/mdx/react/select/Select.mdx +6 -6
  39. package/dist/mdx/react/switch/Switch.mdx +5 -5
  40. package/dist/mdx/react/table/Table.mdx +2 -2
  41. package/dist/mdx/react/text/BodyText.mdx +2 -2
  42. package/dist/mdx/react/text/Heading.mdx +2 -2
  43. package/dist/mdx/react/text/Subtext.mdx +2 -2
  44. package/dist/mdx/react/text/Text.mdx +2 -2
  45. package/dist/mdx/react/text/Title.mdx +2 -2
  46. package/dist/mdx/react/tokens/Tokens.mdx +2 -1
  47. package/dist/mdx/welcome.mdx +3 -3
  48. package/index.ts +0 -1
  49. package/package.json +7 -7
  50. package/dist/es6/lib/InformationHighlight/Base.d.ts +0 -5
  51. package/dist/es6/lib/InformationHighlight/Base.d.ts.map +0 -1
  52. package/dist/es6/lib/InformationHighlight/Base.js +0 -9
  53. package/dist/es6/lib/InformationHighlight/Body.d.ts +0 -2
  54. package/dist/es6/lib/InformationHighlight/Body.d.ts.map +0 -1
  55. package/dist/es6/lib/InformationHighlight/Body.js +0 -18
  56. package/dist/es6/lib/InformationHighlight/Heading.d.ts +0 -2
  57. package/dist/es6/lib/InformationHighlight/Heading.d.ts.map +0 -1
  58. package/dist/es6/lib/InformationHighlight/Heading.js +0 -17
  59. package/dist/es6/lib/InformationHighlight/Icon.d.ts +0 -13
  60. package/dist/es6/lib/InformationHighlight/Icon.d.ts.map +0 -1
  61. package/dist/es6/lib/InformationHighlight/Icon.js +0 -44
  62. package/dist/es6/lib/InformationHighlight/Link.d.ts +0 -2
  63. package/dist/es6/lib/InformationHighlight/Link.d.ts.map +0 -1
  64. package/dist/es6/lib/InformationHighlight/Link.js +0 -18
  65. package/dist/es6/lib/InformationHighlight/index.d.ts +0 -25
  66. package/dist/es6/lib/InformationHighlight/index.d.ts.map +0 -1
  67. package/dist/es6/lib/InformationHighlight/index.js +0 -44
  68. package/dist/es6/lib/InformationHighlight/modelHook.d.ts +0 -19
  69. package/dist/es6/lib/InformationHighlight/modelHook.d.ts.map +0 -1
  70. package/dist/es6/lib/InformationHighlight/modelHook.js +0 -13
  71. package/lib/InformationHighlight/Base.tsx +0 -12
  72. package/lib/InformationHighlight/Body.tsx +0 -21
  73. package/lib/InformationHighlight/Heading.tsx +0 -20
  74. package/lib/InformationHighlight/Icon.tsx +0 -65
  75. package/lib/InformationHighlight/Link.tsx +0 -20
  76. package/lib/InformationHighlight/index.tsx +0 -62
  77. package/lib/InformationHighlight/modelHook.ts +0 -16
@@ -1,65 +1,295 @@
1
1
  import * as React from 'react';
2
- import {styled, createComponent, dubLogoBlue} from '@workday/canvas-kit-react/common';
3
- import {colors, depth, space, type} from '@workday/canvas-kit-react/tokens';
4
-
2
+ import {
3
+ AccessibleHide,
4
+ AriaLiveRegion,
5
+ composeHooks,
6
+ createComponent,
7
+ createElemPropsHook,
8
+ createSubcomponent,
9
+ ExtractProps,
10
+ useUniqueId,
11
+ } from '@workday/canvas-kit-react/common';
12
+ import {base, system} from '@workday/canvas-tokens-web';
13
+ import {calc, createStyles, px2rem} from '@workday/canvas-kit-styling';
5
14
  import {
6
15
  notificationsIcon,
7
16
  inboxIcon,
8
17
  justifyIcon,
9
18
  assistantIcon,
19
+ searchIcon,
10
20
  } from '@workday/canvas-system-icons-web';
11
21
 
12
- import {TertiaryButton, Hyperlink} from '@workday/canvas-kit-react/button';
22
+ import {SecondaryButton, TertiaryButton} from '@workday/canvas-kit-react/button';
13
23
  import {Avatar} from '@workday/canvas-kit-react/avatar';
14
24
  import {Flex, FlexProps} from '@workday/canvas-kit-react/layout';
15
- import {SearchForm} from '@workday/canvas-kit-labs-react/search-form';
25
+ import {LoadReturn} from '@workday/canvas-kit-react/collection';
26
+ import {Tooltip} from '@workday/canvas-kit-react/tooltip';
27
+ import {
28
+ Combobox,
29
+ useComboboxModel,
30
+ useComboboxInput,
31
+ useComboboxLoader,
32
+ } from '@workday/canvas-kit-react/combobox';
33
+ import {InputGroup, TextInput} from '@workday/canvas-kit-react/text-input';
34
+ import {StyledMenuItem} from '@workday/canvas-kit-react/menu';
35
+ import {SystemIcon} from '@workday/canvas-kit-react/icon';
36
+ import {CountBadge} from '@workday/canvas-kit-react/badge';
16
37
 
17
38
  interface HeaderItemProps extends FlexProps {}
39
+ interface LiveCountBadgeProps extends FlexProps {
40
+ cnt: number;
41
+ }
18
42
 
19
- export default () => (
20
- <GlobalHeader>
21
- <GlobalHeader.Item>
22
- <TertiaryButton aria-label="menu" icon={justifyIcon} />
23
- <Hyperlink>
24
- <WorkdayLogo dangerouslySetInnerHTML={{__html: dubLogoBlue}} />
25
- </Hyperlink>
26
- </GlobalHeader.Item>
27
- <GlobalHeader.Item margin="auto" width="100%" maxWidth={`calc(${space.xxxl} * 6)`}>
28
- <SearchForm onSubmit={() => 1} />
29
- </GlobalHeader.Item>
30
- <GlobalHeader.Item>
31
- <TertiaryButton aria-label="messages" icon={assistantIcon} />
32
- <TertiaryButton aria-label="notifications" icon={notificationsIcon} />
33
- <TertiaryButton aria-label="inbox" icon={inboxIcon} />
34
- <Avatar size="medium" variant="light" />
35
- </GlobalHeader.Item>
36
- </GlobalHeader>
43
+ const tasks = ['Request Time Off', 'Create Expense Report', 'Change Benefits'];
44
+
45
+ const styleOverrides = {
46
+ headerWrapper: createStyles({
47
+ display: 'flex',
48
+ alignItems: 'center',
49
+ justifyContent: 'space-between',
50
+ boxSizing: 'border-box',
51
+ ...system.type.subtext.large,
52
+ WebkitFontSmoothing: 'antialiased',
53
+ MozOsxFontSmoothing: 'grayscale',
54
+ backgroundColor: system.color.bg.default,
55
+ padding: system.space.x1,
56
+ }),
57
+ inputGroupInner: createStyles({
58
+ marginLeft: '1rem',
59
+ width: px2rem(20),
60
+ transition: 'opacity 100ms ease',
61
+ }),
62
+ comboboxContainer: createStyles({
63
+ margin: 'auto',
64
+ width: '100%',
65
+ maxWidth: calc.multiply(system.space.x20, 6),
66
+ }),
67
+ comboboxInput: createStyles({
68
+ borderRadius: px2rem(1000),
69
+ width: '20rem',
70
+ }),
71
+ comboboxMenuList: createStyles({
72
+ maxHeight: px2rem(200),
73
+ }),
74
+ menuButtonStyles: createStyles({
75
+ textDecoration: 'none',
76
+ color: base.blackPepper500,
77
+ }),
78
+ notificationContainerStyles: createStyles({
79
+ boxSizing: 'border-box',
80
+ position: 'relative',
81
+ }),
82
+ countBadgeStyles: createStyles({
83
+ boxSizing: 'border-box',
84
+ position: 'absolute',
85
+ top: calc.negate(system.space.x1),
86
+ insetInlineEnd: calc.negate(system.space.x1),
87
+ }),
88
+ actionButtonStyles: createStyles({
89
+ gap: system.space.x4,
90
+ margin: system.space.x4,
91
+ }),
92
+ };
93
+
94
+ const useAutocompleteInput = composeHooks(
95
+ createElemPropsHook(useComboboxModel)(model => {
96
+ return {
97
+ onKeyPress(event: React.KeyboardEvent) {
98
+ model.events.show(event);
99
+ },
100
+ };
101
+ }),
102
+ useComboboxInput
37
103
  );
38
104
 
105
+ const AutoCompleteInput = createSubcomponent(TextInput)({
106
+ modelHook: useComboboxModel,
107
+ elemPropsHook: useAutocompleteInput,
108
+ })<ExtractProps<typeof Combobox.Input, never>>((elemProps, Element) => {
109
+ return <Combobox.Input as={Element} {...elemProps} />;
110
+ });
111
+
112
+ export default () => {
113
+ const [notifications, setNotifications] = React.useState(0);
114
+
115
+ function handleAdd() {
116
+ setNotifications(prev => prev + 1);
117
+ }
118
+
119
+ function handleClear() {
120
+ setNotifications(0);
121
+ }
122
+
123
+ return (
124
+ <>
125
+ <GlobalHeader>
126
+ <GlobalHeader.Item>
127
+ <Tooltip title="Global Navigation" type="describe">
128
+ <TertiaryButton icon={justifyIcon} cs={styleOverrides.menuButtonStyles}>
129
+ MENU
130
+ </TertiaryButton>
131
+ </Tooltip>
132
+ <Tooltip title="Workday Home">
133
+ <TertiaryButton>
134
+ <img src="https://design.workday.com/images/ck-dub-logo-blue.svg" alt="" />
135
+ </TertiaryButton>
136
+ </Tooltip>
137
+ </GlobalHeader.Item>
138
+ <GlobalHeader.Item cs={styleOverrides.comboboxContainer}>
139
+ <Autocomplete aria-label="Search Workday" />
140
+ </GlobalHeader.Item>
141
+ <GlobalHeader.Item>
142
+ <Tooltip title="Assistant">
143
+ <TertiaryButton icon={assistantIcon} />
144
+ </Tooltip>
145
+
146
+ <NotificationLiveBadge cnt={notifications} />
147
+
148
+ <Tooltip title="My Tasks">
149
+ <TertiaryButton icon={inboxIcon} />
150
+ </Tooltip>
151
+ <Tooltip title="Profile">
152
+ <Avatar />
153
+ </Tooltip>
154
+ </GlobalHeader.Item>
155
+ </GlobalHeader>
156
+ <Flex cs={styleOverrides.actionButtonStyles}>
157
+ <SecondaryButton onClick={handleAdd}>Add notification</SecondaryButton>
158
+ <TertiaryButton onClick={handleClear}>Clear</TertiaryButton>
159
+ </Flex>
160
+ </>
161
+ );
162
+ };
163
+
39
164
  const GlobalHeaderItem = createComponent('div')({
40
165
  displayName: 'GlobalHeader.Item',
41
166
  Component: ({gap = 's', ...props}: HeaderItemProps, ref) => (
42
- <Flex gap={gap} alignItems="center" marginX={space.xs} ref={ref} {...props} />
167
+ <Flex gap={gap} alignItems="center" marginX={system.space.x3} ref={ref} {...props} />
43
168
  ),
44
169
  });
45
170
 
46
171
  const GlobalHeader = createComponent('header')({
47
172
  displayName: 'GlobalHeader',
48
- Component: (props, ref, Element) => <HeaderWrapper ref={ref} as={Element} {...props} />,
173
+ Component: (props, ref) => (
174
+ <header className={styleOverrides.headerWrapper} ref={ref} {...props} />
175
+ ),
49
176
  subComponents: {Item: GlobalHeaderItem},
50
177
  });
51
178
 
52
- const HeaderWrapper = styled('header')({
53
- display: 'flex',
54
- alignItems: 'center',
55
- justifyContent: 'space-between',
56
- boxSizing: 'border-box',
57
- ...type.levels.subtext.large,
58
- WebkitFontSmoothing: 'antialiased',
59
- MozOsxFontSmoothing: 'grayscale',
60
- backgroundColor: colors.frenchVanilla100,
61
- ...depth[1],
62
- padding: space.xxs,
179
+ const Autocomplete = createComponent('div')({
180
+ displayName: 'Autocomplete',
181
+ Component: props => {
182
+ const [searchText, setSearchText] = React.useState('');
183
+
184
+ function handleChange(e) {
185
+ setSearchText(e.target.value);
186
+ }
187
+
188
+ const {model, loader} = useComboboxLoader(
189
+ {
190
+ // You can start with any number that makes sense.
191
+ total: 0,
192
+
193
+ // Pick whatever number makes sense for your API
194
+ pageSize: 20,
195
+
196
+ // A load function that will be called by the loader. You must return a promise that returns
197
+ // an object like `{items: [], total: 0}`. The `items` will be merged into the loader's cache
198
+ async load({pageNumber, pageSize, filter}) {
199
+ return new Promise<LoadReturn<string>>(resolve => {
200
+ // simulate a server response by resolving after a period of time
201
+ setTimeout(() => {
202
+ // simulate paging and filtering based on pre-computed items
203
+ const start = (pageNumber - 1) * pageSize;
204
+ const end = start + pageSize;
205
+ const filteredTasks = tasks.filter(i => {
206
+ if (searchText.trim() === '' || typeof searchText !== 'string') {
207
+ return true;
208
+ }
209
+ return i.toLowerCase().includes(searchText.trim().toLowerCase());
210
+ });
211
+
212
+ const total = filteredTasks.length;
213
+ const items = filteredTasks.slice(start, end);
214
+
215
+ resolve({
216
+ items,
217
+ total,
218
+ });
219
+ }, 300);
220
+ });
221
+ },
222
+ onShow() {
223
+ // The `shouldLoad` cancels while the combobox menu is hidden, so let's load when it is
224
+ // visible
225
+ loader.load();
226
+ },
227
+ },
228
+ useComboboxModel
229
+ );
230
+
231
+ return (
232
+ <Combobox model={model}>
233
+ <InputGroup>
234
+ <InputGroup.InnerStart cs={styleOverrides.inputGroupInner}>
235
+ <SystemIcon icon={searchIcon} />
236
+ </InputGroup.InnerStart>
237
+ <InputGroup.Input
238
+ as={AutoCompleteInput}
239
+ cs={styleOverrides.comboboxInput}
240
+ onChange={handleChange}
241
+ value={searchText}
242
+ {...props}
243
+ />
244
+ </InputGroup>
245
+ <Combobox.Menu.Popper>
246
+ <Combobox.Menu.Card>
247
+ {model.state.items.length === 0 ? (
248
+ <StyledMenuItem as="span">No Results Found</StyledMenuItem>
249
+ ) : (
250
+ model.state.items.length > 0 && (
251
+ <Combobox.Menu.List maxHeight={px2rem(200)}>
252
+ {item => <Combobox.Menu.Item>{item}</Combobox.Menu.Item>}
253
+ </Combobox.Menu.List>
254
+ )
255
+ )}
256
+ </Combobox.Menu.Card>
257
+ </Combobox.Menu.Popper>
258
+ </Combobox>
259
+ );
260
+ },
63
261
  });
64
262
 
65
- const WorkdayLogo = styled('span')({lineHeight: 0});
263
+ const NotificationLiveBadge = createComponent('span')({
264
+ displayName: 'NotificationLiveBadge',
265
+ Component: ({cnt = 0, ...props}: LiveCountBadgeProps) => {
266
+ const btnId = useUniqueId();
267
+ const badgeId = useUniqueId();
268
+
269
+ return (
270
+ <Flex cs={styleOverrides.notificationContainerStyles}>
271
+ <Tooltip title="Notifications">
272
+ <TertiaryButton
273
+ id={btnId}
274
+ icon={notificationsIcon}
275
+ aria-describedby={cnt > 0 ? badgeId : undefined}
276
+ {...props}
277
+ />
278
+ </Tooltip>
279
+ <AriaLiveRegion aria-labelledby={btnId}>
280
+ {cnt > 0 && (
281
+ <>
282
+ <CountBadge
283
+ id={badgeId}
284
+ count={cnt}
285
+ limit={100}
286
+ cs={styleOverrides.countBadgeStyles}
287
+ />
288
+ <AccessibleHide>New</AccessibleHide>
289
+ </>
290
+ )}
291
+ </AriaLiveRegion>
292
+ </Flex>
293
+ );
294
+ },
295
+ });
@@ -1,4 +1,4 @@
1
- import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
1
+ import { ExampleCodeBlock, SymbolDoc } from '@workday/canvas-kit-docs';
2
2
 
3
3
  import Basic from './examples/Basic';
4
4
  import CustomLimit from './examples/CustomLimit';
@@ -60,7 +60,7 @@ of another screen update, then this use of `AriaLiveRegion` is unnecessary and n
60
60
  ### Custom Styles
61
61
 
62
62
  Count Badge supports custom styling via the `cs` prop. For more information, check our
63
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
63
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs).
64
64
 
65
65
  ## Component API
66
66
 
@@ -9,7 +9,7 @@ export interface Breadcrumb {
9
9
  text: string;
10
10
  }
11
11
 
12
- export default () => {
12
+ export default ({width = '100%'}) => {
13
13
  const [items] = React.useState<Breadcrumb[]>([
14
14
  {id: '1', text: 'Home', link: '/'},
15
15
  {id: '2', text: 'Second Link', link: '#'},
@@ -21,11 +21,15 @@ export default () => {
21
21
  ]);
22
22
 
23
23
  const model = useBreadcrumbsModel({items});
24
- const [containerWidth, setContainerWidth] = React.useState('350px');
25
-
24
+ const [containerWidth, setContainerWidth] = React.useState(width);
26
25
  return (
27
26
  <div>
28
27
  <Box width={containerWidth} marginBottom="xl">
28
+ <div style={{display: 'flex', flexDirection: 'column'}}>
29
+ <span>Current Container Width: {containerWidth}</span>
30
+ <span>Overflow visibility: {model.menu.state.visibility}</span>
31
+ </div>
32
+ <hr />
29
33
  <Breadcrumbs model={model} aria-label="Breadcrumbs">
30
34
  <Breadcrumbs.List overflowButton={<Breadcrumbs.OverflowButton aria-label="More links" />}>
31
35
  {item =>
@@ -51,7 +55,12 @@ export default () => {
51
55
  </Box>
52
56
  <hr />
53
57
  <h4>Change Breadcrumbs container size</h4>
54
- <SegmentedControl onSelect={data => setContainerWidth(data.id)}>
58
+ <SegmentedControl
59
+ initialValue={width}
60
+ onSelect={data => {
61
+ setContainerWidth(data.id);
62
+ }}
63
+ >
55
64
  <SegmentedControl.List aria-label="container width control" marginBottom="m">
56
65
  <SegmentedControl.Item data-id="100%">100%</SegmentedControl.Item>
57
66
  <SegmentedControl.Item data-id="480px">480px</SegmentedControl.Item>
@@ -1,8 +1,8 @@
1
1
  import {
2
- ExampleCodeBlock,
3
- Specifications,
4
- SymbolDoc,
5
- SymbolDescription,
2
+ ExampleCodeBlock,
3
+ Specifications,
4
+ SymbolDoc,
5
+ SymbolDescription,
6
6
  } from '@workday/canvas-kit-docs';
7
7
 
8
8
  import Primary from './examples/Primary';
@@ -86,7 +86,7 @@ the width of the button to the width of its container.
86
86
  ### Custom Styles
87
87
 
88
88
  All of our buttons support custom styling via the `cs` prop. For more information, check our
89
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page)
89
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs)
90
90
  or view the example below.
91
91
 
92
92
  <ExampleCodeBlock code={CustomStyles} />
@@ -1,4 +1,4 @@
1
- import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
1
+ import { ExampleCodeBlock, SymbolDoc } from '@workday/canvas-kit-docs';
2
2
  import Basic from './examples/Basic';
3
3
  import WithCustomStyles from './examples/CustomStyles';
4
4
  import WithStencils from './examples/Stencils';
@@ -30,7 +30,7 @@ yarn add @workday/canvas-kit-react
30
30
  ### Custom Styles
31
31
 
32
32
  Card and its subcomponents support custom styling via the `cs` prop. For more information, check our
33
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
33
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs).
34
34
 
35
35
  <ExampleCodeBlock code={WithCustomStyles} />
36
36
 
@@ -1,8 +1,8 @@
1
1
  import {
2
- ExampleCodeBlock,
3
- SymbolDoc,
4
- Specifications,
5
- InformationHighlight,
2
+ ExampleCodeBlock,
3
+ SymbolDoc,
4
+ Specifications,
5
+ InformationHighlight,
6
6
  } from '@workday/canvas-kit-docs';
7
7
  import Alert from './examples/Alert';
8
8
  import Basic from './examples/Basic';
@@ -104,7 +104,7 @@ or `Checkbox.ErrorType.Error` if Form Field is not being used.
104
104
  ### Custom Styles
105
105
 
106
106
  Checkbox supports custom styling via the `cs` prop. For more information, check our
107
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
107
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs).
108
108
 
109
109
  ## Component API
110
110
 
@@ -1,4 +1,4 @@
1
- import {ExampleCodeBlock, SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
1
+ import { ExampleCodeBlock, SymbolDoc, Specifications } from '@workday/canvas-kit-docs';
2
2
  import Autocomplete from './examples/Autocomplete';
3
3
 
4
4
  # Combobox
@@ -72,7 +72,7 @@ An Autocomplete is an example of an arbitrary combobox.
72
72
 
73
73
  Combobox and its subcomponents support custom styling via the `cs` prop. For more information, check
74
74
  our
75
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
75
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs).
76
76
 
77
77
  ## Component API
78
78
 
@@ -1,4 +1,4 @@
1
- import {ExampleCodeBlock, Specifications, SymbolDoc} from '@workday/canvas-kit-docs';
1
+ import { ExampleCodeBlock, Specifications, SymbolDoc } from '@workday/canvas-kit-docs';
2
2
  import Basic from './examples/Basic';
3
3
  import Alert from './examples/Alert';
4
4
  import Error from './examples/Error';
@@ -202,7 +202,7 @@ You can theme your error rings by wrapping an input in a `CanvasProvider` and de
202
202
 
203
203
  Form Field and its subcomponents support custom styling via the `cs` prop. For more information,
204
204
  check our
205
- ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
205
+ ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--docs).
206
206
 
207
207
  ## Component API
208
208
 
@@ -17,7 +17,10 @@ export default () => {
17
17
  <Modal.CloseButton as={DeleteButton}>Delete</Modal.CloseButton>
18
18
  <Modal.CloseButton>Cancel</Modal.CloseButton>
19
19
  </Flex>
20
- <iframe srcDoc="<html><body>Hello, <b>world</b>.<button>iframe button 1</button><button>iframe button 2</button></body></html>" />
20
+ <iframe
21
+ role="iframe"
22
+ srcDoc="<html><body>Hello, <b>world</b>.<button>iframe button 1</button><button data-testid='button2'>iframe button 2</button></body></html>"
23
+ />
21
24
  </Modal.Body>
22
25
  </Modal.Card>
23
26
  </Modal.Overlay>