@patternfly/react-core 6.5.0-prerelease.7 → 6.5.0-prerelease.9

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 (143) hide show
  1. package/CHANGELOG.md +16 -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/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/TextArea/package.json +1 -1
  72. package/dist/dynamic/components/TextInput/package.json +1 -1
  73. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  74. package/dist/dynamic/components/TimePicker/package.json +1 -1
  75. package/dist/dynamic/components/Timestamp/package.json +1 -1
  76. package/dist/dynamic/components/Title/package.json +1 -1
  77. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  78. package/dist/dynamic/components/Toolbar/package.json +1 -1
  79. package/dist/dynamic/components/Tooltip/package.json +1 -1
  80. package/dist/dynamic/components/TreeView/package.json +1 -1
  81. package/dist/dynamic/components/Truncate/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/package.json +1 -1
  91. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  94. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  95. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  96. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  97. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  98. package/dist/dynamic/helpers/constants/package.json +1 -1
  99. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  100. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  102. package/dist/dynamic/helpers/package.json +1 -1
  103. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  104. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  105. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  106. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  107. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  108. package/dist/dynamic/helpers/util/package.json +1 -1
  109. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  110. package/dist/dynamic/layouts/Flex/package.json +1 -1
  111. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  112. package/dist/dynamic/layouts/Grid/package.json +1 -1
  113. package/dist/dynamic/layouts/Level/package.json +1 -1
  114. package/dist/dynamic/layouts/Split/package.json +1 -1
  115. package/dist/dynamic/layouts/Stack/package.json +1 -1
  116. package/dist/dynamic/styles/package.json +1 -1
  117. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +2 -0
  118. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  119. package/dist/esm/components/Drawer/DrawerPanelContent.js +2 -2
  120. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  121. package/dist/js/components/Drawer/DrawerPanelContent.d.ts +2 -0
  122. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  123. package/dist/js/components/Drawer/DrawerPanelContent.js +2 -2
  124. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  125. package/dist/styles/base-no-reset.css +43 -2
  126. package/dist/styles/base.css +43 -2
  127. package/dist/umd/assets/{output-B9OM_nT0.css → output-DZ291hEz.css} +21314 -21326
  128. package/dist/umd/react-core.min.js +1 -1
  129. package/helpers/package.json +1 -1
  130. package/layouts/package.json +1 -1
  131. package/next/package.json +1 -1
  132. package/package.json +6 -6
  133. package/src/components/Card/__tests__/CardSubtitle.test.tsx +42 -10
  134. package/src/components/Card/__tests__/CardTitle.test.tsx +27 -17
  135. package/src/components/Card/__tests__/__snapshots__/CardSubtitle.test.tsx.snap +11 -2
  136. package/src/components/Card/__tests__/__snapshots__/CardTitle.test.tsx.snap +1 -1
  137. package/src/components/Compass/examples/CompassDemo.tsx +6 -6
  138. package/src/components/DataList/__tests__/DataList.test.tsx +6 -0
  139. package/src/components/DataList/examples/DataList.md +1 -0
  140. package/src/components/Drawer/DrawerPanelContent.tsx +4 -0
  141. package/src/components/Drawer/__tests__/DrawerPanelContent.test.tsx +10 -0
  142. package/src/components/Tabs/__tests__/Tabs.test.tsx +60 -0
  143. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +13 -13
@@ -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.5.0-prerelease.6","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.5.0-prerelease.8","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.5.0-prerelease.6","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.5.0-prerelease.8","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.5.0-prerelease.6","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.5.0-prerelease.8","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.5.0-prerelease.7",
3
+ "version": "6.5.0-prerelease.9",
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",
@@ -46,15 +46,15 @@
46
46
  "subpaths": "node ../../scripts/exportSubpaths.mjs --config subpaths.config.json"
47
47
  },
48
48
  "dependencies": {
49
- "@patternfly/react-icons": "^6.5.0-prerelease.3",
50
- "@patternfly/react-styles": "^6.5.0-prerelease.3",
51
- "@patternfly/react-tokens": "^6.5.0-prerelease.3",
49
+ "@patternfly/react-icons": "^6.5.0-prerelease.4",
50
+ "@patternfly/react-styles": "^6.5.0-prerelease.4",
51
+ "@patternfly/react-tokens": "^6.5.0-prerelease.4",
52
52
  "focus-trap": "7.6.4",
53
53
  "react-dropzone": "^14.3.5",
54
54
  "tslib": "^2.8.1"
55
55
  },
56
56
  "devDependencies": {
57
- "@patternfly/patternfly": "6.5.0-prerelease.14",
57
+ "@patternfly/patternfly": "6.5.0-prerelease.19",
58
58
  "case-anything": "^3.1.2",
59
59
  "css": "^3.0.0",
60
60
  "fs-extra": "^11.3.0"
@@ -63,5 +63,5 @@
63
63
  "react": "^17 || ^18 || ^19",
64
64
  "react-dom": "^17 || ^18 || ^19"
65
65
  },
66
- "gitHead": "d09b3a3cb11d10807ada3c9fbde44254818f2fa2"
66
+ "gitHead": "3fe4262830dc7bbeea2360dfc8a9c584cf752520"
67
67
  }
@@ -1,16 +1,48 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import { CardSubtitle } from '../CardSubtitle';
3
+ import styles from '@patternfly/react-styles/css/components/Card/card';
3
4
 
4
- describe('CardSubtitle', () => {
5
- test('renders with PatternFly Core styles', () => {
6
- const { asFragment } = render(<CardSubtitle>text</CardSubtitle>);
7
- expect(asFragment()).toMatchSnapshot();
8
- });
5
+ test('Renders without children', () => {
6
+ render(
7
+ <div data-testid="container">
8
+ <CardSubtitle />
9
+ </div>
10
+ );
9
11
 
10
- test('extra props are spread to the root element', () => {
11
- const testId = 'card-subtitle';
12
+ expect(screen.getByTestId('container').firstChild).toBeVisible();
13
+ });
14
+
15
+ test('Renders with children', () => {
16
+ render(<CardSubtitle>Subtitle content</CardSubtitle>);
17
+
18
+ expect(screen.getByText('Subtitle content')).toBeInTheDocument();
19
+ });
20
+
21
+ test(`Renders with class ${styles.cardSubtitle} by default`, () => {
22
+ render(<CardSubtitle>Subtitle content</CardSubtitle>);
23
+
24
+ expect(screen.getByText('Subtitle content')).toHaveClass(styles.cardSubtitle, { exact: true });
25
+ });
26
+
27
+ test('Renders with id when passed', () => {
28
+ render(<CardSubtitle id="subtitle-id">Subtitle content</CardSubtitle>);
29
+
30
+ expect(screen.getByText('Subtitle content')).toHaveAttribute('id', 'subtitle-id');
31
+ });
32
+
33
+ test('extra props are spread to the root element', () => {
34
+ const testId = 'card-subtitle';
35
+
36
+ render(<CardSubtitle data-testid={testId} />);
37
+ expect(screen.getByTestId(testId)).toBeInTheDocument();
38
+ });
39
+
40
+ test('Matches snapshot without children', () => {
41
+ const { asFragment } = render(<CardSubtitle />);
42
+ expect(asFragment()).toMatchSnapshot();
43
+ });
12
44
 
13
- render(<CardSubtitle data-testid={testId} />);
14
- expect(screen.getByTestId(testId)).toBeInTheDocument();
15
- });
45
+ test('Matches snapshot with children', () => {
46
+ const { asFragment } = render(<CardSubtitle>Subtitle content</CardSubtitle>);
47
+ expect(asFragment()).toMatchSnapshot();
16
48
  });
@@ -1,21 +1,31 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import { CardTitle } from '../CardTitle';
3
3
 
4
- describe('CardTitle', () => {
5
- test('renders with PatternFly Core styles', () => {
6
- const { asFragment } = render(<CardTitle>text</CardTitle>);
7
- expect(asFragment()).toMatchSnapshot();
8
- });
9
-
10
- test('className is added to the root element', () => {
11
- render(<CardTitle className="extra-class">text</CardTitle>);
12
- expect(screen.getByText('text')).toHaveClass('extra-class');
13
- });
14
-
15
- test('extra props are spread to the root element', () => {
16
- const testId = 'card-header';
17
-
18
- render(<CardTitle data-testid={testId} />);
19
- expect(screen.getByTestId(testId)).toBeInTheDocument();
20
- });
4
+ test('Renders with custom class when passed', () => {
5
+ render(<CardTitle className="extra-class">text</CardTitle>);
6
+ expect(screen.getByText('text')).toHaveClass('extra-class');
7
+ });
8
+
9
+ test('Does not render with card subtitle by default', () => {
10
+ render(<CardTitle>text</CardTitle>);
11
+
12
+ expect(screen.queryByText('text')?.nextElementSibling).not.toBeInTheDocument();
13
+ });
14
+
15
+ test('Renders with card subtitle when subtitle is passed', () => {
16
+ render(<CardTitle subtitle="subtitle content">text</CardTitle>);
17
+
18
+ expect(screen.getByText('subtitle content')).toBeInTheDocument();
19
+ });
20
+
21
+ test('extra props are spread to the root element', () => {
22
+ const testId = 'card-header';
23
+
24
+ render(<CardTitle data-testid={testId} />);
25
+ expect(screen.getByTestId(testId)).toBeInTheDocument();
26
+ });
27
+
28
+ test('Matches snapshot', () => {
29
+ const { asFragment } = render(<CardTitle>text</CardTitle>);
30
+ expect(asFragment()).toMatchSnapshot();
21
31
  });
@@ -1,12 +1,21 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`CardSubtitle renders with PatternFly Core styles 1`] = `
3
+ exports[`Matches snapshot with children 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="pf-v6-c-card__subtitle"
7
7
  id=""
8
8
  >
9
- text
9
+ Subtitle content
10
10
  </div>
11
11
  </DocumentFragment>
12
12
  `;
13
+
14
+ exports[`Matches snapshot without children 1`] = `
15
+ <DocumentFragment>
16
+ <div
17
+ class="pf-v6-c-card__subtitle"
18
+ id=""
19
+ />
20
+ </DocumentFragment>
21
+ `;
@@ -1,6 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`CardTitle renders with PatternFly Core styles 1`] = `
3
+ exports[`Matches snapshot 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="pf-v6-c-card__title"
@@ -81,33 +81,33 @@ export const CompassBasic: React.FunctionComponent = () => {
81
81
 
82
82
  const sidebarContent = (
83
83
  <CompassPanel isPill>
84
- <ActionList isIconList className="pf-m-vertical" /* isVertical */>
84
+ <ActionList isIconList isVertical>
85
85
  <ActionListGroup>
86
86
  <ActionListItem>
87
87
  <Tooltip content="Play">
88
- <Button variant="plain" icon={<PlayIcon />} aria-label="Play" />
88
+ <Button isCircle variant="plain" icon={<PlayIcon />} aria-label="Play" />
89
89
  </Tooltip>
90
90
  </ActionListItem>
91
91
  <ActionListItem>
92
92
  <Tooltip content="Add">
93
- <Button variant="plain" icon={<OutlinedPlusSquare />} aria-label="Add" />
93
+ <Button isCircle variant="plain" icon={<OutlinedPlusSquare />} aria-label="Add" />
94
94
  </Tooltip>
95
95
  </ActionListItem>
96
96
  </ActionListGroup>
97
97
  <ActionListItem>
98
98
  <Tooltip content="Copy">
99
- <Button variant="plain" icon={<OutlinedCopy />} aria-label="Copy" />
99
+ <Button isCircle variant="plain" icon={<OutlinedCopy />} aria-label="Copy" />
100
100
  </Tooltip>
101
101
  </ActionListItem>
102
102
  <ActionListGroup>
103
103
  <ActionListItem>
104
104
  <Tooltip content="Help">
105
- <Button variant="plain" icon={<OutlinedQuestionCircleIcon />} aria-label="Help" />
105
+ <Button isCircle variant="plain" icon={<OutlinedQuestionCircleIcon />} aria-label="Help" />
106
106
  </Tooltip>
107
107
  </ActionListItem>
108
108
  <ActionListItem>
109
109
  <Tooltip content="Second copy">
110
- <Button variant="plain" icon={<OutlinedCopy />} aria-label="Copy2" />
110
+ <Button isCircle variant="plain" icon={<OutlinedCopy />} aria-label="Copy2" />
111
111
  </Tooltip>
112
112
  </ActionListItem>
113
113
  </ActionListGroup>
@@ -71,6 +71,12 @@ test('Renders custom class when passed', () => {
71
71
  expect(screen.getByLabelText('list')).toHaveClass('data-list-custom');
72
72
  });
73
73
 
74
+ test(`Renders with class ${styles.modifiers.plain} when isPlain is true`, () => {
75
+ render(<DataList key="list-id-1" isPlain aria-label="list" />);
76
+
77
+ expect(screen.getByLabelText('list')).toHaveClass(styles.modifiers.plain);
78
+ });
79
+
74
80
  test('Renders with a hidden input to improve a11y when onSelectableRowChange is passed', () => {
75
81
  render(
76
82
  <DataList aria-label="this is a simple list" onSelectableRowChange={() => {}}>
@@ -39,6 +39,7 @@ import { DragDropSort, DragDropContainer, Droppable as NewDroppable } from '@pat
39
39
  ```ts file="./DataListCompact.tsx"
40
40
 
41
41
  ```
42
+
42
43
  ### Plain
43
44
 
44
45
  ```ts file="./DataListPlain.tsx"
@@ -35,6 +35,8 @@ export interface DrawerPanelContentProps extends Omit<React.HTMLProps<HTMLDivEle
35
35
  hasNoBorder?: boolean;
36
36
  /** Flag indicating that the drawer panel should be resizable. */
37
37
  isResizable?: boolean;
38
+ /** @beta Flag indicating that the drawer panel should disable glass styles. This prop is intended to work with isPill drawers. */
39
+ hasNoGlass?: boolean;
38
40
  /** Callback for resize end. */
39
41
  onResize?: (event: MouseEvent | TouchEvent | React.KeyboardEvent, width: number, id: string) => void;
40
42
  /** The minimum size of a drawer. */
@@ -68,6 +70,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
68
70
  children,
69
71
  hasNoBorder = false,
70
72
  isResizable = false,
73
+ hasNoGlass = false,
71
74
  onResize,
72
75
  minSize,
73
76
  defaultSize,
@@ -364,6 +367,7 @@ export const DrawerPanelContent: React.FunctionComponent<DrawerPanelContentProps
364
367
  className={css(
365
368
  styles.drawerPanel,
366
369
  isResizable && styles.modifiers.resizable,
370
+ hasNoGlass && styles.modifiers.noGlass,
367
371
  hasNoBorder && styles.modifiers.noBorder,
368
372
  formatBreakpointMods(widths, styles),
369
373
  colorVariant === DrawerColorVariant.noBackground && styles.modifiers.noBackground,
@@ -158,3 +158,13 @@ test('Style prop overrides boundaryCssVars', () => {
158
158
  '--pf-v6-c-drawer__panel--md--FlexBasis--max': '500px'
159
159
  });
160
160
  });
161
+
162
+ test(`Renders with class ${styles.modifiers.noGlass} when isPill is true`, () => {
163
+ render(
164
+ <Drawer isExpanded isPill>
165
+ <DrawerPanelContent hasNoGlass>Drawer panel content</DrawerPanelContent>
166
+ </Drawer>
167
+ );
168
+
169
+ expect(screen.getByText('Drawer panel content')).toHaveClass(styles.modifiers.noGlass);
170
+ });
@@ -166,6 +166,66 @@ test(`Does not render with class ${styles.modifiers.initializingAccent} when unc
166
166
  expect(screen.getByRole('region')).not.toHaveClass(styles.modifiers.initializingAccent);
167
167
  });
168
168
 
169
+ test(`Renders with class ${styles.modifiers.nav} when isNav is true`, () => {
170
+ render(
171
+ <Tabs isNav role="region">
172
+ <Tab title="Test title" eventKey={0}>
173
+ Tab Content
174
+ </Tab>
175
+ </Tabs>
176
+ );
177
+
178
+ expect(screen.getByRole('region')).toHaveClass(styles.modifiers.nav);
179
+ });
180
+
181
+ test(`Renders with div wrapper by default`, () => {
182
+ render(
183
+ <Tabs>
184
+ <Tab title="Test title" eventKey={0}>
185
+ Tab Content
186
+ </Tab>
187
+ </Tabs>
188
+ );
189
+
190
+ expect(screen.queryByRole('navigation')).not.toBeInTheDocument();
191
+ });
192
+
193
+ test(`Renders with nav wrapper when component="nav"`, () => {
194
+ render(
195
+ <Tabs component="nav">
196
+ <Tab title="Test title" eventKey={0}>
197
+ Tab Content
198
+ </Tab>
199
+ </Tabs>
200
+ );
201
+
202
+ expect(screen.getByRole('navigation')).toBeInTheDocument();
203
+ });
204
+
205
+ test(`Renders with nav wrapper when isNav is true`, () => {
206
+ render(
207
+ <Tabs isNav>
208
+ <Tab title="Test title" eventKey={0}>
209
+ Tab Content
210
+ </Tab>
211
+ </Tabs>
212
+ );
213
+
214
+ expect(screen.getByRole('navigation')).toBeInTheDocument();
215
+ });
216
+
217
+ test(`Overrides isNav nav wrapper when component="div" is passed`, () => {
218
+ render(
219
+ <Tabs component="div" isNav>
220
+ <Tab title="Test title" eventKey={0}>
221
+ Tab Content
222
+ </Tab>
223
+ </Tabs>
224
+ );
225
+
226
+ expect(screen.queryByRole('navigation')).not.toBeInTheDocument();
227
+ });
228
+
169
229
  test('should render simple tabs', () => {
170
230
  const { asFragment } = render(
171
231
  <Tabs id="simpleTabs">
@@ -5,7 +5,7 @@ exports[`should render accessible tabs 1`] = `
5
5
  <nav
6
6
  aria-label="accessible Tabs example"
7
7
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
8
- data-ouia-component-id="OUIA-Generated-Tabs-14"
8
+ data-ouia-component-id="OUIA-Generated-Tabs-19"
9
9
  data-ouia-component-type="PF6/Tabs"
10
10
  data-ouia-safe="true"
11
11
  id="accessibleTabs"
@@ -122,7 +122,7 @@ exports[`should render box tabs 1`] = `
122
122
  <DocumentFragment>
123
123
  <div
124
124
  class="pf-v6-c-tabs pf-m-animate-current pf-m-box pf-m-initializing-accent"
125
- data-ouia-component-id="OUIA-Generated-Tabs-13"
125
+ data-ouia-component-id="OUIA-Generated-Tabs-18"
126
126
  data-ouia-component-type="PF6/Tabs"
127
127
  data-ouia-safe="true"
128
128
  id="boxTabs"
@@ -281,7 +281,7 @@ exports[`should render box tabs of secondary variant 1`] = `
281
281
  <DocumentFragment>
282
282
  <div
283
283
  class="pf-v6-c-tabs pf-m-animate-current pf-m-box pf-m-secondary pf-m-initializing-accent"
284
- data-ouia-component-id="OUIA-Generated-Tabs-24"
284
+ data-ouia-component-id="OUIA-Generated-Tabs-29"
285
285
  data-ouia-component-type="PF6/Tabs"
286
286
  data-ouia-safe="true"
287
287
  id="boxSecondaryVariantTabs"
@@ -398,7 +398,7 @@ exports[`should render expandable vertical tabs 1`] = `
398
398
  <DocumentFragment>
399
399
  <div
400
400
  class="pf-v6-c-tabs pf-m-animate-current pf-m-vertical pf-m-expandable pf-m-initializing-accent"
401
- data-ouia-component-id="OUIA-Generated-Tabs-11"
401
+ data-ouia-component-id="OUIA-Generated-Tabs-16"
402
402
  data-ouia-component-type="PF6/Tabs"
403
403
  data-ouia-safe="true"
404
404
  id="verticalTabs"
@@ -605,7 +605,7 @@ exports[`should render filled tabs 1`] = `
605
605
  <DocumentFragment>
606
606
  <div
607
607
  class="pf-v6-c-tabs pf-m-animate-current pf-m-fill pf-m-initializing-accent"
608
- data-ouia-component-id="OUIA-Generated-Tabs-15"
608
+ data-ouia-component-id="OUIA-Generated-Tabs-20"
609
609
  data-ouia-component-type="PF6/Tabs"
610
610
  data-ouia-safe="true"
611
611
  id="filledTabs"
@@ -722,7 +722,7 @@ exports[`should render simple tabs 1`] = `
722
722
  <DocumentFragment>
723
723
  <div
724
724
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
725
- data-ouia-component-id="OUIA-Generated-Tabs-6"
725
+ data-ouia-component-id="OUIA-Generated-Tabs-11"
726
726
  data-ouia-component-type="PF6/Tabs"
727
727
  data-ouia-safe="true"
728
728
  id="simpleTabs"
@@ -881,7 +881,7 @@ exports[`should render subtabs 1`] = `
881
881
  <DocumentFragment>
882
882
  <div
883
883
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
884
- data-ouia-component-id="OUIA-Generated-Tabs-16"
884
+ data-ouia-component-id="OUIA-Generated-Tabs-21"
885
885
  data-ouia-component-type="PF6/Tabs"
886
886
  data-ouia-safe="true"
887
887
  id="primarieTabs"
@@ -967,7 +967,7 @@ exports[`should render subtabs 1`] = `
967
967
  >
968
968
  <div
969
969
  class="pf-v6-c-tabs pf-m-animate-current pf-m-subtab pf-m-initializing-accent"
970
- data-ouia-component-id="OUIA-Generated-Tabs-17"
970
+ data-ouia-component-id="OUIA-Generated-Tabs-22"
971
971
  data-ouia-component-type="PF6/Tabs"
972
972
  data-ouia-safe="true"
973
973
  id="subtabs"
@@ -1110,7 +1110,7 @@ exports[`should render tabs with eventKey Strings 1`] = `
1110
1110
  <DocumentFragment>
1111
1111
  <div
1112
1112
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
1113
- data-ouia-component-id="OUIA-Generated-Tabs-18"
1113
+ data-ouia-component-id="OUIA-Generated-Tabs-23"
1114
1114
  data-ouia-component-type="PF6/Tabs"
1115
1115
  data-ouia-safe="true"
1116
1116
  id="eventKeyTabs"
@@ -1228,7 +1228,7 @@ exports[`should render tabs with no bottom border 1`] = `
1228
1228
  <DocumentFragment>
1229
1229
  <div
1230
1230
  class="pf-v6-c-tabs pf-m-animate-current pf-m-no-border-bottom pf-m-initializing-accent"
1231
- data-ouia-component-id="OUIA-Generated-Tabs-25"
1231
+ data-ouia-component-id="OUIA-Generated-Tabs-30"
1232
1232
  data-ouia-component-type="PF6/Tabs"
1233
1233
  data-ouia-safe="true"
1234
1234
  id="noBottomBorderTabs"
@@ -1345,7 +1345,7 @@ exports[`should render tabs with separate content 1`] = `
1345
1345
  <DocumentFragment>
1346
1346
  <div
1347
1347
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
1348
- data-ouia-component-id="OUIA-Generated-Tabs-19"
1348
+ data-ouia-component-id="OUIA-Generated-Tabs-24"
1349
1349
  data-ouia-component-type="PF6/Tabs"
1350
1350
  data-ouia-safe="true"
1351
1351
  id="separateTabs"
@@ -1472,7 +1472,7 @@ exports[`should render uncontrolled tabs 1`] = `
1472
1472
  <DocumentFragment>
1473
1473
  <div
1474
1474
  class="pf-v6-c-tabs pf-m-animate-current pf-m-initializing-accent"
1475
- data-ouia-component-id="OUIA-Generated-Tabs-9"
1475
+ data-ouia-component-id="OUIA-Generated-Tabs-14"
1476
1476
  data-ouia-component-type="PF6/Tabs"
1477
1477
  data-ouia-safe="true"
1478
1478
  style="--pf-v6-c-tabs--link-accent--length: 0px; --pf-v6-c-tabs--link-accent--start: 0px;"
@@ -1630,7 +1630,7 @@ exports[`should render vertical tabs 1`] = `
1630
1630
  <DocumentFragment>
1631
1631
  <div
1632
1632
  class="pf-v6-c-tabs pf-m-animate-current pf-m-vertical pf-m-initializing-accent"
1633
- data-ouia-component-id="OUIA-Generated-Tabs-10"
1633
+ data-ouia-component-id="OUIA-Generated-Tabs-15"
1634
1634
  data-ouia-component-type="PF6/Tabs"
1635
1635
  data-ouia-safe="true"
1636
1636
  id="verticalTabs"