@patternfly/react-core 5.2.0-prerelease.10 → 5.2.0-prerelease.12

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 (154) hide show
  1. package/CHANGELOG.md +13 -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/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/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/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  120. package/dist/esm/components/CalendarMonth/CalendarMonth.js +15 -39
  121. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  122. package/dist/esm/components/SearchInput/SearchInput.d.ts +2 -0
  123. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  124. package/dist/esm/components/SearchInput/SearchInput.js +2 -2
  125. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  126. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  127. package/dist/esm/helpers/Popper/Popper.js +3 -2
  128. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  129. package/dist/esm/helpers/datetimeUtils.d.ts +1 -1
  130. package/dist/esm/helpers/datetimeUtils.d.ts.map +1 -1
  131. package/dist/esm/helpers/datetimeUtils.js.map +1 -1
  132. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  133. package/dist/js/components/CalendarMonth/CalendarMonth.js +15 -39
  134. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  135. package/dist/js/components/SearchInput/SearchInput.d.ts +2 -0
  136. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  137. package/dist/js/components/SearchInput/SearchInput.js +2 -2
  138. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  139. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  140. package/dist/js/helpers/Popper/Popper.js +3 -2
  141. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  142. package/dist/js/helpers/datetimeUtils.d.ts +1 -1
  143. package/dist/js/helpers/datetimeUtils.d.ts.map +1 -1
  144. package/dist/js/helpers/datetimeUtils.js.map +1 -1
  145. package/dist/umd/react-core.min.js +1 -1
  146. package/helpers/package.json +1 -1
  147. package/layouts/package.json +1 -1
  148. package/next/package.json +1 -1
  149. package/package.json +2 -2
  150. package/src/components/CalendarMonth/CalendarMonth.tsx +18 -43
  151. package/src/components/SearchInput/SearchInput.tsx +5 -1
  152. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +8 -0
  153. package/src/helpers/Popper/Popper.tsx +3 -1
  154. package/src/helpers/datetimeUtils.ts +1 -1
@@ -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.9","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":"5.2.0-prerelease.11","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":"5.2.0-prerelease.9","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":"5.2.0-prerelease.11","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.9","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":"5.2.0-prerelease.11","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.2.0-prerelease.10",
3
+ "version": "5.2.0-prerelease.12",
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": "89b20edb7f326ac307787b13c911500ffd18c8f0"
74
+ "gitHead": "b37416a39118b637c946b9bce3166e8cf81bfb82"
75
75
  }
@@ -154,12 +154,13 @@ export const CalendarMonth = ({
154
154
  const [isSelectOpen, setIsSelectOpen] = React.useState(false);
155
155
 
156
156
  const getInitialDate = () => {
157
- const initDate = new Date(dateProp);
158
- if (isValidDate(initDate)) {
159
- return initDate;
160
- } else {
161
- return isValidDate(rangeStart) ? rangeStart : today;
157
+ if (isValidDate(dateProp)) {
158
+ return dateProp;
162
159
  }
160
+ if (isValidDate(rangeStart)) {
161
+ return rangeStart;
162
+ }
163
+ return today;
163
164
  };
164
165
  const initialDate = getInitialDate();
165
166
  const [focusedDate, setFocusedDate] = React.useState(initialDate);
@@ -211,43 +212,25 @@ export const CalendarMonth = ({
211
212
  }
212
213
  };
213
214
 
214
- const changeMonth = (month: number) => {
215
- const newDate = new Date(focusedDate);
216
- const desiredDay = newDate.getDate();
217
- const monthDays = new Date(newDate.getFullYear(), (month + 1) % 12, 0).getDate(); // Setting day 0 of the next month returns the last day of current month
218
-
219
- if (monthDays < desiredDay) {
220
- newDate.setDate(monthDays);
221
- }
222
-
223
- newDate.setMonth(month);
224
-
225
- if (initialDate.getDate() > desiredDay && monthDays > desiredDay) {
226
- newDate.setDate(initialDate.getDate());
227
- }
215
+ const changeYear = (newYear: number) => changeMonth(focusedDate.getMonth(), newYear);
228
216
 
229
- return newDate;
230
- };
217
+ const changeMonth = (newMonth: number, newYear?: number) =>
218
+ new Date(newYear ?? focusedDate.getFullYear(), newMonth, 1);
231
219
 
232
220
  const addMonth = (toAdd: -1 | 1) => {
233
- let newMonth = new Date(focusedDate).getMonth() + toAdd;
221
+ let newMonth = focusedDate.getMonth() + toAdd;
222
+ let newYear = focusedDate.getFullYear();
223
+
234
224
  if (newMonth === -1) {
235
225
  newMonth = 11;
226
+ newYear--;
236
227
  } else if (newMonth === 12) {
237
228
  newMonth = 0;
229
+ newYear++;
238
230
  }
239
- const newDate = changeMonth(newMonth);
240
- if (toAdd === 1 && newMonth === 0) {
241
- newDate.setFullYear(newDate.getFullYear() + 1);
242
- }
243
- if (toAdd === -1 && newMonth === 11) {
244
- newDate.setFullYear(newDate.getFullYear() - 1);
245
- }
246
- return newDate;
247
- };
248
231
 
249
- const yearHasFebruary29th = (year: number) => new Date(year, 1, 29).getMonth() === 1;
250
- const dateIsFebruary29th = (date: Date) => date.getMonth() === 1 && date.getDate() === 29;
232
+ return changeMonth(newMonth, newYear);
233
+ };
251
234
 
252
235
  const prevMonth = addMonth(-1);
253
236
  const nextMonth = addMonth(1);
@@ -340,19 +323,11 @@ export const CalendarMonth = ({
340
323
  type="number"
341
324
  value={yearFormatted}
342
325
  onChange={(ev: React.FormEvent<HTMLInputElement>, year: string) => {
343
- const newDate = new Date(focusedDate);
344
- if (dateIsFebruary29th(newDate) && !yearHasFebruary29th(+year)) {
345
- newDate.setDate(28);
346
- newDate.setMonth(1);
347
- }
348
- if (dateIsFebruary29th(initialDate) && yearHasFebruary29th(+year)) {
349
- newDate.setFullYear(+year);
350
- newDate.setDate(29);
351
- }
352
- newDate.setFullYear(+year);
326
+ const newDate = changeYear(Number(year));
353
327
  setFocusedDate(newDate);
354
328
  setHoveredDate(newDate);
355
329
  setShouldFocus(false);
330
+ focusRef.current?.blur(); // will unfocus a date when changing year via up/down arrows
356
331
  onMonthChange(ev, newDate);
357
332
  }}
358
333
  />
@@ -59,6 +59,9 @@ export interface SearchInputProps extends Omit<React.HTMLProps<HTMLDivElement>,
59
59
  appendTo?: HTMLElement | (() => HTMLElement) | 'inline';
60
60
  /** An accessible label for the search input. */
61
61
  'aria-label'?: string;
62
+ /** Flag to indicate utilities should be displayed. By default if this prop is undefined or false, utilities will only be displayed when the search input has a value. */
63
+
64
+ areUtilitiesDisplayed?: boolean;
62
65
  /** Array of attribute values used for dynamically generated advanced search. */
63
66
  attributes?: string[] | SearchInputSearchAttribute[];
64
67
  /** Additional classes added to the search input. */
@@ -152,6 +155,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
152
155
  appendTo,
153
156
  zIndex = 9999,
154
157
  name,
158
+ areUtilitiesDisplayed,
155
159
  ...props
156
160
  }: SearchInputProps) => {
157
161
  const [isSearchMenuOpen, setIsSearchMenuOpen] = React.useState(false);
@@ -295,7 +299,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
295
299
  onChange={onChangeHandler}
296
300
  name={name}
297
301
  />
298
- {renderUtilities && (
302
+ {(renderUtilities || areUtilitiesDisplayed) && (
299
303
  <TextInputGroupUtilities>
300
304
  {resultsCount && <Badge isRead>{resultsCount}</Badge>}
301
305
  {!!onNextClick && !!onPreviousClick && (
@@ -250,3 +250,11 @@ test('toggleAriaLabel is applied to the expandable toggle', () => {
250
250
 
251
251
  expect(screen.getByRole('button')).toHaveAccessibleName('Test label');
252
252
  });
253
+
254
+ test('Utilities are rendered when areUtilitiesDisplayed is set', () => {
255
+ render(
256
+ <SearchInput {...props} areUtilitiesDisplayed resetButtonLabel='test-util-display'/>
257
+ );
258
+ expect(screen.getByLabelText('test-util-display')).toBeVisible();
259
+ });
260
+
@@ -458,7 +458,9 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
458
458
  * TODO: Investigate into 3rd party libraries for a less limited/specific solution
459
459
  */
460
460
  React.useEffect(() => {
461
- const currentPopperContent = popper?.props?.children[1]?.props?.children;
461
+ // currentPopperContent = {tooltip children} || {dropdown children}
462
+ const currentPopperContent =
463
+ popper?.props?.children[1]?.props?.children || popper?.props?.children?.props?.children;
462
464
  setPopperContent(currentPopperContent);
463
465
 
464
466
  if (currentPopperContent && popperContent && currentPopperContent !== popperContent) {
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * @param {Date} date - A date to check the validity of
3
3
  */
4
- export const isValidDate = (date: Date) => Boolean(date && !isNaN(date as any));
4
+ export const isValidDate = (date?: Date) => Boolean(date && !isNaN(date as any));