@patternfly/react-core 6.3.0-prerelease.17 → 6.3.0-prerelease.18

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 (139) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Content/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/Drawer/package.json +1 -1
  28. package/dist/dynamic/components/Dropdown/package.json +1 -1
  29. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  30. package/dist/dynamic/components/EmptyState/package.json +1 -1
  31. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  32. package/dist/dynamic/components/FileUpload/package.json +1 -1
  33. package/dist/dynamic/components/Form/package.json +1 -1
  34. package/dist/dynamic/components/FormSelect/package.json +1 -1
  35. package/dist/dynamic/components/HelperText/package.json +1 -1
  36. package/dist/dynamic/components/Hint/package.json +1 -1
  37. package/dist/dynamic/components/Icon/package.json +1 -1
  38. package/dist/dynamic/components/InputGroup/package.json +1 -1
  39. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  40. package/dist/dynamic/components/Label/package.json +1 -1
  41. package/dist/dynamic/components/List/package.json +1 -1
  42. package/dist/dynamic/components/LoginPage/package.json +1 -1
  43. package/dist/dynamic/components/Masthead/package.json +1 -1
  44. package/dist/dynamic/components/Menu/package.json +1 -1
  45. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  46. package/dist/dynamic/components/Modal/package.json +1 -1
  47. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  48. package/dist/dynamic/components/Nav/package.json +1 -1
  49. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  50. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  51. package/dist/dynamic/components/NumberInput/package.json +1 -1
  52. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  53. package/dist/dynamic/components/Page/package.json +1 -1
  54. package/dist/dynamic/components/Pagination/package.json +1 -1
  55. package/dist/dynamic/components/Panel/package.json +1 -1
  56. package/dist/dynamic/components/Popover/package.json +1 -1
  57. package/dist/dynamic/components/Progress/package.json +1 -1
  58. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  59. package/dist/dynamic/components/Radio/package.json +1 -1
  60. package/dist/dynamic/components/SearchInput/package.json +1 -1
  61. package/dist/dynamic/components/Select/package.json +1 -1
  62. package/dist/dynamic/components/Sidebar/package.json +1 -1
  63. package/dist/dynamic/components/SimpleList/package.json +1 -1
  64. package/dist/dynamic/components/Skeleton/package.json +1 -1
  65. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  66. package/dist/dynamic/components/Slider/package.json +1 -1
  67. package/dist/dynamic/components/Spinner/package.json +1 -1
  68. package/dist/dynamic/components/Switch/package.json +1 -1
  69. package/dist/dynamic/components/Tabs/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/TimePicker/package.json +1 -1
  74. package/dist/dynamic/components/Timestamp/package.json +1 -1
  75. package/dist/dynamic/components/Title/package.json +1 -1
  76. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  77. package/dist/dynamic/components/Toolbar/package.json +1 -1
  78. package/dist/dynamic/components/Tooltip/package.json +1 -1
  79. package/dist/dynamic/components/TreeView/package.json +1 -1
  80. package/dist/dynamic/components/Truncate/package.json +1 -1
  81. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/package.json +1 -1
  83. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts +5 -0
  115. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  116. package/dist/esm/components/Form/FormFieldGroupExpandable.js +2 -2
  117. package/dist/esm/components/Form/FormFieldGroupExpandable.js.map +1 -1
  118. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts +5 -0
  119. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  120. package/dist/esm/components/Form/InternalFormFieldGroup.js +2 -2
  121. package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
  122. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts +5 -0
  123. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  124. package/dist/js/components/Form/FormFieldGroupExpandable.js +2 -2
  125. package/dist/js/components/Form/FormFieldGroupExpandable.js.map +1 -1
  126. package/dist/js/components/Form/InternalFormFieldGroup.d.ts +5 -0
  127. package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  128. package/dist/js/components/Form/InternalFormFieldGroup.js +2 -2
  129. package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
  130. package/dist/umd/assets/{output-RbEqNocC.css → output-CNooK7aQ.css} +16291 -16241
  131. package/dist/umd/react-core.min.js +1 -1
  132. package/helpers/package.json +1 -1
  133. package/layouts/package.json +1 -1
  134. package/next/package.json +1 -1
  135. package/package.json +6 -6
  136. package/src/components/Form/FormFieldGroupExpandable.tsx +7 -0
  137. package/src/components/Form/InternalFormFieldGroup.tsx +19 -3
  138. package/src/components/Form/__tests__/FormFieldGroupExpandable.test.tsx +55 -0
  139. package/src/components/Form/examples/FormFieldGroups.tsx +7 -1
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.3.0-prerelease.16","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.3.0-prerelease.17","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.3.0-prerelease.16","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.3.0-prerelease.17","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.3.0-prerelease.16","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.3.0-prerelease.17","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.3.0-prerelease.17",
3
+ "version": "6.3.0-prerelease.18",
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.3.0-prerelease.3",
50
- "@patternfly/react-styles": "^6.3.0-prerelease.3",
51
- "@patternfly/react-tokens": "^6.3.0-prerelease.3",
49
+ "@patternfly/react-icons": "^6.3.0-prerelease.4",
50
+ "@patternfly/react-styles": "^6.3.0-prerelease.4",
51
+ "@patternfly/react-tokens": "^6.3.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.3.0-prerelease.20",
57
+ "@patternfly/patternfly": "6.3.0-prerelease.24",
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": "b8f1dfda838e054edff17e191c2619d004668522"
66
+ "gitHead": "2a9c798759283f3a0d482ec6ffd3dd9eb0d3807d"
67
67
  }
@@ -12,6 +12,11 @@ export interface FormFieldGroupExpandableProps extends Omit<React.HTMLProps<HTML
12
12
  isExpanded?: boolean;
13
13
  /** Aria-label to use on the form field group toggle button */
14
14
  toggleAriaLabel?: string;
15
+ /** Flag indicating whether an expandable form field group has animations. This will always render
16
+ * nested field group content rather than dynamically rendering them. This prop will be removed in
17
+ * the next breaking change release in favor of defaulting to always-rendered items.
18
+ */
19
+ hasAnimations?: boolean;
15
20
  }
16
21
 
17
22
  export const FormFieldGroupExpandable: React.FunctionComponent<FormFieldGroupExpandableProps> = ({
@@ -20,6 +25,7 @@ export const FormFieldGroupExpandable: React.FunctionComponent<FormFieldGroupExp
20
25
  header,
21
26
  isExpanded = false,
22
27
  toggleAriaLabel,
28
+ hasAnimations,
23
29
  ...props
24
30
  }: FormFieldGroupExpandableProps) => {
25
31
  const [localIsExpanded, setIsExpanded] = useState(isExpanded);
@@ -32,6 +38,7 @@ export const FormFieldGroupExpandable: React.FunctionComponent<FormFieldGroupExp
32
38
  isExpanded={localIsExpanded}
33
39
  toggleAriaLabel={toggleAriaLabel}
34
40
  onToggle={() => setIsExpanded(!localIsExpanded)}
41
+ hasAnimations={hasAnimations}
35
42
  {...props}
36
43
  >
37
44
  {children}
@@ -18,6 +18,11 @@ export interface InternalFormFieldGroupProps extends Omit<React.HTMLProps<HTMLDi
18
18
  onToggle?: () => void;
19
19
  /** Aria-label to use on the form field group toggle button */
20
20
  toggleAriaLabel?: string;
21
+ /** Flag indicating whether an expandable form field group has animations. This will always render
22
+ * nested field group content rather than dynamically rendering them. This prop will be removed in
23
+ * the next breaking change release in favor of defaulting to always-rendered items.
24
+ */
25
+ hasAnimations?: boolean;
21
26
  }
22
27
 
23
28
  export const InternalFormFieldGroup: React.FunctionComponent<InternalFormFieldGroupProps> = ({
@@ -28,6 +33,7 @@ export const InternalFormFieldGroup: React.FunctionComponent<InternalFormFieldGr
28
33
  isExpanded,
29
34
  onToggle,
30
35
  toggleAriaLabel,
36
+ hasAnimations,
31
37
  ...props
32
38
  }: InternalFormFieldGroupProps) => {
33
39
  const headerTitleText = header ? header.props.titleText : null;
@@ -40,7 +46,12 @@ export const InternalFormFieldGroup: React.FunctionComponent<InternalFormFieldGr
40
46
  }
41
47
  return (
42
48
  <div
43
- className={css(styles.formFieldGroup, isExpanded && isExpandable && styles.modifiers.expanded, className)}
49
+ className={css(
50
+ styles.formFieldGroup,
51
+ isExpanded && isExpandable && styles.modifiers.expanded,
52
+ hasAnimations && isExpandable && styles.modifiers.expandable,
53
+ className
54
+ )}
44
55
  role="group"
45
56
  {...(headerTitleText && { 'aria-labelledby': `${header.props.titleText.id}` })}
46
57
  {...props}
@@ -59,8 +70,13 @@ export const InternalFormFieldGroup: React.FunctionComponent<InternalFormFieldGr
59
70
  </GenerateId>
60
71
  )}
61
72
  {header && header}
62
- {(!isExpandable || (isExpandable && isExpanded)) && (
63
- <div className={css(styles.formFieldGroupBody)}>{children}</div>
73
+ {(!isExpandable || (isExpandable && isExpanded) || (hasAnimations && isExpandable)) && (
74
+ <div
75
+ className={css(styles.formFieldGroupBody)}
76
+ {...(hasAnimations && isExpandable && !isExpanded && { inert: '' })}
77
+ >
78
+ {children}
79
+ </div>
64
80
  )}
65
81
  </div>
66
82
  );
@@ -0,0 +1,55 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { FormFieldGroupExpandable } from '../FormFieldGroupExpandable';
3
+ import styles from '@patternfly/react-styles/css/components/Form/form';
4
+
5
+ test('Does not render children by default', () => {
6
+ render(<FormFieldGroupExpandable toggleAriaLabel="Toggle label">Child content</FormFieldGroupExpandable>);
7
+
8
+ expect(screen.queryByText('Child content')).not.toBeInTheDocument();
9
+ });
10
+
11
+ test('Renders children when isExpanded is true', () => {
12
+ render(
13
+ <FormFieldGroupExpandable isExpanded toggleAriaLabel="Toggle label">
14
+ Child content
15
+ </FormFieldGroupExpandable>
16
+ );
17
+
18
+ expect(screen.getByText('Child content')).toBeInTheDocument();
19
+ });
20
+
21
+ test('Renders children with inert attribute by default when hasAnimations is true', () => {
22
+ render(
23
+ <FormFieldGroupExpandable hasAnimations toggleAriaLabel="Toggle label">
24
+ Child content
25
+ </FormFieldGroupExpandable>
26
+ );
27
+
28
+ expect(screen.getByText('Child content')).toHaveAttribute('inert', '');
29
+ });
30
+
31
+ test('Does not render children with inert attribute when hasAnimations and isExpanded are true', () => {
32
+ render(
33
+ <FormFieldGroupExpandable hasAnimations isExpanded toggleAriaLabel="Toggle label">
34
+ Child content
35
+ </FormFieldGroupExpandable>
36
+ );
37
+
38
+ expect(screen.getByText('Child content')).not.toHaveAttribute('inert');
39
+ });
40
+
41
+ test(`Does not render with class ${styles.modifiers.expandable} by default`, () => {
42
+ render(<FormFieldGroupExpandable toggleAriaLabel="Toggle label">Child content</FormFieldGroupExpandable>);
43
+
44
+ expect(screen.getByRole('group')).not.toHaveClass(styles.modifiers.expandable);
45
+ });
46
+
47
+ test(`Renders with class ${styles.modifiers.expandable} when hasAnimations is true`, () => {
48
+ render(
49
+ <FormFieldGroupExpandable hasAnimations toggleAriaLabel="Toggle label">
50
+ Child content
51
+ </FormFieldGroupExpandable>
52
+ );
53
+
54
+ expect(screen.getByRole('group')).toHaveClass(styles.modifiers.expandable);
55
+ });
@@ -52,6 +52,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
52
52
  <TextInput isRequired id="0-label2" name="0-label2" value={inputValues['0-label2']} onChange={handleChange} />
53
53
  </FormGroup>
54
54
  <FormFieldGroupExpandable
55
+ hasAnimations
55
56
  isExpanded
56
57
  toggleAriaLabel="Details"
57
58
  header={
@@ -67,6 +68,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
67
68
  }
68
69
  >
69
70
  <FormFieldGroupExpandable
71
+ hasAnimations
70
72
  isExpanded
71
73
  toggleAriaLabel="Details"
72
74
  header={
@@ -97,6 +99,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
97
99
  </FormGroup>
98
100
  </FormFieldGroupExpandable>
99
101
  <FormFieldGroupExpandable
102
+ hasAnimations
100
103
  toggleAriaLabel="Details"
101
104
  header={
102
105
  <FormFieldGroupHeader
@@ -125,6 +128,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
125
128
  </FormGroup>
126
129
  </FormFieldGroupExpandable>
127
130
  <FormFieldGroupExpandable
131
+ hasAnimations
128
132
  toggleAriaLabel="Details"
129
133
  header={
130
134
  <FormFieldGroupHeader
@@ -173,6 +177,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
173
177
  </FormGroup>
174
178
  </FormFieldGroupExpandable>
175
179
  <FormFieldGroupExpandable
180
+ hasAnimations
176
181
  toggleAriaLabel="Details"
177
182
  header={
178
183
  <FormFieldGroupHeader
@@ -194,6 +199,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
194
199
  </FormGroup>
195
200
  </FormFieldGroupExpandable>
196
201
  <FormFieldGroupExpandable
202
+ hasAnimations
197
203
  isExpanded
198
204
  toggleAriaLabel="Details"
199
205
  header={
@@ -273,7 +279,7 @@ export const FormFieldGroups: React.FunctionComponent = () => {
273
279
  header={
274
280
  <FormFieldGroupHeader
275
281
  titleText={{ text: 'Field group 4 (non-expandable)', id: 'field-group4-non-expandable-titleText-id' }}
276
- titleDescription="Field group 4 description text."
282
+ titleDescription="Field group 4 description text fdgsdg."
277
283
  actions={
278
284
  <>
279
285
  <Button variant="link">Delete all</Button> <Button variant="secondary">Add parameter</Button>