@patternfly/react-core 5.2.0-prerelease.35 → 5.2.0-prerelease.37
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/CHANGELOG.md +12 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/Chip/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/DragDrop/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/esm/components/Accordion/Accordion.d.ts +2 -0
- package/dist/esm/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +4 -3
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Accordion/AccordionContext.d.ts +1 -0
- package/dist/esm/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/esm/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/esm/components/Accordion/AccordionToggle.d.ts.map +1 -1
- package/dist/esm/components/Accordion/AccordionToggle.js +6 -3
- package/dist/esm/components/Accordion/AccordionToggle.js.map +1 -1
- package/dist/esm/components/Menu/MenuItem.d.ts +2 -0
- package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuItem.js +3 -2
- package/dist/esm/components/Menu/MenuItem.js.map +1 -1
- package/dist/js/components/Accordion/Accordion.d.ts +2 -0
- package/dist/js/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/js/components/Accordion/Accordion.js +4 -3
- package/dist/js/components/Accordion/Accordion.js.map +1 -1
- package/dist/js/components/Accordion/AccordionContext.d.ts +1 -0
- package/dist/js/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/js/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/js/components/Accordion/AccordionToggle.d.ts.map +1 -1
- package/dist/js/components/Accordion/AccordionToggle.js +6 -3
- package/dist/js/components/Accordion/AccordionToggle.js.map +1 -1
- package/dist/js/components/Menu/MenuItem.d.ts +2 -0
- package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuItem.js +3 -2
- package/dist/js/components/Menu/MenuItem.js.map +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Accordion/Accordion.tsx +6 -1
- package/src/components/Accordion/AccordionContext.ts +1 -0
- package/src/components/Accordion/AccordionToggle.tsx +32 -23
- package/src/components/Accordion/__tests__/Accordion.test.tsx +12 -0
- package/src/components/Accordion/__tests__/AccordionToggle.test.tsx +28 -0
- package/src/components/Accordion/examples/Accordion.md +5 -0
- package/src/components/Accordion/examples/AccordionToggleIconAtStart.tsx +107 -0
- package/src/components/Menu/MenuItem.tsx +5 -1
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.36","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.36","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.36","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.2.0-prerelease.
|
|
3
|
+
"version": "5.2.0-prerelease.37",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"react": "^17 || ^18",
|
|
72
72
|
"react-dom": "^17 || ^18"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "a26c4daa53b1b957fb2e09e07cba408919ac491c"
|
|
75
75
|
}
|
|
@@ -18,6 +18,8 @@ export interface AccordionProps extends React.HTMLProps<HTMLDListElement> {
|
|
|
18
18
|
isBordered?: boolean;
|
|
19
19
|
/** Display size variant. */
|
|
20
20
|
displaySize?: 'default' | 'lg';
|
|
21
|
+
/** Sets the toggle icon position for all accordion toggles. */
|
|
22
|
+
togglePosition?: 'start' | 'end';
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export const Accordion: React.FunctionComponent<AccordionProps> = ({
|
|
@@ -28,6 +30,7 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
|
|
|
28
30
|
asDefinitionList = true,
|
|
29
31
|
isBordered = false,
|
|
30
32
|
displaySize = 'default',
|
|
33
|
+
togglePosition = 'end',
|
|
31
34
|
...props
|
|
32
35
|
}: AccordionProps) => {
|
|
33
36
|
const AccordionList: any = asDefinitionList ? 'dl' : 'div';
|
|
@@ -36,6 +39,7 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
|
|
|
36
39
|
className={css(
|
|
37
40
|
styles.accordion,
|
|
38
41
|
isBordered && styles.modifiers.bordered,
|
|
42
|
+
togglePosition === 'start' && styles.modifiers.toggleStart,
|
|
39
43
|
displaySize === 'lg' && styles.modifiers.displayLg,
|
|
40
44
|
className
|
|
41
45
|
)}
|
|
@@ -46,7 +50,8 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
|
|
|
46
50
|
<AccordionContext.Provider
|
|
47
51
|
value={{
|
|
48
52
|
ContentContainer: asDefinitionList ? 'dd' : 'div',
|
|
49
|
-
ToggleContainer: asDefinitionList ? 'dt' : headingLevel
|
|
53
|
+
ToggleContainer: asDefinitionList ? 'dt' : headingLevel,
|
|
54
|
+
togglePosition
|
|
50
55
|
}}
|
|
51
56
|
>
|
|
52
57
|
{children}
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
interface AccordionContextProps {
|
|
4
4
|
ContentContainer: React.ElementType;
|
|
5
5
|
ToggleContainer: React.ElementType;
|
|
6
|
+
togglePosition: 'start' | 'end';
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
export const AccordionContext = React.createContext<Partial<AccordionContextProps>>({});
|
|
@@ -25,27 +25,36 @@ export const AccordionToggle: React.FunctionComponent<AccordionToggleProps> = ({
|
|
|
25
25
|
children = null,
|
|
26
26
|
component,
|
|
27
27
|
...props
|
|
28
|
-
}: AccordionToggleProps) =>
|
|
29
|
-
|
|
30
|
-
{(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
)
|
|
28
|
+
}: AccordionToggleProps) => {
|
|
29
|
+
const renderToggleIcon = () => (
|
|
30
|
+
<span className={css(styles.accordionToggleIcon)}>
|
|
31
|
+
<AngleRightIcon />
|
|
32
|
+
</span>
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<AccordionContext.Consumer>
|
|
37
|
+
{({ ToggleContainer, togglePosition }) => {
|
|
38
|
+
const Container = component || ToggleContainer;
|
|
39
|
+
const isToggleStartPositioned = togglePosition === 'start';
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<Container>
|
|
43
|
+
<button
|
|
44
|
+
id={id}
|
|
45
|
+
className={css(styles.accordionToggle, isExpanded && styles.modifiers.expanded, className)}
|
|
46
|
+
aria-expanded={isExpanded}
|
|
47
|
+
type="button"
|
|
48
|
+
{...props}
|
|
49
|
+
>
|
|
50
|
+
{isToggleStartPositioned && renderToggleIcon()}
|
|
51
|
+
<span className={css(styles.accordionToggleText)}>{children}</span>
|
|
52
|
+
{!isToggleStartPositioned && renderToggleIcon()}
|
|
53
|
+
</button>
|
|
54
|
+
</Container>
|
|
55
|
+
);
|
|
56
|
+
}}
|
|
57
|
+
</AccordionContext.Consumer>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
51
60
|
AccordionToggle.displayName = 'AccordionToggle';
|
|
@@ -135,6 +135,18 @@ test('Renders with pf-m-display-lg when displaySize="lg"', () => {
|
|
|
135
135
|
expect(screen.getByText('Test')).toHaveClass('pf-m-display-lg');
|
|
136
136
|
});
|
|
137
137
|
|
|
138
|
+
test(`Renders without class ${styles.modifiers.toggleStart} by default`, () => {
|
|
139
|
+
render(<Accordion>Test</Accordion>);
|
|
140
|
+
|
|
141
|
+
expect(screen.getByText('Test')).not.toHaveClass(styles.modifiers.toggleStart);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
test(`Renders with class ${styles.modifiers.toggleStart} when togglePosition='start'`, () => {
|
|
145
|
+
render(<Accordion togglePosition="start">Test</Accordion>);
|
|
146
|
+
|
|
147
|
+
expect(screen.getByText('Test')).toHaveClass(styles.modifiers.toggleStart);
|
|
148
|
+
});
|
|
149
|
+
|
|
138
150
|
test('Matches the snapshot', () => {
|
|
139
151
|
const { asFragment } = render(<Accordion aria-label="this is a simple accordion" />);
|
|
140
152
|
expect(asFragment()).toMatchSnapshot();
|
|
@@ -155,6 +155,34 @@ test('Renders the toggle with pf-m-expanded and aria-expanded=true when isExpand
|
|
|
155
155
|
expect(toggle).toHaveAttribute('aria-expanded', 'true');
|
|
156
156
|
});
|
|
157
157
|
|
|
158
|
+
test('Renders toggle text before toggle icon by default', () => {
|
|
159
|
+
render(
|
|
160
|
+
<AccordionContext.Provider value={{ ToggleContainer: 'h3' }}>
|
|
161
|
+
<AccordionToggle id="accordion-toggle" isExpanded>
|
|
162
|
+
Test
|
|
163
|
+
</AccordionToggle>
|
|
164
|
+
</AccordionContext.Provider>
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
const toggle = screen.getByRole('button');
|
|
168
|
+
|
|
169
|
+
expect(toggle.firstChild).toHaveClass(styles.accordionToggleText);
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
test('Renders toggle icon before toggle text when togglePosition from context = "start"', () => {
|
|
173
|
+
render(
|
|
174
|
+
<AccordionContext.Provider value={{ ToggleContainer: 'h3', togglePosition: 'start' }}>
|
|
175
|
+
<AccordionToggle id="accordion-toggle" isExpanded>
|
|
176
|
+
Test
|
|
177
|
+
</AccordionToggle>
|
|
178
|
+
</AccordionContext.Provider>
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
const toggle = screen.getByRole('button');
|
|
182
|
+
|
|
183
|
+
expect(toggle.firstChild).toHaveClass(styles.accordionToggleIcon);
|
|
184
|
+
});
|
|
185
|
+
|
|
158
186
|
test('Matches the snapshot', () => {
|
|
159
187
|
const { asFragment } = render(
|
|
160
188
|
<AccordionContext.Provider value={{ ToggleContainer: 'h3' }}>
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Accordion, AccordionItem, AccordionContent, AccordionToggle } from '@patternfly/react-core';
|
|
3
|
+
|
|
4
|
+
export const AccordionToggleIconAtStart: React.FunctionComponent = () => {
|
|
5
|
+
const [expanded, setExpanded] = React.useState('start-toggle-toggle2');
|
|
6
|
+
|
|
7
|
+
const onToggle = (id: string) => {
|
|
8
|
+
if (id === expanded) {
|
|
9
|
+
setExpanded('');
|
|
10
|
+
} else {
|
|
11
|
+
setExpanded(id);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Accordion togglePosition="start">
|
|
17
|
+
<AccordionItem>
|
|
18
|
+
<AccordionToggle
|
|
19
|
+
onClick={() => {
|
|
20
|
+
onToggle('start-toggle-toggle1');
|
|
21
|
+
}}
|
|
22
|
+
isExpanded={expanded === 'start-toggle-toggle1'}
|
|
23
|
+
id="start-toggle-toggle1"
|
|
24
|
+
>
|
|
25
|
+
Item one
|
|
26
|
+
</AccordionToggle>
|
|
27
|
+
<AccordionContent id="start-toggle-expand1" isHidden={expanded !== 'start-toggle-toggle1'}>
|
|
28
|
+
<p>
|
|
29
|
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
|
|
30
|
+
dolore magna aliqua.
|
|
31
|
+
</p>
|
|
32
|
+
</AccordionContent>
|
|
33
|
+
</AccordionItem>
|
|
34
|
+
|
|
35
|
+
<AccordionItem>
|
|
36
|
+
<AccordionToggle
|
|
37
|
+
onClick={() => {
|
|
38
|
+
onToggle('start-toggle-toggle2');
|
|
39
|
+
}}
|
|
40
|
+
isExpanded={expanded === 'start-toggle-toggle2'}
|
|
41
|
+
id="start-toggle-toggle2"
|
|
42
|
+
>
|
|
43
|
+
Item two
|
|
44
|
+
</AccordionToggle>
|
|
45
|
+
<AccordionContent id="start-toggle-expand2" isHidden={expanded !== 'start-toggle-toggle2'}>
|
|
46
|
+
<p>
|
|
47
|
+
Vivamus et tortor sed arcu congue vehicula eget et diam. Praesent nec dictum lorem. Aliquam id diam
|
|
48
|
+
ultrices, faucibus erat id, maximus nunc.
|
|
49
|
+
</p>
|
|
50
|
+
</AccordionContent>
|
|
51
|
+
</AccordionItem>
|
|
52
|
+
|
|
53
|
+
<AccordionItem>
|
|
54
|
+
<AccordionToggle
|
|
55
|
+
onClick={() => {
|
|
56
|
+
onToggle('start-toggle-toggle3');
|
|
57
|
+
}}
|
|
58
|
+
isExpanded={expanded === 'start-toggle-toggle3'}
|
|
59
|
+
id="start-toggle-toggle3"
|
|
60
|
+
>
|
|
61
|
+
Item three
|
|
62
|
+
</AccordionToggle>
|
|
63
|
+
<AccordionContent id="start-toggle-expand3" isHidden={expanded !== 'start-toggle-toggle3'}>
|
|
64
|
+
<p>Morbi vitae urna quis nunc convallis hendrerit. Aliquam congue orci quis ultricies tempus.</p>
|
|
65
|
+
</AccordionContent>
|
|
66
|
+
</AccordionItem>
|
|
67
|
+
|
|
68
|
+
<AccordionItem>
|
|
69
|
+
<AccordionToggle
|
|
70
|
+
onClick={() => {
|
|
71
|
+
onToggle('start-toggle-toggle4');
|
|
72
|
+
}}
|
|
73
|
+
isExpanded={expanded === 'start-toggle-toggle4'}
|
|
74
|
+
id="start-toggle-toggle4"
|
|
75
|
+
>
|
|
76
|
+
Item four
|
|
77
|
+
</AccordionToggle>
|
|
78
|
+
<AccordionContent id="start-toggle-expand4" isHidden={expanded !== 'start-toggle-toggle4'}>
|
|
79
|
+
<p>
|
|
80
|
+
Donec vel posuere orci. Phasellus quis tortor a ex hendrerit efficitur. Aliquam lacinia ligula pharetra,
|
|
81
|
+
sagittis ex ut, pellentesque diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
|
|
82
|
+
cubilia Curae; Vestibulum ultricies nulla nibh. Etiam vel dui fermentum ligula ullamcorper eleifend non quis
|
|
83
|
+
tortor. Morbi tempus ornare tempus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur
|
|
84
|
+
ridiculus mus. Mauris et velit neque. Donec ultricies condimentum mauris, pellentesque imperdiet libero
|
|
85
|
+
convallis convallis. Aliquam erat volutpat. Donec rutrum semper tempus. Proin dictum imperdiet nibh, quis
|
|
86
|
+
dapibus nulla. Integer sed tincidunt lectus, sit amet auctor eros.
|
|
87
|
+
</p>
|
|
88
|
+
</AccordionContent>
|
|
89
|
+
</AccordionItem>
|
|
90
|
+
|
|
91
|
+
<AccordionItem>
|
|
92
|
+
<AccordionToggle
|
|
93
|
+
onClick={() => {
|
|
94
|
+
onToggle('start-toggle-toggle5');
|
|
95
|
+
}}
|
|
96
|
+
isExpanded={expanded === 'start-toggle-toggle5'}
|
|
97
|
+
id="start-toggle-toggle5"
|
|
98
|
+
>
|
|
99
|
+
Item five
|
|
100
|
+
</AccordionToggle>
|
|
101
|
+
<AccordionContent id="start-toggle-expand5" isHidden={expanded !== 'start-toggle-toggle5'}>
|
|
102
|
+
<p>Vivamus finibus dictum ex id ultrices. Mauris dictum neque a iaculis blandit.</p>
|
|
103
|
+
</AccordionContent>
|
|
104
|
+
</AccordionItem>
|
|
105
|
+
</Accordion>
|
|
106
|
+
);
|
|
107
|
+
};
|
|
@@ -29,6 +29,8 @@ export interface MenuItemProps extends Omit<React.HTMLProps<HTMLLIElement>, 'onC
|
|
|
29
29
|
target?: string;
|
|
30
30
|
/** Navigation link relationship. Only set when the to property is present. */
|
|
31
31
|
rel?: string;
|
|
32
|
+
/** Navigation link download. Only set when the to property is present. */
|
|
33
|
+
download?: string;
|
|
32
34
|
/** Flag indicating the item has a checkbox */
|
|
33
35
|
hasCheckbox?: boolean;
|
|
34
36
|
/** Flag indicating whether the item is active */
|
|
@@ -119,6 +121,7 @@ const MenuItemBase: React.FunctionComponent<MenuItemProps> = ({
|
|
|
119
121
|
tooltipProps,
|
|
120
122
|
rel,
|
|
121
123
|
target,
|
|
124
|
+
download,
|
|
122
125
|
...props
|
|
123
126
|
}: MenuItemProps) => {
|
|
124
127
|
const {
|
|
@@ -271,7 +274,8 @@ const MenuItemBase: React.FunctionComponent<MenuItemProps> = ({
|
|
|
271
274
|
// prevent invalid 'disabled' attribute on <a> tags
|
|
272
275
|
disabled: null,
|
|
273
276
|
target: isExternalLink ? '_blank' : target,
|
|
274
|
-
rel
|
|
277
|
+
rel,
|
|
278
|
+
download
|
|
275
279
|
};
|
|
276
280
|
} else if (Component === 'button') {
|
|
277
281
|
additionalProps = {
|