@patternfly/react-core 6.0.0-alpha.65 → 6.0.0-alpha.66
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/CHANGELOG.md +6 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -0
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/dynamic-modules.json +6 -12
- package/dist/esm/components/AboutModal/AboutModal.js +1 -1
- package/dist/esm/components/AboutModal/AboutModal.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +4 -40
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +5 -27
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalBody.d.ts.map +1 -0
- package/dist/esm/components/Modal/ModalBody.js.map +1 -0
- package/dist/esm/components/Modal/ModalBox.d.ts +3 -3
- package/dist/esm/components/Modal/ModalBox.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBox.js +2 -2
- package/dist/esm/components/Modal/ModalBox.js.map +1 -1
- package/dist/esm/components/Modal/ModalBoxCloseButton.js +1 -1
- package/dist/esm/components/Modal/ModalBoxCloseButton.js.map +1 -1
- package/dist/esm/components/Modal/ModalBoxTitle.d.ts +2 -2
- package/dist/esm/components/Modal/ModalBoxTitle.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxTitle.js +3 -2
- package/dist/esm/components/Modal/ModalBoxTitle.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +3 -41
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js +12 -29
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/Modal/ModalFooter.d.ts.map +1 -0
- package/dist/esm/components/Modal/ModalFooter.js.map +1 -0
- package/dist/esm/components/Modal/ModalHeader.d.ts.map +1 -0
- package/dist/esm/components/Modal/ModalHeader.js.map +1 -0
- package/dist/esm/components/Modal/index.d.ts +3 -6
- package/dist/esm/components/Modal/index.d.ts.map +1 -1
- package/dist/esm/components/Modal/index.js +3 -6
- package/dist/esm/components/Modal/index.js.map +1 -1
- package/dist/esm/{next → deprecated}/components/Modal/Modal.d.ts +40 -4
- package/dist/esm/deprecated/components/Modal/Modal.d.ts.map +1 -0
- package/dist/esm/{next → deprecated}/components/Modal/Modal.js +27 -5
- package/dist/esm/deprecated/components/Modal/Modal.js.map +1 -0
- package/dist/esm/{next → deprecated}/components/Modal/ModalBox.d.ts +3 -3
- package/dist/esm/deprecated/components/Modal/ModalBox.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBox.js +15 -0
- package/dist/esm/deprecated/components/Modal/ModalBox.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxBody.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxBody.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxCloseButton.d.ts.map +1 -0
- package/dist/esm/{next → deprecated}/components/Modal/ModalBoxCloseButton.js +1 -1
- package/dist/esm/deprecated/components/Modal/ModalBoxCloseButton.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxDescription.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxDescription.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxFooter.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxFooter.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxHeader.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalBoxHeader.js.map +1 -0
- package/dist/{js/next → esm/deprecated}/components/Modal/ModalBoxTitle.d.ts +2 -2
- package/dist/esm/deprecated/components/Modal/ModalBoxTitle.d.ts.map +1 -0
- package/dist/esm/{next → deprecated}/components/Modal/ModalBoxTitle.js +2 -3
- package/dist/esm/deprecated/components/Modal/ModalBoxTitle.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts +80 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.js +62 -0
- package/dist/esm/deprecated/components/Modal/ModalContent.js.map +1 -0
- package/dist/esm/deprecated/components/Modal/index.d.ts +8 -0
- package/dist/esm/deprecated/components/Modal/index.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Modal/index.js +8 -0
- package/dist/esm/deprecated/components/Modal/index.js.map +1 -0
- package/dist/esm/deprecated/components/Wizard/Wizard.js +1 -1
- package/dist/esm/deprecated/components/Wizard/Wizard.js.map +1 -1
- package/dist/esm/deprecated/components/index.d.ts +1 -0
- package/dist/esm/deprecated/components/index.d.ts.map +1 -1
- package/dist/esm/deprecated/components/index.js +1 -0
- package/dist/esm/deprecated/components/index.js.map +1 -1
- package/dist/esm/next/components/index.d.ts +0 -1
- package/dist/esm/next/components/index.d.ts.map +1 -1
- package/dist/esm/next/components/index.js +0 -1
- package/dist/esm/next/components/index.js.map +1 -1
- package/dist/js/components/AboutModal/AboutModal.js +1 -1
- package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +4 -40
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js +5 -27
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalBody.d.ts.map +1 -0
- package/dist/js/components/Modal/ModalBody.js.map +1 -0
- package/dist/js/components/Modal/ModalBox.d.ts +3 -3
- package/dist/js/components/Modal/ModalBox.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBox.js +2 -2
- package/dist/js/components/Modal/ModalBox.js.map +1 -1
- package/dist/js/components/Modal/ModalBoxCloseButton.js +1 -1
- package/dist/js/components/Modal/ModalBoxCloseButton.js.map +1 -1
- package/dist/js/components/Modal/ModalBoxTitle.d.ts +2 -2
- package/dist/js/components/Modal/ModalBoxTitle.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxTitle.js +3 -2
- package/dist/js/components/Modal/ModalBoxTitle.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +3 -41
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js +12 -29
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/Modal/ModalFooter.d.ts.map +1 -0
- package/dist/js/components/Modal/ModalFooter.js.map +1 -0
- package/dist/js/components/Modal/ModalHeader.d.ts.map +1 -0
- package/dist/js/components/Modal/ModalHeader.js.map +1 -0
- package/dist/js/components/Modal/index.d.ts +3 -6
- package/dist/js/components/Modal/index.d.ts.map +1 -1
- package/dist/js/components/Modal/index.js +3 -6
- package/dist/js/components/Modal/index.js.map +1 -1
- package/dist/js/{next → deprecated}/components/Modal/Modal.d.ts +40 -4
- package/dist/js/deprecated/components/Modal/Modal.d.ts.map +1 -0
- package/dist/js/{next → deprecated}/components/Modal/Modal.js +27 -5
- package/dist/js/deprecated/components/Modal/Modal.js.map +1 -0
- package/dist/js/{next → deprecated}/components/Modal/ModalBox.d.ts +3 -3
- package/dist/js/deprecated/components/Modal/ModalBox.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBox.js +19 -0
- package/dist/js/deprecated/components/Modal/ModalBox.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxBody.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxBody.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxCloseButton.d.ts.map +1 -0
- package/dist/js/{next → deprecated}/components/Modal/ModalBoxCloseButton.js +1 -1
- package/dist/js/deprecated/components/Modal/ModalBoxCloseButton.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxDescription.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxDescription.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxFooter.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxFooter.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxHeader.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalBoxHeader.js.map +1 -0
- package/dist/{esm/next → js/deprecated}/components/Modal/ModalBoxTitle.d.ts +2 -2
- package/dist/js/deprecated/components/Modal/ModalBoxTitle.d.ts.map +1 -0
- package/dist/js/{next → deprecated}/components/Modal/ModalBoxTitle.js +2 -3
- package/dist/js/deprecated/components/Modal/ModalBoxTitle.js.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts +80 -0
- package/dist/js/deprecated/components/Modal/ModalContent.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/ModalContent.js +66 -0
- package/dist/js/deprecated/components/Modal/ModalContent.js.map +1 -0
- package/dist/js/deprecated/components/Modal/index.d.ts +8 -0
- package/dist/js/deprecated/components/Modal/index.d.ts.map +1 -0
- package/dist/js/deprecated/components/Modal/index.js +11 -0
- package/dist/js/deprecated/components/Modal/index.js.map +1 -0
- package/dist/js/deprecated/components/Wizard/Wizard.js +1 -1
- package/dist/js/deprecated/components/Wizard/Wizard.js.map +1 -1
- package/dist/js/deprecated/components/index.d.ts +1 -0
- package/dist/js/deprecated/components/index.d.ts.map +1 -1
- package/dist/js/deprecated/components/index.js +1 -0
- package/dist/js/deprecated/components/index.js.map +1 -1
- package/dist/js/next/components/index.d.ts +0 -1
- package/dist/js/next/components/index.d.ts.map +1 -1
- package/dist/js/next/components/index.js +0 -1
- package/dist/js/next/components/index.js.map +1 -1
- package/dist/umd/assets/{output-BsYBUJdh.css → output-C4GbSx1X.css} +4983 -4983
- package/dist/umd/react-core.min.js +3 -3
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/AboutModal/AboutModal.tsx +1 -1
- package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +4 -5
- package/src/components/Modal/Modal.tsx +9 -82
- package/src/components/Modal/ModalBox.tsx +6 -6
- package/src/components/Modal/ModalBoxCloseButton.tsx +1 -1
- package/src/components/Modal/ModalBoxTitle.tsx +7 -5
- package/src/components/Modal/ModalContent.tsx +19 -110
- package/src/components/Modal/__tests__/Modal.test.tsx +10 -77
- package/src/components/Modal/__tests__/ModalBoxHeader.test.tsx +12 -5
- package/src/components/Modal/__tests__/ModalBoxTitle.test.tsx +6 -28
- package/src/components/Modal/__tests__/ModalContent.test.tsx +6 -72
- package/src/components/Modal/__tests__/__snapshots__/ModalBoxHeader.test.tsx.snap +16 -2
- package/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +13 -478
- package/src/components/Modal/examples/Modal.md +24 -32
- package/src/components/Modal/examples/ModalBasic.tsx +16 -12
- package/src/components/Modal/examples/ModalCustomFocus.tsx +19 -15
- package/src/{next/components → components}/Modal/examples/ModalCustomHeader.tsx +12 -2
- package/src/components/Modal/examples/ModalCustomTitleIcon.tsx +24 -18
- package/src/components/Modal/examples/ModalCustomWidth.tsx +15 -11
- package/src/components/Modal/examples/ModalNoHeaderFooter.tsx +14 -12
- package/src/{next/components → components}/Modal/examples/ModalSize.tsx +1 -2
- package/src/components/Modal/examples/ModalTitleIcon.tsx +20 -18
- package/src/components/Modal/examples/ModalTopAligned.tsx +15 -11
- package/src/components/Modal/examples/ModalWithDescription.tsx +53 -12
- package/src/components/Modal/examples/ModalWithDropdown.tsx +56 -49
- package/src/components/Modal/examples/ModalWithForm.tsx +150 -139
- package/src/components/Modal/examples/ModalWithHelp.tsx +34 -26
- package/src/components/Modal/examples/ModalWithOverflowingContent.tsx +47 -44
- package/src/components/Modal/examples/ModalWithWizard.tsx +2 -4
- package/src/components/Modal/index.ts +3 -6
- package/src/components/Wizard/examples/Wizard.md +1 -0
- package/src/components/Wizard/examples/WizardWithinModal.tsx +5 -4
- package/src/demos/DatePicker/DatePicker.md +2 -2
- package/src/demos/DatePicker/examples/DateTimePickerInModal.tsx +5 -12
- package/src/demos/LabelGroupDemos.md +3 -0
- package/src/demos/MultipleFileUploadDemos.md +2 -0
- package/src/demos/examples/MultipleFileUpload/MultipleFileUploadRejectedFile.tsx +3 -3
- package/src/{next → deprecated}/components/Modal/Modal.tsx +82 -9
- package/src/{next → deprecated}/components/Modal/ModalBox.tsx +6 -6
- package/src/{next → deprecated}/components/Modal/ModalBoxCloseButton.tsx +1 -1
- package/src/{next → deprecated}/components/Modal/ModalBoxTitle.tsx +5 -7
- package/src/deprecated/components/Modal/ModalContent.tsx +222 -0
- package/src/{next → deprecated}/components/Modal/__tests__/Modal.test.tsx +76 -9
- package/src/deprecated/components/Modal/__tests__/ModalBoxHeader.test.tsx +14 -0
- package/src/{next → deprecated}/components/Modal/__tests__/ModalBoxTitle.test.tsx +28 -6
- package/src/deprecated/components/Modal/__tests__/ModalContent.test.tsx +112 -0
- package/src/{next → deprecated}/components/Modal/__tests__/__snapshots__/ModalBoxHeader.test.tsx.snap +2 -16
- package/src/deprecated/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +593 -0
- package/src/{next → deprecated}/components/Modal/examples/Modal.md +34 -24
- package/src/deprecated/components/Modal/examples/ModalBasic.tsx +39 -0
- package/src/deprecated/components/Modal/examples/ModalCustomFocus.tsx +39 -0
- package/src/{components → deprecated/components}/Modal/examples/ModalCustomHeaderFooter.tsx +5 -4
- package/src/deprecated/components/Modal/examples/ModalCustomTitleIcon.tsx +47 -0
- package/src/deprecated/components/Modal/examples/ModalCustomWidth.tsx +39 -0
- package/src/{components → deprecated/components}/Modal/examples/ModalLarge.tsx +5 -4
- package/src/{components → deprecated/components}/Modal/examples/ModalMedium.tsx +5 -4
- package/src/deprecated/components/Modal/examples/ModalNoHeaderFooter.tsx +38 -0
- package/src/{components → deprecated/components}/Modal/examples/ModalSmall.tsx +5 -4
- package/src/deprecated/components/Modal/examples/ModalTitleIcon.tsx +46 -0
- package/src/deprecated/components/Modal/examples/ModalTopAligned.tsx +39 -0
- package/src/deprecated/components/Modal/examples/ModalWithDescription.tsx +39 -0
- package/src/deprecated/components/Modal/examples/ModalWithDropdown.tsx +100 -0
- package/src/deprecated/components/Modal/examples/ModalWithForm.tsx +183 -0
- package/src/deprecated/components/Modal/examples/ModalWithHelp.tsx +56 -0
- package/src/deprecated/components/Modal/examples/ModalWithOverflowingContent.tsx +72 -0
- package/src/{next → deprecated}/components/Modal/examples/ModalWithWizard.tsx +7 -5
- package/src/deprecated/components/Modal/index.ts +7 -0
- package/src/deprecated/components/Wizard/Wizard.tsx +1 -1
- package/src/deprecated/components/index.ts +1 -0
- package/src/next/components/index.ts +0 -1
- package/dist/dynamic/next/components/Modal/package.json +0 -1
- package/dist/esm/components/Modal/ModalBoxBody.d.ts.map +0 -1
- package/dist/esm/components/Modal/ModalBoxBody.js.map +0 -1
- package/dist/esm/components/Modal/ModalBoxFooter.d.ts.map +0 -1
- package/dist/esm/components/Modal/ModalBoxFooter.js.map +0 -1
- package/dist/esm/components/Modal/ModalBoxHeader.d.ts.map +0 -1
- package/dist/esm/components/Modal/ModalBoxHeader.js.map +0 -1
- package/dist/esm/next/components/Modal/Modal.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/Modal.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalBody.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalBody.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalBox.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalBox.js +0 -15
- package/dist/esm/next/components/Modal/ModalBox.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxCloseButton.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxCloseButton.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxDescription.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxDescription.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxTitle.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalBoxTitle.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalContent.d.ts +0 -42
- package/dist/esm/next/components/Modal/ModalContent.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalContent.js +0 -45
- package/dist/esm/next/components/Modal/ModalContent.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalFooter.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalFooter.js.map +0 -1
- package/dist/esm/next/components/Modal/ModalHeader.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/ModalHeader.js.map +0 -1
- package/dist/esm/next/components/Modal/index.d.ts +0 -5
- package/dist/esm/next/components/Modal/index.d.ts.map +0 -1
- package/dist/esm/next/components/Modal/index.js +0 -5
- package/dist/esm/next/components/Modal/index.js.map +0 -1
- package/dist/js/components/Modal/ModalBoxBody.d.ts.map +0 -1
- package/dist/js/components/Modal/ModalBoxBody.js.map +0 -1
- package/dist/js/components/Modal/ModalBoxFooter.d.ts.map +0 -1
- package/dist/js/components/Modal/ModalBoxFooter.js.map +0 -1
- package/dist/js/components/Modal/ModalBoxHeader.d.ts.map +0 -1
- package/dist/js/components/Modal/ModalBoxHeader.js.map +0 -1
- package/dist/js/next/components/Modal/Modal.d.ts.map +0 -1
- package/dist/js/next/components/Modal/Modal.js.map +0 -1
- package/dist/js/next/components/Modal/ModalBody.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalBody.js.map +0 -1
- package/dist/js/next/components/Modal/ModalBox.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalBox.js +0 -19
- package/dist/js/next/components/Modal/ModalBox.js.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxCloseButton.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxCloseButton.js.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxDescription.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxDescription.js.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxTitle.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalBoxTitle.js.map +0 -1
- package/dist/js/next/components/Modal/ModalContent.d.ts +0 -42
- package/dist/js/next/components/Modal/ModalContent.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalContent.js +0 -49
- package/dist/js/next/components/Modal/ModalContent.js.map +0 -1
- package/dist/js/next/components/Modal/ModalFooter.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalFooter.js.map +0 -1
- package/dist/js/next/components/Modal/ModalHeader.d.ts.map +0 -1
- package/dist/js/next/components/Modal/ModalHeader.js.map +0 -1
- package/dist/js/next/components/Modal/index.d.ts +0 -5
- package/dist/js/next/components/Modal/index.d.ts.map +0 -1
- package/dist/js/next/components/Modal/index.js +0 -8
- package/dist/js/next/components/Modal/index.js.map +0 -1
- package/src/next/components/Modal/ModalContent.tsx +0 -131
- package/src/next/components/Modal/__tests__/ModalBoxHeader.test.tsx +0 -21
- package/src/next/components/Modal/__tests__/ModalContent.test.tsx +0 -46
- package/src/next/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +0 -128
- package/src/next/components/Modal/examples/ModalBasic.tsx +0 -43
- package/src/next/components/Modal/examples/ModalCustomFocus.tsx +0 -43
- package/src/next/components/Modal/examples/ModalCustomTitleIcon.tsx +0 -54
- package/src/next/components/Modal/examples/ModalCustomWidth.tsx +0 -43
- package/src/next/components/Modal/examples/ModalNoHeaderFooter.tsx +0 -40
- package/src/next/components/Modal/examples/ModalTitleIcon.tsx +0 -48
- package/src/next/components/Modal/examples/ModalTopAligned.tsx +0 -43
- package/src/next/components/Modal/examples/ModalWithDescription.tsx +0 -80
- package/src/next/components/Modal/examples/ModalWithDropdown.tsx +0 -105
- package/src/next/components/Modal/examples/ModalWithForm.tsx +0 -191
- package/src/next/components/Modal/examples/ModalWithHelp.tsx +0 -63
- package/src/next/components/Modal/examples/ModalWithOverflowingContent.tsx +0 -75
- package/src/next/components/Modal/index.ts +0 -4
- /package/dist/esm/{next/components → components}/Modal/ModalBody.d.ts +0 -0
- /package/dist/esm/{next/components → components}/Modal/ModalBody.js +0 -0
- /package/dist/esm/{next/components → components}/Modal/ModalFooter.d.ts +0 -0
- /package/dist/esm/{next/components → components}/Modal/ModalFooter.js +0 -0
- /package/dist/esm/{next/components → components}/Modal/ModalHeader.d.ts +0 -0
- /package/dist/esm/{next/components → components}/Modal/ModalHeader.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxBody.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxBody.js +0 -0
- /package/dist/esm/{next → deprecated}/components/Modal/ModalBoxCloseButton.d.ts +0 -0
- /package/dist/esm/{next → deprecated}/components/Modal/ModalBoxDescription.d.ts +0 -0
- /package/dist/esm/{next → deprecated}/components/Modal/ModalBoxDescription.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxFooter.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxFooter.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxHeader.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Modal/ModalBoxHeader.js +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalBody.d.ts +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalBody.js +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalFooter.d.ts +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalFooter.js +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalHeader.d.ts +0 -0
- /package/dist/js/{next/components → components}/Modal/ModalHeader.js +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxBody.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxBody.js +0 -0
- /package/dist/js/{next → deprecated}/components/Modal/ModalBoxCloseButton.d.ts +0 -0
- /package/dist/js/{next → deprecated}/components/Modal/ModalBoxDescription.d.ts +0 -0
- /package/dist/js/{next → deprecated}/components/Modal/ModalBoxDescription.js +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxFooter.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxFooter.js +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxHeader.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Modal/ModalBoxHeader.js +0 -0
- /package/src/{next/components → components}/Modal/ModalBody.tsx +0 -0
- /package/src/{next/components → components}/Modal/ModalFooter.tsx +0 -0
- /package/src/{next/components → components}/Modal/ModalHeader.tsx +0 -0
- /package/src/{next/components → components}/Modal/__tests__/ModalBody.test.tsx +0 -0
- /package/src/{next/components → components}/Modal/__tests__/ModalFooter.test.tsx +0 -0
- /package/src/{next/components → components}/Modal/__tests__/__snapshots__/ModalBody.test.tsx.snap +0 -0
- /package/src/{next/components → components}/Modal/__tests__/__snapshots__/ModalFooter.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Modal/ModalBoxBody.tsx +0 -0
- /package/src/{next → deprecated}/components/Modal/ModalBoxDescription.tsx +0 -0
- /package/src/{components → deprecated/components}/Modal/ModalBoxFooter.tsx +0 -0
- /package/src/{components → deprecated/components}/Modal/ModalBoxHeader.tsx +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/ModalBox.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Modal/__tests__/ModalBoxBody.test.tsx +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/ModalBoxCloseButton.test.tsx +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/ModalBoxDescription.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Modal/__tests__/ModalBoxFooter.test.tsx +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/__snapshots__/ModalBox.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Modal/__tests__/__snapshots__/ModalBoxBody.test.tsx.snap +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/__snapshots__/ModalBoxDescription.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Modal/__tests__/__snapshots__/ModalBoxFooter.test.tsx.snap +0 -0
- /package/src/{next → deprecated}/components/Modal/__tests__/__snapshots__/ModalBoxTitle.test.tsx.snap +0 -0
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.65","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.65","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.65","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.66",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"react": "^17 || ^18",
|
|
66
66
|
"react-dom": "^17 || ^18"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "d7db1e1e0a2d23d6f755f2ffd5722e7cc8b5c661"
|
|
69
69
|
}
|
|
@@ -6,7 +6,7 @@ import { AboutModalBoxHeader } from './AboutModalBoxHeader';
|
|
|
6
6
|
import { AboutModalBoxBrand } from './AboutModalBoxBrand';
|
|
7
7
|
import { AboutModalBoxCloseButton } from './AboutModalBoxCloseButton';
|
|
8
8
|
import { AboutModalBox } from './AboutModalBox';
|
|
9
|
-
import { Modal, ModalVariant } from '
|
|
9
|
+
import { Modal, ModalVariant } from '../../deprecated/components/Modal';
|
|
10
10
|
import { GenerateId } from '../../helpers/GenerateId/GenerateId';
|
|
11
11
|
|
|
12
12
|
export interface AboutModalProps extends React.HTMLProps<HTMLDivElement> {
|
|
@@ -2,8 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import {
|
|
3
3
|
LabelGroup,
|
|
4
4
|
Label,
|
|
5
|
-
Modal,
|
|
6
|
-
ModalVariant,
|
|
7
5
|
Button,
|
|
8
6
|
Form,
|
|
9
7
|
FormGroup,
|
|
@@ -16,6 +14,7 @@ import {
|
|
|
16
14
|
Radio,
|
|
17
15
|
Popper
|
|
18
16
|
} from '@patternfly/react-core';
|
|
17
|
+
import { Modal as ModalDeprecated, ModalVariant as ModalVariantDeprecated } from '@patternfly/react-core/deprecated';
|
|
19
18
|
import InfoCircleIcon from '@patternfly/react-icons/dist/esm/icons/info-circle-icon';
|
|
20
19
|
|
|
21
20
|
export const LabelGroupEditableAddModal: React.FunctionComponent = () => {
|
|
@@ -255,8 +254,8 @@ export const LabelGroupEditableAddModal: React.FunctionComponent = () => {
|
|
|
255
254
|
</Label>
|
|
256
255
|
))}
|
|
257
256
|
</LabelGroup>
|
|
258
|
-
<
|
|
259
|
-
variant={
|
|
257
|
+
<ModalDeprecated
|
|
258
|
+
variant={ModalVariantDeprecated.small}
|
|
260
259
|
title="Add Label"
|
|
261
260
|
isOpen={isModalOpen}
|
|
262
261
|
onClose={handleModalToggle}
|
|
@@ -359,7 +358,7 @@ export const LabelGroupEditableAddModal: React.FunctionComponent = () => {
|
|
|
359
358
|
/>
|
|
360
359
|
</FormGroup>
|
|
361
360
|
</Form>
|
|
362
|
-
</
|
|
361
|
+
</ModalDeprecated>
|
|
363
362
|
</div>
|
|
364
363
|
);
|
|
365
364
|
};
|
|
@@ -7,53 +7,29 @@ import { ModalContent } from './ModalContent';
|
|
|
7
7
|
import { OUIAProps, getDefaultOUIAId } from '../../helpers';
|
|
8
8
|
|
|
9
9
|
export interface ModalProps extends React.HTMLProps<HTMLDivElement>, OUIAProps {
|
|
10
|
-
/** Action buttons to add to the standard modal footer. Ignored if the footer property
|
|
11
|
-
* is passed in.
|
|
12
|
-
*/
|
|
13
|
-
actions?: any;
|
|
14
10
|
/** The parent container to append the modal to. Defaults to "document.body". */
|
|
15
11
|
appendTo?: HTMLElement | (() => HTMLElement);
|
|
16
|
-
/** Id to use for the modal box
|
|
12
|
+
/** Id to use for the modal box description. This should match the ModalHeader labelId or descriptorId. */
|
|
17
13
|
'aria-describedby'?: string;
|
|
18
|
-
/**
|
|
14
|
+
/** Adds an accessible name to the modal when there is no title in the ModalHeader. */
|
|
19
15
|
'aria-label'?: string;
|
|
20
|
-
/** Id to use for the modal box label. */
|
|
16
|
+
/** Id to use for the modal box label. This should include the ModalHeader labelId. */
|
|
21
17
|
'aria-labelledby'?: string;
|
|
22
|
-
/** Accessible label applied to the modal box body. This should be used to communicate
|
|
23
|
-
* important information about the modal box body div element if needed, such as that it
|
|
24
|
-
* is scrollable.
|
|
25
|
-
*/
|
|
26
|
-
bodyAriaLabel?: string;
|
|
27
|
-
/** Accessible role applied to the modal box body. This will default to "region" if the
|
|
28
|
-
* bodyAriaLabel property is passed in. Set to a more appropriate role as applicable
|
|
29
|
-
* based on the modal content and context.
|
|
30
|
-
*/
|
|
31
|
-
bodyAriaRole?: string;
|
|
32
18
|
/** Content rendered inside the modal. */
|
|
33
19
|
children: React.ReactNode;
|
|
34
20
|
/** Additional classes added to the modal. */
|
|
35
21
|
className?: string;
|
|
36
|
-
/** Description of the modal. */
|
|
37
|
-
description?: React.ReactNode;
|
|
38
22
|
/** Flag to disable focus trap. */
|
|
39
23
|
disableFocusTrap?: boolean;
|
|
40
24
|
/** The element to focus when the modal opens. By default the first
|
|
41
25
|
* focusable element will receive focus.
|
|
42
26
|
*/
|
|
43
27
|
elementToFocus?: HTMLElement | SVGElement | string;
|
|
44
|
-
/** Custom footer. */
|
|
45
|
-
footer?: React.ReactNode;
|
|
46
|
-
/** Flag indicating if modal content should be placed in a modal box body wrapper. */
|
|
47
|
-
hasNoBodyWrapper?: boolean;
|
|
48
|
-
/** Complex header (more than just text), supersedes the title property for header content. */
|
|
49
|
-
header?: React.ReactNode;
|
|
50
|
-
/** Optional help section for the modal header. */
|
|
51
|
-
help?: React.ReactNode;
|
|
52
28
|
/** An id to use for the modal box container. */
|
|
53
29
|
id?: string;
|
|
54
30
|
/** Flag to show the modal. */
|
|
55
31
|
isOpen?: boolean;
|
|
56
|
-
/**
|
|
32
|
+
/** Add callback for when the close button is clicked. This prop needs to be passed to render the close button */
|
|
57
33
|
onClose?: (event: KeyboardEvent | React.MouseEvent) => void;
|
|
58
34
|
/** Modal handles pressing of the escape key and closes the modal. If you want to handle
|
|
59
35
|
* this yourself you can use this callback function. */
|
|
@@ -62,16 +38,6 @@ export interface ModalProps extends React.HTMLProps<HTMLDivElement>, OUIAProps {
|
|
|
62
38
|
position?: 'default' | 'top';
|
|
63
39
|
/** Offset from alternate position. Can be any valid CSS length/percentage. */
|
|
64
40
|
positionOffset?: string;
|
|
65
|
-
/** Flag to show the close button in the header area of the modal. */
|
|
66
|
-
showClose?: boolean;
|
|
67
|
-
/** Simple text content of the modal header. Also used for the aria-label on the body. */
|
|
68
|
-
title?: string;
|
|
69
|
-
/** Optional alert icon (or other) to show before the title of the modal header. When the
|
|
70
|
-
* predefined alert types are used the default styling will be automatically applied.
|
|
71
|
-
*/
|
|
72
|
-
titleIconVariant?: 'success' | 'danger' | 'warning' | 'info' | 'custom' | React.ComponentType<any>;
|
|
73
|
-
/** Optional title label text for screen readers. */
|
|
74
|
-
titleLabel?: string;
|
|
75
41
|
/** Variant of the modal. */
|
|
76
42
|
variant?: 'small' | 'medium' | 'large' | 'default';
|
|
77
43
|
/** Default width of the modal. */
|
|
@@ -100,24 +66,10 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
100
66
|
static displayName = 'Modal';
|
|
101
67
|
static currentId = 0;
|
|
102
68
|
boxId = '';
|
|
103
|
-
labelId = '';
|
|
104
|
-
descriptorId = '';
|
|
105
69
|
|
|
106
70
|
static defaultProps: PickOptional<ModalProps> = {
|
|
107
|
-
className: '',
|
|
108
71
|
isOpen: false,
|
|
109
|
-
title: '',
|
|
110
|
-
titleIconVariant: null,
|
|
111
|
-
titleLabel: '',
|
|
112
|
-
'aria-label': '',
|
|
113
|
-
showClose: true,
|
|
114
|
-
'aria-describedby': '',
|
|
115
|
-
'aria-labelledby': '',
|
|
116
|
-
id: undefined,
|
|
117
|
-
actions: [] as any[],
|
|
118
|
-
onClose: () => undefined as any,
|
|
119
72
|
variant: 'default',
|
|
120
|
-
hasNoBodyWrapper: false,
|
|
121
73
|
appendTo: () => document.body,
|
|
122
74
|
ouiaSafe: true,
|
|
123
75
|
position: 'default'
|
|
@@ -126,11 +78,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
126
78
|
constructor(props: ModalProps) {
|
|
127
79
|
super(props);
|
|
128
80
|
const boxIdNum = Modal.currentId++;
|
|
129
|
-
const labelIdNum = boxIdNum + 1;
|
|
130
|
-
const descriptorIdNum = boxIdNum + 2;
|
|
131
81
|
this.boxId = props.id || `pf-modal-part-${boxIdNum}`;
|
|
132
|
-
this.labelId = `pf-modal-part-${labelIdNum}`;
|
|
133
|
-
this.descriptorId = `pf-modal-part-${descriptorIdNum}`;
|
|
134
82
|
|
|
135
83
|
this.state = {
|
|
136
84
|
container: undefined,
|
|
@@ -168,11 +116,9 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
168
116
|
componentDidMount() {
|
|
169
117
|
const {
|
|
170
118
|
appendTo,
|
|
171
|
-
|
|
119
|
+
'aria-describedby': ariaDescribedby,
|
|
172
120
|
'aria-label': ariaLabel,
|
|
173
|
-
'aria-labelledby': ariaLabelledby
|
|
174
|
-
hasNoBodyWrapper,
|
|
175
|
-
header
|
|
121
|
+
'aria-labelledby': ariaLabelledby
|
|
176
122
|
} = this.props;
|
|
177
123
|
const target: HTMLElement = this.getElement(appendTo);
|
|
178
124
|
const container = document.createElement('div');
|
|
@@ -186,16 +132,9 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
186
132
|
target.classList.remove(css(styles.backdropOpen));
|
|
187
133
|
}
|
|
188
134
|
|
|
189
|
-
if (
|
|
135
|
+
if (!ariaDescribedby && !ariaLabel && !ariaLabelledby) {
|
|
190
136
|
// eslint-disable-next-line no-console
|
|
191
|
-
console.error('Modal: Specify at least one of:
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (this.isEmpty(ariaLabel) && this.isEmpty(ariaLabelledby) && (hasNoBodyWrapper || header)) {
|
|
195
|
-
// eslint-disable-next-line no-console
|
|
196
|
-
console.error(
|
|
197
|
-
'Modal: When using hasNoBodyWrapper or setting a custom header, ensure you assign an accessible name to the the modal container with aria-label or aria-labelledby.'
|
|
198
|
-
);
|
|
137
|
+
console.error('Modal: Specify at least one of: aria-describedby, aria-label, aria-labelledby.');
|
|
199
138
|
}
|
|
200
139
|
}
|
|
201
140
|
|
|
@@ -231,11 +170,6 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
231
170
|
'aria-labelledby': ariaLabelledby,
|
|
232
171
|
'aria-label': ariaLabel,
|
|
233
172
|
'aria-describedby': ariaDescribedby,
|
|
234
|
-
bodyAriaLabel,
|
|
235
|
-
bodyAriaRole,
|
|
236
|
-
title,
|
|
237
|
-
titleIconVariant,
|
|
238
|
-
titleLabel,
|
|
239
173
|
ouiaId,
|
|
240
174
|
ouiaSafe,
|
|
241
175
|
position,
|
|
@@ -250,22 +184,15 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
250
184
|
|
|
251
185
|
return ReactDOM.createPortal(
|
|
252
186
|
<ModalContent
|
|
253
|
-
{...props}
|
|
254
187
|
boxId={this.boxId}
|
|
255
|
-
labelId={this.labelId}
|
|
256
|
-
descriptorId={this.descriptorId}
|
|
257
|
-
title={title}
|
|
258
|
-
titleIconVariant={titleIconVariant}
|
|
259
|
-
titleLabel={titleLabel}
|
|
260
188
|
aria-label={ariaLabel}
|
|
261
189
|
aria-describedby={ariaDescribedby}
|
|
262
190
|
aria-labelledby={ariaLabelledby}
|
|
263
|
-
bodyAriaLabel={bodyAriaLabel}
|
|
264
|
-
bodyAriaRole={bodyAriaRole}
|
|
265
191
|
ouiaId={ouiaId !== undefined ? ouiaId : this.state.ouiaStateId}
|
|
266
192
|
ouiaSafe={ouiaSafe}
|
|
267
193
|
position={position}
|
|
268
194
|
elementToFocus={elementToFocus}
|
|
195
|
+
{...props}
|
|
269
196
|
/>,
|
|
270
197
|
container
|
|
271
198
|
) as React.ReactElement;
|
|
@@ -4,9 +4,9 @@ import styles from '@patternfly/react-styles/css/components/ModalBox/modal-box';
|
|
|
4
4
|
import topSpacer from '@patternfly/react-tokens/dist/esm/c_modal_box_m_align_top_spacer';
|
|
5
5
|
|
|
6
6
|
export interface ModalBoxProps extends React.HTMLProps<HTMLDivElement> {
|
|
7
|
-
/** Id to use for the modal box description. */
|
|
8
|
-
'aria-describedby'
|
|
9
|
-
/**
|
|
7
|
+
/** Id to use for the modal box description. This should match the ModalHeader labelId or descriptorId */
|
|
8
|
+
'aria-describedby'?: string;
|
|
9
|
+
/** Adds an accessible name to the modal when there is no title in the ModalHeader. */
|
|
10
10
|
'aria-label'?: string;
|
|
11
11
|
/** Id to use for the modal box label. */
|
|
12
12
|
'aria-labelledby'?: string;
|
|
@@ -24,12 +24,12 @@ export interface ModalBoxProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
24
24
|
|
|
25
25
|
export const ModalBox: React.FunctionComponent<ModalBoxProps> = ({
|
|
26
26
|
children,
|
|
27
|
-
className
|
|
27
|
+
className,
|
|
28
28
|
variant = 'default',
|
|
29
29
|
position,
|
|
30
30
|
positionOffset,
|
|
31
31
|
'aria-labelledby': ariaLabelledby,
|
|
32
|
-
'aria-label': ariaLabel
|
|
32
|
+
'aria-label': ariaLabel,
|
|
33
33
|
'aria-describedby': ariaDescribedby,
|
|
34
34
|
style,
|
|
35
35
|
...props
|
|
@@ -40,7 +40,6 @@ export const ModalBox: React.FunctionComponent<ModalBoxProps> = ({
|
|
|
40
40
|
}
|
|
41
41
|
return (
|
|
42
42
|
<div
|
|
43
|
-
{...props}
|
|
44
43
|
role="dialog"
|
|
45
44
|
aria-label={ariaLabel || null}
|
|
46
45
|
aria-labelledby={ariaLabelledby || null}
|
|
@@ -55,6 +54,7 @@ export const ModalBox: React.FunctionComponent<ModalBoxProps> = ({
|
|
|
55
54
|
variant === 'medium' && styles.modifiers.md
|
|
56
55
|
)}
|
|
57
56
|
style={style}
|
|
57
|
+
{...props}
|
|
58
58
|
>
|
|
59
59
|
{children}
|
|
60
60
|
</div>
|
|
@@ -18,7 +18,7 @@ export interface ModalBoxCloseButtonProps extends OUIAProps {
|
|
|
18
18
|
|
|
19
19
|
export const ModalBoxCloseButton: React.FunctionComponent<ModalBoxCloseButtonProps> = ({
|
|
20
20
|
className,
|
|
21
|
-
onClose
|
|
21
|
+
onClose,
|
|
22
22
|
'aria-label': ariaLabel = 'Close',
|
|
23
23
|
ouiaId,
|
|
24
24
|
...props
|
|
@@ -17,27 +17,29 @@ export interface ModalBoxTitleProps {
|
|
|
17
17
|
/** Additional classes added to the modal box title. */
|
|
18
18
|
className?: string;
|
|
19
19
|
/** Id of the modal box title. */
|
|
20
|
-
id
|
|
20
|
+
id?: string;
|
|
21
21
|
/** Content rendered inside the modal box title. */
|
|
22
22
|
title: React.ReactNode;
|
|
23
23
|
/** Optional alert icon (or other) to show before the title. When the predefined alert types
|
|
24
24
|
* are used the default styling will be automatically applied. */
|
|
25
25
|
titleIconVariant?: 'success' | 'danger' | 'warning' | 'info' | 'custom' | React.ComponentType<any>;
|
|
26
26
|
/** Optional title label text for screen readers. */
|
|
27
|
-
|
|
27
|
+
titleScreenReaderText?: string;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export const ModalBoxTitle: React.FunctionComponent<ModalBoxTitleProps> = ({
|
|
31
|
-
className
|
|
31
|
+
className,
|
|
32
32
|
id,
|
|
33
33
|
title,
|
|
34
34
|
titleIconVariant,
|
|
35
|
-
|
|
35
|
+
titleScreenReaderText,
|
|
36
36
|
...props
|
|
37
37
|
}: ModalBoxTitleProps) => {
|
|
38
38
|
const [hasTooltip, setHasTooltip] = React.useState(false);
|
|
39
39
|
const h1 = React.useRef<HTMLHeadingElement>(null);
|
|
40
|
-
const label =
|
|
40
|
+
const label =
|
|
41
|
+
titleScreenReaderText ||
|
|
42
|
+
(isVariantIcon(titleIconVariant) ? `${capitalize(titleIconVariant)} alert:` : titleScreenReaderText);
|
|
41
43
|
const variantIcons = {
|
|
42
44
|
success: <CheckCircleIcon />,
|
|
43
45
|
danger: <ExclamationCircleIcon />,
|
|
@@ -1,84 +1,39 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FocusTrap } from '../../helpers';
|
|
3
|
-
import modalStyles from '@patternfly/react-styles/css/components/ModalBox/modal-box';
|
|
4
3
|
import bullsEyeStyles from '@patternfly/react-styles/css/layouts/Bullseye/bullseye';
|
|
5
4
|
import { css } from '@patternfly/react-styles';
|
|
6
5
|
import { getOUIAProps, OUIAProps } from '../../helpers';
|
|
7
|
-
|
|
8
|
-
import { Backdrop } from '../Backdrop/Backdrop';
|
|
9
|
-
import { ModalBoxBody } from './ModalBoxBody';
|
|
6
|
+
import { Backdrop } from '../Backdrop';
|
|
10
7
|
import { ModalBoxCloseButton } from './ModalBoxCloseButton';
|
|
11
8
|
import { ModalBox } from './ModalBox';
|
|
12
|
-
import { ModalBoxFooter } from './ModalBoxFooter';
|
|
13
|
-
import { ModalBoxDescription } from './ModalBoxDescription';
|
|
14
|
-
import { ModalBoxHeader } from './ModalBoxHeader';
|
|
15
|
-
import { ModalBoxTitle, isVariantIcon } from './ModalBoxTitle';
|
|
16
9
|
|
|
17
10
|
export interface ModalContentProps extends OUIAProps {
|
|
18
|
-
/**
|
|
19
|
-
* is passed in.
|
|
20
|
-
*/
|
|
21
|
-
actions?: any;
|
|
22
|
-
/** Id to use for the modal box descriptor. */
|
|
11
|
+
/** Id to use for the modal box description. This should match the ModalHeader labelId or descriptorId. */
|
|
23
12
|
'aria-describedby'?: string;
|
|
24
13
|
/** Accessible descriptor of the modal. */
|
|
25
14
|
'aria-label'?: string;
|
|
26
|
-
/** Id to use for the modal box label. */
|
|
27
|
-
'aria-labelledby'?: string
|
|
28
|
-
/** Accessible label applied to the modal box body. This should be used to communicate
|
|
29
|
-
* important information about the modal box body div element if needed, such as that it
|
|
30
|
-
* is scrollable.
|
|
31
|
-
*/
|
|
32
|
-
bodyAriaLabel?: string;
|
|
33
|
-
/** Accessible role applied to the modal box body. This will default to "region" if the
|
|
34
|
-
* bodyAriaLabel property is passed in. Set to a more appropriate role as applicable
|
|
35
|
-
* based on the modal content and context.
|
|
36
|
-
*/
|
|
37
|
-
bodyAriaRole?: string;
|
|
15
|
+
/** Id to use for the modal box label. This should include the ModalHeader labelId. */
|
|
16
|
+
'aria-labelledby'?: string;
|
|
38
17
|
/** Id of the modal box container. */
|
|
39
18
|
boxId: string;
|
|
40
19
|
/** Content rendered inside the modal. */
|
|
41
20
|
children: React.ReactNode;
|
|
42
21
|
/** Additional classes added to the modal box. */
|
|
43
22
|
className?: string;
|
|
44
|
-
/** Description of the modal. */
|
|
45
|
-
description?: React.ReactNode;
|
|
46
|
-
/** Id of the modal box description. */
|
|
47
|
-
descriptorId: string;
|
|
48
23
|
/** Flag to disable focus trap. */
|
|
49
24
|
disableFocusTrap?: boolean;
|
|
50
25
|
/** The element to focus when the modal opens. By default the first
|
|
51
26
|
* focusable element will receive focus.
|
|
52
27
|
*/
|
|
53
28
|
elementToFocus?: HTMLElement | SVGElement | string;
|
|
54
|
-
/** Custom footer. */
|
|
55
|
-
footer?: React.ReactNode;
|
|
56
|
-
/** Flag indicating if modal content should be placed in a modal box body wrapper. */
|
|
57
|
-
hasNoBodyWrapper?: boolean;
|
|
58
|
-
/** Complex header (more than just text), supersedes the title property for header content. */
|
|
59
|
-
header?: React.ReactNode;
|
|
60
|
-
/** Optional help section for the modal header. */
|
|
61
|
-
help?: React.ReactNode;
|
|
62
29
|
/** Flag to show the modal. */
|
|
63
30
|
isOpen?: boolean;
|
|
64
|
-
/** Id of the modal box title. */
|
|
65
|
-
labelId: string;
|
|
66
31
|
/** A callback for when the close button is clicked. */
|
|
67
32
|
onClose?: (event: KeyboardEvent | React.MouseEvent) => void;
|
|
68
33
|
/** Position of the modal. By default a modal will be positioned vertically and horizontally centered. */
|
|
69
34
|
position?: 'default' | 'top';
|
|
70
35
|
/** Offset from alternate position. Can be any valid CSS length/percentage. */
|
|
71
36
|
positionOffset?: string;
|
|
72
|
-
/** Flag to show the close button in the header area of the modal. */
|
|
73
|
-
showClose?: boolean;
|
|
74
|
-
/** Simple text content of the modal header. Also used for the aria-label on the body. */
|
|
75
|
-
title?: string;
|
|
76
|
-
/** Optional alert icon (or other) to show before the title of the modal header. When the
|
|
77
|
-
* predefined alert types are used the default styling will be automatically applied.
|
|
78
|
-
*/
|
|
79
|
-
titleIconVariant?: 'success' | 'danger' | 'warning' | 'info' | 'custom' | React.ComponentType<any>;
|
|
80
|
-
/** Optional title label text for screen readers. */
|
|
81
|
-
titleLabel?: string;
|
|
82
37
|
/** Variant of the modal. */
|
|
83
38
|
variant?: 'small' | 'medium' | 'large' | 'default';
|
|
84
39
|
/** Default width of the modal. */
|
|
@@ -93,33 +48,19 @@ export interface ModalContentProps extends OUIAProps {
|
|
|
93
48
|
|
|
94
49
|
export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
|
|
95
50
|
children,
|
|
96
|
-
className
|
|
51
|
+
className,
|
|
97
52
|
isOpen = false,
|
|
98
|
-
|
|
99
|
-
help = null,
|
|
100
|
-
description = null,
|
|
101
|
-
title = '',
|
|
102
|
-
titleIconVariant = null,
|
|
103
|
-
titleLabel = '',
|
|
104
|
-
'aria-label': ariaLabel = '',
|
|
53
|
+
'aria-label': ariaLabel,
|
|
105
54
|
'aria-describedby': ariaDescribedby,
|
|
106
55
|
'aria-labelledby': ariaLabelledby,
|
|
107
|
-
|
|
108
|
-
bodyAriaRole,
|
|
109
|
-
showClose = true,
|
|
110
|
-
footer = null,
|
|
111
|
-
actions = [],
|
|
112
|
-
onClose = () => undefined as any,
|
|
56
|
+
onClose,
|
|
113
57
|
variant = 'default',
|
|
114
58
|
position,
|
|
115
59
|
positionOffset,
|
|
116
60
|
width,
|
|
117
61
|
maxWidth,
|
|
118
62
|
boxId,
|
|
119
|
-
labelId,
|
|
120
|
-
descriptorId,
|
|
121
63
|
disableFocusTrap = false,
|
|
122
|
-
hasNoBodyWrapper = false,
|
|
123
64
|
ouiaId,
|
|
124
65
|
ouiaSafe = true,
|
|
125
66
|
elementToFocus,
|
|
@@ -129,62 +70,30 @@ export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
|
|
|
129
70
|
return null;
|
|
130
71
|
}
|
|
131
72
|
|
|
132
|
-
const
|
|
133
|
-
<ModalBoxHeader help={help}>{header}</ModalBoxHeader>
|
|
134
|
-
) : (
|
|
135
|
-
title && (
|
|
136
|
-
<ModalBoxHeader help={help}>
|
|
137
|
-
<ModalBoxTitle title={title} titleIconVariant={titleIconVariant} titleLabel={titleLabel} id={labelId} />
|
|
138
|
-
{description && <ModalBoxDescription id={descriptorId}>{description}</ModalBoxDescription>}
|
|
139
|
-
</ModalBoxHeader>
|
|
140
|
-
)
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
const modalBoxFooter = footer ? (
|
|
144
|
-
<ModalBoxFooter>{footer}</ModalBoxFooter>
|
|
145
|
-
) : (
|
|
146
|
-
actions.length > 0 && <ModalBoxFooter>{actions}</ModalBoxFooter>
|
|
147
|
-
);
|
|
148
|
-
|
|
149
|
-
const defaultModalBodyAriaRole = bodyAriaLabel ? 'region' : undefined;
|
|
150
|
-
|
|
151
|
-
const hasNoDescription = !description && !ariaDescribedby;
|
|
152
|
-
const id = hasNoDescription ? descriptorId : undefined;
|
|
153
|
-
|
|
154
|
-
const modalBody = hasNoBodyWrapper ? (
|
|
155
|
-
children
|
|
156
|
-
) : (
|
|
157
|
-
<ModalBoxBody aria-label={bodyAriaLabel} role={bodyAriaRole || defaultModalBodyAriaRole} {...props} id={id}>
|
|
158
|
-
{children}
|
|
159
|
-
</ModalBoxBody>
|
|
160
|
-
);
|
|
161
|
-
const ariaLabelledbyFormatted = (): null | string => {
|
|
162
|
-
if (ariaLabelledby === null) {
|
|
163
|
-
return null;
|
|
164
|
-
}
|
|
73
|
+
const ariaLabelledbyFormatted = (): string => {
|
|
165
74
|
const idRefList: string[] = [];
|
|
166
|
-
if (
|
|
75
|
+
if (ariaLabel && boxId) {
|
|
167
76
|
idRefList.push(ariaLabel && boxId);
|
|
168
77
|
}
|
|
169
78
|
if (ariaLabelledby) {
|
|
170
79
|
idRefList.push(ariaLabelledby);
|
|
171
80
|
}
|
|
172
|
-
if (
|
|
173
|
-
|
|
81
|
+
if (idRefList.length === 0) {
|
|
82
|
+
return undefined;
|
|
83
|
+
} else {
|
|
84
|
+
return idRefList.join(' ');
|
|
174
85
|
}
|
|
175
|
-
return idRefList.join(' ');
|
|
176
86
|
};
|
|
177
87
|
|
|
178
88
|
const modalBox = (
|
|
179
89
|
<ModalBox
|
|
180
|
-
|
|
181
|
-
className={css(className, isVariantIcon(titleIconVariant) && modalStyles.modifiers[titleIconVariant])}
|
|
90
|
+
className={css(className)}
|
|
182
91
|
variant={variant}
|
|
183
92
|
position={position}
|
|
184
93
|
positionOffset={positionOffset}
|
|
185
94
|
aria-label={ariaLabel}
|
|
186
95
|
aria-labelledby={ariaLabelledbyFormatted()}
|
|
187
|
-
aria-describedby={ariaDescribedby
|
|
96
|
+
aria-describedby={ariaDescribedby}
|
|
188
97
|
{...getOUIAProps(ModalContent.displayName, ouiaId, ouiaSafe)}
|
|
189
98
|
style={
|
|
190
99
|
{
|
|
@@ -194,11 +103,11 @@ export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
|
|
|
194
103
|
})
|
|
195
104
|
} as React.CSSProperties
|
|
196
105
|
}
|
|
106
|
+
{...props}
|
|
107
|
+
id={boxId}
|
|
197
108
|
>
|
|
198
|
-
{
|
|
199
|
-
{
|
|
200
|
-
{modalBody}
|
|
201
|
-
{modalBoxFooter}
|
|
109
|
+
{onClose && <ModalBoxCloseButton onClose={(event) => onClose(event)} ouiaId={ouiaId} />}
|
|
110
|
+
{children}
|
|
202
111
|
</ModalBox>
|
|
203
112
|
);
|
|
204
113
|
return (
|