@patternfly/react-core 4.236.5 → 4.236.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -0
  3. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  4. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js +4 -3
  5. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
  6. package/dist/esm/components/BackToTop/BackToTop.d.ts +1 -1
  7. package/dist/esm/components/ContextSelector/ContextSelector.d.ts +2 -0
  8. package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  9. package/dist/esm/components/ContextSelector/ContextSelector.js +4 -3
  10. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  11. package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
  12. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  13. package/dist/esm/components/Dropdown/Dropdown.js +2 -2
  14. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  15. package/dist/esm/components/Dropdown/DropdownWithContext.d.ts.map +1 -1
  16. package/dist/esm/components/Dropdown/DropdownWithContext.js +2 -2
  17. package/dist/esm/components/Dropdown/DropdownWithContext.js.map +1 -1
  18. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  19. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  20. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  21. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  22. package/dist/esm/components/Menu/MenuContent.d.ts +1 -1
  23. package/dist/esm/components/Menu/MenuGroup.d.ts +1 -1
  24. package/dist/esm/components/Menu/MenuInput.d.ts +1 -1
  25. package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
  26. package/dist/esm/components/Nav/NavItem.d.ts +2 -0
  27. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  28. package/dist/esm/components/Nav/NavItem.js +2 -2
  29. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  30. package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  31. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +2 -0
  32. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  33. package/dist/esm/components/OptionsMenu/OptionsMenu.js +2 -2
  34. package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
  35. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  36. package/dist/esm/components/Page/Page.js +11 -2
  37. package/dist/esm/components/Page/Page.js.map +1 -1
  38. package/dist/esm/components/Panel/Panel.d.ts +1 -1
  39. package/dist/esm/components/Popover/Popover.d.ts +2 -0
  40. package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
  41. package/dist/esm/components/Popover/Popover.js +2 -2
  42. package/dist/esm/components/Popover/Popover.js.map +1 -1
  43. package/dist/esm/components/Popover/PopoverCloseButton.d.ts.map +1 -1
  44. package/dist/esm/components/Popover/PopoverCloseButton.js +2 -11
  45. package/dist/esm/components/Popover/PopoverCloseButton.js.map +1 -1
  46. package/dist/esm/components/SearchInput/SearchInput.d.ts +2 -0
  47. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  48. package/dist/esm/components/SearchInput/SearchInput.js +2 -2
  49. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  50. package/dist/esm/components/Select/Select.d.ts +2 -0
  51. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  52. package/dist/esm/components/Select/Select.js +4 -3
  53. package/dist/esm/components/Select/Select.js.map +1 -1
  54. package/dist/esm/components/Tabs/OverflowTab.d.ts +2 -0
  55. package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
  56. package/dist/esm/components/Tabs/OverflowTab.js +2 -2
  57. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  58. package/dist/esm/components/Tabs/Tab.d.ts +1 -1
  59. package/dist/esm/components/TimePicker/TimePicker.d.ts +3 -0
  60. package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
  61. package/dist/esm/components/TimePicker/TimePicker.js +5 -4
  62. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  63. package/dist/esm/components/Tooltip/Tooltip.d.ts +2 -0
  64. package/dist/esm/components/Tooltip/Tooltip.d.ts.map +1 -1
  65. package/dist/esm/components/Tooltip/Tooltip.js +2 -2
  66. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  67. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts +5 -19
  68. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  69. package/dist/esm/helpers/FocusTrap/FocusTrap.js +10 -6
  70. package/dist/esm/helpers/FocusTrap/FocusTrap.js.map +1 -1
  71. package/dist/esm/helpers/Popper/Popper.d.ts +5 -0
  72. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  73. package/dist/esm/helpers/Popper/Popper.js +42 -7
  74. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  75. package/dist/esm/helpers/resizeObserver.d.ts +8 -1
  76. package/dist/esm/helpers/resizeObserver.d.ts.map +1 -1
  77. package/dist/esm/helpers/resizeObserver.js +18 -3
  78. package/dist/esm/helpers/resizeObserver.js.map +1 -1
  79. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -0
  80. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  81. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js +4 -3
  82. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
  83. package/dist/js/components/BackToTop/BackToTop.d.ts +1 -1
  84. package/dist/js/components/ContextSelector/ContextSelector.d.ts +2 -0
  85. package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  86. package/dist/js/components/ContextSelector/ContextSelector.js +4 -3
  87. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  88. package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
  89. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  90. package/dist/js/components/Dropdown/Dropdown.js +2 -2
  91. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  92. package/dist/js/components/Dropdown/DropdownWithContext.d.ts.map +1 -1
  93. package/dist/js/components/Dropdown/DropdownWithContext.js +2 -2
  94. package/dist/js/components/Dropdown/DropdownWithContext.js.map +1 -1
  95. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  96. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  97. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  98. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  99. package/dist/js/components/Menu/MenuContent.d.ts +1 -1
  100. package/dist/js/components/Menu/MenuGroup.d.ts +1 -1
  101. package/dist/js/components/Menu/MenuInput.d.ts +1 -1
  102. package/dist/js/components/Menu/MenuItem.d.ts +1 -1
  103. package/dist/js/components/Nav/NavItem.d.ts +2 -0
  104. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  105. package/dist/js/components/Nav/NavItem.js +2 -2
  106. package/dist/js/components/Nav/NavItem.js.map +1 -1
  107. package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  108. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +2 -0
  109. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  110. package/dist/js/components/OptionsMenu/OptionsMenu.js +2 -2
  111. package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
  112. package/dist/js/components/Page/Page.d.ts.map +1 -1
  113. package/dist/js/components/Page/Page.js +11 -2
  114. package/dist/js/components/Page/Page.js.map +1 -1
  115. package/dist/js/components/Panel/Panel.d.ts +1 -1
  116. package/dist/js/components/Popover/Popover.d.ts +2 -0
  117. package/dist/js/components/Popover/Popover.d.ts.map +1 -1
  118. package/dist/js/components/Popover/Popover.js +2 -2
  119. package/dist/js/components/Popover/Popover.js.map +1 -1
  120. package/dist/js/components/Popover/PopoverCloseButton.d.ts.map +1 -1
  121. package/dist/js/components/Popover/PopoverCloseButton.js +2 -11
  122. package/dist/js/components/Popover/PopoverCloseButton.js.map +1 -1
  123. package/dist/js/components/SearchInput/SearchInput.d.ts +2 -0
  124. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  125. package/dist/js/components/SearchInput/SearchInput.js +2 -2
  126. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  127. package/dist/js/components/Select/Select.d.ts +2 -0
  128. package/dist/js/components/Select/Select.d.ts.map +1 -1
  129. package/dist/js/components/Select/Select.js +4 -3
  130. package/dist/js/components/Select/Select.js.map +1 -1
  131. package/dist/js/components/Tabs/OverflowTab.d.ts +2 -0
  132. package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
  133. package/dist/js/components/Tabs/OverflowTab.js +2 -2
  134. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  135. package/dist/js/components/Tabs/Tab.d.ts +1 -1
  136. package/dist/js/components/TimePicker/TimePicker.d.ts +3 -0
  137. package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
  138. package/dist/js/components/TimePicker/TimePicker.js +5 -4
  139. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  140. package/dist/js/components/Tooltip/Tooltip.d.ts +2 -0
  141. package/dist/js/components/Tooltip/Tooltip.d.ts.map +1 -1
  142. package/dist/js/components/Tooltip/Tooltip.js +2 -2
  143. package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
  144. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts +5 -19
  145. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  146. package/dist/js/helpers/FocusTrap/FocusTrap.js +10 -7
  147. package/dist/js/helpers/FocusTrap/FocusTrap.js.map +1 -1
  148. package/dist/js/helpers/Popper/Popper.d.ts +5 -0
  149. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  150. package/dist/js/helpers/Popper/Popper.js +42 -7
  151. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  152. package/dist/js/helpers/resizeObserver.d.ts +8 -1
  153. package/dist/js/helpers/resizeObserver.d.ts.map +1 -1
  154. package/dist/js/helpers/resizeObserver.js +18 -3
  155. package/dist/js/helpers/resizeObserver.js.map +1 -1
  156. package/dist/umd/react-core.min.css +39 -39
  157. package/dist/umd/react-core.min.js +5 -5
  158. package/package.json +5 -5
  159. package/src/components/ApplicationLauncher/ApplicationLauncher.tsx +6 -1
  160. package/src/components/ApplicationLauncher/__tests__/ApplicationLauncher.test.tsx +10 -1
  161. package/src/components/ApplicationLauncher/__tests__/__snapshots__/ApplicationLauncher.test.tsx.snap +153 -7
  162. package/src/components/ContextSelector/ContextSelector.tsx +6 -1
  163. package/src/components/ContextSelector/__tests__/ContextSelector.test.tsx +18 -1
  164. package/src/components/ContextSelector/__tests__/__snapshots__/ContextSelector.test.tsx.snap +144 -0
  165. package/src/components/Dropdown/Dropdown.tsx +9 -1
  166. package/src/components/Dropdown/DropdownWithContext.tsx +2 -0
  167. package/src/components/Dropdown/__tests__/Dropdown.test.tsx +16 -0
  168. package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +131 -7
  169. package/src/components/Nav/NavItem.tsx +4 -0
  170. package/src/components/Nav/__tests__/Nav.test.tsx +19 -0
  171. package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +111 -42
  172. package/src/components/OptionsMenu/OptionsMenu.tsx +4 -0
  173. package/src/components/OptionsMenu/__tests__/OptionsMenu.test.tsx +17 -0
  174. package/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +216 -20
  175. package/src/components/Page/Page.tsx +11 -2
  176. package/src/components/Popover/Popover.tsx +4 -0
  177. package/src/components/Popover/PopoverCloseButton.tsx +6 -17
  178. package/src/components/Popover/__tests__/Popover.test.tsx +25 -0
  179. package/src/components/Popover/__tests__/__snapshots__/Popover.test.tsx.snap +10 -0
  180. package/src/components/SearchInput/SearchInput.tsx +4 -0
  181. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +27 -1
  182. package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +130 -6
  183. package/src/components/Select/Select.tsx +6 -1
  184. package/src/components/Select/__tests__/Select.test.tsx +23 -7
  185. package/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +152 -46
  186. package/src/components/Tabs/OverflowTab.tsx +4 -0
  187. package/src/components/Tabs/__tests__/OverflowTab.test.tsx +31 -7
  188. package/src/components/Tabs/__tests__/__snapshots__/OverflowTab.test.tsx.snap +89 -0
  189. package/src/components/TimePicker/TimePicker.tsx +6 -1
  190. package/src/components/TimePicker/__tests__/TimePicker.test.tsx +16 -1
  191. package/src/components/Tooltip/Tooltip.tsx +4 -0
  192. package/src/components/Tooltip/__tests__/Tooltip.test.tsx +21 -0
  193. package/src/components/Tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +10 -0
  194. package/src/helpers/FocusTrap/FocusTrap.tsx +21 -5
  195. package/src/helpers/Popper/Popper.tsx +54 -12
  196. package/src/helpers/resizeObserver.tsx +21 -3
@@ -12,9 +12,9 @@ exports[`Select renders select groups successfully 1`] = `
12
12
  aria-expanded="true"
13
13
  aria-haspopup="listbox"
14
14
  aria-label="Options menu"
15
- aria-labelledby=" pf-select-toggle-id-2"
15
+ aria-labelledby=" pf-select-toggle-id-4"
16
16
  class="pf-c-select__toggle"
17
- id="pf-select-toggle-id-2"
17
+ id="pf-select-toggle-id-4"
18
18
  type="button"
19
19
  >
20
20
  <div
@@ -329,6 +329,112 @@ exports[`Select single select renders disabled successfully 1`] = `
329
329
  </DocumentFragment>
330
330
  `;
331
331
 
332
+ exports[`Select single select renders expanded in strict mode successfully 1`] = `
333
+ <DocumentFragment>
334
+ <div
335
+ class="pf-c-select pf-m-expanded"
336
+ data-ouia-component-id="test-id"
337
+ data-ouia-component-type="PF4/Select"
338
+ data-ouia-safe="true"
339
+ >
340
+ <button
341
+ aria-expanded="true"
342
+ aria-haspopup="listbox"
343
+ aria-label="Options menu"
344
+ aria-labelledby=" pf-select-toggle-id-1"
345
+ class="pf-c-select__toggle"
346
+ id="pf-select-toggle-id-1"
347
+ type="button"
348
+ >
349
+ <div
350
+ class="pf-c-select__toggle-wrapper"
351
+ >
352
+ <span
353
+ class="pf-c-select__toggle-text"
354
+ >
355
+ Mr
356
+ </span>
357
+ </div>
358
+ <span
359
+ class="pf-c-select__toggle-arrow"
360
+ >
361
+ <svg
362
+ aria-hidden="true"
363
+ fill="currentColor"
364
+ height="1em"
365
+ role="img"
366
+ style="vertical-align: -0.125em;"
367
+ viewBox="0 0 320 512"
368
+ width="1em"
369
+ >
370
+ <path
371
+ d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"
372
+ />
373
+ </svg>
374
+ </span>
375
+ </button>
376
+ <ul
377
+ aria-label=""
378
+ class="pf-c-select__menu"
379
+ role="listbox"
380
+ >
381
+ <li
382
+ class="pf-c-select__menu-wrapper"
383
+ id="option-1"
384
+ role="presentation"
385
+ >
386
+ <button
387
+ class="pf-c-select__menu-item"
388
+ role="option"
389
+ type="button"
390
+ >
391
+ Mr
392
+ </button>
393
+ </li>
394
+ <li
395
+ class="pf-c-select__menu-wrapper"
396
+ id="option-2"
397
+ role="presentation"
398
+ >
399
+ <button
400
+ class="pf-c-select__menu-item"
401
+ role="option"
402
+ type="button"
403
+ >
404
+ Mrs
405
+ </button>
406
+ </li>
407
+ <li
408
+ class="pf-c-select__menu-wrapper"
409
+ id="option-3"
410
+ role="presentation"
411
+ >
412
+ <button
413
+ class="pf-c-select__menu-item"
414
+ role="option"
415
+ type="button"
416
+ >
417
+ Ms
418
+ </button>
419
+ </li>
420
+ <li
421
+ class="pf-c-select__menu-wrapper"
422
+ id="option-4"
423
+ role="presentation"
424
+ >
425
+ <button
426
+ class="pf-c-select__menu-item"
427
+ role="option"
428
+ type="button"
429
+ >
430
+ Other
431
+ </button>
432
+ </li>
433
+ </ul>
434
+ </div>
435
+ </DocumentFragment>
436
+ `;
437
+
332
438
  exports[`Select single select renders expanded successfully 1`] = `
333
439
  <DocumentFragment>
334
440
  <div
@@ -447,9 +553,9 @@ exports[`Select single select renders expanded successfully with custom objects
447
553
  aria-expanded="true"
448
554
  aria-haspopup="listbox"
449
555
  aria-label="Options menu"
450
- aria-labelledby=" pf-select-toggle-id-1"
556
+ aria-labelledby=" pf-select-toggle-id-3"
451
557
  class="pf-c-select__toggle"
452
- id="pf-select-toggle-id-1"
558
+ id="pf-select-toggle-id-3"
453
559
  type="button"
454
560
  >
455
561
  <div
@@ -539,9 +645,9 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
539
645
  <button
540
646
  aria-expanded="true"
541
647
  aria-label="Options menu"
542
- aria-labelledby=" pf-select-toggle-id-6"
648
+ aria-labelledby=" pf-select-toggle-id-8"
543
649
  class="pf-c-select__toggle"
544
- id="pf-select-toggle-id-6"
650
+ id="pf-select-toggle-id-8"
545
651
  type="button"
546
652
  >
547
653
  <div
@@ -591,7 +697,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
591
697
  >
592
698
  <input
593
699
  class="pf-c-check__input"
594
- id="pf-random-id-14-Mr"
700
+ id="pf-random-id-16-Mr"
595
701
  type="checkbox"
596
702
  />
597
703
  <span
@@ -605,7 +711,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
605
711
  >
606
712
  <input
607
713
  class="pf-c-check__input"
608
- id="pf-random-id-14-Mrs"
714
+ id="pf-random-id-16-Mrs"
609
715
  type="checkbox"
610
716
  />
611
717
  <span
@@ -619,7 +725,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
619
725
  >
620
726
  <input
621
727
  class="pf-c-check__input"
622
- id="pf-random-id-14-Ms"
728
+ id="pf-random-id-16-Ms"
623
729
  type="checkbox"
624
730
  />
625
731
  <span
@@ -633,7 +739,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
633
739
  >
634
740
  <input
635
741
  class="pf-c-check__input"
636
- id="pf-random-id-14-Other"
742
+ id="pf-random-id-16-Other"
637
743
  type="checkbox"
638
744
  />
639
745
  <span
@@ -663,7 +769,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
663
769
  >
664
770
  <input
665
771
  class="pf-c-check__input"
666
- id="pf-random-id-14-Mr"
772
+ id="pf-random-id-16-Mr"
667
773
  type="checkbox"
668
774
  />
669
775
  <span
@@ -677,7 +783,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
677
783
  >
678
784
  <input
679
785
  class="pf-c-check__input"
680
- id="pf-random-id-14-Mrs"
786
+ id="pf-random-id-16-Mrs"
681
787
  type="checkbox"
682
788
  />
683
789
  <span
@@ -691,7 +797,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
691
797
  >
692
798
  <input
693
799
  class="pf-c-check__input"
694
- id="pf-random-id-14-Ms"
800
+ id="pf-random-id-16-Ms"
695
801
  type="checkbox"
696
802
  />
697
803
  <span
@@ -705,7 +811,7 @@ exports[`checkbox select renders checkbox select groups successfully 1`] = `
705
811
  >
706
812
  <input
707
813
  class="pf-c-check__input"
708
- id="pf-random-id-14-Other"
814
+ id="pf-random-id-16-Other"
709
815
  type="checkbox"
710
816
  />
711
817
  <span
@@ -876,9 +982,9 @@ exports[`checkbox select renders expanded successfully 1`] = `
876
982
  <button
877
983
  aria-expanded="true"
878
984
  aria-label="Options menu"
879
- aria-labelledby=" pf-select-toggle-id-4"
985
+ aria-labelledby=" pf-select-toggle-id-6"
880
986
  class="pf-c-select__toggle"
881
- id="pf-select-toggle-id-4"
987
+ id="pf-select-toggle-id-6"
882
988
  type="button"
883
989
  >
884
990
  <div
@@ -916,7 +1022,7 @@ exports[`checkbox select renders expanded successfully 1`] = `
916
1022
  >
917
1023
  <input
918
1024
  class="pf-c-check__input"
919
- id="pf-random-id-11-Mr"
1025
+ id="pf-random-id-13-Mr"
920
1026
  type="checkbox"
921
1027
  />
922
1028
  <span
@@ -930,7 +1036,7 @@ exports[`checkbox select renders expanded successfully 1`] = `
930
1036
  >
931
1037
  <input
932
1038
  class="pf-c-check__input"
933
- id="pf-random-id-11-Mrs"
1039
+ id="pf-random-id-13-Mrs"
934
1040
  type="checkbox"
935
1041
  />
936
1042
  <span
@@ -944,7 +1050,7 @@ exports[`checkbox select renders expanded successfully 1`] = `
944
1050
  >
945
1051
  <input
946
1052
  class="pf-c-check__input"
947
- id="pf-random-id-11-Ms"
1053
+ id="pf-random-id-13-Ms"
948
1054
  type="checkbox"
949
1055
  />
950
1056
  <span
@@ -958,7 +1064,7 @@ exports[`checkbox select renders expanded successfully 1`] = `
958
1064
  >
959
1065
  <input
960
1066
  class="pf-c-check__input"
961
- id="pf-random-id-11-Other"
1067
+ id="pf-random-id-13-Other"
962
1068
  type="checkbox"
963
1069
  />
964
1070
  <span
@@ -983,9 +1089,9 @@ exports[`checkbox select renders expanded successfully with custom objects 1`] =
983
1089
  <button
984
1090
  aria-expanded="true"
985
1091
  aria-label="Options menu"
986
- aria-labelledby=" pf-select-toggle-id-5"
1092
+ aria-labelledby=" pf-select-toggle-id-7"
987
1093
  class="pf-c-select__toggle"
988
- id="pf-select-toggle-id-5"
1094
+ id="pf-select-toggle-id-7"
989
1095
  type="button"
990
1096
  >
991
1097
  <div
@@ -1023,7 +1129,7 @@ exports[`checkbox select renders expanded successfully with custom objects 1`] =
1023
1129
  >
1024
1130
  <input
1025
1131
  class="pf-c-check__input"
1026
- id="pf-random-id-13-Mr: User One"
1132
+ id="pf-random-id-15-Mr: User One"
1027
1133
  type="checkbox"
1028
1134
  />
1029
1135
  <span
@@ -1037,7 +1143,7 @@ exports[`checkbox select renders expanded successfully with custom objects 1`] =
1037
1143
  >
1038
1144
  <input
1039
1145
  class="pf-c-check__input"
1040
- id="pf-random-id-13-Mrs: New User"
1146
+ id="pf-random-id-15-Mrs: New User"
1041
1147
  type="checkbox"
1042
1148
  />
1043
1149
  <span
@@ -1051,7 +1157,7 @@ exports[`checkbox select renders expanded successfully with custom objects 1`] =
1051
1157
  >
1052
1158
  <input
1053
1159
  class="pf-c-check__input"
1054
- id="pf-random-id-13-Ms: Test Three"
1160
+ id="pf-random-id-15-Ms: Test Three"
1055
1161
  type="checkbox"
1056
1162
  />
1057
1163
  <span
@@ -1131,7 +1237,7 @@ exports[`checkbox select renders expanded with filtering successfully 1`] = `
1131
1237
  >
1132
1238
  <input
1133
1239
  class="pf-c-check__input"
1134
- id="pf-random-id-12-Mr"
1240
+ id="pf-random-id-14-Mr"
1135
1241
  type="checkbox"
1136
1242
  />
1137
1243
  <span
@@ -1145,7 +1251,7 @@ exports[`checkbox select renders expanded with filtering successfully 1`] = `
1145
1251
  >
1146
1252
  <input
1147
1253
  class="pf-c-check__input"
1148
- id="pf-random-id-12-Mrs"
1254
+ id="pf-random-id-14-Mrs"
1149
1255
  type="checkbox"
1150
1256
  />
1151
1257
  <span
@@ -1159,7 +1265,7 @@ exports[`checkbox select renders expanded with filtering successfully 1`] = `
1159
1265
  >
1160
1266
  <input
1161
1267
  class="pf-c-check__input"
1162
- id="pf-random-id-12-Ms"
1268
+ id="pf-random-id-14-Ms"
1163
1269
  type="checkbox"
1164
1270
  />
1165
1271
  <span
@@ -1173,7 +1279,7 @@ exports[`checkbox select renders expanded with filtering successfully 1`] = `
1173
1279
  >
1174
1280
  <input
1175
1281
  class="pf-c-check__input"
1176
- id="pf-random-id-12-Other"
1282
+ id="pf-random-id-14-Other"
1177
1283
  type="checkbox"
1178
1284
  />
1179
1285
  <span
@@ -1200,9 +1306,9 @@ exports[`renders select with favorites successfully 1`] = `
1200
1306
  aria-expanded="true"
1201
1307
  aria-haspopup="listbox"
1202
1308
  aria-label="Options menu"
1203
- aria-labelledby=" pf-select-toggle-id-3"
1309
+ aria-labelledby=" pf-select-toggle-id-5"
1204
1310
  class="pf-c-select__toggle"
1205
- id="pf-select-toggle-id-3"
1311
+ id="pf-select-toggle-id-5"
1206
1312
  type="button"
1207
1313
  >
1208
1314
  <div
@@ -1622,7 +1728,7 @@ exports[`typeahead multi select renders expanded successfully 1`] = `
1622
1728
  aria-label=""
1623
1729
  autocomplete="off"
1624
1730
  class="pf-c-form-control pf-c-select__toggle-typeahead"
1625
- id="pf-select-toggle-id-17-select-multi-typeahead-typeahead"
1731
+ id="pf-select-toggle-id-19-select-multi-typeahead-typeahead"
1626
1732
  placeholder=""
1627
1733
  type="text"
1628
1734
  value=""
@@ -1632,9 +1738,9 @@ exports[`typeahead multi select renders expanded successfully 1`] = `
1632
1738
  aria-expanded="true"
1633
1739
  aria-haspopup="listbox"
1634
1740
  aria-label="Options menu"
1635
- aria-labelledby=" pf-select-toggle-id-17"
1741
+ aria-labelledby=" pf-select-toggle-id-19"
1636
1742
  class="pf-c-button pf-c-select__toggle-button pf-m-plain"
1637
- id="pf-select-toggle-id-17"
1743
+ id="pf-select-toggle-id-19"
1638
1744
  tabindex="-1"
1639
1745
  type="button"
1640
1746
  >
@@ -1756,19 +1862,19 @@ exports[`typeahead multi select renders selected successfully 1`] = `
1756
1862
  >
1757
1863
  <span
1758
1864
  class="pf-c-chip__text"
1759
- id="pf-random-id-23"
1865
+ id="pf-random-id-25"
1760
1866
  >
1761
1867
  Mr
1762
1868
  </span>
1763
1869
  <button
1764
1870
  aria-disabled="false"
1765
1871
  aria-label="Remove"
1766
- aria-labelledby="remove_pf-random-id-23 pf-random-id-23"
1872
+ aria-labelledby="remove_pf-random-id-25 pf-random-id-25"
1767
1873
  class="pf-c-button pf-m-plain"
1768
1874
  data-ouia-component-id="Remove"
1769
1875
  data-ouia-component-type="PF4/Button"
1770
1876
  data-ouia-safe="true"
1771
- id="remove_pf-random-id-23"
1877
+ id="remove_pf-random-id-25"
1772
1878
  type="button"
1773
1879
  >
1774
1880
  <svg
@@ -1798,19 +1904,19 @@ exports[`typeahead multi select renders selected successfully 1`] = `
1798
1904
  >
1799
1905
  <span
1800
1906
  class="pf-c-chip__text"
1801
- id="pf-random-id-24"
1907
+ id="pf-random-id-26"
1802
1908
  >
1803
1909
  Mrs
1804
1910
  </span>
1805
1911
  <button
1806
1912
  aria-disabled="false"
1807
1913
  aria-label="Remove"
1808
- aria-labelledby="remove_pf-random-id-24 pf-random-id-24"
1914
+ aria-labelledby="remove_pf-random-id-26 pf-random-id-26"
1809
1915
  class="pf-c-button pf-m-plain"
1810
1916
  data-ouia-component-id="Remove"
1811
1917
  data-ouia-component-type="PF4/Button"
1812
1918
  data-ouia-safe="true"
1813
- id="remove_pf-random-id-24"
1919
+ id="remove_pf-random-id-26"
1814
1920
  type="button"
1815
1921
  >
1816
1922
  <svg
@@ -2039,7 +2145,7 @@ exports[`typeahead select renders expanded successfully 1`] = `
2039
2145
  aria-label=""
2040
2146
  autocomplete="off"
2041
2147
  class="pf-c-form-control pf-c-select__toggle-typeahead"
2042
- id="pf-select-toggle-id-7-select-typeahead"
2148
+ id="pf-select-toggle-id-9-select-typeahead"
2043
2149
  placeholder=""
2044
2150
  type="text"
2045
2151
  value=""
@@ -2049,9 +2155,9 @@ exports[`typeahead select renders expanded successfully 1`] = `
2049
2155
  aria-expanded="true"
2050
2156
  aria-haspopup="listbox"
2051
2157
  aria-label="Options menu"
2052
- aria-labelledby=" pf-select-toggle-id-7"
2158
+ aria-labelledby=" pf-select-toggle-id-9"
2053
2159
  class="pf-c-button pf-c-select__toggle-button pf-m-plain"
2054
- id="pf-select-toggle-id-7"
2160
+ id="pf-select-toggle-id-9"
2055
2161
  tabindex="-1"
2056
2162
  type="button"
2057
2163
  >
@@ -2151,7 +2257,7 @@ exports[`typeahead select renders selected successfully 1`] = `
2151
2257
  aria-label=""
2152
2258
  autocomplete="off"
2153
2259
  class="pf-c-form-control pf-c-select__toggle-typeahead"
2154
- id="pf-select-toggle-id-8-select-typeahead"
2260
+ id="pf-select-toggle-id-10-select-typeahead"
2155
2261
  placeholder=""
2156
2262
  type="text"
2157
2263
  value="Mr"
@@ -2161,9 +2267,9 @@ exports[`typeahead select renders selected successfully 1`] = `
2161
2267
  aria-expanded="true"
2162
2268
  aria-haspopup="listbox"
2163
2269
  aria-label="Options menu"
2164
- aria-labelledby=" pf-select-toggle-id-8"
2270
+ aria-labelledby=" pf-select-toggle-id-10"
2165
2271
  class="pf-c-button pf-c-select__toggle-button pf-m-plain"
2166
- id="pf-select-toggle-id-8"
2272
+ id="pf-select-toggle-id-10"
2167
2273
  tabindex="-1"
2168
2274
  type="button"
2169
2275
  >
@@ -19,6 +19,8 @@ export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
19
19
  defaultTitleText?: string;
20
20
  /** The aria label applied to the button which toggles the tab overflow menu */
21
21
  toggleAriaLabel?: string;
22
+ /** @beta Opt-in for updated popper that does not use findDOMNode. */
23
+ removeFindDomNode?: boolean;
22
24
  }
23
25
 
24
26
  export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
@@ -27,6 +29,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
27
29
  showTabCount,
28
30
  defaultTitleText = 'More',
29
31
  toggleAriaLabel,
32
+ removeFindDomNode = false,
30
33
  ...props
31
34
  }: OverflowTabProps) => {
32
35
  const menuRef = React.useRef<HTMLDivElement>();
@@ -135,6 +138,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
135
138
  isVisible={isExpanded}
136
139
  popperMatchesTriggerWidth={false}
137
140
  appendTo={overflowLIRef.current}
141
+ removeFindDomNode={removeFindDomNode}
138
142
  />
139
143
  );
140
144
  };
@@ -176,9 +176,33 @@ test('Renders tabs passed via overflowingTabs when expanded', async () => {
176
176
  expect(screen.getByText('Tab two')).toBeVisible();
177
177
  });
178
178
 
179
+ test('Renders tabs passed via overflowingTabs when expanded in strict mode', async () => {
180
+ const user = userEvent.setup();
181
+
182
+ const consoleError = jest.spyOn(console, 'error');
183
+ const { asFragment } = render(
184
+ <React.StrictMode>
185
+ <OverflowTab
186
+ removeFindDomNode
187
+ overflowingTabs={[
188
+ { title: 'Tab one', eventKey: 1 },
189
+ { title: 'Tab two', eventKey: 2 }
190
+ ]}
191
+ />
192
+ </React.StrictMode>
193
+ );
194
+
195
+ await user.click(screen.getByRole('tab', { name: 'More' }));
196
+
197
+ expect(consoleError).not.toHaveBeenCalled();
198
+ expect(screen.getByText('Tab one')).toBeVisible();
199
+ expect(screen.getByText('Tab two')).toBeVisible();
200
+ expect(asFragment()).toMatchSnapshot();
201
+ });
202
+
179
203
  test('Closes the overflowing tabs menu when a tab is selected', async () => {
180
204
  const user = userEvent.setup();
181
-
205
+
182
206
  render(
183
207
  <TabsContext.Provider value={{ ...tabsContextDefaultProps, localActiveKey: 0 }}>
184
208
  <OverflowTab
@@ -200,7 +224,7 @@ test('Closes the overflowing tabs menu when a tab is selected', async () => {
200
224
 
201
225
  test('Closes the overflowing tabs menu when the user clicks outside of the menu', async () => {
202
226
  const user = userEvent.setup();
203
-
227
+
204
228
  render(
205
229
  <TabsContext.Provider value={{ ...tabsContextDefaultProps, localActiveKey: 0 }}>
206
230
  <OverflowTab
@@ -336,7 +360,7 @@ test('Renders the tab with aria-expanded set to false by default', () => {
336
360
 
337
361
  test('Renders the tab with aria-expanded set to true when the menu is opened', async () => {
338
362
  const user = userEvent.setup();
339
-
363
+
340
364
  render(<OverflowTab />);
341
365
 
342
366
  const overflowTab = screen.getByRole('tab');
@@ -355,7 +379,7 @@ test('Passes Popper popperMatchesTriggerWidth set to false', () => {
355
379
 
356
380
  test('Passes Popper an appendTo value of the presentation element', async () => {
357
381
  const user = userEvent.setup();
358
-
382
+
359
383
  render(<OverflowTab />);
360
384
 
361
385
  await user.click(screen.getByRole('tab'));
@@ -366,7 +390,7 @@ test('Passes Popper an appendTo value of the presentation element', async () =>
366
390
 
367
391
  test('Does not render an overflowing tab as a selected menu item by default', async () => {
368
392
  const user = userEvent.setup();
369
-
393
+
370
394
  render(
371
395
  <TabsContext.Provider value={{ ...tabsContextDefaultProps, localActiveKey: 0 }}>
372
396
  <OverflowTab
@@ -385,7 +409,7 @@ test('Does not render an overflowing tab as a selected menu item by default', as
385
409
 
386
410
  test('Renders an overflowing tab as a selected menu item when its key matches the localActiveKey provided via context', async () => {
387
411
  const user = userEvent.setup();
388
-
412
+
389
413
  render(
390
414
  <TabsContext.Provider value={{ ...tabsContextDefaultProps, localActiveKey: 1 }}>
391
415
  <OverflowTab
@@ -404,7 +428,7 @@ test('Renders an overflowing tab as a selected menu item when its key matches th
404
428
 
405
429
  test('Matches snapshot when expanded', async () => {
406
430
  const user = userEvent.setup();
407
-
431
+
408
432
  const { asFragment } = render(
409
433
  <TabsContext.Provider value={{ ...tabsContextDefaultProps, localActiveKey: 1 }}>
410
434
  <OverflowTab
@@ -88,3 +88,92 @@ exports[`Matches snapshot when expanded 1`] = `
88
88
  </div>
89
89
  </DocumentFragment>
90
90
  `;
91
+
92
+ exports[`Renders tabs passed via overflowingTabs when expanded in strict mode 1`] = `
93
+ <DocumentFragment>
94
+ <div
95
+ data-testid="popper-mock"
96
+ >
97
+ <div
98
+ data-testid="trigger"
99
+ >
100
+ <li
101
+ class="pf-c-tabs__item pf-m-overflow"
102
+ role="presentation"
103
+ >
104
+ <button
105
+ aria-expanded="true"
106
+ aria-haspopup="menu"
107
+ class="pf-c-tabs__link pf-m-expanded"
108
+ role="tab"
109
+ type="button"
110
+ >
111
+ <span
112
+ class="pf-c-tabs__item-text"
113
+ >
114
+ More
115
+ </span>
116
+ <span
117
+ class="pf-c-tabs__link-toggle-icon"
118
+ >
119
+ <svg
120
+ aria-hidden="true"
121
+ fill="currentColor"
122
+ height="1em"
123
+ role="img"
124
+ style="vertical-align: -0.125em;"
125
+ viewBox="0 0 256 512"
126
+ width="1em"
127
+ >
128
+ <path
129
+ d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"
130
+ />
131
+ </svg>
132
+ </span>
133
+ </button>
134
+ </li>
135
+ </div>
136
+ <div
137
+ data-testid="popper"
138
+ >
139
+ <div
140
+ data-testid="menu-mock"
141
+ >
142
+ <div
143
+ data-testid="menu-content-mock"
144
+ >
145
+ <ul
146
+ data-testid="menu-list-mock"
147
+ >
148
+ <li
149
+ id="1-menu-item-mock"
150
+ >
151
+ Tab one
152
+ <p>
153
+ Selected: false
154
+ </p>
155
+ </li>
156
+ <li
157
+ id="2-menu-item-mock"
158
+ >
159
+ Tab two
160
+ <p>
161
+ Selected: false
162
+ </p>
163
+ </li>
164
+ </ul>
165
+ </div>
166
+ <button>
167
+ Select
168
+ </button>
169
+ </div>
170
+ </div>
171
+ <p>
172
+ Popper matches trigger width: false
173
+ </p>
174
+ <p>
175
+ Append to class name: pf-c-tabs__item pf-m-overflow
176
+ </p>
177
+ </div>
178
+ </DocumentFragment>
179
+ `;
@@ -71,6 +71,8 @@ export interface TimePickerProps
71
71
  isOpen?: boolean;
72
72
  /** Handler invoked each time the open state of time picker updates */
73
73
  setIsOpen?: (isOpen?: boolean) => void;
74
+ /** @beta Opt-in for updated popper that does not use findDOMNode. */
75
+ removeFindDomNode?: boolean;
74
76
  }
75
77
 
76
78
  interface TimePickerState {
@@ -108,7 +110,8 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
108
110
  minTime: '',
109
111
  maxTime: '',
110
112
  isOpen: false,
111
- setIsOpen: () => {}
113
+ setIsOpen: () => {},
114
+ removeFindDomNode: false
112
115
  };
113
116
 
114
117
  constructor(props: TimePickerProps) {
@@ -441,6 +444,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
441
444
  maxTime,
442
445
  includeSeconds,
443
446
  /* eslint-enable @typescript-eslint/no-unused-vars */
447
+ removeFindDomNode,
444
448
  ...props
445
449
  } = this.props;
446
450
  const { timeState, isTimeOptionsOpen, isInvalid, minTimeState, maxTimeState } = this.state;
@@ -514,6 +518,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
514
518
  trigger={textInput}
515
519
  popper={menuContainer}
516
520
  isVisible={isTimeOptionsOpen}
521
+ removeFindDomNode={removeFindDomNode}
517
522
  />
518
523
  </div>
519
524
  </div>