@patternfly/react-core 6.1.1-prerelease.0 → 6.1.1-prerelease.1

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 (149) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Content/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/Drawer/package.json +1 -1
  28. package/dist/dynamic/components/Dropdown/package.json +1 -1
  29. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  30. package/dist/dynamic/components/EmptyState/package.json +1 -1
  31. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  32. package/dist/dynamic/components/FileUpload/package.json +1 -1
  33. package/dist/dynamic/components/Form/package.json +1 -1
  34. package/dist/dynamic/components/FormSelect/package.json +1 -1
  35. package/dist/dynamic/components/HelperText/package.json +1 -1
  36. package/dist/dynamic/components/Hint/package.json +1 -1
  37. package/dist/dynamic/components/Icon/package.json +1 -1
  38. package/dist/dynamic/components/InputGroup/package.json +1 -1
  39. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  40. package/dist/dynamic/components/Label/package.json +1 -1
  41. package/dist/dynamic/components/List/package.json +1 -1
  42. package/dist/dynamic/components/LoginPage/package.json +1 -1
  43. package/dist/dynamic/components/Masthead/package.json +1 -1
  44. package/dist/dynamic/components/Menu/package.json +1 -1
  45. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  46. package/dist/dynamic/components/Modal/package.json +1 -1
  47. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  48. package/dist/dynamic/components/Nav/package.json +1 -1
  49. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  50. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  51. package/dist/dynamic/components/NumberInput/package.json +1 -1
  52. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  53. package/dist/dynamic/components/Page/package.json +1 -1
  54. package/dist/dynamic/components/Pagination/package.json +1 -1
  55. package/dist/dynamic/components/Panel/package.json +1 -1
  56. package/dist/dynamic/components/Popover/package.json +1 -1
  57. package/dist/dynamic/components/Progress/package.json +1 -1
  58. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  59. package/dist/dynamic/components/Radio/package.json +1 -1
  60. package/dist/dynamic/components/SearchInput/package.json +1 -1
  61. package/dist/dynamic/components/Select/package.json +1 -1
  62. package/dist/dynamic/components/Sidebar/package.json +1 -1
  63. package/dist/dynamic/components/SimpleList/package.json +1 -1
  64. package/dist/dynamic/components/Skeleton/package.json +1 -1
  65. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  66. package/dist/dynamic/components/Slider/package.json +1 -1
  67. package/dist/dynamic/components/Spinner/package.json +1 -1
  68. package/dist/dynamic/components/Switch/package.json +1 -1
  69. package/dist/dynamic/components/Tabs/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/TimePicker/package.json +1 -1
  74. package/dist/dynamic/components/Timestamp/package.json +1 -1
  75. package/dist/dynamic/components/Title/package.json +1 -1
  76. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  77. package/dist/dynamic/components/Toolbar/package.json +1 -1
  78. package/dist/dynamic/components/Tooltip/package.json +1 -1
  79. package/dist/dynamic/components/TreeView/package.json +1 -1
  80. package/dist/dynamic/components/Truncate/package.json +1 -1
  81. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/package.json +1 -1
  83. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/esm/components/AboutModal/AboutModal.d.ts.map +1 -1
  115. package/dist/esm/components/AboutModal/AboutModal.js +2 -2
  116. package/dist/esm/components/AboutModal/AboutModal.js.map +1 -1
  117. package/dist/esm/components/Card/CardHeader.d.ts.map +1 -1
  118. package/dist/esm/components/Card/CardHeader.js +4 -4
  119. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  120. package/dist/esm/components/DataList/DataListCheck.d.ts.map +1 -1
  121. package/dist/esm/components/DataList/DataListCheck.js +2 -2
  122. package/dist/esm/components/DataList/DataListCheck.js.map +1 -1
  123. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.d.ts +4 -4
  124. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  125. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.js.map +1 -1
  126. package/dist/js/components/AboutModal/AboutModal.d.ts.map +1 -1
  127. package/dist/js/components/AboutModal/AboutModal.js +2 -2
  128. package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
  129. package/dist/js/components/Card/CardHeader.d.ts.map +1 -1
  130. package/dist/js/components/Card/CardHeader.js +4 -4
  131. package/dist/js/components/Card/CardHeader.js.map +1 -1
  132. package/dist/js/components/DataList/DataListCheck.d.ts.map +1 -1
  133. package/dist/js/components/DataList/DataListCheck.js +2 -2
  134. package/dist/js/components/DataList/DataListCheck.js.map +1 -1
  135. package/dist/js/deprecated/components/DualListSelector/DualListSelector.d.ts +4 -4
  136. package/dist/js/deprecated/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  137. package/dist/js/deprecated/components/DualListSelector/DualListSelector.js.map +1 -1
  138. package/dist/umd/assets/{output-BVwKwvaV.css → output-IllzeXP1.css} +18970 -18970
  139. package/dist/umd/react-core.min.js +3 -3
  140. package/helpers/package.json +1 -1
  141. package/layouts/package.json +1 -1
  142. package/next/package.json +1 -1
  143. package/package.json +2 -2
  144. package/src/components/AboutModal/AboutModal.tsx +1 -3
  145. package/src/components/Card/CardHeader.tsx +108 -107
  146. package/src/components/DataList/DataListCheck.tsx +16 -13
  147. package/src/demos/DatePicker/examples/DateTimePickerInModal.tsx +34 -18
  148. package/src/demos/examples/MultipleFileUpload/MultipleFileUploadRejectedFile.tsx +8 -12
  149. package/src/deprecated/components/DualListSelector/DualListSelector.tsx +20 -20
@@ -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.1.0","private":true}
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.1.1-prerelease.0","private":true}
@@ -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.1.0","private":true}
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.1.1-prerelease.0","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.1.0","private":true}
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.1.1-prerelease.0","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.1.1-prerelease.0",
3
+ "version": "6.1.1-prerelease.1",
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",
@@ -63,5 +63,5 @@
63
63
  "react": "^17 || ^18",
64
64
  "react-dom": "^17 || ^18"
65
65
  },
66
- "gitHead": "e161ac6d6f712b7c5692e981e79da71fdd85f011"
66
+ "gitHead": "561f17ebb6ec19c65d0bc7811ff7b0ada358fc31"
67
67
  }
@@ -6,7 +6,7 @@ import { AboutModalBoxHeader } from './AboutModalBoxHeader';
6
6
  import { AboutModalBoxBrand } from './AboutModalBoxBrand';
7
7
  import { AboutModalBoxCloseButton } from './AboutModalBoxCloseButton';
8
8
  import { AboutModalBox } from './AboutModalBox';
9
- import { Modal, ModalVariant } from '../../deprecated/components/Modal';
9
+ import { Modal, ModalVariant } from '../Modal';
10
10
  import { GenerateId } from '../../helpers/GenerateId/GenerateId';
11
11
 
12
12
  export interface AboutModalProps extends React.HTMLProps<HTMLDivElement> {
@@ -82,10 +82,8 @@ export const AboutModal: React.FunctionComponent<AboutModalProps> = ({
82
82
  {...(productName && { 'aria-labelledby': ariaLabelledBy })}
83
83
  aria-label={ariaLabel}
84
84
  onEscapePress={onClose}
85
- showClose={false}
86
85
  appendTo={appendTo}
87
86
  disableFocusTrap={disableFocusTrap}
88
- hasNoBodyWrapper
89
87
  >
90
88
  <AboutModalBox
91
89
  style={
@@ -9,6 +9,7 @@ import { Button } from '../Button';
9
9
  import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
10
10
  import { Radio } from '../Radio';
11
11
  import { Checkbox } from '../Checkbox';
12
+ import { GenerateId } from '../../helpers/GenerateId/GenerateId';
12
13
 
13
14
  export interface CardHeaderActionsObject {
14
15
  /** Actions of the card header */
@@ -87,122 +88,122 @@ export const CardHeader: React.FunctionComponent<CardHeaderProps> = ({
87
88
  toggleButtonProps,
88
89
  isToggleRightAligned,
89
90
  ...props
90
- }: CardHeaderProps) => {
91
- const uniqueId = React.useId();
92
-
93
- return (
94
- <CardContext.Consumer>
95
- {({ cardId, isClickable, isSelectable, isSelected, isDisabled: isCardDisabled }) => {
96
- const cardHeaderToggle = (
97
- <div className={css(styles.cardHeaderToggle)}>
98
- <Button
99
- variant="plain"
100
- type="button"
101
- onClick={(evt) => {
102
- onExpand(evt, cardId);
103
- }}
104
- {...toggleButtonProps}
105
- icon={
106
- <span className={css(styles.cardHeaderToggleIcon)}>
107
- <AngleRightIcon />
108
- </span>
109
- }
110
- />
111
- </div>
112
- );
113
-
114
- const isClickableOrSelectableOnly = (isClickable && !isSelectable) || (isSelectable && !isClickable);
115
- if (actions?.actions && isClickableOrSelectableOnly) {
116
- // eslint-disable-next-line no-console
117
- console.error(
118
- `Card: ${
119
- isClickable ? 'Clickable' : 'Selectable'
120
- } only cards should not contain any other actions. If you wish to include additional actions, use a clickable and selectable card.`
91
+ }: CardHeaderProps) => (
92
+ <GenerateId>
93
+ {(randomId) => (
94
+ <CardContext.Consumer>
95
+ {({ cardId, isClickable, isSelectable, isSelected, isDisabled: isCardDisabled }) => {
96
+ const cardHeaderToggle = (
97
+ <div className={css(styles.cardHeaderToggle)}>
98
+ <Button
99
+ variant="plain"
100
+ type="button"
101
+ onClick={(evt) => {
102
+ onExpand(evt, cardId);
103
+ }}
104
+ {...toggleButtonProps}
105
+ icon={
106
+ <span className={css(styles.cardHeaderToggleIcon)}>
107
+ <AngleRightIcon />
108
+ </span>
109
+ }
110
+ />
111
+ </div>
121
112
  );
122
- }
123
113
 
124
- const isClickableOnlyCard = isClickable && !isSelectable;
125
- if (
126
- (isClickableOnlyCard || isSelectable) &&
127
- !selectableActions?.selectableActionAriaLabel &&
128
- !selectableActions?.selectableActionAriaLabelledby
129
- ) {
130
- // eslint-disable-next-line no-console
131
- console.error(
132
- `Card: ${isClickableOnlyCard ? 'Clickable-only cards' : 'Cards with a selectable input'} must have either the selectableActions.selectableActionAriaLabel or selectableActions.selectableActionAriaLabelledby prop passed in order to provide an accessible name to the clickable element.`
133
- );
134
- }
114
+ const isClickableOrSelectableOnly = (isClickable && !isSelectable) || (isSelectable && !isClickable);
115
+ if (actions?.actions && isClickableOrSelectableOnly) {
116
+ // eslint-disable-next-line no-console
117
+ console.error(
118
+ `Card: ${
119
+ isClickable ? 'Clickable' : 'Selectable'
120
+ } only cards should not contain any other actions. If you wish to include additional actions, use a clickable and selectable card.`
121
+ );
122
+ }
135
123
 
136
- const SelectableCardInput = selectableActions?.variant === 'single' ? Radio : Checkbox;
137
- const getSelectableProps = () => ({
138
- className: css('pf-m-standalone'),
139
- inputClassName: css(selectableActions?.isHidden && 'pf-v6-screen-reader'),
140
- label: <></>,
141
- 'aria-label': selectableActions.selectableActionAriaLabel,
142
- 'aria-labelledby': selectableActions.selectableActionAriaLabelledby,
143
- id: selectableActions.selectableActionId ?? `card-selectable-${uniqueId}`,
144
- name: selectableActions.name,
145
- isDisabled: isCardDisabled,
146
- onChange: selectableActions.onChange,
147
- isChecked: selectableActions.isChecked ?? isSelected,
148
- ...selectableActions.selectableActionProps
149
- });
124
+ const isClickableOnlyCard = isClickable && !isSelectable;
125
+ if (
126
+ (isClickableOnlyCard || isSelectable) &&
127
+ !selectableActions?.selectableActionAriaLabel &&
128
+ !selectableActions?.selectableActionAriaLabelledby
129
+ ) {
130
+ // eslint-disable-next-line no-console
131
+ console.error(
132
+ `Card: ${isClickableOnlyCard ? 'Clickable-only cards' : 'Cards with a selectable input'} must have either the selectableActions.selectableActionAriaLabel or selectableActions.selectableActionAriaLabelledby prop passed in order to provide an accessible name to the clickable element.`
133
+ );
134
+ }
150
135
 
151
- const isClickableLinkCard = selectableActions?.to !== undefined;
152
- const ClickableCardComponent = isClickableLinkCard ? 'a' : 'button';
153
- const getClickableProps = () => {
154
- const isDisabledLinkCard = isCardDisabled && isClickableLinkCard;
155
- const baseProps = {
156
- className: css(
157
- 'pf-v6-c-card__clickable-action',
158
- isDisabledLinkCard && styles.modifiers.disabled,
159
- selectableActions?.isHidden && 'pf-v6-screen-reader'
160
- ),
161
- id: selectableActions.selectableActionId,
136
+ const SelectableCardInput = selectableActions?.variant === 'single' ? Radio : Checkbox;
137
+ const getSelectableProps = () => ({
138
+ className: css('pf-m-standalone'),
139
+ inputClassName: css(selectableActions?.isHidden && 'pf-v6-screen-reader'),
140
+ label: <></>,
162
141
  'aria-label': selectableActions.selectableActionAriaLabel,
163
142
  'aria-labelledby': selectableActions.selectableActionAriaLabelledby,
143
+ id: selectableActions.selectableActionId ?? `card-selectable-${randomId}`,
144
+ name: selectableActions.name,
145
+ isDisabled: isCardDisabled,
146
+ onChange: selectableActions.onChange,
147
+ isChecked: selectableActions.isChecked ?? isSelected,
164
148
  ...selectableActions.selectableActionProps
165
- };
149
+ });
166
150
 
167
- if (isClickableLinkCard) {
168
- return {
169
- ...baseProps,
170
- href: selectableActions.to,
171
- ...(isCardDisabled && { tabIndex: -1, 'aria-disabled': true }),
172
- ...(selectableActions.isExternalLink && { target: '_blank' })
151
+ const isClickableLinkCard = selectableActions?.to !== undefined;
152
+ const ClickableCardComponent = isClickableLinkCard ? 'a' : 'button';
153
+ const getClickableProps = () => {
154
+ const isDisabledLinkCard = isCardDisabled && isClickableLinkCard;
155
+ const baseProps = {
156
+ className: css(
157
+ 'pf-v6-c-card__clickable-action',
158
+ isDisabledLinkCard && styles.modifiers.disabled,
159
+ selectableActions?.isHidden && 'pf-v6-screen-reader'
160
+ ),
161
+ id: selectableActions.selectableActionId,
162
+ 'aria-label': selectableActions.selectableActionAriaLabel,
163
+ 'aria-labelledby': selectableActions.selectableActionAriaLabelledby,
164
+ ...selectableActions.selectableActionProps
173
165
  };
174
- }
175
166
 
176
- return { ...baseProps, type: 'button', disabled: isCardDisabled, onClick: selectableActions.onClickAction };
177
- };
167
+ if (isClickableLinkCard) {
168
+ return {
169
+ ...baseProps,
170
+ href: selectableActions.to,
171
+ ...(isCardDisabled && { tabIndex: -1, 'aria-disabled': true }),
172
+ ...(selectableActions.isExternalLink && { target: '_blank' })
173
+ };
174
+ }
178
175
 
179
- return (
180
- <div
181
- className={css(styles.cardHeader, isToggleRightAligned && styles.modifiers.toggleRight, className)}
182
- id={id}
183
- {...props}
184
- >
185
- {onExpand && !isToggleRightAligned && cardHeaderToggle}
186
- {(actions || (selectableActions && (isClickable || isSelectable))) && (
187
- <CardActions
188
- className={actions?.className}
189
- hasNoOffset={actions?.hasNoOffset || selectableActions?.hasNoOffset}
190
- >
191
- {actions?.actions}
192
- {selectableActions && (isClickable || isSelectable) && (
193
- <CardSelectableActions className={selectableActions?.className}>
194
- {isSelectable && <SelectableCardInput {...getSelectableProps()} />}
195
- {isClickableOnlyCard && <ClickableCardComponent {...getClickableProps()} />}
196
- </CardSelectableActions>
197
- )}
198
- </CardActions>
199
- )}
200
- {children && <CardHeaderMain>{children}</CardHeaderMain>}
201
- {onExpand && isToggleRightAligned && cardHeaderToggle}
202
- </div>
203
- );
204
- }}
205
- </CardContext.Consumer>
206
- );
207
- };
176
+ return { ...baseProps, type: 'button', disabled: isCardDisabled, onClick: selectableActions.onClickAction };
177
+ };
178
+
179
+ return (
180
+ <div
181
+ className={css(styles.cardHeader, isToggleRightAligned && styles.modifiers.toggleRight, className)}
182
+ id={id}
183
+ {...props}
184
+ >
185
+ {onExpand && !isToggleRightAligned && cardHeaderToggle}
186
+ {(actions || (selectableActions && (isClickable || isSelectable))) && (
187
+ <CardActions
188
+ className={actions?.className}
189
+ hasNoOffset={actions?.hasNoOffset || selectableActions?.hasNoOffset}
190
+ >
191
+ {actions?.actions}
192
+ {selectableActions && (isClickable || isSelectable) && (
193
+ <CardSelectableActions className={selectableActions?.className}>
194
+ {isSelectable && <SelectableCardInput {...getSelectableProps()} />}
195
+ {isClickableOnlyCard && <ClickableCardComponent {...getClickableProps()} />}
196
+ </CardSelectableActions>
197
+ )}
198
+ </CardActions>
199
+ )}
200
+ {children && <CardHeaderMain>{children}</CardHeaderMain>}
201
+ {onExpand && isToggleRightAligned && cardHeaderToggle}
202
+ </div>
203
+ );
204
+ }}
205
+ </CardContext.Consumer>
206
+ )}
207
+ </GenerateId>
208
+ );
208
209
  CardHeader.displayName = 'CardHeader';
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { css } from '@patternfly/react-styles';
3
3
  import styles from '@patternfly/react-styles/css/components/DataList/data-list';
4
4
  import { Checkbox, CheckboxProps } from '../Checkbox';
5
+ import { GenerateId } from '../../helpers/GenerateId/GenerateId';
5
6
 
6
7
  export interface DataListCheckProps extends Omit<CheckboxProps, 'ref' | 'id'> {
7
8
  /** Id of the DataList checkbox. */
@@ -46,21 +47,23 @@ export const DataListCheck: React.FunctionComponent<DataListCheckProps> = ({
46
47
  otherControls = false,
47
48
  ...props
48
49
  }: DataListCheckProps) => {
49
- const uniqueId = React.useId();
50
-
51
50
  const check = (
52
51
  <div className={css(styles.dataListCheck)}>
53
- <Checkbox
54
- id={id ?? `datalist-check-${uniqueId}`}
55
- isChecked={isChecked}
56
- checked={checked}
57
- defaultChecked={defaultChecked}
58
- onChange={onChange}
59
- aria-invalid={!isValid}
60
- isDisabled={isDisabled}
61
- isLabelWrapped
62
- {...props}
63
- />
52
+ <GenerateId>
53
+ {(randomId) => (
54
+ <Checkbox
55
+ id={id ?? `datalist-check-${randomId}`}
56
+ isChecked={isChecked}
57
+ checked={checked}
58
+ defaultChecked={defaultChecked}
59
+ onChange={onChange}
60
+ aria-invalid={!isValid}
61
+ isDisabled={isDisabled}
62
+ isLabelWrapped
63
+ {...props}
64
+ />
65
+ )}
66
+ </GenerateId>
64
67
  </div>
65
68
  );
66
69
  return (
@@ -1,6 +1,16 @@
1
1
  import React from 'react';
2
- import { DatePicker, Button, TimePicker, InputGroup, InputGroupItem } from '@patternfly/react-core';
3
- import { Modal as ModalDeprecated, ModalVariant as ModalVariantDeprecated } from '@patternfly/react-core/deprecated';
2
+ import {
3
+ DatePicker,
4
+ Button,
5
+ TimePicker,
6
+ InputGroup,
7
+ InputGroupItem,
8
+ Modal,
9
+ ModalVariant,
10
+ ModalHeader,
11
+ ModalBody,
12
+ ModalFooter
13
+ } from '@patternfly/react-core';
4
14
 
5
15
  export const SimpleModal = () => {
6
16
  const [isModalOpen, setIsModalOpen] = React.useState(false);
@@ -26,31 +36,37 @@ export const SimpleModal = () => {
26
36
  <Button variant="primary" onClick={handleModalToggle}>
27
37
  Launch modal
28
38
  </Button>
29
- <ModalDeprecated
39
+ <Modal
30
40
  id="date-time-picker-modal"
31
- variant={ModalVariantDeprecated.small}
32
- title="Generic modal header"
41
+ variant={ModalVariant.small}
33
42
  isOpen={isModalOpen}
34
43
  onEscapePress={onEscapePress}
35
44
  onClose={handleModalToggle}
36
- actions={[
45
+ >
46
+ <ModalHeader title="Generic modal header" />
47
+ <ModalBody>
48
+ <InputGroup>
49
+ <InputGroupItem>
50
+ <DatePicker ref={dateRef} appendTo={() => document.body} />
51
+ </InputGroupItem>
52
+ <InputGroupItem>
53
+ <TimePicker
54
+ menuAppendTo={() => document.body}
55
+ isOpen={isTimePickerOpen}
56
+ setIsOpen={setIsTimePickerOpen}
57
+ />
58
+ </InputGroupItem>
59
+ </InputGroup>
60
+ </ModalBody>
61
+ <ModalFooter>
37
62
  <Button key="confirm" variant="primary" onClick={handleModalToggle}>
38
63
  Confirm
39
- </Button>,
64
+ </Button>
40
65
  <Button key="cancel" variant="link" onClick={handleModalToggle}>
41
66
  Cancel
42
67
  </Button>
43
- ]}
44
- >
45
- <InputGroup>
46
- <InputGroupItem>
47
- <DatePicker ref={dateRef} appendTo={() => document.getElementById('date-time-picker-modal')} />
48
- </InputGroupItem>
49
- <InputGroupItem>
50
- <TimePicker menuAppendTo="parent" isOpen={isTimePickerOpen} setIsOpen={setIsTimePickerOpen} />
51
- </InputGroupItem>
52
- </InputGroup>
53
- </ModalDeprecated>
68
+ </ModalFooter>
69
+ </Modal>
54
70
  </React.Fragment>
55
71
  );
56
72
  };
@@ -6,9 +6,11 @@ import {
6
6
  MultipleFileUploadStatus,
7
7
  MultipleFileUploadStatusItem,
8
8
  Checkbox,
9
- DropEvent
9
+ DropEvent,
10
+ Modal,
11
+ ModalHeader,
12
+ ModalBody
10
13
  } from '@patternfly/react-core';
11
- import { Modal as ModalDeprecated } from '@patternfly/react-core/deprecated';
12
14
  import UploadIcon from '@patternfly/react-icons/dist/esm/icons/upload-icon';
13
15
 
14
16
  interface readFile {
@@ -135,16 +137,10 @@ export const MultipleFileUploadBasic: React.FunctionComponent = () => {
135
137
  ))}
136
138
  </MultipleFileUploadStatus>
137
139
  )}
138
- <ModalDeprecated
139
- isOpen={!!modalText}
140
- title="Unsupported file"
141
- titleIconVariant="warning"
142
- showClose
143
- aria-label="unsupported file upload attempted"
144
- onClose={() => setModalText('')}
145
- >
146
- {modalText}
147
- </ModalDeprecated>
140
+ <Modal isOpen={!!modalText} aria-label="unsupported file upload attempted" onClose={() => setModalText('')}>
141
+ <ModalHeader title="Unsupported file" titleIconVariant="warning" />
142
+ <ModalBody>{modalText}</ModalBody>
143
+ </Modal>
148
144
  </MultipleFileUpload>
149
145
  <Checkbox
150
146
  id="horizontal-checkbox"
@@ -59,7 +59,7 @@ export interface DualListSelectorProps {
59
59
  addSelectedAriaLabel?: string;
60
60
  /** Tooltip content for the dynamically built add selected button */
61
61
  addSelectedTooltip?: React.ReactNode;
62
- /** Additonal tooltip properties for the dynamically built add selected tooltip */
62
+ /** Additional tooltip properties for the dynamically built add selected tooltip */
63
63
  addSelectedTooltipProps?: any;
64
64
  /** Callback fired every time dynamically built options are chosen or removed */
65
65
  onListChange?: (
@@ -73,7 +73,7 @@ export interface DualListSelectorProps {
73
73
  addAllAriaLabel?: string;
74
74
  /** Tooltip content for the dynamically built add all button */
75
75
  addAllTooltip?: React.ReactNode;
76
- /** Additonal tooltip properties for the dynamically built add all tooltip */
76
+ /** Additional tooltip properties for the dynamically built add all tooltip */
77
77
  addAllTooltipProps?: any;
78
78
  /** Optional callback for the dynamically built remove selected button */
79
79
  removeSelected?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
@@ -81,7 +81,7 @@ export interface DualListSelectorProps {
81
81
  removeSelectedAriaLabel?: string;
82
82
  /** Tooltip content for the dynamically built remove selected button */
83
83
  removeSelectedTooltip?: React.ReactNode;
84
- /** Additonal tooltip properties for the dynamically built remove selected tooltip */
84
+ /** Additional tooltip properties for the dynamically built remove selected tooltip */
85
85
  removeSelectedTooltipProps?: any;
86
86
  /** Optional callback for the dynamically built remove all button */
87
87
  removeAll?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
@@ -89,7 +89,7 @@ export interface DualListSelectorProps {
89
89
  removeAllAriaLabel?: string;
90
90
  /** Tooltip content for the dynamically built remove all button */
91
91
  removeAllTooltip?: React.ReactNode;
92
- /** Additonal tooltip properties for the dynamically built remove all tooltip */
92
+ /** Additional tooltip properties for the dynamically built remove all tooltip */
93
93
  removeAllTooltipProps?: any;
94
94
  /** Optional callback fired when a dynamically built option is selected */
95
95
  onOptionSelect?: (
@@ -286,8 +286,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
286
286
  chosenFilteredOptions: newChosen,
287
287
  availableOptions: newAvailable,
288
288
  availableFilteredOptions: newAvailable,
289
- chosenOptionsSelected: [],
290
- availableOptionsSelected: []
289
+ chosenOptionsSelected: [] as number[],
290
+ availableOptionsSelected: [] as number[]
291
291
  };
292
292
  });
293
293
  };
@@ -319,8 +319,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
319
319
  chosenFilteredOptions: newChosen,
320
320
  availableOptions: newAvailable,
321
321
  availableFilteredOptions: newAvailable,
322
- availableTreeOptionsChecked: [],
323
- chosenTreeOptionsChecked: []
322
+ availableTreeOptionsChecked: [] as string[],
323
+ chosenTreeOptionsChecked: [] as string[]
324
324
  };
325
325
  });
326
326
  };
@@ -342,8 +342,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
342
342
  this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
343
343
 
344
344
  return {
345
- chosenOptionsSelected: [],
346
- availableOptionsSelected: [],
345
+ chosenOptionsSelected: [] as number[],
346
+ availableOptionsSelected: [] as number[],
347
347
  chosenOptions: newChosen,
348
348
  chosenFilteredOptions: newChosen,
349
349
  availableOptions: newAvailable,
@@ -374,8 +374,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
374
374
  this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
375
375
 
376
376
  return {
377
- availableTreeOptionsChecked: [],
378
- chosenTreeOptionsChecked: [],
377
+ availableTreeOptionsChecked: [] as string[],
378
+ chosenTreeOptionsChecked: [] as string[],
379
379
  availableOptions: newAvailable,
380
380
  chosenOptions: newChosen
381
381
  };
@@ -404,8 +404,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
404
404
  chosenFilteredOptions: newChosen,
405
405
  availableOptions: newAvailable,
406
406
  availableFilteredOptions: newAvailable,
407
- chosenOptionsSelected: [],
408
- availableOptionsSelected: []
407
+ chosenOptionsSelected: [] as number[],
408
+ availableOptionsSelected: [] as number[]
409
409
  };
410
410
  });
411
411
  };
@@ -433,8 +433,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
433
433
  return {
434
434
  chosenOptions: newChosen,
435
435
  availableOptions: newAvailable,
436
- availableTreeOptionsChecked: [],
437
- chosenTreeOptionsChecked: []
436
+ availableTreeOptionsChecked: [] as string[],
437
+ chosenTreeOptionsChecked: [] as string[]
438
438
  };
439
439
  });
440
440
  };
@@ -456,8 +456,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
456
456
  this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
457
457
 
458
458
  return {
459
- chosenOptionsSelected: [],
460
- availableOptionsSelected: [],
459
+ chosenOptionsSelected: [] as number[],
460
+ availableOptionsSelected: [] as number[],
461
461
  chosenOptions: newChosen,
462
462
  chosenFilteredOptions: newChosen,
463
463
  availableOptions: newAvailable,
@@ -488,8 +488,8 @@ class DualListSelector extends React.Component<DualListSelectorProps, DualListSe
488
488
  this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
489
489
 
490
490
  return {
491
- availableTreeOptionsChecked: [],
492
- chosenTreeOptionsChecked: [],
491
+ availableTreeOptionsChecked: [] as string[],
492
+ chosenTreeOptionsChecked: [] as string[],
493
493
  availableOptions: newAvailable,
494
494
  chosenOptions: newChosen
495
495
  };