@patternfly/react-core 6.0.0-alpha.31 → 6.0.0-alpha.32
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 +6 -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/Modal/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/esm/components/ActionList/ActionList.js +1 -1
- package/dist/esm/components/ActionList/ActionList.js.map +1 -1
- package/dist/esm/components/ActionList/ActionListGroup.d.ts +2 -0
- package/dist/esm/components/ActionList/ActionListGroup.d.ts.map +1 -1
- package/dist/esm/components/ActionList/ActionListGroup.js +2 -2
- package/dist/esm/components/ActionList/ActionListGroup.js.map +1 -1
- package/dist/esm/components/ActionList/ActionListItem.js +1 -1
- package/dist/esm/components/ActionList/ActionListItem.js.map +1 -1
- package/dist/js/components/ActionList/ActionList.js +1 -1
- package/dist/js/components/ActionList/ActionList.js.map +1 -1
- package/dist/js/components/ActionList/ActionListGroup.d.ts +2 -0
- package/dist/js/components/ActionList/ActionListGroup.d.ts.map +1 -1
- package/dist/js/components/ActionList/ActionListGroup.js +2 -2
- package/dist/js/components/ActionList/ActionListGroup.js.map +1 -1
- package/dist/js/components/ActionList/ActionListItem.js +1 -1
- package/dist/js/components/ActionList/ActionListItem.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/ActionList/ActionList.tsx +1 -1
- package/src/components/ActionList/ActionListGroup.tsx +5 -2
- package/src/components/ActionList/ActionListItem.tsx +1 -1
- package/src/components/ActionList/__tests__/ActionListGroup.test.tsx +8 -2
- package/src/components/ActionList/examples/ActionListSingleGroup.tsx +45 -40
- package/src/components/ActionList/examples/ActionListWithCancelButton.tsx +12 -10
- package/src/components/ActionList/examples/ActionListWithIcons.tsx +44 -13
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":"6.0.0-alpha.
|
|
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":"6.0.0-alpha.31","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":"6.0.0-alpha.
|
|
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":"6.0.0-alpha.31","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":"6.0.0-alpha.
|
|
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":"6.0.0-alpha.31","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.32",
|
|
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",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"react": "^17 || ^18",
|
|
74
74
|
"react-dom": "^17 || ^18"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "c496543a1dc5cbdfdee8b12841e603f7eac7bf01"
|
|
77
77
|
}
|
|
@@ -14,7 +14,7 @@ export interface ActionListProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
14
14
|
export const ActionList: React.FunctionComponent<ActionListProps> = ({
|
|
15
15
|
children,
|
|
16
16
|
isIconList,
|
|
17
|
-
className
|
|
17
|
+
className,
|
|
18
18
|
...props
|
|
19
19
|
}: ActionListProps) => (
|
|
20
20
|
<div className={css(styles.actionList, isIconList && styles.modifiers.icons, className)} {...props}>
|
|
@@ -7,14 +7,17 @@ export interface ActionListGroupProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
/** Additional classes added to the action list group */
|
|
9
9
|
className?: string;
|
|
10
|
+
/** Flag indicating the action list group contains multiple icons and item padding should be removed */
|
|
11
|
+
isIconGroup?: boolean;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export const ActionListGroup: React.FunctionComponent<ActionListGroupProps> = ({
|
|
13
15
|
children,
|
|
14
|
-
className
|
|
16
|
+
className,
|
|
17
|
+
isIconGroup,
|
|
15
18
|
...props
|
|
16
19
|
}: ActionListGroupProps) => (
|
|
17
|
-
<div className={css(styles.actionListGroup, className)} {...props}>
|
|
20
|
+
<div className={css(styles.actionListGroup, isIconGroup && styles.modifiers.icons, className)} {...props}>
|
|
18
21
|
{children}
|
|
19
22
|
</div>
|
|
20
23
|
);
|
|
@@ -11,7 +11,7 @@ export interface ActionListItemProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
11
11
|
|
|
12
12
|
export const ActionListItem: React.FunctionComponent<ActionListItemProps> = ({
|
|
13
13
|
children,
|
|
14
|
-
className
|
|
14
|
+
className,
|
|
15
15
|
...props
|
|
16
16
|
}: ActionListItemProps) => (
|
|
17
17
|
<div className={css(`${styles.actionList}__item`, className)} {...props}>
|
|
@@ -14,10 +14,16 @@ test('Renders children', () => {
|
|
|
14
14
|
expect(screen.getByText('Test')).toBeVisible();
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
-
test(`Renders with class ${styles.actionListGroup}`, () => {
|
|
17
|
+
test(`Renders with only class ${styles.actionListGroup} by default`, () => {
|
|
18
18
|
render(<ActionListGroup>Test</ActionListGroup>);
|
|
19
19
|
|
|
20
|
-
expect(screen.getByText('Test')).toHaveClass(styles.actionListGroup);
|
|
20
|
+
expect(screen.getByText('Test')).toHaveClass(styles.actionListGroup, { exact: true });
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test(`Renders with class ${styles.modifiers.icons} when isIconGroup is true`, () => {
|
|
24
|
+
render(<ActionListGroup isIconGroup>Test</ActionListGroup>);
|
|
25
|
+
|
|
26
|
+
expect(screen.getByText('Test')).toHaveClass(styles.modifiers.icons);
|
|
21
27
|
});
|
|
22
28
|
|
|
23
29
|
test('Renders with custom class names provided via prop', () => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
ActionList,
|
|
4
|
+
ActionListGroup,
|
|
4
5
|
ActionListItem,
|
|
5
6
|
Button,
|
|
6
7
|
Dropdown,
|
|
@@ -46,50 +47,54 @@ export const ActionListSingleGroup: React.FunctionComponent = () => {
|
|
|
46
47
|
return (
|
|
47
48
|
<React.Fragment>
|
|
48
49
|
<ActionList>
|
|
49
|
-
<
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
50
|
+
<ActionListGroup>
|
|
51
|
+
<ActionListItem>
|
|
52
|
+
<Button variant="primary" id="single-group-next-button">
|
|
53
|
+
Next
|
|
54
|
+
</Button>
|
|
55
|
+
</ActionListItem>
|
|
56
|
+
<ActionListItem>
|
|
57
|
+
<Button variant="secondary" id="single-group-back-button">
|
|
58
|
+
Back
|
|
59
|
+
</Button>
|
|
60
|
+
</ActionListItem>
|
|
61
|
+
</ActionListGroup>
|
|
59
62
|
</ActionList>
|
|
60
63
|
<br />
|
|
61
64
|
With kebab
|
|
62
65
|
<ActionList>
|
|
63
|
-
<
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
66
|
+
<ActionListGroup>
|
|
67
|
+
<ActionListItem>
|
|
68
|
+
<Button variant="primary" id="single-group-next-button2">
|
|
69
|
+
Next
|
|
70
|
+
</Button>
|
|
71
|
+
</ActionListItem>
|
|
72
|
+
<ActionListItem>
|
|
73
|
+
<Button variant="secondary" id="single-group-back-button2">
|
|
74
|
+
Back
|
|
75
|
+
</Button>
|
|
76
|
+
</ActionListItem>
|
|
77
|
+
<ActionListItem>
|
|
78
|
+
<Dropdown
|
|
79
|
+
onSelect={onSelect}
|
|
80
|
+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
|
|
81
|
+
<MenuToggle
|
|
82
|
+
ref={toggleRef}
|
|
83
|
+
onClick={onToggle}
|
|
84
|
+
variant="plain"
|
|
85
|
+
isExpanded={isOpen}
|
|
86
|
+
aria-label="Action list single group kebab"
|
|
87
|
+
>
|
|
88
|
+
<EllipsisVIcon />
|
|
89
|
+
</MenuToggle>
|
|
90
|
+
)}
|
|
91
|
+
isOpen={isOpen}
|
|
92
|
+
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
93
|
+
>
|
|
94
|
+
<DropdownList>{dropdownItems}</DropdownList>
|
|
95
|
+
</Dropdown>
|
|
96
|
+
</ActionListItem>
|
|
97
|
+
</ActionListGroup>
|
|
93
98
|
</ActionList>
|
|
94
99
|
</React.Fragment>
|
|
95
100
|
);
|
|
@@ -5,16 +5,18 @@ export const ActionListWithCancelButton: React.FunctionComponent = () => (
|
|
|
5
5
|
<React.Fragment>
|
|
6
6
|
In modals, forms, data lists
|
|
7
7
|
<ActionList>
|
|
8
|
-
<
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
<ActionListGroup>
|
|
9
|
+
<ActionListItem>
|
|
10
|
+
<Button variant="primary" id="with-cancel-save-button">
|
|
11
|
+
Save
|
|
12
|
+
</Button>
|
|
13
|
+
</ActionListItem>
|
|
14
|
+
<ActionListItem>
|
|
15
|
+
<Button variant="link" id="with-cancel-cancel-button">
|
|
16
|
+
Cancel
|
|
17
|
+
</Button>
|
|
18
|
+
</ActionListItem>
|
|
19
|
+
</ActionListGroup>
|
|
18
20
|
</ActionList>
|
|
19
21
|
<br />
|
|
20
22
|
In wizards
|
|
@@ -1,19 +1,50 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ActionList, ActionListItem, Button } from '@patternfly/react-core';
|
|
2
|
+
import { ActionList, ActionListGroup, ActionListItem, Button } from '@patternfly/react-core';
|
|
3
3
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
4
4
|
import CheckIcon from '@patternfly/react-icons/dist/esm/icons/check-icon';
|
|
5
5
|
|
|
6
6
|
export const ActionListWithIcons: React.FunctionComponent = () => (
|
|
7
|
-
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
<>
|
|
8
|
+
<h4>With list icons wrapper</h4>
|
|
9
|
+
<ActionList isIconList>
|
|
10
|
+
<ActionListItem>
|
|
11
|
+
<Button variant="plain" id="with-icons-times-button" aria-label="times icon button">
|
|
12
|
+
<TimesIcon />
|
|
13
|
+
</Button>
|
|
14
|
+
</ActionListItem>
|
|
15
|
+
<ActionListItem>
|
|
16
|
+
<Button variant="plain" id="with-icons-check-button" aria-label="check icon button">
|
|
17
|
+
<CheckIcon />
|
|
18
|
+
</Button>
|
|
19
|
+
</ActionListItem>
|
|
20
|
+
</ActionList>
|
|
21
|
+
<br />
|
|
22
|
+
<h4>With group icons wrapper</h4>
|
|
23
|
+
<ActionList>
|
|
24
|
+
<ActionListGroup isIconGroup>
|
|
25
|
+
<ActionListItem>
|
|
26
|
+
<Button variant="plain" id="with-icons-list-times-button" aria-label="times icon button">
|
|
27
|
+
<TimesIcon />
|
|
28
|
+
</Button>
|
|
29
|
+
</ActionListItem>
|
|
30
|
+
<ActionListItem>
|
|
31
|
+
<Button variant="plain" id="with-icons-list-check-button" aria-label="check icon button">
|
|
32
|
+
<CheckIcon />
|
|
33
|
+
</Button>
|
|
34
|
+
</ActionListItem>
|
|
35
|
+
</ActionListGroup>
|
|
36
|
+
<ActionListGroup isIconGroup>
|
|
37
|
+
<ActionListItem>
|
|
38
|
+
<Button variant="plain" id="with-icons-group-times-button" aria-label="times icon button">
|
|
39
|
+
<TimesIcon />
|
|
40
|
+
</Button>
|
|
41
|
+
</ActionListItem>
|
|
42
|
+
<ActionListItem>
|
|
43
|
+
<Button variant="plain" id="with-icons-group-check-button" aria-label="check icon button">
|
|
44
|
+
<CheckIcon />
|
|
45
|
+
</Button>
|
|
46
|
+
</ActionListItem>
|
|
47
|
+
</ActionListGroup>
|
|
48
|
+
</ActionList>
|
|
49
|
+
</>
|
|
19
50
|
);
|