@patternfly/react-core 6.2.1-prerelease.2 → 6.2.1-prerelease.4

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 (150) hide show
  1. package/CHANGELOG.md +12 -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/Dropdown/DropdownGroup.d.ts +1 -1
  115. package/dist/esm/components/Dropdown/DropdownGroup.d.ts.map +1 -1
  116. package/dist/esm/components/LoginPage/LoginForm.d.ts +2 -0
  117. package/dist/esm/components/LoginPage/LoginForm.d.ts.map +1 -1
  118. package/dist/esm/components/LoginPage/LoginForm.js +3 -3
  119. package/dist/esm/components/LoginPage/LoginForm.js.map +1 -1
  120. package/dist/esm/components/Page/Page.d.ts +3 -1
  121. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  122. package/dist/esm/components/Page/Page.js +1 -1
  123. package/dist/esm/components/Page/Page.js.map +1 -1
  124. package/dist/esm/components/Select/SelectGroup.d.ts +1 -1
  125. package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
  126. package/dist/js/components/Dropdown/DropdownGroup.d.ts +1 -1
  127. package/dist/js/components/Dropdown/DropdownGroup.d.ts.map +1 -1
  128. package/dist/js/components/LoginPage/LoginForm.d.ts +2 -0
  129. package/dist/js/components/LoginPage/LoginForm.d.ts.map +1 -1
  130. package/dist/js/components/LoginPage/LoginForm.js +3 -3
  131. package/dist/js/components/LoginPage/LoginForm.js.map +1 -1
  132. package/dist/js/components/Page/Page.d.ts +3 -1
  133. package/dist/js/components/Page/Page.d.ts.map +1 -1
  134. package/dist/js/components/Page/Page.js +1 -1
  135. package/dist/js/components/Page/Page.js.map +1 -1
  136. package/dist/js/components/Select/SelectGroup.d.ts +1 -1
  137. package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
  138. package/dist/umd/assets/{output-DVTN61Ys.css → output-B4JpPiDn.css} +15868 -15780
  139. package/dist/umd/react-core.min.js +1 -1
  140. package/helpers/package.json +1 -1
  141. package/layouts/package.json +1 -1
  142. package/next/package.json +1 -1
  143. package/package.json +6 -6
  144. package/src/components/Dropdown/DropdownGroup.tsx +1 -1
  145. package/src/components/LoginPage/LoginForm.tsx +5 -2
  146. package/src/components/LoginPage/__tests__/LoginForm.test.tsx +12 -0
  147. package/src/components/LoginPage/examples/LoginPage.md +1 -0
  148. package/src/components/Page/Page.tsx +4 -1
  149. package/src/components/Page/__tests__/Page.test.tsx +18 -0
  150. package/src/components/Select/SelectGroup.tsx +1 -1
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.2.1-prerelease.1","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.2.1-prerelease.3","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.2.1-prerelease.1","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.2.1-prerelease.3","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.2.1-prerelease.1","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.2.1-prerelease.3","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.2.1-prerelease.2",
3
+ "version": "6.2.1-prerelease.4",
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.2.0",
50
- "@patternfly/react-styles": "^6.2.0",
51
- "@patternfly/react-tokens": "^6.2.0",
49
+ "@patternfly/react-icons": "^6.2.1-prerelease.0",
50
+ "@patternfly/react-styles": "^6.2.1-prerelease.0",
51
+ "@patternfly/react-tokens": "^6.2.1-prerelease.0",
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.2.0-prerelease.28",
57
+ "@patternfly/patternfly": "6.3.0-prerelease.6",
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",
64
64
  "react-dom": "^17 || ^18"
65
65
  },
66
- "gitHead": "25558ac94b9f9f031dbc18cb7424c0f1666097d9"
66
+ "gitHead": "51f35a918102ae3dcaec8ee577cf6f2f578aea16"
67
67
  }
@@ -10,7 +10,7 @@ export interface DropdownGroupProps extends Omit<MenuGroupProps, 'ref'> {
10
10
  /** Classes applied to root element of dropdown group */
11
11
  className?: string;
12
12
  /** Label of the dropdown group */
13
- label?: string;
13
+ label?: React.ReactNode;
14
14
  }
15
15
 
16
16
  export const DropdownGroup: React.FunctionComponent<DropdownGroupProps> = ({
@@ -28,6 +28,8 @@ export interface LoginFormProps extends Omit<React.HTMLProps<HTMLFormElement>, '
28
28
  onChangeUsername?: (event: React.FormEvent<HTMLInputElement>, value: string) => void;
29
29
  /** Flag indicating if the username is valid */
30
30
  isValidUsername?: boolean;
31
+ /** Flag indicating if password is required */
32
+ isPasswordRequired?: boolean;
31
33
  /** Label for the password input field */
32
34
  passwordLabel?: string;
33
35
  /** Value for the password */
@@ -66,6 +68,7 @@ export const LoginForm: React.FunctionComponent<LoginFormProps> = ({
66
68
  usernameValue = '',
67
69
  onChangeUsername = () => undefined as any,
68
70
  isValidUsername = true,
71
+ isPasswordRequired = true,
69
72
  passwordLabel = 'Password',
70
73
  passwordValue = '',
71
74
  onChangePassword = () => undefined as any,
@@ -85,7 +88,7 @@ export const LoginForm: React.FunctionComponent<LoginFormProps> = ({
85
88
 
86
89
  const passwordInput = (
87
90
  <TextInput
88
- isRequired
91
+ isRequired={isPasswordRequired}
89
92
  type={passwordHidden ? 'password' : 'text'}
90
93
  id="pf-login-password-id"
91
94
  name="pf-login-password-id"
@@ -118,7 +121,7 @@ export const LoginForm: React.FunctionComponent<LoginFormProps> = ({
118
121
  onChange={onChangeUsername}
119
122
  />
120
123
  </FormGroup>
121
- <FormGroup label={passwordLabel} isRequired fieldId="pf-login-password-id">
124
+ <FormGroup label={passwordLabel} isRequired={isPasswordRequired} fieldId="pf-login-password-id">
122
125
  {isShowPasswordEnabled && (
123
126
  <InputGroup>
124
127
  <InputGroupItem isFill>{passwordInput}</InputGroupItem>
@@ -48,4 +48,16 @@ describe('LoginForm', () => {
48
48
  const { asFragment } = render(<LoginForm isShowPasswordEnabled />);
49
49
  expect(asFragment()).toMatchSnapshot();
50
50
  });
51
+
52
+ test('Renders LoginForm with password field required by default', () => {
53
+ render(<LoginForm />);
54
+ const passwordField = screen.getByLabelText(/password/i);
55
+ expect(passwordField).toBeRequired();
56
+ });
57
+
58
+ test('Renders LoginForm with password field not required when isPasswordRequired set to false', () => {
59
+ render(<LoginForm isPasswordRequired={false} />);
60
+ const passwordField = screen.getByLabelText(/password/i);
61
+ expect(passwordField).not.toBeRequired();
62
+ });
51
63
  });
@@ -31,6 +31,7 @@ import GitlabIcon from '@patternfly/react-icons/dist/esm/icons/gitlab-icon';
31
31
 
32
32
  ### Basic
33
33
 
34
+ By default, a login page requires users to enter both a username and a password into their respective fields. The username must always be a required field, but you can make the password optional by passing the `isPasswordRequired` property to the `<LoginForm>`.
34
35
  ```ts file='./LoginPageBasic.tsx' isFullscreen
35
36
 
36
37
  ```
@@ -22,7 +22,9 @@ export interface PageProps extends React.HTMLProps<HTMLDivElement> {
22
22
  className?: string;
23
23
  /** Masthead component (e.g. <Masthead />) */
24
24
  masthead?: React.ReactNode;
25
- /** Sidebar component for a side nav (e.g. <PageSidebar />) */
25
+ /** Sidebar component for a side nav, recommended to be a PageSidebar. If set to null, the page grid layout
26
+ * will render without a sidebar.
27
+ */
26
28
  sidebar?: React.ReactNode;
27
29
  /** Notification drawer component for an optional notification drawer (e.g. <NotificationDrawer />) */
28
30
  notificationDrawer?: React.ReactNode;
@@ -336,6 +338,7 @@ class Page extends Component<PageProps, PageState> {
336
338
  width !== null && height !== null && 'pf-m-resize-observer',
337
339
  width !== null && `pf-m-breakpoint-${getBreakpoint(width)}`,
338
340
  height !== null && `pf-m-height-breakpoint-${getVerticalBreakpoint(height)}`,
341
+ sidebar === null && styles.modifiers.noSidebar,
339
342
  className
340
343
  )}
341
344
  >
@@ -353,6 +353,24 @@ describe('Page', () => {
353
353
  expect(asFragment()).toMatchSnapshot();
354
354
  });
355
355
 
356
+ test(`Does not render with class ${styles.modifiers.noSidebar} by default`, () => {
357
+ render(<Page data-testid="page"></Page>);
358
+
359
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.noSidebar);
360
+ });
361
+
362
+ test(`Does not render with class ${styles.modifiers.noSidebar} when sidebar prop is passed with valid content`, () => {
363
+ render(<Page data-testid="page" sidebar={<div>sidebar content</div>}></Page>);
364
+
365
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.noSidebar);
366
+ });
367
+
368
+ test(`Renders with class ${styles.modifiers.noSidebar} when sidebar is set to null`, () => {
369
+ render(<Page data-testid="page" sidebar={null}></Page>);
370
+
371
+ expect(screen.getByTestId('page')).toHaveClass(styles.modifiers.noSidebar);
372
+ });
373
+
356
374
  test(`Does not render with ${styles.modifiers.fill} or ${styles.modifiers.noFill} if isContentFilled is not passed`, () => {
357
375
  render(<Page {...props} role="main"></Page>);
358
376
 
@@ -10,7 +10,7 @@ export interface SelectGroupProps extends Omit<MenuGroupProps, 'ref'> {
10
10
  /** Classes applied to root element of select group */
11
11
  className?: string;
12
12
  /** Label of the select group */
13
- label?: string;
13
+ label?: React.ReactNode;
14
14
  }
15
15
 
16
16
  export const SelectGroup: React.FunctionComponent<SelectGroupProps> = ({