@openedx/paragon 21.12.0 → 21.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionRow/index.js +7 -8
- package/dist/ActionRow/index.js.map +1 -1
- package/dist/Alert/index.js +33 -25
- package/dist/Alert/index.js.map +1 -1
- package/dist/Annotation/index.js +7 -9
- package/dist/Annotation/index.js.map +1 -1
- package/dist/Avatar/index.js +5 -7
- package/dist/Avatar/index.js.map +1 -1
- package/dist/AvatarButton/index.js +10 -12
- package/dist/AvatarButton/index.js.map +1 -1
- package/dist/Badge/index.js +6 -4
- package/dist/Badge/index.js.map +1 -1
- package/dist/Breadcrumb/BreadcrumbLink.js +11 -14
- package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
- package/dist/Breadcrumb/index.js +29 -29
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Bubble/index.js +11 -13
- package/dist/Bubble/index.js.map +1 -1
- package/dist/Button/deprecated/index.js +87 -66
- package/dist/Button/deprecated/index.js.map +1 -1
- package/dist/Button/index.js +10 -11
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/CardBody.js +4 -6
- package/dist/Card/CardBody.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarousel.js +11 -13
- package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselControls.js +6 -7
- package/dist/Card/CardCarousel/CardCarouselControls.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselHeader.js +9 -12
- package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselItems.js +6 -9
- package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselProvider.js +27 -28
- package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js +4 -6
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselTitle.js +4 -6
- package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
- package/dist/Card/CardContext.js +8 -10
- package/dist/Card/CardContext.js.map +1 -1
- package/dist/Card/CardDeck.js +19 -17
- package/dist/Card/CardDeck.js.map +1 -1
- package/dist/Card/CardDivider.js +3 -5
- package/dist/Card/CardDivider.js.map +1 -1
- package/dist/Card/CardFooter.js +15 -18
- package/dist/Card/CardFooter.js.map +1 -1
- package/dist/Card/CardGrid.js +13 -11
- package/dist/Card/CardGrid.js.map +1 -1
- package/dist/Card/CardHeader.js +17 -22
- package/dist/Card/CardHeader.js.map +1 -1
- package/dist/Card/CardImageCap.js +48 -33
- package/dist/Card/CardImageCap.js.map +1 -1
- package/dist/Card/CardSection.js +11 -14
- package/dist/Card/CardSection.js.map +1 -1
- package/dist/Card/CardStatus.js +11 -14
- package/dist/Card/CardStatus.js.map +1 -1
- package/dist/Card/index.js +18 -20
- package/dist/Card/index.js.map +1 -1
- package/dist/Carousel/index.js +17 -11
- package/dist/Carousel/index.js.map +1 -1
- package/dist/CheckBox/index.js +66 -36
- package/dist/CheckBox/index.js.map +1 -1
- package/dist/Chip/index.js +14 -16
- package/dist/Chip/index.js.map +1 -1
- package/dist/ChipCarousel/index.js +29 -30
- package/dist/ChipCarousel/index.js.map +1 -1
- package/dist/Collapsible/CollapsibleAdvanced.js +82 -62
- package/dist/Collapsible/CollapsibleAdvanced.js.map +1 -1
- package/dist/Collapsible/CollapsibleBody.js +13 -15
- package/dist/Collapsible/CollapsibleBody.js.map +1 -1
- package/dist/Collapsible/CollapsibleTrigger.js +18 -20
- package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
- package/dist/Collapsible/CollapsibleVisible.js +6 -9
- package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
- package/dist/Collapsible/index.js +17 -18
- package/dist/Collapsible/index.js.map +1 -1
- package/dist/ColorPicker/index.js +58 -33
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/Container/index.js +14 -11
- package/dist/Container/index.js.map +1 -1
- package/dist/DataTable/ActionDisplay.js +8 -9
- package/dist/DataTable/ActionDisplay.js.map +1 -1
- package/dist/DataTable/BulkActions.js +23 -20
- package/dist/DataTable/BulkActions.js.map +1 -1
- package/dist/DataTable/CardView.js +46 -43
- package/dist/DataTable/CardView.js.map +1 -1
- package/dist/DataTable/CollapsibleButtonGroup.js +57 -39
- package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
- package/dist/DataTable/DataTableContext.js +1 -1
- package/dist/DataTable/DataTableContext.js.map +1 -1
- package/dist/DataTable/DataTableLayout.js +6 -9
- package/dist/DataTable/DataTableLayout.js.map +1 -1
- package/dist/DataTable/DataViewToggle.js +25 -20
- package/dist/DataTable/DataViewToggle.js.map +1 -1
- package/dist/DataTable/DropdownFilters.js +41 -28
- package/dist/DataTable/DropdownFilters.js.map +1 -1
- package/dist/DataTable/EmptyTable.js +6 -9
- package/dist/DataTable/EmptyTable.js.map +1 -1
- package/dist/DataTable/ExpandAll.js +2 -4
- package/dist/DataTable/ExpandAll.js.map +1 -1
- package/dist/DataTable/ExpandRow.js +2 -4
- package/dist/DataTable/ExpandRow.js.map +1 -1
- package/dist/DataTable/FilterStatus.js +18 -17
- package/dist/DataTable/FilterStatus.js.map +1 -1
- package/dist/DataTable/RowStatus.js +15 -18
- package/dist/DataTable/RowStatus.js.map +1 -1
- package/dist/DataTable/SidebarFilters.js +16 -13
- package/dist/DataTable/SidebarFilters.js.map +1 -1
- package/dist/DataTable/SmartStatus.js +14 -16
- package/dist/DataTable/SmartStatus.js.map +1 -1
- package/dist/DataTable/Table.js +17 -19
- package/dist/DataTable/Table.js.map +1 -1
- package/dist/DataTable/TableActions.js +11 -13
- package/dist/DataTable/TableActions.js.map +1 -1
- package/dist/DataTable/TableCell.js +6 -10
- package/dist/DataTable/TableCell.js.map +1 -1
- package/dist/DataTable/TableControlBar.js +7 -12
- package/dist/DataTable/TableControlBar.js.map +1 -1
- package/dist/DataTable/TableFilters.js +14 -12
- package/dist/DataTable/TableFilters.js.map +1 -1
- package/dist/DataTable/TableFooter.js +5 -8
- package/dist/DataTable/TableFooter.js.map +1 -1
- package/dist/DataTable/TableHeaderCell.js +11 -15
- package/dist/DataTable/TableHeaderCell.js.map +1 -1
- package/dist/DataTable/TableHeaderRow.js +6 -4
- package/dist/DataTable/TableHeaderRow.js.map +1 -1
- package/dist/DataTable/TablePagination.js +8 -7
- package/dist/DataTable/TablePagination.js.map +1 -1
- package/dist/DataTable/TablePaginationMinimal.js +9 -8
- package/dist/DataTable/TablePaginationMinimal.js.map +1 -1
- package/dist/DataTable/TableRow.js +15 -18
- package/dist/DataTable/TableRow.js.map +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js +23 -22
- package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
- package/dist/DataTable/filters/DropdownFilter.js +14 -19
- package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js +19 -20
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/TextFilter.js +10 -13
- package/dist/DataTable/filters/TextFilter.js.map +1 -1
- package/dist/DataTable/hooks.js +29 -25
- package/dist/DataTable/hooks.js.map +1 -1
- package/dist/DataTable/index.js +120 -104
- package/dist/DataTable/index.js.map +1 -1
- package/dist/DataTable/selection/BaseSelectionStatus.js +29 -31
- package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelect.js +13 -9
- package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectHeader.js +19 -15
- package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectionStatus.js +34 -24
- package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/SelectionStatus.js +23 -23
- package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
- package/dist/DataTable/utils/getVisibleColumns.js +36 -44
- package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
- package/dist/Dropdown/deprecated/DropdownButton.js +9 -13
- package/dist/Dropdown/deprecated/DropdownButton.js.map +1 -1
- package/dist/Dropdown/deprecated/DropdownItem.js +7 -8
- package/dist/Dropdown/deprecated/DropdownItem.js.map +1 -1
- package/dist/Dropdown/deprecated/DropdownMenu.js +8 -12
- package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -1
- package/dist/Dropdown/deprecated/index.js +136 -103
- package/dist/Dropdown/deprecated/index.js.map +1 -1
- package/dist/Dropdown/index.js +32 -29
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropzone/DefaultContent.js +13 -13
- package/dist/Dropzone/DefaultContent.js.map +1 -1
- package/dist/Dropzone/DragError.js +1 -3
- package/dist/Dropzone/DragError.js.map +1 -1
- package/dist/Dropzone/GenericError.js +7 -7
- package/dist/Dropzone/GenericError.js.map +1 -1
- package/dist/Dropzone/UploadProgress.js +6 -8
- package/dist/Dropzone/UploadProgress.js.map +1 -1
- package/dist/Dropzone/index.js +145 -86
- package/dist/Dropzone/index.js.map +1 -1
- package/dist/Fieldset/index.js +82 -57
- package/dist/Fieldset/index.js.map +1 -1
- package/dist/Form/FormAutosuggest.js +137 -95
- package/dist/Form/FormAutosuggest.js.map +1 -1
- package/dist/Form/FormAutosuggestOption.js +4 -6
- package/dist/Form/FormAutosuggestOption.js.map +1 -1
- package/dist/Form/FormCheckbox.js +35 -42
- package/dist/Form/FormCheckbox.js.map +1 -1
- package/dist/Form/FormCheckboxSet.js +13 -16
- package/dist/Form/FormCheckboxSet.js.map +1 -1
- package/dist/Form/FormCheckboxSetContext.js +39 -34
- package/dist/Form/FormCheckboxSetContext.js.map +1 -1
- package/dist/Form/FormControl.js +41 -35
- package/dist/Form/FormControl.js.map +1 -1
- package/dist/Form/FormControlDecorator.js +3 -5
- package/dist/Form/FormControlDecorator.js.map +1 -1
- package/dist/Form/FormControlDecoratorGroup.js +8 -10
- package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
- package/dist/Form/FormControlFeedback.js +12 -15
- package/dist/Form/FormControlFeedback.js.map +1 -1
- package/dist/Form/FormControlFloatingLabel.js +3 -6
- package/dist/Form/FormControlFloatingLabel.js.map +1 -1
- package/dist/Form/FormControlSet.js +8 -9
- package/dist/Form/FormControlSet.js.map +1 -1
- package/dist/Form/FormGroup.js +11 -12
- package/dist/Form/FormGroup.js.map +1 -1
- package/dist/Form/FormGroupContext.js +64 -39
- package/dist/Form/FormGroupContext.js.map +1 -1
- package/dist/Form/FormLabel.js +15 -17
- package/dist/Form/FormLabel.js.map +1 -1
- package/dist/Form/FormRadio.js +19 -22
- package/dist/Form/FormRadio.js.map +1 -1
- package/dist/Form/FormRadioSet.js +13 -16
- package/dist/Form/FormRadioSet.js.map +1 -1
- package/dist/Form/FormRadioSetContext.js +39 -34
- package/dist/Form/FormRadioSetContext.js.map +1 -1
- package/dist/Form/FormSwitch.js +19 -20
- package/dist/Form/FormSwitch.js.map +1 -1
- package/dist/Form/FormText.js +20 -29
- package/dist/Form/FormText.js.map +1 -1
- package/dist/Form/useCheckboxSetValues.js +46 -23
- package/dist/Form/useCheckboxSetValues.js.map +1 -1
- package/dist/Hyperlink/index.js +32 -31
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Hyperlink/index.scss +2 -2
- package/dist/Icon/index.js +38 -30
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.js +31 -33
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButtonToggle/index.js +16 -16
- package/dist/IconButtonToggle/index.js.map +1 -1
- package/dist/Input/index.js +122 -92
- package/dist/Input/index.js.map +1 -1
- package/dist/InputSelect/index.js +78 -51
- package/dist/InputSelect/index.js.map +1 -1
- package/dist/InputText/index.js +11 -9
- package/dist/InputText/index.js.map +1 -1
- package/dist/Layout/index.js +33 -29
- package/dist/Layout/index.js.map +1 -1
- package/dist/ListBox/index.js +112 -80
- package/dist/ListBox/index.js.map +1 -1
- package/dist/ListBoxOption/index.js +68 -45
- package/dist/ListBoxOption/index.js.map +1 -1
- package/dist/MailtoLink/index.js +37 -34
- package/dist/MailtoLink/index.js.map +1 -1
- package/dist/Menu/MenuItem.js +13 -14
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Menu/SelectMenu.js +68 -44
- package/dist/Menu/SelectMenu.js.map +1 -1
- package/dist/Menu/index.js +10 -11
- package/dist/Menu/index.js.map +1 -1
- package/dist/Modal/AlertModal.js +5 -7
- package/dist/Modal/AlertModal.js.map +1 -1
- package/dist/Modal/FullscreenModal.js +6 -8
- package/dist/Modal/FullscreenModal.js.map +1 -1
- package/dist/Modal/MarketingModal.js +8 -10
- package/dist/Modal/MarketingModal.js.map +1 -1
- package/dist/Modal/ModalCloseButton.js +13 -15
- package/dist/Modal/ModalCloseButton.js.map +1 -1
- package/dist/Modal/ModalContext.js +13 -13
- package/dist/Modal/ModalContext.js.map +1 -1
- package/dist/Modal/ModalDialog.js +25 -23
- package/dist/Modal/ModalDialog.js.map +1 -1
- package/dist/Modal/ModalDialogBody.js +22 -11
- package/dist/Modal/ModalDialogBody.js.map +1 -1
- package/dist/Modal/ModalDialogFooter.js +6 -7
- package/dist/Modal/ModalDialogFooter.js.map +1 -1
- package/dist/Modal/ModalDialogHeader.js +6 -7
- package/dist/Modal/ModalDialogHeader.js.map +1 -1
- package/dist/Modal/ModalDialogHero.js +6 -7
- package/dist/Modal/ModalDialogHero.js.map +1 -1
- package/dist/Modal/ModalDialogHeroBackground.js +8 -9
- package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
- package/dist/Modal/ModalDialogHeroContent.js +6 -7
- package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
- package/dist/Modal/ModalDialogTitle.js +6 -7
- package/dist/Modal/ModalDialogTitle.js.map +1 -1
- package/dist/Modal/ModalLayer.js +11 -17
- package/dist/Modal/ModalLayer.js.map +1 -1
- package/dist/Modal/ModalPopup.js +17 -17
- package/dist/Modal/ModalPopup.js.map +1 -1
- package/dist/Modal/PopperElement.js +25 -18
- package/dist/Modal/PopperElement.js.map +1 -1
- package/dist/Modal/Portal.js +40 -18
- package/dist/Modal/Portal.js.map +1 -1
- package/dist/Modal/StandardModal.js +6 -8
- package/dist/Modal/StandardModal.js.map +1 -1
- package/dist/Modal/index.js +226 -193
- package/dist/Modal/index.js.map +1 -1
- package/dist/Nav/index.js +3 -2
- package/dist/Nav/index.js.map +1 -1
- package/dist/Navbar/index.js +7 -6
- package/dist/Navbar/index.js.map +1 -1
- package/dist/OverflowScroll/OverflowScroll.js +45 -37
- package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
- package/dist/OverflowScroll/OverflowScrollContext.js +1 -1
- package/dist/OverflowScroll/OverflowScrollContext.js.map +1 -1
- package/dist/OverflowScroll/OverflowScrollItems.js +2 -4
- package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
- package/dist/Overlay/index.js +4 -4
- package/dist/Overlay/index.js.map +1 -1
- package/dist/PageBanner/index.js +11 -13
- package/dist/PageBanner/index.js.map +1 -1
- package/dist/Pagination/index.js +331 -296
- package/dist/Pagination/index.js.map +1 -1
- package/dist/Popover/index.js +18 -21
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.js +39 -30
- package/dist/ProductTour/Checkpoint.js.map +1 -1
- package/dist/ProductTour/CheckpointActionRow.js +18 -16
- package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
- package/dist/ProductTour/CheckpointBody.js +2 -4
- package/dist/ProductTour/CheckpointBody.js.map +1 -1
- package/dist/ProductTour/CheckpointBreadcrumbs.js +16 -16
- package/dist/ProductTour/CheckpointBreadcrumbs.js.map +1 -1
- package/dist/ProductTour/CheckpointTitle.js +2 -4
- package/dist/ProductTour/CheckpointTitle.js.map +1 -1
- package/dist/ProductTour/index.js +66 -47
- package/dist/ProductTour/index.js.map +1 -1
- package/dist/ProductTour/messages.js +16 -0
- package/dist/ProgressBar/index.js +37 -35
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/RadioButtonGroup/index.js +133 -102
- package/dist/RadioButtonGroup/index.js.map +1 -1
- package/dist/Scrollable/index.js +30 -15
- package/dist/Scrollable/index.js.map +1 -1
- package/dist/SearchField/SearchFieldAdvanced.js +66 -51
- package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
- package/dist/SearchField/SearchFieldClearButton.js +7 -8
- package/dist/SearchField/SearchFieldClearButton.js.map +1 -1
- package/dist/SearchField/SearchFieldInput.js +8 -9
- package/dist/SearchField/SearchFieldInput.js.map +1 -1
- package/dist/SearchField/SearchFieldLabel.js +8 -11
- package/dist/SearchField/SearchFieldLabel.js.map +1 -1
- package/dist/SearchField/SearchFieldSubmitButton.js +12 -15
- package/dist/SearchField/SearchFieldSubmitButton.js.map +1 -1
- package/dist/SearchField/index.js +22 -23
- package/dist/SearchField/index.js.map +1 -1
- package/dist/SelectableBox/SelectableBoxSet.js +25 -26
- package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
- package/dist/SelectableBox/index.js +42 -38
- package/dist/SelectableBox/index.js.map +1 -1
- package/dist/Sheet/SheetContainer.js +38 -16
- package/dist/Sheet/SheetContainer.js.map +1 -1
- package/dist/Sheet/index.js +65 -43
- package/dist/Sheet/index.js.map +1 -1
- package/dist/Spinner/index.js +8 -9
- package/dist/Spinner/index.js.map +1 -1
- package/dist/Stack/index.js +9 -11
- package/dist/Stack/index.js.map +1 -1
- package/dist/StatefulButton/index.js +15 -17
- package/dist/StatefulButton/index.js.map +1 -1
- package/dist/StatusAlert/index.js +120 -82
- package/dist/StatusAlert/index.js.map +1 -1
- package/dist/Stepper/Stepper.js +2 -4
- package/dist/Stepper/Stepper.js.map +1 -1
- package/dist/Stepper/StepperActionRow.js +7 -10
- package/dist/Stepper/StepperActionRow.js.map +1 -1
- package/dist/Stepper/StepperContext.js +64 -32
- package/dist/Stepper/StepperContext.js.map +1 -1
- package/dist/Stepper/StepperHeader.js +23 -30
- package/dist/Stepper/StepperHeader.js.map +1 -1
- package/dist/Stepper/StepperHeaderStep.js +14 -17
- package/dist/Stepper/StepperHeaderStep.js.map +1 -1
- package/dist/Stepper/StepperStep.js +23 -24
- package/dist/Stepper/StepperStep.js.map +1 -1
- package/dist/Sticky/index.js +30 -22
- package/dist/Sticky/index.js.map +1 -1
- package/dist/Table/index.js +178 -109
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/deprecated/index.js +99 -66
- package/dist/Tabs/deprecated/index.js.map +1 -1
- package/dist/Tabs/index.js +72 -56
- package/dist/Tabs/index.js.map +1 -1
- package/dist/TextArea/index.js +10 -8
- package/dist/TextArea/index.js.map +1 -1
- package/dist/Toast/ToastContainer.js +38 -16
- package/dist/Toast/ToastContainer.js.map +1 -1
- package/dist/Toast/index.js +33 -18
- package/dist/Toast/index.js.map +1 -1
- package/dist/Tooltip/index.js +8 -9
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/TransitionReplace/DemoTransitionReplace.js +12 -3
- package/dist/TransitionReplace/DemoTransitionReplace.js.map +1 -1
- package/dist/TransitionReplace/index.js +136 -100
- package/dist/TransitionReplace/index.js.map +1 -1
- package/dist/Truncate/index.js +30 -24
- package/dist/Truncate/index.js.map +1 -1
- package/dist/ValidationFormGroup/index.js +38 -37
- package/dist/ValidationFormGroup/index.js.map +1 -1
- package/dist/ValidationMessage/index.js +76 -51
- package/dist/ValidationMessage/index.js.map +1 -1
- package/dist/asInput/index.js +251 -202
- package/dist/asInput/index.js.map +1 -1
- package/dist/hooks/useArrowKeyNavigation.js +46 -43
- package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
- package/dist/hooks/useIndexOfLastVisibleChild.js +50 -41
- package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
- package/dist/hooks/useIsVisible.js +20 -13
- package/dist/hooks/useIsVisible.js.map +1 -1
- package/dist/hooks/useToggle.js +18 -11
- package/dist/hooks/useToggle.js.map +1 -1
- package/dist/hooks/useWindowSize.js +17 -6
- package/dist/hooks/useWindowSize.js.map +1 -1
- package/dist/i18n/messages/ar.json +2 -1
- package/dist/i18n/messages/ca.json +2 -1
- package/dist/i18n/messages/es_419.json +2 -1
- package/dist/i18n/messages/es_AR.json +2 -1
- package/dist/i18n/messages/es_ES.json +2 -1
- package/dist/i18n/messages/fr.json +2 -1
- package/dist/i18n/messages/he.json +2 -1
- package/dist/i18n/messages/id.json +2 -1
- package/dist/i18n/messages/it_IT.json +2 -1
- package/dist/i18n/messages/ko_KR.json +2 -1
- package/dist/i18n/messages/pl.json +2 -1
- package/dist/i18n/messages/pt_BR.json +2 -1
- package/dist/i18n/messages/pt_PT.json +2 -1
- package/dist/i18n/messages/ru.json +2 -1
- package/dist/i18n/messages/th.json +2 -1
- package/dist/i18n/messages/tr_TR.json +2 -1
- package/dist/i18n/messages/uk.json +2 -1
- package/dist/i18n/messages/zh_CN.json +2 -1
- package/dist/paragon.css +1 -1
- package/dist/withDeprecatedProps.js +79 -58
- package/dist/withDeprecatedProps.js.map +1 -1
- package/package.json +1 -5
- package/src/Button/index.jsx +2 -2
- package/src/Container/index.jsx +4 -0
- package/src/Dropdown/index.jsx +4 -0
- package/src/Dropzone/index.jsx +1 -1
- package/src/Form/FormSwitch.jsx +3 -0
- package/src/Hyperlink/index.jsx +7 -6
- package/src/Hyperlink/index.scss +2 -2
- package/src/Icon/index.jsx +18 -11
- package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +12 -10
- package/src/IconButton/index.jsx +2 -2
- package/src/Layout/index.jsx +1 -4
- package/src/Menu/MenuItem.jsx +2 -2
- package/src/Modal/ModalDialog.jsx +3 -0
- package/src/Modal/index.jsx +11 -6
- package/src/Overlay/README.md +1 -1
- package/src/Overlay/index.jsx +1 -1
- package/src/Popover/README.md +0 -1
- package/src/Popover/index.jsx +11 -11
- package/src/ProductTour/Checkpoint.jsx +9 -6
- package/src/ProductTour/messages.js +16 -0
- package/src/SearchField/SearchFieldAdvanced.jsx +12 -7
- package/src/SearchField/SearchFieldLabel.jsx +3 -3
- package/src/SearchField/index.jsx +0 -1
- package/src/Tabs/index.jsx +19 -13
- package/src/hooks/tests/useIndexOfLastVisibleChild.test.jsx +3 -3
- package/src/hooks/useIndexOfLastVisibleChild.jsx +36 -38
- package/src/hooks/useIndexOfLastVisibleChild.mdx +3 -3
- package/src/i18n/messages/ar.json +2 -1
- package/src/i18n/messages/ca.json +2 -1
- package/src/i18n/messages/es_419.json +2 -1
- package/src/i18n/messages/es_AR.json +2 -1
- package/src/i18n/messages/es_ES.json +2 -1
- package/src/i18n/messages/fr.json +2 -1
- package/src/i18n/messages/he.json +2 -1
- package/src/i18n/messages/id.json +2 -1
- package/src/i18n/messages/it_IT.json +2 -1
- package/src/i18n/messages/ko_KR.json +2 -1
- package/src/i18n/messages/pl.json +2 -1
- package/src/i18n/messages/pt_BR.json +2 -1
- package/src/i18n/messages/pt_PT.json +2 -1
- package/src/i18n/messages/ru.json +2 -1
- package/src/i18n/messages/th.json +2 -1
- package/src/i18n/messages/tr_TR.json +2 -1
- package/src/i18n/messages/uk.json +2 -1
- package/src/i18n/messages/zh_CN.json +2 -1
|
@@ -1,119 +1,150 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["children", "index", "isChecked", "name", "value"],
|
|
2
3
|
_excluded2 = ["children", "label", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "selectedIndex"];
|
|
3
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
5
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
5
6
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
7
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
8
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
9
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
11
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
12
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
13
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
14
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
15
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
16
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
17
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
6
19
|
/* eslint-disable react/no-multi-comp, max-classes-per-file, max-len */
|
|
7
20
|
import React from 'react';
|
|
8
21
|
import PropTypes from 'prop-types';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
var RadioButton = /*#__PURE__*/function (_React$PureComponent) {
|
|
23
|
+
_inherits(RadioButton, _React$PureComponent);
|
|
24
|
+
var _super = _createSuper(RadioButton);
|
|
25
|
+
function RadioButton(props) {
|
|
26
|
+
var _this;
|
|
27
|
+
_classCallCheck(this, RadioButton);
|
|
28
|
+
_this = _super.call(this, props);
|
|
29
|
+
var onBlur = props.onBlur,
|
|
30
|
+
onClick = props.onClick,
|
|
31
|
+
onFocus = props.onFocus,
|
|
32
|
+
onKeyDown = props.onKeyDown;
|
|
33
|
+
_this.onBlur = onBlur.bind(_assertThisInitialized(_this));
|
|
34
|
+
_this.onClick = onClick.bind(_assertThisInitialized(_this));
|
|
35
|
+
_this.onFocus = onFocus.bind(_assertThisInitialized(_this));
|
|
36
|
+
_this.onKeyDown = onKeyDown.bind(_assertThisInitialized(_this));
|
|
37
|
+
return _this;
|
|
22
38
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
_createClass(RadioButton, [{
|
|
40
|
+
key: "render",
|
|
41
|
+
value: function render() {
|
|
42
|
+
var _this$props = this.props,
|
|
43
|
+
children = _this$props.children,
|
|
44
|
+
index = _this$props.index,
|
|
45
|
+
isChecked = _this$props.isChecked,
|
|
46
|
+
name = _this$props.name,
|
|
47
|
+
value = _this$props.value,
|
|
48
|
+
other = _objectWithoutProperties(_this$props, _excluded);
|
|
49
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", _extends({
|
|
50
|
+
type: "radio",
|
|
51
|
+
name: name,
|
|
52
|
+
"aria-checked": isChecked,
|
|
53
|
+
defaultChecked: isChecked,
|
|
54
|
+
value: value,
|
|
55
|
+
"aria-label": children,
|
|
56
|
+
"data-index": index,
|
|
57
|
+
onBlur: this.onBlur,
|
|
58
|
+
onClick: this.onClick,
|
|
59
|
+
onFocus: this.onFocus,
|
|
60
|
+
onKeyDown: this.onKeyDown
|
|
61
|
+
}, other)), children);
|
|
62
|
+
}
|
|
63
|
+
}]);
|
|
64
|
+
return RadioButton;
|
|
65
|
+
}(React.PureComponent);
|
|
66
|
+
var RadioButtonGroup = /*#__PURE__*/function (_React$Component) {
|
|
67
|
+
_inherits(RadioButtonGroup, _React$Component);
|
|
68
|
+
var _super2 = _createSuper(RadioButtonGroup);
|
|
69
|
+
function RadioButtonGroup(props) {
|
|
70
|
+
var _this2;
|
|
71
|
+
_classCallCheck(this, RadioButtonGroup);
|
|
72
|
+
_this2 = _super2.call(this);
|
|
51
73
|
// Bind the method to the component context
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
_this2.renderChildren = _this2.renderChildren.bind(_assertThisInitialized(_this2));
|
|
75
|
+
_this2.onChange = _this2.onChange.bind(_assertThisInitialized(_this2));
|
|
76
|
+
_this2.state = {
|
|
55
77
|
selectedIndex: props.selectedIndex
|
|
56
78
|
};
|
|
79
|
+
return _this2;
|
|
57
80
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
81
|
+
_createClass(RadioButtonGroup, [{
|
|
82
|
+
key: "onChange",
|
|
83
|
+
value: function onChange(event) {
|
|
84
|
+
if (event.target.checked && event.target.hasAttribute('data-index')) {
|
|
85
|
+
this.setState({
|
|
86
|
+
selectedIndex: parseInt(event.target.getAttribute('data-index'), 10)
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
this.props.onChange(event);
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "renderChildren",
|
|
93
|
+
value: function renderChildren() {
|
|
94
|
+
var _this3 = this;
|
|
95
|
+
var _this$props2 = this.props,
|
|
96
|
+
children = _this$props2.children,
|
|
97
|
+
name = _this$props2.name,
|
|
98
|
+
onBlur = _this$props2.onBlur,
|
|
99
|
+
onClick = _this$props2.onClick,
|
|
100
|
+
onFocus = _this$props2.onFocus,
|
|
101
|
+
onKeyDown = _this$props2.onKeyDown;
|
|
102
|
+
return React.Children.map(children, function (child, index) {
|
|
103
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
104
|
+
name: name,
|
|
105
|
+
value: child.props.value,
|
|
106
|
+
isChecked: index === _this3.state.selectedIndex,
|
|
107
|
+
onBlur: onBlur,
|
|
108
|
+
onClick: onClick,
|
|
109
|
+
onFocus: onFocus,
|
|
110
|
+
onKeyDown: onKeyDown,
|
|
111
|
+
index: index
|
|
112
|
+
});
|
|
62
113
|
});
|
|
63
114
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
{
|
|
89
|
-
children,
|
|
90
|
-
label,
|
|
91
|
-
name,
|
|
92
|
-
onBlur,
|
|
93
|
-
onChange,
|
|
94
|
-
onClick,
|
|
95
|
-
onFocus,
|
|
96
|
-
onKeyDown,
|
|
97
|
-
selectedIndex
|
|
98
|
-
} = _this$props2,
|
|
99
|
-
other = _objectWithoutProperties(_this$props2, _excluded2);
|
|
100
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
101
|
-
role: "radiogroup",
|
|
102
|
-
"aria-label": label,
|
|
103
|
-
onChange: this.onChange,
|
|
104
|
-
tabIndex: -1
|
|
105
|
-
}, other), this.renderChildren());
|
|
106
|
-
}
|
|
107
|
-
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "render",
|
|
117
|
+
value: function render() {
|
|
118
|
+
var _this$props3 = this.props,
|
|
119
|
+
children = _this$props3.children,
|
|
120
|
+
label = _this$props3.label,
|
|
121
|
+
name = _this$props3.name,
|
|
122
|
+
onBlur = _this$props3.onBlur,
|
|
123
|
+
onChange = _this$props3.onChange,
|
|
124
|
+
onClick = _this$props3.onClick,
|
|
125
|
+
onFocus = _this$props3.onFocus,
|
|
126
|
+
onKeyDown = _this$props3.onKeyDown,
|
|
127
|
+
selectedIndex = _this$props3.selectedIndex,
|
|
128
|
+
other = _objectWithoutProperties(_this$props3, _excluded2);
|
|
129
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
130
|
+
role: "radiogroup",
|
|
131
|
+
"aria-label": label,
|
|
132
|
+
onChange: this.onChange,
|
|
133
|
+
tabIndex: -1
|
|
134
|
+
}, other), this.renderChildren());
|
|
135
|
+
}
|
|
136
|
+
}]);
|
|
137
|
+
return RadioButtonGroup;
|
|
138
|
+
}(React.Component);
|
|
108
139
|
RadioButton.defaultProps = {
|
|
109
140
|
children: undefined,
|
|
110
141
|
index: undefined,
|
|
111
142
|
isChecked: false,
|
|
112
143
|
name: undefined,
|
|
113
|
-
onBlur: ()
|
|
114
|
-
onClick: ()
|
|
115
|
-
onFocus: ()
|
|
116
|
-
onKeyDown: ()
|
|
144
|
+
onBlur: function onBlur() {},
|
|
145
|
+
onClick: function onClick() {},
|
|
146
|
+
onFocus: function onFocus() {},
|
|
147
|
+
onKeyDown: function onKeyDown() {}
|
|
117
148
|
};
|
|
118
149
|
RadioButton.propTypes = {
|
|
119
150
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
|
|
@@ -127,11 +158,11 @@ RadioButton.propTypes = {
|
|
|
127
158
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]).isRequired
|
|
128
159
|
};
|
|
129
160
|
RadioButtonGroup.defaultProps = {
|
|
130
|
-
onBlur: ()
|
|
131
|
-
onChange: ()
|
|
132
|
-
onClick: ()
|
|
133
|
-
onFocus: ()
|
|
134
|
-
onKeyDown: ()
|
|
161
|
+
onBlur: function onBlur() {},
|
|
162
|
+
onChange: function onChange() {},
|
|
163
|
+
onClick: function onClick() {},
|
|
164
|
+
onFocus: function onFocus() {},
|
|
165
|
+
onKeyDown: function onKeyDown() {},
|
|
135
166
|
selectedIndex: undefined
|
|
136
167
|
};
|
|
137
168
|
RadioButtonGroup.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","RadioButton","PureComponent","constructor","props","onBlur","onClick","onFocus","onKeyDown","bind","render","_this$props","children","index","isChecked","name","value","other","_objectWithoutProperties","_excluded","createElement","_extends","type","defaultChecked","RadioButtonGroup","Component","renderChildren","onChange","state","selectedIndex","event","target","checked","hasAttribute","setState","parseInt","getAttribute","Children","map","child","cloneElement","_this$props2","label","_excluded2","role","tabIndex","defaultProps","undefined","propTypes","oneOfType","string","number","bool","func","isRequired","arrayOf","element","default"],"sources":["../../src/RadioButtonGroup/index.jsx"],"sourcesContent":["/* eslint-disable react/no-multi-comp, max-classes-per-file, max-len */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nclass RadioButton extends React.PureComponent {\n constructor(props) {\n super(props);\n\n const {\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n } = props;\n\n this.onBlur = onBlur.bind(this);\n this.onClick = onClick.bind(this);\n this.onFocus = onFocus.bind(this);\n this.onKeyDown = onKeyDown.bind(this);\n }\n\n render() {\n const {\n children,\n index,\n isChecked,\n name,\n value,\n ...other\n } = this.props;\n\n return (\n <div>\n <input\n type=\"radio\"\n name={name}\n aria-checked={isChecked}\n defaultChecked={isChecked}\n value={value}\n aria-label={children}\n data-index={index}\n onBlur={this.onBlur}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onKeyDown={this.onKeyDown}\n {...other}\n />{children}\n </div>\n );\n }\n}\n\nclass RadioButtonGroup extends React.Component {\n constructor(props) {\n super();\n // Bind the method to the component context\n this.renderChildren = this.renderChildren.bind(this);\n this.onChange = this.onChange.bind(this);\n\n this.state = {\n selectedIndex: props.selectedIndex,\n };\n }\n\n onChange(event) {\n if (event.target.checked && event.target.hasAttribute('data-index')) {\n this.setState({\n selectedIndex: parseInt(event.target.getAttribute('data-index'), 10),\n });\n }\n\n this.props.onChange(event);\n }\n\n renderChildren() {\n const {\n children,\n name,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n } = this.props;\n\n return React.Children.map((children), (child, index) => React.cloneElement(child, {\n name,\n value: child.props.value,\n isChecked: index === this.state.selectedIndex,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n index,\n }));\n }\n\n render() {\n const {\n children,\n label,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n selectedIndex,\n ...other\n } = this.props;\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={label}\n onChange={this.onChange}\n tabIndex={-1}\n {...other}\n >\n {this.renderChildren()}\n </div>\n );\n }\n}\n\nRadioButton.defaultProps = {\n children: undefined,\n index: undefined,\n isChecked: false,\n name: undefined,\n onBlur: () => {},\n onClick: () => {},\n onFocus: () => {},\n onKeyDown: () => {},\n};\n\nRadioButton.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n index: PropTypes.number,\n isChecked: PropTypes.bool,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyDown: PropTypes.func,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n};\n\nRadioButtonGroup.defaultProps = {\n onBlur: () => {},\n onChange: () => {},\n onClick: () => {},\n onFocus: () => {},\n onKeyDown: () => {},\n selectedIndex: undefined,\n};\n\nRadioButtonGroup.propTypes = {\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n /** specifies the `aria-label` value for the `RadioButtonGroup` */\n label: PropTypes.string.isRequired,\n /** specifies the `name` value for the `RadioButtonGroup` so that no more than one `RadioButton` can be selected at any given time */\n name: PropTypes.string.isRequired,\n /** specifies the callback for the `onBlur` event for each `RadioButton` within the group. The default value is a no-op function. */\n onBlur: PropTypes.func,\n /** specifies the callback for the onChange event for each RadioButton within the group. The default value is a no-op function. */\n onChange: PropTypes.func,\n /** specifies the callback for the `onClick` event for each `RadioButton` within the group. The default value is a no-op function. */\n onClick: PropTypes.func,\n /** specifies the callback for the `onFocus` event for each `RadioButton` within the group. The default value is a no-op function. */\n onFocus: PropTypes.func,\n /** specifies the callback for the `onKeyDown` event for each `RadioButton` within the group. The default value is a no-op function. */\n onKeyDown: PropTypes.func,\n /** specifies which `RadioButton` is initially selected. The default value is `undefined` which signifies that no `RadioButton` is initially selected. */\n selectedIndex: PropTypes.number,\n};\n\nexport { RadioButtonGroup as default, RadioButton };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","RadioButton","_React$PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","onBlur","onClick","onFocus","onKeyDown","bind","_assertThisInitialized","_createClass","key","value","render","_this$props","children","index","isChecked","name","other","_objectWithoutProperties","_excluded","createElement","_extends","type","defaultChecked","PureComponent","RadioButtonGroup","_React$Component","_super2","_this2","renderChildren","onChange","state","selectedIndex","event","target","checked","hasAttribute","setState","parseInt","getAttribute","_this3","_this$props2","Children","map","child","cloneElement","_this$props3","label","_excluded2","role","tabIndex","Component","defaultProps","undefined","propTypes","oneOfType","string","number","bool","func","isRequired","arrayOf","element","default"],"sources":["../../src/RadioButtonGroup/index.jsx"],"sourcesContent":["/* eslint-disable react/no-multi-comp, max-classes-per-file, max-len */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nclass RadioButton extends React.PureComponent {\n constructor(props) {\n super(props);\n\n const {\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n } = props;\n\n this.onBlur = onBlur.bind(this);\n this.onClick = onClick.bind(this);\n this.onFocus = onFocus.bind(this);\n this.onKeyDown = onKeyDown.bind(this);\n }\n\n render() {\n const {\n children,\n index,\n isChecked,\n name,\n value,\n ...other\n } = this.props;\n\n return (\n <div>\n <input\n type=\"radio\"\n name={name}\n aria-checked={isChecked}\n defaultChecked={isChecked}\n value={value}\n aria-label={children}\n data-index={index}\n onBlur={this.onBlur}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onKeyDown={this.onKeyDown}\n {...other}\n />{children}\n </div>\n );\n }\n}\n\nclass RadioButtonGroup extends React.Component {\n constructor(props) {\n super();\n // Bind the method to the component context\n this.renderChildren = this.renderChildren.bind(this);\n this.onChange = this.onChange.bind(this);\n\n this.state = {\n selectedIndex: props.selectedIndex,\n };\n }\n\n onChange(event) {\n if (event.target.checked && event.target.hasAttribute('data-index')) {\n this.setState({\n selectedIndex: parseInt(event.target.getAttribute('data-index'), 10),\n });\n }\n\n this.props.onChange(event);\n }\n\n renderChildren() {\n const {\n children,\n name,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n } = this.props;\n\n return React.Children.map((children), (child, index) => React.cloneElement(child, {\n name,\n value: child.props.value,\n isChecked: index === this.state.selectedIndex,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n index,\n }));\n }\n\n render() {\n const {\n children,\n label,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n selectedIndex,\n ...other\n } = this.props;\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={label}\n onChange={this.onChange}\n tabIndex={-1}\n {...other}\n >\n {this.renderChildren()}\n </div>\n );\n }\n}\n\nRadioButton.defaultProps = {\n children: undefined,\n index: undefined,\n isChecked: false,\n name: undefined,\n onBlur: () => {},\n onClick: () => {},\n onFocus: () => {},\n onKeyDown: () => {},\n};\n\nRadioButton.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n index: PropTypes.number,\n isChecked: PropTypes.bool,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyDown: PropTypes.func,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]).isRequired,\n};\n\nRadioButtonGroup.defaultProps = {\n onBlur: () => {},\n onChange: () => {},\n onClick: () => {},\n onFocus: () => {},\n onKeyDown: () => {},\n selectedIndex: undefined,\n};\n\nRadioButtonGroup.propTypes = {\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n /** specifies the `aria-label` value for the `RadioButtonGroup` */\n label: PropTypes.string.isRequired,\n /** specifies the `name` value for the `RadioButtonGroup` so that no more than one `RadioButton` can be selected at any given time */\n name: PropTypes.string.isRequired,\n /** specifies the callback for the `onBlur` event for each `RadioButton` within the group. The default value is a no-op function. */\n onBlur: PropTypes.func,\n /** specifies the callback for the onChange event for each RadioButton within the group. The default value is a no-op function. */\n onChange: PropTypes.func,\n /** specifies the callback for the `onClick` event for each `RadioButton` within the group. The default value is a no-op function. */\n onClick: PropTypes.func,\n /** specifies the callback for the `onFocus` event for each `RadioButton` within the group. The default value is a no-op function. */\n onFocus: PropTypes.func,\n /** specifies the callback for the `onKeyDown` event for each `RadioButton` within the group. The default value is a no-op function. */\n onKeyDown: PropTypes.func,\n /** specifies which `RadioButton` is initially selected. The default value is `undefined` which signifies that no `RadioButton` is initially selected. */\n selectedIndex: PropTypes.number,\n};\n\nexport { RadioButtonGroup as default, RadioButton };\n"],"mappings":"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"}
|
package/dist/Scrollable/index.js
CHANGED
|
@@ -1,27 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["children"];
|
|
2
3
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
3
13
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
14
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
15
|
import React, { useState } from 'react';
|
|
6
16
|
import PropTypes from 'prop-types';
|
|
7
17
|
import classNames from 'classnames';
|
|
8
18
|
import useIsVisible from '../hooks/useIsVisible';
|
|
9
|
-
export
|
|
10
|
-
export
|
|
19
|
+
export var CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';
|
|
20
|
+
export var CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';
|
|
11
21
|
function Scrollable(_ref) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref,
|
|
22
|
+
var _classNames;
|
|
23
|
+
var children = _ref.children,
|
|
15
24
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
var _useIsVisible = useIsVisible(),
|
|
26
|
+
_useIsVisible2 = _slicedToArray(_useIsVisible, 2),
|
|
27
|
+
isScrolledToTop = _useIsVisible2[0],
|
|
28
|
+
topSentinelRef = _useIsVisible2[1];
|
|
29
|
+
var _useIsVisible3 = useIsVisible(),
|
|
30
|
+
_useIsVisible4 = _slicedToArray(_useIsVisible3, 2),
|
|
31
|
+
isScrolledToBottom = _useIsVisible4[0],
|
|
32
|
+
bottomSentinelRef = _useIsVisible4[1];
|
|
33
|
+
var _useState = useState(0),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
valueNow = _useState2[0],
|
|
36
|
+
setValueNow = _useState2[1];
|
|
37
|
+
var className = classNames('pgn__scrollable-body', props.className, (_classNames = {}, _defineProperty(_classNames, CLASSNAME_SCROLL_TOP, isScrolledToTop), _defineProperty(_classNames, CLASSNAME_SCROLL_BOTTOM, isScrolledToBottom), _classNames));
|
|
38
|
+
var handleScroll = function handleScroll(e) {
|
|
39
|
+
var maxScrollHeight = e.currentTarget.scrollHeight - e.currentTarget.clientHeight;
|
|
25
40
|
setValueNow(Math.ceil(100 * e.currentTarget.scrollTop / maxScrollHeight));
|
|
26
41
|
};
|
|
27
42
|
return /*#__PURE__*/React.createElement("div", _extends({}, props, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useIsVisible","CLASSNAME_SCROLL_TOP","CLASSNAME_SCROLL_BOTTOM","Scrollable","_ref","children","props","_objectWithoutProperties","_excluded","isScrolledToTop","topSentinelRef","isScrolledToBottom","bottomSentinelRef","valueNow","setValueNow","className","handleScroll","e","maxScrollHeight","currentTarget","scrollHeight","clientHeight","Math","ceil","scrollTop","createElement","_extends","role","tabIndex","onScroll","ref","propTypes","node","isRequired","string","defaultProps","undefined"],"sources":["../../src/Scrollable/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useIsVisible from '../hooks/useIsVisible';\n\nexport const CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';\nexport const CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';\n\nfunction Scrollable({ children, ...props }) {\n const [isScrolledToTop, topSentinelRef] = useIsVisible();\n const [isScrolledToBottom, bottomSentinelRef] = useIsVisible();\n const [valueNow, setValueNow] = useState(0);\n const className = classNames(\n 'pgn__scrollable-body',\n props.className,\n {\n [CLASSNAME_SCROLL_TOP]: isScrolledToTop,\n [CLASSNAME_SCROLL_BOTTOM]: isScrolledToBottom,\n },\n );\n\n const handleScroll = (e) => {\n const maxScrollHeight = e.currentTarget.scrollHeight - e.currentTarget.clientHeight;\n setValueNow(Math.ceil((100 * e.currentTarget.scrollTop) / maxScrollHeight));\n };\n\n return (\n <div\n {...props}\n className={className}\n role=\"scrollbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={valueNow}\n aria-controls=\"scrollbar\"\n tabIndex=\"0\"\n onScroll={handleScroll}\n >\n <div ref={topSentinelRef} />\n <div className=\"pgn__scrollable-body-content\">\n {children}\n </div>\n <div ref={bottomSentinelRef} />\n </div>\n );\n}\n\nScrollable.propTypes = {\n /** Specifies the content of the `Scrollable`. */\n children: PropTypes.node.isRequired,\n /** Additional classnames for this component. */\n className: PropTypes.string,\n};\n\nScrollable.defaultProps = {\n className: undefined,\n};\n\nexport default Scrollable;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useIsVisible","CLASSNAME_SCROLL_TOP","CLASSNAME_SCROLL_BOTTOM","Scrollable","_ref","_classNames","children","props","_objectWithoutProperties","_excluded","_useIsVisible","_useIsVisible2","_slicedToArray","isScrolledToTop","topSentinelRef","_useIsVisible3","_useIsVisible4","isScrolledToBottom","bottomSentinelRef","_useState","_useState2","valueNow","setValueNow","className","_defineProperty","handleScroll","e","maxScrollHeight","currentTarget","scrollHeight","clientHeight","Math","ceil","scrollTop","createElement","_extends","role","tabIndex","onScroll","ref","propTypes","node","isRequired","string","defaultProps","undefined"],"sources":["../../src/Scrollable/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useIsVisible from '../hooks/useIsVisible';\n\nexport const CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';\nexport const CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';\n\nfunction Scrollable({ children, ...props }) {\n const [isScrolledToTop, topSentinelRef] = useIsVisible();\n const [isScrolledToBottom, bottomSentinelRef] = useIsVisible();\n const [valueNow, setValueNow] = useState(0);\n const className = classNames(\n 'pgn__scrollable-body',\n props.className,\n {\n [CLASSNAME_SCROLL_TOP]: isScrolledToTop,\n [CLASSNAME_SCROLL_BOTTOM]: isScrolledToBottom,\n },\n );\n\n const handleScroll = (e) => {\n const maxScrollHeight = e.currentTarget.scrollHeight - e.currentTarget.clientHeight;\n setValueNow(Math.ceil((100 * e.currentTarget.scrollTop) / maxScrollHeight));\n };\n\n return (\n <div\n {...props}\n className={className}\n role=\"scrollbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={valueNow}\n aria-controls=\"scrollbar\"\n tabIndex=\"0\"\n onScroll={handleScroll}\n >\n <div ref={topSentinelRef} />\n <div className=\"pgn__scrollable-body-content\">\n {children}\n </div>\n <div ref={bottomSentinelRef} />\n </div>\n );\n}\n\nScrollable.propTypes = {\n /** Specifies the content of the `Scrollable`. */\n children: PropTypes.node.isRequired,\n /** Additional classnames for this component. */\n className: PropTypes.string,\n};\n\nScrollable.defaultProps = {\n className: undefined,\n};\n\nexport default Scrollable;\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,YAAY,MAAM,uBAAuB;AAEhD,OAAO,IAAMC,oBAAoB,GAAG,iCAAiC;AACrE,OAAO,IAAMC,uBAAuB,GAAG,oCAAoC;AAE3E,SAASC,UAAUA,CAAAC,IAAA,EAAyB;EAAA,IAAAC,WAAA;EAAA,IAAtBC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKC,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACtC,IAAAC,aAAA,GAA0CV,YAAY,CAAC,CAAC;IAAAW,cAAA,GAAAC,cAAA,CAAAF,aAAA;IAAjDG,eAAe,GAAAF,cAAA;IAAEG,cAAc,GAAAH,cAAA;EACtC,IAAAI,cAAA,GAAgDf,YAAY,CAAC,CAAC;IAAAgB,cAAA,GAAAJ,cAAA,CAAAG,cAAA;IAAvDE,kBAAkB,GAAAD,cAAA;IAAEE,iBAAiB,GAAAF,cAAA;EAC5C,IAAAG,SAAA,GAAgCtB,QAAQ,CAAC,CAAC,CAAC;IAAAuB,UAAA,GAAAR,cAAA,CAAAO,SAAA;IAApCE,QAAQ,GAAAD,UAAA;IAAEE,WAAW,GAAAF,UAAA;EAC5B,IAAMG,SAAS,GAAGxB,UAAU,CAC1B,sBAAsB,EACtBQ,KAAK,CAACgB,SAAS,GAAAlB,WAAA,OAAAmB,eAAA,CAAAnB,WAAA,EAEZJ,oBAAoB,EAAGY,eAAe,GAAAW,eAAA,CAAAnB,WAAA,EACtCH,uBAAuB,EAAGe,kBAAkB,GAAAZ,WAAA,CAEjD,CAAC;EAED,IAAMoB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAC,EAAK;IAC1B,IAAMC,eAAe,GAAGD,CAAC,CAACE,aAAa,CAACC,YAAY,GAAGH,CAAC,CAACE,aAAa,CAACE,YAAY;IACnFR,WAAW,CAACS,IAAI,CAACC,IAAI,CAAE,GAAG,GAAGN,CAAC,CAACE,aAAa,CAACK,SAAS,GAAIN,eAAe,CAAC,CAAC;EAC7E,CAAC;EAED,oBACE/B,KAAA,CAAAsC,aAAA,QAAAC,QAAA,KACM5B,KAAK;IACTgB,SAAS,EAAEA,SAAU;IACrBa,IAAI,EAAC,WAAW;IAChB,iBAAe,CAAE;IACjB,iBAAe,GAAI;IACnB,iBAAef,QAAS;IACxB,iBAAc,WAAW;IACzBgB,QAAQ,EAAC,GAAG;IACZC,QAAQ,EAAEb;EAAa,iBAEvB7B,KAAA,CAAAsC,aAAA;IAAKK,GAAG,EAAEzB;EAAe,CAAE,CAAC,eAC5BlB,KAAA,CAAAsC,aAAA;IAAKX,SAAS,EAAC;EAA8B,GAC1CjB,QACE,CAAC,eACNV,KAAA,CAAAsC,aAAA;IAAKK,GAAG,EAAErB;EAAkB,CAAE,CAC3B,CAAC;AAEV;AAEAf,UAAU,CAACqC,SAAS,GAAG;EACrB;EACAlC,QAAQ,EAAER,SAAS,CAAC2C,IAAI,CAACC,UAAU;EACnC;EACAnB,SAAS,EAAEzB,SAAS,CAAC6C;AACvB,CAAC;AAEDxC,UAAU,CAACyC,YAAY,GAAG;EACxBrB,SAAS,EAAEsB;AACb,CAAC;AAED,eAAe1C,UAAU"}
|
|
@@ -1,78 +1,87 @@
|
|
|
1
|
-
|
|
1
|
+
var _excluded = ["children", "className", "screenReaderText", "icons", "onSubmit", "onClear", "onChange", "onBlur", "onFocus", "value", "formAriaLabel", "disabled", "submitButtonLocation"];
|
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
8
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
3
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
|
-
/* eslint-disable max-len */
|
|
6
11
|
import React, { useRef, createContext, useState, useEffect } from 'react';
|
|
7
12
|
import PropTypes from 'prop-types';
|
|
8
13
|
import classNames from 'classnames';
|
|
9
14
|
import { Search, Close } from '../../icons';
|
|
10
15
|
import newId from '../utils/newId';
|
|
11
16
|
import Icon from '../Icon';
|
|
12
|
-
export
|
|
13
|
-
|
|
17
|
+
export var SearchFieldContext = /*#__PURE__*/createContext();
|
|
18
|
+
var BUTTON_LOCATION_VARIANTS = ['internal', 'external'];
|
|
14
19
|
function SearchFieldAdvanced(props) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
submitButtonLocation
|
|
29
|
-
} = props,
|
|
20
|
+
var children = props.children,
|
|
21
|
+
className = props.className,
|
|
22
|
+
screenReaderText = props.screenReaderText,
|
|
23
|
+
icons = props.icons,
|
|
24
|
+
onSubmit = props.onSubmit,
|
|
25
|
+
onClear = props.onClear,
|
|
26
|
+
onChange = props.onChange,
|
|
27
|
+
onBlur = props.onBlur,
|
|
28
|
+
onFocus = props.onFocus,
|
|
29
|
+
initialValue = props.value,
|
|
30
|
+
formAriaLabel = props.formAriaLabel,
|
|
31
|
+
disabled = props.disabled,
|
|
32
|
+
submitButtonLocation = props.submitButtonLocation,
|
|
30
33
|
rest = _objectWithoutProperties(props, _excluded);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
var _useState = useState(false),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
hasFocus = _useState2[0],
|
|
37
|
+
setHasFocus = _useState2[1];
|
|
38
|
+
var _useState3 = useState(initialValue),
|
|
39
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
40
|
+
value = _useState4[0],
|
|
41
|
+
setValue = _useState4[1];
|
|
42
|
+
var isInitialMount = useRef(true);
|
|
43
|
+
var inputId = useRef("".concat(newId('pgn-searchfield-input-')));
|
|
44
|
+
var inputRef = useRef();
|
|
45
|
+
var submitButtonRef = useRef();
|
|
46
|
+
useEffect(function () {
|
|
38
47
|
setValue(initialValue);
|
|
39
48
|
}, [initialValue]);
|
|
40
|
-
useEffect(()
|
|
49
|
+
useEffect(function () {
|
|
41
50
|
if (isInitialMount.current) {
|
|
42
51
|
isInitialMount.current = false;
|
|
43
52
|
} else {
|
|
44
53
|
onChange(value);
|
|
45
54
|
}
|
|
46
55
|
}, [value, onChange]);
|
|
47
|
-
|
|
56
|
+
var handleSubmit = function handleSubmit(event) {
|
|
48
57
|
event.preventDefault();
|
|
49
58
|
onSubmit(value);
|
|
50
59
|
if (submitButtonRef && submitButtonRef.current) {
|
|
51
60
|
submitButtonRef.current.focus();
|
|
52
61
|
}
|
|
53
62
|
};
|
|
54
|
-
|
|
63
|
+
var handleClear = function handleClear() {
|
|
55
64
|
setValue('');
|
|
56
65
|
onClear();
|
|
57
66
|
if (inputRef && inputRef.current) {
|
|
58
67
|
inputRef.current.focus();
|
|
59
68
|
}
|
|
60
69
|
};
|
|
61
|
-
|
|
70
|
+
var handleFocus = function handleFocus(event) {
|
|
62
71
|
setHasFocus(true);
|
|
63
72
|
onFocus(event);
|
|
64
73
|
};
|
|
65
|
-
|
|
74
|
+
var handleBlur = function handleBlur(event) {
|
|
66
75
|
setHasFocus(false);
|
|
67
76
|
onBlur(event);
|
|
68
77
|
};
|
|
69
|
-
|
|
78
|
+
var handleChange = function handleChange(event) {
|
|
70
79
|
setValue(event.target.value);
|
|
71
80
|
};
|
|
72
81
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
73
82
|
className: classNames('pgn__searchfield', 'd-flex', {
|
|
74
83
|
'has-focus': hasFocus,
|
|
75
|
-
disabled,
|
|
84
|
+
disabled: disabled,
|
|
76
85
|
'pgn__searchfield--external': submitButtonLocation === 'external'
|
|
77
86
|
}, className)
|
|
78
87
|
}, rest), /*#__PURE__*/React.createElement("form", {
|
|
@@ -83,14 +92,14 @@ function SearchFieldAdvanced(props) {
|
|
|
83
92
|
"aria-label": formAriaLabel
|
|
84
93
|
}, /*#__PURE__*/React.createElement(SearchFieldContext.Provider, {
|
|
85
94
|
value: {
|
|
86
|
-
inputId,
|
|
87
|
-
screenReaderText,
|
|
88
|
-
icons,
|
|
89
|
-
value,
|
|
90
|
-
disabled,
|
|
91
|
-
handleFocus,
|
|
92
|
-
handleBlur,
|
|
93
|
-
handleChange,
|
|
95
|
+
inputId: inputId,
|
|
96
|
+
screenReaderText: screenReaderText,
|
|
97
|
+
icons: icons,
|
|
98
|
+
value: value,
|
|
99
|
+
disabled: disabled,
|
|
100
|
+
handleFocus: handleFocus,
|
|
101
|
+
handleBlur: handleBlur,
|
|
102
|
+
handleChange: handleChange,
|
|
94
103
|
refs: {
|
|
95
104
|
input: inputRef,
|
|
96
105
|
submitButton: submitButtonRef
|
|
@@ -108,27 +117,32 @@ SearchFieldAdvanced.propTypes = {
|
|
|
108
117
|
onSubmit: PropTypes.func.isRequired,
|
|
109
118
|
/** specifies a custom class name. */
|
|
110
119
|
className: PropTypes.string,
|
|
111
|
-
/** specifies a callback function for when the user loses focus in the `SearchField` component.
|
|
120
|
+
/** specifies a callback function for when the user loses focus in the `SearchField` component.
|
|
121
|
+
* The default is an empty function. For example:
|
|
112
122
|
```jsx
|
|
113
123
|
<SearchField onBlur={event => console.log(event)} />
|
|
114
124
|
``` */
|
|
115
125
|
onBlur: PropTypes.func,
|
|
116
|
-
/** specifies a callback function for when the value in `SearchField` is changed by the user.
|
|
126
|
+
/** specifies a callback function for when the value in `SearchField` is changed by the user.
|
|
127
|
+
* The default is an empty function. For example:
|
|
117
128
|
```jsx
|
|
118
129
|
<SearchField onChange={value => console.log(value)} />
|
|
119
130
|
``` */
|
|
120
131
|
onChange: PropTypes.func,
|
|
121
|
-
/** specifies a callback function for when the value in `SearchField` is cleared by the user.
|
|
132
|
+
/** specifies a callback function for when the value in `SearchField` is cleared by the user.
|
|
133
|
+
* The default is an empty function. For example:
|
|
122
134
|
```jsx
|
|
123
135
|
<SearchField onClear={() => console.log('search cleared')} />
|
|
124
136
|
``` */
|
|
125
137
|
onClear: PropTypes.func,
|
|
126
|
-
/** specifies a callback function for when the user focuses in the `SearchField` component.
|
|
138
|
+
/** specifies a callback function for when the user focuses in the `SearchField` component.
|
|
139
|
+
* The default is an empty function. For example:
|
|
127
140
|
```jsx
|
|
128
141
|
<SearchField onFocus={event => console.log(event)} />
|
|
129
142
|
``` */
|
|
130
143
|
onFocus: PropTypes.func,
|
|
131
|
-
/** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations).
|
|
144
|
+
/** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations).
|
|
145
|
+
* The default is `{ label: 'search', clearButton: 'clear search', searchButton: 'submit search' }`. */
|
|
132
146
|
screenReaderText: PropTypes.shape({
|
|
133
147
|
label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
|
|
134
148
|
submitButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
|
|
@@ -141,7 +155,8 @@ SearchFieldAdvanced.propTypes = {
|
|
|
141
155
|
submit: PropTypes.element.isRequired,
|
|
142
156
|
clear: PropTypes.element
|
|
143
157
|
}),
|
|
144
|
-
/** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component
|
|
158
|
+
/** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component
|
|
159
|
+
* more than once on a page. */
|
|
145
160
|
formAriaLabel: PropTypes.string,
|
|
146
161
|
/** Specifies whether the `SearchField` is disabled. */
|
|
147
162
|
disabled: PropTypes.bool,
|
|
@@ -165,10 +180,10 @@ SearchFieldAdvanced.defaultProps = {
|
|
|
165
180
|
src: Search
|
|
166
181
|
})
|
|
167
182
|
},
|
|
168
|
-
onBlur: ()
|
|
169
|
-
onChange: ()
|
|
170
|
-
onFocus: ()
|
|
171
|
-
onClear: ()
|
|
183
|
+
onBlur: function onBlur() {},
|
|
184
|
+
onChange: function onChange() {},
|
|
185
|
+
onFocus: function onFocus() {},
|
|
186
|
+
onClear: function onClear() {},
|
|
172
187
|
disabled: false,
|
|
173
188
|
submitButtonLocation: 'internal'
|
|
174
189
|
};
|