@patternfly/patternfly-doc-core 1.13.0 → 1.13.2
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.
- package/.astro/content-modules.mjs +24 -24
- package/.astro/content.d.ts +43 -0
- package/cli/buildPropsData.ts +13 -8
- package/cli/cli.ts +44 -33
- package/cli/createCollectionContent.ts +109 -9
- package/cli/getConfig.ts +1 -0
- package/dist/cli/buildPropsData.js +11 -8
- package/dist/cli/cli.js +36 -28
- package/dist/cli/createCollectionContent.js +70 -9
- package/dist/docs/_astro/ClientRouter.astro_astro_type_script_index_0_lang.DZnDNxNb.js +1 -0
- package/dist/docs/_worker.js/_@astrojs-ssr-adapter.mjs +1 -1
- package/dist/docs/_worker.js/_astro-internal_middleware.mjs +3 -3
- package/dist/docs/_worker.js/chunks/{_@astro-renderers_D4IG6Oyo.mjs → _@astro-renderers_B-gIj2th.mjs} +1 -1
- package/dist/docs/_worker.js/chunks/{_@astrojs-ssr-adapter_B_x81DBq.mjs → _@astrojs-ssr-adapter_u4VQ4c24.mjs} +23 -15
- package/dist/docs/_worker.js/chunks/astro/{server_CVEnF9i1.mjs → server_DXtGNXGl.mjs} +126 -72
- package/dist/docs/_worker.js/chunks/{astro-designed-error-pages_CXRddWNa.mjs → astro-designed-error-pages_Cre3i65F.mjs} +2 -2
- package/dist/docs/_worker.js/chunks/{index_CYXMeXT4.mjs → index_DkNBuRXQ.mjs} +193 -150
- package/dist/docs/_worker.js/chunks/{noop-middleware_DIXVCvyq.mjs → noop-middleware_D7Bh5dKA.mjs} +1 -1
- package/dist/docs/_worker.js/chunks/{path_C-ZOwaTP.mjs → path_u5O9njcM.mjs} +8 -2
- package/dist/docs/_worker.js/index.js +4 -4
- package/dist/docs/_worker.js/manifest_CR827M2P.mjs +100 -0
- package/dist/docs/_worker.js/pages/_image.astro.mjs +1 -1
- package/dist/docs/_worker.js/pages/props.astro.mjs +24 -6
- package/dist/docs/_worker.js/renderers.mjs +1 -1
- package/dist/docs/components/about-modal/index.html +1 -1
- package/dist/docs/components/about-modal/react/index.html +1 -1
- package/dist/docs/components/accordion/index.html +11 -11
- package/dist/docs/components/accordion/react/index.html +11 -11
- package/dist/docs/components/action-list/index.html +10 -10
- package/dist/docs/components/action-list/react/index.html +10 -10
- package/dist/docs/components/alert/index.html +84 -84
- package/dist/docs/components/alert/react/index.html +84 -84
- package/dist/docs/components/avatar/index.html +6 -6
- package/dist/docs/components/avatar/react/index.html +6 -6
- package/dist/docs/components/back-to-top/index.html +9 -9
- package/dist/docs/components/back-to-top/react/index.html +9 -9
- package/dist/docs/components/backdrop/index.html +4 -4
- package/dist/docs/components/backdrop/react/index.html +4 -4
- package/dist/docs/components/background-image/index.html +4 -4
- package/dist/docs/components/background-image/react/index.html +4 -4
- package/dist/docs/components/badge/index.html +9 -9
- package/dist/docs/components/badge/react/index.html +9 -9
- package/dist/docs/components/banner/index.html +12 -12
- package/dist/docs/components/banner/react/index.html +12 -12
- package/dist/docs/components/brand/index.html +1 -1
- package/dist/docs/components/brand/react/index.html +1 -1
- package/dist/docs/components/breadcrumb/index.html +1 -1
- package/dist/docs/components/breadcrumb/react/index.html +1 -1
- package/dist/docs/components/button/index.html +1 -1
- package/dist/docs/components/button/react/index.html +1 -1
- package/dist/docs/components/calendar-month/index.html +1 -1
- package/dist/docs/components/calendar-month/react/index.html +1 -1
- package/dist/docs/components/card/index.html +1 -1
- package/dist/docs/components/card/react/index.html +1 -1
- package/dist/docs/components/checkbox/index.html +1 -1
- package/dist/docs/components/checkbox/react/index.html +1 -1
- package/dist/docs/components/chip/index.html +1 -1
- package/dist/docs/components/chip/react-deprecated/index.html +1 -1
- package/dist/docs/components/clipboard-copy/index.html +1 -1
- package/dist/docs/components/clipboard-copy/react/index.html +1 -1
- package/dist/docs/components/code-block/index.html +1 -1
- package/dist/docs/components/code-block/react/index.html +1 -1
- package/dist/docs/components/content/index.html +1 -1
- package/dist/docs/components/content/react/index.html +1 -1
- package/dist/docs/components/data-list/index.html +25 -25
- package/dist/docs/components/data-list/react/index.html +25 -25
- package/dist/docs/components/date-picker/index.html +1 -1
- package/dist/docs/components/date-picker/react/index.html +1 -1
- package/dist/docs/components/description-list/index.html +37 -37
- package/dist/docs/components/description-list/react/index.html +37 -37
- package/dist/docs/components/divider/index.html +15 -15
- package/dist/docs/components/divider/react/index.html +15 -15
- package/dist/docs/components/drag-and-drop/index.html +1 -1
- package/dist/docs/components/drag-and-drop/react-deprecated/index.html +1 -1
- package/dist/docs/components/drawer/index.html +29 -29
- package/dist/docs/components/drawer/react/index.html +29 -29
- package/dist/docs/components/dropdown/index.html +21 -21
- package/dist/docs/components/dropdown/react/index.html +21 -21
- package/dist/docs/components/dual-list-selector/index.html +18 -18
- package/dist/docs/components/dual-list-selector/react/index.html +1 -1
- package/dist/docs/components/dual-list-selector/react-deprecated/index.html +26 -26
- package/dist/docs/components/empty-state/index.html +1 -1
- package/dist/docs/components/empty-state/react/index.html +1 -1
- package/dist/docs/components/expandable-section/index.html +1 -1
- package/dist/docs/components/expandable-section/react/index.html +1 -1
- package/dist/docs/components/form/index.html +20 -20
- package/dist/docs/components/form/react/index.html +20 -20
- package/dist/docs/components/form-select/index.html +1 -1
- package/dist/docs/components/form-select/react/index.html +1 -1
- package/dist/docs/components/helper-text/index.html +1 -1
- package/dist/docs/components/helper-text/react/index.html +1 -1
- package/dist/docs/components/hint/index.html +1 -1
- package/dist/docs/components/hint/react/index.html +1 -1
- package/dist/docs/components/icon/index.html +1 -1
- package/dist/docs/components/icon/react/index.html +1 -1
- package/dist/docs/components/input-group/index.html +10 -10
- package/dist/docs/components/input-group/react/index.html +10 -10
- package/dist/docs/components/jump-links/index.html +13 -13
- package/dist/docs/components/jump-links/react/index.html +13 -13
- package/dist/docs/components/label/index.html +29 -29
- package/dist/docs/components/label/react/index.html +29 -29
- package/dist/docs/components/list/index.html +1 -1
- package/dist/docs/components/list/react/index.html +1 -1
- package/dist/docs/components/login-page/index.html +14 -14
- package/dist/docs/components/login-page/react/index.html +14 -14
- package/dist/docs/components/masthead/index.html +19 -19
- package/dist/docs/components/masthead/react/index.html +19 -19
- package/dist/docs/components/menu/index.html +69 -69
- package/dist/docs/components/menu/react/index.html +69 -69
- package/dist/docs/components/menu-toggle/index.html +67 -67
- package/dist/docs/components/menu-toggle/react/index.html +67 -67
- package/dist/docs/components/modal/index.html +39 -39
- package/dist/docs/components/modal/react/index.html +1 -1
- package/dist/docs/components/modal/react-deprecated/index.html +39 -39
- package/dist/docs/components/multiple-file-upload/index.html +30 -30
- package/dist/docs/components/multiple-file-upload/react/index.html +30 -30
- package/dist/docs/components/navigation/index.html +22 -22
- package/dist/docs/components/navigation/react/index.html +22 -22
- package/dist/docs/components/notification-badge/index.html +14 -14
- package/dist/docs/components/notification-badge/react/index.html +14 -14
- package/dist/docs/components/notification-drawer/index.html +1 -1
- package/dist/docs/components/notification-drawer/react/index.html +1 -1
- package/dist/docs/components/number-input/index.html +1 -1
- package/dist/docs/components/number-input/react/index.html +1 -1
- package/dist/docs/components/overflow-menu/index.html +1 -1
- package/dist/docs/components/overflow-menu/react/index.html +1 -1
- package/dist/docs/components/page/index.html +51 -51
- package/dist/docs/components/page/react/index.html +51 -51
- package/dist/docs/components/pagination/index.html +1 -1
- package/dist/docs/components/pagination/react/index.html +1 -1
- package/dist/docs/components/panel/index.html +26 -26
- package/dist/docs/components/panel/react/index.html +26 -26
- package/dist/docs/components/popover/index.html +24 -24
- package/dist/docs/components/popover/react/index.html +24 -24
- package/dist/docs/components/progress/index.html +21 -21
- package/dist/docs/components/progress/react/index.html +21 -21
- package/dist/docs/components/progress-stepper/index.html +1 -1
- package/dist/docs/components/progress-stepper/react/index.html +1 -1
- package/dist/docs/components/radio/index.html +13 -13
- package/dist/docs/components/radio/react/index.html +13 -13
- package/dist/docs/components/search-input/index.html +12 -12
- package/dist/docs/components/search-input/react/index.html +12 -12
- package/dist/docs/components/select/index.html +63 -63
- package/dist/docs/components/select/react/index.html +63 -63
- package/dist/docs/components/sidebar/index.html +18 -18
- package/dist/docs/components/sidebar/react/index.html +18 -18
- package/dist/docs/components/simple-file-upload/index.html +33 -33
- package/dist/docs/components/simple-file-upload/react/index.html +33 -33
- package/dist/docs/components/simple-list/index.html +10 -10
- package/dist/docs/components/simple-list/react/index.html +10 -10
- package/dist/docs/components/skeleton/index.html +11 -11
- package/dist/docs/components/skeleton/react/index.html +11 -11
- package/dist/docs/components/skip-to-content/index.html +7 -7
- package/dist/docs/components/skip-to-content/react/index.html +7 -7
- package/dist/docs/components/slider/index.html +23 -23
- package/dist/docs/components/slider/react/index.html +23 -23
- package/dist/docs/components/spinner/index.html +7 -7
- package/dist/docs/components/spinner/react/index.html +7 -7
- package/dist/docs/components/switch/index.html +10 -10
- package/dist/docs/components/switch/react/index.html +10 -10
- package/dist/docs/components/tabs/index.html +78 -78
- package/dist/docs/components/tabs/react/index.html +78 -78
- package/dist/docs/components/text-area/index.html +16 -16
- package/dist/docs/components/text-area/react/index.html +16 -16
- package/dist/docs/components/text-input/index.html +14 -14
- package/dist/docs/components/text-input/react/index.html +14 -14
- package/dist/docs/components/text-input-group/index.html +14 -14
- package/dist/docs/components/text-input-group/react/index.html +14 -14
- package/dist/docs/components/tile/index.html +27 -27
- package/dist/docs/components/tile/react-deprecated/index.html +27 -27
- package/dist/docs/components/time-picker/index.html +11 -11
- package/dist/docs/components/time-picker/react/index.html +11 -11
- package/dist/docs/components/timestamp/index.html +22 -22
- package/dist/docs/components/timestamp/react/index.html +22 -22
- package/dist/docs/components/title/index.html +5 -5
- package/dist/docs/components/title/react/index.html +5 -5
- package/dist/docs/components/toggle-group/index.html +19 -19
- package/dist/docs/components/toggle-group/react/index.html +19 -19
- package/dist/docs/components/toolbar/index.html +43 -43
- package/dist/docs/components/toolbar/react/index.html +43 -43
- package/dist/docs/components/tooltip/index.html +13 -13
- package/dist/docs/components/tooltip/react/index.html +13 -13
- package/dist/docs/components/tree-view/index.html +24 -24
- package/dist/docs/components/tree-view/react/index.html +24 -24
- package/dist/docs/components/truncate/index.html +11 -11
- package/dist/docs/components/truncate/react/index.html +11 -11
- package/dist/docs/components/wizard/index.html +33 -33
- package/dist/docs/components/wizard/react/index.html +30 -30
- package/dist/docs/components/wizard/react-deprecated/index.html +23 -23
- package/dist/docs/index.html +2 -2
- package/package.json +6 -6
- package/src/content.config.ts +4 -2
- package/src/content.ts +1 -1
- package/src/pages/props.ts +8 -4
- package/dist/docs/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CtSceO8m.js +0 -1
- package/dist/docs/_worker.js/manifest_BT0KogAj.mjs +0 -100
- /package/dist/docs/_worker.js/chunks/{AboutModal_CrdYiVZ2.mjs → AboutModal_BItn3kin.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{AboutModal_D3R-r6ju.mjs → AboutModal_CZjdACeW.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Accordion_Dbx8tdfD.mjs → Accordion_CYmF0KwJ.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Accordion_sjy0EnPK.mjs → Accordion_dgrn0E_o.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ActionList_Bx7eAKgV.mjs → ActionList_b3_CLZ14.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ActionList_CuygbYGp.mjs → ActionList_hxinmMC0.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Alert_Cgh0pfMA.mjs → Alert_CPMXr4GU.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Alert_CplJ22O9.mjs → Alert_CjLz1avf.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Avatar_BszzDSZB.mjs → Avatar_BpvZS7Vn.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Avatar_DuNXB-Tl.mjs → Avatar_CJxK-3JY.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{BackToTop_B_0NN1kJ.mjs → BackToTop_C4eW2L0y.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{BackToTop_DKY1zHBL.mjs → BackToTop_DcZBtTyL.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Backdrop_ByJvccKQ.mjs → Backdrop_10J0WLph.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Backdrop_D12wBLrB.mjs → Backdrop_D8sST9JX.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{BackgroundImage_7zaRIuh-.mjs → BackgroundImage_BKA-ulgj.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{BackgroundImage_BFUrU51J.mjs → BackgroundImage_Cz6hAv0v.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Badge_DloPmeMn.mjs → Badge_Cg9zVGV6.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Badge_DxGDbEGv.mjs → Badge_CmcfMGLy.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Banner_4Te4yy7I.mjs → Banner_B-0nD2-g.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Banner_FbFCGml0.mjs → Banner_D1S93kG4.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Brand_Cjeb58fX.mjs → Brand_BbimpMS3.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Brand_DZEvbkMH.mjs → Brand_BpKIcHo4.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Breadcrumb_DkNDUMw0.mjs → Breadcrumb_Ck-Lj1T3.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Breadcrumb_bVSwIfTk.mjs → Breadcrumb_D9KV7rzl.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Button_BqggYTWh.mjs → Button_CIRvQZry.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Button_DbZb-z5h.mjs → Button_V8lUSO6X.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{CalendarMonth_BdoIQD1o.mjs → CalendarMonth_BFffUIcM.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{CalendarMonth_BqZc2rYW.mjs → CalendarMonth_BQ28v_pg.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Card_BW6WmwTW.mjs → Card_C8qkLKEf.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Card_CEDol7Xx.mjs → Card_DUK4FmPS.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Checkbox_BqVpiIvF.mjs → Checkbox_Bn--Z5lv.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Checkbox_DSYhfv7p.mjs → Checkbox_qYxKZZGQ.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Chip_BciXepRF.mjs → Chip_0R4AtDfc.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Chip_C23BxFTk.mjs → Chip_COOLhRtH.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ClipboardCopy_BjySfoK1.mjs → ClipboardCopy_CCw7mUNs.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ClipboardCopy_CvrD2b3T.mjs → ClipboardCopy_E2VziZOh.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{CodeBlock_CuH1PrfL.mjs → CodeBlock_B6MAjfQG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{CodeBlock_DK5AauFn.mjs → CodeBlock_E5IUdMeV.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Content_BfZIFUr8.mjs → Content_BTsW49BT.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Content_lBUC3eEp.mjs → Content_DAKpmQcD.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DataList_CSJAkMMZ.mjs → DataList_BUnDIzjX.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DataList_CaFvg0uz.mjs → DataList_DAx1YA9q.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DatePicker_Cw2abdEU.mjs → DatePicker_B7e4HDrD.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DatePicker_bYwsFHXL.mjs → DatePicker_BvR2KULb.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DescriptionList_BTTyevMb.mjs → DescriptionList_BN8g0mN-.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DescriptionList_Dr51d-67.mjs → DescriptionList_Ci0wXiOc.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Divider_BgOt1--F.mjs → Divider_01665LVV.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Divider_Bh7n4QTo.mjs → Divider_58GLcmuG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DragDrop_BF-aF6Z8.mjs → DragDrop_D0BsENaH.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DragDrop_DId590rN.mjs → DragDrop_R1Bxn5bG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Drawer_BVywTMVo.mjs → Drawer_CqiPp4tH.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Drawer_RrCnySEa.mjs → Drawer_ar8SYBBZ.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Dropdown_BjtqviYW.mjs → Dropdown_BxRoNhEO.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Dropdown_GiUvjFPw.mjs → Dropdown_CGqAffXy.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DualListSelector_8uLukfP0.mjs → DualListSelector_BY0jUhu5.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DualListSelector_Bgj1IWqe.mjs → DualListSelector_BtS4RhPL.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DualListSelector_C5QjTplp.mjs → DualListSelector_DS3XuAyO.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{DualListSelector_DLgspM0s.mjs → DualListSelector_DpkuRNqO.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{EmptyState_Ct_PJba3.mjs → EmptyState_D8pG8NNs.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{EmptyState_Dk3hKJlg.mjs → EmptyState_DKnL5Sxb.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ExpandableSection_DSw76PjZ.mjs → ExpandableSection_BxeRuhxW.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ExpandableSection_vUQO3FgG.mjs → ExpandableSection_C-rR4lpq.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{FileUpload_CEvZ0G-d.mjs → FileUpload_BS2e2_2a.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{FileUpload_Ci_s8Ghd.mjs → FileUpload_Mp8yctad.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{FormSelect_C2YPRAlw.mjs → FormSelect_Dh4wqtK-.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{FormSelect_DWShl8Fb.mjs → FormSelect_Dj_assyG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Form_Dyb98Nez.mjs → Form_C6rxCWwv.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Form_olaoRN4o.mjs → Form_LFZpV55d.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{HelperText_2CcHVaih.mjs → HelperText_Cdoh4Xq5.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{HelperText_DthGttZo.mjs → HelperText_PKuHc_Y7.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Hint_BXDZKYhJ.mjs → Hint_BdmmUbjS.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Hint_DHoiYdn6.mjs → Hint_DYFKftOG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Icon_C4IPnIAg.mjs → Icon_B8kEVedr.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Icon_C_Dqbg9w.mjs → Icon_BMlPtDQq.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{InputGroup_CDKP-uXZ.mjs → InputGroup_CvQnB4Xi.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{InputGroup_CmZgaEyr.mjs → InputGroup_DuMIDv_M.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{JumpLinks_DvM3PVg0.mjs → JumpLinks_0RwPXv3d.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{JumpLinks_Dvdlxdps.mjs → JumpLinks_C5MZGLAO.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Label_C7fP9Jp9.mjs → Label_CNsHUBdN.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Label_Cxir7_Q4.mjs → Label_THkE-AFA.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{List_CUgwFnXa.mjs → List_BXjcB6TX.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{List_CWAsiYnN.mjs → List_CoXnRuT-.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{LoginPage_BDfliKtU.mjs → LoginPage_Cd_Vx4TL.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{LoginPage_BjIl_nF9.mjs → LoginPage_Dy-dda7r.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Masthead_BWjm5CFj.mjs → Masthead_0dZpDAir.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Masthead_BZnYzDu_.mjs → Masthead_L5uTIDIo.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{MenuToggle_DeKwv469.mjs → MenuToggle_Bb2rO_CM.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{MenuToggle_DmJISlPR.mjs → MenuToggle_D3uQPRxu.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Menu_DRRoq5PM.mjs → Menu_CU4-bIwV.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Menu_Sl-QVQ_w.mjs → Menu_Drl71efm.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Modal_6WZzoDHU.mjs → Modal_B35nIeQ6.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Modal_BI2dVPRJ.mjs → Modal_D-zL8r6s.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Modal_CdokBUDP.mjs → Modal_DDfqMCzs.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Modal_DJRobnfc.mjs → Modal_DKK66Rag.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{MultipleFileUpload_BaHVtkF_.mjs → MultipleFileUpload_B_T35Ur4.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{MultipleFileUpload_BznvLbsj.mjs → MultipleFileUpload_SF3pfPOs.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Nav_DwqATcJ4.mjs → Nav_DWhCiasr.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Nav_GZ0nRYXE.mjs → Nav_OmbKpzoZ.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NotificationBadge_DO4OLgvO.mjs → NotificationBadge_CCC3w-0n.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NotificationBadge_DjINhOQ5.mjs → NotificationBadge_Du1zJprr.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NotificationDrawer_BtpQ4pmZ.mjs → NotificationDrawer_DAuLxL7w.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NotificationDrawer_D1lmMCgd.mjs → NotificationDrawer_GsX4wbyf.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NumberInput_CggpJ5ge.mjs → NumberInput_BTUsP2Dy.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{NumberInput_zMcSUUwH.mjs → NumberInput_CEdn1SLL.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{OverflowMenu_BX4nwFvK.mjs → OverflowMenu_Bz0pUIse.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{OverflowMenu_DnQ7wMy-.mjs → OverflowMenu_eowJo-oA.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Page_Cw_XTB6Y.mjs → Page_D8wqD5dY.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Page_UhywZXdY.mjs → Page_D96Z1le0.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Pagination_7rr0n7-V.mjs → Pagination_-jq13UTb.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Pagination_Dc5L6yaI.mjs → Pagination_CQXZNog1.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Panel_Bl_LqCWS.mjs → Panel_83a69pjh.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Panel_s8-TwBlS.mjs → Panel_Cwf130Yb.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Popover_CjipqBWs.mjs → Popover_DVQ8u4Fp.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Popover_DvQgGJTf.mjs → Popover_DtFhoH3l.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ProgressStepper_DXBI4K2w.mjs → ProgressStepper_CMwF8CiX.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ProgressStepper_lBd5mTHE.mjs → ProgressStepper_Yvcq3pmc.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Progress_BZA5taDC.mjs → Progress_DsBSXTmv.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Progress_CIgybc-D.mjs → Progress_M0fLgfjf.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Radio_3tPx1coq.mjs → Radio_BmbmoopI.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Radio_BG7VZAk6.mjs → Radio_CjW5TY2C.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SearchInput_BZ43-Elo.mjs → SearchInput_BiyBA_eF.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SearchInput_aCFv-N1U.mjs → SearchInput_Bv6KJYSn.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Select_B4cumL7U.mjs → Select_B957i7MN.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Select_CJ78kBVM.mjs → Select_BBTTR43m.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Sidebar_Bto2_gKJ.mjs → Sidebar_C3c-bPso.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Sidebar_DOfifBRA.mjs → Sidebar_CHEf7dr0.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SimpleList_CVkO5Odp.mjs → SimpleList_BqpkJemM.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SimpleList_oJajk3_z.mjs → SimpleList_DDfBcEWe.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Skeleton_CCJNka-d.mjs → Skeleton_B4QE65Ar.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Skeleton_N02yA_k6.mjs → Skeleton_D5WnGxh0.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SkipToContent_DvOYRCWm.mjs → SkipToContent_BBwU-ZdY.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{SkipToContent_o7vh-U_u.mjs → SkipToContent_DFYTlqla.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Slider_C0bH-JMY.mjs → Slider_BX6wz0hN.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Slider_CWRDqhx4.mjs → Slider_BlpXbwhH.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Spinner_B-x8bJt0.mjs → Spinner_C5qilvZp.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Spinner_hzAAbZdS.mjs → Spinner_CuLTR583.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Switch_Cpr1OETy.mjs → Switch_BnA8s7Wn.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Switch_Du7AKJ4O.mjs → Switch_CvUw0Z4X.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tabs_CzDrfKA-.mjs → Tabs_CyeQBOGa.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tabs_KXDkISY4.mjs → Tabs_xDQjU8nW.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextArea_C1dmG8mr.mjs → TextArea_7cFF77CV.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextArea_Dtm0m8LO.mjs → TextArea_D7NOOvRK.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextInputGroup_D0NXU95v.mjs → TextInputGroup_DiXNtIIB.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextInputGroup_mJpBrogC.mjs → TextInputGroup_ZNRIWQeP.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextInput_B0XLYaVA.mjs → TextInput_3Gggoxng.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TextInput_CmLcsUiv.mjs → TextInput_Dg_3P9RM.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tile_CF_12LPU.mjs → Tile_CAcRzWZ9.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tile_DJ0LawLW.mjs → Tile_RHzJKWiw.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TimePicker_CijfSKJQ.mjs → TimePicker_DtrDRcMy.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TimePicker_VX9VE-Uy.mjs → TimePicker_qxUpEV9n.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Timestamp_D7uyrIK7.mjs → Timestamp_2Z94f_Eh.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Timestamp_c2Mozpr4.mjs → Timestamp_rMinDYzW.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Title_DbrwFEEy.mjs → Title_CdyPwQ2b.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Title_DlFn7G9R.mjs → Title_Csq8EY4-.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ToggleGroup_DpLWzfAW.mjs → ToggleGroup_B1Xtdxuy.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{ToggleGroup_j1ooRpX3.mjs → ToggleGroup_GBAc787N.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Toolbar_BEIh7r7J.mjs → Toolbar_BfRvo9qx.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Toolbar_mjrD3_l-.mjs → Toolbar_CmeIzev4.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tooltip_Bp5XOVoV.mjs → Tooltip_CPduniOG.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Tooltip_BrFKk02i.mjs → Tooltip_Cdt0oB9I.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TreeView_BImfKPD_.mjs → TreeView_B1tisZRW.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{TreeView_CgO4iC1E.mjs → TreeView_CwOQvnLr.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Truncate_Bn55QoeZ.mjs → Truncate_C6bX3QmA.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Truncate_S939OotH.mjs → Truncate_DGi514H0.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Wizard_B28f3non.mjs → Wizard_BOkVt8H-.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Wizard_B4Dw5Yc8.mjs → Wizard_CEoZM0Yt.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Wizard_BOCBVIjJ.mjs → Wizard_CLZDzozE.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{Wizard_C2sit354.mjs → Wizard_OGE-NwoN.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{_astro_assets_Cpp4aFxG.mjs → _astro_assets_RFx5l3a7.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{_astro_data-layer-content_D-EXtmSy.mjs → _astro_data-layer-content_BpG5DifN.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{content-modules_CUXjIWnT.mjs → content-modules_CYtYtJTg.mjs} +0 -0
- /package/dist/docs/_worker.js/chunks/{sharp_C-KnEafm.mjs → sharp_DVa0kR-8.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
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.
|
|
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.13.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.DZnDNxNb.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
|
|
2
2
|
<link rel="stylesheet" href="/_astro/AutoLinkHeader.Chv_bGyU.css">
|
|
3
3
|
<link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
|
|
4
4
|
<link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
|
|
@@ -42,25 +42,25 @@
|
|
|
42
42
|
animation-fill-mode: both;
|
|
43
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
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="Z20iICd" prefix="r5" component-url="/_astro/PageToggle.DBsLIFpI.js" component-export="PageToggle" renderer-url="/_astro/client.DN8ES6L5.js" props="{"data-astro-transition-persist":[0,"astro-u5p5alki-2"]}" ssr client="idle" opts="{"name":"PageToggle","value":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-244"><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="5NrV1" prefix="r7" component-url="/_astro/Toolbar.BNjGRsAQ.js" component-export="Toolbar" renderer-url="/_astro/client.DN8ES6L5.js" props="{}" ssr client="idle" opts="{"name":"ReactToolbar","value":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-82"><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-245"><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-246"><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-82"><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="{"navData":[1,[[1,[[0,{"id":[0,"src/components/aboutmodal/examples/aboutmodal"],"data":[0,{"id":[0,"About modal"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/accordion/examples/accordion"],"data":[0,{"id":[0,"Accordion"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/actionlist/examples/actionlist"],"data":[0,{"id":[0,"Action list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/alert/examples/alert"],"data":[0,{"id":[0,"Alert"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/avatar/examples/avatar"],"data":[0,{"id":[0,"Avatar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backtotop/examples/backtotop"],"data":[0,{"id":[0,"Back to top"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backdrop/examples/backdrop"],"data":[0,{"id":[0,"Backdrop"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backgroundimage/examples/backgroundimage"],"data":[0,{"id":[0,"Background image"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/badge/examples/badge"],"data":[0,{"id":[0,"Badge"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/banner/examples/banner"],"data":[0,{"id":[0,"Banner"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/brand/examples/brand"],"data":[0,{"id":[0,"Brand"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/breadcrumb/examples/breadcrumb"],"data":[0,{"id":[0,"Breadcrumb"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/button/examples/button"],"data":[0,{"id":[0,"Button"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/calendarmonth/examples/calendarmonth"],"data":[0,{"id":[0,"Calendar month"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/card/examples/card"],"data":[0,{"id":[0,"Card"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/checkbox/examples/checkbox"],"data":[0,{"id":[0,"Checkbox"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/chip/examples/chip"],"data":[0,{"id":[0,"Chip"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/clipboardcopy/examples/clipboardcopy"],"data":[0,{"id":[0,"Clipboard copy"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/codeblock/examples/codeblock"],"data":[0,{"id":[0,"Code block"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/content/examples/content"],"data":[0,{"id":[0,"Content"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/datalist/examples/datalist"],"data":[0,{"id":[0,"Data list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/datepicker/examples/datepicker"],"data":[0,{"id":[0,"Date picker"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/descriptionlist/examples/descriptionlist"],"data":[0,{"id":[0,"Description list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/divider/examples/divider"],"data":[0,{"id":[0,"Divider"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/dragdrop/examples/dragdrop"],"data":[0,{"id":[0,"Drag and drop"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/drawer/examples/drawer"],"data":[0,{"id":[0,"Drawer"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/dropdown/examples/dropdown"],"data":[0,{"id":[0,"Dropdown"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/duallistselector/examples/duallistselector"],"data":[0,{"id":[0,"Dual list selector"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/emptystate/examples/emptystate"],"data":[0,{"id":[0,"Empty state"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/expandablesection/examples/expandablesection"],"data":[0,{"id":[0,"Expandable section"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/form/examples/form"],"data":[0,{"id":[0,"Form"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/formselect/examples/formselect"],"data":[0,{"id":[0,"Form select"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/helpertext/examples/helpertext"],"data":[0,{"id":[0,"Helper text"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/hint/examples/hint"],"data":[0,{"id":[0,"Hint"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/icon/examples/icon"],"data":[0,{"id":[0,"Icon"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/inputgroup/examples/inputgroup"],"data":[0,{"id":[0,"Input group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/jumplinks/examples/jumplinks"],"data":[0,{"id":[0,"Jump links"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/label/examples/label"],"data":[0,{"id":[0,"Label"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/list/examples/list"],"data":[0,{"id":[0,"List"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/loginpage/examples/loginpage"],"data":[0,{"id":[0,"Login page"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/masthead/examples/masthead"],"data":[0,{"id":[0,"Masthead"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/menu/examples/menu"],"data":[0,{"id":[0,"Menu"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/menutoggle/examples/menutoggle"],"data":[0,{"id":[0,"Menu toggle"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/modal/examples/modal"],"data":[0,{"id":[0,"Modal"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/multiplefileupload/examples/multiplefileupload"],"data":[0,{"id":[0,"Multiple file upload"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/nav/examples/nav"],"data":[0,{"id":[0,"Navigation"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/notificationbadge/examples/notificationbadge"],"data":[0,{"id":[0,"Notification badge"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/notificationdrawer/examples/notificationdrawer"],"data":[0,{"id":[0,"Notification drawer"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/numberinput/examples/numberinput"],"data":[0,{"id":[0,"Number input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/overflowmenu/examples/overflowmenu"],"data":[0,{"id":[0,"Overflow menu"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/page/examples/page"],"data":[0,{"id":[0,"Page"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/pagination/examples/pagination"],"data":[0,{"id":[0,"Pagination"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/panel/examples/panel"],"data":[0,{"id":[0,"Panel"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/popover/examples/popover"],"data":[0,{"id":[0,"Popover"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/progress/examples/progress"],"data":[0,{"id":[0,"Progress"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/progressstepper/examples/progressstepper"],"data":[0,{"id":[0,"Progress stepper"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/radio/examples/radio"],"data":[0,{"id":[0,"Radio"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/searchinput/examples/searchinput"],"data":[0,{"id":[0,"Search input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/select/examples/select"],"data":[0,{"id":[0,"Select"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/sidebar/examples/sidebar"],"data":[0,{"id":[0,"Sidebar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/fileupload/examples/fileupload"],"data":[0,{"id":[0,"Simple file upload"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/simplelist/examples/simplelist"],"data":[0,{"id":[0,"Simple list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/skeleton/examples/skeleton"],"data":[0,{"id":[0,"Skeleton"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/skiptocontent/examples/skiptocontent"],"data":[0,{"id":[0,"Skip to content"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/slider/examples/slider"],"data":[0,{"id":[0,"Slider"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/spinner/examples/spinner"],"data":[0,{"id":[0,"Spinner"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/switch/examples/switch"],"data":[0,{"id":[0,"Switch"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/tabs/examples/tabs"],"data":[0,{"id":[0,"Tabs"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textarea/examples/textarea"],"data":[0,{"id":[0,"Text area"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textinput/examples/textinput"],"data":[0,{"id":[0,"Text input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textinputgroup/examples/textinputgroup"],"data":[0,{"id":[0,"Text input group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/tile/examples/tile"],"data":[0,{"id":[0,"Tile"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/timepicker/examples/timepicker"],"data":[0,{"id":[0,"Time picker"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/timestamp/examples/timestamp"],"data":[0,{"id":[0,"Timestamp"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/title/examples/title"],"data":[0,{"id":[0,"Title"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/togglegroup/examples/togglegroup"],"data":[0,{"id":[0,"Toggle group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/toolbar/examples/toolbar"],"data":[0,{"id":[0,"Toolbar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/tooltip/examples/tooltip"],"data":[0,{"id":[0,"Tooltip"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/treeview/examples/treeview"],"data":[0,{"id":[0,"Tree view"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/truncate/examples/truncate"],"data":[0,{"id":[0,"Truncate"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/wizard/examples/wizard"],"data":[0,{"id":[0,"Wizard"],"section":[0,"components"],"sortValue":[0]}]}]]]]],"data-astro-transition-scope":[0,"astro-xikxfxwm-3"]}" ssr client="only" opts="{"name":"ReactNav","value":"react"}" 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"> <a class="pf-v6-c-tabs__link" href="/components/dual-list-selector/react"> React </a> </li><li class="pf-v6-c-tabs__item"> <a class="pf-v6-c-tabs__link" href="/components/dual-list-selector/react-deprecated"> React deprecated </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-1502" 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-
|
|
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="Z20iICd" prefix="r5" component-url="/_astro/PageToggle.DBsLIFpI.js" component-export="PageToggle" renderer-url="/_astro/client.DN8ES6L5.js" props="{"data-astro-transition-persist":[0,"astro-u5p5alki-2"]}" ssr client="idle" opts="{"name":"PageToggle","value":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-244"><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="5NrV1" prefix="r7" component-url="/_astro/Toolbar.BNjGRsAQ.js" component-export="Toolbar" renderer-url="/_astro/client.DN8ES6L5.js" props="{}" ssr client="idle" opts="{"name":"ReactToolbar","value":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-82"><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-245"><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-246"><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-82"><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="{"navData":[1,[[1,[[0,{"id":[0,"src/components/aboutmodal/examples/aboutmodal"],"data":[0,{"id":[0,"About modal"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/accordion/examples/accordion"],"data":[0,{"id":[0,"Accordion"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/actionlist/examples/actionlist"],"data":[0,{"id":[0,"Action list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/alert/examples/alert"],"data":[0,{"id":[0,"Alert"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/avatar/examples/avatar"],"data":[0,{"id":[0,"Avatar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backtotop/examples/backtotop"],"data":[0,{"id":[0,"Back to top"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backdrop/examples/backdrop"],"data":[0,{"id":[0,"Backdrop"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/backgroundimage/examples/backgroundimage"],"data":[0,{"id":[0,"Background image"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/badge/examples/badge"],"data":[0,{"id":[0,"Badge"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/banner/examples/banner"],"data":[0,{"id":[0,"Banner"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/brand/examples/brand"],"data":[0,{"id":[0,"Brand"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/breadcrumb/examples/breadcrumb"],"data":[0,{"id":[0,"Breadcrumb"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/button/examples/button"],"data":[0,{"id":[0,"Button"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/calendarmonth/examples/calendarmonth"],"data":[0,{"id":[0,"Calendar month"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/card/examples/card"],"data":[0,{"id":[0,"Card"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/checkbox/examples/checkbox"],"data":[0,{"id":[0,"Checkbox"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/chip/examples/chip"],"data":[0,{"id":[0,"Chip"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/clipboardcopy/examples/clipboardcopy"],"data":[0,{"id":[0,"Clipboard copy"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/codeblock/examples/codeblock"],"data":[0,{"id":[0,"Code block"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/content/examples/content"],"data":[0,{"id":[0,"Content"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/datalist/examples/datalist"],"data":[0,{"id":[0,"Data list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/datepicker/examples/datepicker"],"data":[0,{"id":[0,"Date picker"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/descriptionlist/examples/descriptionlist"],"data":[0,{"id":[0,"Description list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/divider/examples/divider"],"data":[0,{"id":[0,"Divider"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/dragdrop/examples/dragdrop"],"data":[0,{"id":[0,"Drag and drop"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/drawer/examples/drawer"],"data":[0,{"id":[0,"Drawer"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/dropdown/examples/dropdown"],"data":[0,{"id":[0,"Dropdown"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/duallistselector/examples/duallistselector"],"data":[0,{"id":[0,"Dual list selector"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/emptystate/examples/emptystate"],"data":[0,{"id":[0,"Empty state"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/expandablesection/examples/expandablesection"],"data":[0,{"id":[0,"Expandable section"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/form/examples/form"],"data":[0,{"id":[0,"Form"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/formselect/examples/formselect"],"data":[0,{"id":[0,"Form select"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/helpertext/examples/helpertext"],"data":[0,{"id":[0,"Helper text"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/hint/examples/hint"],"data":[0,{"id":[0,"Hint"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/icon/examples/icon"],"data":[0,{"id":[0,"Icon"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/inputgroup/examples/inputgroup"],"data":[0,{"id":[0,"Input group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/jumplinks/examples/jumplinks"],"data":[0,{"id":[0,"Jump links"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/label/examples/label"],"data":[0,{"id":[0,"Label"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/list/examples/list"],"data":[0,{"id":[0,"List"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/loginpage/examples/loginpage"],"data":[0,{"id":[0,"Login page"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/masthead/examples/masthead"],"data":[0,{"id":[0,"Masthead"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/menu/examples/menu"],"data":[0,{"id":[0,"Menu"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/menutoggle/examples/menutoggle"],"data":[0,{"id":[0,"Menu toggle"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/modal/examples/modal"],"data":[0,{"id":[0,"Modal"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/multiplefileupload/examples/multiplefileupload"],"data":[0,{"id":[0,"Multiple file upload"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/nav/examples/nav"],"data":[0,{"id":[0,"Navigation"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/notificationbadge/examples/notificationbadge"],"data":[0,{"id":[0,"Notification badge"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/notificationdrawer/examples/notificationdrawer"],"data":[0,{"id":[0,"Notification drawer"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/numberinput/examples/numberinput"],"data":[0,{"id":[0,"Number input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/overflowmenu/examples/overflowmenu"],"data":[0,{"id":[0,"Overflow menu"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/page/examples/page"],"data":[0,{"id":[0,"Page"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/pagination/examples/pagination"],"data":[0,{"id":[0,"Pagination"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/panel/examples/panel"],"data":[0,{"id":[0,"Panel"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/popover/examples/popover"],"data":[0,{"id":[0,"Popover"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/progress/examples/progress"],"data":[0,{"id":[0,"Progress"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/progressstepper/examples/progressstepper"],"data":[0,{"id":[0,"Progress stepper"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/radio/examples/radio"],"data":[0,{"id":[0,"Radio"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/searchinput/examples/searchinput"],"data":[0,{"id":[0,"Search input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/select/examples/select"],"data":[0,{"id":[0,"Select"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/sidebar/examples/sidebar"],"data":[0,{"id":[0,"Sidebar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/fileupload/examples/fileupload"],"data":[0,{"id":[0,"Simple file upload"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/simplelist/examples/simplelist"],"data":[0,{"id":[0,"Simple list"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/skeleton/examples/skeleton"],"data":[0,{"id":[0,"Skeleton"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/skiptocontent/examples/skiptocontent"],"data":[0,{"id":[0,"Skip to content"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/slider/examples/slider"],"data":[0,{"id":[0,"Slider"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/spinner/examples/spinner"],"data":[0,{"id":[0,"Spinner"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/switch/examples/switch"],"data":[0,{"id":[0,"Switch"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/tabs/examples/tabs"],"data":[0,{"id":[0,"Tabs"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textarea/examples/textarea"],"data":[0,{"id":[0,"Text area"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textinput/examples/textinput"],"data":[0,{"id":[0,"Text input"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/textinputgroup/examples/textinputgroup"],"data":[0,{"id":[0,"Text input group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/deprecated/components/tile/examples/tile"],"data":[0,{"id":[0,"Tile"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/timepicker/examples/timepicker"],"data":[0,{"id":[0,"Time picker"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/timestamp/examples/timestamp"],"data":[0,{"id":[0,"Timestamp"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/title/examples/title"],"data":[0,{"id":[0,"Title"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/togglegroup/examples/togglegroup"],"data":[0,{"id":[0,"Toggle group"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/toolbar/examples/toolbar"],"data":[0,{"id":[0,"Toolbar"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/tooltip/examples/tooltip"],"data":[0,{"id":[0,"Tooltip"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/treeview/examples/treeview"],"data":[0,{"id":[0,"Tree view"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/truncate/examples/truncate"],"data":[0,{"id":[0,"Truncate"],"section":[0,"components"],"sortValue":[0]}]}],[0,{"id":[0,"src/components/wizard/examples/wizard"],"data":[0,{"id":[0,"Wizard"],"section":[0,"components"],"sortValue":[0]}]}]]]]],"data-astro-transition-scope":[0,"astro-xikxfxwm-3"]}" ssr client="only" opts="{"name":"ReactNav","value":"react"}" 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"> <a class="pf-v6-c-tabs__link" href="/components/dual-list-selector/react"> React </a> </li><li class="pf-v6-c-tabs__item"> <a class="pf-v6-c-tabs__link" href="/components/dual-list-selector/react-deprecated"> React deprecated </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-1519" 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-1520" data-pf-content="true" class="pf-v6-c-content--h3">Basic</h3>
|
|
47
47
|
|
|
48
48
|
<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="2iABac" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useState } from 'react';\nimport { DualListSelector as DLSDeprecated } from '@patternfly/react-core/deprecated';\n\nexport const DualListSelectorBasic: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<React.ReactNode[]>([\n 'Option 1',\n 'Option 2',\n 'Option 3',\n 'Option 4'\n ]);\n const [chosenOptions, setChosenOptions] = useState<React.ReactNode[]>([]);\n\n const onListChange = (\n event: React.MouseEvent<HTMLElement>,\n newAvailableOptions: React.ReactNode[],\n newChosenOptions: React.ReactNode[]\n ) => {\n setAvailableOptions(newAvailableOptions.sort());\n setChosenOptions(newChosenOptions.sort());\n };\n\n return (\n <DLSDeprecated\n availableOptions={availableOptions}\n chosenOptions={chosenOptions}\n onListChange={onListChange}\n id=\"dual-list-selector-basic\"\n />\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
49
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
49
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1521" data-pf-content="true" class="pf-v6-c-content--h3">Basic with tooltips</h3>
|
|
50
50
|
|
|
51
51
|
<astro-island uid="YQwa9" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useState } from 'react';\nimport { DualListSelector as DLSDeprecated } from '@patternfly/react-core/deprecated';\n\nexport const DualListSelectorBasicTooltips: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<React.ReactNode[]>([\n 'Option 1',\n 'Option 2',\n 'Option 3',\n 'Option 4'\n ]);\n const [chosenOptions, setChosenOptions] = useState<React.ReactNode[]>([]);\n\n const onListChange = (\n event: React.MouseEvent<HTMLElement>,\n newAvailableOptions: React.ReactNode[],\n newChosenOptions: React.ReactNode[]\n ) => {\n setAvailableOptions(newAvailableOptions.sort());\n setChosenOptions(newChosenOptions.sort());\n };\n\n return (\n <DLSDeprecated\n availableOptions={availableOptions}\n chosenOptions={chosenOptions}\n onListChange={onListChange}\n addAllTooltip=\"Add all options\"\n addAllTooltipProps={{ position: 'top' }}\n addSelectedTooltip=\"Add selected options\"\n addSelectedTooltipProps={{ position: 'right' }}\n removeSelectedTooltip=\"Remove selected options\"\n removeSelectedTooltipProps={{ position: 'left' }}\n removeAllTooltip=\"Remove all options\"\n removeAllTooltipProps={{ position: 'bottom' }}\n id=\"dual-list-selector-basic-tooltips\"\n />\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
52
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
52
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1522" data-pf-content="true" class="pf-v6-c-content--h3">Basic with search</h3>
|
|
53
53
|
|
|
54
54
|
<astro-island uid="ZRMHtf" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useState } from 'react';\nimport { DualListSelector as DLSDeprecated } from '@patternfly/react-core/deprecated';\n\nexport const DualListSelectorBasicSearch: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<React.ReactNode[]>([\n 'Option 1',\n 'Option 2',\n 'Option 3',\n 'Option 4'\n ]);\n const [chosenOptions, setChosenOptions] = useState<React.ReactNode[]>([]);\n\n const onListChange = (\n event: React.MouseEvent<HTMLElement>,\n newAvailableOptions: React.ReactNode[],\n newChosenOptions: React.ReactNode[]\n ) => {\n setAvailableOptions(newAvailableOptions.sort());\n setChosenOptions(newChosenOptions.sort());\n };\n\n return (\n <DLSDeprecated\n isSearchable\n availableOptions={availableOptions}\n chosenOptions={chosenOptions}\n onListChange={onListChange}\n id=\"dual-list-selector-basic-search\"\n />\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
55
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
55
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1523" data-pf-content="true" class="pf-v6-c-content--h3">Using more complex options with actions</h3>
|
|
56
56
|
|
|
57
57
|
<astro-island uid="Z1WgBTK" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { Fragment, useState } from 'react';\nimport { Button, ButtonVariant, Checkbox } from '@patternfly/react-core';\nimport { DualListSelector as DLSDeprecated } from '@patternfly/react-core/deprecated';\nimport PficonSortCommonAscIcon from '@patternfly/react-icons/dist/esm/icons/pficon-sort-common-asc-icon';\n\nexport const DualListSelectorComplexOptionsActions: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<React.ReactNode[]>([\n <span key=\"option1\">Option 1</span>,\n <span key=\"option3\">Option 3</span>,\n <span key=\"option4\">Option 4</span>,\n <span key=\"option2\">Option 2</span>\n ]);\n const [chosenOptions, setChosenOptions] = useState<React.ReactNode[]>([]);\n const [isDisabled, setIsDisabled] = useState(false);\n\n const onListChange = (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => {\n setAvailableOptions(newAvailableOptions);\n setChosenOptions(newChosenOptions);\n };\n\n const onSort = (pane: string) => {\n const toSort = pane === 'available' ? [...availableOptions] : [...chosenOptions];\n (toSort as React.ReactElement<any>[]).sort((a, b) => {\n if (a.props.children > b.props.children) {\n return 1;\n }\n if (a.props.children < b.props.children) {\n return -1;\n }\n return 0;\n });\n\n if (pane === 'available') {\n setAvailableOptions(toSort);\n } else {\n setChosenOptions(toSort);\n }\n };\n\n const filterOption = (option: React.ReactNode, input: string) =>\n (option as React.ReactElement<any>).props.children.includes(input);\n\n const availableOptionsActions = [\n <Button\n variant={ButtonVariant.plain}\n onClick={() => onSort('available')}\n aria-label=\"Sort available options\"\n key=\"availableSortButton\"\n isDisabled={isDisabled}\n icon={<PficonSortCommonAscIcon />}\n />\n ];\n\n const chosenOptionsActions = [\n <Button\n variant={ButtonVariant.plain}\n onClick={() => onSort('chosen')}\n aria-label=\"Sort chosen options\"\n key=\"chosenSortButton\"\n isDisabled={isDisabled}\n icon={<PficonSortCommonAscIcon />}\n />\n ];\n\n return (\n <Fragment>\n <DLSDeprecated\n isSearchable\n availableOptions={availableOptions}\n availableOptionsActions={availableOptionsActions}\n chosenOptions={chosenOptions}\n chosenOptionsActions={chosenOptionsActions}\n addAll={onListChange}\n removeAll={onListChange}\n addSelected={onListChange}\n removeSelected={onListChange}\n filterOption={filterOption}\n isDisabled={isDisabled}\n id=\"dual-list-selector-complex\"\n />\n <Checkbox\n key=\"isDisabled\"\n id=\"isDisabled\"\n label=\"isDisabled\"\n aria-label=\"isDisabled\"\n isChecked={isDisabled}\n onChange={() => setIsDisabled(!isDisabled)}\n />\n </Fragment>\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
58
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
58
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1524" data-pf-content="true" class="pf-v6-c-content--h3">With tree</h3>
|
|
59
59
|
|
|
60
60
|
<astro-island uid="XlTs0" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useState } from 'react';\nimport {\n DualListSelector as DLSDeprecated,\n DualListSelectorTreeItemData as DLSTreeItemDataDeprecated\n} from '@patternfly/react-core/deprecated';\n\nexport const DualListSelectorTreeExample: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<DLSTreeItemDataDeprecated[]>([\n {\n id: 'F1',\n text: 'Folder 1',\n isChecked: false,\n checkProps: { 'aria-label': 'Folder 1' },\n hasBadge: true,\n badgeProps: { isRead: true },\n children: [\n { id: 'O1', text: 'Option 1', isChecked: false, checkProps: { 'aria-label': 'Option 1' } },\n {\n id: 'F1A',\n text: 'Folder 1A',\n isChecked: false,\n checkProps: { 'aria-label': 'Folder 1A' },\n children: [\n { id: 'O2', text: 'Option 2', isChecked: false, checkProps: { 'aria-label': 'Option 2' } },\n { id: 'O3', text: 'Option 3', isChecked: false, checkProps: { 'aria-label': 'Option 3' } }\n ]\n },\n { id: 'O4', text: 'Option 4', isChecked: false, checkProps: { 'aria-label': 'Option 4' } }\n ]\n },\n { id: 'O5', text: 'Option 5', isChecked: false, checkProps: { 'aria-label': 'Option 5' } },\n {\n id: 'F2',\n text: 'Folder 2',\n isChecked: false,\n checkProps: { 'aria-label': 'Folder 2' },\n children: [\n { id: 'O6', text: 'Option 6', isChecked: false, checkProps: { 'aria-label': 'Option 6' } },\n { id: 'O7', text: 'Option 5', isChecked: false, checkProps: { 'aria-label': 'Option 5 duplicate' } }\n ]\n }\n ]);\n\n const [chosenOptions, setChosenOptions] = useState<DLSTreeItemDataDeprecated[]>([\n {\n id: 'CF1',\n text: 'Chosen Folder 1',\n isChecked: false,\n checkProps: { 'aria-label': 'Chosen Folder 1' },\n hasBadge: true,\n badgeProps: { isRead: true },\n children: [\n { id: 'CO1', text: 'Chosen Option 1', isChecked: false, checkProps: { 'aria-label': 'Chosen Option 1' } },\n {\n id: 'CF1A',\n text: 'Chosen Folder 1A',\n isChecked: false,\n checkProps: { 'aria-label': 'Chosen Folder 1A' },\n children: [\n {\n id: 'CO2',\n text: 'Chosen Option 2',\n isChecked: false,\n checkProps: { 'aria-label': 'Chosen Option 2' }\n },\n {\n id: 'CO3',\n text: 'Chosen Option 3',\n isChecked: false,\n checkProps: { 'aria-label': 'Chosen Option 3' }\n }\n ]\n },\n { id: 'CO4', text: 'Chosen Option 4', isChecked: false, checkProps: { 'aria-label': 'Chosen Option 4' } }\n ]\n }\n ]);\n\n const onListChange = (\n event: React.MouseEvent<HTMLElement>,\n newAvailableOptions: DLSTreeItemDataDeprecated[],\n newChosenOptions: DLSTreeItemDataDeprecated[]\n ) => {\n setAvailableOptions(newAvailableOptions.sort());\n setChosenOptions(newChosenOptions.sort());\n };\n\n return (\n <DLSDeprecated\n isSearchable\n isTree\n availableOptions={availableOptions}\n chosenOptions={chosenOptions}\n onListChange={onListChange as any}\n id=\"dual-list-selector-tree\"\n />\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
61
|
-
<h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
62
|
-
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
63
|
-
<pre data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
61
|
+
<h2 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1525" data-pf-content="true" class="pf-v6-c-content--h2">Composable structure</h2>
|
|
62
|
+
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1526" data-pf-content="true" class="pf-v6-c-content--p">The dual list selector can also be built in a composable manner to make customization easier. The standard sub-component relationships are arranged as follows:</p>
|
|
63
|
+
<pre data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1539" data-pf-content="true" class="pf-v6-c-content--pre"><code><span class="line"><span><DualListSelector></span></span>
|
|
64
64
|
<span class="line"><span> <DualListSelectorPane></span></span>
|
|
65
65
|
<span class="line"><span> <DualListSelectorList></span></span>
|
|
66
66
|
<span class="line"><span> <DualListSelectorListItem /></span></span>
|
|
@@ -77,30 +77,30 @@
|
|
|
77
77
|
<span class="line"><span> </DualListSelectorList></span></span>
|
|
78
78
|
<span class="line"><span> </DualListSelectorPane></span></span>
|
|
79
79
|
<span class="line"><span></DualListSelector></span></span></code></pre>
|
|
80
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
80
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1527" data-pf-content="true" class="pf-v6-c-content--h3">Composable dual list selector</h3>
|
|
81
81
|
|
|
82
82
|
<astro-island uid="ZjqaWO" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useState } from 'react';\nimport {\n Button,\n ButtonVariant,\n SearchInput,\n EmptyState,\n EmptyStateVariant,\n EmptyStateFooter,\n EmptyStateBody,\n EmptyStateActions\n} from '@patternfly/react-core';\nimport {\n DualListSelector as DLSDeprecated,\n DualListSelectorPane as DLSPaneDeprecated,\n DualListSelectorList as DLSListDeprecated,\n DualListSelectorListItem as DLSListItemDeprecated,\n DualListSelectorControlsWrapper as DLSControlsWrapperDeprecated,\n DualListSelectorControl as DLSControlDeprecated\n} from '@patternfly/react-core/deprecated';\nimport AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';\nimport AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';\nimport AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';\nimport AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';\nimport PficonSortCommonAscIcon from '@patternfly/react-icons/dist/esm/icons/pficon-sort-common-asc-icon';\nimport SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';\n\ninterface Option {\n text: string;\n selected: boolean;\n isVisible: boolean;\n}\n\nexport const DualListSelectorComposable: React.FunctionComponent = () => {\n const [availableOptions, setAvailableOptions] = useState<Option[]>([\n { text: 'Apple', selected: false, isVisible: true },\n { text: 'Banana', selected: false, isVisible: true },\n { text: 'Pineapple', selected: false, isVisible: true },\n { text: 'Orange', selected: false, isVisible: true },\n { text: 'Grape', selected: false, isVisible: true },\n { text: 'Peach', selected: false, isVisible: true },\n { text: 'Strawberry', selected: false, isVisible: true }\n ]);\n const [chosenOptions, setChosenOptions] = useState<Option[]>([]);\n const [availableFilter, setAvailableFilter] = useState('');\n const [chosenFilter, setChosenFilter] = useState('');\n\n // callback for moving selected options between lists\n const moveSelected = (fromAvailable: boolean) => {\n const sourceOptions = fromAvailable ? availableOptions : chosenOptions;\n const destinationOptions = fromAvailable ? chosenOptions : availableOptions;\n for (let i = 0; i < sourceOptions.length; i++) {\n const option = sourceOptions[i];\n if (option.selected && option.isVisible) {\n sourceOptions.splice(i, 1);\n destinationOptions.push(option);\n option.selected = false;\n i--;\n }\n }\n if (fromAvailable) {\n setAvailableOptions([...sourceOptions]);\n setChosenOptions([...destinationOptions]);\n } else {\n setChosenOptions([...sourceOptions]);\n setAvailableOptions([...destinationOptions]);\n }\n };\n\n // callback for moving all options between lists\n const moveAll = (fromAvailable: boolean) => {\n if (fromAvailable) {\n setChosenOptions([...availableOptions.filter((option) => option.isVisible), ...chosenOptions]);\n setAvailableOptions([...availableOptions.filter((option) => !option.isVisible)]);\n } else {\n setAvailableOptions([...chosenOptions.filter((option) => option.isVisible), ...availableOptions]);\n setChosenOptions([...chosenOptions.filter((option) => !option.isVisible)]);\n }\n };\n\n // callback when option is selected\n const onOptionSelect = (\n event: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent,\n index: number,\n isChosen: boolean\n ) => {\n if (isChosen) {\n const newChosen = [...chosenOptions];\n newChosen[index].selected = !chosenOptions[index].selected;\n setChosenOptions(newChosen);\n } else {\n const newAvailable = [...availableOptions];\n newAvailable[index].selected = !availableOptions[index].selected;\n setAvailableOptions(newAvailable);\n }\n };\n\n const onFilterChange = (value: string, isAvailable: boolean) => {\n isAvailable ? setAvailableFilter(value) : setChosenFilter(value);\n const toFilter = isAvailable ? [...availableOptions] : [...chosenOptions];\n toFilter.forEach((option) => {\n option.isVisible = value === '' || option.text.toLowerCase().includes(value.toLowerCase());\n });\n };\n\n // builds a search input - used in each dual list selector pane\n const buildSearchInput = (isAvailable: boolean) => (\n <SearchInput\n value={isAvailable ? availableFilter : chosenFilter}\n onChange={(_event, value) => onFilterChange(value, isAvailable)}\n onClear={() => onFilterChange('', isAvailable)}\n />\n );\n\n // builds a sort control - passed to both dual list selector panes\n const buildSort = (isAvailable: boolean) => {\n const onSort = () => {\n const toSort = isAvailable ? [...availableOptions] : [...chosenOptions];\n toSort.sort((a, b) => {\n if (a.text > b.text) {\n return 1;\n }\n if (a.text < b.text) {\n return -1;\n }\n return 0;\n });\n if (isAvailable) {\n setAvailableOptions(toSort);\n } else {\n setChosenOptions(toSort);\n }\n };\n\n return (\n <Button\n variant={ButtonVariant.plain}\n onClick={onSort}\n aria-label=\"Sort\"\n key=\"sortButton\"\n icon={<PficonSortCommonAscIcon />}\n />\n );\n };\n\n const buildEmptyState = (isAvailable: boolean) => (\n <EmptyState headingLevel=\"h4\" titleText=\"No results found\" icon={SearchIcon} variant={EmptyStateVariant.sm}>\n <EmptyStateBody>No results match the filter criteria. Clear all filters and try again.</EmptyStateBody>\n <EmptyStateFooter>\n <EmptyStateActions>\n <Button variant=\"link\" onClick={() => onFilterChange('', isAvailable)}>\n Clear all filters\n </Button>\n </EmptyStateActions>\n </EmptyStateFooter>\n </EmptyState>\n );\n\n return (\n <DLSDeprecated>\n <DLSPaneDeprecated\n title=\"Available\"\n status={`${availableOptions.filter((option) => option.selected && option.isVisible).length} of ${\n availableOptions.filter((option) => option.isVisible).length\n } options selected`}\n searchInput={buildSearchInput(true)}\n actions={[buildSort(true)]}\n listMinHeight=\"300px\"\n >\n {availableFilter !== '' &&\n availableOptions.filter((option) => option.isVisible).length === 0 &&\n buildEmptyState(true)}\n {availableOptions.filter((option) => option.isVisible).length > 0 && (\n <DLSListDeprecated>\n {availableOptions.map((option, index) =>\n option.isVisible ? (\n <DLSListItemDeprecated\n key={index}\n isSelected={option.selected}\n id={`composable-available-option-${index}`}\n onOptionSelect={(e) => onOptionSelect(e, index, false)}\n >\n {option.text}\n </DLSListItemDeprecated>\n ) : null\n )}\n </DLSListDeprecated>\n )}\n </DLSPaneDeprecated>\n <DLSControlsWrapperDeprecated>\n <DLSControlDeprecated\n isDisabled={!availableOptions.some((option) => option.selected)}\n onClick={() => moveSelected(true)}\n aria-label=\"Add selected\"\n tooltipContent=\"Add selected\"\n >\n <AngleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={availableOptions.length === 0}\n onClick={() => moveAll(true)}\n aria-label=\"Add all\"\n tooltipContent=\"Add all\"\n >\n <AngleDoubleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={chosenOptions.length === 0}\n onClick={() => moveAll(false)}\n aria-label=\"Remove all\"\n tooltipContent=\"Remove all\"\n >\n <AngleDoubleLeftIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n onClick={() => moveSelected(false)}\n isDisabled={!chosenOptions.some((option) => option.selected)}\n aria-label=\"Remove selected\"\n tooltipContent=\"Remove selected\"\n >\n <AngleLeftIcon />\n </DLSControlDeprecated>\n </DLSControlsWrapperDeprecated>\n <DLSPaneDeprecated\n title=\"Chosen\"\n status={`${chosenOptions.filter((option) => option.selected && option.isVisible).length} of ${\n chosenOptions.filter((option) => option.isVisible).length\n } options selected`}\n searchInput={buildSearchInput(false)}\n actions={[buildSort(false)]}\n isChosen\n listMinHeight=\"300px\"\n >\n {chosenFilter !== '' &&\n chosenOptions.filter((option) => option.isVisible).length === 0 &&\n buildEmptyState(false)}\n {chosenOptions.filter((option) => option.isVisible).length > 0 && (\n <DLSListDeprecated>\n {chosenOptions.map((option, index) =>\n option.isVisible ? (\n <DLSListItemDeprecated\n key={index}\n isSelected={option.selected}\n id={`composable-chosen-option-${index}`}\n onOptionSelect={(e) => onOptionSelect(e, index, true)}\n >\n {option.text}\n </DLSListItemDeprecated>\n ) : null\n )}\n </DLSListDeprecated>\n )}\n </DLSPaneDeprecated>\n </DLSDeprecated>\n );\n};\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></astro-island>
|
|
83
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
84
|
-
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
85
|
-
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
86
|
-
<ul data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
87
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
88
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
89
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
90
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
91
|
-
<ul data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
92
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
83
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1528" data-pf-content="true" class="pf-v6-c-content--h3">Composable with drag and drop</h3>
|
|
84
|
+
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1540" data-pf-content="true" class="pf-v6-c-content--p">Note: There is a new recommended drag and drop implementation with full keyboard functionality, which replaces this implementation. To adhere to our new recommendations, refer to the <a data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1529" data-pf-content="true" class="pf-v6-c-content--a">drag and drop demos</a>.</p>
|
|
85
|
+
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1530" data-pf-content="true" class="pf-v6-c-content--p">This example only allows reordering the contents of the “chosen” pane with drag and drop. To make a pane able to be reordered:</p>
|
|
86
|
+
<ul data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1543" data-pf-content="true" class="pf-v6-c-content--ul">
|
|
87
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1532" data-pf-content="true" class="pf-v6-c-content--li">wrap the <code>DualListSelectorPane</code> in a <code>DragDrop</code> component</li>
|
|
88
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1533" data-pf-content="true" class="pf-v6-c-content--li">wrap the <code>DualListSelectorList</code> in a <code>Droppable</code> component</li>
|
|
89
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1534" data-pf-content="true" class="pf-v6-c-content--li">wrap the <code>DualListSelectorListItem</code> components in a <code>Draggable</code> component</li>
|
|
90
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1542" data-pf-content="true" class="pf-v6-c-content--li">define an <code>onDrop</code> callback which reorders the sortable options.
|
|
91
|
+
<ul data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1541" data-pf-content="true" class="pf-v6-c-content--ul">
|
|
92
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1535" data-pf-content="true" class="pf-v6-c-content--li">The <code>onDrop</code> function provides the starting location and destination location for a dragged item. It should return
|
|
93
93
|
true to enable the ‘drop’ animation in the new location and false to enable the ‘drop’ animation back to the item’s
|
|
94
94
|
old position.</li>
|
|
95
|
-
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
95
|
+
<li data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1536" data-pf-content="true" class="pf-v6-c-content--li">define an <code>onDrag</code> callback which ensures that the drag event will not cross hairs with the <code>onOptionSelect</code> click
|
|
96
96
|
event set on the option. Note: the <code>ignoreNextOptionSelect</code> state value is used to prevent selection while dragging.</li>
|
|
97
97
|
</ul>
|
|
98
98
|
</li>
|
|
99
99
|
</ul>
|
|
100
|
-
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
101
|
-
<pre data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
102
|
-
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-
|
|
100
|
+
<p data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1537" data-pf-content="true" class="pf-v6-c-content--p">Keyboard and screen reader accessibility for the <code><DragDrop></code> component is still in development.</p>
|
|
101
|
+
<pre data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1538" data-pf-content="true" class="pf-v6-c-content--pre"><code><span class="line"></span></code></pre>
|
|
102
|
+
<h3 data-ouia-component-type="PF6/Content" data-ouia-safe="true" data-ouia-component-id="OUIA-Generated-Content-1531" data-pf-content="true" class="pf-v6-c-content--h3">Composable with tree</h3>
|
|
103
103
|
|
|
104
|
-
<astro-island uid="2bnUzE" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useMemo, useState } from 'react';\nimport {\n SearchInput,\n Button,\n EmptyState,\n EmptyStateVariant,\n EmptyStateFooter,\n EmptyStateBody,\n EmptyStateActions\n} from '@patternfly/react-core';\nimport {\n DualListSelector as DLSDeprecated,\n DualListSelectorPane as DLSPaneDeprecated,\n DualListSelectorList as DLSListDeprecated,\n DualListSelectorControlsWrapper as DLSControlsWrapperDeprecated,\n DualListSelectorControl as DLSControlDeprecated,\n DualListSelectorTree as DLSTreeDeprecated,\n DualListSelectorTreeItemData as DLSTreeItemDataDeprecated\n} from '@patternfly/react-core/deprecated';\nimport AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';\nimport AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';\nimport AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';\nimport AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';\nimport SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';\n\ninterface FoodNode {\n id: string;\n text: string;\n children?: FoodNode[];\n}\n\ninterface ExampleProps {\n data: FoodNode[];\n}\n\nexport const DualListSelectorComposableTree: React.FunctionComponent<ExampleProps> = ({ data }: ExampleProps) => {\n const [checkedLeafIds, setCheckedLeafIds] = useState<string[]>([]);\n const [chosenLeafIds, setChosenLeafIds] = useState<string[]>(['beans', 'beef', 'chicken', 'tofu']);\n const [chosenFilter, setChosenFilter] = useState<string>('');\n const [availableFilter, setAvailableFilter] = useState<string>('');\n let hiddenChosen: string[] = [];\n let hiddenAvailable: string[] = [];\n\n // helper function to build memoized lists\n const buildTextById = (node: FoodNode): { [key: string]: string } => {\n let textById = {};\n if (!node) {\n return textById;\n }\n textById[node.id] = node.text;\n if (node.children) {\n node.children.forEach((child) => {\n textById = { ...textById, ...buildTextById(child) };\n });\n }\n return textById;\n };\n\n // helper function to build memoized lists\n const getDescendantLeafIds = (node: FoodNode): string[] => {\n if (!node.children || !node.children.length) {\n return [node.id];\n } else {\n let childrenIds: string[] = [];\n node.children.forEach((child) => {\n childrenIds = [...childrenIds, ...getDescendantLeafIds(child)];\n });\n return childrenIds;\n }\n };\n\n // helper function to build memoized lists\n const getLeavesById = (node: FoodNode): { [key: string]: string[] } => {\n let leavesById = {};\n if (!node.children || !node.children.length) {\n leavesById[node.id] = [node.id];\n } else {\n node.children.forEach((child) => {\n leavesById[node.id] = getDescendantLeafIds(node);\n leavesById = { ...leavesById, ...getLeavesById(child) };\n });\n }\n return leavesById;\n };\n\n // Builds a map of child leaf nodes by node id - memoized so that it only rebuilds the list if the data changes.\n const { memoizedLeavesById, memoizedAllLeaves, memoizedNodeText } = useMemo(() => {\n let leavesById = {};\n let allLeaves: string[] = [];\n let nodeTexts = {};\n data.forEach((foodNode) => {\n nodeTexts = { ...nodeTexts, ...buildTextById(foodNode) };\n leavesById = { ...leavesById, ...getLeavesById(foodNode) };\n allLeaves = [...allLeaves, ...getDescendantLeafIds(foodNode)];\n });\n return {\n memoizedLeavesById: leavesById,\n memoizedAllLeaves: allLeaves,\n memoizedNodeText: nodeTexts\n };\n }, [data]);\n\n const moveChecked = (toChosen: boolean) => {\n setChosenLeafIds(\n (prevChosenIds) =>\n toChosen\n ? [...prevChosenIds, ...checkedLeafIds] // add checked ids to chosen list\n : [...prevChosenIds.filter((x) => !checkedLeafIds.includes(x))] // remove checked ids from chosen list\n );\n\n // uncheck checked ids that just moved\n setCheckedLeafIds((prevChecked) =>\n toChosen\n ? [...prevChecked.filter((x) => chosenLeafIds.includes(x))]\n : [...prevChecked.filter((x) => !chosenLeafIds.includes(x))]\n );\n };\n\n const moveAll = (toChosen: boolean) => {\n if (toChosen) {\n setChosenLeafIds(memoizedAllLeaves);\n } else {\n setChosenLeafIds([]);\n }\n };\n\n const areAllDescendantsSelected = (node: FoodNode, isChosen: boolean) =>\n memoizedLeavesById[node.id].every(\n (id) => checkedLeafIds.includes(id) && (isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id))\n );\n const areSomeDescendantsSelected = (node: FoodNode, isChosen: boolean) =>\n memoizedLeavesById[node.id].some(\n (id) => checkedLeafIds.includes(id) && (isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id))\n );\n\n const isNodeChecked = (node: FoodNode, isChosen: boolean) => {\n if (areAllDescendantsSelected(node, isChosen)) {\n return true;\n }\n if (areSomeDescendantsSelected(node, isChosen)) {\n return false;\n }\n return false;\n };\n\n const onOptionCheck = (\n event: React.MouseEvent | React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent,\n isChecked: boolean,\n node: DLSTreeItemDataDeprecated,\n isChosen: boolean\n ) => {\n const nodeIdsToCheck = memoizedLeavesById[node.id].filter((id) =>\n isChosen\n ? chosenLeafIds.includes(id) && !hiddenChosen.includes(id)\n : !chosenLeafIds.includes(id) && !hiddenAvailable.includes(id)\n );\n if (isChosen) {\n hiddenChosen = [];\n } else {\n hiddenAvailable = [];\n }\n setCheckedLeafIds((prevChecked) => {\n const otherCheckedNodeNames = prevChecked.filter((id) => !nodeIdsToCheck.includes(id));\n return !isChecked ? otherCheckedNodeNames : [...otherCheckedNodeNames, ...nodeIdsToCheck];\n });\n };\n\n // builds a search input - used in each dual list selector pane\n const buildSearchInput = (isChosen: boolean) => {\n const onChange = (value) => (isChosen ? setChosenFilter(value) : setAvailableFilter(value));\n\n return (\n <SearchInput\n value={isChosen ? chosenFilter : availableFilter}\n onChange={(_event, value) => onChange(value)}\n onClear={() => onChange('')}\n />\n );\n };\n\n // Builds the DualListSelectorTreeItems from the FoodNodes\n const buildOptions = (\n isChosen: boolean,\n [node, ...remainingNodes]: FoodNode[],\n hasParentMatch: boolean\n ): DLSTreeItemDataDeprecated[] => {\n if (!node) {\n return [];\n }\n\n const isChecked = isNodeChecked(node, isChosen);\n\n const filterValue = isChosen ? chosenFilter : availableFilter;\n const descendentLeafIds = memoizedLeavesById[node.id];\n const descendentsOnThisPane = isChosen\n ? descendentLeafIds.filter((id) => chosenLeafIds.includes(id))\n : descendentLeafIds.filter((id) => !chosenLeafIds.includes(id));\n\n const hasMatchingChildren =\n filterValue && descendentsOnThisPane.some((id) => memoizedNodeText[id].includes(filterValue));\n const isFilterMatch = filterValue && node.text.includes(filterValue) && descendentsOnThisPane.length > 0;\n\n // A node is displayed if either of the following is true:\n // - There is no filter value and this node or its descendents belong on this pane\n // - There is a filter value and this node or one of this node's descendents or ancestors match on this pane\n const isDisplayed =\n (!filterValue && descendentsOnThisPane.length > 0) ||\n hasMatchingChildren ||\n (hasParentMatch && descendentsOnThisPane.length > 0) ||\n isFilterMatch;\n\n if (!isDisplayed) {\n if (isChosen) {\n hiddenChosen.push(node.id);\n } else {\n hiddenAvailable.push(node.id);\n }\n }\n\n return [\n ...(isDisplayed\n ? [\n {\n id: node.id,\n text: node.text,\n isChecked,\n checkProps: { 'aria-label': `Select ${node.text}` },\n hasBadge: node.children && node.children.length > 0,\n badgeProps: { isRead: true },\n defaultExpanded: isChosen ? !!chosenFilter : !!availableFilter,\n children: node.children\n ? buildOptions(isChosen, node.children, isFilterMatch || hasParentMatch)\n : undefined\n }\n ]\n : []),\n ...(!isDisplayed && node.children && node.children.length\n ? buildOptions(isChosen, node.children, hasParentMatch)\n : []),\n ...(remainingNodes ? buildOptions(isChosen, remainingNodes, hasParentMatch) : [])\n ];\n };\n\n const buildPane = (isChosen: boolean): React.ReactNode => {\n const options: DLSTreeItemDataDeprecated[] = buildOptions(isChosen, data, false);\n const numOptions = isChosen ? chosenLeafIds.length : memoizedAllLeaves.length - chosenLeafIds.length;\n const numSelected = checkedLeafIds.filter((id) =>\n isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id)\n ).length;\n const status = `${numSelected} of ${numOptions} options selected`;\n const filterApplied = isChosen ? chosenFilter !== '' : availableFilter !== '';\n return (\n <DLSPaneDeprecated\n title={isChosen ? 'Chosen' : 'Available'}\n status={status}\n searchInput={buildSearchInput(isChosen)}\n isChosen={isChosen}\n listMinHeight=\"300px\"\n >\n {filterApplied && options.length === 0 && (\n <EmptyState headingLevel=\"h4\" titleText=\"No results found\" icon={SearchIcon} variant={EmptyStateVariant.sm}>\n <EmptyStateBody>No results match the filter criteria. Clear all filters and try again.</EmptyStateBody>\n <EmptyStateFooter>\n <EmptyStateActions>\n <Button variant=\"link\" onClick={() => (isChosen ? setChosenFilter('') : setAvailableFilter(''))}>\n Clear all filters\n </Button>\n </EmptyStateActions>\n </EmptyStateFooter>\n </EmptyState>\n )}\n {options.length > 0 && (\n <DLSListDeprecated>\n <DLSTreeDeprecated\n data={options}\n onOptionCheck={(e, isChecked, itemData) => onOptionCheck(e, isChecked, itemData, isChosen)}\n />\n </DLSListDeprecated>\n )}\n </DLSPaneDeprecated>\n );\n };\n\n return (\n <DLSDeprecated isTree>\n {buildPane(false)}\n <DLSControlsWrapperDeprecated>\n <DLSControlDeprecated\n isDisabled={!checkedLeafIds.filter((x) => !chosenLeafIds.includes(x)).length}\n onClick={() => moveChecked(true)}\n aria-label=\"Add selected\"\n >\n <AngleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={chosenLeafIds.length === memoizedAllLeaves.length}\n onClick={() => moveAll(true)}\n aria-label=\"Add all\"\n >\n <AngleDoubleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={chosenLeafIds.length === 0}\n onClick={() => moveAll(false)}\n aria-label=\"Remove all\"\n >\n <AngleDoubleLeftIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n onClick={() => moveChecked(false)}\n isDisabled={!checkedLeafIds.filter((x) => !!chosenLeafIds.includes(x)).length}\n aria-label=\"Remove selected\"\n >\n <AngleLeftIcon />\n </DLSControlDeprecated>\n </DLSControlsWrapperDeprecated>\n {buildPane(true)}\n </DLSDeprecated>\n );\n};\n\nexport const DualListSelectorComposableTreeExample: React.FunctionComponent = () => (\n <DualListSelectorComposableTree\n data={[\n {\n id: 'fruits',\n text: 'Fruits',\n children: [\n { id: 'apple', text: 'Apple' },\n {\n id: 'berries',\n text: 'Berries',\n children: [\n { id: 'blueberry', text: 'Blueberry' },\n { id: 'strawberry', text: 'Strawberry' }\n ]\n },\n { id: 'banana', text: 'Banana' }\n ]\n },\n { id: 'bread', text: 'Bread' },\n {\n id: 'vegetables',\n text: 'Vegetables',\n children: [\n { id: 'broccoli', text: 'Broccoli' },\n { id: 'cauliflower', text: 'Cauliflower' }\n ]\n },\n {\n id: 'proteins',\n text: 'Proteins',\n children: [\n { id: 'beans', text: 'Beans' },\n {\n id: 'meats',\n text: 'Meats',\n children: [\n {\n id: 'beef',\n text: 'Beef'\n },\n {\n id: 'chicken',\n text: 'Chicken'\n }\n ]\n },\n { id: 'tofu', text: 'Tofu' }\n ]\n }\n ]}\n />\n);\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></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="1Ihpu7" component-url="/_astro/PropsTables.YkW1puJk.js" component-export="PropsTables" renderer-url="/_astro/client.DN8ES6L5.js" props="{"propComponents":[1,[[0,"DualListSelector"],[0,"DualListSelectorPane"],[0,"DualListSelectorList"],[0,"DualListSelectorListItem"],[0,"DualListSelectorControlsWrapper"],[0,"DualListSelectorControl"],[0,"DualListSelectorTree"],[0,"DualListSelectorTreeItemData"]]],"url":[7,"http://localhost:4321/components/dual-list-selector/react-deprecated/"]}" ssr client="only" opts="{"name":"PropsTables","value":"react"}"></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-1501" 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>
|
|
104
|
+
<astro-island uid="2bnUzE" component-url="/_astro/LiveExample.B5R4Dzng.js" component-export="LiveExample" renderer-url="/_astro/client.DN8ES6L5.js" props="{"src":[0,"import { useMemo, useState } from 'react';\nimport {\n SearchInput,\n Button,\n EmptyState,\n EmptyStateVariant,\n EmptyStateFooter,\n EmptyStateBody,\n EmptyStateActions\n} from '@patternfly/react-core';\nimport {\n DualListSelector as DLSDeprecated,\n DualListSelectorPane as DLSPaneDeprecated,\n DualListSelectorList as DLSListDeprecated,\n DualListSelectorControlsWrapper as DLSControlsWrapperDeprecated,\n DualListSelectorControl as DLSControlDeprecated,\n DualListSelectorTree as DLSTreeDeprecated,\n DualListSelectorTreeItemData as DLSTreeItemDataDeprecated\n} from '@patternfly/react-core/deprecated';\nimport AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';\nimport AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';\nimport AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';\nimport AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';\nimport SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';\n\ninterface FoodNode {\n id: string;\n text: string;\n children?: FoodNode[];\n}\n\ninterface ExampleProps {\n data: FoodNode[];\n}\n\nexport const DualListSelectorComposableTree: React.FunctionComponent<ExampleProps> = ({ data }: ExampleProps) => {\n const [checkedLeafIds, setCheckedLeafIds] = useState<string[]>([]);\n const [chosenLeafIds, setChosenLeafIds] = useState<string[]>(['beans', 'beef', 'chicken', 'tofu']);\n const [chosenFilter, setChosenFilter] = useState<string>('');\n const [availableFilter, setAvailableFilter] = useState<string>('');\n let hiddenChosen: string[] = [];\n let hiddenAvailable: string[] = [];\n\n // helper function to build memoized lists\n const buildTextById = (node: FoodNode): { [key: string]: string } => {\n let textById = {};\n if (!node) {\n return textById;\n }\n textById[node.id] = node.text;\n if (node.children) {\n node.children.forEach((child) => {\n textById = { ...textById, ...buildTextById(child) };\n });\n }\n return textById;\n };\n\n // helper function to build memoized lists\n const getDescendantLeafIds = (node: FoodNode): string[] => {\n if (!node.children || !node.children.length) {\n return [node.id];\n } else {\n let childrenIds: string[] = [];\n node.children.forEach((child) => {\n childrenIds = [...childrenIds, ...getDescendantLeafIds(child)];\n });\n return childrenIds;\n }\n };\n\n // helper function to build memoized lists\n const getLeavesById = (node: FoodNode): { [key: string]: string[] } => {\n let leavesById = {};\n if (!node.children || !node.children.length) {\n leavesById[node.id] = [node.id];\n } else {\n node.children.forEach((child) => {\n leavesById[node.id] = getDescendantLeafIds(node);\n leavesById = { ...leavesById, ...getLeavesById(child) };\n });\n }\n return leavesById;\n };\n\n // Builds a map of child leaf nodes by node id - memoized so that it only rebuilds the list if the data changes.\n const { memoizedLeavesById, memoizedAllLeaves, memoizedNodeText } = useMemo(() => {\n let leavesById = {};\n let allLeaves: string[] = [];\n let nodeTexts = {};\n data.forEach((foodNode) => {\n nodeTexts = { ...nodeTexts, ...buildTextById(foodNode) };\n leavesById = { ...leavesById, ...getLeavesById(foodNode) };\n allLeaves = [...allLeaves, ...getDescendantLeafIds(foodNode)];\n });\n return {\n memoizedLeavesById: leavesById,\n memoizedAllLeaves: allLeaves,\n memoizedNodeText: nodeTexts\n };\n }, [data]);\n\n const moveChecked = (toChosen: boolean) => {\n setChosenLeafIds(\n (prevChosenIds) =>\n toChosen\n ? [...prevChosenIds, ...checkedLeafIds] // add checked ids to chosen list\n : [...prevChosenIds.filter((x) => !checkedLeafIds.includes(x))] // remove checked ids from chosen list\n );\n\n // uncheck checked ids that just moved\n setCheckedLeafIds((prevChecked) =>\n toChosen\n ? [...prevChecked.filter((x) => chosenLeafIds.includes(x))]\n : [...prevChecked.filter((x) => !chosenLeafIds.includes(x))]\n );\n };\n\n const moveAll = (toChosen: boolean) => {\n if (toChosen) {\n setChosenLeafIds(memoizedAllLeaves);\n } else {\n setChosenLeafIds([]);\n }\n };\n\n const areAllDescendantsSelected = (node: FoodNode, isChosen: boolean) =>\n memoizedLeavesById[node.id].every(\n (id) => checkedLeafIds.includes(id) && (isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id))\n );\n const areSomeDescendantsSelected = (node: FoodNode, isChosen: boolean) =>\n memoizedLeavesById[node.id].some(\n (id) => checkedLeafIds.includes(id) && (isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id))\n );\n\n const isNodeChecked = (node: FoodNode, isChosen: boolean) => {\n if (areAllDescendantsSelected(node, isChosen)) {\n return true;\n }\n if (areSomeDescendantsSelected(node, isChosen)) {\n return false;\n }\n return false;\n };\n\n const onOptionCheck = (\n event: React.MouseEvent | React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent,\n isChecked: boolean,\n node: DLSTreeItemDataDeprecated,\n isChosen: boolean\n ) => {\n const nodeIdsToCheck = memoizedLeavesById[node.id].filter((id) =>\n isChosen\n ? chosenLeafIds.includes(id) && !hiddenChosen.includes(id)\n : !chosenLeafIds.includes(id) && !hiddenAvailable.includes(id)\n );\n if (isChosen) {\n hiddenChosen = [];\n } else {\n hiddenAvailable = [];\n }\n setCheckedLeafIds((prevChecked) => {\n const otherCheckedNodeNames = prevChecked.filter((id) => !nodeIdsToCheck.includes(id));\n return !isChecked ? otherCheckedNodeNames : [...otherCheckedNodeNames, ...nodeIdsToCheck];\n });\n };\n\n // builds a search input - used in each dual list selector pane\n const buildSearchInput = (isChosen: boolean) => {\n const onChange = (value) => (isChosen ? setChosenFilter(value) : setAvailableFilter(value));\n\n return (\n <SearchInput\n value={isChosen ? chosenFilter : availableFilter}\n onChange={(_event, value) => onChange(value)}\n onClear={() => onChange('')}\n />\n );\n };\n\n // Builds the DualListSelectorTreeItems from the FoodNodes\n const buildOptions = (\n isChosen: boolean,\n [node, ...remainingNodes]: FoodNode[],\n hasParentMatch: boolean\n ): DLSTreeItemDataDeprecated[] => {\n if (!node) {\n return [];\n }\n\n const isChecked = isNodeChecked(node, isChosen);\n\n const filterValue = isChosen ? chosenFilter : availableFilter;\n const descendentLeafIds = memoizedLeavesById[node.id];\n const descendentsOnThisPane = isChosen\n ? descendentLeafIds.filter((id) => chosenLeafIds.includes(id))\n : descendentLeafIds.filter((id) => !chosenLeafIds.includes(id));\n\n const hasMatchingChildren =\n filterValue && descendentsOnThisPane.some((id) => memoizedNodeText[id].includes(filterValue));\n const isFilterMatch = filterValue && node.text.includes(filterValue) && descendentsOnThisPane.length > 0;\n\n // A node is displayed if either of the following is true:\n // - There is no filter value and this node or its descendents belong on this pane\n // - There is a filter value and this node or one of this node's descendents or ancestors match on this pane\n const isDisplayed =\n (!filterValue && descendentsOnThisPane.length > 0) ||\n hasMatchingChildren ||\n (hasParentMatch && descendentsOnThisPane.length > 0) ||\n isFilterMatch;\n\n if (!isDisplayed) {\n if (isChosen) {\n hiddenChosen.push(node.id);\n } else {\n hiddenAvailable.push(node.id);\n }\n }\n\n return [\n ...(isDisplayed\n ? [\n {\n id: node.id,\n text: node.text,\n isChecked,\n checkProps: { 'aria-label': `Select ${node.text}` },\n hasBadge: node.children && node.children.length > 0,\n badgeProps: { isRead: true },\n defaultExpanded: isChosen ? !!chosenFilter : !!availableFilter,\n children: node.children\n ? buildOptions(isChosen, node.children, isFilterMatch || hasParentMatch)\n : undefined\n }\n ]\n : []),\n ...(!isDisplayed && node.children && node.children.length\n ? buildOptions(isChosen, node.children, hasParentMatch)\n : []),\n ...(remainingNodes ? buildOptions(isChosen, remainingNodes, hasParentMatch) : [])\n ];\n };\n\n const buildPane = (isChosen: boolean): React.ReactNode => {\n const options: DLSTreeItemDataDeprecated[] = buildOptions(isChosen, data, false);\n const numOptions = isChosen ? chosenLeafIds.length : memoizedAllLeaves.length - chosenLeafIds.length;\n const numSelected = checkedLeafIds.filter((id) =>\n isChosen ? chosenLeafIds.includes(id) : !chosenLeafIds.includes(id)\n ).length;\n const status = `${numSelected} of ${numOptions} options selected`;\n const filterApplied = isChosen ? chosenFilter !== '' : availableFilter !== '';\n return (\n <DLSPaneDeprecated\n title={isChosen ? 'Chosen' : 'Available'}\n status={status}\n searchInput={buildSearchInput(isChosen)}\n isChosen={isChosen}\n listMinHeight=\"300px\"\n >\n {filterApplied && options.length === 0 && (\n <EmptyState headingLevel=\"h4\" titleText=\"No results found\" icon={SearchIcon} variant={EmptyStateVariant.sm}>\n <EmptyStateBody>No results match the filter criteria. Clear all filters and try again.</EmptyStateBody>\n <EmptyStateFooter>\n <EmptyStateActions>\n <Button variant=\"link\" onClick={() => (isChosen ? setChosenFilter('') : setAvailableFilter(''))}>\n Clear all filters\n </Button>\n </EmptyStateActions>\n </EmptyStateFooter>\n </EmptyState>\n )}\n {options.length > 0 && (\n <DLSListDeprecated>\n <DLSTreeDeprecated\n data={options}\n onOptionCheck={(e, isChecked, itemData) => onOptionCheck(e, isChecked, itemData, isChosen)}\n />\n </DLSListDeprecated>\n )}\n </DLSPaneDeprecated>\n );\n };\n\n return (\n <DLSDeprecated isTree>\n {buildPane(false)}\n <DLSControlsWrapperDeprecated>\n <DLSControlDeprecated\n isDisabled={!checkedLeafIds.filter((x) => !chosenLeafIds.includes(x)).length}\n onClick={() => moveChecked(true)}\n aria-label=\"Add selected\"\n >\n <AngleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={chosenLeafIds.length === memoizedAllLeaves.length}\n onClick={() => moveAll(true)}\n aria-label=\"Add all\"\n >\n <AngleDoubleRightIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n isDisabled={chosenLeafIds.length === 0}\n onClick={() => moveAll(false)}\n aria-label=\"Remove all\"\n >\n <AngleDoubleLeftIcon />\n </DLSControlDeprecated>\n <DLSControlDeprecated\n onClick={() => moveChecked(false)}\n isDisabled={!checkedLeafIds.filter((x) => !!chosenLeafIds.includes(x)).length}\n aria-label=\"Remove selected\"\n >\n <AngleLeftIcon />\n </DLSControlDeprecated>\n </DLSControlsWrapperDeprecated>\n {buildPane(true)}\n </DLSDeprecated>\n );\n};\n\nexport const DualListSelectorComposableTreeExample: React.FunctionComponent = () => (\n <DualListSelectorComposableTree\n data={[\n {\n id: 'fruits',\n text: 'Fruits',\n children: [\n { id: 'apple', text: 'Apple' },\n {\n id: 'berries',\n text: 'Berries',\n children: [\n { id: 'blueberry', text: 'Blueberry' },\n { id: 'strawberry', text: 'Strawberry' }\n ]\n },\n { id: 'banana', text: 'Banana' }\n ]\n },\n { id: 'bread', text: 'Bread' },\n {\n id: 'vegetables',\n text: 'Vegetables',\n children: [\n { id: 'broccoli', text: 'Broccoli' },\n { id: 'cauliflower', text: 'Cauliflower' }\n ]\n },\n {\n id: 'proteins',\n text: 'Proteins',\n children: [\n { id: 'beans', text: 'Beans' },\n {\n id: 'meats',\n text: 'Meats',\n children: [\n {\n id: 'beef',\n text: 'Beef'\n },\n {\n id: 'chicken',\n text: 'Chicken'\n }\n ]\n },\n { id: 'tofu', text: 'Tofu' }\n ]\n }\n ]}\n />\n);\n"],"html":[0]}" ssr client="only" opts="{"name":"LiveExampleBase","value":"react"}"></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="1Ihpu7" component-url="/_astro/PropsTables.YkW1puJk.js" component-export="PropsTables" renderer-url="/_astro/client.DN8ES6L5.js" props="{"propComponents":[1,[[0,"DualListSelector"],[0,"DualListSelectorPane"],[0,"DualListSelectorList"],[0,"DualListSelectorListItem"],[0,"DualListSelectorControlsWrapper"],[0,"DualListSelectorControl"],[0,"DualListSelectorTree"],[0,"DualListSelectorTreeItemData"]]],"url":[7,"http://localhost:4321/components/dual-list-selector/react-deprecated/"]}" ssr client="only" opts="{"name":"PropsTables","value":"react"}"></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-1518" 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>
|
|
105
105
|
CSS variables
|
|
106
106
|
</h2></div></div></div><div class="pf-v6-l-stack__item"><astro-island uid="rB8jX" component-url="/_astro/CSSTable.-Emc9iTg.js" component-export="CSSTable" renderer-url="/_astro/client.DN8ES6L5.js" props="{"autoLinkHeader":[0,false],"cssPrefix":[0,"pf-v6-c-dual-list-selector"]}" ssr client="only" opts="{"name":"CSSTableComponent","value":"react"}"></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>
|
|
@@ -1,4 +1,4 @@
|
|
|
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.
|
|
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.13.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.DZnDNxNb.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
|
|
2
2
|
<link rel="stylesheet" href="/_astro/_page_.DxJDkZPc.css">
|
|
3
3
|
<link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
|
|
4
4
|
<link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
|
|
@@ -1,4 +1,4 @@
|
|
|
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.
|
|
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.13.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.DZnDNxNb.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
|
|
2
2
|
<link rel="stylesheet" href="/_astro/_page_.DxJDkZPc.css">
|
|
3
3
|
<link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
|
|
4
4
|
<link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
|
|
@@ -1,4 +1,4 @@
|
|
|
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.
|
|
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.13.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.DZnDNxNb.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
|
|
2
2
|
<link rel="stylesheet" href="/_astro/AutoLinkHeader.Chv_bGyU.css">
|
|
3
3
|
<link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
|
|
4
4
|
<link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
|
|
@@ -1,4 +1,4 @@
|
|
|
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.
|
|
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.13.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.DZnDNxNb.js"></script><link rel="stylesheet" href="/_astro/_page_.BG_fQ4i5.css">
|
|
2
2
|
<link rel="stylesheet" href="/_astro/AutoLinkHeader.Chv_bGyU.css">
|
|
3
3
|
<link rel="stylesheet" href="/_astro/PropsTables.D6ZI3FGj.css">
|
|
4
4
|
<link rel="stylesheet" href="/_astro/LiveExample.CxJsMvEq.css">
|