@openedx/paragon 21.12.1 → 21.12.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/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 +8 -9
- 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/_variables.scss +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 +16 -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 +25 -25
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Hyperlink/index.scss +2 -2
- package/dist/Icon/index.js +21 -20
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.js +30 -32
- 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 +22 -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 +215 -187
- 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/Pagination/index.scss +1 -0
- package/dist/Popover/index.js +11 -14
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.js +29 -22
- 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/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 +54 -44
- 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 +5 -8
- 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 -22
- 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 +65 -49
- 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 +40 -26
- 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/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/DataTable/_variables.scss +1 -1
- package/src/Dropzone/index.jsx +1 -1
- package/src/Hyperlink/index.scss +2 -2
- package/src/Icon/index.jsx +1 -1
- package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +12 -10
- package/src/IconButton/index.jsx +1 -1
- package/src/Menu/MenuItem.jsx +2 -2
- package/src/Overlay/README.md +1 -1
- package/src/Overlay/index.jsx +1 -1
- package/src/Pagination/index.scss +1 -0
|
@@ -1,11 +1,18 @@
|
|
|
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", "arrowKeyNavigationSelector", "ignoredArrowKeysNames", "screenReaderText", "value", "isLoading", "errorMessageText", "onChange", "onSelected", "helpMessage"],
|
|
2
3
|
_excluded2 = ["children", "onClick"];
|
|
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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
7
|
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; }
|
|
7
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return
|
|
8
|
-
function _toPrimitive(input, hint) { if (
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
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); }
|
|
10
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
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."); }
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
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; } }
|
|
15
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
16
|
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; }
|
|
10
17
|
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; }
|
|
11
18
|
import React, { useEffect, useState, useRef } from 'react';
|
|
@@ -22,77 +29,93 @@ import Spinner from '../Spinner';
|
|
|
22
29
|
import useArrowKeyNavigation from '../hooks/useArrowKeyNavigation';
|
|
23
30
|
import messages from './messages';
|
|
24
31
|
function FormAutosuggest(_ref) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
helpMessage
|
|
36
|
-
} = _ref,
|
|
32
|
+
var children = _ref.children,
|
|
33
|
+
arrowKeyNavigationSelector = _ref.arrowKeyNavigationSelector,
|
|
34
|
+
ignoredArrowKeysNames = _ref.ignoredArrowKeysNames,
|
|
35
|
+
screenReaderText = _ref.screenReaderText,
|
|
36
|
+
value = _ref.value,
|
|
37
|
+
isLoading = _ref.isLoading,
|
|
38
|
+
errorMessageText = _ref.errorMessageText,
|
|
39
|
+
onChange = _ref.onChange,
|
|
40
|
+
onSelected = _ref.onSelected,
|
|
41
|
+
helpMessage = _ref.helpMessage,
|
|
37
42
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
var intl = useIntl();
|
|
44
|
+
var formControlRef = useRef();
|
|
45
|
+
var parentRef = useArrowKeyNavigation({
|
|
41
46
|
selectors: arrowKeyNavigationSelector,
|
|
42
47
|
ignoredKeys: ignoredArrowKeysNames
|
|
43
48
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
var _useState = useState(true),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
isMenuClosed = _useState2[0],
|
|
52
|
+
setIsMenuClosed = _useState2[1];
|
|
53
|
+
var _useState3 = useState(false),
|
|
54
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
55
|
+
isActive = _useState4[0],
|
|
56
|
+
setIsActive = _useState4[1];
|
|
57
|
+
var _useState5 = useState({
|
|
58
|
+
displayValue: value || '',
|
|
59
|
+
errorMessage: '',
|
|
60
|
+
dropDownItems: []
|
|
61
|
+
}),
|
|
62
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
63
|
+
state = _useState6[0],
|
|
64
|
+
setState = _useState6[1];
|
|
65
|
+
var _useState7 = useState(null),
|
|
66
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
67
|
+
activeMenuItemId = _useState8[0],
|
|
68
|
+
setActiveMenuItemId = _useState8[1];
|
|
69
|
+
var handleMenuItemFocus = function handleMenuItemFocus(menuItemId) {
|
|
53
70
|
setActiveMenuItemId(menuItemId);
|
|
54
71
|
};
|
|
55
|
-
|
|
56
|
-
|
|
72
|
+
var handleItemClick = function handleItemClick(e, onClick) {
|
|
73
|
+
var clickedValue = e.currentTarget.getAttribute('data-value');
|
|
57
74
|
if (onSelected && clickedValue !== value) {
|
|
58
75
|
onSelected(clickedValue);
|
|
59
76
|
}
|
|
60
|
-
setState(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
77
|
+
setState(function (prevState) {
|
|
78
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
79
|
+
dropDownItems: [],
|
|
80
|
+
displayValue: clickedValue
|
|
81
|
+
});
|
|
82
|
+
});
|
|
64
83
|
setIsMenuClosed(true);
|
|
65
84
|
if (onClick) {
|
|
66
85
|
onClick(e);
|
|
67
86
|
}
|
|
68
87
|
};
|
|
69
88
|
function getItems() {
|
|
70
|
-
|
|
71
|
-
|
|
89
|
+
var strToFind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
90
|
+
var childrenOpt = React.Children.map(children, function (child) {
|
|
72
91
|
// eslint-disable-next-line no-shadow
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
onClick
|
|
77
|
-
} = _child$props,
|
|
92
|
+
var _child$props = child.props,
|
|
93
|
+
children = _child$props.children,
|
|
94
|
+
_onClick = _child$props.onClick,
|
|
78
95
|
rest = _objectWithoutProperties(_child$props, _excluded2);
|
|
79
|
-
|
|
96
|
+
var menuItemId = uuidv4();
|
|
80
97
|
return /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, rest), {}, {
|
|
81
|
-
children,
|
|
98
|
+
children: children,
|
|
82
99
|
'data-value': children,
|
|
83
|
-
onClick:
|
|
100
|
+
onClick: function onClick(e) {
|
|
101
|
+
return handleItemClick(e, _onClick);
|
|
102
|
+
},
|
|
84
103
|
id: menuItemId,
|
|
85
|
-
onFocus: ()
|
|
104
|
+
onFocus: function onFocus() {
|
|
105
|
+
return handleMenuItemFocus(menuItemId);
|
|
106
|
+
}
|
|
86
107
|
}));
|
|
87
108
|
});
|
|
88
109
|
if (strToFind.length > 0) {
|
|
89
|
-
childrenOpt = childrenOpt.filter(
|
|
110
|
+
childrenOpt = childrenOpt.filter(function (opt) {
|
|
111
|
+
return opt.props.children.toLowerCase().includes(strToFind.toLowerCase());
|
|
112
|
+
});
|
|
90
113
|
}
|
|
91
114
|
return childrenOpt;
|
|
92
115
|
}
|
|
93
|
-
|
|
116
|
+
var handleExpand = function handleExpand() {
|
|
94
117
|
setIsMenuClosed(!isMenuClosed);
|
|
95
|
-
|
|
118
|
+
var newState = {
|
|
96
119
|
dropDownItems: []
|
|
97
120
|
};
|
|
98
121
|
if (isMenuClosed) {
|
|
@@ -100,9 +123,11 @@ function FormAutosuggest(_ref) {
|
|
|
100
123
|
newState.dropDownItems = getItems(state.displayValue);
|
|
101
124
|
newState.errorMessage = '';
|
|
102
125
|
}
|
|
103
|
-
setState(
|
|
126
|
+
setState(function (prevState) {
|
|
127
|
+
return _objectSpread(_objectSpread({}, prevState), newState);
|
|
128
|
+
});
|
|
104
129
|
};
|
|
105
|
-
|
|
130
|
+
var iconToggle = /*#__PURE__*/React.createElement(IconButton, {
|
|
106
131
|
className: "pgn__form-autosuggest__icon-button",
|
|
107
132
|
"data-testid": "autosuggest-iconbutton",
|
|
108
133
|
tabindex: "-1",
|
|
@@ -111,97 +136,114 @@ function FormAutosuggest(_ref) {
|
|
|
111
136
|
size: "sm",
|
|
112
137
|
variant: "secondary",
|
|
113
138
|
alt: isMenuClosed ? intl.formatMessage(messages.iconButtonOpened) : intl.formatMessage(messages.iconButtonClosed),
|
|
114
|
-
onClick:
|
|
139
|
+
onClick: function onClick(e) {
|
|
140
|
+
return handleExpand(e, isMenuClosed);
|
|
141
|
+
}
|
|
115
142
|
});
|
|
116
|
-
|
|
143
|
+
var leaveControl = function leaveControl() {
|
|
117
144
|
setIsActive(false);
|
|
118
|
-
setState(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
145
|
+
setState(function (prevState) {
|
|
146
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
147
|
+
dropDownItems: [],
|
|
148
|
+
errorMessage: !state.displayValue ? errorMessageText : ''
|
|
149
|
+
});
|
|
150
|
+
});
|
|
122
151
|
setIsMenuClosed(true);
|
|
123
152
|
};
|
|
124
|
-
|
|
153
|
+
var handleDocumentClick = function handleDocumentClick(e) {
|
|
125
154
|
if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {
|
|
126
155
|
leaveControl();
|
|
127
156
|
}
|
|
128
157
|
};
|
|
129
|
-
|
|
158
|
+
var keyDownHandler = function keyDownHandler(e) {
|
|
130
159
|
if (e.key === 'Escape' && isActive) {
|
|
131
160
|
e.preventDefault();
|
|
132
161
|
if (formControlRef) {
|
|
133
162
|
formControlRef.current.focus();
|
|
134
163
|
}
|
|
135
|
-
setState(
|
|
136
|
-
|
|
137
|
-
|
|
164
|
+
setState(function (prevState) {
|
|
165
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
166
|
+
dropDownItems: []
|
|
167
|
+
});
|
|
168
|
+
});
|
|
138
169
|
setIsMenuClosed(true);
|
|
139
170
|
}
|
|
140
171
|
if (e.key === 'Tab' && isActive) {
|
|
141
172
|
leaveControl();
|
|
142
173
|
}
|
|
143
174
|
};
|
|
144
|
-
useEffect(()
|
|
175
|
+
useEffect(function () {
|
|
145
176
|
document.addEventListener('keydown', keyDownHandler);
|
|
146
177
|
document.addEventListener('click', handleDocumentClick, true);
|
|
147
|
-
return ()
|
|
178
|
+
return function () {
|
|
148
179
|
document.removeEventListener('click', handleDocumentClick, true);
|
|
149
180
|
document.removeEventListener('keydown', keyDownHandler);
|
|
150
181
|
};
|
|
151
182
|
});
|
|
152
|
-
useEffect(()
|
|
183
|
+
useEffect(function () {
|
|
153
184
|
if (value || value === '') {
|
|
154
|
-
setState(
|
|
155
|
-
|
|
156
|
-
|
|
185
|
+
setState(function (prevState) {
|
|
186
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
187
|
+
displayValue: value
|
|
188
|
+
});
|
|
189
|
+
});
|
|
157
190
|
}
|
|
158
191
|
}, [value]);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
children.forEach(opt
|
|
192
|
+
var setDisplayValue = function setDisplayValue(itemValue) {
|
|
193
|
+
var optValue = [];
|
|
194
|
+
children.forEach(function (opt) {
|
|
162
195
|
optValue.push(opt.props.children);
|
|
163
196
|
});
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
197
|
+
var normalized = itemValue.toLowerCase();
|
|
198
|
+
var opt = optValue.find(function (o) {
|
|
199
|
+
return o.toLowerCase() === normalized;
|
|
200
|
+
});
|
|
201
|
+
setState(function (prevState) {
|
|
202
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
203
|
+
displayValue: opt || itemValue
|
|
204
|
+
});
|
|
205
|
+
});
|
|
169
206
|
};
|
|
170
|
-
|
|
207
|
+
var handleClick = function handleClick(e) {
|
|
171
208
|
setIsActive(true);
|
|
172
|
-
|
|
209
|
+
var dropDownItems = getItems(e.target.value);
|
|
173
210
|
if (dropDownItems.length > 1) {
|
|
174
|
-
setState(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
211
|
+
setState(function (prevState) {
|
|
212
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
213
|
+
dropDownItems: dropDownItems,
|
|
214
|
+
errorMessage: ''
|
|
215
|
+
});
|
|
216
|
+
});
|
|
178
217
|
setIsMenuClosed(false);
|
|
179
218
|
}
|
|
180
219
|
};
|
|
181
|
-
|
|
182
|
-
|
|
220
|
+
var handleOnChange = function handleOnChange(e) {
|
|
221
|
+
var findStr = e.target.value;
|
|
183
222
|
if (onChange) {
|
|
184
223
|
onChange(findStr);
|
|
185
224
|
}
|
|
186
225
|
if (findStr.length) {
|
|
187
|
-
|
|
188
|
-
setState(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
226
|
+
var filteredItems = getItems(findStr);
|
|
227
|
+
setState(function (prevState) {
|
|
228
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
229
|
+
dropDownItems: filteredItems,
|
|
230
|
+
errorMessage: ''
|
|
231
|
+
});
|
|
232
|
+
});
|
|
192
233
|
setIsMenuClosed(false);
|
|
193
234
|
} else {
|
|
194
|
-
setState(
|
|
195
|
-
|
|
196
|
-
|
|
235
|
+
setState(function (prevState) {
|
|
236
|
+
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
237
|
+
dropDownItems: []
|
|
238
|
+
});
|
|
239
|
+
});
|
|
197
240
|
setIsMenuClosed(true);
|
|
198
241
|
}
|
|
199
242
|
setDisplayValue(e.target.value);
|
|
200
243
|
};
|
|
201
|
-
|
|
202
|
-
getControlProps
|
|
203
|
-
|
|
204
|
-
const controlProps = getControlProps(props);
|
|
244
|
+
var _useFormGroupContext = useFormGroupContext(),
|
|
245
|
+
getControlProps = _useFormGroupContext.getControlProps;
|
|
246
|
+
var controlProps = getControlProps(props);
|
|
205
247
|
return /*#__PURE__*/React.createElement("div", {
|
|
206
248
|
className: "pgn__form-autosuggest__wrapper",
|
|
207
249
|
ref: parentRef
|
|
@@ -209,7 +251,7 @@ function FormAutosuggest(_ref) {
|
|
|
209
251
|
"aria-live": "assertive",
|
|
210
252
|
className: "sr-only",
|
|
211
253
|
"data-testid": "autosuggest-screen-reader-options-count"
|
|
212
|
-
},
|
|
254
|
+
}, "".concat(state.dropDownItems.length, " options found")), /*#__PURE__*/React.createElement(FormGroupContextProvider, {
|
|
213
255
|
controlId: controlProps.id,
|
|
214
256
|
isInvalid: !!state.errorMessage
|
|
215
257
|
}, /*#__PURE__*/React.createElement(FormControl, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","PropTypes","v4","uuidv4","useIntl","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","_ref","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","errorMessageText","onChange","onSelected","helpMessage","props","_objectWithoutProperties","_excluded","intl","formControlRef","parentRef","selectors","ignoredKeys","isMenuClosed","setIsMenuClosed","isActive","setIsActive","state","setState","displayValue","errorMessage","dropDownItems","activeMenuItemId","setActiveMenuItemId","handleMenuItemFocus","menuItemId","handleItemClick","e","onClick","clickedValue","currentTarget","getAttribute","prevState","_objectSpread","getItems","strToFind","arguments","length","undefined","childrenOpt","Children","map","child","_child$props","rest","_excluded2","cloneElement","id","onFocus","filter","opt","toLowerCase","includes","handleExpand","newState","iconToggle","createElement","className","tabindex","src","iconAs","size","variant","alt","formatMessage","iconButtonOpened","iconButtonClosed","leaveControl","handleDocumentClick","current","contains","target","keyDownHandler","key","preventDefault","focus","document","addEventListener","removeEventListener","setDisplayValue","itemValue","optValue","forEach","push","normalized","find","o","handleClick","handleOnChange","findStr","filteredItems","getControlProps","controlProps","ref","controlId","isInvalid","_extends","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigation';\nimport messages from './messages';\n\nfunction FormAutosuggest({\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n errorMessageText,\n onChange,\n onSelected,\n helpMessage,\n ...props\n}) {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isMenuClosed, setIsMenuClosed] = useState(true);\n const [isActive, setIsActive] = useState(false);\n const [state, setState] = useState({\n displayValue: value || '',\n errorMessage: '',\n dropDownItems: [],\n });\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const handleItemClick = (e, onClick) => {\n const clickedValue = e.currentTarget.getAttribute('data-value');\n\n if (onSelected && clickedValue !== value) {\n onSelected(clickedValue);\n }\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n displayValue: clickedValue,\n }));\n\n setIsMenuClosed(true);\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n // eslint-disable-next-line no-shadow\n const { children, onClick, ...rest } = child.props;\n const menuItemId = uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n children,\n 'data-value': children,\n onClick: (e) => handleItemClick(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const handleExpand = () => {\n setIsMenuClosed(!isMenuClosed);\n\n const newState = {\n dropDownItems: [],\n };\n\n if (isMenuClosed) {\n setIsActive(true);\n newState.dropDownItems = getItems(state.displayValue);\n newState.errorMessage = '';\n }\n\n setState(prevState => ({\n ...prevState,\n ...newState,\n }));\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabindex=\"-1\"\n src={isMenuClosed ? KeyboardArrowDown : KeyboardArrowUp}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isMenuClosed\n ? intl.formatMessage(messages.iconButtonOpened)\n : intl.formatMessage(messages.iconButtonClosed)}\n onClick={(e) => handleExpand(e, isMenuClosed)}\n />\n );\n\n const leaveControl = () => {\n setIsActive(false);\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n errorMessage: !state.displayValue ? errorMessageText : '',\n }));\n\n setIsMenuClosed(true);\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n const keyDownHandler = e => {\n if (e.key === 'Escape' && isActive) {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n }));\n\n setIsMenuClosed(true);\n }\n if (e.key === 'Tab' && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n if (value || value === '') {\n setState(prevState => ({\n ...prevState,\n displayValue: value,\n }));\n }\n }, [value]);\n\n const setDisplayValue = (itemValue) => {\n const optValue = [];\n\n children.forEach(opt => {\n optValue.push(opt.props.children);\n });\n\n const normalized = itemValue.toLowerCase();\n const opt = optValue.find((o) => o.toLowerCase() === normalized);\n\n setState(prevState => ({\n ...prevState,\n displayValue: opt || itemValue,\n }));\n };\n\n const handleClick = (e) => {\n setIsActive(true);\n const dropDownItems = getItems(e.target.value);\n\n if (dropDownItems.length > 1) {\n setState(prevState => ({\n ...prevState,\n dropDownItems,\n errorMessage: '',\n }));\n\n setIsMenuClosed(false);\n }\n };\n\n const handleOnChange = (e) => {\n const findStr = e.target.value;\n\n if (onChange) { onChange(findStr); }\n\n if (findStr.length) {\n const filteredItems = getItems(findStr);\n setState(prevState => ({\n ...prevState,\n dropDownItems: filteredItems,\n errorMessage: '',\n }));\n\n setIsMenuClosed(false);\n } else {\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n }));\n\n setIsMenuClosed(true);\n }\n\n setDisplayValue(e.target.value);\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${state.dropDownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!!state.errorMessage}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(state.dropDownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={state.displayValue}\n aria-invalid={state.errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleOnChange}\n onClick={handleClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && !state.errorMessage && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {state.errorMessage && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessageText}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : state.dropDownItems.length > 0 && state.dropDownItems}\n </ul>\n </div>\n );\n}\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n onSelected: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n errorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\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 ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.string,\n /** Informs user has errors. */\n errorMessageText: PropTypes.string,\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n /** Function that receives the selected value. */\n onSelected: PropTypes.func,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","PropTypes","v4","uuidv4","useIntl","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","_ref","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","errorMessageText","onChange","onSelected","helpMessage","props","_objectWithoutProperties","_excluded","intl","formControlRef","parentRef","selectors","ignoredKeys","_useState","_useState2","_slicedToArray","isMenuClosed","setIsMenuClosed","_useState3","_useState4","isActive","setIsActive","_useState5","displayValue","errorMessage","dropDownItems","_useState6","state","setState","_useState7","_useState8","activeMenuItemId","setActiveMenuItemId","handleMenuItemFocus","menuItemId","handleItemClick","e","onClick","clickedValue","currentTarget","getAttribute","prevState","_objectSpread","getItems","strToFind","arguments","length","undefined","childrenOpt","Children","map","child","_child$props","rest","_excluded2","cloneElement","id","onFocus","filter","opt","toLowerCase","includes","handleExpand","newState","iconToggle","createElement","className","tabindex","src","iconAs","size","variant","alt","formatMessage","iconButtonOpened","iconButtonClosed","leaveControl","handleDocumentClick","current","contains","target","keyDownHandler","key","preventDefault","focus","document","addEventListener","removeEventListener","setDisplayValue","itemValue","optValue","forEach","push","normalized","find","o","handleClick","handleOnChange","findStr","filteredItems","_useFormGroupContext","getControlProps","controlProps","ref","concat","controlId","isInvalid","_extends","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigation';\nimport messages from './messages';\n\nfunction FormAutosuggest({\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n errorMessageText,\n onChange,\n onSelected,\n helpMessage,\n ...props\n}) {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isMenuClosed, setIsMenuClosed] = useState(true);\n const [isActive, setIsActive] = useState(false);\n const [state, setState] = useState({\n displayValue: value || '',\n errorMessage: '',\n dropDownItems: [],\n });\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const handleItemClick = (e, onClick) => {\n const clickedValue = e.currentTarget.getAttribute('data-value');\n\n if (onSelected && clickedValue !== value) {\n onSelected(clickedValue);\n }\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n displayValue: clickedValue,\n }));\n\n setIsMenuClosed(true);\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n // eslint-disable-next-line no-shadow\n const { children, onClick, ...rest } = child.props;\n const menuItemId = uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n children,\n 'data-value': children,\n onClick: (e) => handleItemClick(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const handleExpand = () => {\n setIsMenuClosed(!isMenuClosed);\n\n const newState = {\n dropDownItems: [],\n };\n\n if (isMenuClosed) {\n setIsActive(true);\n newState.dropDownItems = getItems(state.displayValue);\n newState.errorMessage = '';\n }\n\n setState(prevState => ({\n ...prevState,\n ...newState,\n }));\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabindex=\"-1\"\n src={isMenuClosed ? KeyboardArrowDown : KeyboardArrowUp}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isMenuClosed\n ? intl.formatMessage(messages.iconButtonOpened)\n : intl.formatMessage(messages.iconButtonClosed)}\n onClick={(e) => handleExpand(e, isMenuClosed)}\n />\n );\n\n const leaveControl = () => {\n setIsActive(false);\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n errorMessage: !state.displayValue ? errorMessageText : '',\n }));\n\n setIsMenuClosed(true);\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n const keyDownHandler = e => {\n if (e.key === 'Escape' && isActive) {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n }));\n\n setIsMenuClosed(true);\n }\n if (e.key === 'Tab' && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n if (value || value === '') {\n setState(prevState => ({\n ...prevState,\n displayValue: value,\n }));\n }\n }, [value]);\n\n const setDisplayValue = (itemValue) => {\n const optValue = [];\n\n children.forEach(opt => {\n optValue.push(opt.props.children);\n });\n\n const normalized = itemValue.toLowerCase();\n const opt = optValue.find((o) => o.toLowerCase() === normalized);\n\n setState(prevState => ({\n ...prevState,\n displayValue: opt || itemValue,\n }));\n };\n\n const handleClick = (e) => {\n setIsActive(true);\n const dropDownItems = getItems(e.target.value);\n\n if (dropDownItems.length > 1) {\n setState(prevState => ({\n ...prevState,\n dropDownItems,\n errorMessage: '',\n }));\n\n setIsMenuClosed(false);\n }\n };\n\n const handleOnChange = (e) => {\n const findStr = e.target.value;\n\n if (onChange) { onChange(findStr); }\n\n if (findStr.length) {\n const filteredItems = getItems(findStr);\n setState(prevState => ({\n ...prevState,\n dropDownItems: filteredItems,\n errorMessage: '',\n }));\n\n setIsMenuClosed(false);\n } else {\n setState(prevState => ({\n ...prevState,\n dropDownItems: [],\n }));\n\n setIsMenuClosed(true);\n }\n\n setDisplayValue(e.target.value);\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${state.dropDownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!!state.errorMessage}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(state.dropDownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={state.displayValue}\n aria-invalid={state.errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleOnChange}\n onClick={handleClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && !state.errorMessage && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {state.errorMessage && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessageText}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : state.dropDownItems.length > 0 && state.dropDownItems}\n </ul>\n </div>\n );\n}\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n onSelected: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n errorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\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 ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.string,\n /** Informs user has errors. */\n errorMessageText: PropTypes.string,\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n /** Function that receives the selected value. */\n onSelected: PropTypes.func,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var _excluded = ["children", "className", "onClick"];
|
|
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
3
|
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
4
|
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,11 +7,9 @@ import PropTypes from 'prop-types';
|
|
|
7
7
|
import classNames from 'classnames';
|
|
8
8
|
import MenuItem from '../Menu/MenuItem';
|
|
9
9
|
function FormAutosuggestOption(_ref) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
onClick
|
|
14
|
-
} = _ref,
|
|
10
|
+
var children = _ref.children,
|
|
11
|
+
className = _ref.className,
|
|
12
|
+
onClick = _ref.onClick,
|
|
15
13
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
16
14
|
return /*#__PURE__*/React.createElement(MenuItem, _extends({
|
|
17
15
|
as: "li",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAutosuggestOption.js","names":["React","PropTypes","classNames","MenuItem","FormAutosuggestOption","_ref","children","className","onClick","props","_objectWithoutProperties","_excluded","createElement","_extends","as","role","tabIndex","defaultProps","propTypes","string","func"],"sources":["../../src/Form/FormAutosuggestOption.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport MenuItem from '../Menu/MenuItem';\n\nfunction FormAutosuggestOption({\n children,\n className,\n onClick,\n ...props\n}) {\n return (\n <MenuItem\n as=\"li\"\n data-testid=\"autosuggest-optionitem\"\n role=\"option\"\n tabIndex=\"-1\"\n onClick={onClick}\n className={classNames(className, 'dropdown-item')}\n {...props}\n >\n {children}\n </MenuItem>\n );\n}\n\nFormAutosuggestOption.defaultProps = {\n className: null,\n children: null,\n onClick: null,\n};\n\nFormAutosuggestOption.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies the text-content of the `FormAutosuggestOption`. */\n children: PropTypes.string,\n /** A click handler for the `FormAutosuggestOption` */\n onClick: PropTypes.func,\n};\n\nexport default FormAutosuggestOption;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,kBAAkB;AAEvC,SAASC,qBAAqBA,CAAAC,IAAA,EAK3B;EAAA,
|
|
1
|
+
{"version":3,"file":"FormAutosuggestOption.js","names":["React","PropTypes","classNames","MenuItem","FormAutosuggestOption","_ref","children","className","onClick","props","_objectWithoutProperties","_excluded","createElement","_extends","as","role","tabIndex","defaultProps","propTypes","string","func"],"sources":["../../src/Form/FormAutosuggestOption.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport MenuItem from '../Menu/MenuItem';\n\nfunction FormAutosuggestOption({\n children,\n className,\n onClick,\n ...props\n}) {\n return (\n <MenuItem\n as=\"li\"\n data-testid=\"autosuggest-optionitem\"\n role=\"option\"\n tabIndex=\"-1\"\n onClick={onClick}\n className={classNames(className, 'dropdown-item')}\n {...props}\n >\n {children}\n </MenuItem>\n );\n}\n\nFormAutosuggestOption.defaultProps = {\n className: null,\n children: null,\n onClick: null,\n};\n\nFormAutosuggestOption.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies the text-content of the `FormAutosuggestOption`. */\n children: PropTypes.string,\n /** A click handler for the `FormAutosuggestOption` */\n onClick: PropTypes.func,\n};\n\nexport default FormAutosuggestOption;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,kBAAkB;AAEvC,SAASC,qBAAqBA,CAAAC,IAAA,EAK3B;EAAA,IAJDC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACJC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAER,oBACEX,KAAA,CAAAY,aAAA,CAACT,QAAQ,EAAAU,QAAA;IACPC,EAAE,EAAC,IAAI;IACP,eAAY,wBAAwB;IACpCC,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAC,IAAI;IACbR,OAAO,EAAEA,OAAQ;IACjBD,SAAS,EAAEL,UAAU,CAACK,SAAS,EAAE,eAAe;EAAE,GAC9CE,KAAK,GAERH,QACO,CAAC;AAEf;AAEAF,qBAAqB,CAACa,YAAY,GAAG;EACnCV,SAAS,EAAE,IAAI;EACfD,QAAQ,EAAE,IAAI;EACdE,OAAO,EAAE;AACX,CAAC;AAEDJ,qBAAqB,CAACc,SAAS,GAAG;EAChC;EACAX,SAAS,EAAEN,SAAS,CAACkB,MAAM;EAC3B;EACAb,QAAQ,EAAEL,SAAS,CAACkB,MAAM;EAC1B;EACAX,OAAO,EAAEP,SAAS,CAACmB;AACrB,CAAC;AAED,eAAehB,qBAAqB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
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 = ["isIndeterminate"],
|
|
2
3
|
_excluded2 = ["children", "className", "controlClassName", "labelClassName", "description", "isInvalid", "isValid", "controlAs", "floatLabelLeft"];
|
|
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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
7
|
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; }
|
|
7
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return
|
|
8
|
-
function _toPrimitive(input, hint) { if (
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
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); }
|
|
9
10
|
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; }
|
|
10
11
|
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; }
|
|
11
12
|
import React from 'react';
|
|
@@ -15,27 +16,23 @@ import { useCheckboxSetContext } from './FormCheckboxSetContext';
|
|
|
15
16
|
import { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';
|
|
16
17
|
import FormLabel from './FormLabel';
|
|
17
18
|
import FormControlFeedback from './FormControlFeedback';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
isIndeterminate
|
|
21
|
-
} = _ref,
|
|
19
|
+
var CheckboxControl = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
20
|
+
var isIndeterminate = _ref.isIndeterminate,
|
|
22
21
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
-
|
|
24
|
-
getCheckboxControlProps,
|
|
25
|
-
hasCheckboxSetProvider
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = useFormGroupContext();
|
|
32
|
-
let checkboxProps = getControlProps(_objectSpread(_objectSpread({}, props), {}, {
|
|
22
|
+
var _useCheckboxSetContex = useCheckboxSetContext(),
|
|
23
|
+
getCheckboxControlProps = _useCheckboxSetContex.getCheckboxControlProps,
|
|
24
|
+
hasCheckboxSetProvider = _useCheckboxSetContex.hasCheckboxSetProvider;
|
|
25
|
+
var defaultRef = React.useRef();
|
|
26
|
+
var resolvedRef = ref || defaultRef;
|
|
27
|
+
var _useFormGroupContext = useFormGroupContext(),
|
|
28
|
+
getControlProps = _useFormGroupContext.getControlProps;
|
|
29
|
+
var checkboxProps = getControlProps(_objectSpread(_objectSpread({}, props), {}, {
|
|
33
30
|
className: classNames('pgn__form-checkbox-input', props.className)
|
|
34
31
|
}));
|
|
35
32
|
if (hasCheckboxSetProvider) {
|
|
36
33
|
checkboxProps = getCheckboxControlProps(checkboxProps);
|
|
37
34
|
}
|
|
38
|
-
React.useEffect(()
|
|
35
|
+
React.useEffect(function () {
|
|
39
36
|
// this if(resolvedRef.current) prevents console errors in testing
|
|
40
37
|
if (resolvedRef.current) {
|
|
41
38
|
resolvedRef.current.indeterminate = isIndeterminate;
|
|
@@ -57,35 +54,31 @@ CheckboxControl.defaultProps = {
|
|
|
57
54
|
isIndeterminate: false,
|
|
58
55
|
className: undefined
|
|
59
56
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
floatLabelLeft
|
|
71
|
-
} = _ref2,
|
|
57
|
+
var FormCheckbox = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
58
|
+
var children = _ref2.children,
|
|
59
|
+
className = _ref2.className,
|
|
60
|
+
controlClassName = _ref2.controlClassName,
|
|
61
|
+
labelClassName = _ref2.labelClassName,
|
|
62
|
+
description = _ref2.description,
|
|
63
|
+
isInvalid = _ref2.isInvalid,
|
|
64
|
+
isValid = _ref2.isValid,
|
|
65
|
+
controlAs = _ref2.controlAs,
|
|
66
|
+
floatLabelLeft = _ref2.floatLabelLeft,
|
|
72
67
|
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
73
|
-
|
|
74
|
-
hasCheckboxSetProvider
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
getControlProps
|
|
80
|
-
} = useFormGroupContext();
|
|
68
|
+
var _useCheckboxSetContex2 = useCheckboxSetContext(),
|
|
69
|
+
hasCheckboxSetProvider = _useCheckboxSetContex2.hasCheckboxSetProvider;
|
|
70
|
+
var _useFormGroupContext2 = useFormGroupContext(),
|
|
71
|
+
hasFormGroupProvider = _useFormGroupContext2.hasFormGroupProvider,
|
|
72
|
+
useSetIsControlGroupEffect = _useFormGroupContext2.useSetIsControlGroupEffect,
|
|
73
|
+
getControlProps = _useFormGroupContext2.getControlProps;
|
|
81
74
|
useSetIsControlGroupEffect(true);
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
var shouldActAsGroup = hasFormGroupProvider && !hasCheckboxSetProvider;
|
|
76
|
+
var groupProps = shouldActAsGroup ? _objectSpread(_objectSpread({}, getControlProps({})), {}, {
|
|
84
77
|
role: 'group'
|
|
85
78
|
}) : {};
|
|
86
|
-
|
|
79
|
+
var control = /*#__PURE__*/React.createElement(controlAs, _objectSpread(_objectSpread({}, props), {}, {
|
|
87
80
|
className: controlClassName,
|
|
88
|
-
ref
|
|
81
|
+
ref: ref
|
|
89
82
|
}));
|
|
90
83
|
return /*#__PURE__*/React.createElement(FormGroupContextProvider, {
|
|
91
84
|
controlId: props.id,
|