@patternfly/react-core 6.6.1-prerelease.1 → 6.6.1-prerelease.2

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 (195) hide show
  1. package/CHANGELOG.md +4 -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/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/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/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/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/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/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/SSRSafeIds/SSRSafeIds/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/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/inert/package.json +1 -1
  105. package/dist/dynamic/helpers/package.json +1 -1
  106. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  107. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  108. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  109. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  110. package/dist/dynamic/helpers/useSSRSafeId/package.json +1 -1
  111. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  112. package/dist/dynamic/helpers/util/package.json +1 -1
  113. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  114. package/dist/dynamic/layouts/Flex/package.json +1 -1
  115. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  116. package/dist/dynamic/layouts/Grid/package.json +1 -1
  117. package/dist/dynamic/layouts/Level/package.json +1 -1
  118. package/dist/dynamic/layouts/Split/package.json +1 -1
  119. package/dist/dynamic/layouts/Stack/package.json +1 -1
  120. package/dist/dynamic/styles/package.json +1 -1
  121. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +7 -2
  122. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  123. package/dist/esm/components/CalendarMonth/CalendarMonth.js +4 -3
  124. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  125. package/dist/esm/components/Drawer/Drawer.d.ts +6 -1
  126. package/dist/esm/components/Drawer/Drawer.d.ts.map +1 -1
  127. package/dist/esm/components/Drawer/Drawer.js +4 -2
  128. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  129. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +6 -1
  130. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  131. package/dist/esm/components/DualListSelector/DualListSelector.js +4 -4
  132. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  133. package/dist/esm/components/Popover/Popover.d.ts +6 -1
  134. package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
  135. package/dist/esm/components/Popover/Popover.js +4 -4
  136. package/dist/esm/components/Popover/Popover.js.map +1 -1
  137. package/dist/esm/components/Progress/Progress.d.ts +6 -1
  138. package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
  139. package/dist/esm/components/Progress/Progress.js +5 -4
  140. package/dist/esm/components/Progress/Progress.js.map +1 -1
  141. package/dist/esm/components/Slider/Slider.d.ts +6 -1
  142. package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
  143. package/dist/esm/components/Slider/Slider.js +4 -2
  144. package/dist/esm/components/Slider/Slider.js.map +1 -1
  145. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +7 -2
  146. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  147. package/dist/js/components/CalendarMonth/CalendarMonth.js +3 -2
  148. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  149. package/dist/js/components/Drawer/Drawer.d.ts +6 -1
  150. package/dist/js/components/Drawer/Drawer.d.ts.map +1 -1
  151. package/dist/js/components/Drawer/Drawer.js +4 -2
  152. package/dist/js/components/Drawer/Drawer.js.map +1 -1
  153. package/dist/js/components/DualListSelector/DualListSelector.d.ts +6 -1
  154. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  155. package/dist/js/components/DualListSelector/DualListSelector.js +4 -4
  156. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  157. package/dist/js/components/Popover/Popover.d.ts +6 -1
  158. package/dist/js/components/Popover/Popover.d.ts.map +1 -1
  159. package/dist/js/components/Popover/Popover.js +4 -4
  160. package/dist/js/components/Popover/Popover.js.map +1 -1
  161. package/dist/js/components/Progress/Progress.d.ts +6 -1
  162. package/dist/js/components/Progress/Progress.d.ts.map +1 -1
  163. package/dist/js/components/Progress/Progress.js +4 -3
  164. package/dist/js/components/Progress/Progress.js.map +1 -1
  165. package/dist/js/components/Slider/Slider.d.ts +6 -1
  166. package/dist/js/components/Slider/Slider.d.ts.map +1 -1
  167. package/dist/js/components/Slider/Slider.js +4 -2
  168. package/dist/js/components/Slider/Slider.js.map +1 -1
  169. package/dist/umd/assets/{output-lAo4DFMr.css → output-Bon0Nycr.css} +20457 -20457
  170. package/dist/umd/react-core.min.js +1 -1
  171. package/helpers/package.json +1 -1
  172. package/layouts/package.json +1 -1
  173. package/next/package.json +1 -1
  174. package/package.json +2 -2
  175. package/src/components/CalendarMonth/CalendarMonth.tsx +10 -3
  176. package/src/components/CalendarMonth/__tests__/CalendarMonth.test.tsx +20 -0
  177. package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +3 -0
  178. package/src/components/Compass/__tests__/__snapshots__/CompassContent.test.tsx.snap +3 -0
  179. package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +17 -11
  180. package/src/components/Drawer/Drawer.tsx +10 -1
  181. package/src/components/Drawer/__tests__/Drawer.test.tsx +45 -1
  182. package/src/components/Drawer/__tests__/__snapshots__/Drawer.test.tsx.snap +38 -14
  183. package/src/components/DualListSelector/DualListSelector.tsx +10 -3
  184. package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +25 -0
  185. package/src/components/DualListSelector/__tests__/__snapshots__/DualListSelector.test.tsx.snap +13 -0
  186. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadStatusItem.test.tsx.snap +16 -0
  187. package/src/components/Popover/Popover.tsx +10 -3
  188. package/src/components/Popover/__tests__/Popover.test.tsx +44 -1
  189. package/src/components/Progress/Progress.tsx +11 -3
  190. package/src/components/Progress/__tests__/Progress.test.tsx +21 -1
  191. package/src/components/Progress/__tests__/__snapshots__/Progress.test.tsx.snap +41 -0
  192. package/src/components/Slider/Slider.tsx +10 -1
  193. package/src/components/Slider/__tests__/Slider.test.tsx +21 -1
  194. package/src/components/Slider/__tests__/__snapshots__/Slider.test.tsx.snap +33 -6
  195. package/src/helpers/OUIA/OUIA.md +6 -0
@@ -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.6.1-prerelease.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.6.1-prerelease.1","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.6.1-prerelease.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.6.1-prerelease.1","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.6.1-prerelease.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.6.1-prerelease.1","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.6.1-prerelease.1",
3
+ "version": "6.6.1-prerelease.2",
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 || ^19",
64
64
  "react-dom": "^17 || ^18 || ^19"
65
65
  },
66
- "gitHead": "759a598cc45873e3b57704a57940614e0079d904"
66
+ "gitHead": "9e6456bf4b493cf8546212e70feb116a798ba79c"
67
67
  }
@@ -8,7 +8,7 @@ import RhMicronsCaretLeftIcon from '@patternfly/react-icons/dist/esm/icons/rh-mi
8
8
  import RhMicronsCaretRightIcon from '@patternfly/react-icons/dist/esm/icons/rh-microns-caret-right-icon';
9
9
  import { css } from '@patternfly/react-styles';
10
10
  import styles from '@patternfly/react-styles/css/components/CalendarMonth/calendar-month';
11
- import { useSSRSafeId } from '../../helpers';
11
+ import { useSSRSafeId, useOUIAProps, OUIAProps } from '../../helpers';
12
12
  import { isValidDate } from '../../helpers/datetimeUtils';
13
13
 
14
14
  export enum Weekday {
@@ -63,7 +63,7 @@ export interface CalendarFormat {
63
63
  inlineProps?: CalendarMonthInlineProps;
64
64
  }
65
65
 
66
- export interface CalendarProps extends CalendarFormat, Omit<React.HTMLProps<HTMLDivElement>, 'onChange'> {
66
+ export interface CalendarProps extends CalendarFormat, Omit<React.HTMLProps<HTMLDivElement>, 'onChange'>, OUIAProps {
67
67
  /** Additional classes to add to the outer div of the calendar month. */
68
68
  className?: string;
69
69
  /** Month/year to base other dates around. */
@@ -88,6 +88,10 @@ export interface CalendarProps extends CalendarFormat, Omit<React.HTMLProps<HTML
88
88
  * monthAppendTo={document.getElementById('target')}
89
89
  */
90
90
  monthAppendTo?: HTMLElement | ((ref?: HTMLElement) => HTMLElement) | 'inline';
91
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
92
+ ouiaId?: number | string;
93
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
94
+ ouiaSafe?: boolean;
91
95
  }
92
96
 
93
97
  const buildCalendar = (year: number, month: number, weekStart: number, validators: ((date: Date) => boolean)[]) => {
@@ -151,8 +155,11 @@ export const CalendarMonth = ({
151
155
  isDateFocused = false,
152
156
  inlineProps,
153
157
  monthAppendTo = 'inline',
158
+ ouiaId,
159
+ ouiaSafe = true,
154
160
  ...props
155
161
  }: CalendarProps) => {
162
+ const ouiaProps = useOUIAProps(CalendarMonth.displayName, ouiaId, ouiaSafe);
156
163
  const longMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
157
164
  .map((monthNum) => new Date(1990, monthNum))
158
165
  .map(monthFormat);
@@ -293,7 +300,7 @@ export const CalendarMonth = ({
293
300
  const monthFormatted = monthFormat(focusedDate);
294
301
 
295
302
  const calendarToRender = (
296
- <div className={css(styles.calendarMonth, className)} {...props}>
303
+ <div className={css(styles.calendarMonth, className)} {...props} {...ouiaProps}>
297
304
  <div className={styles.calendarMonthHeader}>
298
305
  <div className={css(styles.calendarMonthHeaderNavControl, 'pf-m-prev-month')}>
299
306
  <Button
@@ -64,3 +64,23 @@ test('InlineProps render correct wrapper component and attributes', () => {
64
64
  const title = screen.getByText('Title');
65
65
  expect(title).toBeVisible();
66
66
  });
67
+
68
+ test('Renders with custom ouiaId', () => {
69
+ const { container } = render(<CalendarMonth date={new Date(2024, 0, 15)} ouiaId="test-id" />);
70
+ expect(container.firstChild).toHaveAttribute('data-ouia-component-id', 'test-id');
71
+ });
72
+
73
+ test('Renders with expected ouia component type', () => {
74
+ const { container } = render(<CalendarMonth date={new Date(2024, 0, 15)} ouiaId="test-id" />);
75
+ expect(container.firstChild).toHaveAttribute('data-ouia-component-type', 'PF6/CalendarMonth');
76
+ });
77
+
78
+ test('Renders with ouiaSafe defaulting to true', () => {
79
+ const { container } = render(<CalendarMonth date={new Date(2024, 0, 15)} ouiaId="test-id" />);
80
+ expect(container.firstChild).toHaveAttribute('data-ouia-safe', 'true');
81
+ });
82
+
83
+ test('Renders with ouiaSafe=false when specified', () => {
84
+ const { container } = render(<CalendarMonth date={new Date(2024, 0, 15)} ouiaId="test-id" ouiaSafe={false} />);
85
+ expect(container.firstChild).toHaveAttribute('data-ouia-safe', 'false');
86
+ });
@@ -55,6 +55,9 @@ exports[`Matches the snapshot with drawer 1`] = `
55
55
  >
56
56
  <div
57
57
  class="pf-v6-c-drawer pf-m-expanded pf-m-pill"
58
+ data-ouia-component-id="OUIA-Generated-Drawer-:r1:"
59
+ data-ouia-component-type="PF6/Drawer"
60
+ data-ouia-safe="true"
58
61
  >
59
62
  <div
60
63
  class="pf-v6-c-drawer__main"
@@ -4,6 +4,9 @@ exports[`Matches the snapshot with drawer 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="pf-v6-c-drawer pf-m-expanded pf-m-pill"
7
+ data-ouia-component-id="OUIA-Generated-Drawer-:r1:"
8
+ data-ouia-component-type="PF6/Drawer"
9
+ data-ouia-safe="true"
7
10
  >
8
11
  <div
9
12
  class="pf-v6-c-drawer__main"
@@ -21,7 +21,7 @@ exports[`With popover opened 1`] = `
21
21
  <input
22
22
  aria-invalid="false"
23
23
  aria-label="Date picker"
24
- data-ouia-component-id="OUIA-Generated-TextInputBase-:rq:"
24
+ data-ouia-component-id="OUIA-Generated-TextInputBase-:r11:"
25
25
  data-ouia-component-type="PF6/TextInput"
26
26
  data-ouia-safe="true"
27
27
  placeholder="YYYY-MM-DD"
@@ -37,7 +37,7 @@ exports[`With popover opened 1`] = `
37
37
  aria-haspopup="dialog"
38
38
  aria-label="Toggle date picker"
39
39
  class="pf-v6-c-button pf-m-control"
40
- data-ouia-component-id="OUIA-Generated-Button-control-:rr:"
40
+ data-ouia-component-id="OUIA-Generated-Button-control-:r12:"
41
41
  data-ouia-component-type="PF6/Button"
42
42
  data-ouia-safe="true"
43
43
  type="button"
@@ -64,10 +64,13 @@ exports[`With popover opened 1`] = `
64
64
  </div>
65
65
  </div>
66
66
  <div
67
- aria-describedby="popover-pf-:ro:-body"
67
+ aria-describedby="popover-pf-:ru:-body"
68
68
  aria-label=""
69
69
  aria-modal="true"
70
70
  class="pf-v6-c-popover pf-m-no-padding pf-m-width-auto pf-m-bottom"
71
+ data-ouia-component-id="OUIA-Generated-Popover-:rv:"
72
+ data-ouia-component-type="PF6/Popover"
73
+ data-ouia-safe="true"
71
74
  data-popper-escaped="true"
72
75
  data-popper-placement="bottom"
73
76
  data-popper-reference-hidden="true"
@@ -82,10 +85,13 @@ exports[`With popover opened 1`] = `
82
85
  >
83
86
  <div
84
87
  class="pf-v6-c-popover__body"
85
- id="popover-pf-:ro:-body"
88
+ id="popover-pf-:ru:-body"
86
89
  >
87
90
  <div
88
91
  class="pf-v6-c-calendar-month"
92
+ data-ouia-component-id="OUIA-Generated-CalendarMonth-:r13:"
93
+ data-ouia-component-type="PF6/CalendarMonth"
94
+ data-ouia-safe="true"
89
95
  >
90
96
  <div
91
97
  class="pf-v6-c-calendar-month__header"
@@ -96,7 +102,7 @@ exports[`With popover opened 1`] = `
96
102
  <button
97
103
  aria-label="Previous month"
98
104
  class="pf-v6-c-button pf-m-plain"
99
- data-ouia-component-id="OUIA-Generated-Button-plain-:rt:"
105
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r15:"
100
106
  data-ouia-component-type="PF6/Button"
101
107
  data-ouia-safe="true"
102
108
  type="button"
@@ -131,7 +137,7 @@ exports[`With popover opened 1`] = `
131
137
  >
132
138
  <span
133
139
  hidden=""
134
- id="hidden-month-span:rs:"
140
+ id="hidden-month-span:r14:"
135
141
  >
136
142
  Month
137
143
  </span>
@@ -139,7 +145,7 @@ exports[`With popover opened 1`] = `
139
145
  aria-expanded="false"
140
146
  aria-haspopup="menu"
141
147
  class="pf-v6-c-menu-toggle"
142
- data-ouia-component-id="OUIA-Generated-MenuToggle-:r10:"
148
+ data-ouia-component-id="OUIA-Generated-MenuToggle-:r18:"
143
149
  data-ouia-component-type="PF6/MenuToggle"
144
150
  data-ouia-safe="true"
145
151
  style="width: 140px;"
@@ -186,7 +192,7 @@ exports[`With popover opened 1`] = `
186
192
  <input
187
193
  aria-invalid="false"
188
194
  aria-label="Select year"
189
- data-ouia-component-id="OUIA-Generated-TextInputBase-:r12:"
195
+ data-ouia-component-id="OUIA-Generated-TextInputBase-:r1a:"
190
196
  data-ouia-component-type="PF6/TextInput"
191
197
  data-ouia-safe="true"
192
198
  type="number"
@@ -202,7 +208,7 @@ exports[`With popover opened 1`] = `
202
208
  <button
203
209
  aria-label="Next month"
204
210
  class="pf-v6-c-button pf-m-plain"
205
- data-ouia-component-id="OUIA-Generated-Button-plain-:r13:"
211
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r1b:"
206
212
  data-ouia-component-type="PF6/Button"
207
213
  data-ouia-safe="true"
208
214
  type="button"
@@ -813,7 +819,7 @@ exports[`disabled date picker 1`] = `
813
819
  <input
814
820
  aria-invalid="false"
815
821
  aria-label="disabled date picker"
816
- data-ouia-component-id="OUIA-Generated-TextInputBase-:r2:"
822
+ data-ouia-component-id="OUIA-Generated-TextInputBase-:r3:"
817
823
  data-ouia-component-type="PF6/TextInput"
818
824
  data-ouia-safe="true"
819
825
  disabled=""
@@ -830,7 +836,7 @@ exports[`disabled date picker 1`] = `
830
836
  aria-haspopup="dialog"
831
837
  aria-label="Toggle date picker"
832
838
  class="pf-v6-c-button pf-m-control"
833
- data-ouia-component-id="OUIA-Generated-Button-control-:r3:"
839
+ data-ouia-component-id="OUIA-Generated-Button-control-:r4:"
834
840
  data-ouia-component-type="PF6/Button"
835
841
  data-ouia-safe="true"
836
842
  disabled=""
@@ -1,6 +1,7 @@
1
1
  import { createContext, useRef } from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Drawer/drawer';
3
3
  import { css } from '@patternfly/react-styles';
4
+ import { useOUIAProps, OUIAProps } from '../../helpers';
4
5
 
5
6
  export enum DrawerColorVariant {
6
7
  default = 'default',
@@ -11,7 +12,7 @@ export enum DrawerColorVariant {
11
12
  noBackground = 'no-background'
12
13
  }
13
14
 
14
- export interface DrawerProps extends React.HTMLProps<HTMLDivElement> {
15
+ export interface DrawerProps extends React.HTMLProps<HTMLDivElement>, OUIAProps {
15
16
  /** Additional classes added to the Drawer. */
16
17
  className?: string;
17
18
  /** Content rendered in the drawer panel */
@@ -28,6 +29,10 @@ export interface DrawerProps extends React.HTMLProps<HTMLDivElement> {
28
29
  position?: 'start' | 'end' | 'bottom' | 'left' | 'right';
29
30
  /** Callback when drawer panel is expanded after waiting 250ms for animation to complete. */
30
31
  onExpand?: (event: KeyboardEvent | React.MouseEvent | React.TransitionEvent) => void;
32
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
33
+ ouiaId?: number | string;
34
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
35
+ ouiaSafe?: boolean;
31
36
  }
32
37
 
33
38
  export interface DrawerContextProps {
@@ -59,8 +64,11 @@ export const Drawer: React.FunctionComponent<DrawerProps> = ({
59
64
  isStatic = false,
60
65
  position = 'end',
61
66
  onExpand = () => {},
67
+ ouiaId,
68
+ ouiaSafe = true,
62
69
  ...props
63
70
  }: DrawerProps) => {
71
+ const ouiaProps = useOUIAProps(Drawer.displayName, ouiaId, ouiaSafe);
64
72
  const drawerRef = useRef<HTMLDivElement>(undefined);
65
73
  const drawerContentRef = useRef<HTMLDivElement>(undefined);
66
74
 
@@ -79,6 +87,7 @@ export const Drawer: React.FunctionComponent<DrawerProps> = ({
79
87
  )}
80
88
  ref={drawerRef}
81
89
  {...props}
90
+ {...ouiaProps}
82
91
  >
83
92
  {children}
84
93
  </div>
@@ -39,7 +39,7 @@ Object.values([
39
39
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate.';
40
40
  test(`Drawer isExpanded = ${isExpanded} and isInline = ${isInline} and isStatic = ${isStatic}`, () => {
41
41
  const { asFragment } = render(
42
- <Drawer isExpanded={isExpanded}>
42
+ <Drawer isExpanded={isExpanded} ouiaId="ouia-id">
43
43
  <DrawerContent panelContent={panelContent}>
44
44
  <DrawerContentBody>{drawerContent}</DrawerContentBody>
45
45
  </DrawerContent>
@@ -187,3 +187,47 @@ test(`Renders with ${styles.modifiers.pill} class when specified`, () => {
187
187
 
188
188
  expect(screen.getByTestId('drawer')).toHaveClass(styles.modifiers.pill);
189
189
  });
190
+
191
+ test('Renders with custom ouiaId', () => {
192
+ render(
193
+ <Drawer data-testid="drawer" ouiaId="test-id">
194
+ <DrawerContent panelContent={<DrawerPanelContent>panel</DrawerPanelContent>}>
195
+ <DrawerContentBody>content</DrawerContentBody>
196
+ </DrawerContent>
197
+ </Drawer>
198
+ );
199
+ expect(screen.getByTestId('drawer')).toHaveAttribute('data-ouia-component-id', 'test-id');
200
+ });
201
+
202
+ test('Renders with expected ouia component type', () => {
203
+ render(
204
+ <Drawer data-testid="drawer" ouiaId="test-id">
205
+ <DrawerContent panelContent={<DrawerPanelContent>panel</DrawerPanelContent>}>
206
+ <DrawerContentBody>content</DrawerContentBody>
207
+ </DrawerContent>
208
+ </Drawer>
209
+ );
210
+ expect(screen.getByTestId('drawer')).toHaveAttribute('data-ouia-component-type', 'PF6/Drawer');
211
+ });
212
+
213
+ test('Renders with ouiaSafe defaulting to true', () => {
214
+ render(
215
+ <Drawer data-testid="drawer" ouiaId="test-id">
216
+ <DrawerContent panelContent={<DrawerPanelContent>panel</DrawerPanelContent>}>
217
+ <DrawerContentBody>content</DrawerContentBody>
218
+ </DrawerContent>
219
+ </Drawer>
220
+ );
221
+ expect(screen.getByTestId('drawer')).toHaveAttribute('data-ouia-safe', 'true');
222
+ });
223
+
224
+ test('Renders with ouiaSafe=false when specified', () => {
225
+ render(
226
+ <Drawer data-testid="drawer" ouiaId="test-id" ouiaSafe={false}>
227
+ <DrawerContent panelContent={<DrawerPanelContent>panel</DrawerPanelContent>}>
228
+ <DrawerContentBody>content</DrawerContentBody>
229
+ </DrawerContent>
230
+ </Drawer>
231
+ );
232
+ expect(screen.getByTestId('drawer')).toHaveAttribute('data-ouia-safe', 'false');
233
+ });
@@ -4,6 +4,9 @@ exports[`Drawer expands from bottom 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="pf-v6-c-drawer pf-m-expanded pf-m-panel-bottom"
7
+ data-ouia-component-id="OUIA-Generated-Drawer-:rd:"
8
+ data-ouia-component-type="PF6/Drawer"
9
+ data-ouia-safe="true"
7
10
  >
8
11
  <div
9
12
  class="pf-v6-c-drawer__main"
@@ -19,7 +22,7 @@ exports[`Drawer expands from bottom 1`] = `
19
22
  </div>
20
23
  <div
21
24
  class="pf-v6-c-drawer__panel"
22
- id="pf-drawer-panel-:r8:"
25
+ id="pf-drawer-panel-:re:"
23
26
  >
24
27
  <div
25
28
  class="pf-v6-c-drawer__head"
@@ -36,7 +39,7 @@ exports[`Drawer expands from bottom 1`] = `
36
39
  <button
37
40
  aria-label="Close drawer panel"
38
41
  class="pf-v6-c-button pf-m-plain"
39
- data-ouia-component-id="OUIA-Generated-Button-plain-:r9:"
42
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rf:"
40
43
  data-ouia-component-type="PF6/Button"
41
44
  data-ouia-safe="true"
42
45
  type="button"
@@ -77,6 +80,9 @@ exports[`Drawer has resizable callback and id 1`] = `
77
80
  <DocumentFragment>
78
81
  <div
79
82
  class="pf-v6-c-drawer pf-m-expanded pf-m-panel-left"
83
+ data-ouia-component-id="OUIA-Generated-Drawer-:rj:"
84
+ data-ouia-component-type="PF6/Drawer"
85
+ data-ouia-safe="true"
80
86
  >
81
87
  <div
82
88
  class="pf-v6-c-drawer__main"
@@ -128,7 +134,7 @@ exports[`Drawer has resizable callback and id 1`] = `
128
134
  <button
129
135
  aria-label="Close drawer panel"
130
136
  class="pf-v6-c-button pf-m-plain"
131
- data-ouia-component-id="OUIA-Generated-Button-plain-:rd:"
137
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rl:"
132
138
  data-ouia-component-type="PF6/Button"
133
139
  data-ouia-safe="true"
134
140
  type="button"
@@ -170,6 +176,9 @@ exports[`Drawer has resizable css and color variants 1`] = `
170
176
  <DocumentFragment>
171
177
  <div
172
178
  class="pf-v6-c-drawer pf-m-expanded pf-m-panel-left"
179
+ data-ouia-component-id="OUIA-Generated-Drawer-:rg:"
180
+ data-ouia-component-type="PF6/Drawer"
181
+ data-ouia-safe="true"
173
182
  >
174
183
  <div
175
184
  class="pf-v6-c-drawer__main"
@@ -185,11 +194,11 @@ exports[`Drawer has resizable css and color variants 1`] = `
185
194
  </div>
186
195
  <div
187
196
  class="pf-v6-c-drawer__panel pf-m-resizable pf-m-secondary"
188
- id="pf-drawer-panel-:ra:"
197
+ id="pf-drawer-panel-:rh:"
189
198
  style="--pf-v6-c-drawer__panel--md--FlexBasis: 300px; --pf-v6-c-drawer__panel--md--FlexBasis--min: 200px; --pf-v6-c-drawer__panel--md--FlexBasis--max: 400px;"
190
199
  >
191
200
  <div
192
- aria-controls="pf-drawer-panel-:ra:"
201
+ aria-controls="pf-drawer-panel-:rh:"
193
202
  aria-label="Resize"
194
203
  aria-orientation="vertical"
195
204
  aria-valuemax="100"
@@ -222,7 +231,7 @@ exports[`Drawer has resizable css and color variants 1`] = `
222
231
  <button
223
232
  aria-label="Close drawer panel"
224
233
  class="pf-v6-c-button pf-m-plain"
225
- data-ouia-component-id="OUIA-Generated-Button-plain-:rb:"
234
+ data-ouia-component-id="OUIA-Generated-Button-plain-:ri:"
226
235
  data-ouia-component-type="PF6/Button"
227
236
  data-ouia-safe="true"
228
237
  type="button"
@@ -264,6 +273,9 @@ exports[`Drawer isExpanded = false and isInline = false and isStatic = false 1`]
264
273
  <DocumentFragment>
265
274
  <div
266
275
  class="pf-v6-c-drawer"
276
+ data-ouia-component-id="ouia-id"
277
+ data-ouia-component-type="PF6/Drawer"
278
+ data-ouia-safe="true"
267
279
  >
268
280
  <div
269
281
  class="pf-v6-c-drawer__main"
@@ -280,7 +292,7 @@ exports[`Drawer isExpanded = false and isInline = false and isStatic = false 1`]
280
292
  <div
281
293
  class="pf-v6-c-drawer__panel"
282
294
  hidden=""
283
- id="pf-drawer-panel-:r2:"
295
+ id="pf-drawer-panel-:r4:"
284
296
  inert=""
285
297
  />
286
298
  </div>
@@ -292,6 +304,9 @@ exports[`Drawer isExpanded = false and isInline = true and isStatic = false 1`]
292
304
  <DocumentFragment>
293
305
  <div
294
306
  class="pf-v6-c-drawer"
307
+ data-ouia-component-id="ouia-id"
308
+ data-ouia-component-type="PF6/Drawer"
309
+ data-ouia-safe="true"
295
310
  >
296
311
  <div
297
312
  class="pf-v6-c-drawer__main"
@@ -308,7 +323,7 @@ exports[`Drawer isExpanded = false and isInline = true and isStatic = false 1`]
308
323
  <div
309
324
  class="pf-v6-c-drawer__panel"
310
325
  hidden=""
311
- id="pf-drawer-panel-:r5:"
326
+ id="pf-drawer-panel-:r9:"
312
327
  inert=""
313
328
  />
314
329
  </div>
@@ -320,6 +335,9 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = false 1`]
320
335
  <DocumentFragment>
321
336
  <div
322
337
  class="pf-v6-c-drawer pf-m-expanded"
338
+ data-ouia-component-id="ouia-id"
339
+ data-ouia-component-type="PF6/Drawer"
340
+ data-ouia-safe="true"
323
341
  >
324
342
  <div
325
343
  class="pf-v6-c-drawer__main"
@@ -335,7 +353,7 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = false 1`]
335
353
  </div>
336
354
  <div
337
355
  class="pf-v6-c-drawer__panel"
338
- id="pf-drawer-panel-:r0:"
356
+ id="pf-drawer-panel-:r1:"
339
357
  >
340
358
  <div
341
359
  class="pf-v6-c-drawer__head"
@@ -352,7 +370,7 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = false 1`]
352
370
  <button
353
371
  aria-label="Close drawer panel"
354
372
  class="pf-v6-c-button pf-m-plain"
355
- data-ouia-component-id="OUIA-Generated-Button-plain-:r1:"
373
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r2:"
356
374
  data-ouia-component-type="PF6/Button"
357
375
  data-ouia-safe="true"
358
376
  type="button"
@@ -393,6 +411,9 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = true 1`] =
393
411
  <DocumentFragment>
394
412
  <div
395
413
  class="pf-v6-c-drawer pf-m-expanded"
414
+ data-ouia-component-id="ouia-id"
415
+ data-ouia-component-type="PF6/Drawer"
416
+ data-ouia-safe="true"
396
417
  >
397
418
  <div
398
419
  class="pf-v6-c-drawer__main"
@@ -408,7 +429,7 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = true 1`] =
408
429
  </div>
409
430
  <div
410
431
  class="pf-v6-c-drawer__panel"
411
- id="pf-drawer-panel-:r6:"
432
+ id="pf-drawer-panel-:rb:"
412
433
  >
413
434
  <div
414
435
  class="pf-v6-c-drawer__head"
@@ -425,7 +446,7 @@ exports[`Drawer isExpanded = true and isInline = false and isStatic = true 1`] =
425
446
  <button
426
447
  aria-label="Close drawer panel"
427
448
  class="pf-v6-c-button pf-m-plain"
428
- data-ouia-component-id="OUIA-Generated-Button-plain-:r7:"
449
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rc:"
429
450
  data-ouia-component-type="PF6/Button"
430
451
  data-ouia-safe="true"
431
452
  type="button"
@@ -466,6 +487,9 @@ exports[`Drawer isExpanded = true and isInline = true and isStatic = false 1`] =
466
487
  <DocumentFragment>
467
488
  <div
468
489
  class="pf-v6-c-drawer pf-m-expanded"
490
+ data-ouia-component-id="ouia-id"
491
+ data-ouia-component-type="PF6/Drawer"
492
+ data-ouia-safe="true"
469
493
  >
470
494
  <div
471
495
  class="pf-v6-c-drawer__main"
@@ -481,7 +505,7 @@ exports[`Drawer isExpanded = true and isInline = true and isStatic = false 1`] =
481
505
  </div>
482
506
  <div
483
507
  class="pf-v6-c-drawer__panel"
484
- id="pf-drawer-panel-:r3:"
508
+ id="pf-drawer-panel-:r6:"
485
509
  >
486
510
  <div
487
511
  class="pf-v6-c-drawer__head"
@@ -498,7 +522,7 @@ exports[`Drawer isExpanded = true and isInline = true and isStatic = false 1`] =
498
522
  <button
499
523
  aria-label="Close drawer panel"
500
524
  class="pf-v6-c-button pf-m-plain"
501
- data-ouia-component-id="OUIA-Generated-Button-plain-:r4:"
525
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r7:"
502
526
  data-ouia-component-type="PF6/Button"
503
527
  data-ouia-safe="true"
504
528
  type="button"
@@ -1,14 +1,13 @@
1
1
  import styles from '@patternfly/react-styles/css/components/DualListSelector/dual-list-selector';
2
2
  import { css } from '@patternfly/react-styles';
3
- import { useSSRSafeId } from '../../helpers';
3
+ import { useSSRSafeId, useOUIAProps, OUIAProps, useHasAnimations } from '../../helpers';
4
4
  import { DualListSelectorContext } from './DualListSelectorContext';
5
- import { useHasAnimations } from '../../helpers';
6
5
 
7
6
  /** Acts as a container for all other DualListSelector sub-components when using a
8
7
  * composable dual list selector.
9
8
  */
10
9
 
11
- export interface DualListSelectorProps {
10
+ export interface DualListSelectorProps extends OUIAProps {
12
11
  /** Additional classes applied to the dual list selector. */
13
12
  className?: string;
14
13
  /** ID of the dual list selector. */
@@ -22,6 +21,10 @@ export interface DualListSelectorProps {
22
21
  * the next breaking change release in favor of defaulting to always-rendered items.
23
22
  */
24
23
  hasAnimations?: boolean;
24
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
25
+ ouiaId?: number | string;
26
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
27
+ ouiaSafe?: boolean;
25
28
  }
26
29
 
27
30
  export const DualListSelector: React.FunctionComponent<DualListSelectorProps> = ({
@@ -30,10 +33,13 @@ export const DualListSelector: React.FunctionComponent<DualListSelectorProps> =
30
33
  id,
31
34
  isTree = false,
32
35
  hasAnimations: hasAnimationsProp,
36
+ ouiaId,
37
+ ouiaSafe = true,
33
38
  ...props
34
39
  }: DualListSelectorProps) => {
35
40
  const hasAnimations = useHasAnimations(hasAnimationsProp);
36
41
  const randomId = useSSRSafeId();
42
+ const ouiaProps = useOUIAProps(DualListSelector.displayName, ouiaId, ouiaSafe);
37
43
 
38
44
  return (
39
45
  <DualListSelectorContext.Provider value={{ isTree, hasAnimations }}>
@@ -41,6 +47,7 @@ export const DualListSelector: React.FunctionComponent<DualListSelectorProps> =
41
47
  className={css(styles.dualListSelector, hasAnimations && isTree && styles.modifiers.animateExpand, className)}
42
48
  id={id || randomId}
43
49
  {...props}
50
+ {...ouiaProps}
44
51
  >
45
52
  {children}
46
53
  </div>
@@ -59,6 +59,31 @@ describe('Opt-in animations', () => {
59
59
  });
60
60
  });
61
61
 
62
+ test('Matches snapshot', () => {
63
+ const { asFragment } = render(<DualListSelector ouiaId="ouia-id" data-testid="test-id" />);
64
+ expect(asFragment()).toMatchSnapshot();
65
+ });
66
+
67
+ test('Renders with custom ouiaId', () => {
68
+ render(<DualListSelector data-testid="test-id" ouiaId="test-id" />);
69
+ expect(screen.getByTestId('test-id')).toHaveAttribute('data-ouia-component-id', 'test-id');
70
+ });
71
+
72
+ test('Renders with expected ouia component type', () => {
73
+ render(<DualListSelector data-testid="test-id" ouiaId="test-id" />);
74
+ expect(screen.getByTestId('test-id')).toHaveAttribute('data-ouia-component-type', 'PF6/DualListSelector');
75
+ });
76
+
77
+ test('Renders with ouiaSafe defaulting to true', () => {
78
+ render(<DualListSelector data-testid="test-id" ouiaId="test-id" />);
79
+ expect(screen.getByTestId('test-id')).toHaveAttribute('data-ouia-safe', 'true');
80
+ });
81
+
82
+ test('Renders with ouiaSafe=false when specified', () => {
83
+ render(<DualListSelector data-testid="test-id" ouiaId="test-id" ouiaSafe={false} />);
84
+ expect(screen.getByTestId('test-id')).toHaveAttribute('data-ouia-safe', 'false');
85
+ });
86
+
62
87
  // Following tests should be moved to a separate DualListSelectorPane test file
63
88
  describe('DualListSelector', () => {
64
89
  test('basic', () => {
@@ -120,3 +120,16 @@ exports[`DualListSelector with search inputs 1`] = `
120
120
  </div>
121
121
  </DocumentFragment>
122
122
  `;
123
+
124
+ exports[`Matches snapshot 1`] = `
125
+ <DocumentFragment>
126
+ <div
127
+ class="pf-v6-c-dual-list-selector"
128
+ data-ouia-component-id="ouia-id"
129
+ data-ouia-component-type="PF6/DualListSelector"
130
+ data-ouia-safe="true"
131
+ data-testid="test-id"
132
+ id="pf-:re:"
133
+ />
134
+ </DocumentFragment>
135
+ `;