@workday/canvas-kit-docs 14.0.7 → 14.0.8
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.
- package/dist/es6/lib/stackblitzFiles/packageJSONFile.js +5 -5
- package/dist/es6/lib/stackblitzFiles/packageJSONFile.ts +5 -5
- package/dist/mdx/preview-react/segmented-control/SegmentedControl.mdx +27 -3
- package/dist/mdx/react/action-bar/ActionBar.mdx +10 -0
- package/dist/mdx/react/action-bar/examples/Basic.tsx +1 -1
- package/dist/mdx/react/action-bar/examples/DeleteAction.tsx +1 -1
- package/dist/mdx/react/action-bar/examples/Icons.tsx +1 -1
- package/dist/mdx/react/action-bar/examples/OverflowActionBar.tsx +1 -1
- package/dist/mdx/react/button/button/Button.mdx +38 -14
- package/dist/mdx/react/button/button/Hyperlink.mdx +36 -10
- package/dist/mdx/react/button/button/examples/Delete.tsx +4 -1
- package/dist/mdx/react/button/button/examples/ExternalHyperlink.tsx +1 -1
- package/dist/mdx/react/button/button/examples/ExternalHyperlinkInverse.tsx +1 -1
- package/dist/mdx/react/button/button/examples/HyperlinkInBodyText.tsx +2 -4
- package/dist/mdx/react/button/button/examples/Primary.tsx +4 -1
- package/dist/mdx/react/button/button/examples/PrimaryInverse.tsx +4 -1
- package/dist/mdx/react/button/button/examples/Secondary.tsx +4 -1
- package/dist/mdx/react/button/button/examples/SecondaryInverse.tsx +4 -1
- package/dist/mdx/react/button/button/examples/StandaloneHyperlink.tsx +5 -1
- package/dist/mdx/react/button/button/examples/Tertiary.tsx +4 -1
- package/dist/mdx/react/button/button/examples/TertiaryInverse.tsx +4 -1
- package/dist/mdx/react/menu/Menu.mdx +4 -0
- package/package.json +6 -6
|
@@ -18,11 +18,11 @@ export const packageJSONFile = `{
|
|
|
18
18
|
"@emotion/react": "11.11.4",
|
|
19
19
|
"@types/react": "18.2.60",
|
|
20
20
|
"@types/react-dom": "18.2.19",
|
|
21
|
-
"@workday/canvas-kit-labs-react": "14.0.
|
|
22
|
-
"@workday/canvas-kit-preview-react": "14.0.
|
|
23
|
-
"@workday/canvas-kit-react": "14.0.
|
|
24
|
-
"@workday/canvas-kit-react-fonts": "^14.0.
|
|
25
|
-
"@workday/canvas-kit-styling": "14.0.
|
|
21
|
+
"@workday/canvas-kit-labs-react": "14.0.8",
|
|
22
|
+
"@workday/canvas-kit-preview-react": "14.0.8",
|
|
23
|
+
"@workday/canvas-kit-react": "14.0.8",
|
|
24
|
+
"@workday/canvas-kit-react-fonts": "^14.0.8",
|
|
25
|
+
"@workday/canvas-kit-styling": "14.0.8",
|
|
26
26
|
"@workday/canvas-system-icons-web": "3.0.36",
|
|
27
27
|
"@workday/canvas-tokens-web": "3.1.2"
|
|
28
28
|
},
|
|
@@ -18,11 +18,11 @@ export const packageJSONFile = `{
|
|
|
18
18
|
"@emotion/react": "11.11.4",
|
|
19
19
|
"@types/react": "18.2.60",
|
|
20
20
|
"@types/react-dom": "18.2.19",
|
|
21
|
-
"@workday/canvas-kit-labs-react": "14.0.
|
|
22
|
-
"@workday/canvas-kit-preview-react": "14.0.
|
|
23
|
-
"@workday/canvas-kit-react": "14.0.
|
|
24
|
-
"@workday/canvas-kit-react-fonts": "^14.0.
|
|
25
|
-
"@workday/canvas-kit-styling": "14.0.
|
|
21
|
+
"@workday/canvas-kit-labs-react": "14.0.8",
|
|
22
|
+
"@workday/canvas-kit-preview-react": "14.0.8",
|
|
23
|
+
"@workday/canvas-kit-react": "14.0.8",
|
|
24
|
+
"@workday/canvas-kit-react-fonts": "^14.0.8",
|
|
25
|
+
"@workday/canvas-kit-styling": "14.0.8",
|
|
26
26
|
"@workday/canvas-system-icons-web": "3.0.36",
|
|
27
27
|
"@workday/canvas-tokens-web": "3.1.2"
|
|
28
28
|
},
|
|
@@ -36,11 +36,35 @@ one button can be active at a time.
|
|
|
36
36
|
|
|
37
37
|
<ExampleCodeBlock code={Basic} />
|
|
38
38
|
|
|
39
|
-
Note that you must provide `SegmentedControl.List` with an `aria-label` prop for accessibility
|
|
40
|
-
reasons.
|
|
41
|
-
|
|
42
39
|
We **strongly** discourage including more than four buttons in a single `SegmentedControl`.
|
|
43
40
|
|
|
41
|
+
### Accessibility
|
|
42
|
+
|
|
43
|
+
Our `SegmentedControl` component renders semantic HTML `<button>` elements to the browser DOM,
|
|
44
|
+
wrapped inside of a `<div>` with an explicit ARIA `role="group"`. This is equivalent to an HTML
|
|
45
|
+
`<fieldset>` element, and useful for screen readers to describe the relationship between the
|
|
46
|
+
buttons.
|
|
47
|
+
|
|
48
|
+
- Each button is a 2-state toggle button with `aria-pressed={true | false}` to indicate the current
|
|
49
|
+
state to screen readers.
|
|
50
|
+
- Providing your own `aria-label`string to `SegmentedControl.List` is recommended for describing the
|
|
51
|
+
purpose of the component.
|
|
52
|
+
|
|
53
|
+
#### Screen Reader Experience
|
|
54
|
+
|
|
55
|
+
When users interact with a `SegmentedControl` using screen readers:
|
|
56
|
+
|
|
57
|
+
- The group context is announced (e.g., "View options, group" when using
|
|
58
|
+
`aria-label="View options"`)
|
|
59
|
+
- Each button announces its text/label, "toggle button" role, and pressed/unpressed state (e.g.,
|
|
60
|
+
"List view, toggle button, pressed" or "Grid view, toggle button, not pressed")
|
|
61
|
+
- For icon-only buttons with tooltips, the tooltip text is announced along with the button role and
|
|
62
|
+
state
|
|
63
|
+
- When a button is activated, screen readers should announce the new state
|
|
64
|
+
|
|
65
|
+
Refer to [Button](?path=/docs/components-buttons--docs#accessibility) for more information about
|
|
66
|
+
accessibility of these components.
|
|
67
|
+
|
|
44
68
|
### Variations
|
|
45
69
|
|
|
46
70
|
`SegmentedControl` supports three variations based on whether or not its `SegmentedControl.Item`
|
|
@@ -69,6 +69,16 @@ You can change it from the default of 3 to any number greater than 1 and less th
|
|
|
69
69
|
|
|
70
70
|
<ExampleCodeBlock code={OverflowActionBarCustomButtonCount} />
|
|
71
71
|
|
|
72
|
+
## Accessibility
|
|
73
|
+
|
|
74
|
+
Grouping the actions into an HTML `<section>` element with an `aria-label` string is recommended.
|
|
75
|
+
This can be useful for helping screen reader users quickly jump down to the actions at the bottom of
|
|
76
|
+
a page.
|
|
77
|
+
|
|
78
|
+
Refer to [Button](?path=/docs/components-buttons--docs#accessibility) and
|
|
79
|
+
[Menus](?path=/docs/components-popups-menu--docs#accessibility) for more information about
|
|
80
|
+
accessibiliy of these components in the Action Bar.
|
|
81
|
+
|
|
72
82
|
## Component API
|
|
73
83
|
|
|
74
84
|
<SymbolDoc name="ActionBar" fileName="/react/" />
|
|
@@ -4,7 +4,7 @@ import {PrimaryButton} from '@workday/canvas-kit-react/button';
|
|
|
4
4
|
export default () => {
|
|
5
5
|
return (
|
|
6
6
|
<ActionBar>
|
|
7
|
-
<ActionBar.List position="relative" as="section" aria-label="
|
|
7
|
+
<ActionBar.List position="relative" as="section" aria-label="Action Bar">
|
|
8
8
|
<ActionBar.Item as={PrimaryButton} onClick={() => console.log('first action')}>
|
|
9
9
|
First Action
|
|
10
10
|
</ActionBar.Item>
|
|
@@ -4,7 +4,7 @@ import {DeleteButton} from '@workday/canvas-kit-react/button';
|
|
|
4
4
|
export default () => {
|
|
5
5
|
return (
|
|
6
6
|
<ActionBar>
|
|
7
|
-
<ActionBar.List position="relative" as="section" aria-label="
|
|
7
|
+
<ActionBar.List position="relative" as="section" aria-label="Action Bar">
|
|
8
8
|
<ActionBar.Item as={DeleteButton}>Delete Action</ActionBar.Item>
|
|
9
9
|
<ActionBar.Item>Second Action</ActionBar.Item>
|
|
10
10
|
</ActionBar.List>
|
|
@@ -5,7 +5,7 @@ import {PrimaryButton} from '@workday/canvas-kit-react/button';
|
|
|
5
5
|
export default () => {
|
|
6
6
|
return (
|
|
7
7
|
<ActionBar>
|
|
8
|
-
<ActionBar.List position="relative" as="section" aria-label="
|
|
8
|
+
<ActionBar.List position="relative" as="section" aria-label="Action Bar">
|
|
9
9
|
<ActionBar.Item as={PrimaryButton} icon={notificationsIcon}>
|
|
10
10
|
First Action
|
|
11
11
|
</ActionBar.Item>
|
|
@@ -29,7 +29,7 @@ export default () => {
|
|
|
29
29
|
<ActionBar.List
|
|
30
30
|
position="relative"
|
|
31
31
|
as="section"
|
|
32
|
-
aria-label="
|
|
32
|
+
aria-label="Action Bar"
|
|
33
33
|
overflowButton={<ActionBar.OverflowButton aria-label="More actions" />}
|
|
34
34
|
>
|
|
35
35
|
{(item: MyActionItem, index) => (
|
|
@@ -4,8 +4,6 @@ import {
|
|
|
4
4
|
SymbolDoc,
|
|
5
5
|
SymbolDescription,
|
|
6
6
|
} from '@workday/canvas-kit-docs';
|
|
7
|
-
import {Pill} from '@workday/canvas-kit-preview-react/pill';
|
|
8
|
-
import {accessibilityIcon} from '@workday/canvas-system-icons-web';
|
|
9
7
|
|
|
10
8
|
import Primary from './examples/Primary';
|
|
11
9
|
import PrimaryInverse from './examples/PrimaryInverse';
|
|
@@ -110,22 +108,48 @@ tokens with the fallback being `brand.primary.**`.
|
|
|
110
108
|
|
|
111
109
|
## Accessibility
|
|
112
110
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
</Pill>
|
|
111
|
+
Our button components render semantic HTML `<button>` elements to the browser DOM. This means that
|
|
112
|
+
ARIA roles won't be necessary in most cases, and `onClick` listeners will automatically support the
|
|
113
|
+
Enter and Space keys for keyboard interactions.
|
|
117
114
|
|
|
118
|
-
|
|
115
|
+
[Button Pattern | APG | WAI | W3C](https://www.w3.org/WAI/ARIA/apg/patterns/button/)
|
|
119
116
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
- An `aria-label` is only necessary for icon-only buttons in most cases. Using
|
|
118
|
+
[Canvas Kit's tooltip component](?path=/docs/components-popups-tooltip--docs) will handle this for
|
|
119
|
+
you, and all users will be able to see the label for the button.
|
|
120
|
+
- When button designs have 2 toggle states, an `aria-pressed={true | false}` property is required
|
|
121
|
+
for screen reader support. For example, see Canvas Kit's
|
|
122
|
+
[Segmented Control component](?path=/docs/preview-segmented-control--docs).
|
|
123
|
+
- When buttons have an attached menu, an `aria-haspopup=”true”` property is required. Using
|
|
124
|
+
[Canvas Kit's Menu component](?path=/docs/components-menus-menu--docs) will handle this for you.
|
|
125
|
+
- The icons used in text buttons are decorative in most cases and include ARIA `role="presentation"`
|
|
126
|
+
and `focusable="false"`. In some special cases where an icon does add meaning, you may be required
|
|
127
|
+
to change the `role` and add an `aria-label` to the icon for equivalent screen reader support.
|
|
124
128
|
|
|
125
|
-
###
|
|
129
|
+
### Disabled Buttons
|
|
126
130
|
|
|
127
|
-
|
|
128
|
-
|
|
131
|
+
- Disabled buttons use the `disabled` attribute, removing them from the tab order.
|
|
132
|
+
- Disabled styling is exempt from WCAG contrast requirements.
|
|
133
|
+
|
|
134
|
+
### Screen Reader Experience
|
|
135
|
+
|
|
136
|
+
- Button text content is announced along with the button role (e.g., "Primary, button").
|
|
137
|
+
- Icon-only buttons announce the `aria-label` value along with the button role.
|
|
138
|
+
- Toggle buttons announce their pressed/unpressed state (e.g., "Activity Stream, toggle button,
|
|
139
|
+
pressed" and check out the
|
|
140
|
+
[Segmented Control component](?path=/docs/preview-segmented-control--docs)).
|
|
141
|
+
|
|
142
|
+
### Touch Target Size
|
|
143
|
+
|
|
144
|
+
- All buttons meet the minimum 24px by 24px touch target size requirement for mobile accessibility.
|
|
145
|
+
- Button padding ensures adequate spacing between interactive elements to prevent accidental
|
|
146
|
+
activation.
|
|
147
|
+
|
|
148
|
+
### Button Groups
|
|
149
|
+
|
|
150
|
+
- Related buttons can be grouped together with HTML unordered list elements or with `<fieldset>` and
|
|
151
|
+
`<legend>` elements. This can help give additional context to screen readers about the purpose of
|
|
152
|
+
the group.
|
|
129
153
|
|
|
130
154
|
## Component API
|
|
131
155
|
|
|
@@ -46,10 +46,40 @@ This variant can also be used with the `ExternalHyperlink` component.
|
|
|
46
46
|
|
|
47
47
|
#### In Body Text
|
|
48
48
|
|
|
49
|
-
In most cases use `HyperLink` and `ExternalHyperlink` in body text of a sentence where you need to
|
|
49
|
+
In most cases use `HyperLink` and `ExternalHyperlink` in body text of a sentence where you need to
|
|
50
|
+
link to another page or part of the document. By default they will wrap to a new line.
|
|
50
51
|
|
|
51
52
|
<ExampleCodeBlock code={InBodyText} />
|
|
52
53
|
|
|
54
|
+
> **Accessibility Note:** Underlining links is not required in most cases. However, the example
|
|
55
|
+
> above is one such exception. When hyperlinked text appears inline with static text, a text
|
|
56
|
+
> decoration is required to avoid failing WCAG v2.2 success criterion 1.4.1 Use of Color.
|
|
57
|
+
>
|
|
58
|
+
> [Failure of Success Criterion 1.4.1 due to creating links that are not visually evident without color vision](https://www.w3.org/WAI/WCAG22/Techniques/failures/F73)
|
|
59
|
+
|
|
60
|
+
### Accessibility
|
|
61
|
+
|
|
62
|
+
Our link components render semantic HTML `<a>` elements to the browser DOM. This means that ARIA
|
|
63
|
+
roles won't be necessary in most cases. The `href` prop is required for accessibility. Activation
|
|
64
|
+
links with the Enter key is standard expected behavior, while Space is only expected for buttons.
|
|
65
|
+
|
|
66
|
+
#### When to Use Links vs Buttons
|
|
67
|
+
|
|
68
|
+
- **Use Hyperlinks when:** Navigating to different pages or sections, or changing the browser's
|
|
69
|
+
location
|
|
70
|
+
- **Use Buttons when:** Performing actions like submitting forms, opening modals, or triggering
|
|
71
|
+
functions without navigation
|
|
72
|
+
- **Why This Matters:** Screen reader users expect different behaviors from links vs buttons. Users
|
|
73
|
+
navigate between links using different keyboard shortcuts than buttons. Browser behaviors like
|
|
74
|
+
"Open in new tab" only work with proper links.
|
|
75
|
+
|
|
76
|
+
#### Common Mistakes to Avoid
|
|
77
|
+
|
|
78
|
+
- Using buttons styled as links for navigation (breaks right-click context menus)
|
|
79
|
+
- Using links for actions like "Delete" or "Save" (confuses user expectations)
|
|
80
|
+
- Missing `href` attributes on navigation elements (breaks keyboard accessibility)
|
|
81
|
+
- Using `href="#"` with `onClick` handlers instead of proper buttons
|
|
82
|
+
|
|
53
83
|
### Component API
|
|
54
84
|
|
|
55
85
|
<SymbolDoc name="Hyperlink" fileName="/react/" hideDescription hideHeading headingStart={4} />
|
|
@@ -57,8 +87,11 @@ In most cases use `HyperLink` and `ExternalHyperlink` in body text of a sentence
|
|
|
57
87
|
### ExternalHyperlink
|
|
58
88
|
|
|
59
89
|
If your link should open in a new tab or window use the `ExternalHyperlink` component. It will let
|
|
60
|
-
users know about the behavior by adding an icon, `extLinkIcon`.
|
|
61
|
-
|
|
90
|
+
users know about the behavior by adding an icon, `extLinkIcon`.
|
|
91
|
+
|
|
92
|
+
> **Accessibility Note:** Providing a label to the icon via the `iconLabel` prop is required for
|
|
93
|
+
> accessibility because the icon adds meaning to the link text. We recommend keeping the alt text as
|
|
94
|
+
> concise as possible, such as "Opens new window". This override will be needed for translations.
|
|
62
95
|
|
|
63
96
|
<ExampleCodeBlock code={ExternalLink} />
|
|
64
97
|
|
|
@@ -77,13 +110,6 @@ link on a dark or colorful background.
|
|
|
77
110
|
headingStart={4}
|
|
78
111
|
/>
|
|
79
112
|
|
|
80
|
-
### Accessible Use of the `as` Prop
|
|
81
|
-
|
|
82
|
-
Like many of our components, `Hyperlink` and `ExternalHyperlink` accept an `as` prop, which lets you
|
|
83
|
-
change the underlying semantic element - usually an `<a>`, or a `<button>`. This should be done with
|
|
84
|
-
caution to ensure the best accessibility. Generally, `<button>` elements should be used for actions,
|
|
85
|
-
and `<a>` elements should be used for navigation.
|
|
86
|
-
|
|
87
113
|
## Specifications
|
|
88
114
|
|
|
89
115
|
<Specifications file="Hyperlink.spec.ts" name="Hyperlink" />
|
|
@@ -3,6 +3,7 @@ import {Flex} from '@workday/canvas-kit-react/layout';
|
|
|
3
3
|
import {trashIcon} from '@workday/canvas-system-icons-web';
|
|
4
4
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
5
5
|
import {system} from '@workday/canvas-tokens-web';
|
|
6
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
6
7
|
|
|
7
8
|
const parentContainerStyles = createStyles({
|
|
8
9
|
gap: system.space.x4,
|
|
@@ -18,6 +19,8 @@ export default () => (
|
|
|
18
19
|
<DeleteButton icon={trashIcon} iconPosition="end">
|
|
19
20
|
Delete
|
|
20
21
|
</DeleteButton>
|
|
21
|
-
<
|
|
22
|
+
<Tooltip title="Delete">
|
|
23
|
+
<DeleteButton icon={trashIcon} />
|
|
24
|
+
</Tooltip>
|
|
22
25
|
</Flex>
|
|
23
26
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {ExternalHyperlink} from '@workday/canvas-kit-react/button';
|
|
2
2
|
|
|
3
3
|
export default () => (
|
|
4
|
-
<ExternalHyperlink href="https://workday.com" iconLabel="Opens
|
|
4
|
+
<ExternalHyperlink href="https://workday.com" iconLabel="Opens new window">
|
|
5
5
|
External Hyperlink
|
|
6
6
|
</ExternalHyperlink>
|
|
7
7
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {Hyperlink} from '@workday/canvas-kit-react/button';
|
|
2
2
|
|
|
3
3
|
export default () => (
|
|
4
4
|
<p>
|
|
@@ -6,9 +6,7 @@ export default () => (
|
|
|
6
6
|
<Hyperlink href="#hyperlink">tempor incididunt</Hyperlink> ut labore et dolore magna aliqua. Ut
|
|
7
7
|
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
8
8
|
consequat. Duis aute irure dolor in reprehenderit in
|
|
9
|
-
<
|
|
10
|
-
voluptate velit esse cillum dolore eu fugiat
|
|
11
|
-
</ExternalHyperlink>
|
|
9
|
+
<Hyperlink href="#hyperlink">voluptate velit esse cillum dolore eu fugiat</Hyperlink>
|
|
12
10
|
nulla pariatur.
|
|
13
11
|
</p>
|
|
14
12
|
);
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from '@workday/canvas-system-icons-web';
|
|
8
8
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
9
9
|
import {system} from '@workday/canvas-tokens-web';
|
|
10
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
10
11
|
|
|
11
12
|
const parentContainerStyles = createStyles({
|
|
12
13
|
gap: system.space.x4,
|
|
@@ -22,6 +23,8 @@ export default () => (
|
|
|
22
23
|
<PrimaryButton icon={caretDownIcon} iconPosition="end">
|
|
23
24
|
Primary
|
|
24
25
|
</PrimaryButton>
|
|
25
|
-
<
|
|
26
|
+
<Tooltip title="Related Actions">
|
|
27
|
+
<PrimaryButton icon={relatedActionsVerticalIcon} />
|
|
28
|
+
</Tooltip>
|
|
26
29
|
</Flex>
|
|
27
30
|
);
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@workday/canvas-system-icons-web';
|
|
10
10
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
11
11
|
import {system} from '@workday/canvas-tokens-web';
|
|
12
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
12
13
|
|
|
13
14
|
const parentContainerStyles = createStyles({
|
|
14
15
|
gap: system.space.x4,
|
|
@@ -25,6 +26,8 @@ export default () => (
|
|
|
25
26
|
<PrimaryButton icon={caretDownIcon} iconPosition="end" variant="inverse">
|
|
26
27
|
Primary
|
|
27
28
|
</PrimaryButton>
|
|
28
|
-
<
|
|
29
|
+
<Tooltip title="Related Actions">
|
|
30
|
+
<PrimaryButton icon={relatedActionsVerticalIcon} variant="inverse" />
|
|
31
|
+
</Tooltip>
|
|
29
32
|
</Flex>
|
|
30
33
|
);
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@workday/canvas-system-icons-web';
|
|
10
10
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
11
11
|
import {system} from '@workday/canvas-tokens-web';
|
|
12
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
12
13
|
|
|
13
14
|
const parentContainerStyles = createStyles({
|
|
14
15
|
gap: system.space.x4,
|
|
@@ -24,6 +25,8 @@ export default () => (
|
|
|
24
25
|
<SecondaryButton icon={caretDownIcon} iconPosition="end">
|
|
25
26
|
Secondary
|
|
26
27
|
</SecondaryButton>
|
|
27
|
-
<
|
|
28
|
+
<Tooltip title="Related Actions">
|
|
29
|
+
<SecondaryButton icon={relatedActionsVerticalIcon} />
|
|
30
|
+
</Tooltip>
|
|
28
31
|
</Flex>
|
|
29
32
|
);
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@workday/canvas-system-icons-web';
|
|
10
10
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
11
11
|
import {system} from '@workday/canvas-tokens-web';
|
|
12
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
12
13
|
|
|
13
14
|
const parentContainerStyles = createStyles({
|
|
14
15
|
gap: system.space.x4,
|
|
@@ -25,6 +26,8 @@ export default () => (
|
|
|
25
26
|
<SecondaryButton icon={caretDownIcon} variant="inverse" iconPosition="end">
|
|
26
27
|
Secondary
|
|
27
28
|
</SecondaryButton>
|
|
28
|
-
<
|
|
29
|
+
<Tooltip title="Related Actions">
|
|
30
|
+
<SecondaryButton icon={relatedActionsVerticalIcon} variant="inverse" />
|
|
31
|
+
</Tooltip>
|
|
29
32
|
</Flex>
|
|
30
33
|
);
|
|
@@ -12,7 +12,11 @@ export default () => (
|
|
|
12
12
|
<Hyperlink variant="standalone" href="#standalone-hyperlink">
|
|
13
13
|
Standalone Hyperlink
|
|
14
14
|
</Hyperlink>
|
|
15
|
-
<ExternalHyperlink
|
|
15
|
+
<ExternalHyperlink
|
|
16
|
+
variant="standalone"
|
|
17
|
+
href="#standalone-external-hyperlink"
|
|
18
|
+
iconLabel="Opens new window"
|
|
19
|
+
>
|
|
16
20
|
Standalone External Hyperlink
|
|
17
21
|
</ExternalHyperlink>
|
|
18
22
|
</div>
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@workday/canvas-system-icons-web';
|
|
10
10
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
11
11
|
import {system} from '@workday/canvas-tokens-web';
|
|
12
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
12
13
|
|
|
13
14
|
const parentContainerStyles = createStyles({
|
|
14
15
|
gap: system.space.x4,
|
|
@@ -24,6 +25,8 @@ export default () => (
|
|
|
24
25
|
<TertiaryButton icon={caretDownIcon} iconPosition="end">
|
|
25
26
|
Tertiary
|
|
26
27
|
</TertiaryButton>
|
|
27
|
-
<
|
|
28
|
+
<Tooltip title="Related Actions">
|
|
29
|
+
<TertiaryButton icon={relatedActionsVerticalIcon} />
|
|
30
|
+
</Tooltip>
|
|
28
31
|
</Flex>
|
|
29
32
|
);
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from '@workday/canvas-system-icons-web';
|
|
10
10
|
import {createStyles} from '@workday/canvas-kit-styling';
|
|
11
11
|
import {system} from '@workday/canvas-tokens-web';
|
|
12
|
+
import {Tooltip} from '@workday/canvas-kit-react/tooltip';
|
|
12
13
|
|
|
13
14
|
const parentContainerStyles = createStyles({
|
|
14
15
|
gap: system.space.x4,
|
|
@@ -25,6 +26,8 @@ export default () => (
|
|
|
25
26
|
<TertiaryButton icon={caretDownIcon} iconPosition="end" variant="inverse">
|
|
26
27
|
Tertiary
|
|
27
28
|
</TertiaryButton>
|
|
28
|
-
<
|
|
29
|
+
<Tooltip title="Related Actions">
|
|
30
|
+
<TertiaryButton icon={relatedActionsVerticalIcon} variant="inverse" />
|
|
31
|
+
</Tooltip>
|
|
29
32
|
</Flex>
|
|
30
33
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workday/canvas-kit-docs",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.8",
|
|
4
4
|
"description": "Documentation components of Canvas Kit components",
|
|
5
5
|
"author": "Workday, Inc. (https://www.workday.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"@emotion/styled": "^11.6.0",
|
|
46
46
|
"@stackblitz/sdk": "^1.11.0",
|
|
47
47
|
"@storybook/csf": "0.0.1",
|
|
48
|
-
"@workday/canvas-kit-labs-react": "^14.0.
|
|
49
|
-
"@workday/canvas-kit-preview-react": "^14.0.
|
|
50
|
-
"@workday/canvas-kit-react": "^14.0.
|
|
51
|
-
"@workday/canvas-kit-styling": "^14.0.
|
|
48
|
+
"@workday/canvas-kit-labs-react": "^14.0.8",
|
|
49
|
+
"@workday/canvas-kit-preview-react": "^14.0.8",
|
|
50
|
+
"@workday/canvas-kit-react": "^14.0.8",
|
|
51
|
+
"@workday/canvas-kit-styling": "^14.0.8",
|
|
52
52
|
"@workday/canvas-system-icons-web": "^3.0.36",
|
|
53
53
|
"@workday/canvas-tokens-web": "^3.1.1",
|
|
54
54
|
"markdown-to-jsx": "^7.2.0",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"mkdirp": "^1.0.3",
|
|
62
62
|
"typescript": "5.0"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "450a5e2578f82e81445111c06744fab9387fce14"
|
|
65
65
|
}
|