@patternfly/patternfly-doc-core 1.12.0 → 1.12.1

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 (460) hide show
  1. package/.astro/collections/{examples.schema.json → react-component-docs.schema.json} +4 -3
  2. package/.astro/content-modules.mjs +84 -2
  3. package/.astro/content.d.ts +3 -11
  4. package/cli/cli.ts +35 -16
  5. package/cli/convertToMDX.ts +10 -3
  6. package/cli/createCollectionContent.ts +2 -1
  7. package/dist/cli/cli.js +17 -6
  8. package/dist/cli/convertToMDX.js +8 -3
  9. package/dist/cli/createCollectionContent.js +2 -1
  10. package/dist/docs/_astro/AutoLinkHeader.BijNRLMB.js +1 -0
  11. package/dist/docs/_astro/CSSTable.-Emc9iTg.js +1 -0
  12. package/dist/docs/_astro/DropdownList.DP2npVYh.js +1 -0
  13. package/dist/docs/_astro/Label.CM_es7Cu.js +1 -0
  14. package/dist/docs/_astro/LiveExample.B5R4Dzng.js +263 -0
  15. package/dist/docs/_astro/Navigation.B2RHZcqO.js +1 -0
  16. package/dist/docs/_astro/PageSidebarBody.DgDLnRuY.js +1 -0
  17. package/dist/docs/_astro/PropsTables.D6ZI3FGj.css +1 -0
  18. package/dist/docs/_astro/PropsTables.YkW1puJk.js +1 -0
  19. package/dist/docs/_astro/SearchInput.CQ7aDztp.js +1 -0
  20. package/dist/docs/_astro/SectionGallery.B0I2mi5J.js +1 -0
  21. package/dist/docs/_astro/StackItem.CMxajCCo.js +1 -0
  22. package/dist/docs/_astro/Toolbar.BNjGRsAQ.js +1 -0
  23. package/dist/docs/_astro/ToolbarContent.CAAHjZHW.js +1 -0
  24. package/dist/{_astro/_page_.D1z73Byz.css → docs/_astro/_page_.BG_fQ4i5.css} +1 -1
  25. package/dist/docs/_astro/angle-down-icon.Dqz5ba9D.js +1 -0
  26. package/dist/docs/_astro/c_table__sticky_cell_InsetInlineStart.DGzYmtkF.js +8 -0
  27. package/dist/{_astro/divider.BLVh3KnH.js → docs/_astro/divider.BP4XR7uq.js} +1 -1
  28. package/dist/docs/_astro/index.DGdw5tfb.js +16 -0
  29. package/dist/{_astro/patternfly_charts.Dp3KzAU6.js → docs/_astro/patternfly_charts.CpLYMsW2.js} +23 -30
  30. package/dist/docs/_astro/resizeObserver.BgQpxO8W.js +1 -0
  31. package/dist/{_routes.json → docs/_routes.json} +1 -3
  32. package/dist/{_worker.js → docs/_worker.js}/_@astrojs-ssr-adapter.mjs +1 -1
  33. package/dist/{_worker.js → docs/_worker.js}/_astro-internal_middleware.mjs +3 -3
  34. package/dist/docs/_worker.js/chunks/Backdrop_ByJvccKQ.mjs +1 -0
  35. package/dist/docs/_worker.js/chunks/Backdrop_D12wBLrB.mjs +1 -0
  36. package/dist/docs/_worker.js/chunks/BackgroundImage_7zaRIuh-.mjs +1 -0
  37. package/dist/docs/_worker.js/chunks/BackgroundImage_BFUrU51J.mjs +1 -0
  38. package/dist/docs/_worker.js/chunks/Badge_DloPmeMn.mjs +1 -0
  39. package/dist/docs/_worker.js/chunks/Badge_DxGDbEGv.mjs +1 -0
  40. package/dist/docs/_worker.js/chunks/Banner_4Te4yy7I.mjs +1 -0
  41. package/dist/docs/_worker.js/chunks/Banner_FbFCGml0.mjs +1 -0
  42. package/dist/docs/_worker.js/chunks/Brand_Cjeb58fX.mjs +1 -0
  43. package/dist/docs/_worker.js/chunks/Brand_DZEvbkMH.mjs +1 -0
  44. package/dist/docs/_worker.js/chunks/Breadcrumb_DkNDUMw0.mjs +1 -0
  45. package/dist/docs/_worker.js/chunks/Breadcrumb_bVSwIfTk.mjs +1 -0
  46. package/dist/docs/_worker.js/chunks/Button_BqggYTWh.mjs +1 -0
  47. package/dist/docs/_worker.js/chunks/Button_DbZb-z5h.mjs +1 -0
  48. package/dist/docs/_worker.js/chunks/CalendarMonth_BdoIQD1o.mjs +1 -0
  49. package/dist/docs/_worker.js/chunks/CalendarMonth_BqZc2rYW.mjs +1 -0
  50. package/dist/docs/_worker.js/chunks/Card_BW6WmwTW.mjs +1 -0
  51. package/dist/docs/_worker.js/chunks/Card_CEDol7Xx.mjs +1 -0
  52. package/dist/docs/_worker.js/chunks/Checkbox_BqVpiIvF.mjs +1 -0
  53. package/dist/docs/_worker.js/chunks/Checkbox_DSYhfv7p.mjs +1 -0
  54. package/dist/docs/_worker.js/chunks/Chip_BciXepRF.mjs +1 -0
  55. package/dist/docs/_worker.js/chunks/Chip_C23BxFTk.mjs +1 -0
  56. package/dist/docs/_worker.js/chunks/ClipboardCopy_BjySfoK1.mjs +1 -0
  57. package/dist/docs/_worker.js/chunks/ClipboardCopy_CvrD2b3T.mjs +1 -0
  58. package/dist/docs/_worker.js/chunks/CodeBlock_CuH1PrfL.mjs +1 -0
  59. package/dist/docs/_worker.js/chunks/CodeBlock_DK5AauFn.mjs +1 -0
  60. package/dist/docs/_worker.js/chunks/Content_BfZIFUr8.mjs +1 -0
  61. package/dist/docs/_worker.js/chunks/Content_lBUC3eEp.mjs +1 -0
  62. package/dist/docs/_worker.js/chunks/DataList_CSJAkMMZ.mjs +1 -0
  63. package/dist/docs/_worker.js/chunks/DataList_CaFvg0uz.mjs +1 -0
  64. package/dist/docs/_worker.js/chunks/DatePicker_Cw2abdEU.mjs +1 -0
  65. package/dist/docs/_worker.js/chunks/DatePicker_bYwsFHXL.mjs +1 -0
  66. package/dist/docs/_worker.js/chunks/DescriptionList_BTTyevMb.mjs +1 -0
  67. package/dist/docs/_worker.js/chunks/DescriptionList_Dr51d-67.mjs +1 -0
  68. package/dist/docs/_worker.js/chunks/Divider_BgOt1--F.mjs +1 -0
  69. package/dist/docs/_worker.js/chunks/Divider_Bh7n4QTo.mjs +1 -0
  70. package/dist/docs/_worker.js/chunks/DragDrop_BF-aF6Z8.mjs +1 -0
  71. package/dist/docs/_worker.js/chunks/DragDrop_DId590rN.mjs +1 -0
  72. package/dist/docs/_worker.js/chunks/Drawer_BVywTMVo.mjs +1 -0
  73. package/dist/docs/_worker.js/chunks/Drawer_RrCnySEa.mjs +1 -0
  74. package/dist/docs/_worker.js/chunks/Dropdown_BjtqviYW.mjs +1 -0
  75. package/dist/docs/_worker.js/chunks/Dropdown_GiUvjFPw.mjs +1 -0
  76. package/dist/docs/_worker.js/chunks/DualListSelector_8uLukfP0.mjs +1 -0
  77. package/dist/docs/_worker.js/chunks/DualListSelector_Bgj1IWqe.mjs +1 -0
  78. package/dist/docs/_worker.js/chunks/DualListSelector_C5QjTplp.mjs +1 -0
  79. package/dist/docs/_worker.js/chunks/DualListSelector_DLgspM0s.mjs +1 -0
  80. package/dist/docs/_worker.js/chunks/EmptyState_Ct_PJba3.mjs +1 -0
  81. package/dist/docs/_worker.js/chunks/EmptyState_Dk3hKJlg.mjs +1 -0
  82. package/dist/docs/_worker.js/chunks/ExpandableSection_DSw76PjZ.mjs +1 -0
  83. package/dist/docs/_worker.js/chunks/ExpandableSection_vUQO3FgG.mjs +1 -0
  84. package/dist/docs/_worker.js/chunks/FileUpload_CEvZ0G-d.mjs +1 -0
  85. package/dist/docs/_worker.js/chunks/FileUpload_Ci_s8Ghd.mjs +1 -0
  86. package/dist/docs/_worker.js/chunks/FormSelect_C2YPRAlw.mjs +1 -0
  87. package/dist/docs/_worker.js/chunks/FormSelect_DWShl8Fb.mjs +1 -0
  88. package/dist/docs/_worker.js/chunks/Form_Dyb98Nez.mjs +1 -0
  89. package/dist/docs/_worker.js/chunks/Form_olaoRN4o.mjs +1 -0
  90. package/dist/docs/_worker.js/chunks/HelperText_2CcHVaih.mjs +1 -0
  91. package/dist/docs/_worker.js/chunks/HelperText_DthGttZo.mjs +1 -0
  92. package/dist/docs/_worker.js/chunks/Hint_BXDZKYhJ.mjs +1 -0
  93. package/dist/docs/_worker.js/chunks/Hint_DHoiYdn6.mjs +1 -0
  94. package/dist/docs/_worker.js/chunks/Icon_C4IPnIAg.mjs +1 -0
  95. package/dist/docs/_worker.js/chunks/Icon_C_Dqbg9w.mjs +1 -0
  96. package/dist/docs/_worker.js/chunks/InputGroup_CDKP-uXZ.mjs +1 -0
  97. package/dist/docs/_worker.js/chunks/InputGroup_CmZgaEyr.mjs +1 -0
  98. package/dist/docs/_worker.js/chunks/JumpLinks_DvM3PVg0.mjs +1 -0
  99. package/dist/docs/_worker.js/chunks/JumpLinks_Dvdlxdps.mjs +1 -0
  100. package/dist/docs/_worker.js/chunks/Label_C7fP9Jp9.mjs +1 -0
  101. package/dist/docs/_worker.js/chunks/Label_Cxir7_Q4.mjs +1 -0
  102. package/dist/docs/_worker.js/chunks/List_CUgwFnXa.mjs +1 -0
  103. package/dist/docs/_worker.js/chunks/List_CWAsiYnN.mjs +1 -0
  104. package/dist/docs/_worker.js/chunks/LoginPage_BDfliKtU.mjs +1 -0
  105. package/dist/docs/_worker.js/chunks/LoginPage_BjIl_nF9.mjs +1 -0
  106. package/dist/docs/_worker.js/chunks/Masthead_BWjm5CFj.mjs +1 -0
  107. package/dist/docs/_worker.js/chunks/Masthead_BZnYzDu_.mjs +1 -0
  108. package/dist/docs/_worker.js/chunks/MenuToggle_DeKwv469.mjs +1 -0
  109. package/dist/docs/_worker.js/chunks/MenuToggle_DmJISlPR.mjs +1 -0
  110. package/dist/docs/_worker.js/chunks/Menu_DRRoq5PM.mjs +1 -0
  111. package/dist/docs/_worker.js/chunks/Menu_Sl-QVQ_w.mjs +1 -0
  112. package/dist/docs/_worker.js/chunks/Modal_6WZzoDHU.mjs +1 -0
  113. package/dist/docs/_worker.js/chunks/Modal_BI2dVPRJ.mjs +1 -0
  114. package/dist/docs/_worker.js/chunks/Modal_CdokBUDP.mjs +1 -0
  115. package/dist/docs/_worker.js/chunks/Modal_DJRobnfc.mjs +1 -0
  116. package/dist/docs/_worker.js/chunks/MultipleFileUpload_BaHVtkF_.mjs +1 -0
  117. package/dist/docs/_worker.js/chunks/MultipleFileUpload_BznvLbsj.mjs +1 -0
  118. package/dist/docs/_worker.js/chunks/Nav_DwqATcJ4.mjs +1 -0
  119. package/dist/docs/_worker.js/chunks/Nav_GZ0nRYXE.mjs +1 -0
  120. package/dist/docs/_worker.js/chunks/NotificationBadge_DO4OLgvO.mjs +1 -0
  121. package/dist/docs/_worker.js/chunks/NotificationBadge_DjINhOQ5.mjs +1 -0
  122. package/dist/docs/_worker.js/chunks/NotificationDrawer_BtpQ4pmZ.mjs +1 -0
  123. package/dist/docs/_worker.js/chunks/NotificationDrawer_D1lmMCgd.mjs +1 -0
  124. package/dist/docs/_worker.js/chunks/NumberInput_CggpJ5ge.mjs +1 -0
  125. package/dist/docs/_worker.js/chunks/NumberInput_zMcSUUwH.mjs +1 -0
  126. package/dist/docs/_worker.js/chunks/OverflowMenu_BX4nwFvK.mjs +1 -0
  127. package/dist/docs/_worker.js/chunks/OverflowMenu_DnQ7wMy-.mjs +1 -0
  128. package/dist/docs/_worker.js/chunks/Page_Cw_XTB6Y.mjs +1 -0
  129. package/dist/docs/_worker.js/chunks/Page_UhywZXdY.mjs +1 -0
  130. package/dist/docs/_worker.js/chunks/Pagination_7rr0n7-V.mjs +1 -0
  131. package/dist/docs/_worker.js/chunks/Pagination_Dc5L6yaI.mjs +1 -0
  132. package/dist/docs/_worker.js/chunks/Panel_Bl_LqCWS.mjs +1 -0
  133. package/dist/docs/_worker.js/chunks/Panel_s8-TwBlS.mjs +1 -0
  134. package/dist/docs/_worker.js/chunks/Popover_CjipqBWs.mjs +1 -0
  135. package/dist/docs/_worker.js/chunks/Popover_DvQgGJTf.mjs +1 -0
  136. package/dist/docs/_worker.js/chunks/ProgressStepper_DXBI4K2w.mjs +1 -0
  137. package/dist/docs/_worker.js/chunks/ProgressStepper_lBd5mTHE.mjs +1 -0
  138. package/dist/docs/_worker.js/chunks/Progress_BZA5taDC.mjs +1 -0
  139. package/dist/docs/_worker.js/chunks/Progress_CIgybc-D.mjs +1 -0
  140. package/dist/docs/_worker.js/chunks/Radio_3tPx1coq.mjs +1 -0
  141. package/dist/docs/_worker.js/chunks/Radio_BG7VZAk6.mjs +1 -0
  142. package/dist/docs/_worker.js/chunks/SearchInput_BZ43-Elo.mjs +1 -0
  143. package/dist/docs/_worker.js/chunks/SearchInput_aCFv-N1U.mjs +1 -0
  144. package/dist/docs/_worker.js/chunks/Select_B4cumL7U.mjs +1 -0
  145. package/dist/docs/_worker.js/chunks/Select_CJ78kBVM.mjs +1 -0
  146. package/dist/docs/_worker.js/chunks/Sidebar_Bto2_gKJ.mjs +1 -0
  147. package/dist/docs/_worker.js/chunks/Sidebar_DOfifBRA.mjs +1 -0
  148. package/dist/docs/_worker.js/chunks/SimpleList_CVkO5Odp.mjs +1 -0
  149. package/dist/docs/_worker.js/chunks/SimpleList_oJajk3_z.mjs +1 -0
  150. package/dist/docs/_worker.js/chunks/Skeleton_CCJNka-d.mjs +1 -0
  151. package/dist/docs/_worker.js/chunks/Skeleton_N02yA_k6.mjs +1 -0
  152. package/dist/docs/_worker.js/chunks/SkipToContent_DvOYRCWm.mjs +1 -0
  153. package/dist/docs/_worker.js/chunks/SkipToContent_o7vh-U_u.mjs +1 -0
  154. package/dist/docs/_worker.js/chunks/Slider_C0bH-JMY.mjs +1 -0
  155. package/dist/docs/_worker.js/chunks/Slider_CWRDqhx4.mjs +1 -0
  156. package/dist/docs/_worker.js/chunks/Spinner_B-x8bJt0.mjs +1 -0
  157. package/dist/docs/_worker.js/chunks/Spinner_hzAAbZdS.mjs +1 -0
  158. package/dist/docs/_worker.js/chunks/Switch_Cpr1OETy.mjs +1 -0
  159. package/dist/docs/_worker.js/chunks/Switch_Du7AKJ4O.mjs +1 -0
  160. package/dist/docs/_worker.js/chunks/Tabs_CzDrfKA-.mjs +1 -0
  161. package/dist/docs/_worker.js/chunks/Tabs_KXDkISY4.mjs +1 -0
  162. package/dist/docs/_worker.js/chunks/TextArea_C1dmG8mr.mjs +1 -0
  163. package/dist/docs/_worker.js/chunks/TextArea_Dtm0m8LO.mjs +1 -0
  164. package/dist/docs/_worker.js/chunks/TextInputGroup_D0NXU95v.mjs +1 -0
  165. package/dist/docs/_worker.js/chunks/TextInputGroup_mJpBrogC.mjs +1 -0
  166. package/dist/docs/_worker.js/chunks/TextInput_B0XLYaVA.mjs +1 -0
  167. package/dist/docs/_worker.js/chunks/TextInput_CmLcsUiv.mjs +1 -0
  168. package/dist/docs/_worker.js/chunks/Tile_CF_12LPU.mjs +1 -0
  169. package/dist/docs/_worker.js/chunks/Tile_DJ0LawLW.mjs +1 -0
  170. package/dist/docs/_worker.js/chunks/TimePicker_CijfSKJQ.mjs +1 -0
  171. package/dist/docs/_worker.js/chunks/TimePicker_VX9VE-Uy.mjs +1 -0
  172. package/dist/docs/_worker.js/chunks/Timestamp_D7uyrIK7.mjs +1 -0
  173. package/dist/docs/_worker.js/chunks/Timestamp_c2Mozpr4.mjs +1 -0
  174. package/dist/docs/_worker.js/chunks/Title_DbrwFEEy.mjs +1 -0
  175. package/dist/docs/_worker.js/chunks/Title_DlFn7G9R.mjs +1 -0
  176. package/dist/docs/_worker.js/chunks/ToggleGroup_DpLWzfAW.mjs +1 -0
  177. package/dist/docs/_worker.js/chunks/ToggleGroup_j1ooRpX3.mjs +1 -0
  178. package/dist/docs/_worker.js/chunks/Toolbar_BEIh7r7J.mjs +1 -0
  179. package/dist/docs/_worker.js/chunks/Toolbar_mjrD3_l-.mjs +1 -0
  180. package/dist/docs/_worker.js/chunks/Tooltip_Bp5XOVoV.mjs +1 -0
  181. package/dist/docs/_worker.js/chunks/Tooltip_BrFKk02i.mjs +1 -0
  182. package/dist/docs/_worker.js/chunks/TreeView_BImfKPD_.mjs +1 -0
  183. package/dist/docs/_worker.js/chunks/TreeView_CgO4iC1E.mjs +1 -0
  184. package/dist/docs/_worker.js/chunks/Truncate_Bn55QoeZ.mjs +1 -0
  185. package/dist/docs/_worker.js/chunks/Truncate_S939OotH.mjs +1 -0
  186. package/dist/docs/_worker.js/chunks/Wizard_B28f3non.mjs +1 -0
  187. package/dist/docs/_worker.js/chunks/Wizard_B4Dw5Yc8.mjs +1 -0
  188. package/dist/docs/_worker.js/chunks/Wizard_BOCBVIjJ.mjs +1 -0
  189. package/dist/docs/_worker.js/chunks/Wizard_C2sit354.mjs +1 -0
  190. package/dist/{_worker.js/renderers.mjs → docs/_worker.js/chunks/_@astro-renderers_D4IG6Oyo.mjs} +55 -3
  191. package/dist/{_worker.js/chunks/_@astrojs-ssr-adapter_IMtcR503.mjs → docs/_worker.js/chunks/_@astrojs-ssr-adapter_CBRUgCDy.mjs} +4 -4
  192. package/dist/docs/_worker.js/chunks/_astro_assets_tcq0nD7B.mjs +1 -0
  193. package/dist/docs/_worker.js/chunks/_astro_data-layer-content_gjMewtSO.mjs +1 -0
  194. package/dist/{_worker.js/chunks/astro/server_YsSSp7Ny.mjs → docs/_worker.js/chunks/astro/server_CVEnF9i1.mjs} +1 -3
  195. package/dist/{_worker.js/chunks/astro-designed-error-pages_MEt0E9xn.mjs → docs/_worker.js/chunks/astro-designed-error-pages_CXRddWNa.mjs} +1 -1
  196. package/dist/docs/_worker.js/chunks/content-assets_XqCgPAV2.mjs +1 -0
  197. package/dist/docs/_worker.js/chunks/content-modules_D0Eecfsp.mjs +1 -0
  198. package/dist/{_worker.js/chunks/index_BE2AHcwI.mjs → docs/_worker.js/chunks/index_CYXMeXT4.mjs} +2 -2
  199. package/dist/{_worker.js/chunks/noop-middleware_CMUpAQ6F.mjs → docs/_worker.js/chunks/noop-middleware_DIXVCvyq.mjs} +1 -1
  200. package/dist/docs/_worker.js/chunks/sharp_BPZD2zgR.mjs +1 -0
  201. package/dist/{_worker.js → docs/_worker.js}/index.js +4 -8
  202. package/dist/docs/_worker.js/manifest_DGS5MtBy.mjs +100 -0
  203. package/dist/{_worker.js → docs/_worker.js}/pages/_image.astro.mjs +1 -1
  204. package/dist/docs/_worker.js/pages/_section_/_---page_.astro.mjs +1 -0
  205. package/dist/docs/_worker.js/pages/_section_/_page_/_---tab_.astro.mjs +1 -0
  206. package/dist/docs/_worker.js/pages/index.astro.mjs +1 -0
  207. package/dist/{_worker.js → docs/_worker.js}/pages/props.astro.mjs +1 -1
  208. package/dist/docs/_worker.js/renderers.mjs +2 -0
  209. package/dist/docs/components/about-modal/index.html +56 -0
  210. package/dist/docs/components/about-modal/react/index.html +56 -0
  211. package/dist/docs/components/accordion/index.html +62 -0
  212. package/dist/docs/components/accordion/react/index.html +62 -0
  213. package/dist/docs/components/action-list/index.html +59 -0
  214. package/dist/docs/components/action-list/react/index.html +59 -0
  215. package/dist/docs/components/alert/index.html +428 -0
  216. package/dist/docs/components/alert/react/index.html +428 -0
  217. package/dist/docs/components/avatar/index.html +56 -0
  218. package/dist/docs/components/avatar/react/index.html +56 -0
  219. package/dist/docs/components/back-to-top/index.html +53 -0
  220. package/dist/docs/components/back-to-top/react/index.html +53 -0
  221. package/dist/docs/components/backdrop/index.html +49 -0
  222. package/dist/docs/components/backdrop/react/index.html +49 -0
  223. package/dist/docs/components/background-image/index.html +49 -0
  224. package/dist/docs/components/background-image/react/index.html +49 -0
  225. package/dist/docs/components/badge/index.html +57 -0
  226. package/dist/docs/components/badge/react/index.html +57 -0
  227. package/dist/docs/components/banner/index.html +57 -0
  228. package/dist/docs/components/banner/react/index.html +57 -0
  229. package/dist/docs/components/brand/index.html +55 -0
  230. package/dist/docs/components/brand/react/index.html +55 -0
  231. package/dist/docs/components/breadcrumb/index.html +59 -0
  232. package/dist/docs/components/breadcrumb/react/index.html +59 -0
  233. package/dist/docs/components/button/index.html +152 -0
  234. package/dist/docs/components/button/react/index.html +152 -0
  235. package/dist/docs/components/calendar-month/index.html +55 -0
  236. package/dist/docs/components/calendar-month/react/index.html +55 -0
  237. package/dist/docs/components/card/index.html +159 -0
  238. package/dist/docs/components/card/react/index.html +159 -0
  239. package/dist/docs/components/checkbox/index.html +78 -0
  240. package/dist/docs/components/checkbox/react/index.html +78 -0
  241. package/dist/docs/components/chip/index.html +61 -0
  242. package/dist/docs/components/chip/react-deprecated/index.html +61 -0
  243. package/dist/docs/components/clipboard-copy/index.html +84 -0
  244. package/dist/docs/components/clipboard-copy/react/index.html +84 -0
  245. package/dist/docs/components/code-block/index.html +55 -0
  246. package/dist/docs/components/code-block/react/index.html +55 -0
  247. package/dist/docs/components/content/index.html +79 -0
  248. package/dist/docs/components/content/react/index.html +79 -0
  249. package/dist/docs/components/data-list/index.html +86 -0
  250. package/dist/docs/components/data-list/react/index.html +86 -0
  251. package/dist/docs/components/date-picker/index.html +77 -0
  252. package/dist/docs/components/date-picker/react/index.html +77 -0
  253. package/dist/docs/components/description-list/index.html +135 -0
  254. package/dist/docs/components/description-list/react/index.html +135 -0
  255. package/dist/docs/components/divider/index.html +74 -0
  256. package/dist/docs/components/divider/react/index.html +74 -0
  257. package/dist/docs/components/drag-and-drop/index.html +69 -0
  258. package/dist/docs/components/drag-and-drop/react-deprecated/index.html +69 -0
  259. package/dist/docs/components/drawer/index.html +108 -0
  260. package/dist/docs/components/drawer/react/index.html +108 -0
  261. package/dist/docs/components/dropdown/index.html +71 -0
  262. package/dist/docs/components/dropdown/react/index.html +71 -0
  263. package/dist/docs/components/dual-list-selector/index.html +89 -0
  264. package/dist/docs/components/dual-list-selector/react/index.html +89 -0
  265. package/dist/docs/components/dual-list-selector/react-deprecated/index.html +106 -0
  266. package/dist/docs/components/empty-state/index.html +71 -0
  267. package/dist/docs/components/empty-state/react/index.html +71 -0
  268. package/dist/docs/components/expandable-section/index.html +76 -0
  269. package/dist/docs/components/expandable-section/react/index.html +76 -0
  270. package/dist/docs/components/form/index.html +87 -0
  271. package/dist/docs/components/form/react/index.html +87 -0
  272. package/dist/docs/components/form-select/index.html +59 -0
  273. package/dist/docs/components/form-select/react/index.html +59 -0
  274. package/dist/docs/components/helper-text/index.html +57 -0
  275. package/dist/docs/components/helper-text/react/index.html +57 -0
  276. package/dist/docs/components/hint/index.html +59 -0
  277. package/dist/docs/components/hint/react/index.html +59 -0
  278. package/dist/docs/components/icon/index.html +80 -0
  279. package/dist/docs/components/icon/react/index.html +80 -0
  280. package/dist/docs/components/input-group/index.html +62 -0
  281. package/dist/docs/components/input-group/react/index.html +62 -0
  282. package/dist/docs/components/jump-links/index.html +66 -0
  283. package/dist/docs/components/jump-links/react/index.html +66 -0
  284. package/dist/docs/components/label/index.html +103 -0
  285. package/dist/docs/components/label/react/index.html +103 -0
  286. package/dist/docs/components/list/index.html +68 -0
  287. package/dist/docs/components/list/react/index.html +68 -0
  288. package/dist/docs/components/login-page/index.html +56 -0
  289. package/dist/docs/components/login-page/react/index.html +56 -0
  290. package/dist/docs/components/masthead/index.html +76 -0
  291. package/dist/docs/components/masthead/react/index.html +76 -0
  292. package/dist/docs/components/menu/index.html +160 -0
  293. package/dist/docs/components/menu/react/index.html +160 -0
  294. package/dist/docs/components/menu-toggle/index.html +201 -0
  295. package/dist/docs/components/menu-toggle/react/index.html +201 -0
  296. package/dist/docs/components/modal/index.html +113 -0
  297. package/dist/docs/components/modal/react/index.html +113 -0
  298. package/dist/docs/components/modal/react-deprecated/index.html +117 -0
  299. package/dist/docs/components/multiple-file-upload/index.html +84 -0
  300. package/dist/docs/components/multiple-file-upload/react/index.html +84 -0
  301. package/dist/docs/components/navigation/index.html +89 -0
  302. package/dist/docs/components/navigation/react/index.html +89 -0
  303. package/dist/docs/components/notification-badge/index.html +65 -0
  304. package/dist/docs/components/notification-badge/react/index.html +65 -0
  305. package/dist/docs/components/notification-drawer/index.html +56 -0
  306. package/dist/docs/components/notification-drawer/react/index.html +56 -0
  307. package/dist/docs/components/number-input/index.html +72 -0
  308. package/dist/docs/components/number-input/react/index.html +72 -0
  309. package/dist/docs/components/overflow-menu/index.html +64 -0
  310. package/dist/docs/components/overflow-menu/react/index.html +64 -0
  311. package/dist/docs/components/page/index.html +114 -0
  312. package/dist/docs/components/page/react/index.html +114 -0
  313. package/dist/docs/components/pagination/index.html +77 -0
  314. package/dist/docs/components/pagination/react/index.html +77 -0
  315. package/dist/docs/components/panel/index.html +196 -0
  316. package/dist/docs/components/panel/react/index.html +196 -0
  317. package/dist/docs/components/popover/index.html +89 -0
  318. package/dist/docs/components/popover/react/index.html +89 -0
  319. package/dist/docs/components/progress/index.html +101 -0
  320. package/dist/docs/components/progress/react/index.html +101 -0
  321. package/dist/docs/components/progress-stepper/index.html +74 -0
  322. package/dist/docs/components/progress-stepper/react/index.html +74 -0
  323. package/dist/docs/components/radio/index.html +75 -0
  324. package/dist/docs/components/radio/react/index.html +75 -0
  325. package/dist/docs/components/search-input/index.html +76 -0
  326. package/dist/docs/components/search-input/react/index.html +76 -0
  327. package/dist/docs/components/select/index.html +129 -0
  328. package/dist/docs/components/select/react/index.html +129 -0
  329. package/dist/docs/components/sidebar/index.html +77 -0
  330. package/dist/docs/components/sidebar/react/index.html +77 -0
  331. package/dist/docs/components/simple-file-upload/index.html +93 -0
  332. package/dist/docs/components/simple-file-upload/react/index.html +93 -0
  333. package/dist/docs/components/simple-list/index.html +59 -0
  334. package/dist/docs/components/simple-list/react/index.html +59 -0
  335. package/dist/docs/components/skeleton/index.html +62 -0
  336. package/dist/docs/components/skeleton/react/index.html +62 -0
  337. package/dist/docs/components/skip-to-content/index.html +49 -0
  338. package/dist/docs/components/skip-to-content/react/index.html +49 -0
  339. package/dist/docs/components/slider/index.html +78 -0
  340. package/dist/docs/components/slider/react/index.html +78 -0
  341. package/dist/docs/components/spinner/index.html +59 -0
  342. package/dist/docs/components/spinner/react/index.html +59 -0
  343. package/dist/docs/components/switch/index.html +66 -0
  344. package/dist/docs/components/switch/react/index.html +66 -0
  345. package/dist/docs/components/tabs/index.html +169 -0
  346. package/dist/docs/components/tabs/react/index.html +169 -0
  347. package/dist/docs/components/text-area/index.html +77 -0
  348. package/dist/docs/components/text-area/react/index.html +77 -0
  349. package/dist/docs/components/text-input/index.html +71 -0
  350. package/dist/docs/components/text-input/react/index.html +71 -0
  351. package/dist/docs/components/text-input-group/index.html +68 -0
  352. package/dist/docs/components/text-input-group/react/index.html +68 -0
  353. package/dist/docs/components/tile/index.html +153 -0
  354. package/dist/docs/components/tile/react-deprecated/index.html +153 -0
  355. package/dist/docs/components/time-picker/index.html +67 -0
  356. package/dist/docs/components/time-picker/react/index.html +67 -0
  357. package/dist/docs/components/timestamp/index.html +75 -0
  358. package/dist/docs/components/timestamp/react/index.html +75 -0
  359. package/dist/docs/components/title/index.html +53 -0
  360. package/dist/docs/components/title/react/index.html +53 -0
  361. package/dist/docs/components/toggle-group/index.html +74 -0
  362. package/dist/docs/components/toggle-group/react/index.html +74 -0
  363. package/dist/docs/components/toolbar/index.html +111 -0
  364. package/dist/docs/components/toolbar/react/index.html +111 -0
  365. package/dist/docs/components/tooltip/index.html +65 -0
  366. package/dist/docs/components/tooltip/react/index.html +65 -0
  367. package/dist/docs/components/tree-view/index.html +93 -0
  368. package/dist/docs/components/tree-view/react/index.html +93 -0
  369. package/dist/docs/components/truncate/index.html +80 -0
  370. package/dist/docs/components/truncate/react/index.html +80 -0
  371. package/dist/docs/components/wizard/index.html +120 -0
  372. package/dist/docs/components/wizard/react/index.html +120 -0
  373. package/dist/docs/components/wizard/react-deprecated/index.html +372 -0
  374. package/dist/docs/index.html +43 -0
  375. package/dist/props.json +1 -0
  376. package/package.json +8 -4
  377. package/src/components/AutoLinkHeader.tsx +3 -11
  378. package/src/components/DocsTables.astro +10 -4
  379. package/src/components/LiveExample.tsx +2 -0
  380. package/src/components/PropsTables.tsx +62 -0
  381. package/src/content.config.ts +2 -4
  382. package/src/content.ts +1 -15
  383. package/src/layouts/Main.astro +1 -0
  384. package/src/pages/[section]/[...page].astro +1 -5
  385. package/src/pages/[section]/[page]/[...tab].astro +1 -1
  386. package/.astro/collections/textContent.schema.json +0 -59
  387. package/dist/_astro/CSSTable.E6iSHjec.js +0 -1
  388. package/dist/_astro/DropdownList.-xE7qrND.js +0 -1
  389. package/dist/_astro/LiveExample.CVVccYEB.js +0 -259
  390. package/dist/_astro/Navigation.CONcolRR.js +0 -1
  391. package/dist/_astro/PageSidebarBody.CDWZuFeK.js +0 -1
  392. package/dist/_astro/SearchInput.BNt7BTX_.js +0 -1
  393. package/dist/_astro/SectionGallery.Dwb-QA5z.js +0 -1
  394. package/dist/_astro/Toolbar.DNd68Ck-.js +0 -1
  395. package/dist/_astro/ToolbarContent.C58gpKLu.js +0 -1
  396. package/dist/_astro/_page_.CtheD08_.css +0 -1
  397. package/dist/_astro/index.jm6QVFFy.js +0 -16
  398. package/dist/_worker.js/chunks/AutoLinkHeader_DLgn_YRm.mjs +0 -739
  399. package/dist/_worker.js/chunks/Button_CBcC0ViE.mjs +0 -709
  400. package/dist/_worker.js/chunks/CSSTable_C1dV02qV.mjs +0 -18
  401. package/dist/_worker.js/chunks/DocsTables_Br4g5x5_.mjs +0 -20
  402. package/dist/_worker.js/chunks/PropsTables_Dcd7znAq.mjs +0 -6628
  403. package/dist/_worker.js/chunks/angle-down-icon_VyCXUC7F.mjs +0 -3686
  404. package/dist/_worker.js/chunks/index_CBCp_CJ0.mjs +0 -57
  405. package/dist/_worker.js/manifest_CyDNnCoC.mjs +0 -100
  406. package/dist/components/accordion/index.html +0 -60
  407. package/dist/components/accordion/react/index.html +0 -60
  408. package/dist/components/all-components/index.html +0 -47
  409. package/dist/design-foundations/typography/index.html +0 -198
  410. package/dist/design-foundations/usage-and-behavior/index.html +0 -347
  411. package/dist/get-started/contribute/index.html +0 -94
  412. package/dist/index.html +0 -43
  413. package/src/components/PropsTables.astro +0 -52
  414. /package/dist/{.assetsignore → docs/.assetsignore} +0 -0
  415. /package/dist/{PF-HorizontalLogo-Color.svg → docs/PF-HorizontalLogo-Color.svg} +0 -0
  416. /package/dist/{PF-HorizontalLogo-Reverse.svg → docs/PF-HorizontalLogo-Reverse.svg} +0 -0
  417. /package/dist/{_astro/_page_.Chv_bGyU.css → docs/_astro/AutoLinkHeader.Chv_bGyU.css} +0 -0
  418. /package/dist/{_astro → docs/_astro}/Button.BVfR1y85.js +0 -0
  419. /package/dist/{_astro → docs/_astro}/ClientRouter.astro_astro_type_script_index_0_lang.CtSceO8m.js +0 -0
  420. /package/dist/{_astro → docs/_astro}/Content.CYLxURqU.js +0 -0
  421. /package/dist/{_astro → docs/_astro}/LiveExample.CxJsMvEq.css +0 -0
  422. /package/dist/{_astro → docs/_astro}/PageContext.BUbWpNW2.js +0 -0
  423. /package/dist/{_astro → docs/_astro}/PageToggle.Dnbvoa7R.js +0 -0
  424. /package/dist/{_astro → docs/_astro}/RedHatDisplayVF-Italic.CRpusWc8.woff2 +0 -0
  425. /package/dist/{_astro → docs/_astro}/RedHatDisplayVF.CYDHf1NI.woff2 +0 -0
  426. /package/dist/{_astro → docs/_astro}/RedHatMonoVF-Italic.DGQo2ogW.woff2 +0 -0
  427. /package/dist/{_astro → docs/_astro}/RedHatMonoVF.C4fMH6Vz.woff2 +0 -0
  428. /package/dist/{_astro → docs/_astro}/RedHatTextVF-Italic.Dkj_WqbA.woff2 +0 -0
  429. /package/dist/{_astro → docs/_astro}/RedHatTextVF.wYvZ7prR.woff2 +0 -0
  430. /package/dist/{_astro → docs/_astro}/_page_.DxJDkZPc.css +0 -0
  431. /package/dist/{_astro → docs/_astro}/angle-left-icon.CfKwuSCS.js +0 -0
  432. /package/dist/{_astro → docs/_astro}/bars-icon.wdJgEs3A.js +0 -0
  433. /package/dist/{_astro → docs/_astro}/client.DN8ES6L5.js +0 -0
  434. /package/dist/{_astro → docs/_astro}/fa-solid-900.DguXoeIz.woff2 +0 -0
  435. /package/dist/{_astro → docs/_astro}/github-icon.DzpohUp_.js +0 -0
  436. /package/dist/{_astro → docs/_astro}/index.BQFV5hT1.js +0 -0
  437. /package/dist/{_astro → docs/_astro}/index.CAChmxYj.js +0 -0
  438. /package/dist/{_astro → docs/_astro}/index.eCxJ45ll.js +0 -0
  439. /package/dist/{_astro → docs/_astro}/page.BTC3Kf3x.js +0 -0
  440. /package/dist/{_astro → docs/_astro}/pf-v6-pficon.Dy6oiu9u.woff2 +0 -0
  441. /package/dist/{_worker.js → docs/_worker.js}/_noop-actions.mjs +0 -0
  442. /package/dist/{_worker.js/chunks/Accordion_CQUal4ef.mjs → docs/_worker.js/chunks/AboutModal_CrdYiVZ2.mjs} +0 -0
  443. /package/dist/{_worker.js/chunks/Accordion_R7bP3pwr.mjs → docs/_worker.js/chunks/AboutModal_D3R-r6ju.mjs} +0 -0
  444. /package/dist/{_worker.js/chunks/AllComponents_BDKlE-WJ.mjs → docs/_worker.js/chunks/Accordion_Dbx8tdfD.mjs} +0 -0
  445. /package/dist/{_worker.js/chunks/AllComponents_DWDph25H.mjs → docs/_worker.js/chunks/Accordion_sjy0EnPK.mjs} +0 -0
  446. /package/dist/{_worker.js/chunks/_astro_assets_uN1DLT1q.mjs → docs/_worker.js/chunks/ActionList_Bx7eAKgV.mjs} +0 -0
  447. /package/dist/{_worker.js/chunks/_astro_data-layer-content_D0hm6p8E.mjs → docs/_worker.js/chunks/ActionList_CuygbYGp.mjs} +0 -0
  448. /package/dist/{_worker.js/chunks/content-assets_XqCgPAV2.mjs → docs/_worker.js/chunks/Alert_Cgh0pfMA.mjs} +0 -0
  449. /package/dist/{_worker.js/chunks/content-modules_BbCqcGJp.mjs → docs/_worker.js/chunks/Alert_CplJ22O9.mjs} +0 -0
  450. /package/dist/{_worker.js/chunks/sharp_Cc2xj7B1.mjs → docs/_worker.js/chunks/Avatar_BszzDSZB.mjs} +0 -0
  451. /package/dist/{_worker.js/pages/_section_/_---page_.astro.mjs → docs/_worker.js/chunks/Avatar_DuNXB-Tl.mjs} +0 -0
  452. /package/dist/{_worker.js/pages/_section_/_page_/_---tab_.astro.mjs → docs/_worker.js/chunks/BackToTop_B_0NN1kJ.mjs} +0 -0
  453. /package/dist/{_worker.js/pages/index.astro.mjs → docs/_worker.js/chunks/BackToTop_DKY1zHBL.mjs} +0 -0
  454. /package/dist/{_worker.js → docs/_worker.js}/chunks/cloudflare-kv-binding_DMly_2Gl.mjs +0 -0
  455. /package/dist/{_worker.js → docs/_worker.js}/chunks/parse_EttCPxrw.mjs +0 -0
  456. /package/dist/{_worker.js → docs/_worker.js}/chunks/path_C-ZOwaTP.mjs +0 -0
  457. /package/dist/{avatarImg.svg → docs/avatarImg.svg} +0 -0
  458. /package/dist/{avatarImgDark.svg → docs/avatarImgDark.svg} +0 -0
  459. /package/dist/{content → docs/content}/typography/line-height.png +0 -0
  460. /package/dist/{favicon.svg → docs/favicon.svg} +0 -0
@@ -0,0 +1,111 @@
1
+ <!DOCTYPE html><html lang="en" data-astro-transition-scope="astro-iidcp2e2-1"> <head><script type="module">const n=e=>{requestAnimationFrame(()=>{document.documentElement.classList.toggle("pf-v6-theme-dark",e==="dark")})};document.addEventListener("astro:before-swap",()=>{const e=localStorage.getItem("theme-preference");n(e||"light")});const o=e=>{const t=document.querySelector(e);t&&t.scrollIntoView({behavior:"smooth"})};document.addEventListener("DOMContentLoaded",()=>{if(window.location.hash){const e=window.location.hash;history.replaceState(null,""," "),setTimeout(()=>{o(e),history.replaceState(null,"",e)},500)}});window.addEventListener("hashchange",()=>{window.location.hash&&o(window.location.hash)});</script><meta charset="utf-8"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v5.9.3"><title>Astro</title><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CtSceO8m.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
2
+ <link rel="stylesheet" href="/_astro/AutoLinkHeader.Chv_bGyU.css">
3
+ <link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
4
+ <link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
5
+ <link rel="stylesheet" href="/_astro/_page_.DxJDkZPc.css"><style>[data-astro-transition-scope="astro-iidcp2e2-1"] { view-transition-name: astro-iidcp2e2-1; }@layer astro { ::view-transition-old(astro-iidcp2e2-1) { animation: none; opacity: 0; mix-blend-mode: normal; }::view-transition-new(astro-iidcp2e2-1) { animation: none; mix-blend-mode: normal; }::view-transition-group(astro-iidcp2e2-1) { animation: none } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-iidcp2e2-1"],
6
+ [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-iidcp2e2-1"] { animation: none; mix-blend-mode: normal; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-iidcp2e2-1"],
7
+ [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-iidcp2e2-1"] { animation: none; mix-blend-mode: normal; }</style><style>[data-astro-transition-scope="astro-xikxfxwm-3"] { view-transition-name: astro-xikxfxwm-3; }@layer astro { ::view-transition-old(astro-xikxfxwm-3) {
8
+ animation-duration: 180ms;
9
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
10
+ animation-fill-mode: both;
11
+ animation-name: astroFadeOut; }::view-transition-new(astro-xikxfxwm-3) {
12
+ animation-duration: 180ms;
13
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
14
+ animation-fill-mode: both;
15
+ animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(astro-xikxfxwm-3) {
16
+ animation-duration: 180ms;
17
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
18
+ animation-fill-mode: both;
19
+ animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(astro-xikxfxwm-3) {
20
+ animation-duration: 180ms;
21
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
22
+ animation-fill-mode: both;
23
+ animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-xikxfxwm-3"],
24
+ [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-xikxfxwm-3"] {
25
+ animation-duration: 180ms;
26
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
27
+ animation-fill-mode: both;
28
+ animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-xikxfxwm-3"],
29
+ [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-xikxfxwm-3"] {
30
+ animation-duration: 180ms;
31
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
32
+ animation-fill-mode: both;
33
+ animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-xikxfxwm-3"],
34
+ [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-xikxfxwm-3"] {
35
+ animation-duration: 180ms;
36
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
37
+ animation-fill-mode: both;
38
+ animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-xikxfxwm-3"],
39
+ [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-xikxfxwm-3"] {
40
+ animation-duration: 180ms;
41
+ animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
42
+ animation-fill-mode: both;
43
+ animation-name: astroFadeIn; }</style><style>[data-astro-transition-scope="astro-2e6ke2uy-4"] { view-transition-name: astro-2e6ke2uy-4; }@layer astro { ::view-transition-old(astro-2e6ke2uy-4) { animation: none; opacity: 0; mix-blend-mode: normal; }::view-transition-new(astro-2e6ke2uy-4) { animation: none; mix-blend-mode: normal; }::view-transition-group(astro-2e6ke2uy-4) { animation: none } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-2e6ke2uy-4"],
44
+ [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-2e6ke2uy-4"] { animation: none; mix-blend-mode: normal; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-2e6ke2uy-4"],
45
+ [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-2e6ke2uy-4"] { animation: none; mix-blend-mode: normal; }</style></head> <body> <div class="pf-v6-c-page"> <script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script><header class="pf-v6-c-masthead pf-m-display-inline-on-md"> <div class="pf-v6-c-masthead__main"> <span class="pf-v6-c-masthead__toggle"> <astro-island uid="12XziJ" prefix="r5" component-url="/_astro/PageToggle.Dnbvoa7R.js" component-export="PageToggle" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;data-astro-transition-persist&quot;:[0,&quot;astro-u5p5alki-2&quot;]}" ssr client="idle" opts="{&quot;name&quot;:&quot;PageToggle&quot;,&quot;value&quot;:true}" data-astro-transition-persist="astro-u5p5alki-2" await-children><button id="nav-toggle" aria-expanded="true" aria-label="Global navigation" class="pf-v6-c-button pf-m-plain" type="button" data-ouia-component-type="PF6/Button" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Button-plain-472"><span class="pf-v6-c-button__text"><svg class="pf-v6-svg" viewBox="0 0 448 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em"><path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"></path></svg></span></button><!--astro:end--></astro-island> </span> <div class="pf-v6-c-masthead__brand"> <a class="pf-v6-c-masthead__logo" tabindex="0" href="/"> <img class="pf-v6-c-brand" style="--pf-v6-c-brand--Height:36px" src="/PF-HorizontalLogo-Color.svg" alt="PatternFly"/> </a> </div> </div> <div class="pf-v6-c-masthead__content"> <astro-island uid="Z6IiCv" prefix="r7" component-url="/_astro/Toolbar.BNjGRsAQ.js" component-export="Toolbar" renderer-url="/_astro/client.DN8ES6L5.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;ReactToolbar&quot;,&quot;value&quot;:true}" await-children><div class="pf-v6-c-toolbar pf-m-static" id="toolbar" data-ouia-component-type="PF6/Toolbar" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Toolbar-158"><div class="pf-v6-c-toolbar__content"><div class="pf-v6-c-toolbar__content-section"><div class="pf-v6-c-toolbar__group pf-m-action-group-plain pf-m-align-end pf-m-gap-none pf-m-gap-md-on-md"><div class="pf-v6-c-toolbar__item"></div><div class="pf-v6-c-toolbar__item"><div class="pf-v6-c-input-group ws-global-search"><div class="pf-v6-c-input-group__item"><button aria-expanded="false" aria-label="Expandable search input toggle" class="pf-v6-c-button pf-m-plain" type="button" data-ouia-component-type="PF6/Button" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Button-plain-473"><span class="pf-v6-c-button__icon"><svg class="pf-v6-svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em"><path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg></span></button></div></div></div><div class="pf-v6-c-toolbar__item"><a href="//github.com/patternfly" target="top" aria-label="PatternFly GitHub page" class="pf-v6-c-button pf-m-plain" data-ouia-component-type="PF6/Button" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Button-plain-474"><span class="pf-v6-c-button__text"><svg class="pf-v6-svg" viewBox="0 0 496 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a></div><div class="pf-v6-c-toolbar__item"><button class="pf-v6-c-menu-toggle" type="button" aria-expanded="false" data-ouia-component-type="PF6/MenuToggle" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-MenuToggle-158"><span class="pf-v6-c-menu-toggle__text">Release 6.1.0</span><span class="pf-v6-c-menu-toggle__controls"><span class="pf-v6-c-menu-toggle__toggle-icon"><svg class="pf-v6-svg" viewBox="0 0 320 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em"><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"></path></svg></span></span></button></div></div></div></div><div class="pf-v6-c-toolbar__content pf-m-hidden" hidden=""><div class="pf-v6-c-toolbar__group"></div></div></div><!--astro:end--></astro-island> </div> </header> <astro-island uid="193Wv7" component-url="/_astro/Navigation.B2RHZcqO.js" component-export="Navigation" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;navData&quot;:[1,[[1,[[0,{&quot;id&quot;:[0,&quot;src/components/aboutmodal/examples/aboutmodal&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;About modal&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/accordion/examples/accordion&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Accordion&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/actionlist/examples/actionlist&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Action list&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/alert/examples/alert&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Alert&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/avatar/examples/avatar&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Avatar&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/backtotop/examples/backtotop&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Back to top&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/backdrop/examples/backdrop&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Backdrop&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/backgroundimage/examples/backgroundimage&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Background image&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/badge/examples/badge&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Badge&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/banner/examples/banner&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Banner&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/brand/examples/brand&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Brand&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/breadcrumb/examples/breadcrumb&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Breadcrumb&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/button/examples/button&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Button&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/calendarmonth/examples/calendarmonth&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Calendar month&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/card/examples/card&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Card&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/checkbox/examples/checkbox&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Checkbox&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/deprecated/components/chip/examples/chip&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Chip&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/clipboardcopy/examples/clipboardcopy&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Clipboard copy&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/codeblock/examples/codeblock&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Code block&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/content/examples/content&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Content&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/datalist/examples/datalist&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Data list&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/datepicker/examples/datepicker&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Date picker&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/descriptionlist/examples/descriptionlist&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Description list&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/divider/examples/divider&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Divider&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/deprecated/components/dragdrop/examples/dragdrop&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Drag and drop&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/drawer/examples/drawer&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Drawer&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/dropdown/examples/dropdown&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Dropdown&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/duallistselector/examples/duallistselector&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Dual list selector&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/emptystate/examples/emptystate&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Empty state&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/expandablesection/examples/expandablesection&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Expandable section&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/form/examples/form&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Form&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/formselect/examples/formselect&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Form select&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/helpertext/examples/helpertext&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Helper text&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/hint/examples/hint&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Hint&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/icon/examples/icon&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Icon&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/inputgroup/examples/inputgroup&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Input group&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/jumplinks/examples/jumplinks&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Jump links&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/label/examples/label&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Label&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/list/examples/list&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;List&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/loginpage/examples/loginpage&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Login page&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/masthead/examples/masthead&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Masthead&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/menu/examples/menu&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Menu&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/menutoggle/examples/menutoggle&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Menu toggle&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/modal/examples/modal&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Modal&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/multiplefileupload/examples/multiplefileupload&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Multiple file upload&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/nav/examples/nav&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Navigation&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/notificationbadge/examples/notificationbadge&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Notification badge&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/notificationdrawer/examples/notificationdrawer&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Notification drawer&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/numberinput/examples/numberinput&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Number input&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/overflowmenu/examples/overflowmenu&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Overflow menu&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/page/examples/page&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Page&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/pagination/examples/pagination&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Pagination&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/panel/examples/panel&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Panel&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/popover/examples/popover&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Popover&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/progress/examples/progress&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Progress&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/progressstepper/examples/progressstepper&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Progress stepper&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/radio/examples/radio&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Radio&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/searchinput/examples/searchinput&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Search input&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/select/examples/select&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Select&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/sidebar/examples/sidebar&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Sidebar&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/fileupload/examples/fileupload&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Simple file upload&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/simplelist/examples/simplelist&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Simple list&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/skeleton/examples/skeleton&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Skeleton&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/skiptocontent/examples/skiptocontent&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Skip to content&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/slider/examples/slider&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Slider&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/spinner/examples/spinner&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Spinner&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/switch/examples/switch&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Switch&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/tabs/examples/tabs&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Tabs&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/textarea/examples/textarea&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Text area&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/textinput/examples/textinput&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Text input&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/textinputgroup/examples/textinputgroup&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Text input group&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/deprecated/components/tile/examples/tile&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Tile&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/timepicker/examples/timepicker&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Time picker&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/timestamp/examples/timestamp&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Timestamp&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/title/examples/title&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Title&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/togglegroup/examples/togglegroup&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Toggle group&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/toolbar/examples/toolbar&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Toolbar&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/tooltip/examples/tooltip&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Tooltip&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/treeview/examples/treeview&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Tree view&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/truncate/examples/truncate&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Truncate&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}],[0,{&quot;id&quot;:[0,&quot;src/components/wizard/examples/wizard&quot;],&quot;data&quot;:[0,{&quot;id&quot;:[0,&quot;Wizard&quot;],&quot;section&quot;:[0,&quot;components&quot;],&quot;sortValue&quot;:[0]}]}]]]]],&quot;data-astro-transition-scope&quot;:[0,&quot;astro-xikxfxwm-3&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;ReactNav&quot;,&quot;value&quot;:&quot;react&quot;}" data-astro-transition-scope="astro-xikxfxwm-3"></astro-island> <div class="pf-v6-c-page__main-container"> <main class="pf-v6-c-page__main"> <section class="pf-v6-c-page__main-section"><div class="pf-v6-c-page__main-body"> <section id="ws-sticky-nav-tabs" class="pf-v6-c-page__main-tabs pf-m-sticky-top"><div class="pf-v6-c-page__main-body"> <div class="pf-v6-c-tabs pf-m-page-insets pf-m-no-border-bottom"> <ul class="pf-v6-c-tabs__list"> <li class="pf-v6-c-tabs__item pf-m-current"> <a class="pf-v6-c-tabs__link" href="/components/toolbar/react"> React </a> </li> </ul> </div> </div></section><section id="main-content" class="pf-v6-c-page__main-section pf-m-fill"><div class="pf-v6-c-page__main-body"> <h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2941" data-pf-content="true" class="pf-v6-c-content--h2">Examples</h2>
46
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2942" data-pf-content="true" class="pf-v6-c-content--h3">Toolbar items</h3>
47
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2943" data-pf-content="true" class="pf-v6-c-content--p">A toolbar can contain multiple toolbar items, like filters and buttons.</p>
48
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2978" data-pf-content="true" class="pf-v6-c-content--p">Note: This example does not demonstrate responsive toolbar behavior. Responsive toolbars are shown in the <a data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2944" data-pf-content="true" class="pf-v6-c-content--a">examples with toggle groups and filters</a>.</p>
49
+
50
+ <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b8Uz9" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarContent } from &#39;@patternfly/react-core&#39;;\nimport { Button, SearchInput } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarItems: React.FunctionComponent = () =&gt; {\n const items = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;Items example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot; /&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar id=\&quot;toolbar-items-example\&quot;&gt;\n &lt;ToolbarContent&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
51
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2945" data-pf-content="true" class="pf-v6-c-content--h3">With adjusted inset</h3>
52
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2970" data-pf-content="true" class="pf-v6-c-content--p">To adjust a toolbar’s inset, use the <code>inset</code> property. You can set the inset value at multiple breakpoints, including “default”, “md”, “lg, “xl”, and “2xl”. Inset values include “insetNone”, “insetSm”, “insetMd”, “insetLg”, “insetXl”, and “inset2xl”.</p>
53
+
54
+ <astro-island uid="Z2igcwR" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarGroup, ToolbarContent } from &#39;@patternfly/react-core&#39;;\nimport { Button } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarInsets: React.FunctionComponent = () =&gt; {\n const items = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup variant=\&quot;action-group\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup variant=\&quot;action-group\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup variant=\&quot;action-group\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar\n id=\&quot;toolbar-insets\&quot;\n inset={{\n default: &#39;insetNone&#39;,\n md: &#39;insetSm&#39;,\n xl: &#39;inset2xl&#39;,\n &#39;2xl&#39;: &#39;insetLg&#39;\n }}\n &gt;\n &lt;ToolbarContent&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
55
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2946" data-pf-content="true" class="pf-v6-c-content--h3">Sticky toolbar</h3>
56
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2947" data-pf-content="true" class="pf-v6-c-content--p">To lock a toolbar and prevent it from scrolling with other content, use a sticky toolbar.</p>
57
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2948" data-pf-content="true" class="pf-v6-c-content--p">In the following example, toggle the “is toolbar sticky” checkbox to see the difference between a sticky and non-sticky toolbar.</p>
58
+
59
+ <astro-island uid="rSQo9" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarContent, SearchInput, Checkbox } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarSticky: React.FunctionComponent = () =&gt; {\n const [isSticky, setIsSticky] = useState(true);\n const [showEvenOnly, setShowEvenOnly] = useState(true);\n const array = Array.from(Array(30), (_, x) =&gt; x); // create array of numbers from 1-30 for demo purposes\n const numbers = showEvenOnly ? array.filter((number) =&gt; number % 2 === 0) : array;\n\n return (\n &lt;Fragment&gt;\n &lt;div style={{ overflowY: &#39;scroll&#39;, height: &#39;200px&#39; }}&gt;\n &lt;Toolbar id=\&quot;toolbar-sticky\&quot; inset={{ default: &#39;insetNone&#39; }} isSticky={isSticky}&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;Sticky example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem alignSelf=\&quot;center\&quot;&gt;\n &lt;Checkbox\n label=\&quot;Show only even number items\&quot;\n isChecked={showEvenOnly}\n onChange={(_event, checked) =&gt; setShowEvenOnly(checked)}\n id=\&quot;showOnlyEvenCheckbox\&quot;\n /&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;ul&gt;\n {numbers.map((number) =&gt; (\n &lt;li key={number}&gt;{`item ${number}`}&lt;/li&gt;\n ))}\n &lt;/ul&gt;\n &lt;/div&gt;\n &lt;Checkbox\n label=\&quot;Is toolbar sticky\&quot;\n isChecked={isSticky}\n onChange={(_event, checked) =&gt; setIsSticky(checked)}\n id=\&quot;isStickyCheckbox\&quot;\n /&gt;\n &lt;/Fragment&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
60
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2949" data-pf-content="true" class="pf-v6-c-content--h3">With groups of items</h3>
61
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2950" data-pf-content="true" class="pf-v6-c-content--p">You can group similar items together to create desired associations and to enable items to respond to changes in viewport width together.</p>
62
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2979" data-pf-content="true" class="pf-v6-c-content--p">Note: This example does not demonstrate responsive toolbar behavior. Responsive toolbars are shown in the <a data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2951" data-pf-content="true" class="pf-v6-c-content--a">examples with toggle groups and filters</a>.</p>
63
+
64
+ <astro-island uid="Z1nkPMa" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n Button,\n MenuToggle,\n MenuToggleElement,\n Toolbar,\n ToolbarContent,\n ToolbarGroup,\n ToolbarItem,\n Select,\n SelectList,\n SelectOption\n} from &#39;@patternfly/react-core&#39;;\nimport EditIcon from &#39;@patternfly/react-icons/dist/esm/icons/edit-icon&#39;;\nimport CloneIcon from &#39;@patternfly/react-icons/dist/esm/icons/clone-icon&#39;;\nimport SyncIcon from &#39;@patternfly/react-icons/dist/esm/icons/sync-icon&#39;;\n\nexport const ToolbarGroups: React.FunctionComponent = () =&gt; {\n const firstOptions = [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;];\n const secondOptions = [&#39;1&#39;, &#39;2&#39;, &#39;3&#39;];\n const thirdOptions = [&#39;I&#39;, &#39;II&#39;, &#39;III&#39;];\n\n const [firstIsExpanded, setFirstIsExpanded] = useState(false);\n const [firstSelected, setFirstSelected] = useState(&#39;&#39;);\n const [secondIsExpanded, setSecondIsExpanded] = useState(false);\n const [secondSelected, setSecondSelected] = useState(&#39;&#39;);\n const [thirdIsExpanded, setThirdIsExpanded] = useState(false);\n const [thirdSelected, setThirdSelected] = useState(&#39;&#39;);\n\n const onToggle = (filterName: string) =&gt; {\n switch (filterName) {\n case &#39;first&#39;:\n setFirstIsExpanded(!firstIsExpanded);\n break;\n case &#39;second&#39;:\n setSecondIsExpanded(!secondIsExpanded);\n break;\n case &#39;third&#39;:\n setThirdIsExpanded(!thirdIsExpanded);\n break;\n }\n };\n\n const onFirstSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setFirstSelected(selection);\n setFirstIsExpanded(false);\n };\n\n const onSecondSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setSecondSelected(selection);\n setSecondIsExpanded(false);\n };\n\n const onThirdSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setThirdSelected(selection);\n setThirdIsExpanded(false);\n };\n\n const filterGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onToggle(&#39;first&#39;)}\n isExpanded={firstIsExpanded}\n style={\n {\n width: &#39;88px&#39;\n } as React.CSSProperties\n }\n &gt;\n {firstSelected || &#39;First&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onFirstSelect}\n onOpenChange={(isOpen) =&gt; setFirstIsExpanded(isOpen)}\n selected={firstSelected}\n isOpen={firstIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {firstOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onToggle(&#39;second&#39;)}\n isExpanded={secondIsExpanded}\n style={\n {\n width: &#39;120px&#39;\n } as React.CSSProperties\n }\n &gt;\n {secondSelected || &#39;Second&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onSecondSelect}\n selected={secondSelected}\n onOpenChange={(isOpen) =&gt; setSecondIsExpanded(isOpen)}\n isOpen={secondIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {secondOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onToggle(&#39;third&#39;)}\n isExpanded={thirdIsExpanded}\n style={\n {\n width: &#39;96px&#39;\n } as React.CSSProperties\n }\n &gt;\n {thirdSelected || &#39;Third&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onThirdSelect}\n selected={thirdSelected}\n onOpenChange={(isOpen) =&gt; setThirdIsExpanded(isOpen)}\n isOpen={thirdIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {thirdOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n const iconButtonGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;edit\&quot; icon={&lt;EditIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;clone\&quot; icon={&lt;CloneIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;sync\&quot; icon={&lt;SyncIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n const buttonGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Secondary&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;tertiary\&quot;&gt;Tertiary&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n const items = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup variant=\&quot;filter-group\&quot;&gt;{filterGroupItems}&lt;/ToolbarGroup&gt;\n &lt;ToolbarGroup variant=\&quot;action-group-plain\&quot;&gt;{iconButtonGroupItems}&lt;/ToolbarGroup&gt;\n &lt;ToolbarGroup variant=\&quot;action-group\&quot;&gt;{buttonGroupItems}&lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar id=\&quot;toolbar-group-types\&quot;&gt;\n &lt;ToolbarContent&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
65
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2952" data-pf-content="true" class="pf-v6-c-content--h3">Background color variants</h3>
66
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2971" data-pf-content="true" class="pf-v6-c-content--p">To change the background color of a toolbar, use the <code>colorVariant</code> property on the <code>&lt;Toolbar&gt;</code>.</p>
67
+
68
+ <astro-island uid="i8odo" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarContent, Button, SearchInput } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarColorVariant: React.FunctionComponent = () =&gt; (\n &lt;Fragment&gt;\n No background\n &lt;Toolbar id=\&quot;toolbar-color-variant-no-background\&quot; colorVariant={&#39;no-background&#39;}&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;No backtround variant example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot; /&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Primary background\n &lt;Toolbar id=\&quot;toolbar-color-variant-primary\&quot; colorVariant={&#39;primary&#39;}&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;Primary background variant example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot; /&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Secondary background\n &lt;Toolbar id=\&quot;toolbar-color-variant-secondary\&quot; colorVariant={&#39;secondary&#39;}&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;Secondary background variant example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot; /&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;/Fragment&gt;\n);\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
69
+ <h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2953" data-pf-content="true" class="pf-v6-c-content--h2">Examples with toggle groups and filters</h2>
70
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2954" data-pf-content="true" class="pf-v6-c-content--p">The following examples use toggle groups to allow for more responsive and complex toolbars with multiple items and groups of items. To visualize responsive toolbar behavior in the following examples, resize the browser to a smaller screen width.</p>
71
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2955" data-pf-content="true" class="pf-v6-c-content--h3">Component managed toggle groups</h3>
72
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2956" data-pf-content="true" class="pf-v6-c-content--p">A toggle group allows you to collapse a set of items into an overlay panel at a certain breakpoint. For example, when a toggle group contains filter controls, its contents will collapse into an overlay panel when the toolbar adapts to a change in the viewport size. The contents can be toggled by selecting the filter icon in the overlay panel.</p>
73
+
74
+ <astro-island uid="ZcCRjQ" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n MenuToggle,\n MenuToggleElement,\n Toolbar,\n ToolbarItem,\n ToolbarContent,\n ToolbarToggleGroup,\n ToolbarGroup,\n SearchInput,\n Select,\n SelectList,\n SelectOption\n} from &#39;@patternfly/react-core&#39;;\nimport FilterIcon from &#39;@patternfly/react-icons/dist/esm/icons/filter-icon&#39;;\n\nexport const ToolbarComponentManagedToggleGroup: React.FunctionComponent = () =&gt; {\n const [inputValue, setInputValue] = useState(&#39;&#39;);\n const [statusIsExpanded, setStatusIsExpanded] = useState(false);\n const [statusSelected, setStatusSelected] = useState(&#39;&#39;);\n const [riskIsExpanded, setRiskIsExpanded] = useState(false);\n const [riskSelected, setRiskSelected] = useState(&#39;&#39;);\n\n const statusOptions = [&#39;New&#39;, &#39;Pending&#39;, &#39;Running&#39;, &#39;Cancelled&#39;];\n const riskOptions = [&#39;Risk&#39;, &#39;Low&#39;, &#39;Medium&#39;, &#39;High&#39;];\n\n const onInputChange = (newValue: string) =&gt; {\n setInputValue(newValue);\n };\n\n const onStatusToggle = () =&gt; {\n setStatusIsExpanded(!statusIsExpanded);\n };\n\n const onStatusSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setStatusSelected(selection);\n setStatusIsExpanded(false);\n };\n\n const onRiskToggle = () =&gt; {\n setRiskIsExpanded(!riskIsExpanded);\n };\n\n const onRiskSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setRiskSelected(selection);\n setRiskIsExpanded(false);\n };\n\n const toggleGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput\n aria-label=\&quot;Component toggle groups example search input\&quot;\n onChange={(_event, value) =&gt; onInputChange(value)}\n value={inputValue}\n onClear={() =&gt; {\n onInputChange(&#39;&#39;);\n }}\n /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarGroup variant=\&quot;filter-group\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onStatusToggle()}\n isExpanded={statusIsExpanded}\n style={\n {\n width: &#39;150px&#39;\n } as React.CSSProperties\n }\n &gt;\n {statusSelected || &#39;Status&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onStatusSelect}\n onOpenChange={(isOpen) =&gt; setStatusIsExpanded(isOpen)}\n selected={statusSelected}\n isOpen={statusIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {statusOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onRiskToggle()}\n isExpanded={riskIsExpanded}\n style={\n {\n width: &#39;120px&#39;\n } as React.CSSProperties\n }\n &gt;\n {riskSelected || &#39;Risk&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onRiskSelect}\n selected={riskSelected}\n isOpen={riskIsExpanded}\n onOpenChange={(isOpen) =&gt; setRiskIsExpanded(isOpen)}\n &gt;\n &lt;SelectList&gt;\n {riskOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const items = (\n &lt;ToolbarToggleGroup toggleIcon={&lt;FilterIcon /&gt;} breakpoint=\&quot;xl\&quot;&gt;\n {toggleGroupItems}\n &lt;/ToolbarToggleGroup&gt;\n );\n\n return (\n &lt;Toolbar id=\&quot;toolbar-component-managed-toggle-groups\&quot; className=\&quot;pf-m-toggle-group-container\&quot;&gt;\n &lt;ToolbarContent&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
75
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2957" data-pf-content="true" class="pf-v6-c-content--h3">Consumer managed toggle groups</h3>
76
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2958" data-pf-content="true" class="pf-v6-c-content--p">To manually create the expanded state of the toggle group for smaller screen widths:</p>
77
+ <ol data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2980" data-pf-content="true" class="pf-v6-c-content--ol">
78
+ <li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2972" data-pf-content="true" class="pf-v6-c-content--li">Add a <code>toggleIsExpanded</code> callback to the toolbar</li>
79
+ <li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2973" data-pf-content="true" class="pf-v6-c-content--li">Pass a boolean into the <code>isExpanded</code> property of the toolbar</li>
80
+ </ol>
81
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2959" data-pf-content="true" class="pf-v6-c-content--p">Note: The toggle group is aware of the consumer provided breakpoint, the expandable content is not. If the expandable content is expanded and the screen width surpasses that of the breakpoint, the expandable content is not aware of that and will remain open. Be sure to consider and handle this in your implementation.</p>
82
+
83
+ <astro-island uid="ZU4v3N" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n MenuToggle,\n MenuToggleElement,\n Toolbar,\n ToolbarItem,\n ToolbarContent,\n ToolbarToggleGroup,\n ToolbarGroup,\n SearchInput,\n Select,\n SelectList,\n SelectOption\n} from &#39;@patternfly/react-core&#39;;\nimport FilterIcon from &#39;@patternfly/react-icons/dist/esm/icons/filter-icon&#39;;\n\nexport const ToolbarConsumerManagedToggleGroup: React.FunctionComponent = () =&gt; {\n const [isExpanded, setIsExpanded] = useState(false);\n const [inputValue, setInputValue] = useState(&#39;&#39;);\n const [statusIsExpanded, setStatusIsExpanded] = useState(false);\n const [statusSelected, setStatusSelected] = useState(&#39;&#39;);\n const [riskIsExpanded, setRiskIsExpanded] = useState(false);\n const [riskSelected, setRiskSelected] = useState(&#39;&#39;);\n\n const toggleIsExpanded = () =&gt; {\n setIsExpanded(!isExpanded);\n };\n\n const statusOptions = [&#39;New&#39;, &#39;Pending&#39;, &#39;Running&#39;, &#39;Cancelled&#39;];\n const riskOptions = [&#39;Risk&#39;, &#39;Low&#39;, &#39;Medium&#39;, &#39;High&#39;];\n\n const onInputChange = (newValue: string) =&gt; {\n setInputValue(newValue);\n };\n\n const onStatusToggle = () =&gt; {\n setStatusIsExpanded(!statusIsExpanded);\n };\n\n const onStatusSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setStatusSelected(selection);\n setStatusIsExpanded(false);\n };\n\n const onRiskToggle = () =&gt; {\n setRiskIsExpanded(!riskIsExpanded);\n };\n\n const onRiskSelect = (_event: React.MouseEvent&lt;Element, MouseEvent&gt; | undefined, selection: string) =&gt; {\n setRiskSelected(selection);\n setRiskIsExpanded(false);\n };\n\n const toggleGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput\n aria-label=\&quot;Consumer toggle groups example search input\&quot;\n onChange={(_event, value) =&gt; onInputChange(value)}\n value={inputValue}\n onClear={() =&gt; {\n onInputChange(&#39;&#39;);\n }}\n /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarGroup variant=\&quot;filter-group\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onStatusToggle()}\n isExpanded={statusIsExpanded}\n style={\n {\n width: &#39;150px&#39;\n } as React.CSSProperties\n }\n &gt;\n {statusSelected || &#39;Status&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onStatusSelect}\n onOpenChange={(isOpen) =&gt; setStatusIsExpanded(isOpen)}\n selected={statusSelected}\n isOpen={statusIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {statusOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onRiskToggle()}\n isExpanded={riskIsExpanded}\n style={\n {\n width: &#39;120px&#39;\n } as React.CSSProperties\n }\n &gt;\n {riskSelected || &#39;Risk&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onRiskSelect}\n selected={riskSelected}\n isOpen={riskIsExpanded}\n onOpenChange={(isOpen) =&gt; setRiskIsExpanded(isOpen)}\n &gt;\n &lt;SelectList&gt;\n {riskOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const items = (\n &lt;ToolbarToggleGroup toggleIcon={&lt;FilterIcon /&gt;} breakpoint=\&quot;xl\&quot;&gt;\n {toggleGroupItems}\n &lt;/ToolbarToggleGroup&gt;\n );\n\n return (\n &lt;Toolbar\n id=\&quot;toolbar-consumer-managed-toggle-groups\&quot;\n isExpanded={isExpanded}\n className=\&quot;pf-m-toggle-group-container\&quot;\n toggleIsExpanded={toggleIsExpanded}\n &gt;\n &lt;ToolbarContent&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
84
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2960" data-pf-content="true" class="pf-v6-c-content--h3">With filters</h3>
85
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2961" data-pf-content="true" class="pf-v6-c-content--p">You can add filters to a toolbar to let users filter the content that a toolbar manages. When a toolbar is filtered, it will expand in height to make space for a row of filter labels and a “Clear all filters” button. Upon clearing the applied filters, the toolbar will return to its default height.</p>
86
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2974" data-pf-content="true" class="pf-v6-c-content--p">The <code>&lt;ToolbarFilter&gt;</code> component expects applied filters and a delete label handler to be passed in as properties. Pass in a <code>deleteLabelGroup</code> property to close the entire label group. Once close, the rendering of labels will be handled responsively by the toolbar.</p>
87
+
88
+ <astro-island uid="2wmrqz" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n Button,\n Dropdown,\n DropdownList,\n DropdownItem,\n Toolbar,\n ToolbarItem,\n ToolbarContent,\n ToolbarFilter,\n ToolbarToggleGroup,\n ToolbarGroup,\n Badge,\n MenuToggle,\n MenuToggleElement,\n SearchInput,\n Select,\n SelectList,\n SelectOption\n} from &#39;@patternfly/react-core&#39;;\nimport FilterIcon from &#39;@patternfly/react-icons/dist/esm/icons/filter-icon&#39;;\nimport EditIcon from &#39;@patternfly/react-icons/dist/esm/icons/edit-icon&#39;;\nimport CloneIcon from &#39;@patternfly/react-icons/dist/esm/icons/clone-icon&#39;;\nimport SyncIcon from &#39;@patternfly/react-icons/dist/esm/icons/sync-icon&#39;;\nimport EllipsisVIcon from &#39;@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon&#39;;\n\nexport const ToolbarWithFilters: React.FunctionComponent = () =&gt; {\n const [inputValue, setInputValue] = useState(&#39;&#39;);\n const [isStatusExpanded, setIsStatusExpanded] = useState(false);\n const [isRiskExpanded, setIsRiskExpanded] = useState(false);\n const [filters, setFilters] = useState({\n risk: [&#39;Low&#39;],\n status: [&#39;New&#39;, &#39;Pending&#39;]\n });\n const [isKebabOpen, setIsKebabOpen] = useState(false);\n\n const onInputChange = (newValue: string) =&gt; {\n setInputValue(newValue);\n };\n\n const onSelect = (type: string, event: React.MouseEvent | React.ChangeEvent, selection: string) =&gt; {\n const checked = (event.target as HTMLInputElement).checked;\n setFilters((prev) =&gt; {\n const prevSelections = prev[type];\n return {\n ...prev,\n [type]: checked ? [...prevSelections, selection] : prevSelections.filter((value) =&gt; value !== selection)\n };\n });\n };\n\n const onStatusSelect = (event: React.MouseEvent | React.ChangeEvent, selection: string) =&gt; {\n onSelect(&#39;status&#39;, event, selection);\n };\n\n const onRiskSelect = (event: React.MouseEvent | React.ChangeEvent, selection: string) =&gt; {\n onSelect(&#39;risk&#39;, event, selection);\n };\n\n const onDelete = (type: string, id: string) =&gt; {\n if (type === &#39;Risk&#39;) {\n setFilters({ risk: filters.risk.filter((fil: string) =&gt; fil !== id), status: filters.status });\n } else if (type === &#39;Status&#39;) {\n setFilters({ risk: filters.risk, status: filters.status.filter((fil: string) =&gt; fil !== id) });\n } else {\n setFilters({ risk: [], status: [] });\n }\n };\n\n const onDeleteGroup = (type: string) =&gt; {\n if (type === &#39;Risk&#39;) {\n setFilters({ risk: [], status: filters.status });\n } else if (type === &#39;Status&#39;) {\n setFilters({ risk: filters.risk, status: [] });\n }\n };\n\n const onStatusToggle = () =&gt; {\n setIsStatusExpanded(!isStatusExpanded);\n };\n\n const onRiskToggle = () =&gt; {\n setIsRiskExpanded(!isRiskExpanded);\n };\n\n const onKebabToggle = () =&gt; {\n setIsKebabOpen(!isKebabOpen);\n };\n\n const statusMenuItems = (\n &lt;SelectList&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusNew\&quot; value=\&quot;New\&quot; isSelected={filters.status.includes(&#39;New&#39;)}&gt;\n New\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusPending\&quot; value=\&quot;Pending\&quot; isSelected={filters.status.includes(&#39;Pending&#39;)}&gt;\n Pending\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusRunning\&quot; value=\&quot;Running\&quot; isSelected={filters.status.includes(&#39;Running&#39;)}&gt;\n Running\n &lt;/SelectOption&gt;\n &lt;SelectOption\n hasCheckbox\n key=\&quot;statusCancelled\&quot;\n value=\&quot;Cancelled\&quot;\n isSelected={filters.status.includes(&#39;Cancelled&#39;)}\n &gt;\n Cancelled\n &lt;/SelectOption&gt;\n &lt;/SelectList&gt;\n );\n\n const riskMenuItems = (\n &lt;SelectList&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskLow\&quot; value=\&quot;Low\&quot; isSelected={filters.risk.includes(&#39;Low&#39;)}&gt;\n Low\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskMedium\&quot; value=\&quot;Medium\&quot; isSelected={filters.risk.includes(&#39;Medium&#39;)}&gt;\n Medium\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskHigh\&quot; value=\&quot;High\&quot; isSelected={filters.risk.includes(&#39;High&#39;)}&gt;\n High\n &lt;/SelectOption&gt;\n &lt;/SelectList&gt;\n );\n\n const toggleGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput\n aria-label=\&quot;With filters example search input\&quot;\n onChange={(_event, value) =&gt; onInputChange(value)}\n value={inputValue}\n onClear={() =&gt; {\n onInputChange(&#39;&#39;);\n }}\n /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarGroup variant=\&quot;filter-group\&quot;&gt;\n &lt;ToolbarFilter\n labels={filters.status}\n deleteLabel={(category, label) =&gt; onDelete(category as string, label as string)}\n deleteLabelGroup={(category) =&gt; onDeleteGroup(category as string)}\n categoryName=\&quot;Status\&quot;\n &gt;\n &lt;Select\n aria-label=\&quot;Status\&quot;\n role=\&quot;menu\&quot;\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={onStatusToggle}\n isExpanded={isStatusExpanded}\n style={\n {\n width: &#39;140px&#39;\n } as React.CSSProperties\n }\n &gt;\n Status\n {filters.status.length &gt; 0 &amp;&amp; &lt;Badge isRead&gt;{filters.status.length}&lt;/Badge&gt;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onStatusSelect}\n selected={filters.status}\n isOpen={isStatusExpanded}\n onOpenChange={(isOpen) =&gt; setIsStatusExpanded(isOpen)}\n &gt;\n {statusMenuItems}\n &lt;/Select&gt;\n &lt;/ToolbarFilter&gt;\n &lt;ToolbarFilter\n labels={filters.risk}\n deleteLabel={(category, label) =&gt; onDelete(category as string, label as string)}\n categoryName=\&quot;Risk\&quot;\n &gt;\n &lt;Select\n aria-label=\&quot;Risk\&quot;\n role=\&quot;menu\&quot;\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={onRiskToggle}\n isExpanded={isRiskExpanded}\n style={\n {\n width: &#39;140px&#39;\n } as React.CSSProperties\n }\n &gt;\n Risk\n {filters.risk.length &gt; 0 &amp;&amp; &lt;Badge isRead&gt;{filters.risk.length}&lt;/Badge&gt;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onRiskSelect}\n selected={filters.risk}\n isOpen={isRiskExpanded}\n onOpenChange={(isOpen) =&gt; setIsRiskExpanded(isOpen)}\n &gt;\n {riskMenuItems}\n &lt;/Select&gt;\n &lt;/ToolbarFilter&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const toolbarItems = (\n &lt;Fragment&gt;\n &lt;ToolbarToggleGroup toggleIcon={&lt;FilterIcon /&gt;} breakpoint=\&quot;xl\&quot;&gt;\n {toggleGroupItems}\n &lt;/ToolbarToggleGroup&gt;\n &lt;ToolbarGroup variant=\&quot;action-group-plain\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;edit\&quot; icon={&lt;EditIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;clone\&quot; icon={&lt;CloneIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;sync\&quot; icon={&lt;SyncIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem&gt;\n &lt;Dropdown\n popperProps={{ position: &#39;right&#39; }}\n isOpen={isKebabOpen}\n onOpenChange={(isOpen: boolean) =&gt; setIsKebabOpen(isOpen)}\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n isExpanded={isKebabOpen}\n onClick={onKebabToggle}\n variant=\&quot;plain\&quot;\n aria-label=\&quot;Toolbar with filters example kebab toggle\&quot;\n icon={&lt;EllipsisVIcon /&gt;}\n /&gt;\n )}\n &gt;\n &lt;DropdownList&gt;\n &lt;DropdownItem&gt;Action&lt;/DropdownItem&gt;\n &lt;DropdownItem\n to=\&quot;#default-link2\&quot;\n // Prevent the default onClick functionality for example purposes\n onClick={(ev: any) =&gt; ev.preventDefault()}\n &gt;\n Link\n &lt;/DropdownItem&gt;\n &lt;DropdownItem isDisabled&gt;Disabled Action&lt;/DropdownItem&gt;\n &lt;DropdownItem isDisabled to=\&quot;#default-link4\&quot;&gt;\n Disabled Link\n &lt;/DropdownItem&gt;\n &lt;/DropdownList&gt;\n &lt;/Dropdown&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar\n id=\&quot;toolbar-with-filter\&quot;\n className=\&quot;pf-m-toggle-group-container\&quot;\n collapseListedFiltersBreakpoint=\&quot;xl\&quot;\n clearAllFilters={() =&gt; onDelete(&#39;&#39;, &#39;&#39;)}\n &gt;\n &lt;ToolbarContent&gt;{toolbarItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
89
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2962" data-pf-content="true" class="pf-v6-c-content--h3">With custom label group content</h3>
90
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2975" data-pf-content="true" class="pf-v6-c-content--p">To customize the label groups generated by toolbar filters, use the <code>customLabelGroupContent</code> property on the <code>&lt;Toolbar&gt;</code>. This property will remove the default <code>clear all filters</code> button.</p>
91
+
92
+ <astro-island uid="Z2rNfaj" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n Toolbar,\n ToolbarItem,\n ToolbarContent,\n ToolbarFilter,\n ToolbarToggleGroup,\n ToolbarGroup,\n Badge,\n Button,\n MenuToggle,\n MenuToggleElement,\n Select,\n SelectList,\n SelectOption\n} from &#39;@patternfly/react-core&#39;;\nimport FilterIcon from &#39;@patternfly/react-icons/dist/esm/icons/filter-icon&#39;;\nimport EditIcon from &#39;@patternfly/react-icons/dist/esm/icons/edit-icon&#39;;\nimport CloneIcon from &#39;@patternfly/react-icons/dist/esm/icons/clone-icon&#39;;\nimport SyncIcon from &#39;@patternfly/react-icons/dist/esm/icons/sync-icon&#39;;\n\nexport const ToolbarCustomLabelGroupContent: React.FunctionComponent = () =&gt; {\n const [statusIsExpanded, setStatusIsExpanded] = useState&lt;boolean&gt;(false);\n const [riskIsExpanded, setRiskIsExpanded] = useState&lt;boolean&gt;(false);\n const [filters, setFilters] = useState({\n risk: [&#39;Low&#39;],\n status: [&#39;New&#39;, &#39;Pending&#39;]\n });\n\n const onDelete = (type: string, id: string) =&gt; {\n if (type === &#39;Risk&#39;) {\n setFilters({ risk: filters.risk.filter((fil: string) =&gt; fil !== id), status: filters.status });\n } else if (type === &#39;Status&#39;) {\n setFilters({ risk: filters.risk, status: filters.status.filter((fil: string) =&gt; fil !== id) });\n } else {\n setFilters({ risk: [], status: [] });\n }\n };\n\n const onDeleteGroup = (type: string) =&gt; {\n if (type === &#39;Risk&#39;) {\n setFilters({ risk: [], status: filters.status });\n } else if (type === &#39;Status&#39;) {\n setFilters({ risk: filters.risk, status: [] });\n }\n };\n\n const onSelect = (type: &#39;Risk&#39; | &#39;Status&#39;, event: React.MouseEvent | React.ChangeEvent, selection: string) =&gt; {\n const checked = (event.target as any).checked;\n if (type === &#39;Risk&#39;) {\n setFilters({\n risk: checked ? [...filters.risk, selection] : filters.risk.filter((fil: string) =&gt; fil !== selection),\n status: filters.status\n });\n } else if (type === &#39;Status&#39;) {\n setFilters({\n risk: filters.risk,\n status: checked ? [...filters.status, selection] : filters.status.filter((fil: string) =&gt; fil !== selection)\n });\n }\n };\n\n const statusMenuItems = (\n &lt;SelectList&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusNew\&quot; value=\&quot;New\&quot; isSelected={filters.status.includes(&#39;New&#39;)}&gt;\n New\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusPending\&quot; value=\&quot;Pending\&quot; isSelected={filters.status.includes(&#39;Pending&#39;)}&gt;\n Pending\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;statusRunning\&quot; value=\&quot;Running\&quot; isSelected={filters.status.includes(&#39;Running&#39;)}&gt;\n Running\n &lt;/SelectOption&gt;\n &lt;SelectOption\n hasCheckbox\n key=\&quot;statusCancelled\&quot;\n value=\&quot;Cancelled\&quot;\n isSelected={filters.status.includes(&#39;Cancelled&#39;)}\n &gt;\n Cancelled\n &lt;/SelectOption&gt;\n &lt;/SelectList&gt;\n );\n\n const riskMenuItems = (\n &lt;SelectList&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskLow\&quot; value=\&quot;Low\&quot; isSelected={filters.risk.includes(&#39;Low&#39;)}&gt;\n Low\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskMedium\&quot; value=\&quot;Medium\&quot; isSelected={filters.risk.includes(&#39;Medium&#39;)}&gt;\n Medium\n &lt;/SelectOption&gt;\n &lt;SelectOption hasCheckbox key=\&quot;riskHigh\&quot; value=\&quot;High\&quot; isSelected={filters.risk.includes(&#39;High&#39;)}&gt;\n High\n &lt;/SelectOption&gt;\n &lt;/SelectList&gt;\n );\n\n const toggleGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup variant=\&quot;filter-group\&quot;&gt;\n &lt;ToolbarFilter\n labels={filters.status}\n deleteLabel={(category, label) =&gt; onDelete(category as string, label as string)}\n deleteLabelGroup={(category) =&gt; onDeleteGroup(category as string)}\n categoryName=\&quot;Status\&quot;\n &gt;\n &lt;Select\n aria-label=\&quot;Status\&quot;\n role=\&quot;menu\&quot;\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; setStatusIsExpanded(!statusIsExpanded)}\n isExpanded={statusIsExpanded}\n style={\n {\n width: &#39;140px&#39;\n } as React.CSSProperties\n }\n &gt;\n Status\n {filters.status.length &gt; 0 &amp;&amp; &lt;Badge isRead&gt;{filters.status.length}&lt;/Badge&gt;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={(event, selection) =&gt; onSelect(&#39;Status&#39;, event, selection as string)}\n selected={filters.status}\n isOpen={statusIsExpanded}\n onOpenChange={(isOpen) =&gt; setStatusIsExpanded(isOpen)}\n &gt;\n {statusMenuItems}\n &lt;/Select&gt;\n &lt;/ToolbarFilter&gt;\n &lt;ToolbarFilter\n labels={filters.risk}\n deleteLabel={(category, label) =&gt; onDelete(category as string, label as string)}\n deleteLabelGroup={(category) =&gt; onDeleteGroup(category as string)}\n categoryName=\&quot;Risk\&quot;\n &gt;\n &lt;Select\n aria-label=\&quot;Risk\&quot;\n role=\&quot;menu\&quot;\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; setRiskIsExpanded(!riskIsExpanded)}\n isExpanded={riskIsExpanded}\n style={\n {\n width: &#39;140px&#39;\n } as React.CSSProperties\n }\n &gt;\n Risk\n {filters.risk.length &gt; 0 &amp;&amp; &lt;Badge isRead&gt;{filters.risk.length}&lt;/Badge&gt;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={(event, selection) =&gt; onSelect(&#39;Risk&#39;, event, selection as string)}\n selected={filters.risk}\n isOpen={riskIsExpanded}\n onOpenChange={(isOpen) =&gt; setRiskIsExpanded(isOpen)}\n &gt;\n {riskMenuItems}\n &lt;/Select&gt;\n &lt;/ToolbarFilter&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const toolbarItems = (\n &lt;Fragment&gt;\n &lt;ToolbarToggleGroup toggleIcon={&lt;FilterIcon /&gt;} breakpoint=\&quot;xl\&quot;&gt;\n {toggleGroupItems}\n &lt;/ToolbarToggleGroup&gt;\n &lt;ToolbarGroup variant=\&quot;action-group-plain\&quot;&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;edit\&quot; icon={&lt;EditIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;clone\&quot; icon={&lt;CloneIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;plain\&quot; aria-label=\&quot;sync\&quot; icon={&lt;SyncIcon /&gt;} /&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const customLabelGroupContent = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;link\&quot; onClick={() =&gt; {}} isInline&gt;\n Save filters\n &lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;link\&quot; onClick={() =&gt; onDelete(&#39;&#39;, &#39;&#39;)} isInline&gt;\n Clear all filters\n &lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar\n id=\&quot;toolbar-with-custom-label-group\&quot;\n className=\&quot;pf-m-toggle-group-container\&quot;\n collapseListedFiltersBreakpoint=\&quot;xl\&quot;\n customLabelGroupContent={customLabelGroupContent}\n &gt;\n &lt;ToolbarContent&gt;{toolbarItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
93
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2963" data-pf-content="true" class="pf-v6-c-content--h3">Stacked example</h3>
94
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2964" data-pf-content="true" class="pf-v6-c-content--p">When all of a toolbar’s required elements cannot fit in a single line, you can split toolbar items into multiple rows.</p>
95
+
96
+ <astro-island uid="Z1Q09RP" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment, useState } from &#39;react&#39;;\nimport {\n Button,\n ButtonVariant,\n Select,\n SelectList,\n SelectOption,\n Pagination,\n Dropdown,\n DropdownItem,\n DropdownList,\n Divider,\n MenuToggle,\n MenuToggleCheckbox,\n MenuToggleElement,\n OverflowMenu,\n OverflowMenuContent,\n OverflowMenuControl,\n OverflowMenuGroup,\n OverflowMenuItem,\n Toolbar,\n ToolbarContent,\n ToolbarToggleGroup,\n ToolbarItem\n} from &#39;@patternfly/react-core&#39;;\nimport FilterIcon from &#39;@patternfly/react-icons/dist/esm/icons/filter-icon&#39;;\nimport EllipsisVIcon from &#39;@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon&#39;;\n\nexport const ToolbarStacked: React.FunctionComponent = () =&gt; {\n // toggle group - three option menus with labels, two icon buttons, Kebab menu - right aligned\n // pagination - right aligned\n const resourceOptions = [&#39;All resources&#39;, &#39;Deployment&#39;, &#39;Pod&#39;];\n const statusOptions = [&#39;New&#39;, &#39;Pending&#39;, &#39;Running&#39;, &#39;Cancelled&#39;];\n\n const [kebabIsOpen, setKebabIsOpen] = useState(false);\n const [resourceIsExpanded, setResourceIsExpanded] = useState(false);\n const [resourceSelected, setResourceSelected] = useState(&#39;&#39;);\n const [statusIsExpanded, setStatusIsExpanded] = useState(false);\n const [statusSelected, setStatusSelected] = useState(&#39;&#39;);\n const [isSplitButtonDropdownOpen, setIsSplitButtonDropdownOpen] = useState(false);\n const [page, setPage] = useState(1);\n const [perPage, setPerPage] = useState(20);\n\n const onKebabToggle = () =&gt; {\n setKebabIsOpen(!kebabIsOpen);\n };\n\n const onResourceToggle = () =&gt; {\n setResourceIsExpanded(!resourceIsExpanded);\n };\n\n const onResourceSelect = (_event: React.ChangeEvent | React.MouseEvent, selection: string) =&gt; {\n setResourceSelected(selection);\n setResourceIsExpanded(false);\n };\n\n const onResourceSelectDropdown = () =&gt; {\n setResourceIsExpanded(false);\n };\n\n const onStatusToggle = () =&gt; {\n setStatusIsExpanded(!statusIsExpanded);\n };\n\n const onStatusSelect = (_event: React.ChangeEvent | React.MouseEvent, selection: string) =&gt; {\n setStatusSelected(selection);\n setStatusIsExpanded(false);\n };\n\n const onSetPage = (_event: React.MouseEvent | React.KeyboardEvent | MouseEvent, pageNumber: number) =&gt; {\n setPage(pageNumber);\n };\n\n const onPerPageSelect = (\n _event: React.MouseEvent | React.KeyboardEvent | MouseEvent,\n perPage: number,\n page: number\n ) =&gt; {\n setPage(page);\n setPerPage(perPage);\n };\n\n const onSplitButtonToggle = () =&gt; {\n setIsSplitButtonDropdownOpen(!isSplitButtonDropdownOpen);\n };\n\n const onSplitButtonSelect = () =&gt; {\n setIsSplitButtonDropdownOpen(!isSplitButtonDropdownOpen);\n };\n\n const dropdownItems = (\n &lt;&gt;\n &lt;DropdownItem&gt;Action&lt;/DropdownItem&gt;\n &lt;DropdownItem\n to=\&quot;#default-link2\&quot;\n // Prevent the default onClick functionality for example purposes\n onClick={(ev: any) =&gt; ev.preventDefault()}\n &gt;\n Link\n &lt;/DropdownItem&gt;\n &lt;DropdownItem isDisabled&gt;Disabled Action&lt;/DropdownItem&gt;\n &lt;DropdownItem isDisabled to=\&quot;#default-link4\&quot;&gt;\n Disabled Link\n &lt;/DropdownItem&gt;\n &lt;/&gt;\n );\n const splitButtonDropdownItems = (\n &lt;&gt;\n &lt;DropdownItem value={0} key=\&quot;action\&quot;&gt;\n Action\n &lt;/DropdownItem&gt;\n &lt;DropdownItem\n value={1}\n key=\&quot;link\&quot;\n to=\&quot;#default-link2\&quot;\n // Prevent the default onClick functionality for example purposes\n onClick={(ev: any) =&gt; ev.preventDefault()}\n &gt;\n Link\n &lt;/DropdownItem&gt;\n &lt;DropdownItem value={2} isDisabled key=\&quot;disabled action\&quot;&gt;\n Disabled Action\n &lt;/DropdownItem&gt;\n &lt;DropdownItem value={3} isDisabled key=\&quot;disabled link\&quot; to=\&quot;#default-link4\&quot;&gt;\n Disabled Link\n &lt;/DropdownItem&gt;\n &lt;/&gt;\n );\n\n const toggleGroupItems = (\n &lt;Fragment&gt;\n &lt;ToolbarItem variant=\&quot;label\&quot; id=\&quot;stacked-example-resource-select\&quot;&gt;\n Resource\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onResourceToggle()}\n isExpanded={resourceIsExpanded}\n style={\n {\n width: &#39;150px&#39;\n } as React.CSSProperties\n }\n &gt;\n {resourceSelected || &#39;Resource&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onResourceSelect}\n selected={resourceSelected}\n onOpenChange={(isOpen) =&gt; setResourceIsExpanded(isOpen)}\n isOpen={resourceIsExpanded}\n aria-labelledby=\&quot;stacked-example-resource-select\&quot;\n &gt;\n &lt;SelectList&gt;\n {resourceOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;label\&quot; id=\&quot;stacked-example-status-select\&quot;&gt;\n Status\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Select\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n onClick={() =&gt; onStatusToggle()}\n isExpanded={statusIsExpanded}\n style={\n {\n width: &#39;150px&#39;\n } as React.CSSProperties\n }\n &gt;\n {statusSelected || &#39;Status&#39;}\n &lt;/MenuToggle&gt;\n )}\n onSelect={onStatusSelect}\n onOpenChange={(isOpen) =&gt; setStatusIsExpanded(isOpen)}\n selected={statusSelected}\n isOpen={statusIsExpanded}\n &gt;\n &lt;SelectList&gt;\n {statusOptions.map((option, index) =&gt; (\n &lt;SelectOption key={index} value={option}&gt;\n {option}\n &lt;/SelectOption&gt;\n ))}\n &lt;/SelectList&gt;\n &lt;/Select&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n const firstRowItems = (\n &lt;Fragment&gt;\n &lt;Toolbar&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarToggleGroup variant=\&quot;label-group\&quot; toggleIcon={&lt;FilterIcon /&gt;} breakpoint=\&quot;lg\&quot;&gt;\n {toggleGroupItems}\n &lt;/ToolbarToggleGroup&gt;\n &lt;ToolbarItem&gt;\n &lt;OverflowMenu breakpoint=\&quot;xl\&quot;&gt;\n &lt;OverflowMenuContent&gt;\n &lt;OverflowMenuGroup groupType=\&quot;button\&quot;&gt;\n &lt;OverflowMenuItem&gt;\n &lt;Button variant={ButtonVariant.primary}&gt;Primary&lt;/Button&gt;\n &lt;/OverflowMenuItem&gt;\n &lt;OverflowMenuItem&gt;\n &lt;Button variant={ButtonVariant.secondary}&gt;Secondary&lt;/Button&gt;\n &lt;/OverflowMenuItem&gt;\n &lt;/OverflowMenuGroup&gt;\n &lt;/OverflowMenuContent&gt;\n &lt;OverflowMenuControl hasAdditionalOptions&gt;\n &lt;Dropdown\n onSelect={onResourceSelectDropdown}\n onOpenChange={(isOpen: boolean) =&gt; setKebabIsOpen(isOpen)}\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n aria-label=\&quot;Kebab overflow menu\&quot;\n variant=\&quot;plain\&quot;\n onClick={onKebabToggle}\n isExpanded={kebabIsOpen}\n icon={&lt;EllipsisVIcon /&gt;}\n /&gt;\n )}\n isOpen={kebabIsOpen}\n &gt;\n &lt;DropdownList&gt;{dropdownItems}&lt;/DropdownList&gt;\n &lt;/Dropdown&gt;\n &lt;/OverflowMenuControl&gt;\n &lt;/OverflowMenu&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;/Fragment&gt;\n );\n\n const secondRowItems = (\n &lt;Fragment&gt;\n &lt;Toolbar&gt;\n &lt;ToolbarContent&gt;\n &lt;ToolbarItem&gt;\n &lt;Dropdown\n onSelect={onSplitButtonSelect}\n isOpen={isSplitButtonDropdownOpen}\n onOpenChange={(isOpen: boolean) =&gt; setIsSplitButtonDropdownOpen(isOpen)}\n toggle={(toggleRef: React.Ref&lt;MenuToggleElement&gt;) =&gt; (\n &lt;MenuToggle\n ref={toggleRef}\n isExpanded={isSplitButtonDropdownOpen}\n onClick={onSplitButtonToggle}\n aria-label=\&quot;Toolbar stacked example split toggle\&quot;\n splitButtonItems={[\n &lt;MenuToggleCheckbox\n key=\&quot;toolbar-stacked-split-button-checkbox-1\&quot;\n id=\&quot;toolbar-stacked-split-button-checkbox-1\&quot;\n aria-label=\&quot;Select all\&quot;\n /&gt;\n ]}\n /&gt;\n )}\n &gt;\n &lt;DropdownList&gt;{splitButtonDropdownItems}&lt;/DropdownList&gt;\n &lt;/Dropdown&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;pagination\&quot; align={{ default: &#39;alignEnd&#39; }}&gt;\n &lt;Pagination\n itemCount={37}\n perPage={perPage}\n page={page}\n onSetPage={onSetPage}\n widgetId=\&quot;pagination-options-menu-top\&quot;\n onPerPageSelect={onPerPageSelect}\n /&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Fragment&gt;\n {firstRowItems}\n &lt;Divider /&gt;\n {secondRowItems}\n &lt;/Fragment&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
97
+ <h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2965" data-pf-content="true" class="pf-v6-c-content--h2">Examples with spacers and wrapping</h2>
98
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2966" data-pf-content="true" class="pf-v6-c-content--p">You may adjust the space between toolbar items to arrange them into groups. Read our spacers documentation to learn more about using spacers.</p>
99
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2976" data-pf-content="true" class="pf-v6-c-content--p">Items are spaced “16px” apart by default and can be modified by changing their or their parents’ <code>gap</code>, <code>columnGap</code>, and <code>rowGap</code> properties. You can set the property values at multiple breakpoints, including “default”, “md”, “lg”, “xl”, and “2xl”.</p>
100
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2967" data-pf-content="true" class="pf-v6-c-content--h3">Toolbar content wrapping</h3>
101
+ <p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2977" data-pf-content="true" class="pf-v6-c-content--p">The toolbar content section will wrap by default, but you can set the <code>rowRap</code> property to <code>noWrap</code> to make it not wrap.</p>
102
+
103
+ <astro-island uid="Z1qx6vz" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarContent } from &#39;@patternfly/react-core&#39;;\nimport { Button, SearchInput } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarItems: React.FunctionComponent = () =&gt; {\n const items = (\n &lt;Fragment&gt;\n &lt;ToolbarItem&gt;\n &lt;SearchInput aria-label=\&quot;Items example search input\&quot; /&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot; /&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;primary\&quot;&gt;Action&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;Toolbar id=\&quot;toolbar-items-example\&quot;&gt;\n &lt;ToolbarContent rowWrap={{ default: &#39;nowrap&#39; }}&gt;{items}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
104
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2968" data-pf-content="true" class="pf-v6-c-content--h3">Toolbar group spacers</h3>
105
+
106
+ <astro-island uid="Z2rvAMg" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarGroup, ToolbarContent } from &#39;@patternfly/react-core&#39;;\nimport { Button } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarGroupSpacers: React.FunctionComponent = () =&gt; {\n const groupGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Default Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Default Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup gap={{ default: &#39;gapNone&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup gap={{ default: &#39;gapSm&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup gap={{ default: &#39;gapXl&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const groupColumnGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup columnGap={{ default: &#39;columnGapNone&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup columnGap={{ default: &#39;columnGapSm&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarGroup columnGap={{ default: &#39;columnGapXl&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const groupRowGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup rowGap={{ default: &#39;rowGapNone&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarGroup rowGap={{ default: &#39;rowGapSm&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;ToolbarGroup rowGap={{ default: &#39;rowGapXl&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;&gt;\n Using gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{groupGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Using column gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{groupColumnGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Using row gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{groupRowGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;br /&gt;\n &lt;/&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island>
107
+ <h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2969" data-pf-content="true" class="pf-v6-c-content--h3">Toolbar item spacers</h3>
108
+
109
+ <astro-island uid="Z1MEFe9" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;src&quot;:[0,&quot;import { Fragment } from &#39;react&#39;;\nimport { Toolbar, ToolbarItem, ToolbarGroup, ToolbarContent } from &#39;@patternfly/react-core&#39;;\nimport { Button } from &#39;@patternfly/react-core&#39;;\n\nexport const ToolbarItemSpacers: React.FunctionComponent = () =&gt; {\n const itemGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;ToolbarItem gap={{ default: &#39;gapNone&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem gap={{ default: &#39;gapSm&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem gap={{ default: &#39;gapXl&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const itemColumnGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;ToolbarItem columnGap={{ default: &#39;columnGapNone&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Column Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem columnGap={{ default: &#39;columnGapSm&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Column Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem columnGap={{ default: &#39;columnGapXl&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Column Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Column Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n const itemRowGapItems = (\n &lt;Fragment&gt;\n &lt;ToolbarGroup&gt;\n &lt;ToolbarItem rowGap={{ default: &#39;rowGapNone&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;No Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem rowGap={{ default: &#39;rowGapSm&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Small Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;ToolbarItem variant=\&quot;separator\&quot;&gt;&lt;/ToolbarItem&gt;\n &lt;ToolbarItem rowGap={{ default: &#39;rowGapXl&#39; }} rowWrap={{ default: &#39;wrap&#39; }}&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;Button variant=\&quot;secondary\&quot;&gt;Extra Large Row Gap&lt;/Button&gt;\n &lt;/ToolbarItem&gt;\n &lt;/ToolbarGroup&gt;\n &lt;/Fragment&gt;\n );\n\n return (\n &lt;&gt;\n Using gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{itemGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Using column gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{itemColumnGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n Using row gap\n &lt;br /&gt;\n &lt;br /&gt;\n &lt;Toolbar id=\&quot;toolbar-spacers\&quot;&gt;\n &lt;ToolbarContent&gt;{itemRowGapItems}&lt;/ToolbarContent&gt;\n &lt;/Toolbar&gt;\n &lt;/&gt;\n );\n};\n&quot;],&quot;html&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;LiveExampleBase&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island> <div class="pf-v6-l-stack pf-m-gutter"><div class="pf-v6-l-stack__item pf-v6-u-mt-md"><astro-island uid="Z2r17TF" component-url="/_astro/PropsTables.YkW1puJk.js" component-export="PropsTables" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;propComponents&quot;:[1,[[0,&quot;Toolbar&quot;],[0,&quot;ToolbarContent&quot;],[0,&quot;ToolbarGroup&quot;],[0,&quot;ToolbarItem&quot;],[0,&quot;ToolbarToggleGroup&quot;],[0,&quot;ToolbarFilter&quot;]]],&quot;url&quot;:[7,&quot;http://localhost:4321/components/toolbar/react&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;PropsTables&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island></div><div class="pf-v6-l-stack__item"><div class="pf-v6-l-stack pf-m-gutter"><div class="pf-v6-l-stack__item"><div class="pf-v6-l-flex pf-m-space-items-sm pf-m-align-items-center"><div class=""><h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-2940" id="css-variables" tabindex="-1" data-pf-content="true" class="pf-v6-c-content--h2 pf-m-editorial ws-heading pf-v6-c-content--h2"><a href="#css-variables" class="ws-heading-anchor" tabindex="-1"><svg class="pf-v6-svg ws-heading-anchor-icon" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em" style="vertical-align:middle"><path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg></a>
110
+ CSS variables
111
+ </h2></div></div></div><div class="pf-v6-l-stack__item"><astro-island uid="ZTcjsE" component-url="/_astro/CSSTable.-Emc9iTg.js" component-export="CSSTable" renderer-url="/_astro/client.DN8ES6L5.js" props="{&quot;autoLinkHeader&quot;:[0,false],&quot;cssPrefix&quot;:[0,&quot;pf-v6-c-toolbar&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;CSSTableComponent&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island></div></div></div></div> </div></section> </div></section> </main> </div> </div> <script type="module">try{localStorage.getItem("theme-preference")==="dark"&&document.documentElement.classList.add("pf-v6-theme-dark")}catch(e){console.error("Failed to set initial theme:",e)}</script></body></html>