@openedx/paragon 23.14.1 → 23.14.3
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/README.md +80 -14
- package/dist/ActionRow/index.d.ts +18 -0
- package/dist/ActionRow/index.js +6 -24
- package/dist/ActionRow/index.js.map +1 -1
- package/dist/Alert/index.js +21 -24
- package/dist/Alert/index.js.map +1 -1
- package/dist/Annotation/index.d.ts +13 -0
- package/dist/Annotation/index.js +11 -30
- package/dist/Annotation/index.js.map +1 -1
- package/dist/Avatar/index.d.ts +11 -0
- package/dist/Avatar/index.js +7 -21
- package/dist/Avatar/index.js.map +1 -1
- package/dist/AvatarButton/index.d.ts +17 -0
- package/dist/AvatarButton/index.js +11 -33
- package/dist/AvatarButton/index.js.map +1 -1
- package/dist/Breadcrumb/BreadcrumbLink.js +5 -6
- package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
- package/dist/Breadcrumb/index.js +11 -12
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Bubble/index.d.ts +6 -2
- package/dist/Bubble/index.js +14 -39
- package/dist/Bubble/index.js.map +1 -1
- package/dist/Button/index.d.ts +42 -7
- package/dist/Button/index.js +43 -115
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/BaseCard.js +11 -12
- package/dist/Card/BaseCard.js.map +1 -1
- package/dist/Card/CardBody.js +9 -12
- package/dist/Card/CardBody.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarousel.js +13 -14
- package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselHeader.js +4 -5
- package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselItems.js +3 -4
- package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselProvider.js +7 -8
- package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js +5 -6
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselTitle.js +5 -6
- package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
- package/dist/Card/CardCarousel/messages.d.ts +13 -0
- package/dist/Card/CardCarousel/messages.js +4 -5
- package/dist/Card/CardCarousel/messages.js.map +1 -0
- package/dist/Card/CardContext.js +6 -7
- package/dist/Card/CardContext.js.map +1 -1
- package/dist/Card/CardDeck.js +9 -10
- package/dist/Card/CardDeck.js.map +1 -1
- package/dist/Card/CardDivider.js +8 -11
- package/dist/Card/CardDivider.js.map +1 -1
- package/dist/Card/CardFooter.js +9 -10
- package/dist/Card/CardFooter.js.map +1 -1
- package/dist/Card/CardGrid.js +6 -7
- package/dist/Card/CardGrid.js.map +1 -1
- package/dist/Card/CardHeader.js +9 -10
- package/dist/Card/CardHeader.js.map +1 -1
- package/dist/Card/CardImageCap.js +15 -16
- package/dist/Card/CardImageCap.js.map +1 -1
- package/dist/Card/CardSection.js +9 -10
- package/dist/Card/CardSection.js.map +1 -1
- package/dist/Card/CardStatus.js +9 -10
- package/dist/Card/CardStatus.js.map +1 -1
- package/dist/Card/index.js +9 -10
- package/dist/Card/index.js.map +1 -1
- package/dist/Chip/ChipIcon.js +8 -9
- package/dist/Chip/ChipIcon.js.map +1 -1
- package/dist/Chip/index.d.ts +22 -0
- package/dist/Chip/index.js +15 -70
- package/dist/Chip/index.js.map +1 -1
- package/dist/ChipCarousel/index.js +49 -53
- package/dist/ChipCarousel/index.js.map +1 -1
- package/dist/ChipCarousel/messages.d.ts +13 -0
- package/dist/ChipCarousel/messages.js +4 -5
- package/dist/ChipCarousel/messages.js.map +1 -0
- package/dist/CloseButton/index.js.map +1 -1
- package/dist/Collapse/index.js.map +1 -1
- package/dist/Collapsible/CollapsibleBody.js +6 -7
- package/dist/Collapsible/CollapsibleBody.js.map +1 -1
- package/dist/Collapsible/CollapsibleTrigger.js +9 -10
- package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
- package/dist/Collapsible/CollapsibleVisible.js +5 -6
- package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
- package/dist/ColorPicker/index.js +6 -7
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/Container/index.js +9 -12
- package/dist/Container/index.js.map +1 -1
- package/dist/DataTable/BulkActions.js +4 -5
- package/dist/DataTable/BulkActions.js.map +1 -1
- package/dist/DataTable/CardView.js +16 -18
- package/dist/DataTable/CardView.js.map +1 -1
- package/dist/DataTable/CollapsibleButtonGroup.js +5 -6
- package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
- package/dist/DataTable/DataTableLayout.js +5 -6
- package/dist/DataTable/DataTableLayout.js.map +1 -1
- package/dist/DataTable/DropdownFilters.js +7 -2
- package/dist/DataTable/DropdownFilters.js.map +1 -1
- package/dist/DataTable/EmptyTable.js +5 -6
- package/dist/DataTable/EmptyTable.js.map +1 -1
- package/dist/DataTable/ExpandAll.js +4 -5
- package/dist/DataTable/ExpandAll.js.map +1 -1
- package/dist/DataTable/ExpandRow.js +3 -4
- package/dist/DataTable/ExpandRow.js.map +1 -1
- package/dist/DataTable/FilterStatus.js +8 -9
- package/dist/DataTable/FilterStatus.js.map +1 -1
- package/dist/DataTable/RowStatus.js +4 -5
- package/dist/DataTable/RowStatus.js.map +1 -1
- package/dist/DataTable/SidebarFilters.js +3 -4
- package/dist/DataTable/SidebarFilters.js.map +1 -1
- package/dist/DataTable/Table.js +3 -4
- package/dist/DataTable/Table.js.map +1 -1
- package/dist/DataTable/TableActions.js +3 -4
- package/dist/DataTable/TableActions.js.map +1 -1
- package/dist/DataTable/TableCell.js +5 -6
- package/dist/DataTable/TableCell.js.map +1 -1
- package/dist/DataTable/TableControlBar.js +3 -4
- package/dist/DataTable/TableControlBar.js.map +1 -1
- package/dist/DataTable/TableFilters.js +6 -7
- package/dist/DataTable/TableFilters.js.map +1 -1
- package/dist/DataTable/TableFooter.js +4 -5
- package/dist/DataTable/TableFooter.js.map +1 -1
- package/dist/DataTable/TableHeaderCell.js +13 -15
- package/dist/DataTable/TableHeaderCell.js.map +1 -1
- package/dist/DataTable/TableHeaderRow.js +3 -4
- package/dist/DataTable/TableHeaderRow.js.map +1 -1
- package/dist/DataTable/TableRow.js +3 -4
- package/dist/DataTable/TableRow.js.map +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js +25 -29
- package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
- package/dist/DataTable/filters/DropdownFilter.js +16 -20
- package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js +25 -29
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/TextFilter.js +8 -9
- package/dist/DataTable/filters/TextFilter.js.map +1 -1
- package/dist/DataTable/hooks.js +11 -13
- package/dist/DataTable/hooks.js.map +1 -1
- package/dist/DataTable/index.js +42 -36
- package/dist/DataTable/index.js.map +1 -1
- package/dist/DataTable/messages.d.ts +13 -0
- package/dist/DataTable/messages.js +7 -3
- package/dist/DataTable/messages.js.map +1 -0
- package/dist/DataTable/selection/BaseSelectionStatus.js +11 -12
- package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelect.js +3 -4
- package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectHeader.js +3 -4
- package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectionStatus.js +4 -5
- package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/SelectionStatus.js +4 -5
- package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
- package/dist/DataTable/utils/getVisibleColumns.js +9 -13
- package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
- package/dist/Dropdown/index.js +17 -20
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropzone/DefaultContent.js +5 -6
- package/dist/Dropzone/DefaultContent.js.map +1 -1
- package/dist/Dropzone/DragError.js +3 -4
- package/dist/Dropzone/DragError.js.map +1 -1
- package/dist/Dropzone/GenericError.js +4 -5
- package/dist/Dropzone/GenericError.js.map +1 -1
- package/dist/Dropzone/UploadProgress.js +6 -7
- package/dist/Dropzone/UploadProgress.js.map +1 -1
- package/dist/Dropzone/index.js +14 -15
- package/dist/Dropzone/index.js.map +1 -1
- package/dist/Dropzone/messages.d.ts +53 -0
- package/dist/Dropzone/messages.js +12 -13
- package/dist/Dropzone/messages.js.map +1 -0
- package/dist/Fade/index.js.map +1 -1
- package/dist/Form/FormAutosuggest.js +18 -20
- package/dist/Form/FormAutosuggest.js.map +1 -1
- package/dist/Form/FormAutosuggestOption.js +6 -7
- package/dist/Form/FormAutosuggestOption.js.map +1 -1
- package/dist/Form/FormCheckbox.js +16 -18
- package/dist/Form/FormCheckbox.js.map +1 -1
- package/dist/Form/FormCheckboxSet.js +11 -12
- package/dist/Form/FormCheckboxSet.js.map +1 -1
- package/dist/Form/FormCheckboxSetContext.js +9 -10
- package/dist/Form/FormCheckboxSetContext.js.map +1 -1
- package/dist/Form/FormControl.js +12 -13
- package/dist/Form/FormControl.js.map +1 -1
- package/dist/Form/FormControlDecorator.js +4 -5
- package/dist/Form/FormControlDecorator.js.map +1 -1
- package/dist/Form/FormControlDecoratorGroup.js +8 -9
- package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
- package/dist/Form/FormControlFeedback.js +4 -5
- package/dist/Form/FormControlFeedback.js.map +1 -1
- package/dist/Form/FormControlFloatingLabel.js +3 -4
- package/dist/Form/FormControlFloatingLabel.js.map +1 -1
- package/dist/Form/FormControlSet.js +7 -8
- package/dist/Form/FormControlSet.js.map +1 -1
- package/dist/Form/FormGroup.js +9 -10
- package/dist/Form/FormGroup.js.map +1 -1
- package/dist/Form/FormGroupContext.js +7 -8
- package/dist/Form/FormGroupContext.js.map +1 -1
- package/dist/Form/FormLabel.d.ts +2 -11
- package/dist/Form/FormLabel.js +5 -15
- package/dist/Form/FormLabel.js.map +1 -1
- package/dist/Form/FormRadio.js +28 -31
- package/dist/Form/FormRadio.js.map +1 -1
- package/dist/Form/FormRadioSet.js +11 -12
- package/dist/Form/FormRadioSet.js.map +1 -1
- package/dist/Form/FormRadioSetContext.js +9 -10
- package/dist/Form/FormRadioSetContext.js.map +1 -1
- package/dist/Form/FormSwitch.js +25 -29
- package/dist/Form/FormSwitch.js.map +1 -1
- package/dist/Form/FormText.js +16 -19
- package/dist/Form/FormText.js.map +1 -1
- package/dist/Form/fieldUtils.js +11 -22
- package/dist/Form/fieldUtils.js.map +1 -1
- package/dist/Form/useCheckboxSetValues.js +1 -2
- package/dist/Form/useCheckboxSetValues.js.map +1 -1
- package/dist/Hyperlink/index.js +17 -21
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Icon/index.js +10 -11
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.d.ts +8 -304
- package/dist/IconButton/index.js +21 -84
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButtonToggle/index.js +5 -6
- package/dist/IconButtonToggle/index.js.map +1 -1
- package/dist/Image/index.js.map +1 -1
- package/dist/Layout/index.js +4 -5
- package/dist/Layout/index.js.map +1 -1
- package/dist/Media/index.js.map +1 -1
- package/dist/Menu/MenuItem.js +8 -9
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Menu/SelectMenu.js +8 -9
- package/dist/Menu/SelectMenu.js.map +1 -1
- package/dist/Menu/index.js +6 -7
- package/dist/Menu/index.js.map +1 -1
- package/dist/Modal/AlertModal.js +6 -7
- package/dist/Modal/AlertModal.js.map +1 -1
- package/dist/Modal/FullscreenModal.js +7 -8
- package/dist/Modal/FullscreenModal.js.map +1 -1
- package/dist/Modal/MarketingModal.js +9 -10
- package/dist/Modal/MarketingModal.js.map +1 -1
- package/dist/Modal/ModalCloseButton.js +5 -6
- package/dist/Modal/ModalCloseButton.js.map +1 -1
- package/dist/Modal/ModalContext.js +6 -7
- package/dist/Modal/ModalContext.js.map +1 -1
- package/dist/Modal/ModalDialog.d.ts +6 -65
- package/dist/Modal/ModalDialog.js +16 -81
- package/dist/Modal/ModalDialog.js.map +1 -1
- package/dist/Modal/ModalDialogBody.js +5 -6
- package/dist/Modal/ModalDialogBody.js.map +1 -1
- package/dist/Modal/ModalDialogFooter.js +5 -6
- package/dist/Modal/ModalDialogFooter.js.map +1 -1
- package/dist/Modal/ModalDialogHeader.js +9 -12
- package/dist/Modal/ModalDialogHeader.js.map +1 -1
- package/dist/Modal/ModalDialogHero.js +5 -6
- package/dist/Modal/ModalDialogHero.js.map +1 -1
- package/dist/Modal/ModalDialogHeroBackground.js +6 -7
- package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
- package/dist/Modal/ModalDialogHeroContent.js +5 -6
- package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
- package/dist/Modal/ModalDialogTitle.js +5 -6
- package/dist/Modal/ModalDialogTitle.js.map +1 -1
- package/dist/Modal/ModalLayer.d.ts +0 -25
- package/dist/Modal/ModalLayer.js +13 -35
- package/dist/Modal/ModalLayer.js.map +1 -1
- package/dist/Modal/ModalPopup.js +11 -12
- package/dist/Modal/ModalPopup.js.map +1 -1
- package/dist/Modal/PopperElement.js +7 -8
- package/dist/Modal/PopperElement.js.map +1 -1
- package/dist/Modal/StandardModal.js +7 -8
- package/dist/Modal/StandardModal.js.map +1 -1
- package/dist/OverflowScroll/OverflowScroll.js +12 -13
- package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
- package/dist/OverflowScroll/OverflowScrollItems.js +3 -4
- package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
- package/dist/Overlay/index.d.ts +2 -2
- package/dist/PageBanner/index.js +9 -10
- package/dist/PageBanner/index.js.map +1 -1
- package/dist/Pagination/PaginationContext.js +12 -13
- package/dist/Pagination/PaginationContext.js.map +1 -1
- package/dist/Pagination/subcomponents/PageButton.js +3 -4
- package/dist/Pagination/subcomponents/PageButton.js.map +1 -1
- package/dist/Popover/index.js +11 -14
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.js +12 -13
- package/dist/ProductTour/Checkpoint.js.map +1 -1
- package/dist/ProductTour/CheckpointActionRow.js +10 -11
- package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
- package/dist/ProductTour/CheckpointBody.js +3 -4
- package/dist/ProductTour/CheckpointBody.js.map +1 -1
- package/dist/ProductTour/CheckpointHeader.js +7 -8
- package/dist/ProductTour/CheckpointHeader.js.map +1 -1
- package/dist/ProductTour/CheckpointTitle.js +6 -9
- package/dist/ProductTour/CheckpointTitle.js.map +1 -1
- package/dist/ProductTour/index.js +3 -4
- package/dist/ProductTour/index.js.map +1 -1
- package/dist/ProductTour/messages.d.ts +23 -0
- package/dist/ProductTour/messages.js +6 -7
- package/dist/ProductTour/messages.js.map +1 -0
- package/dist/ProgressBar/index.js +11 -12
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/ResponsiveEmbed/index.js.map +1 -1
- package/dist/Scrollable/index.js +4 -5
- package/dist/Scrollable/index.js.map +1 -1
- package/dist/SearchField/SearchFieldLabel.js +4 -5
- package/dist/SearchField/SearchFieldLabel.js.map +1 -1
- package/dist/SelectableBox/SelectableBoxSet.js +13 -14
- package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
- package/dist/SelectableBox/index.js +14 -15
- package/dist/SelectableBox/index.js.map +1 -1
- package/dist/Skeleton/index.js.map +1 -1
- package/dist/Spinner/index.d.ts +11 -0
- package/dist/Spinner/index.js +6 -17
- package/dist/Spinner/index.js.map +1 -1
- package/dist/Stack/index.js +12 -15
- package/dist/Stack/index.js.map +1 -1
- package/dist/StatefulButton/index.js +9 -10
- package/dist/StatefulButton/index.js.map +1 -1
- package/dist/Stepper/Stepper.js +4 -5
- package/dist/Stepper/Stepper.js.map +1 -1
- package/dist/Stepper/StepperActionRow.js +6 -7
- package/dist/Stepper/StepperActionRow.js.map +1 -1
- package/dist/Stepper/StepperContext.js +4 -5
- package/dist/Stepper/StepperContext.js.map +1 -1
- package/dist/Stepper/StepperHeader.js +23 -31
- package/dist/Stepper/StepperHeader.js.map +1 -1
- package/dist/Stepper/StepperHeaderStep.js +8 -9
- package/dist/Stepper/StepperHeaderStep.js.map +1 -1
- package/dist/Stepper/StepperStep.js +10 -11
- package/dist/Stepper/StepperStep.js.map +1 -1
- package/dist/Sticky/index.js +8 -12
- package/dist/Sticky/index.js.map +1 -1
- package/dist/Tabs/index.js +8 -9
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Toast/ToastContainer.js +3 -4
- package/dist/Toast/ToastContainer.js.map +1 -1
- package/dist/Toast/index.d.ts +20 -41
- package/dist/Toast/index.js +11 -48
- package/dist/Toast/index.js.map +1 -1
- package/dist/ToggleButton/index.js.map +1 -1
- package/dist/Tooltip/index.js +11 -14
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Truncate/index.js +9 -10
- package/dist/Truncate/index.js.map +1 -1
- package/dist/asInput/index.js +9 -13
- package/dist/asInput/index.js.map +1 -1
- package/dist/hooks/useArrowKeyNavigationHook.js +17 -21
- package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -1
- package/dist/hooks/useIsVisibleHook.js +4 -6
- package/dist/hooks/useIsVisibleHook.js.map +1 -1
- package/dist/hooks/useToggleHook.js +1 -3
- package/dist/hooks/useToggleHook.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/dist/theme-urls.json +6 -6
- package/dist/utils/newId.js +1 -2
- package/dist/utils/newId.js.map +1 -1
- package/package.json +2 -2
- package/src/ActionRow/{index.jsx → index.tsx} +14 -22
- package/src/Annotation/{index.jsx → index.tsx} +15 -22
- package/src/Avatar/{index.jsx → index.tsx} +13 -19
- package/src/AvatarButton/{index.jsx → index.tsx} +23 -31
- package/src/Bubble/index.tsx +12 -32
- package/src/Button/index.tsx +68 -93
- package/src/Chip/index.tsx +26 -59
- package/src/CloseButton/index.tsx +1 -0
- package/src/Collapse/index.tsx +1 -0
- package/src/DataTable/DropdownFilters.jsx +9 -2
- package/src/DataTable/README.md +19 -18
- package/src/DataTable/index.jsx +6 -1
- package/src/DataTable/{messages.js → messages.ts} +5 -0
- package/src/DataTable/tests/DataTable.test.jsx +51 -1
- package/src/DataTable/tests/DropdownFilters.test.jsx +11 -7
- package/src/Fade/index.tsx +1 -0
- package/src/Form/FormLabel.tsx +2 -10
- package/src/IconButton/index.tsx +17 -81
- package/src/Image/index.tsx +2 -0
- package/src/Media/index.tsx +1 -0
- package/src/Modal/ModalDialog.tsx +6 -66
- package/src/Modal/ModalLayer.tsx +0 -22
- package/src/Modal/modal-popup.mdx +1 -1
- package/src/ProductTour/ProductTour.test.jsx +0 -1
- package/src/ResponsiveEmbed/index.tsx +1 -0
- package/src/Skeleton/index.tsx +1 -0
- package/src/Spinner/{index.jsx → index.tsx} +10 -15
- package/src/Toast/index.tsx +21 -40
- package/src/ToggleButton/index.tsx +2 -0
- package/src/index.ts +5 -10
- /package/{src/CloseButton/index.jsx → dist/CloseButton/index.d.ts} +0 -0
- /package/{src/Collapse/index.jsx → dist/Collapse/index.d.ts} +0 -0
- /package/{src/Fade/index.jsx → dist/Fade/index.d.ts} +0 -0
- /package/{src/Image/index.jsx → dist/Image/index.d.ts} +0 -0
- /package/{src/Media/index.jsx → dist/Media/index.d.ts} +0 -0
- /package/{src/ResponsiveEmbed/index.jsx → dist/ResponsiveEmbed/index.d.ts} +0 -0
- /package/{src/Skeleton/index.jsx → dist/Skeleton/index.d.ts} +0 -0
- /package/{src/ToggleButton/index.jsx → dist/ToggleButton/index.d.ts} +0 -0
- /package/src/Card/CardCarousel/{messages.js → messages.ts} +0 -0
- /package/src/ChipCarousel/{messages.js → messages.ts} +0 -0
- /package/src/Dropzone/{messages.js → messages.ts} +0 -0
- /package/src/ProductTour/{messages.js → messages.ts} +0 -0
- /package/src/Spinner/{Spinner.test.jsx → Spinner.test.tsx} +0 -0
- /package/src/Spinner/__snapshots__/{Spinner.test.jsx.snap → Spinner.test.tsx.snap} +0 -0
package/dist/Menu/MenuItem.js
CHANGED
|
@@ -2,15 +2,14 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import Icon from '../Icon';
|
|
5
|
-
function MenuItem(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
5
|
+
function MenuItem({
|
|
6
|
+
as,
|
|
7
|
+
children,
|
|
8
|
+
defaultSelected,
|
|
9
|
+
iconAfter,
|
|
10
|
+
iconBefore,
|
|
11
|
+
...props
|
|
12
|
+
}) {
|
|
14
13
|
const className = classNames(props.className, 'pgn__menu-item');
|
|
15
14
|
return /*#__PURE__*/React.createElement(as, {
|
|
16
15
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","names":["React","PropTypes","classNames","Icon","MenuItem","
|
|
1
|
+
{"version":3,"file":"MenuItem.js","names":["React","PropTypes","classNames","Icon","MenuItem","as","children","defaultSelected","iconAfter","iconBefore","props","className","createElement","Fragment","src","propTypes","bool","string","node","elementType","oneOfType","element","defaultProps","undefined"],"sources":["../../src/Menu/MenuItem.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Icon from '../Icon';\n\nfunction MenuItem({\n as,\n children,\n defaultSelected,\n iconAfter,\n iconBefore,\n ...props\n}) {\n const className = classNames(props.className, 'pgn__menu-item');\n\n return React.createElement(\n as,\n {\n ...props,\n className,\n },\n (\n <>\n {iconBefore && <Icon className=\"btn-icon-before\" src={iconBefore} />}\n <span className=\"pgn__menu-item-text\">{children}</span>\n <span className=\"pgn__menu-item-content-spacer\" />\n {iconAfter && <Icon className=\"btn-icon-after\" src={iconAfter} />}\n </>\n ),\n );\n}\n\nMenuItem.propTypes = {\n /** Specifies that this ``MenuItem`` is selected inside the ``SelectMenu`` */\n defaultSelected: PropTypes.bool,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies the content of the ``MenuItem`` */\n children: PropTypes.node,\n /** Specifies the base element */\n as: PropTypes.elementType,\n /** Specifies the jsx before the content of the ``MenuItem`` */\n iconBefore: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),\n /** Specifies the jsx after the content of the ``MenuItem`` */\n iconAfter: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),\n};\n\nMenuItem.defaultProps = {\n defaultSelected: false,\n as: 'button',\n className: undefined,\n children: null,\n iconBefore: undefined,\n iconAfter: undefined,\n};\n\nexport default MenuItem;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,IAAI,MAAM,SAAS;AAE1B,SAASC,QAAQA,CAAC;EAChBC,EAAE;EACFC,QAAQ;EACRC,eAAe;EACfC,SAAS;EACTC,UAAU;EACV,GAAGC;AACL,CAAC,EAAE;EACD,MAAMC,SAAS,GAAGT,UAAU,CAACQ,KAAK,CAACC,SAAS,EAAE,gBAAgB,CAAC;EAE/D,oBAAOX,KAAK,CAACY,aAAa,CACxBP,EAAE,EACF;IACE,GAAGK,KAAK;IACRC;EACF,CAAC,eAECX,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAa,QAAA,QACGJ,UAAU,iBAAIT,KAAA,CAAAY,aAAA,CAACT,IAAI;IAACQ,SAAS,EAAC,iBAAiB;IAACG,GAAG,EAAEL;EAAW,CAAE,CAAC,eACpET,KAAA,CAAAY,aAAA;IAAMD,SAAS,EAAC;EAAqB,GAAEL,QAAe,CAAC,eACvDN,KAAA,CAAAY,aAAA;IAAMD,SAAS,EAAC;EAA+B,CAAE,CAAC,EACjDH,SAAS,iBAAIR,KAAA,CAAAY,aAAA,CAACT,IAAI;IAACQ,SAAS,EAAC,gBAAgB;IAACG,GAAG,EAAEN;EAAU,CAAE,CAChE,CAEN,CAAC;AACH;AAEAJ,QAAQ,CAACW,SAAS,GAAG;EACnB;EACAR,eAAe,EAAEN,SAAS,CAACe,IAAI;EAC/B;EACAL,SAAS,EAAEV,SAAS,CAACgB,MAAM;EAC3B;EACAX,QAAQ,EAAEL,SAAS,CAACiB,IAAI;EACxB;EACAb,EAAE,EAAEJ,SAAS,CAACkB,WAAW;EACzB;EACAV,UAAU,EAAER,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,OAAO,EAAEpB,SAAS,CAACkB,WAAW,CAAC,CAAC;EAC3E;EACAX,SAAS,EAAEP,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,OAAO,EAAEpB,SAAS,CAACkB,WAAW,CAAC;AAC3E,CAAC;AAEDf,QAAQ,CAACkB,YAAY,GAAG;EACtBf,eAAe,EAAE,KAAK;EACtBF,EAAE,EAAE,QAAQ;EACZM,SAAS,EAAEY,SAAS;EACpBjB,QAAQ,EAAE,IAAI;EACdG,UAAU,EAAEc,SAAS;EACrBf,SAAS,EAAEe;AACb,CAAC;AAED,eAAenB,QAAQ","ignoreList":[]}
|
package/dist/Menu/SelectMenu.js
CHANGED
|
@@ -8,15 +8,14 @@ import useToggle from '../hooks/useToggleHook';
|
|
|
8
8
|
import Menu from '.';
|
|
9
9
|
import withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';
|
|
10
10
|
export const SELECT_MENU_DEFAULT_MESSAGE = 'Select...';
|
|
11
|
-
function SelectMenu(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} = _ref;
|
|
11
|
+
function SelectMenu({
|
|
12
|
+
defaultMessage,
|
|
13
|
+
children,
|
|
14
|
+
className,
|
|
15
|
+
variant,
|
|
16
|
+
disabled,
|
|
17
|
+
...props
|
|
18
|
+
}) {
|
|
20
19
|
const [triggerTarget, setTriggerTarget] = useState(null);
|
|
21
20
|
// this ref is used to focus the menu open button after any menu option is clicked.
|
|
22
21
|
// triggerTarget.current.focus() inside the onCLick() function didn't guarantee element focus.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectMenu.js","names":["React","useState","useEffect","useCallback","PropTypes","classNames","ExpandMore","Button","ModalPopup","useToggle","Menu","withDeprecatedProps","DeprTypes","SELECT_MENU_DEFAULT_MESSAGE","SelectMenu","_ref","defaultMessage","children","className","variant","disabled","props","triggerTarget","setTriggerTarget","focusMenuRef","useRef","itemsCollection","useMemo","Array","from","length","map","createRef","defaultIndex","i","defaultSelected","undefined","selected","setSelected","isOpen","open","close","createMenuItems","Children","child","index","newProps","onClick","e","current","id","toString","role","cloneElement","prevOpenRef","numItems","scrollIntoView","block","focus","preventScroll","createElement","ref","iconAfter","placement","positionRef","onClose","modifiers","name","options","padding","top","bottom","key","propTypes","string","node","isRequired","bool","defaultProps","SelectMenuWithDeprecatedProp","isLink","deprType","MOVED_AND_FORMAT","message","newName","transform"],"sources":["../../src/Menu/SelectMenu.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ExpandMore } from '../../icons';\nimport Button from '../Button';\nimport ModalPopup from '../Modal/ModalPopup';\nimport useToggle from '../hooks/useToggleHook';\nimport Menu from '.';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const SELECT_MENU_DEFAULT_MESSAGE = 'Select...';\n\nfunction SelectMenu({\n defaultMessage,\n children,\n className,\n variant,\n disabled,\n ...props\n}) {\n const [triggerTarget, setTriggerTarget] = useState(null);\n // this ref is used to focus the menu open button after any menu option is clicked.\n // triggerTarget.current.focus() inside the onCLick() function didn't guarantee element focus.\n const focusMenuRef = React.useRef(false);\n const itemsCollection = React.useMemo(\n () => Array.from({ length: children.length }).map(() => React.createRef()),\n [children.length],\n );\n\n const defaultIndex = useCallback(() => {\n for (let i = 0; i < children.length; i++) {\n if (children[i].props && children[i].props.defaultSelected) {\n return i;\n }\n }\n return undefined;\n }, [children]);\n\n const [selected, setSelected] = useState(defaultIndex());\n const [isOpen, open, close] = useToggle(false);\n\n const createMenuItems = () => React.Children.map(children, (child, index) => {\n const newProps = {\n onClick(e) {\n if (child.props.onClick) {\n child.props.onClick(e);\n }\n setSelected(index);\n close();\n focusMenuRef.current = true;\n },\n id: `${index.toString()}_pgn__menu-item`,\n role: 'link',\n };\n if (selected === index) {\n newProps['aria-current'] = 'page';\n }\n return React.cloneElement(child, newProps);\n });\n\n const prevOpenRef = React.useRef();\n\n useEffect(() => {\n if (isOpen && selected) {\n const numItems = children.length;\n if (numItems > 6 && selected > 1 && numItems - selected > 2) {\n // on \"middle elements\", set offset to center of block and scroll to center\n itemsCollection[selected].current.children[0].scrollIntoView({\n block: 'center',\n });\n }\n }\n // set focus on open\n if (isOpen && !prevOpenRef.current && selected) {\n itemsCollection[selected].current.children[0].focus({ preventScroll: (defaultIndex() === selected) });\n }\n if (focusMenuRef.current) {\n triggerTarget.focus();\n focusMenuRef.current = false;\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, children.length, defaultIndex, itemsCollection, selected, triggerTarget]);\n\n return (\n <div className={classNames('pgn__menu-select', className)} {...props}>\n <Button\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n ref={setTriggerTarget}\n variant={variant}\n iconAfter={ExpandMore}\n onClick={open}\n disabled={disabled}\n >\n {selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage}\n </Button>\n <div className=\"pgn__menu-select-popup\">\n <ModalPopup\n placement=\"bottom-start\"\n positionRef={triggerTarget}\n isOpen={isOpen}\n onClose={close}\n modifiers={\n [\n {\n name: 'flip',\n options: {\n padding: { top: 150, bottom: 150 },\n },\n },\n ]\n }\n >\n <Menu aria-label=\"Select Menu\">\n {createMenuItems().map((child, index) => (\n <div key={child.props.id} ref={itemsCollection[index]}>\n {child}\n </div>\n ))}\n </Menu>\n </ModalPopup>\n </div>\n </div>\n );\n}\n\nSelectMenu.propTypes = {\n /** String that is displayed for default value of the ``SelectMenu`` */\n defaultMessage: PropTypes.string,\n /** Specifies the content of the ``SelectMenu`` */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies variant to use. */\n variant: PropTypes.string,\n /** Specifies if the `SelectMenu` is disabled. */\n disabled: PropTypes.bool,\n};\n\nSelectMenu.defaultProps = {\n defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,\n className: undefined,\n variant: 'outline-primary',\n disabled: false,\n};\n\nconst SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {\n isLink: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'Use \"variant\" prop instead, i.e. variant=\"link\"',\n newName: 'variant',\n transform: () => 'link',\n },\n});\n\nexport default SelectMenuWithDeprecatedProp;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SelectMenu.js","names":["React","useState","useEffect","useCallback","PropTypes","classNames","ExpandMore","Button","ModalPopup","useToggle","Menu","withDeprecatedProps","DeprTypes","SELECT_MENU_DEFAULT_MESSAGE","SelectMenu","defaultMessage","children","className","variant","disabled","props","triggerTarget","setTriggerTarget","focusMenuRef","useRef","itemsCollection","useMemo","Array","from","length","map","createRef","defaultIndex","i","defaultSelected","undefined","selected","setSelected","isOpen","open","close","createMenuItems","Children","child","index","newProps","onClick","e","current","id","toString","role","cloneElement","prevOpenRef","numItems","scrollIntoView","block","focus","preventScroll","createElement","ref","iconAfter","placement","positionRef","onClose","modifiers","name","options","padding","top","bottom","key","propTypes","string","node","isRequired","bool","defaultProps","SelectMenuWithDeprecatedProp","isLink","deprType","MOVED_AND_FORMAT","message","newName","transform"],"sources":["../../src/Menu/SelectMenu.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { ExpandMore } from '../../icons';\nimport Button from '../Button';\nimport ModalPopup from '../Modal/ModalPopup';\nimport useToggle from '../hooks/useToggleHook';\nimport Menu from '.';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const SELECT_MENU_DEFAULT_MESSAGE = 'Select...';\n\nfunction SelectMenu({\n defaultMessage,\n children,\n className,\n variant,\n disabled,\n ...props\n}) {\n const [triggerTarget, setTriggerTarget] = useState(null);\n // this ref is used to focus the menu open button after any menu option is clicked.\n // triggerTarget.current.focus() inside the onCLick() function didn't guarantee element focus.\n const focusMenuRef = React.useRef(false);\n const itemsCollection = React.useMemo(\n () => Array.from({ length: children.length }).map(() => React.createRef()),\n [children.length],\n );\n\n const defaultIndex = useCallback(() => {\n for (let i = 0; i < children.length; i++) {\n if (children[i].props && children[i].props.defaultSelected) {\n return i;\n }\n }\n return undefined;\n }, [children]);\n\n const [selected, setSelected] = useState(defaultIndex());\n const [isOpen, open, close] = useToggle(false);\n\n const createMenuItems = () => React.Children.map(children, (child, index) => {\n const newProps = {\n onClick(e) {\n if (child.props.onClick) {\n child.props.onClick(e);\n }\n setSelected(index);\n close();\n focusMenuRef.current = true;\n },\n id: `${index.toString()}_pgn__menu-item`,\n role: 'link',\n };\n if (selected === index) {\n newProps['aria-current'] = 'page';\n }\n return React.cloneElement(child, newProps);\n });\n\n const prevOpenRef = React.useRef();\n\n useEffect(() => {\n if (isOpen && selected) {\n const numItems = children.length;\n if (numItems > 6 && selected > 1 && numItems - selected > 2) {\n // on \"middle elements\", set offset to center of block and scroll to center\n itemsCollection[selected].current.children[0].scrollIntoView({\n block: 'center',\n });\n }\n }\n // set focus on open\n if (isOpen && !prevOpenRef.current && selected) {\n itemsCollection[selected].current.children[0].focus({ preventScroll: (defaultIndex() === selected) });\n }\n if (focusMenuRef.current) {\n triggerTarget.focus();\n focusMenuRef.current = false;\n }\n prevOpenRef.current = isOpen;\n }, [isOpen, children.length, defaultIndex, itemsCollection, selected, triggerTarget]);\n\n return (\n <div className={classNames('pgn__menu-select', className)} {...props}>\n <Button\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n ref={setTriggerTarget}\n variant={variant}\n iconAfter={ExpandMore}\n onClick={open}\n disabled={disabled}\n >\n {selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage}\n </Button>\n <div className=\"pgn__menu-select-popup\">\n <ModalPopup\n placement=\"bottom-start\"\n positionRef={triggerTarget}\n isOpen={isOpen}\n onClose={close}\n modifiers={\n [\n {\n name: 'flip',\n options: {\n padding: { top: 150, bottom: 150 },\n },\n },\n ]\n }\n >\n <Menu aria-label=\"Select Menu\">\n {createMenuItems().map((child, index) => (\n <div key={child.props.id} ref={itemsCollection[index]}>\n {child}\n </div>\n ))}\n </Menu>\n </ModalPopup>\n </div>\n </div>\n );\n}\n\nSelectMenu.propTypes = {\n /** String that is displayed for default value of the ``SelectMenu`` */\n defaultMessage: PropTypes.string,\n /** Specifies the content of the ``SelectMenu`` */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies variant to use. */\n variant: PropTypes.string,\n /** Specifies if the `SelectMenu` is disabled. */\n disabled: PropTypes.bool,\n};\n\nSelectMenu.defaultProps = {\n defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,\n className: undefined,\n variant: 'outline-primary',\n disabled: false,\n};\n\nconst SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {\n isLink: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'Use \"variant\" prop instead, i.e. variant=\"link\"',\n newName: 'variant',\n transform: () => 'link',\n },\n});\n\nexport default SelectMenuWithDeprecatedProp;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Menu/index.js
CHANGED
|
@@ -2,13 +2,12 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';
|
|
5
|
-
function Menu(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} = _ref;
|
|
5
|
+
function Menu({
|
|
6
|
+
as,
|
|
7
|
+
arrowKeyNavigationSelector,
|
|
8
|
+
children,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
12
11
|
const parentRef = useArrowKeyNavigation({
|
|
13
12
|
selectors: arrowKeyNavigationSelector
|
|
14
13
|
});
|
package/dist/Menu/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","useArrowKeyNavigation","Menu","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","useArrowKeyNavigation","Menu","as","arrowKeyNavigationSelector","children","props","parentRef","selectors","className","createElement","ref","Fragment","propTypes","string","elementType","node","defaultProps","undefined"],"sources":["../../src/Menu/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';\n\nfunction Menu({\n as,\n arrowKeyNavigationSelector,\n children,\n ...props\n}) {\n const parentRef = useArrowKeyNavigation({ selectors: arrowKeyNavigationSelector });\n const className = classNames(props.className, 'pgn__menu');\n\n return React.createElement(\n as,\n {\n ...props,\n ref: parentRef,\n className,\n },\n (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>\n {children}\n </>\n ),\n );\n}\n\nMenu.propTypes = {\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /**\n * Specifies the CSS selector string that indicates to which elements\n * the user can navigate using the arrow keys\n */\n arrowKeyNavigationSelector: PropTypes.string,\n /** Specifies the base element */\n as: PropTypes.elementType,\n /** Specifies the content of the menu */\n children: PropTypes.node,\n};\n\nMenu.defaultProps = {\n className: undefined,\n arrowKeyNavigationSelector: 'a:not(:disabled),button:not(:disabled),input:not(:disabled)',\n as: 'div',\n children: null,\n};\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,qBAAqB,MAAM,oCAAoC;AAEtE,SAASC,IAAIA,CAAC;EACZC,EAAE;EACFC,0BAA0B;EAC1BC,QAAQ;EACR,GAAGC;AACL,CAAC,EAAE;EACD,MAAMC,SAAS,GAAGN,qBAAqB,CAAC;IAAEO,SAAS,EAAEJ;EAA2B,CAAC,CAAC;EAClF,MAAMK,SAAS,GAAGT,UAAU,CAACM,KAAK,CAACG,SAAS,EAAE,WAAW,CAAC;EAE1D,oBAAOX,KAAK,CAACY,aAAa,CACxBP,EAAE,EACF;IACE,GAAGG,KAAK;IACRK,GAAG,EAAEJ,SAAS;IACdE;EACF,CAAC;EAAA;EAEC;EACAX,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAc,QAAA,QACGP,QACD,CAEN,CAAC;AACH;AAEAH,IAAI,CAACW,SAAS,GAAG;EACf;EACAJ,SAAS,EAAEV,SAAS,CAACe,MAAM;EAC3B;AACF;AACA;AACA;EACEV,0BAA0B,EAAEL,SAAS,CAACe,MAAM;EAC5C;EACAX,EAAE,EAAEJ,SAAS,CAACgB,WAAW;EACzB;EACAV,QAAQ,EAAEN,SAAS,CAACiB;AACtB,CAAC;AAEDd,IAAI,CAACe,YAAY,GAAG;EAClBR,SAAS,EAAES,SAAS;EACpBd,0BAA0B,EAAE,6DAA6D;EACzFD,EAAE,EAAE,KAAK;EACTE,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,IAAI","ignoreList":[]}
|
package/dist/Modal/AlertModal.js
CHANGED
|
@@ -4,13 +4,12 @@ import classNames from 'classnames';
|
|
|
4
4
|
import { requiredWhenNot } from '../utils/propTypes';
|
|
5
5
|
import Icon from '../Icon';
|
|
6
6
|
import ModalDialog from './ModalDialog';
|
|
7
|
-
function AlertModal(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
7
|
+
function AlertModal({
|
|
8
|
+
children,
|
|
9
|
+
footerNode,
|
|
10
|
+
icon,
|
|
11
|
+
...props
|
|
12
|
+
}) {
|
|
14
13
|
return /*#__PURE__*/React.createElement(ModalDialog, {
|
|
15
14
|
...props,
|
|
16
15
|
className: classNames('pgn__alert-modal', props.className)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertModal.js","names":["React","PropTypes","classNames","requiredWhenNot","Icon","ModalDialog","AlertModal","
|
|
1
|
+
{"version":3,"file":"AlertModal.js","names":["React","PropTypes","classNames","requiredWhenNot","Icon","ModalDialog","AlertModal","children","footerNode","icon","props","createElement","className","Header","Title","src","title","Body","Footer","propTypes","node","isRequired","string","isOpen","bool","isBlocking","hasCloseButton","onClose","func","size","oneOf","variant","closeLabel","isFullscreenScroll","elementType","defaultProps","undefined"],"sources":["../../src/Modal/AlertModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { requiredWhenNot } from '../utils/propTypes';\nimport Icon from '../Icon';\nimport ModalDialog from './ModalDialog';\n\nfunction AlertModal({\n children,\n footerNode,\n icon,\n ...props\n}) {\n return (\n <ModalDialog\n {...props}\n className={classNames('pgn__alert-modal', props.className)}\n >\n <ModalDialog.Header>\n <ModalDialog.Title>\n {icon && (\n <Icon\n data-testid=\"title-icon\"\n src={icon}\n className={classNames('pgn__alert-modal__title_icon')}\n />\n )}\n {props.title}\n </ModalDialog.Title>\n </ModalDialog.Header>\n <ModalDialog.Body>{children}</ModalDialog.Body>\n {footerNode && <ModalDialog.Footer>{footerNode}</ModalDialog.Footer>}\n </ModalDialog>\n );\n}\n\nAlertModal.propTypes = {\n children: PropTypes.node.isRequired,\n /** The aria-label of the dialog */\n title: PropTypes.string.isRequired,\n /** Is the modal dialog open or closed */\n isOpen: PropTypes.bool,\n /** Prevent clicking on the backdrop or pressing Esc to close the modal */\n isBlocking: PropTypes.bool,\n /** Specifies whether the dialog box should contain 'x' icon button in the top right */\n hasCloseButton: PropTypes.bool,\n /** A callback to close the modal dialog */\n onClose: requiredWhenNot(PropTypes.func, 'isBlocking'),\n /** Sizes determine the maximum width of the dialog box */\n size: PropTypes.oneOf(['sm', 'md', 'lg', 'xl', 'fullscreen']),\n /** The visual style of the dialog box */\n variant: PropTypes.oneOf(['default', 'warning', 'danger', 'success']),\n /** The label supplied to the close icon button if one is rendered */\n closeLabel: PropTypes.string,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /**\n * Determines where a scrollbar should appear if a modal is too large for the\n * viewport. When false, the ModalDialog.Body receives a scrollbar, when true\n * the browser window itself receives the scrollbar.\n */\n isFullscreenScroll: PropTypes.bool,\n /** Specifies what should be displayed in the footer of the dialog box */\n footerNode: PropTypes.node,\n /** Icon that will be shown in the header of modal */\n icon: PropTypes.elementType,\n};\n\nAlertModal.defaultProps = {\n isOpen: false,\n isBlocking: false,\n hasCloseButton: false,\n onClose: () => {},\n size: 'md',\n variant: 'default',\n closeLabel: 'Close',\n className: undefined,\n isFullscreenScroll: false,\n footerNode: null,\n icon: undefined,\n};\n\nexport default AlertModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,WAAW,MAAM,eAAe;AAEvC,SAASC,UAAUA,CAAC;EAClBC,QAAQ;EACRC,UAAU;EACVC,IAAI;EACJ,GAAGC;AACL,CAAC,EAAE;EACD,oBACEV,KAAA,CAAAW,aAAA,CAACN,WAAW;IAAA,GACNK,KAAK;IACTE,SAAS,EAAEV,UAAU,CAAC,kBAAkB,EAAEQ,KAAK,CAACE,SAAS;EAAE,gBAE3DZ,KAAA,CAAAW,aAAA,CAACN,WAAW,CAACQ,MAAM,qBACjBb,KAAA,CAAAW,aAAA,CAACN,WAAW,CAACS,KAAK,QACfL,IAAI,iBACHT,KAAA,CAAAW,aAAA,CAACP,IAAI;IACH,eAAY,YAAY;IACxBW,GAAG,EAAEN,IAAK;IACVG,SAAS,EAAEV,UAAU,CAAC,8BAA8B;EAAE,CACvD,CACF,EACAQ,KAAK,CAACM,KACU,CACD,CAAC,eACrBhB,KAAA,CAAAW,aAAA,CAACN,WAAW,CAACY,IAAI,QAAEV,QAA2B,CAAC,EAC9CC,UAAU,iBAAIR,KAAA,CAAAW,aAAA,CAACN,WAAW,CAACa,MAAM,QAAEV,UAA+B,CACxD,CAAC;AAElB;AAEAF,UAAU,CAACa,SAAS,GAAG;EACrBZ,QAAQ,EAAEN,SAAS,CAACmB,IAAI,CAACC,UAAU;EACnC;EACAL,KAAK,EAAEf,SAAS,CAACqB,MAAM,CAACD,UAAU;EAClC;EACAE,MAAM,EAAEtB,SAAS,CAACuB,IAAI;EACtB;EACAC,UAAU,EAAExB,SAAS,CAACuB,IAAI;EAC1B;EACAE,cAAc,EAAEzB,SAAS,CAACuB,IAAI;EAC9B;EACAG,OAAO,EAAExB,eAAe,CAACF,SAAS,CAAC2B,IAAI,EAAE,YAAY,CAAC;EACtD;EACAC,IAAI,EAAE5B,SAAS,CAAC6B,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;EAC7D;EACAC,OAAO,EAAE9B,SAAS,CAAC6B,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;EACrE;EACAE,UAAU,EAAE/B,SAAS,CAACqB,MAAM;EAC5B;EACAV,SAAS,EAAEX,SAAS,CAACqB,MAAM;EAC3B;AACF;AACA;AACA;AACA;EACEW,kBAAkB,EAAEhC,SAAS,CAACuB,IAAI;EAClC;EACAhB,UAAU,EAAEP,SAAS,CAACmB,IAAI;EAC1B;EACAX,IAAI,EAAER,SAAS,CAACiC;AAClB,CAAC;AAED5B,UAAU,CAAC6B,YAAY,GAAG;EACxBZ,MAAM,EAAE,KAAK;EACbE,UAAU,EAAE,KAAK;EACjBC,cAAc,EAAE,KAAK;EACrBC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBE,IAAI,EAAE,IAAI;EACVE,OAAO,EAAE,SAAS;EAClBC,UAAU,EAAE,OAAO;EACnBpB,SAAS,EAAEwB,SAAS;EACpBH,kBAAkB,EAAE,KAAK;EACzBzB,UAAU,EAAE,IAAI;EAChBC,IAAI,EAAE2B;AACR,CAAC;AAED,eAAe9B,UAAU","ignoreList":[]}
|
|
@@ -2,14 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import ModalDialog from './ModalDialog';
|
|
4
4
|
export const FULLSCREEN_MODAL_CLOSE_LABEL = 'Close';
|
|
5
|
-
function FullscreenModal(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} = _ref;
|
|
5
|
+
function FullscreenModal({
|
|
6
|
+
children,
|
|
7
|
+
footerNode,
|
|
8
|
+
beforeBodyNode,
|
|
9
|
+
afterBodyNode,
|
|
10
|
+
...props
|
|
11
|
+
}) {
|
|
13
12
|
return /*#__PURE__*/React.createElement(ModalDialog, {
|
|
14
13
|
...props
|
|
15
14
|
}, /*#__PURE__*/React.createElement(ModalDialog.Header, null, /*#__PURE__*/React.createElement(ModalDialog.Title, null, props.title)), beforeBodyNode, /*#__PURE__*/React.createElement(ModalDialog.Body, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullscreenModal.js","names":["React","PropTypes","ModalDialog","FULLSCREEN_MODAL_CLOSE_LABEL","FullscreenModal","
|
|
1
|
+
{"version":3,"file":"FullscreenModal.js","names":["React","PropTypes","ModalDialog","FULLSCREEN_MODAL_CLOSE_LABEL","FullscreenModal","children","footerNode","beforeBodyNode","afterBodyNode","props","createElement","Header","Title","title","Body","className","modalBodyClassName","Footer","propTypes","node","isRequired","string","onClose","func","isOpen","bool","hasCloseButton","size","oneOf","variant","closeLabel","isFullscreenScroll","defaultProps","undefined"],"sources":["../../src/Modal/FullscreenModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ModalDialog from './ModalDialog';\n\nexport const FULLSCREEN_MODAL_CLOSE_LABEL = 'Close';\n\nfunction FullscreenModal({\n children,\n footerNode,\n beforeBodyNode,\n afterBodyNode,\n ...props\n}) {\n return (\n <ModalDialog {...props}>\n <ModalDialog.Header>\n <ModalDialog.Title>{props.title}</ModalDialog.Title>\n </ModalDialog.Header>\n {beforeBodyNode}\n <ModalDialog.Body className={props.modalBodyClassName}>{children}</ModalDialog.Body>\n {afterBodyNode}\n {footerNode && <ModalDialog.Footer>{footerNode}</ModalDialog.Footer>}\n </ModalDialog>\n );\n}\n\nFullscreenModal.propTypes = {\n /** Specifies contents of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies the aria-label of the dialog. */\n title: PropTypes.string.isRequired,\n /** Specifies a callback to close the modal dialog. */\n onClose: PropTypes.func.isRequired,\n /** Specifies whether the modal is open. */\n isOpen: PropTypes.bool,\n /** Specifies whether the model hase close 'x' icon button in the top right of the dialog box. */\n hasCloseButton: PropTypes.bool,\n /** Specifies size of the dialog box. */\n size: PropTypes.oneOf(['sm', 'md', 'lg', 'xl', 'fullscreen']),\n /** Specifies visual style of the dialog box. */\n variant: PropTypes.oneOf(['default', 'warning', 'danger', 'success', 'dark']),\n /** The label supplied to the close icon button if one is rendered */\n closeLabel: PropTypes.string,\n /**\n * Determines where a scrollbar should appear if a modal is too large for the\n * viewport. When false, the ModalDialog.Body receives a scrollbar, when true\n * the browser window itself receives the scrollbar.\n */\n isFullscreenScroll: PropTypes.bool,\n /** Specifies footer for the dialog box. */\n footerNode: PropTypes.node,\n /** Specifies content that should be rendered before modal's body. */\n beforeBodyNode: PropTypes.node,\n /** Specifies content that should be rendered after modal's body. */\n afterBodyNode: PropTypes.node,\n /** Specifies class name for modal's body component. */\n modalBodyClassName: PropTypes.string,\n};\n\nFullscreenModal.defaultProps = {\n isOpen: false,\n hasCloseButton: true,\n size: 'fullscreen',\n variant: 'dark',\n closeLabel: FULLSCREEN_MODAL_CLOSE_LABEL,\n className: undefined,\n isFullscreenScroll: false,\n footerNode: null,\n beforeBodyNode: null,\n afterBodyNode: null,\n modalBodyClassName: '',\n};\n\nexport default FullscreenModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,eAAe;AAEvC,OAAO,MAAMC,4BAA4B,GAAG,OAAO;AAEnD,SAASC,eAAeA,CAAC;EACvBC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC,aAAa;EACb,GAAGC;AACL,CAAC,EAAE;EACD,oBACET,KAAA,CAAAU,aAAA,CAACR,WAAW;IAAA,GAAKO;EAAK,gBACpBT,KAAA,CAAAU,aAAA,CAACR,WAAW,CAACS,MAAM,qBACjBX,KAAA,CAAAU,aAAA,CAACR,WAAW,CAACU,KAAK,QAAEH,KAAK,CAACI,KAAyB,CACjC,CAAC,EACpBN,cAAc,eACfP,KAAA,CAAAU,aAAA,CAACR,WAAW,CAACY,IAAI;IAACC,SAAS,EAAEN,KAAK,CAACO;EAAmB,GAAEX,QAA2B,CAAC,EACnFG,aAAa,EACbF,UAAU,iBAAIN,KAAA,CAAAU,aAAA,CAACR,WAAW,CAACe,MAAM,QAAEX,UAA+B,CACxD,CAAC;AAElB;AAEAF,eAAe,CAACc,SAAS,GAAG;EAC1B;EACAb,QAAQ,EAAEJ,SAAS,CAACkB,IAAI,CAACC,UAAU;EACnC;EACAL,SAAS,EAAEd,SAAS,CAACoB,MAAM;EAC3B;EACAR,KAAK,EAAEZ,SAAS,CAACoB,MAAM,CAACD,UAAU;EAClC;EACAE,OAAO,EAAErB,SAAS,CAACsB,IAAI,CAACH,UAAU;EAClC;EACAI,MAAM,EAAEvB,SAAS,CAACwB,IAAI;EACtB;EACAC,cAAc,EAAEzB,SAAS,CAACwB,IAAI;EAC9B;EACAE,IAAI,EAAE1B,SAAS,CAAC2B,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;EAC7D;EACAC,OAAO,EAAE5B,SAAS,CAAC2B,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;EAC7E;EACAE,UAAU,EAAE7B,SAAS,CAACoB,MAAM;EAC5B;AACF;AACA;AACA;AACA;EACEU,kBAAkB,EAAE9B,SAAS,CAACwB,IAAI;EAClC;EACAnB,UAAU,EAAEL,SAAS,CAACkB,IAAI;EAC1B;EACAZ,cAAc,EAAEN,SAAS,CAACkB,IAAI;EAC9B;EACAX,aAAa,EAAEP,SAAS,CAACkB,IAAI;EAC7B;EACAH,kBAAkB,EAAEf,SAAS,CAACoB;AAChC,CAAC;AAEDjB,eAAe,CAAC4B,YAAY,GAAG;EAC7BR,MAAM,EAAE,KAAK;EACbE,cAAc,EAAE,IAAI;EACpBC,IAAI,EAAE,YAAY;EAClBE,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE3B,4BAA4B;EACxCY,SAAS,EAAEkB,SAAS;EACpBF,kBAAkB,EAAE,KAAK;EACzBzB,UAAU,EAAE,IAAI;EAChBC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,IAAI;EACnBQ,kBAAkB,EAAE;AACtB,CAAC;AAED,eAAeZ,eAAe","ignoreList":[]}
|
|
@@ -2,16 +2,15 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { requiredWhenNot } from '../utils/propTypes';
|
|
4
4
|
import ModalDialog from './ModalDialog';
|
|
5
|
-
function MarketingModal(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
5
|
+
function MarketingModal({
|
|
6
|
+
children,
|
|
7
|
+
footerNode,
|
|
8
|
+
heroNode,
|
|
9
|
+
heroIsDark,
|
|
10
|
+
beforeBodyNode,
|
|
11
|
+
afterBodyNode,
|
|
12
|
+
...props
|
|
13
|
+
}) {
|
|
15
14
|
return /*#__PURE__*/React.createElement(ModalDialog, {
|
|
16
15
|
...props,
|
|
17
16
|
variant: heroIsDark ? 'dark' : 'default'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarketingModal.js","names":["React","PropTypes","requiredWhenNot","ModalDialog","MarketingModal","
|
|
1
|
+
{"version":3,"file":"MarketingModal.js","names":["React","PropTypes","requiredWhenNot","ModalDialog","MarketingModal","children","footerNode","heroNode","heroIsDark","beforeBodyNode","afterBodyNode","props","createElement","variant","Body","Footer","propTypes","node","isRequired","title","string","isOpen","bool","isBlocking","hasCloseButton","onClose","func","size","oneOf","closeLabel","className","isFullscreenScroll","defaultProps","undefined"],"sources":["../../src/Modal/MarketingModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { requiredWhenNot } from '../utils/propTypes';\nimport ModalDialog from './ModalDialog';\n\nfunction MarketingModal({\n children,\n footerNode,\n heroNode,\n heroIsDark,\n beforeBodyNode,\n afterBodyNode,\n ...props\n}) {\n return (\n <ModalDialog\n {...props}\n variant={heroIsDark ? 'dark' : 'default'}\n >\n {heroNode}\n {beforeBodyNode}\n <ModalDialog.Body>{children}</ModalDialog.Body>\n {afterBodyNode}\n {footerNode && (\n <ModalDialog.Footer>{footerNode}</ModalDialog.Footer>\n )}\n </ModalDialog>\n );\n}\n\nMarketingModal.propTypes = {\n /** Specifies the content of the modal */\n children: PropTypes.node.isRequired,\n /** Title of the modal */\n title: PropTypes.string.isRequired,\n /** Is the modal dialog open or closed */\n isOpen: PropTypes.bool,\n /** Prevent clicking on the backdrop or pressing Esc to close the modal */\n isBlocking: PropTypes.bool,\n /** The close 'x' icon button in the top right corner */\n hasCloseButton: PropTypes.bool,\n /** Callback function for when the modal is dismissed */\n onClose: requiredWhenNot(PropTypes.func, 'isBlocking'),\n /** Size of the modal window */\n size: PropTypes.oneOf(['sm', 'md', 'lg', 'xl', 'fullscreen']),\n /** Specifies the ``aria-label`` attribute for the close button */\n closeLabel: PropTypes.string,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /**\n * Determines where a scrollbar should appear if a modal is too large for the\n * viewport. When false, the ModalDialog.Body receives a scrollbar, when true\n * the browser window itself receives the scrollbar.\n */\n isFullscreenScroll: PropTypes.bool,\n /** Specifies what should be displayed in the footer of the nodal */\n footerNode: PropTypes.node,\n /** Enables dark theme for the modal */\n heroIsDark: PropTypes.bool,\n /** Specifies what should be displayed in the header of the modal */\n heroNode: PropTypes.node,\n /** Specifies what should be displayed before the body block */\n beforeBodyNode: PropTypes.node,\n /** Specifies what should be displayed after the body block */\n afterBodyNode: PropTypes.node,\n};\n\nMarketingModal.defaultProps = {\n isOpen: false,\n isBlocking: false,\n hasCloseButton: true,\n onClose: () => {},\n size: 'md',\n closeLabel: 'Close',\n className: undefined,\n isFullscreenScroll: true,\n footerNode: null,\n heroIsDark: true,\n heroNode: null,\n beforeBodyNode: null,\n afterBodyNode: null,\n};\n\nexport default MarketingModal;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,OAAOC,WAAW,MAAM,eAAe;AAEvC,SAASC,cAAcA,CAAC;EACtBC,QAAQ;EACRC,UAAU;EACVC,QAAQ;EACRC,UAAU;EACVC,cAAc;EACdC,aAAa;EACb,GAAGC;AACL,CAAC,EAAE;EACD,oBACEX,KAAA,CAAAY,aAAA,CAACT,WAAW;IAAA,GACNQ,KAAK;IACTE,OAAO,EAAEL,UAAU,GAAG,MAAM,GAAG;EAAU,GAExCD,QAAQ,EACRE,cAAc,eACfT,KAAA,CAAAY,aAAA,CAACT,WAAW,CAACW,IAAI,QAAET,QAA2B,CAAC,EAC9CK,aAAa,EACbJ,UAAU,iBACXN,KAAA,CAAAY,aAAA,CAACT,WAAW,CAACY,MAAM,QAAET,UAA+B,CAEzC,CAAC;AAElB;AAEAF,cAAc,CAACY,SAAS,GAAG;EACzB;EACAX,QAAQ,EAAEJ,SAAS,CAACgB,IAAI,CAACC,UAAU;EACnC;EACAC,KAAK,EAAElB,SAAS,CAACmB,MAAM,CAACF,UAAU;EAClC;EACAG,MAAM,EAAEpB,SAAS,CAACqB,IAAI;EACtB;EACAC,UAAU,EAAEtB,SAAS,CAACqB,IAAI;EAC1B;EACAE,cAAc,EAAEvB,SAAS,CAACqB,IAAI;EAC9B;EACAG,OAAO,EAAEvB,eAAe,CAACD,SAAS,CAACyB,IAAI,EAAE,YAAY,CAAC;EACtD;EACAC,IAAI,EAAE1B,SAAS,CAAC2B,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;EAC7D;EACAC,UAAU,EAAE5B,SAAS,CAACmB,MAAM;EAC5B;EACAU,SAAS,EAAE7B,SAAS,CAACmB,MAAM;EAC3B;AACF;AACA;AACA;AACA;EACEW,kBAAkB,EAAE9B,SAAS,CAACqB,IAAI;EAClC;EACAhB,UAAU,EAAEL,SAAS,CAACgB,IAAI;EAC1B;EACAT,UAAU,EAAEP,SAAS,CAACqB,IAAI;EAC1B;EACAf,QAAQ,EAAEN,SAAS,CAACgB,IAAI;EACxB;EACAR,cAAc,EAAER,SAAS,CAACgB,IAAI;EAC9B;EACAP,aAAa,EAAET,SAAS,CAACgB;AAC3B,CAAC;AAEDb,cAAc,CAAC4B,YAAY,GAAG;EAC5BX,MAAM,EAAE,KAAK;EACbE,UAAU,EAAE,KAAK;EACjBC,cAAc,EAAE,IAAI;EACpBC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBE,IAAI,EAAE,IAAI;EACVE,UAAU,EAAE,OAAO;EACnBC,SAAS,EAAEG,SAAS;EACpBF,kBAAkB,EAAE,IAAI;EACxBzB,UAAU,EAAE,IAAI;EAChBE,UAAU,EAAE,IAAI;EAChBD,QAAQ,EAAE,IAAI;EACdE,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE;AACjB,CAAC;AAED,eAAeN,cAAc","ignoreList":[]}
|
|
@@ -3,12 +3,11 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import ModalContext from './ModalContext';
|
|
5
5
|
import Button from '../Button';
|
|
6
|
-
const ModalCloseButton = /*#__PURE__*/React.forwardRef((
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} = _ref;
|
|
6
|
+
const ModalCloseButton = /*#__PURE__*/React.forwardRef(({
|
|
7
|
+
as,
|
|
8
|
+
children,
|
|
9
|
+
...props
|
|
10
|
+
}, ref) => {
|
|
12
11
|
const {
|
|
13
12
|
onClose
|
|
14
13
|
} = useContext(ModalContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalCloseButton.js","names":["React","useContext","PropTypes","classNames","ModalContext","Button","ModalCloseButton","forwardRef","
|
|
1
|
+
{"version":3,"file":"ModalCloseButton.js","names":["React","useContext","PropTypes","classNames","ModalContext","Button","ModalCloseButton","forwardRef","as","children","props","ref","onClose","type","componentProps","className","onClick","createElement","propTypes","elementType","node","string","func","defaultProps","undefined"],"sources":["../../src/Modal/ModalCloseButton.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ModalContext from './ModalContext';\nimport Button from '../Button';\n\nconst ModalCloseButton = React.forwardRef(({ as, children, ...props }, ref) => {\n const { onClose } = useContext(ModalContext);\n const type = as;\n const componentProps = {\n ...props,\n className: classNames('pgn__modal-close-button', props.className),\n onClick: () => {\n onClose();\n if (props.onClick) {\n props.onClick();\n }\n },\n ref,\n };\n\n // Use the non-jsx syntax to create this element so we can more\n // finely control the component type (defaulted to Button via defaultProps)\n return React.createElement(type, componentProps, children);\n});\n\nModalCloseButton.propTypes = {\n /** Specifies the base element */\n as: PropTypes.elementType,\n /** Specifies the content of the button */\n children: PropTypes.node,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies the callback function when the close button is clicked */\n onClick: PropTypes.func,\n};\n\nModalCloseButton.defaultProps = {\n as: Button,\n onClick: undefined,\n className: undefined,\n children: null,\n};\n\nexport default ModalCloseButton;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,MAAM,MAAM,WAAW;AAE9B,MAAMC,gBAAgB,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAAC;EAAEC,EAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC7E,MAAM;IAAEC;EAAQ,CAAC,GAAGX,UAAU,CAACG,YAAY,CAAC;EAC5C,MAAMS,IAAI,GAAGL,EAAE;EACf,MAAMM,cAAc,GAAG;IACrB,GAAGJ,KAAK;IACRK,SAAS,EAAEZ,UAAU,CAAC,yBAAyB,EAAEO,KAAK,CAACK,SAAS,CAAC;IACjEC,OAAO,EAAEA,CAAA,KAAM;MACbJ,OAAO,CAAC,CAAC;MACT,IAAIF,KAAK,CAACM,OAAO,EAAE;QACjBN,KAAK,CAACM,OAAO,CAAC,CAAC;MACjB;IACF,CAAC;IACDL;EACF,CAAC;;EAED;EACA;EACA,oBAAOX,KAAK,CAACiB,aAAa,CAACJ,IAAI,EAAEC,cAAc,EAAEL,QAAQ,CAAC;AAC5D,CAAC,CAAC;AAEFH,gBAAgB,CAACY,SAAS,GAAG;EAC3B;EACAV,EAAE,EAAEN,SAAS,CAACiB,WAAW;EACzB;EACAV,QAAQ,EAAEP,SAAS,CAACkB,IAAI;EACxB;EACAL,SAAS,EAAEb,SAAS,CAACmB,MAAM;EAC3B;EACAL,OAAO,EAAEd,SAAS,CAACoB;AACrB,CAAC;AAEDhB,gBAAgB,CAACiB,YAAY,GAAG;EAC9Bf,EAAE,EAAEH,MAAM;EACVW,OAAO,EAAEQ,SAAS;EAClBT,SAAS,EAAES,SAAS;EACpBf,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,gBAAgB","ignoreList":[]}
|
|
@@ -4,13 +4,12 @@ const ModalContext = /*#__PURE__*/React.createContext({
|
|
|
4
4
|
isOpen: false,
|
|
5
5
|
isBlocking: false
|
|
6
6
|
});
|
|
7
|
-
function ModalContextProvider(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
7
|
+
function ModalContextProvider({
|
|
8
|
+
onClose,
|
|
9
|
+
isOpen,
|
|
10
|
+
isBlocking = false,
|
|
11
|
+
children = null
|
|
12
|
+
}) {
|
|
14
13
|
const modalContextValue = useMemo(() => ({
|
|
15
14
|
onClose,
|
|
16
15
|
isOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalContext.js","names":["React","useMemo","ModalContext","createContext","onClose","isOpen","isBlocking","ModalContextProvider","
|
|
1
|
+
{"version":3,"file":"ModalContext.js","names":["React","useMemo","ModalContext","createContext","onClose","isOpen","isBlocking","ModalContextProvider","children","modalContextValue","createElement","Provider","value"],"sources":["../../src/Modal/ModalContext.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\ninterface ContextData {\n onClose: () => void;\n isOpen: boolean;\n isBlocking: boolean;\n}\n\nconst ModalContext = React.createContext<ContextData>({\n onClose: () => {},\n isOpen: false,\n isBlocking: false,\n});\n\nfunction ModalContextProvider({\n onClose,\n isOpen,\n isBlocking = false,\n children = null,\n}: {\n onClose: () => void;\n isOpen: boolean;\n isBlocking?: boolean;\n children?: React.ReactNode;\n}) {\n const modalContextValue = useMemo<ContextData>(\n () => ({ onClose, isOpen, isBlocking }),\n [onClose, isOpen, isBlocking],\n );\n\n return (\n <ModalContext.Provider value={modalContextValue}>\n {children}\n </ModalContext.Provider>\n );\n}\n\nexport { ModalContextProvider };\nexport default ModalContext;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAQtC,MAAMC,YAAY,gBAAGF,KAAK,CAACG,aAAa,CAAc;EACpDC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBC,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,SAASC,oBAAoBA,CAAC;EAC5BH,OAAO;EACPC,MAAM;EACNC,UAAU,GAAG,KAAK;EAClBE,QAAQ,GAAG;AAMb,CAAC,EAAE;EACD,MAAMC,iBAAiB,GAAGR,OAAO,CAC/B,OAAO;IAAEG,OAAO;IAAEC,MAAM;IAAEC;EAAW,CAAC,CAAC,EACvC,CAACF,OAAO,EAAEC,MAAM,EAAEC,UAAU,CAC9B,CAAC;EAED,oBACEN,KAAA,CAAAU,aAAA,CAACR,YAAY,CAACS,QAAQ;IAACC,KAAK,EAAEH;EAAkB,GAC7CD,QACoB,CAAC;AAE5B;AAEA,SAASD,oBAAoB;AAC7B,eAAeL,YAAY","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
interface Props {
|
|
4
3
|
/** Specifies the content of the dialog */
|
|
5
4
|
children: React.ReactNode;
|
|
@@ -31,74 +30,16 @@ interface Props {
|
|
|
31
30
|
isBlocking?: boolean;
|
|
32
31
|
/** Specifies the z-index of the modal */
|
|
33
32
|
zIndex?: number;
|
|
34
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Specifies whether overflow content inside the modal should be visible.
|
|
35
|
+
* - `true` - content that exceeds the modal boundaries will remain visible outside the modal's main viewport,
|
|
36
|
+
* rather than being clipped or hidden.
|
|
37
|
+
* - `false` - any overflow content will be clipped to fit within the modal's dimensions.
|
|
38
|
+
*/
|
|
35
39
|
isOverflowVisible: boolean;
|
|
36
40
|
}
|
|
37
41
|
declare function ModalDialog({ children, title, isOpen, onClose, size, variant, hasCloseButton, closeLabel, isFullscreenScroll, className, isFullscreenOnMobile, isBlocking, zIndex, isOverflowVisible, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
38
42
|
declare namespace ModalDialog {
|
|
39
|
-
var propTypes: {
|
|
40
|
-
/**
|
|
41
|
-
* Specifies the content of the dialog
|
|
42
|
-
*/
|
|
43
|
-
children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
|
44
|
-
/**
|
|
45
|
-
* The aria-label of the dialog
|
|
46
|
-
*/
|
|
47
|
-
title: PropTypes.Validator<string>;
|
|
48
|
-
/**
|
|
49
|
-
* A callback to close the modal dialog
|
|
50
|
-
*/
|
|
51
|
-
onClose: PropTypes.Validator<(...args: any[]) => any>;
|
|
52
|
-
/**
|
|
53
|
-
* Is the modal dialog open or closed
|
|
54
|
-
*/
|
|
55
|
-
isOpen: PropTypes.Requireable<boolean>;
|
|
56
|
-
/**
|
|
57
|
-
* The close 'x' icon button in the top right of the dialog box
|
|
58
|
-
*/
|
|
59
|
-
hasCloseButton: PropTypes.Requireable<boolean>;
|
|
60
|
-
/**
|
|
61
|
-
* Sizes determine the maximum width of the dialog box
|
|
62
|
-
*/
|
|
63
|
-
size: PropTypes.Requireable<string>;
|
|
64
|
-
/**
|
|
65
|
-
* The visual style of the dialog box
|
|
66
|
-
*/
|
|
67
|
-
variant: PropTypes.Requireable<string>;
|
|
68
|
-
/**
|
|
69
|
-
* The label supplied to the close icon button if one is rendered
|
|
70
|
-
*/
|
|
71
|
-
closeLabel: PropTypes.Requireable<string>;
|
|
72
|
-
/**
|
|
73
|
-
* Specifies class name to append to the base element
|
|
74
|
-
*/
|
|
75
|
-
className: PropTypes.Requireable<string>;
|
|
76
|
-
/**
|
|
77
|
-
* Determines where a scrollbar should appear if a modal is too large for the
|
|
78
|
-
* viewport. When false, the ``ModalDialog``. Body receives a scrollbar, when true
|
|
79
|
-
* the browser window itself receives the scrollbar.
|
|
80
|
-
*/
|
|
81
|
-
isFullscreenScroll: PropTypes.Requireable<boolean>;
|
|
82
|
-
/**
|
|
83
|
-
* To show full screen view on mobile screens
|
|
84
|
-
*/
|
|
85
|
-
isFullscreenOnMobile: PropTypes.Requireable<boolean>;
|
|
86
|
-
/**
|
|
87
|
-
* Prevent clicking on the backdrop or pressing Esc to close the modal
|
|
88
|
-
*/
|
|
89
|
-
isBlocking: PropTypes.Requireable<boolean>;
|
|
90
|
-
/**
|
|
91
|
-
* Specifies the z-index of the modal
|
|
92
|
-
*/
|
|
93
|
-
zIndex: PropTypes.Requireable<number>;
|
|
94
|
-
/**
|
|
95
|
-
* Specifies whether overflow content inside the modal should be visible.
|
|
96
|
-
* - `true` - content that exceeds the modal boundaries will remain visible outside the modal's main viewport,
|
|
97
|
-
* rather than being clipped or hidden.
|
|
98
|
-
* - `false` - any overflow content will be clipped to fit within the modal's dimensions.
|
|
99
|
-
*/
|
|
100
|
-
isOverflowVisible: PropTypes.Validator<boolean>;
|
|
101
|
-
};
|
|
102
43
|
var Header: import("react-bootstrap/esm/helpers").BsPrefixRefForwardingComponent<"div", import("./ModalDialogHeader").Props>;
|
|
103
44
|
var Title: any;
|
|
104
45
|
var Footer: any;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import classNames from 'classnames';
|
|
4
3
|
import { useMediaQuery } from 'react-responsive';
|
|
5
4
|
import { useIntl } from 'react-intl';
|
|
@@ -19,23 +18,22 @@ import Icon from '../Icon';
|
|
|
19
18
|
import IconButton from '../IconButton';
|
|
20
19
|
import { Close } from '../../icons';
|
|
21
20
|
import messages from './messages';
|
|
22
|
-
function ModalDialog(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} = _ref;
|
|
21
|
+
function ModalDialog({
|
|
22
|
+
children,
|
|
23
|
+
title,
|
|
24
|
+
isOpen = false,
|
|
25
|
+
onClose,
|
|
26
|
+
size = 'md',
|
|
27
|
+
variant = 'default',
|
|
28
|
+
hasCloseButton = true,
|
|
29
|
+
closeLabel,
|
|
30
|
+
isFullscreenScroll = false,
|
|
31
|
+
className,
|
|
32
|
+
isFullscreenOnMobile = false,
|
|
33
|
+
isBlocking = false,
|
|
34
|
+
zIndex,
|
|
35
|
+
isOverflowVisible
|
|
36
|
+
}) {
|
|
39
37
|
const intl = useIntl();
|
|
40
38
|
const closeButtonText = closeLabel || intl.formatMessage(messages.closeButtonText);
|
|
41
39
|
const isMobile = useMediaQuery({
|
|
@@ -66,69 +64,6 @@ function ModalDialog(_ref) {
|
|
|
66
64
|
alt: closeButtonText
|
|
67
65
|
})), children));
|
|
68
66
|
}
|
|
69
|
-
ModalDialog.propTypes = {
|
|
70
|
-
/**
|
|
71
|
-
* Specifies the content of the dialog
|
|
72
|
-
*/
|
|
73
|
-
children: PropTypes.node.isRequired,
|
|
74
|
-
/**
|
|
75
|
-
* The aria-label of the dialog
|
|
76
|
-
*/
|
|
77
|
-
title: PropTypes.string.isRequired,
|
|
78
|
-
/**
|
|
79
|
-
* A callback to close the modal dialog
|
|
80
|
-
*/
|
|
81
|
-
onClose: PropTypes.func.isRequired,
|
|
82
|
-
/**
|
|
83
|
-
* Is the modal dialog open or closed
|
|
84
|
-
*/
|
|
85
|
-
isOpen: PropTypes.bool,
|
|
86
|
-
/**
|
|
87
|
-
* The close 'x' icon button in the top right of the dialog box
|
|
88
|
-
*/
|
|
89
|
-
hasCloseButton: PropTypes.bool,
|
|
90
|
-
/**
|
|
91
|
-
* Sizes determine the maximum width of the dialog box
|
|
92
|
-
*/
|
|
93
|
-
size: PropTypes.oneOf(['sm', 'md', 'lg', 'xl', 'fullscreen']),
|
|
94
|
-
/**
|
|
95
|
-
* The visual style of the dialog box
|
|
96
|
-
*/
|
|
97
|
-
variant: PropTypes.oneOf(['default', 'warning', 'danger', 'success', 'dark']),
|
|
98
|
-
/**
|
|
99
|
-
* The label supplied to the close icon button if one is rendered
|
|
100
|
-
*/
|
|
101
|
-
closeLabel: PropTypes.string,
|
|
102
|
-
/**
|
|
103
|
-
* Specifies class name to append to the base element
|
|
104
|
-
*/
|
|
105
|
-
className: PropTypes.string,
|
|
106
|
-
/**
|
|
107
|
-
* Determines where a scrollbar should appear if a modal is too large for the
|
|
108
|
-
* viewport. When false, the ``ModalDialog``. Body receives a scrollbar, when true
|
|
109
|
-
* the browser window itself receives the scrollbar.
|
|
110
|
-
*/
|
|
111
|
-
isFullscreenScroll: PropTypes.bool,
|
|
112
|
-
/**
|
|
113
|
-
* To show full screen view on mobile screens
|
|
114
|
-
*/
|
|
115
|
-
isFullscreenOnMobile: PropTypes.bool,
|
|
116
|
-
/**
|
|
117
|
-
* Prevent clicking on the backdrop or pressing Esc to close the modal
|
|
118
|
-
*/
|
|
119
|
-
isBlocking: PropTypes.bool,
|
|
120
|
-
/**
|
|
121
|
-
* Specifies the z-index of the modal
|
|
122
|
-
*/
|
|
123
|
-
zIndex: PropTypes.number,
|
|
124
|
-
/**
|
|
125
|
-
* Specifies whether overflow content inside the modal should be visible.
|
|
126
|
-
* - `true` - content that exceeds the modal boundaries will remain visible outside the modal's main viewport,
|
|
127
|
-
* rather than being clipped or hidden.
|
|
128
|
-
* - `false` - any overflow content will be clipped to fit within the modal's dimensions.
|
|
129
|
-
*/
|
|
130
|
-
isOverflowVisible: PropTypes.bool.isRequired
|
|
131
|
-
};
|
|
132
67
|
ModalDialog.Header = ModalDialogHeader;
|
|
133
68
|
ModalDialog.Title = ModalDialogTitle;
|
|
134
69
|
ModalDialog.Footer = ModalDialogFooter;
|