@patternfly/react-core 4.229.0 → 4.231.0

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 (131) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/esm/components/ContextSelector/ContextSelector.d.ts +4 -2
  3. package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  4. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  5. package/dist/esm/components/ContextSelector/ContextSelectorToggle.d.ts +4 -2
  6. package/dist/esm/components/ContextSelector/ContextSelectorToggle.d.ts.map +1 -1
  7. package/dist/esm/components/ContextSelector/ContextSelectorToggle.js.map +1 -1
  8. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +8 -0
  9. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  10. package/dist/esm/components/MenuToggle/MenuToggle.js +12 -7
  11. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  12. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts +19 -0
  13. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts.map +1 -0
  14. package/dist/esm/components/MenuToggle/MenuToggleAction.js +17 -0
  15. package/dist/esm/components/MenuToggle/MenuToggleAction.js.map +1 -0
  16. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +36 -0
  17. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -0
  18. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js +43 -0
  19. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js.map +1 -0
  20. package/dist/esm/components/MenuToggle/index.d.ts +2 -0
  21. package/dist/esm/components/MenuToggle/index.d.ts.map +1 -1
  22. package/dist/esm/components/MenuToggle/index.js +2 -0
  23. package/dist/esm/components/MenuToggle/index.js.map +1 -1
  24. package/dist/esm/components/Page/Page.d.ts +13 -0
  25. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  26. package/dist/esm/components/Page/Page.js +18 -19
  27. package/dist/esm/components/Page/Page.js.map +1 -1
  28. package/dist/esm/components/Page/PageBreadcrumb.d.ts +11 -2
  29. package/dist/esm/components/Page/PageBreadcrumb.d.ts.map +1 -1
  30. package/dist/esm/components/Page/PageBreadcrumb.js +5 -2
  31. package/dist/esm/components/Page/PageBreadcrumb.js.map +1 -1
  32. package/dist/esm/components/Page/PageGroup.d.ts +11 -2
  33. package/dist/esm/components/Page/PageGroup.d.ts.map +1 -1
  34. package/dist/esm/components/Page/PageGroup.js +5 -2
  35. package/dist/esm/components/Page/PageGroup.js.map +1 -1
  36. package/dist/esm/components/Page/PageNavigation.d.ts +11 -2
  37. package/dist/esm/components/Page/PageNavigation.d.ts.map +1 -1
  38. package/dist/esm/components/Page/PageNavigation.js +5 -2
  39. package/dist/esm/components/Page/PageNavigation.js.map +1 -1
  40. package/dist/esm/components/Page/PageSection.d.ts +10 -1
  41. package/dist/esm/components/Page/PageSection.d.ts.map +1 -1
  42. package/dist/esm/components/Page/PageSection.js +4 -2
  43. package/dist/esm/components/Page/PageSection.js.map +1 -1
  44. package/dist/esm/helpers/constants.d.ts +14 -0
  45. package/dist/esm/helpers/constants.d.ts.map +1 -1
  46. package/dist/esm/helpers/constants.js +24 -0
  47. package/dist/esm/helpers/constants.js.map +1 -1
  48. package/dist/esm/helpers/util.d.ts +8 -1
  49. package/dist/esm/helpers/util.d.ts.map +1 -1
  50. package/dist/esm/helpers/util.js +36 -9
  51. package/dist/esm/helpers/util.js.map +1 -1
  52. package/dist/js/components/ContextSelector/ContextSelector.d.ts +4 -2
  53. package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  54. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  55. package/dist/js/components/ContextSelector/ContextSelectorToggle.d.ts +4 -2
  56. package/dist/js/components/ContextSelector/ContextSelectorToggle.d.ts.map +1 -1
  57. package/dist/js/components/ContextSelector/ContextSelectorToggle.js.map +1 -1
  58. package/dist/js/components/MenuToggle/MenuToggle.d.ts +8 -0
  59. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  60. package/dist/js/components/MenuToggle/MenuToggle.js +12 -7
  61. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  62. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts +19 -0
  63. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts.map +1 -0
  64. package/dist/js/components/MenuToggle/MenuToggleAction.js +21 -0
  65. package/dist/js/components/MenuToggle/MenuToggleAction.js.map +1 -0
  66. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +36 -0
  67. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -0
  68. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js +47 -0
  69. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js.map +1 -0
  70. package/dist/js/components/MenuToggle/index.d.ts +2 -0
  71. package/dist/js/components/MenuToggle/index.d.ts.map +1 -1
  72. package/dist/js/components/MenuToggle/index.js +2 -0
  73. package/dist/js/components/MenuToggle/index.js.map +1 -1
  74. package/dist/js/components/Page/Page.d.ts +13 -0
  75. package/dist/js/components/Page/Page.d.ts.map +1 -1
  76. package/dist/js/components/Page/Page.js +17 -18
  77. package/dist/js/components/Page/Page.js.map +1 -1
  78. package/dist/js/components/Page/PageBreadcrumb.d.ts +11 -2
  79. package/dist/js/components/Page/PageBreadcrumb.d.ts.map +1 -1
  80. package/dist/js/components/Page/PageBreadcrumb.js +5 -2
  81. package/dist/js/components/Page/PageBreadcrumb.js.map +1 -1
  82. package/dist/js/components/Page/PageGroup.d.ts +11 -2
  83. package/dist/js/components/Page/PageGroup.d.ts.map +1 -1
  84. package/dist/js/components/Page/PageGroup.js +5 -2
  85. package/dist/js/components/Page/PageGroup.js.map +1 -1
  86. package/dist/js/components/Page/PageNavigation.d.ts +11 -2
  87. package/dist/js/components/Page/PageNavigation.d.ts.map +1 -1
  88. package/dist/js/components/Page/PageNavigation.js +5 -2
  89. package/dist/js/components/Page/PageNavigation.js.map +1 -1
  90. package/dist/js/components/Page/PageSection.d.ts +10 -1
  91. package/dist/js/components/Page/PageSection.d.ts.map +1 -1
  92. package/dist/js/components/Page/PageSection.js +4 -2
  93. package/dist/js/components/Page/PageSection.js.map +1 -1
  94. package/dist/js/helpers/constants.d.ts +14 -0
  95. package/dist/js/helpers/constants.d.ts.map +1 -1
  96. package/dist/js/helpers/constants.js +26 -1
  97. package/dist/js/helpers/constants.js.map +1 -1
  98. package/dist/js/helpers/util.d.ts +8 -1
  99. package/dist/js/helpers/util.d.ts.map +1 -1
  100. package/dist/js/helpers/util.js +37 -9
  101. package/dist/js/helpers/util.js.map +1 -1
  102. package/dist/umd/react-core.css +60 -10
  103. package/dist/umd/react-core.js +220 -72
  104. package/dist/umd/react-core.min.css +124 -74
  105. package/dist/umd/react-core.min.js +6 -5
  106. package/package.json +6 -6
  107. package/src/components/ContextSelector/ContextSelector.tsx +4 -2
  108. package/src/components/ContextSelector/ContextSelectorToggle.tsx +4 -2
  109. package/src/components/MenuToggle/MenuToggle.tsx +53 -27
  110. package/src/components/MenuToggle/MenuToggleAction.tsx +42 -0
  111. package/src/components/MenuToggle/MenuToggleCheckbox.tsx +104 -0
  112. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +1 -1
  113. package/src/components/MenuToggle/examples/MenuToggle.md +35 -2
  114. package/src/components/MenuToggle/examples/MenuToggleSplitButtonAction.tsx +51 -0
  115. package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionPrimary.tsx +58 -0
  116. package/src/components/MenuToggle/examples/MenuToggleSplitButtonActionSecondary.tsx +58 -0
  117. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckbox.tsx +40 -0
  118. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxPrimary.tsx +55 -0
  119. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxSecondary.tsx +55 -0
  120. package/src/components/MenuToggle/examples/MenuToggleSplitButtonCheckboxWithText.tsx +52 -0
  121. package/src/components/MenuToggle/index.ts +2 -0
  122. package/src/components/Page/Page.tsx +58 -21
  123. package/src/components/Page/PageBreadcrumb.tsx +37 -20
  124. package/src/components/Page/PageGroup.tsx +35 -19
  125. package/src/components/Page/PageNavigation.tsx +37 -20
  126. package/src/components/Page/PageSection.tsx +41 -25
  127. package/src/components/Page/__tests__/Page.test.tsx +126 -2
  128. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +683 -14
  129. package/src/demos/Page/Page.md +356 -3
  130. package/src/helpers/constants.ts +28 -0
  131. package/src/helpers/util.ts +44 -9
@@ -101,6 +101,76 @@
101
101
  "backdropOpen": "pf-c-backdrop__open"
102
102
  };
103
103
 
104
+ const global_breakpoint_sm = {
105
+ "name": "--pf-global--breakpoint--sm",
106
+ "value": "576px",
107
+ "var": "var(--pf-global--breakpoint--sm)"
108
+ };
109
+ var globalBreakpointSm = global_breakpoint_sm;
110
+
111
+ const global_breakpoint_md = {
112
+ "name": "--pf-global--breakpoint--md",
113
+ "value": "768px",
114
+ "var": "var(--pf-global--breakpoint--md)"
115
+ };
116
+ var globalBreakpointMd = global_breakpoint_md;
117
+
118
+ const global_breakpoint_lg = {
119
+ "name": "--pf-global--breakpoint--lg",
120
+ "value": "992px",
121
+ "var": "var(--pf-global--breakpoint--lg)"
122
+ };
123
+ var globalBreakpointLg = global_breakpoint_lg;
124
+
125
+ const global_breakpoint_xl = {
126
+ "name": "--pf-global--breakpoint--xl",
127
+ "value": "1200px",
128
+ "var": "var(--pf-global--breakpoint--xl)"
129
+ };
130
+ var globalBreakpointXl = global_breakpoint_xl;
131
+
132
+ const global_breakpoint_2xl = {
133
+ "name": "--pf-global--breakpoint--2xl",
134
+ "value": "1450px",
135
+ "var": "var(--pf-global--breakpoint--2xl)"
136
+ };
137
+ var globalBreakpoint2xl = global_breakpoint_2xl;
138
+
139
+ const global_height_breakpoint_sm = {
140
+ "name": "--pf-global--height-breakpoint--sm",
141
+ "value": "0",
142
+ "var": "var(--pf-global--height-breakpoint--sm)"
143
+ };
144
+ var globalHeightBreakpointSm = global_height_breakpoint_sm;
145
+
146
+ const global_height_breakpoint_md = {
147
+ "name": "--pf-global--height-breakpoint--md",
148
+ "value": "40rem",
149
+ "var": "var(--pf-global--height-breakpoint--md)"
150
+ };
151
+ var globalHeightBreakpointMd = global_height_breakpoint_md;
152
+
153
+ const global_height_breakpoint_lg = {
154
+ "name": "--pf-global--height-breakpoint--lg",
155
+ "value": "48rem",
156
+ "var": "var(--pf-global--height-breakpoint--lg)"
157
+ };
158
+ var globalHeightBreakpointLg = global_height_breakpoint_lg;
159
+
160
+ const global_height_breakpoint_xl = {
161
+ "name": "--pf-global--height-breakpoint--xl",
162
+ "value": "60rem",
163
+ "var": "var(--pf-global--height-breakpoint--xl)"
164
+ };
165
+ var globalHeightBreakpointXl = global_height_breakpoint_xl;
166
+
167
+ const global_height_breakpoint_2xl = {
168
+ "name": "--pf-global--height-breakpoint--2xl",
169
+ "value": "80rem",
170
+ "var": "var(--pf-global--height-breakpoint--2xl)"
171
+ };
172
+ var globalHeightBreakpoint2xl = global_height_breakpoint_2xl;
173
+
104
174
  const KEY_CODES = { ARROW_UP: 38, ARROW_DOWN: 40, ESCAPE_KEY: 27, TAB: 9, ENTER: 13, SPACE: 32 };
105
175
  const SIDE = { RIGHT: 'right', LEFT: 'left', BOTH: 'both', NONE: 'none' };
106
176
  const KEYHANDLER_DIRECTION = { UP: 'up', DOWN: 'down', RIGHT: 'right', LEFT: 'left' };
@@ -121,6 +191,20 @@
121
191
  ArrowLeft: 'ArrowLeft',
122
192
  ArrowRight: 'ArrowRight'
123
193
  };
194
+ const globalWidthBreakpoints = {
195
+ sm: parseInt(globalBreakpointSm.value),
196
+ md: parseInt(globalBreakpointMd.value),
197
+ lg: parseInt(globalBreakpointLg.value),
198
+ xl: parseInt(globalBreakpointXl.value),
199
+ '2xl': parseInt(globalBreakpoint2xl.value)
200
+ };
201
+ const globalHeightBreakpoints = {
202
+ sm: parseInt(globalHeightBreakpointSm.value),
203
+ md: parseInt(globalHeightBreakpointMd.value),
204
+ lg: parseInt(globalHeightBreakpointLg.value),
205
+ xl: parseInt(globalHeightBreakpointXl.value),
206
+ '2xl': parseInt(globalHeightBreakpoint2xl.value)
207
+ };
124
208
 
125
209
  /*!
126
210
  * tabbable 5.3.3
@@ -1790,11 +1874,11 @@
1790
1874
  * @param {object} mods The modifiers object
1791
1875
  * @param {any} styles The appropriate styles object for the component
1792
1876
  */
1793
- const formatBreakpointMods = (mods, styles, stylePrefix = '', breakpoint) => {
1877
+ const formatBreakpointMods = (mods, styles, stylePrefix = '', breakpoint, vertical) => {
1794
1878
  if (!mods) {
1795
1879
  return '';
1796
1880
  }
1797
- if (breakpoint) {
1881
+ if (breakpoint && !vertical) {
1798
1882
  if (breakpoint in mods) {
1799
1883
  return styles.modifiers[toCamel(`${stylePrefix}${mods[breakpoint]}`)];
1800
1884
  }
@@ -1809,13 +1893,40 @@
1809
1893
  return '';
1810
1894
  }
1811
1895
  return Object.entries(mods || {})
1812
- .map(([breakpoint, mod]) => `${stylePrefix}${mod}${breakpoint !== 'default' ? `-on-${breakpoint}` : ''}`)
1896
+ .map(([breakpoint, mod]) => `${stylePrefix}${mod}${breakpoint !== 'default' ? `-on-${breakpoint}` : ''}${vertical && breakpoint !== 'default' ? '-height' : ''}`)
1813
1897
  .map(toCamel)
1814
1898
  .map(mod => mod.replace(/-?(\dxl)/gi, (_res, group) => `_${group}`))
1815
1899
  .map(modifierKey => styles.modifiers[modifierKey])
1816
1900
  .filter(Boolean)
1817
1901
  .join(' ');
1818
1902
  };
1903
+ /**
1904
+ * Return the breakpoint for the given height
1905
+ *
1906
+ * @param {number | null} height The height to check
1907
+ * @returns {'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'} The breakpoint
1908
+ */
1909
+ const getVerticalBreakpoint = (height) => {
1910
+ if (height === null) {
1911
+ return null;
1912
+ }
1913
+ if (height >= globalHeightBreakpoints['2xl']) {
1914
+ return '2xl';
1915
+ }
1916
+ if (height >= globalHeightBreakpoints.xl) {
1917
+ return 'xl';
1918
+ }
1919
+ if (height >= globalHeightBreakpoints.lg) {
1920
+ return 'lg';
1921
+ }
1922
+ if (height >= globalHeightBreakpoints.md) {
1923
+ return 'md';
1924
+ }
1925
+ if (height >= globalHeightBreakpoints.sm) {
1926
+ return 'sm';
1927
+ }
1928
+ return 'default';
1929
+ };
1819
1930
  /**
1820
1931
  * Return the breakpoint for the given width
1821
1932
  *
@@ -1826,19 +1937,19 @@
1826
1937
  if (width === null) {
1827
1938
  return null;
1828
1939
  }
1829
- if (width >= 1450) {
1940
+ if (width >= globalWidthBreakpoints['2xl']) {
1830
1941
  return '2xl';
1831
1942
  }
1832
- if (width >= 1200) {
1943
+ if (width >= globalWidthBreakpoints.xl) {
1833
1944
  return 'xl';
1834
1945
  }
1835
- if (width >= 992) {
1946
+ if (width >= globalWidthBreakpoints.lg) {
1836
1947
  return 'lg';
1837
1948
  }
1838
- if (width >= 768) {
1949
+ if (width >= globalWidthBreakpoints.md) {
1839
1950
  return 'md';
1840
1951
  }
1841
- if (width >= 576) {
1952
+ if (width >= globalWidthBreakpoints.sm) {
1842
1953
  return 'sm';
1843
1954
  }
1844
1955
  return 'default';
@@ -15159,19 +15270,6 @@
15159
15270
  "themeDark": "pf-theme-dark"
15160
15271
  };
15161
15272
 
15162
- const global_breakpoint_xl = {
15163
- "name": "--pf-global--breakpoint--xl",
15164
- "value": "1200px",
15165
- "var": "var(--pf-global--breakpoint--xl)"
15166
- };
15167
- var globalBreakpointXl = global_breakpoint_xl;
15168
-
15169
- const PageGroup = (_a) => {
15170
- var { className = '', children, sticky, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "sticky", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
15171
- return (React__namespace.createElement("div", Object.assign({}, props, { className: css(styles$y.pageMainGroup, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 })), children));
15172
- };
15173
- PageGroup.displayName = 'PageGroup';
15174
-
15175
15273
  exports.PageLayouts = void 0;
15176
15274
  (function (PageLayouts) {
15177
15275
  PageLayouts["vertical"] = "vertical";
@@ -15182,7 +15280,9 @@
15182
15280
  isNavOpen: false,
15183
15281
  onNavToggle: () => null,
15184
15282
  width: null,
15185
- getBreakpoint
15283
+ height: null,
15284
+ getBreakpoint,
15285
+ getVerticalBreakpoint
15186
15286
  };
15187
15287
  const PageContext = React__namespace.createContext(pageContextDefaults);
15188
15288
  const PageContextProvider = PageContext.Provider;
@@ -15213,7 +15313,8 @@
15213
15313
  if (mobileView !== this.state.mobileView) {
15214
15314
  this.setState({ mobileView });
15215
15315
  }
15216
- this.pageRef.current && this.setState({ width: this.pageRef.current.clientWidth });
15316
+ this.pageRef.current &&
15317
+ this.setState({ width: this.pageRef.current.clientWidth, height: this.pageRef.current.clientHeight });
15217
15318
  };
15218
15319
  this.handleResize = debounce$1(this.resize, 250);
15219
15320
  this.handleMainClick = () => {
@@ -15237,7 +15338,8 @@
15237
15338
  desktopIsNavOpen: managedSidebarOpen,
15238
15339
  mobileIsNavOpen: false,
15239
15340
  mobileView: false,
15240
- width: null
15341
+ width: null,
15342
+ height: null
15241
15343
  };
15242
15344
  }
15243
15345
  componentDidMount() {
@@ -15269,14 +15371,16 @@
15269
15371
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
15270
15372
  defaultManagedSidebarIsOpen,
15271
15373
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
15272
- onPageResize, getBreakpoint, mainAriaLabel, mainTabIndex, tertiaryNav, isTertiaryNavGrouped, isBreadcrumbGrouped, additionalGroupedContent, groupProps } = _a, rest = __rest$1(_a, ["breadcrumb", "isBreadcrumbWidthLimited", "className", "children", "header", "sidebar", "notificationDrawer", "isNotificationDrawerExpanded", "onNotificationDrawerExpand", "isTertiaryNavWidthLimited", "skipToContent", "role", "mainContainerId", "isManagedSidebar", "defaultManagedSidebarIsOpen", "onPageResize", "getBreakpoint", "mainAriaLabel", "mainTabIndex", "tertiaryNav", "isTertiaryNavGrouped", "isBreadcrumbGrouped", "additionalGroupedContent", "groupProps"]);
15273
- const { mobileView, mobileIsNavOpen, desktopIsNavOpen, width } = this.state;
15374
+ onPageResize, getBreakpoint, getVerticalBreakpoint, mainAriaLabel, mainTabIndex, tertiaryNav, isTertiaryNavGrouped, isBreadcrumbGrouped, additionalGroupedContent, groupProps, breadcrumbProps } = _a, rest = __rest$1(_a, ["breadcrumb", "isBreadcrumbWidthLimited", "className", "children", "header", "sidebar", "notificationDrawer", "isNotificationDrawerExpanded", "onNotificationDrawerExpand", "isTertiaryNavWidthLimited", "skipToContent", "role", "mainContainerId", "isManagedSidebar", "defaultManagedSidebarIsOpen", "onPageResize", "getBreakpoint", "getVerticalBreakpoint", "mainAriaLabel", "mainTabIndex", "tertiaryNav", "isTertiaryNavGrouped", "isBreadcrumbGrouped", "additionalGroupedContent", "groupProps", "breadcrumbProps"]);
15375
+ const { mobileView, mobileIsNavOpen, desktopIsNavOpen, width, height } = this.state;
15274
15376
  const context = {
15275
15377
  isManagedSidebar,
15276
15378
  onNavToggle: mobileView ? this.onNavToggleMobile : this.onNavToggleDesktop,
15277
15379
  isNavOpen: mobileView ? mobileIsNavOpen : desktopIsNavOpen,
15278
15380
  width,
15279
- getBreakpoint
15381
+ height,
15382
+ getBreakpoint,
15383
+ getVerticalBreakpoint
15280
15384
  };
15281
15385
  let nav = null;
15282
15386
  if (tertiaryNav && isTertiaryNavWidthLimited) {
@@ -15286,16 +15390,9 @@
15286
15390
  else if (tertiaryNav) {
15287
15391
  nav = React__namespace.createElement("div", { className: css(styles$y.pageMainNav) }, tertiaryNav);
15288
15392
  }
15289
- let crumb = null;
15290
- if (breadcrumb && isBreadcrumbWidthLimited) {
15291
- crumb = (React__namespace.createElement("section", { className: css(styles$y.pageMainBreadcrumb, styles$y.modifiers.limitWidth) },
15292
- React__namespace.createElement("div", { className: css(styles$y.pageMainBody) }, breadcrumb)));
15293
- }
15294
- else if (breadcrumb) {
15295
- crumb = React__namespace.createElement("section", { className: css(styles$y.pageMainBreadcrumb) }, breadcrumb);
15296
- }
15393
+ const crumb = breadcrumb ? (React__namespace.createElement("section", { className: css(styles$y.pageMainBreadcrumb, isBreadcrumbWidthLimited && styles$y.modifiers.limitWidth, formatBreakpointMods(breadcrumbProps === null || breadcrumbProps === void 0 ? void 0 : breadcrumbProps.stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true)) }, isBreadcrumbWidthLimited ? React__namespace.createElement("div", { className: css(styles$y.pageMainBody) }, breadcrumb) : breadcrumb)) : null;
15297
15394
  const isGrouped = isTertiaryNavGrouped || isBreadcrumbGrouped || additionalGroupedContent;
15298
- const group = isGrouped ? (React__namespace.createElement(PageGroup, Object.assign({}, groupProps),
15395
+ const group = isGrouped ? (React__namespace.createElement("div", Object.assign({ className: css(styles$y.pageMainGroup, formatBreakpointMods(groupProps === null || groupProps === void 0 ? void 0 : groupProps.stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true)) }, groupProps),
15299
15396
  isTertiaryNavGrouped && nav,
15300
15397
  isBreadcrumbGrouped && crumb,
15301
15398
  additionalGroupedContent)) : null;
@@ -15306,7 +15403,7 @@
15306
15403
  children));
15307
15404
  const panelContent = React__namespace.createElement(DrawerPanelContent, null, notificationDrawer);
15308
15405
  return (React__namespace.createElement(PageContextProvider, { value: context },
15309
- React__namespace.createElement("div", Object.assign({ ref: this.pageRef }, rest, { className: css(styles$y.page, width !== null && 'pf-m-resize-observer', width !== null && `pf-m-breakpoint-${getBreakpoint(width)}`, className) }),
15406
+ React__namespace.createElement("div", Object.assign({ ref: this.pageRef }, rest, { className: css(styles$y.page, width !== null && height !== null && 'pf-m-resize-observer', width !== null && `pf-m-breakpoint-${getBreakpoint(width)}`, height !== null && `pf-m-height-breakpoint-${getVerticalBreakpoint(height)}`, className) }),
15310
15407
  skipToContent,
15311
15408
  header,
15312
15409
  sidebar,
@@ -15326,7 +15423,8 @@
15326
15423
  mainTabIndex: -1,
15327
15424
  isNotificationDrawerExpanded: false,
15328
15425
  onNotificationDrawerExpand: () => null,
15329
- getBreakpoint
15426
+ getBreakpoint,
15427
+ getVerticalBreakpoint
15330
15428
  };
15331
15429
 
15332
15430
  const Masthead = (_a) => {
@@ -15941,7 +16039,7 @@
15941
16039
  this.displayName = 'MenuToggleBase';
15942
16040
  }
15943
16041
  render() {
15944
- const _a = this.props, { children, className, icon, badge, isExpanded, isDisabled, isFullHeight, isFullWidth, variant, innerRef, onClick, 'aria-label': ariaLabel } = _a, otherProps = __rest$1(_a, ["children", "className", "icon", "badge", "isExpanded", "isDisabled", "isFullHeight", "isFullWidth", "variant", "innerRef", "onClick", 'aria-label']);
16042
+ const _a = this.props, { children, className, icon, badge, isExpanded, isDisabled, isFullHeight, isFullWidth, splitButtonOptions, variant, innerRef, onClick, 'aria-label': ariaLabel } = _a, otherProps = __rest$1(_a, ["children", "className", "icon", "badge", "isExpanded", "isDisabled", "isFullHeight", "isFullWidth", "splitButtonOptions", "variant", "innerRef", "onClick", 'aria-label']);
15945
16043
  const isPlain = variant === 'plain';
15946
16044
  const isPlainText = variant === 'plainText';
15947
16045
  const isTypeahead = variant === 'typeahead';
@@ -15950,14 +16048,20 @@
15950
16048
  React__namespace.createElement(CaretDownIcon$1, { "aria-hidden": true }))));
15951
16049
  const content = (React__namespace.createElement(React__namespace.Fragment, null,
15952
16050
  icon && React__namespace.createElement("span", { className: css(styles$x.menuToggleIcon) }, icon),
15953
- isTypeahead ? children : React__namespace.createElement("span", { className: "pf-c-menu-toggle__text" }, children),
16051
+ isTypeahead ? children : React__namespace.createElement("span", { className: css(styles$x.menuToggleText) }, children),
15954
16052
  badge && React__namespace.createElement("span", { className: css(styles$x.menuToggleCount) }, badge),
15955
16053
  isTypeahead ? (React__namespace.createElement("button", { type: "button", className: css(styles$x.menuToggleButton), "aria-expanded": isExpanded, onClick: onClick, "aria-label": "Menu toggle" }, toggleControls)) : (toggleControls)));
15956
- const componentProps = Object.assign(Object.assign({ className: css(styles$x.menuToggle, isExpanded && styles$x.modifiers.expanded, variant === 'primary' && styles$x.modifiers.primary, (isPlain || isPlainText) && styles$x.modifiers.plain, isPlainText && styles$x.modifiers.text, isFullHeight && styles$x.modifiers.fullHeight, isTypeahead && styles$x.modifiers.typeahead, isFullWidth && styles$x.modifiers.fullWidth, className), children: isPlain ? children : content }, (isDisabled && { disabled: true })), otherProps);
16054
+ const commonStyles = css(styles$x.menuToggle, isExpanded && styles$x.modifiers.expanded, variant === 'primary' && styles$x.modifiers.primary, variant === 'secondary' && styles$x.modifiers.secondary, (isPlain || isPlainText) && styles$x.modifiers.plain, isPlainText && styles$x.modifiers.text, isFullHeight && styles$x.modifiers.fullHeight, isFullWidth && styles$x.modifiers.fullWidth, isDisabled && styles$x.modifiers.disabled, className);
16055
+ const componentProps = Object.assign(Object.assign({ children: isPlain ? children : content }, (isDisabled && { disabled: true })), otherProps);
15957
16056
  if (isTypeahead) {
15958
- return React__namespace.createElement("div", Object.assign({ ref: innerRef }, componentProps));
16057
+ return React__namespace.createElement("div", Object.assign({ ref: innerRef, className: css(commonStyles) }, componentProps));
16058
+ }
16059
+ if (splitButtonOptions) {
16060
+ return (React__namespace.createElement("div", { className: css(commonStyles, styles$x.modifiers.splitButton, (splitButtonOptions === null || splitButtonOptions === void 0 ? void 0 : splitButtonOptions.variant) === 'action' && styles$x.modifiers.action) }, splitButtonOptions === null || splitButtonOptions === void 0 ? void 0 :
16061
+ splitButtonOptions.items,
16062
+ React__namespace.createElement("button", Object.assign({ className: css(styles$x.menuToggleButton), type: "button", "aria-expanded": isExpanded, "aria-label": ariaLabel, disabled: isDisabled }, otherProps), toggleControls)));
15959
16063
  }
15960
- return (React__namespace.createElement("button", Object.assign({ className: css(styles$x.menuToggle, isExpanded && styles$x.modifiers.expanded, variant === 'primary' && styles$x.modifiers.primary, variant === 'secondary' && styles$x.modifiers.secondary, (isPlain || isPlainText) && styles$x.modifiers.plain, isPlainText && styles$x.modifiers.text, isFullHeight && styles$x.modifiers.fullHeight, isFullWidth && styles$x.modifiers.fullWidth, className), ref: innerRef, type: "button", "aria-label": ariaLabel, "aria-expanded": isExpanded, onClick: onClick }, componentProps)));
16064
+ return (React__namespace.createElement("button", Object.assign({ className: css(commonStyles), type: "button", "aria-label": ariaLabel, "aria-expanded": isExpanded, ref: innerRef, disabled: isDisabled, onClick: onClick }, componentProps)));
15961
16065
  }
15962
16066
  }
15963
16067
  MenuToggleBase.defaultProps = {
@@ -15965,12 +16069,62 @@
15965
16069
  isExpanded: false,
15966
16070
  isDisabled: false,
15967
16071
  isFullWidth: false,
15968
- isFullHeight: false,
15969
- variant: 'default'
16072
+ isFullHeight: false
15970
16073
  };
15971
16074
  const MenuToggle = React__namespace.forwardRef((props, ref) => (React__namespace.createElement(MenuToggleBase, Object.assign({ innerRef: ref }, props))));
15972
16075
  MenuToggle.displayName = 'MenuToggle';
15973
16076
 
16077
+ class MenuToggleAction extends React__namespace.Component {
16078
+ render() {
16079
+ const _a = this.props, { id, className, onClick, isDisabled, children } = _a, props = __rest$1(_a, ["id", "className", "onClick", "isDisabled", "children"]);
16080
+ return (React__namespace.createElement("button", Object.assign({ id: id, className: css(styles$x.menuToggleButton, className), onClick: onClick, type: "button", disabled: isDisabled }, props), children));
16081
+ }
16082
+ }
16083
+ MenuToggleAction.displayName = 'MenuToggleAction';
16084
+ MenuToggleAction.defaultProps = {
16085
+ className: '',
16086
+ isDisabled: false,
16087
+ onClick: () => { }
16088
+ };
16089
+
16090
+ class MenuToggleCheckbox extends React__namespace.Component {
16091
+ constructor(props) {
16092
+ super(props);
16093
+ this.handleChange = (event) => {
16094
+ this.props.onChange(event.target.checked, event);
16095
+ };
16096
+ this.calculateChecked = () => {
16097
+ const { isChecked, defaultChecked } = this.props;
16098
+ if (isChecked === null) {
16099
+ // return false here and the indeterminate state will be set to true through the ref
16100
+ return false;
16101
+ }
16102
+ else if (isChecked !== undefined) {
16103
+ return isChecked;
16104
+ }
16105
+ return defaultChecked;
16106
+ };
16107
+ this.state = {
16108
+ ouiaStateId: getDefaultOUIAId(MenuToggleCheckbox.displayName)
16109
+ };
16110
+ }
16111
+ render() {
16112
+ const _a = this.props, { className, isValid, isDisabled, isChecked, children, ouiaId, ouiaSafe,
16113
+ /* eslint-disable @typescript-eslint/no-unused-vars */
16114
+ onChange, defaultChecked, id } = _a, props = __rest$1(_a, ["className", "isValid", "isDisabled", "isChecked", "children", "ouiaId", "ouiaSafe", "onChange", "defaultChecked", "id"]);
16115
+ const text = children && (React__namespace.createElement("span", { className: css(styles$X.checkLabel, className), "aria-hidden": "true", id: id }, children));
16116
+ return (React__namespace.createElement("label", { className: css(styles$X.check, !children && styles$X.modifiers.standalone, className), htmlFor: id },
16117
+ React__namespace.createElement("input", Object.assign({ className: css(styles$X.checkInput) }, (this.calculateChecked() !== undefined && { onChange: this.handleChange }), { name: id, type: "checkbox", ref: elem => elem && (elem.indeterminate = isChecked === null), "aria-invalid": !isValid, disabled: isDisabled }, (defaultChecked !== undefined ? { defaultChecked } : { checked: isChecked }), getOUIAProps(MenuToggleCheckbox.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId, ouiaSafe), props)),
16118
+ text));
16119
+ }
16120
+ }
16121
+ MenuToggleCheckbox.displayName = 'MenuToggleCheckbox';
16122
+ MenuToggleCheckbox.defaultProps = {
16123
+ isValid: true,
16124
+ isDisabled: false,
16125
+ onChange: () => undefined
16126
+ };
16127
+
15974
16128
  Promise.resolve().then(function () { return modalBox; });
15975
16129
  var modalStyles = {
15976
16130
  "button": "pf-c-button",
@@ -17443,27 +17597,6 @@
17443
17597
  isBelowBreakpoint: false
17444
17598
  });
17445
17599
 
17446
- const global_breakpoint_md = {
17447
- "name": "--pf-global--breakpoint--md",
17448
- "value": "768px",
17449
- "var": "var(--pf-global--breakpoint--md)"
17450
- };
17451
- var globalBreakpointMd = global_breakpoint_md;
17452
-
17453
- const global_breakpoint_lg = {
17454
- "name": "--pf-global--breakpoint--lg",
17455
- "value": "992px",
17456
- "var": "var(--pf-global--breakpoint--lg)"
17457
- };
17458
- var globalBreakpointLg = global_breakpoint_lg;
17459
-
17460
- const global_breakpoint_2xl = {
17461
- "name": "--pf-global--breakpoint--2xl",
17462
- "value": "1450px",
17463
- "var": "var(--pf-global--breakpoint--2xl)"
17464
- };
17465
- var globalBreakpoint2xl = global_breakpoint_2xl;
17466
-
17467
17600
  const breakpoints = {
17468
17601
  md: globalBreakpointMd,
17469
17602
  lg: globalBreakpointLg,
@@ -17540,13 +17673,21 @@
17540
17673
  OverflowMenuDropdownItem.displayName = 'OverflowMenuDropdownItem';
17541
17674
 
17542
17675
  const PageBreadcrumb = (_a) => {
17543
- var { className = '', children, isWidthLimited, sticky, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "isWidthLimited", "sticky", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17544
- return (React__namespace.createElement("section", Object.assign({ className: css(styles$y.pageMainBreadcrumb, isWidthLimited && styles$y.modifiers.limitWidth, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 }), props),
17676
+ var { className = '', children, isWidthLimited, sticky, stickyOnBreakpoint, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "isWidthLimited", "sticky", "stickyOnBreakpoint", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17677
+ const { height, getVerticalBreakpoint } = React__namespace.useContext(PageContext);
17678
+ return (React__namespace.createElement("section", Object.assign({ className: css(styles$y.pageMainBreadcrumb, formatBreakpointMods(stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true), isWidthLimited && styles$y.modifiers.limitWidth, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 }), props),
17545
17679
  isWidthLimited && React__namespace.createElement("div", { className: css(styles$y.pageMainBody) }, children),
17546
17680
  !isWidthLimited && children));
17547
17681
  };
17548
17682
  PageBreadcrumb.displayName = 'PageBreadcrumb';
17549
17683
 
17684
+ const PageGroup = (_a) => {
17685
+ var { className = '', children, sticky, stickyOnBreakpoint, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "sticky", "stickyOnBreakpoint", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17686
+ const { height, getVerticalBreakpoint } = React__namespace.useContext(PageContext);
17687
+ return (React__namespace.createElement("div", Object.assign({}, props, { className: css(styles$y.pageMainGroup, formatBreakpointMods(stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true), sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 })), children));
17688
+ };
17689
+ PageGroup.displayName = 'PageGroup';
17690
+
17550
17691
  const BarsIconConfig = {
17551
17692
  name: 'BarsIcon',
17552
17693
  height: 512,
@@ -17612,8 +17753,9 @@
17612
17753
  [exports.PageSectionVariants.darker]: styles$y.modifiers.dark_100
17613
17754
  };
17614
17755
  const PageSection = (_a) => {
17615
- var { className = '', children, variant = 'default', type = 'default', padding, isFilled, isWidthLimited = false, isCenterAligned = false, sticky, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "variant", "type", "padding", "isFilled", "isWidthLimited", "isCenterAligned", "sticky", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17616
- return (React__namespace.createElement("section", Object.assign({}, props, { className: css(variantType[type], formatBreakpointMods(padding, styles$y), variantStyle$3[variant], isFilled === false && styles$y.modifiers.noFill, isFilled === true && styles$y.modifiers.fill, isWidthLimited && styles$y.modifiers.limitWidth, isWidthLimited && isCenterAligned && type !== exports.PageSectionTypes.subNav && styles$y.modifiers.alignCenter, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 })),
17756
+ var { className = '', children, variant = 'default', type = 'default', padding, isFilled, isWidthLimited = false, isCenterAligned = false, sticky, stickyOnBreakpoint, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "variant", "type", "padding", "isFilled", "isWidthLimited", "isCenterAligned", "sticky", "stickyOnBreakpoint", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17757
+ const { height, getVerticalBreakpoint } = React__namespace.useContext(PageContext);
17758
+ return (React__namespace.createElement("section", Object.assign({}, props, { className: css(variantType[type], formatBreakpointMods(padding, styles$y), formatBreakpointMods(stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true), variantStyle$3[variant], isFilled === false && styles$y.modifiers.noFill, isFilled === true && styles$y.modifiers.fill, isWidthLimited && styles$y.modifiers.limitWidth, isWidthLimited && isCenterAligned && type !== exports.PageSectionTypes.subNav && styles$y.modifiers.alignCenter, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 })),
17617
17759
  isWidthLimited && React__namespace.createElement("div", { className: css(styles$y.pageMainBody) }, children),
17618
17760
  !isWidthLimited && children));
17619
17761
  };
@@ -17640,8 +17782,9 @@
17640
17782
  PageHeaderToolsItem.displayName = 'PageHeaderToolsItem';
17641
17783
 
17642
17784
  const PageNavigation = (_a) => {
17643
- var { className = '', children, isWidthLimited, sticky, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "isWidthLimited", "sticky", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17644
- return (React__namespace.createElement("div", Object.assign({ className: css(styles$y.pageMainNav, isWidthLimited && styles$y.modifiers.limitWidth, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 }), props),
17785
+ var { className = '', children, isWidthLimited, sticky, stickyOnBreakpoint, hasShadowTop = false, hasShadowBottom = false, hasOverflowScroll = false } = _a, props = __rest$1(_a, ["className", "children", "isWidthLimited", "sticky", "stickyOnBreakpoint", "hasShadowTop", "hasShadowBottom", "hasOverflowScroll"]);
17786
+ const { height, getVerticalBreakpoint } = React__namespace.useContext(PageContext);
17787
+ return (React__namespace.createElement("div", Object.assign({ className: css(styles$y.pageMainNav, formatBreakpointMods(stickyOnBreakpoint, styles$y, 'sticky-', getVerticalBreakpoint(height), true), isWidthLimited && styles$y.modifiers.limitWidth, sticky === 'top' && styles$y.modifiers.stickyTop, sticky === 'bottom' && styles$y.modifiers.stickyBottom, hasShadowTop && styles$y.modifiers.shadowTop, hasShadowBottom && styles$y.modifiers.shadowBottom, hasOverflowScroll && styles$y.modifiers.overflowScroll, className) }, (hasOverflowScroll && { tabIndex: 0 }), props),
17645
17788
  isWidthLimited && React__namespace.createElement("div", { className: css(styles$y.pageMainBody) }, children),
17646
17789
  !isWidthLimited && children));
17647
17790
  };
@@ -23145,7 +23288,9 @@
23145
23288
  exports.MenuItemAction = MenuItemAction;
23146
23289
  exports.MenuList = MenuList;
23147
23290
  exports.MenuToggle = MenuToggle;
23291
+ exports.MenuToggleAction = MenuToggleAction;
23148
23292
  exports.MenuToggleBase = MenuToggleBase;
23293
+ exports.MenuToggleCheckbox = MenuToggleCheckbox;
23149
23294
  exports.Modal = Modal;
23150
23295
  exports.ModalBox = ModalBox;
23151
23296
  exports.ModalBoxBody = ModalBoxBody;
@@ -23307,7 +23452,10 @@
23307
23452
  exports.getResizeObserver = getResizeObserver;
23308
23453
  exports.getTextWidth = getTextWidth;
23309
23454
  exports.getUniqueId = getUniqueId;
23455
+ exports.getVerticalBreakpoint = getVerticalBreakpoint;
23310
23456
  exports.globalBreakpoints = globalBreakpoints;
23457
+ exports.globalHeightBreakpoints = globalHeightBreakpoints;
23458
+ exports.globalWidthBreakpoints = globalWidthBreakpoints;
23311
23459
  exports.handleArrows = handleArrows;
23312
23460
  exports.innerDimensions = innerDimensions;
23313
23461
  exports.isElementInView = isElementInView;