@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,27 +1,27 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
totalCheckpoints
|
|
7
|
-
} = _ref;
|
|
3
|
+
var CheckpointBreadcrumbs = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
4
|
+
var currentIndex = _ref.currentIndex,
|
|
5
|
+
totalCheckpoints = _ref.totalCheckpoints;
|
|
8
6
|
if (totalCheckpoints === 1) {
|
|
9
7
|
return null;
|
|
10
8
|
}
|
|
11
9
|
return /*#__PURE__*/React.createElement("span", {
|
|
12
10
|
className: "pgn__checkpoint-breadcrumb-container",
|
|
13
11
|
ref: ref
|
|
14
|
-
}, new Array(totalCheckpoints).fill(0).map((v, i)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
}, new Array(totalCheckpoints).fill(0).map(function (v, i) {
|
|
13
|
+
return i === currentIndex ? /*#__PURE__*/React.createElement("span", {
|
|
14
|
+
/* eslint-disable-next-line react/no-array-index-key */
|
|
15
|
+
key: i,
|
|
16
|
+
className: "pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_active",
|
|
17
|
+
"data-testid": "pgn__checkpoint-breadcrumb_active"
|
|
18
|
+
}) : /*#__PURE__*/React.createElement("span", {
|
|
19
|
+
/* eslint-disable-next-line react/no-array-index-key */
|
|
20
|
+
key: i,
|
|
21
|
+
className: "pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_inactive",
|
|
22
|
+
"data-testid": "pgn__checkpoint-breadcrumb_inactive"
|
|
23
|
+
});
|
|
24
|
+
}));
|
|
25
25
|
});
|
|
26
26
|
CheckpointBreadcrumbs.defaultProps = {
|
|
27
27
|
currentIndex: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckpointBreadcrumbs.js","names":["React","PropTypes","CheckpointBreadcrumbs","forwardRef","_ref","ref","currentIndex","totalCheckpoints","createElement","className","Array","fill","map","v","i","key","defaultProps","propTypes","number"],"sources":["../../src/ProductTour/CheckpointBreadcrumbs.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CheckpointBreadcrumbs = React.forwardRef(({ currentIndex, totalCheckpoints }, ref) => {\n if (totalCheckpoints === 1) {\n return null;\n }\n return (\n <span className=\"pgn__checkpoint-breadcrumb-container\" ref={ref}>\n {new Array(totalCheckpoints).fill(0).map((v, i) => (\n i === currentIndex\n ? (\n <span\n /* eslint-disable-next-line react/no-array-index-key */\n key={i}\n className=\"pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_active\"\n data-testid=\"pgn__checkpoint-breadcrumb_active\"\n />\n )\n : (\n <span\n /* eslint-disable-next-line react/no-array-index-key */\n key={i}\n className=\"pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_inactive\"\n data-testid=\"pgn__checkpoint-breadcrumb_inactive\"\n />\n )\n ))}\n </span>\n );\n});\n\nCheckpointBreadcrumbs.defaultProps = {\n currentIndex: null,\n totalCheckpoints: null,\n};\n\nCheckpointBreadcrumbs.propTypes = {\n /** The current index of the parent Checkpoint within the tour. */\n currentIndex: PropTypes.number,\n /** The total number of Checkpoints within the tour. */\n totalCheckpoints: PropTypes.number,\n};\n\nexport default CheckpointBreadcrumbs;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,
|
|
1
|
+
{"version":3,"file":"CheckpointBreadcrumbs.js","names":["React","PropTypes","CheckpointBreadcrumbs","forwardRef","_ref","ref","currentIndex","totalCheckpoints","createElement","className","Array","fill","map","v","i","key","defaultProps","propTypes","number"],"sources":["../../src/ProductTour/CheckpointBreadcrumbs.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CheckpointBreadcrumbs = React.forwardRef(({ currentIndex, totalCheckpoints }, ref) => {\n if (totalCheckpoints === 1) {\n return null;\n }\n return (\n <span className=\"pgn__checkpoint-breadcrumb-container\" ref={ref}>\n {new Array(totalCheckpoints).fill(0).map((v, i) => (\n i === currentIndex\n ? (\n <span\n /* eslint-disable-next-line react/no-array-index-key */\n key={i}\n className=\"pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_active\"\n data-testid=\"pgn__checkpoint-breadcrumb_active\"\n />\n )\n : (\n <span\n /* eslint-disable-next-line react/no-array-index-key */\n key={i}\n className=\"pgn__checkpoint-breadcrumb pgn__checkpoint-breadcrumb_inactive\"\n data-testid=\"pgn__checkpoint-breadcrumb_inactive\"\n />\n )\n ))}\n </span>\n );\n});\n\nCheckpointBreadcrumbs.defaultProps = {\n currentIndex: null,\n totalCheckpoints: null,\n};\n\nCheckpointBreadcrumbs.propTypes = {\n /** The current index of the parent Checkpoint within the tour. */\n currentIndex: PropTypes.number,\n /** The total number of Checkpoints within the tour. */\n totalCheckpoints: PropTypes.number,\n};\n\nexport default CheckpointBreadcrumbs;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,qBAAqB,gBAAGF,KAAK,CAACG,UAAU,CAAC,UAAAC,IAAA,EAAqCC,GAAG,EAAK;EAAA,IAA1CC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;EAC9E,IAAIA,gBAAgB,KAAK,CAAC,EAAE;IAC1B,OAAO,IAAI;EACb;EACA,oBACEP,KAAA,CAAAQ,aAAA;IAAMC,SAAS,EAAC,sCAAsC;IAACJ,GAAG,EAAEA;EAAI,GAC7D,IAAIK,KAAK,CAACH,gBAAgB,CAAC,CAACI,IAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAC5CA,CAAC,KAAKR,YAAY,gBAEdN,KAAA,CAAAQ,aAAA;MACE;MACAO,GAAG,EAAED,CAAE;MACPL,SAAS,EAAC,8DAA8D;MACxE,eAAY;IAAmC,CAChD,CAAC,gBAGFT,KAAA,CAAAQ,aAAA;MACE;MACAO,GAAG,EAAED,CAAE;MACPL,SAAS,EAAC,gEAAgE;MAC1E,eAAY;IAAqC,CAClD,CACF;EAAA,CACJ,CACG,CAAC;AAEX,CAAC,CAAC;AAEFP,qBAAqB,CAACc,YAAY,GAAG;EACnCV,YAAY,EAAE,IAAI;EAClBC,gBAAgB,EAAE;AACpB,CAAC;AAEDL,qBAAqB,CAACe,SAAS,GAAG;EAChC;EACAX,YAAY,EAAEL,SAAS,CAACiB,MAAM;EAC9B;EACAX,gBAAgB,EAAEN,SAAS,CAACiB;AAC9B,CAAC;AAED,eAAehB,qBAAqB"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
children
|
|
6
|
-
} = _ref;
|
|
3
|
+
var CheckpointTitle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
4
|
+
var children = _ref.children;
|
|
7
5
|
return /*#__PURE__*/React.createElement("h2", {
|
|
8
6
|
id: "pgn__checkpoint-title",
|
|
9
7
|
ref: ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckpointTitle.js","names":["React","PropTypes","CheckpointTitle","forwardRef","_ref","ref","children","createElement","id","defaultProps","propTypes","node"],"sources":["../../src/ProductTour/CheckpointTitle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CheckpointTitle = React.forwardRef(({ children }, ref) => (\n <h2 id=\"pgn__checkpoint-title\" ref={ref}>\n {children}\n </h2>\n));\n\nCheckpointTitle.defaultProps = {\n children: null,\n};\n\nCheckpointTitle.propTypes = {\n children: PropTypes.node,\n};\n\nexport default CheckpointTitle;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,
|
|
1
|
+
{"version":3,"file":"CheckpointTitle.js","names":["React","PropTypes","CheckpointTitle","forwardRef","_ref","ref","children","createElement","id","defaultProps","propTypes","node"],"sources":["../../src/ProductTour/CheckpointTitle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CheckpointTitle = React.forwardRef(({ children }, ref) => (\n <h2 id=\"pgn__checkpoint-title\" ref={ref}>\n {children}\n </h2>\n));\n\nCheckpointTitle.defaultProps = {\n children: null,\n};\n\nCheckpointTitle.propTypes = {\n children: PropTypes.node,\n};\n\nexport default CheckpointTitle;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,eAAe,gBAAGF,KAAK,CAACG,UAAU,CAAC,UAAAC,IAAA,EAAeC,GAAG;EAAA,IAAfC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAAA,oBAClDN,KAAA,CAAAO,aAAA;IAAIC,EAAE,EAAC,uBAAuB;IAACH,GAAG,EAAEA;EAAI,GACrCC,QACC,CAAC;AAAA,CACN,CAAC;AAEFJ,eAAe,CAACO,YAAY,GAAG;EAC7BH,QAAQ,EAAE;AACZ,CAAC;AAEDJ,eAAe,CAACQ,SAAS,GAAG;EAC1BJ,QAAQ,EAAEL,SAAS,CAACU;AACtB,CAAC;AAED,eAAeT,eAAe"}
|
|
@@ -1,61 +1,80 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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); }
|
|
4
|
+
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; }
|
|
5
|
+
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; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
1
7
|
import React, { useEffect, useState } from 'react';
|
|
2
8
|
import PropTypes from 'prop-types';
|
|
3
9
|
import Checkpoint from './Checkpoint';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
enabled,
|
|
11
|
-
checkpoints =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
10
|
+
var ProductTour = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
11
|
+
var tours = _ref.tours;
|
|
12
|
+
var tourValue = tours.find(function (tour) {
|
|
13
|
+
return tour.enabled;
|
|
14
|
+
});
|
|
15
|
+
var _ref2 = tourValue || {},
|
|
16
|
+
enabled = _ref2.enabled,
|
|
17
|
+
_ref2$checkpoints = _ref2.checkpoints,
|
|
18
|
+
checkpoints = _ref2$checkpoints === void 0 ? [] : _ref2$checkpoints,
|
|
19
|
+
startingIndex = _ref2.startingIndex,
|
|
20
|
+
onEscape = _ref2.onEscape,
|
|
21
|
+
onEnd = _ref2.onEnd,
|
|
22
|
+
tourOnDismiss = _ref2.onDismiss,
|
|
23
|
+
tourAdvanceButtonText = _ref2.advanceButtonText,
|
|
24
|
+
tourDismissButtonText = _ref2.dismissButtonText,
|
|
25
|
+
tourEndButtonText = _ref2.endButtonText;
|
|
26
|
+
var _useState = useState(null),
|
|
27
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
+
currentCheckpointData = _useState2[0],
|
|
29
|
+
setCurrentCheckpointData = _useState2[1];
|
|
30
|
+
var _useState3 = useState(0),
|
|
31
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
32
|
+
index = _useState4[0],
|
|
33
|
+
setIndex = _useState4[1];
|
|
34
|
+
var _useState5 = useState(false),
|
|
35
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
36
|
+
isTourEnabled = _useState6[0],
|
|
37
|
+
setIsTourEnabled = _useState6[1];
|
|
38
|
+
var _useState7 = useState([]),
|
|
39
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
40
|
+
prunedCheckpoints = _useState8[0],
|
|
41
|
+
setPrunedCheckpoints = _useState8[1];
|
|
42
|
+
var _ref3 = currentCheckpointData || {},
|
|
43
|
+
title = _ref3.title,
|
|
44
|
+
body = _ref3.body,
|
|
45
|
+
onAdvance = _ref3.onAdvance,
|
|
46
|
+
onDismiss = _ref3.onDismiss,
|
|
47
|
+
advanceButtonText = _ref3.advanceButtonText,
|
|
48
|
+
dismissButtonText = _ref3.dismissButtonText,
|
|
49
|
+
endButtonText = _ref3.endButtonText,
|
|
50
|
+
placement = _ref3.placement,
|
|
51
|
+
target = _ref3.target,
|
|
52
|
+
showDismissButton = _ref3.showDismissButton;
|
|
36
53
|
|
|
37
54
|
/**
|
|
38
55
|
* Takes a list of checkpoints and verifies that each target string provided is
|
|
39
56
|
* an element in the DOM.
|
|
40
57
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
var pruneCheckpoints = function pruneCheckpoints(checkpointList) {
|
|
59
|
+
var checkpointsWithRenderedTargets = checkpointList.filter(function (checkpoint) {
|
|
60
|
+
return !!document.querySelector(checkpoint.target);
|
|
61
|
+
});
|
|
43
62
|
setPrunedCheckpoints(checkpointsWithRenderedTargets);
|
|
44
63
|
};
|
|
45
|
-
useEffect(()
|
|
64
|
+
useEffect(function () {
|
|
46
65
|
if (enabled && checkpoints) {
|
|
47
66
|
setIsTourEnabled(enabled);
|
|
48
67
|
pruneCheckpoints(checkpoints);
|
|
49
68
|
setIndex(startingIndex || 0);
|
|
50
69
|
}
|
|
51
70
|
}, [enabled, checkpoints, startingIndex]);
|
|
52
|
-
useEffect(()
|
|
71
|
+
useEffect(function () {
|
|
53
72
|
if (isTourEnabled && prunedCheckpoints.length) {
|
|
54
73
|
setCurrentCheckpointData(prunedCheckpoints[index]);
|
|
55
74
|
}
|
|
56
75
|
}, [index, isTourEnabled, prunedCheckpoints]);
|
|
57
|
-
useEffect(()
|
|
58
|
-
|
|
76
|
+
useEffect(function () {
|
|
77
|
+
var handleEsc = function handleEsc(event) {
|
|
59
78
|
if (event.keyCode === 27) {
|
|
60
79
|
setIsTourEnabled(false);
|
|
61
80
|
if (onEscape) {
|
|
@@ -64,20 +83,20 @@ const ProductTour = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
64
83
|
}
|
|
65
84
|
};
|
|
66
85
|
global.addEventListener('keydown', handleEsc);
|
|
67
|
-
return ()
|
|
86
|
+
return function () {
|
|
68
87
|
global.removeEventListener('keydown', handleEsc);
|
|
69
88
|
};
|
|
70
89
|
}, [onEscape]);
|
|
71
90
|
if (!tourValue || !currentCheckpointData || !isTourEnabled) {
|
|
72
91
|
return null;
|
|
73
92
|
}
|
|
74
|
-
|
|
93
|
+
var handleAdvance = function handleAdvance() {
|
|
75
94
|
setIndex(index + 1);
|
|
76
95
|
if (onAdvance) {
|
|
77
96
|
onAdvance();
|
|
78
97
|
}
|
|
79
98
|
};
|
|
80
|
-
|
|
99
|
+
var handleDismiss = function handleDismiss() {
|
|
81
100
|
setIndex(0);
|
|
82
101
|
setIsTourEnabled(false);
|
|
83
102
|
if (onDismiss) {
|
|
@@ -97,7 +116,7 @@ const ProductTour = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
97
116
|
* @param {Integer} checkpointIndex
|
|
98
117
|
*/
|
|
99
118
|
/* eslint-enable */
|
|
100
|
-
|
|
119
|
+
var handleEnd = function handleEnd(checkpointIndex) {
|
|
101
120
|
setIndex(0);
|
|
102
121
|
setIsTourEnabled(false);
|
|
103
122
|
if (prunedCheckpoints[checkpointIndex].onEnd) {
|
|
@@ -133,17 +152,17 @@ ProductTour.defaultProps = {
|
|
|
133
152
|
body: '',
|
|
134
153
|
dismissButtonText: '',
|
|
135
154
|
endButtonText: '',
|
|
136
|
-
onAdvance: ()
|
|
137
|
-
onDismiss: ()
|
|
155
|
+
onAdvance: function onAdvance() {},
|
|
156
|
+
onDismiss: function onDismiss() {},
|
|
138
157
|
placement: 'top',
|
|
139
158
|
title: '',
|
|
140
159
|
showDismissButton: undefined
|
|
141
160
|
},
|
|
142
161
|
dismissButtonText: '',
|
|
143
162
|
endButtonText: '',
|
|
144
|
-
onDismiss: ()
|
|
145
|
-
onEnd: ()
|
|
146
|
-
onEscape: ()
|
|
163
|
+
onDismiss: function onDismiss() {},
|
|
164
|
+
onEnd: function onEnd() {},
|
|
165
|
+
onEscape: function onEscape() {},
|
|
147
166
|
startingIndex: 0
|
|
148
167
|
}
|
|
149
168
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useEffect","useState","PropTypes","Checkpoint","ProductTour","forwardRef","_ref","ref","tours","tourValue","find","tour","enabled","checkpoints","startingIndex","onEscape","onEnd","onDismiss","tourOnDismiss","advanceButtonText","tourAdvanceButtonText","dismissButtonText","tourDismissButtonText","endButtonText","tourEndButtonText","currentCheckpointData","setCurrentCheckpointData","index","setIndex","isTourEnabled","setIsTourEnabled","prunedCheckpoints","setPrunedCheckpoints","title","body","onAdvance","placement","target","showDismissButton","pruneCheckpoints","checkpointList","checkpointsWithRenderedTargets","filter","checkpoint","document","querySelector","length","handleEsc","event","keyCode","global","addEventListener","removeEventListener","handleAdvance","handleDismiss","handleEnd","checkpointIndex","createElement","totalCheckpoints","defaultProps","undefined","propTypes","arrayOf","shape","node","func","oneOf","string","isRequired","bool","number","tourId"],"sources":["../../src/ProductTour/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Checkpoint from './Checkpoint';\n\nconst ProductTour = React.forwardRef(({ tours }, ref) => {\n const tourValue = tours.find((tour) => tour.enabled);\n const {\n enabled, checkpoints = [], startingIndex, onEscape, onEnd, onDismiss: tourOnDismiss,\n advanceButtonText: tourAdvanceButtonText, dismissButtonText: tourDismissButtonText,\n endButtonText: tourEndButtonText,\n } = tourValue || {};\n const [currentCheckpointData, setCurrentCheckpointData] = useState(null);\n const [index, setIndex] = useState(0);\n const [isTourEnabled, setIsTourEnabled] = useState(false);\n const [prunedCheckpoints, setPrunedCheckpoints] = useState([]);\n const {\n title, body, onAdvance, onDismiss, advanceButtonText, dismissButtonText,\n endButtonText, placement, target, showDismissButton,\n } = currentCheckpointData || {};\n\n /**\n * Takes a list of checkpoints and verifies that each target string provided is\n * an element in the DOM.\n */\n const pruneCheckpoints = (checkpointList) => {\n const checkpointsWithRenderedTargets = checkpointList.filter(\n (checkpoint) => !!document.querySelector(checkpoint.target),\n );\n setPrunedCheckpoints(checkpointsWithRenderedTargets);\n };\n\n useEffect(() => {\n if (enabled && checkpoints) {\n setIsTourEnabled(enabled);\n pruneCheckpoints(checkpoints);\n setIndex(startingIndex || 0);\n }\n }, [enabled, checkpoints, startingIndex]);\n\n useEffect(() => {\n if (isTourEnabled && prunedCheckpoints.length) {\n setCurrentCheckpointData(prunedCheckpoints[index]);\n }\n }, [index, isTourEnabled, prunedCheckpoints]);\n\n useEffect(() => {\n const handleEsc = (event) => {\n if (event.keyCode === 27) {\n setIsTourEnabled(false);\n if (onEscape) {\n onEscape();\n }\n }\n };\n global.addEventListener('keydown', handleEsc);\n\n return () => {\n global.removeEventListener('keydown', handleEsc);\n };\n }, [onEscape]);\n\n if (!tourValue || !currentCheckpointData || !isTourEnabled) {\n return null;\n }\n\n const handleAdvance = () => {\n setIndex(index + 1);\n if (onAdvance) {\n onAdvance();\n }\n };\n\n const handleDismiss = () => {\n setIndex(0);\n setIsTourEnabled(false);\n if (onDismiss) {\n onDismiss();\n } else {\n tourOnDismiss();\n }\n setCurrentCheckpointData(null);\n };\n /* eslint-disable */\n /**\n * Takes the final checkpoint array index value and looks for an existing onEnd callback.\n * \n * If an onEnd callback exist on checkpointIndex value and it is the final checkpoint \n * in the array, the onEnd callback will be called for the parent, and individual onEnd object. \n * \n * @param {Integer} checkpointIndex \n */\n /* eslint-enable */\n const handleEnd = (checkpointIndex) => {\n setIndex(0);\n setIsTourEnabled(false);\n if (prunedCheckpoints[checkpointIndex].onEnd) {\n prunedCheckpoints[checkpointIndex].onEnd();\n } else if (onEnd) {\n onEnd(prunedCheckpoints[checkpointIndex]);\n }\n setCurrentCheckpointData(null);\n };\n return (\n <Checkpoint\n advanceButtonText={advanceButtonText || tourAdvanceButtonText}\n body={body}\n currentCheckpointData={currentCheckpointData}\n dismissButtonText={dismissButtonText || tourDismissButtonText}\n endButtonText={endButtonText || tourEndButtonText}\n index={index}\n onAdvance={handleAdvance}\n onDismiss={handleDismiss}\n onEnd={handleEnd}\n placement={placement}\n target={target}\n title={title}\n totalCheckpoints={prunedCheckpoints.length}\n showDismissButton={showDismissButton}\n ref={ref}\n />\n );\n});\n\nProductTour.defaultProps = {\n tours: {\n advanceButtonText: '',\n checkpoints: {\n advanceButtonText: '',\n body: '',\n dismissButtonText: '',\n endButtonText: '',\n onAdvance: () => {},\n onDismiss: () => {},\n placement: 'top',\n title: '',\n showDismissButton: undefined,\n },\n dismissButtonText: '',\n endButtonText: '',\n onDismiss: () => {},\n onEnd: () => {},\n onEscape: () => {},\n startingIndex: 0,\n },\n};\n\nProductTour.propTypes = {\n tours: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on all buttons used to advance the tour. */\n advanceButtonText: PropTypes.node,\n /** An array comprised of checkpoint objects supporting the following values: */\n checkpoints: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on the button used to advance the tour for the given Checkpoint\n * (overrides the* `advanceButtonText` defined in the parent tour object). */\n advanceButtonText: PropTypes.node,\n /** The text displayed in the body of the Checkpoint */\n body: PropTypes.node,\n /** The text displayed on the button used to dismiss the tour for the given Checkpoint\n * (overrides the `dismissButtonText` defined in the parent tour object). */\n dismissButtonText: PropTypes.node,\n /** The text displayed on the button used to end the tour for the given Checkpoint\n * (overrides the `endButtonText` defined in the parent tour object). */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the advance\n * button for the given Checkpoint. */\n onAdvance: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the dismiss\n * button for the given Checkpoint (overrides the `onDismiss` function defined in the parent tour object). */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the advance\n * button if the given Checkpoint is the only or last Checkpoint in a tour. */\n onEnd: PropTypes.func,\n /** A string that dictates the alignment of the Checkpoint around its target. */\n placement: PropTypes.oneOf([\n 'top', 'top-start', 'top-end', 'right-start', 'right', 'right-end',\n 'left-start', 'left', 'left-end', 'bottom', 'bottom-start', 'bottom-end',\n ]),\n /** The CSS selector for the Checkpoint's desired target. */\n target: PropTypes.string.isRequired,\n /** The text displayed in the title of the Checkpoint */\n title: PropTypes.node,\n /** Enforces visibility of the dismiss button under all circumstances */\n showDismissButton: PropTypes.bool,\n })),\n /** The text displayed on the button used to dismiss the tour. */\n dismissButtonText: PropTypes.node,\n /** Whether the tour is enabled. If there are multiple tours defined, only one should be enabled at a time. */\n enabled: PropTypes.bool.isRequired,\n /** The text displayed on the button used to end the tour. */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the dismiss button. */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the end button. */\n onEnd: PropTypes.func,\n /** A function that runs when pressing the Escape key. */\n onEscape: PropTypes.func,\n /** The index of the desired `Checkpoint` to render when the tour starts. */\n startingIndex: PropTypes.number,\n /** The ID of the tour */\n tourId: PropTypes.string.isRequired,\n })),\n};\n\nexport default ProductTour;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAMC,WAAW,gBAAGL,KAAK,CAACM,UAAU,CAAC,CAAAC,IAAA,EAAYC,GAAG,KAAK;EAAA,IAAnB;IAAEC;EAAM,CAAC,GAAAF,IAAA;EAC7C,MAAMG,SAAS,GAAGD,KAAK,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,OAAO,CAAC;EACpD,MAAM;IACJA,OAAO;IAAEC,WAAW,GAAG,EAAE;IAAEC,aAAa;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,SAAS,EAAEC,aAAa;IACnFC,iBAAiB,EAAEC,qBAAqB;IAAEC,iBAAiB,EAAEC,qBAAqB;IAClFC,aAAa,EAAEC;EACjB,CAAC,GAAGf,SAAS,IAAI,CAAC,CAAC;EACnB,MAAM,CAACgB,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGzB,QAAQ,CAAC,IAAI,CAAC;EACxE,MAAM,CAAC0B,KAAK,EAAEC,QAAQ,CAAC,GAAG3B,QAAQ,CAAC,CAAC,CAAC;EACrC,MAAM,CAAC4B,aAAa,EAAEC,gBAAgB,CAAC,GAAG7B,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAAC8B,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG/B,QAAQ,CAAC,EAAE,CAAC;EAC9D,MAAM;IACJgC,KAAK;IAAEC,IAAI;IAAEC,SAAS;IAAElB,SAAS;IAAEE,iBAAiB;IAAEE,iBAAiB;IACvEE,aAAa;IAAEa,SAAS;IAAEC,MAAM;IAAEC;EACpC,CAAC,GAAGb,qBAAqB,IAAI,CAAC,CAAC;;EAE/B;AACF;AACA;AACA;EACE,MAAMc,gBAAgB,GAAIC,cAAc,IAAK;IAC3C,MAAMC,8BAA8B,GAAGD,cAAc,CAACE,MAAM,CACzDC,UAAU,IAAK,CAAC,CAACC,QAAQ,CAACC,aAAa,CAACF,UAAU,CAACN,MAAM,CAC5D,CAAC;IACDL,oBAAoB,CAACS,8BAA8B,CAAC;EACtD,CAAC;EAEDzC,SAAS,CAAC,MAAM;IACd,IAAIY,OAAO,IAAIC,WAAW,EAAE;MAC1BiB,gBAAgB,CAAClB,OAAO,CAAC;MACzB2B,gBAAgB,CAAC1B,WAAW,CAAC;MAC7Be,QAAQ,CAACd,aAAa,IAAI,CAAC,CAAC;IAC9B;EACF,CAAC,EAAE,CAACF,OAAO,EAAEC,WAAW,EAAEC,aAAa,CAAC,CAAC;EAEzCd,SAAS,CAAC,MAAM;IACd,IAAI6B,aAAa,IAAIE,iBAAiB,CAACe,MAAM,EAAE;MAC7CpB,wBAAwB,CAACK,iBAAiB,CAACJ,KAAK,CAAC,CAAC;IACpD;EACF,CAAC,EAAE,CAACA,KAAK,EAAEE,aAAa,EAAEE,iBAAiB,CAAC,CAAC;EAE7C/B,SAAS,CAAC,MAAM;IACd,MAAM+C,SAAS,GAAIC,KAAK,IAAK;MAC3B,IAAIA,KAAK,CAACC,OAAO,KAAK,EAAE,EAAE;QACxBnB,gBAAgB,CAAC,KAAK,CAAC;QACvB,IAAIf,QAAQ,EAAE;UACZA,QAAQ,CAAC,CAAC;QACZ;MACF;IACF,CAAC;IACDmC,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,SAAS,CAAC;IAE7C,OAAO,MAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEL,SAAS,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,CAAChC,QAAQ,CAAC,CAAC;EAEd,IAAI,CAACN,SAAS,IAAI,CAACgB,qBAAqB,IAAI,CAACI,aAAa,EAAE;IAC1D,OAAO,IAAI;EACb;EAEA,MAAMwB,aAAa,GAAGA,CAAA,KAAM;IAC1BzB,QAAQ,CAACD,KAAK,GAAG,CAAC,CAAC;IACnB,IAAIQ,SAAS,EAAE;MACbA,SAAS,CAAC,CAAC;IACb;EACF,CAAC;EAED,MAAMmB,aAAa,GAAGA,CAAA,KAAM;IAC1B1B,QAAQ,CAAC,CAAC,CAAC;IACXE,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAIb,SAAS,EAAE;MACbA,SAAS,CAAC,CAAC;IACb,CAAC,MAAM;MACLC,aAAa,CAAC,CAAC;IACjB;IACAQ,wBAAwB,CAAC,IAAI,CAAC;EAChC,CAAC;EACD;EACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACA,MAAM6B,SAAS,GAAIC,eAAe,IAAK;IACrC5B,QAAQ,CAAC,CAAC,CAAC;IACXE,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAIC,iBAAiB,CAACyB,eAAe,CAAC,CAACxC,KAAK,EAAE;MAC5Ce,iBAAiB,CAACyB,eAAe,CAAC,CAACxC,KAAK,CAAC,CAAC;IAC5C,CAAC,MAAM,IAAIA,KAAK,EAAE;MAChBA,KAAK,CAACe,iBAAiB,CAACyB,eAAe,CAAC,CAAC;IAC3C;IACA9B,wBAAwB,CAAC,IAAI,CAAC;EAChC,CAAC;EACD,oBACE3B,KAAA,CAAA0D,aAAA,CAACtD,UAAU;IACTgB,iBAAiB,EAAEA,iBAAiB,IAAIC,qBAAsB;IAC9Dc,IAAI,EAAEA,IAAK;IACXT,qBAAqB,EAAEA,qBAAsB;IAC7CJ,iBAAiB,EAAEA,iBAAiB,IAAIC,qBAAsB;IAC9DC,aAAa,EAAEA,aAAa,IAAIC,iBAAkB;IAClDG,KAAK,EAAEA,KAAM;IACbQ,SAAS,EAAEkB,aAAc;IACzBpC,SAAS,EAAEqC,aAAc;IACzBtC,KAAK,EAAEuC,SAAU;IACjBnB,SAAS,EAAEA,SAAU;IACrBC,MAAM,EAAEA,MAAO;IACfJ,KAAK,EAAEA,KAAM;IACbyB,gBAAgB,EAAE3B,iBAAiB,CAACe,MAAO;IAC3CR,iBAAiB,EAAEA,iBAAkB;IACrC/B,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CAAC;AAEFH,WAAW,CAACuD,YAAY,GAAG;EACzBnD,KAAK,EAAE;IACLW,iBAAiB,EAAE,EAAE;IACrBN,WAAW,EAAE;MACXM,iBAAiB,EAAE,EAAE;MACrBe,IAAI,EAAE,EAAE;MACRb,iBAAiB,EAAE,EAAE;MACrBE,aAAa,EAAE,EAAE;MACjBY,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;MACnBlB,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;MACnBmB,SAAS,EAAE,KAAK;MAChBH,KAAK,EAAE,EAAE;MACTK,iBAAiB,EAAEsB;IACrB,CAAC;IACDvC,iBAAiB,EAAE,EAAE;IACrBE,aAAa,EAAE,EAAE;IACjBN,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;IACnBD,KAAK,EAAEA,CAAA,KAAM,CAAC,CAAC;IACfD,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;IAClBD,aAAa,EAAE;EACjB;AACF,CAAC;AAEDV,WAAW,CAACyD,SAAS,GAAG;EACtBrD,KAAK,EAAEN,SAAS,CAAC4D,OAAO,CAAC5D,SAAS,CAAC6D,KAAK,CAAC;IACvC;IACA5C,iBAAiB,EAAEjB,SAAS,CAAC8D,IAAI;IACjC;IACAnD,WAAW,EAAEX,SAAS,CAAC4D,OAAO,CAAC5D,SAAS,CAAC6D,KAAK,CAAC;MAC7C;AACN;MACM5C,iBAAiB,EAAEjB,SAAS,CAAC8D,IAAI;MACjC;MACA9B,IAAI,EAAEhC,SAAS,CAAC8D,IAAI;MACpB;AACN;MACM3C,iBAAiB,EAAEnB,SAAS,CAAC8D,IAAI;MACjC;AACN;MACMzC,aAAa,EAAErB,SAAS,CAAC8D,IAAI;MAC7B;AACN;MACM7B,SAAS,EAAEjC,SAAS,CAAC+D,IAAI;MACzB;AACN;MACMhD,SAAS,EAAEf,SAAS,CAAC+D,IAAI;MACzB;AACN;MACMjD,KAAK,EAAEd,SAAS,CAAC+D,IAAI;MACrB;MACA7B,SAAS,EAAElC,SAAS,CAACgE,KAAK,CAAC,CACzB,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAClE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CACzE,CAAC;MACF;MACA7B,MAAM,EAAEnC,SAAS,CAACiE,MAAM,CAACC,UAAU;MACnC;MACAnC,KAAK,EAAE/B,SAAS,CAAC8D,IAAI;MACrB;MACA1B,iBAAiB,EAAEpC,SAAS,CAACmE;IAC/B,CAAC,CAAC,CAAC;IACH;IACAhD,iBAAiB,EAAEnB,SAAS,CAAC8D,IAAI;IACjC;IACApD,OAAO,EAAEV,SAAS,CAACmE,IAAI,CAACD,UAAU;IAClC;IACA7C,aAAa,EAAErB,SAAS,CAAC8D,IAAI;IAC7B;IACA/C,SAAS,EAAEf,SAAS,CAAC+D,IAAI;IACzB;IACAjD,KAAK,EAAEd,SAAS,CAAC+D,IAAI;IACrB;IACAlD,QAAQ,EAAEb,SAAS,CAAC+D,IAAI;IACxB;IACAnD,aAAa,EAAEZ,SAAS,CAACoE,MAAM;IAC/B;IACAC,MAAM,EAAErE,SAAS,CAACiE,MAAM,CAACC;EAC3B,CAAC,CAAC;AACJ,CAAC;AAED,eAAehE,WAAW"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useEffect","useState","PropTypes","Checkpoint","ProductTour","forwardRef","_ref","ref","tours","tourValue","find","tour","enabled","_ref2","_ref2$checkpoints","checkpoints","startingIndex","onEscape","onEnd","tourOnDismiss","onDismiss","tourAdvanceButtonText","advanceButtonText","tourDismissButtonText","dismissButtonText","tourEndButtonText","endButtonText","_useState","_useState2","_slicedToArray","currentCheckpointData","setCurrentCheckpointData","_useState3","_useState4","index","setIndex","_useState5","_useState6","isTourEnabled","setIsTourEnabled","_useState7","_useState8","prunedCheckpoints","setPrunedCheckpoints","_ref3","title","body","onAdvance","placement","target","showDismissButton","pruneCheckpoints","checkpointList","checkpointsWithRenderedTargets","filter","checkpoint","document","querySelector","length","handleEsc","event","keyCode","global","addEventListener","removeEventListener","handleAdvance","handleDismiss","handleEnd","checkpointIndex","createElement","totalCheckpoints","defaultProps","undefined","propTypes","arrayOf","shape","node","func","oneOf","string","isRequired","bool","number","tourId"],"sources":["../../src/ProductTour/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Checkpoint from './Checkpoint';\n\nconst ProductTour = React.forwardRef(({ tours }, ref) => {\n const tourValue = tours.find((tour) => tour.enabled);\n const {\n enabled, checkpoints = [], startingIndex, onEscape, onEnd, onDismiss: tourOnDismiss,\n advanceButtonText: tourAdvanceButtonText, dismissButtonText: tourDismissButtonText,\n endButtonText: tourEndButtonText,\n } = tourValue || {};\n const [currentCheckpointData, setCurrentCheckpointData] = useState(null);\n const [index, setIndex] = useState(0);\n const [isTourEnabled, setIsTourEnabled] = useState(false);\n const [prunedCheckpoints, setPrunedCheckpoints] = useState([]);\n const {\n title, body, onAdvance, onDismiss, advanceButtonText, dismissButtonText,\n endButtonText, placement, target, showDismissButton,\n } = currentCheckpointData || {};\n\n /**\n * Takes a list of checkpoints and verifies that each target string provided is\n * an element in the DOM.\n */\n const pruneCheckpoints = (checkpointList) => {\n const checkpointsWithRenderedTargets = checkpointList.filter(\n (checkpoint) => !!document.querySelector(checkpoint.target),\n );\n setPrunedCheckpoints(checkpointsWithRenderedTargets);\n };\n\n useEffect(() => {\n if (enabled && checkpoints) {\n setIsTourEnabled(enabled);\n pruneCheckpoints(checkpoints);\n setIndex(startingIndex || 0);\n }\n }, [enabled, checkpoints, startingIndex]);\n\n useEffect(() => {\n if (isTourEnabled && prunedCheckpoints.length) {\n setCurrentCheckpointData(prunedCheckpoints[index]);\n }\n }, [index, isTourEnabled, prunedCheckpoints]);\n\n useEffect(() => {\n const handleEsc = (event) => {\n if (event.keyCode === 27) {\n setIsTourEnabled(false);\n if (onEscape) {\n onEscape();\n }\n }\n };\n global.addEventListener('keydown', handleEsc);\n\n return () => {\n global.removeEventListener('keydown', handleEsc);\n };\n }, [onEscape]);\n\n if (!tourValue || !currentCheckpointData || !isTourEnabled) {\n return null;\n }\n\n const handleAdvance = () => {\n setIndex(index + 1);\n if (onAdvance) {\n onAdvance();\n }\n };\n\n const handleDismiss = () => {\n setIndex(0);\n setIsTourEnabled(false);\n if (onDismiss) {\n onDismiss();\n } else {\n tourOnDismiss();\n }\n setCurrentCheckpointData(null);\n };\n /* eslint-disable */\n /**\n * Takes the final checkpoint array index value and looks for an existing onEnd callback.\n * \n * If an onEnd callback exist on checkpointIndex value and it is the final checkpoint \n * in the array, the onEnd callback will be called for the parent, and individual onEnd object. \n * \n * @param {Integer} checkpointIndex \n */\n /* eslint-enable */\n const handleEnd = (checkpointIndex) => {\n setIndex(0);\n setIsTourEnabled(false);\n if (prunedCheckpoints[checkpointIndex].onEnd) {\n prunedCheckpoints[checkpointIndex].onEnd();\n } else if (onEnd) {\n onEnd(prunedCheckpoints[checkpointIndex]);\n }\n setCurrentCheckpointData(null);\n };\n return (\n <Checkpoint\n advanceButtonText={advanceButtonText || tourAdvanceButtonText}\n body={body}\n currentCheckpointData={currentCheckpointData}\n dismissButtonText={dismissButtonText || tourDismissButtonText}\n endButtonText={endButtonText || tourEndButtonText}\n index={index}\n onAdvance={handleAdvance}\n onDismiss={handleDismiss}\n onEnd={handleEnd}\n placement={placement}\n target={target}\n title={title}\n totalCheckpoints={prunedCheckpoints.length}\n showDismissButton={showDismissButton}\n ref={ref}\n />\n );\n});\n\nProductTour.defaultProps = {\n tours: {\n advanceButtonText: '',\n checkpoints: {\n advanceButtonText: '',\n body: '',\n dismissButtonText: '',\n endButtonText: '',\n onAdvance: () => {},\n onDismiss: () => {},\n placement: 'top',\n title: '',\n showDismissButton: undefined,\n },\n dismissButtonText: '',\n endButtonText: '',\n onDismiss: () => {},\n onEnd: () => {},\n onEscape: () => {},\n startingIndex: 0,\n },\n};\n\nProductTour.propTypes = {\n tours: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on all buttons used to advance the tour. */\n advanceButtonText: PropTypes.node,\n /** An array comprised of checkpoint objects supporting the following values: */\n checkpoints: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on the button used to advance the tour for the given Checkpoint\n * (overrides the* `advanceButtonText` defined in the parent tour object). */\n advanceButtonText: PropTypes.node,\n /** The text displayed in the body of the Checkpoint */\n body: PropTypes.node,\n /** The text displayed on the button used to dismiss the tour for the given Checkpoint\n * (overrides the `dismissButtonText` defined in the parent tour object). */\n dismissButtonText: PropTypes.node,\n /** The text displayed on the button used to end the tour for the given Checkpoint\n * (overrides the `endButtonText` defined in the parent tour object). */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the advance\n * button for the given Checkpoint. */\n onAdvance: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the dismiss\n * button for the given Checkpoint (overrides the `onDismiss` function defined in the parent tour object). */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the advance\n * button if the given Checkpoint is the only or last Checkpoint in a tour. */\n onEnd: PropTypes.func,\n /** A string that dictates the alignment of the Checkpoint around its target. */\n placement: PropTypes.oneOf([\n 'top', 'top-start', 'top-end', 'right-start', 'right', 'right-end',\n 'left-start', 'left', 'left-end', 'bottom', 'bottom-start', 'bottom-end',\n ]),\n /** The CSS selector for the Checkpoint's desired target. */\n target: PropTypes.string.isRequired,\n /** The text displayed in the title of the Checkpoint */\n title: PropTypes.node,\n /** Enforces visibility of the dismiss button under all circumstances */\n showDismissButton: PropTypes.bool,\n })),\n /** The text displayed on the button used to dismiss the tour. */\n dismissButtonText: PropTypes.node,\n /** Whether the tour is enabled. If there are multiple tours defined, only one should be enabled at a time. */\n enabled: PropTypes.bool.isRequired,\n /** The text displayed on the button used to end the tour. */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the dismiss button. */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the end button. */\n onEnd: PropTypes.func,\n /** A function that runs when pressing the Escape key. */\n onEscape: PropTypes.func,\n /** The index of the desired `Checkpoint` to render when the tour starts. */\n startingIndex: PropTypes.number,\n /** The ID of the tour */\n tourId: PropTypes.string.isRequired,\n })),\n};\n\nexport default ProductTour;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
const messages = defineMessages({
|
|
4
|
+
topPositionText: {
|
|
5
|
+
id: 'pgn.ProductTour.Checkpoint.top-position-text',
|
|
6
|
+
defaultMessage: 'Top of step {step}',
|
|
7
|
+
description: 'Screen-reader message to notify user that they are located at the bottom of the product tour step.',
|
|
8
|
+
},
|
|
9
|
+
bottomPositionText: {
|
|
10
|
+
id: 'pgn.ProductTour.Checkpoint.bottom-position-text',
|
|
11
|
+
defaultMessage: 'Bottom of step {step}',
|
|
12
|
+
description: 'Screen-reader message to notify user that they are located at the bottom of the product tour step.',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export default messages;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var _excluded = ["now", "label", "variant", "threshold", "thresholdLabel", "thresholdVariant", "progressHint", "thresholdHint"];
|
|
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; }
|
|
@@ -8,51 +8,53 @@ import PropTypes from 'prop-types';
|
|
|
8
8
|
import classNames from 'classnames';
|
|
9
9
|
import Annotation from '../Annotation';
|
|
10
10
|
import { getOffsetStyles, placeInfoAtZero } from './utils';
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
export var ANNOTATION_CLASS = 'pgn__annotation';
|
|
12
|
+
var HINT_SWAP_PERCENT = 50;
|
|
13
|
+
var PROGRESS_DEFAULT_VARIANT = 'warning';
|
|
14
|
+
var THRESHOLD_DEFAULT_VARIANT = 'dark';
|
|
15
|
+
var VARIANTS = ['dark', 'warning', 'success', 'error'];
|
|
16
16
|
function ProgressBar(props) {
|
|
17
17
|
return /*#__PURE__*/React.createElement(ProgressBarBase, props);
|
|
18
18
|
}
|
|
19
19
|
function ProgressBarAnnotated(_ref) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
thresholdHint
|
|
29
|
-
} = _ref,
|
|
20
|
+
var now = _ref.now,
|
|
21
|
+
label = _ref.label,
|
|
22
|
+
variant = _ref.variant,
|
|
23
|
+
threshold = _ref.threshold,
|
|
24
|
+
thresholdLabel = _ref.thresholdLabel,
|
|
25
|
+
thresholdVariant = _ref.thresholdVariant,
|
|
26
|
+
progressHint = _ref.progressHint,
|
|
27
|
+
thresholdHint = _ref.thresholdHint,
|
|
30
28
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
var progressInfoRef = React.useRef();
|
|
30
|
+
var thresholdInfoRef = React.useRef();
|
|
31
|
+
var thresholdPercent = (threshold || 0) - (now || 0);
|
|
32
|
+
var isProgressHintAfter = now < HINT_SWAP_PERCENT;
|
|
33
|
+
var isThresholdHintAfter = threshold < HINT_SWAP_PERCENT;
|
|
34
|
+
var progressColor = VARIANTS.includes(variant) ? variant : PROGRESS_DEFAULT_VARIANT;
|
|
35
|
+
var thresholdColor = VARIANTS.includes(thresholdVariant) ? thresholdVariant : THRESHOLD_DEFAULT_VARIANT;
|
|
36
|
+
var direction = window.getComputedStyle(document.body).getPropertyValue('direction');
|
|
37
|
+
var positionAnnotations = useCallback(function () {
|
|
40
38
|
placeInfoAtZero(progressInfoRef, direction, isProgressHintAfter, ANNOTATION_CLASS);
|
|
41
39
|
placeInfoAtZero(thresholdInfoRef, direction, isThresholdHintAfter, ANNOTATION_CLASS);
|
|
42
40
|
}, [direction, isProgressHintAfter, isThresholdHintAfter]);
|
|
43
|
-
useEffect(()
|
|
41
|
+
useEffect(function () {
|
|
44
42
|
positionAnnotations();
|
|
45
|
-
|
|
43
|
+
var observer = new ResizeObserver(function () {
|
|
46
44
|
positionAnnotations();
|
|
47
45
|
});
|
|
48
|
-
|
|
46
|
+
var progressInfoEl = progressInfoRef.current;
|
|
49
47
|
observer.observe(progressInfoEl);
|
|
50
|
-
return ()
|
|
48
|
+
return function () {
|
|
49
|
+
return progressInfoEl && observer.unobserve(progressInfoEl);
|
|
50
|
+
};
|
|
51
51
|
}, [positionAnnotations]);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
var getHint = function getHint(text) {
|
|
53
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
54
|
+
className: "pgn__progress-hint",
|
|
55
|
+
"data-testid": "progress-hint"
|
|
56
|
+
}, text);
|
|
57
|
+
};
|
|
56
58
|
return /*#__PURE__*/React.createElement("div", {
|
|
57
59
|
className: "pgn__progress-annotated"
|
|
58
60
|
}, !!label && /*#__PURE__*/React.createElement("div", {
|
|
@@ -63,11 +65,11 @@ function ProgressBarAnnotated(_ref) {
|
|
|
63
65
|
variant: progressColor
|
|
64
66
|
}, label), isProgressHintAfter && getHint(progressHint)), /*#__PURE__*/React.createElement(ProgressBarBase, null, /*#__PURE__*/React.createElement(ProgressBarBase, _extends({}, props, {
|
|
65
67
|
now: now,
|
|
66
|
-
className: classNames(
|
|
68
|
+
className: classNames("pgn__progress-bar--".concat(progressColor), thresholdPercent > 0 ? 'pgn__progress-tick--white' : 'pgn__progress-tick--black'),
|
|
67
69
|
srOnly: true
|
|
68
70
|
})), !!threshold && /*#__PURE__*/React.createElement(ProgressBarBase, {
|
|
69
71
|
now: thresholdPercent,
|
|
70
|
-
className:
|
|
72
|
+
className: "pgn__progress-bar--".concat(thresholdColor),
|
|
71
73
|
srOnly: true
|
|
72
74
|
})), !!threshold && !!thresholdLabel && /*#__PURE__*/React.createElement("div", {
|
|
73
75
|
className: "pgn__progress-info",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","ProgressBarBase","PropTypes","classNames","Annotation","getOffsetStyles","placeInfoAtZero","ANNOTATION_CLASS","HINT_SWAP_PERCENT","PROGRESS_DEFAULT_VARIANT","THRESHOLD_DEFAULT_VARIANT","VARIANTS","ProgressBar","props","createElement","ProgressBarAnnotated","_ref","now","label","variant","threshold","thresholdLabel","thresholdVariant","progressHint","thresholdHint","_objectWithoutProperties","_excluded","progressInfoRef","useRef","thresholdInfoRef","thresholdPercent","isProgressHintAfter","isThresholdHintAfter","progressColor","includes","thresholdColor","direction","window","getComputedStyle","document","body","getPropertyValue","positionAnnotations","observer","ResizeObserver","progressInfoEl","current","observe","unobserve","getHint","text","className","style","ref","_extends","srOnly","arrowPlacement","propTypes","number","node","oneOf","string","defaultProps","undefined","Annotated"],"sources":["../../src/ProgressBar/index.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport ProgressBarBase from 'react-bootstrap/ProgressBar';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Annotation from '../Annotation';\nimport { getOffsetStyles, placeInfoAtZero } from './utils';\n\nexport const ANNOTATION_CLASS = 'pgn__annotation';\nconst HINT_SWAP_PERCENT = 50;\nconst PROGRESS_DEFAULT_VARIANT = 'warning';\nconst THRESHOLD_DEFAULT_VARIANT = 'dark';\nconst VARIANTS = [\n 'dark',\n 'warning',\n 'success',\n 'error',\n];\n\nfunction ProgressBar(props) {\n return <ProgressBarBase {...props} />;\n}\n\nfunction ProgressBarAnnotated({\n now,\n label,\n variant,\n threshold,\n thresholdLabel,\n thresholdVariant,\n progressHint,\n thresholdHint,\n ...props\n}) {\n const progressInfoRef = React.useRef();\n const thresholdInfoRef = React.useRef();\n const thresholdPercent = (threshold || 0) - (now || 0);\n const isProgressHintAfter = now < HINT_SWAP_PERCENT;\n const isThresholdHintAfter = threshold < HINT_SWAP_PERCENT;\n const progressColor = VARIANTS.includes(variant) ? variant : PROGRESS_DEFAULT_VARIANT;\n const thresholdColor = VARIANTS.includes(thresholdVariant) ? thresholdVariant : THRESHOLD_DEFAULT_VARIANT;\n const direction = window.getComputedStyle(document.body).getPropertyValue('direction');\n\n const positionAnnotations = useCallback(() => {\n placeInfoAtZero(progressInfoRef, direction, isProgressHintAfter, ANNOTATION_CLASS);\n placeInfoAtZero(thresholdInfoRef, direction, isThresholdHintAfter, ANNOTATION_CLASS);\n }, [direction, isProgressHintAfter, isThresholdHintAfter]);\n\n useEffect(() => {\n positionAnnotations();\n const observer = new ResizeObserver(() => {\n positionAnnotations();\n });\n const progressInfoEl = progressInfoRef.current;\n observer.observe(progressInfoEl);\n return () => progressInfoEl && observer.unobserve(progressInfoEl);\n }, [positionAnnotations]);\n\n const getHint = (text) => (\n <span className=\"pgn__progress-hint\" data-testid=\"progress-hint\">\n {text}\n </span>\n );\n\n return (\n <div className=\"pgn__progress-annotated\">\n {!!label && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(now, direction)}\n ref={progressInfoRef}\n >\n {!isProgressHintAfter && getHint(progressHint)}\n <Annotation variant={progressColor}>\n {label}\n </Annotation>\n {isProgressHintAfter && getHint(progressHint)}\n </div>\n )}\n <ProgressBarBase>\n <ProgressBarBase\n {...props}\n now={now}\n className={classNames(\n `pgn__progress-bar--${progressColor}`,\n thresholdPercent > 0 ? 'pgn__progress-tick--white' : 'pgn__progress-tick--black',\n )}\n srOnly\n />\n {!!threshold && (\n <ProgressBarBase\n now={thresholdPercent}\n className={`pgn__progress-bar--${thresholdColor}`}\n srOnly\n />\n )}\n </ProgressBarBase>\n {(!!threshold && !!thresholdLabel) && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(threshold, direction)}\n ref={thresholdInfoRef}\n >\n {!isThresholdHintAfter && getHint(thresholdHint)}\n <Annotation\n arrowPlacement=\"top\"\n variant={thresholdColor}\n >\n {thresholdLabel}\n </Annotation>\n {isThresholdHintAfter && getHint(thresholdHint)}\n </div>\n )}\n </div>\n );\n}\n\nProgressBarAnnotated.propTypes = {\n /** Current value of progress. */\n now: PropTypes.number,\n /** Show label that represents visual percentage. */\n label: PropTypes.node,\n /** The `ProgressBar` style variant to use. */\n variant: PropTypes.oneOf(VARIANTS),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n /** Threshold current value. */\n threshold: PropTypes.number,\n /** Specifies label for `threshold`. */\n thresholdLabel: PropTypes.node,\n /** Variant for threshold value. */\n thresholdVariant: PropTypes.oneOf(VARIANTS),\n /** Text near the progress annotation. */\n progressHint: PropTypes.node,\n /** Text near the threshold annotation. */\n thresholdHint: PropTypes.node,\n};\n\nProgressBarAnnotated.defaultProps = {\n now: undefined,\n label: undefined,\n variant: PROGRESS_DEFAULT_VARIANT,\n className: undefined,\n threshold: undefined,\n thresholdLabel: undefined,\n thresholdVariant: THRESHOLD_DEFAULT_VARIANT,\n progressHint: undefined,\n thresholdHint: undefined,\n};\n\nProgressBar.Annotated = ProgressBarAnnotated;\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AACrD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,eAAe;AACtC,SAASC,eAAe,EAAEC,eAAe,QAAQ,SAAS;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","ProgressBarBase","PropTypes","classNames","Annotation","getOffsetStyles","placeInfoAtZero","ANNOTATION_CLASS","HINT_SWAP_PERCENT","PROGRESS_DEFAULT_VARIANT","THRESHOLD_DEFAULT_VARIANT","VARIANTS","ProgressBar","props","createElement","ProgressBarAnnotated","_ref","now","label","variant","threshold","thresholdLabel","thresholdVariant","progressHint","thresholdHint","_objectWithoutProperties","_excluded","progressInfoRef","useRef","thresholdInfoRef","thresholdPercent","isProgressHintAfter","isThresholdHintAfter","progressColor","includes","thresholdColor","direction","window","getComputedStyle","document","body","getPropertyValue","positionAnnotations","observer","ResizeObserver","progressInfoEl","current","observe","unobserve","getHint","text","className","style","ref","_extends","concat","srOnly","arrowPlacement","propTypes","number","node","oneOf","string","defaultProps","undefined","Annotated"],"sources":["../../src/ProgressBar/index.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport ProgressBarBase from 'react-bootstrap/ProgressBar';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Annotation from '../Annotation';\nimport { getOffsetStyles, placeInfoAtZero } from './utils';\n\nexport const ANNOTATION_CLASS = 'pgn__annotation';\nconst HINT_SWAP_PERCENT = 50;\nconst PROGRESS_DEFAULT_VARIANT = 'warning';\nconst THRESHOLD_DEFAULT_VARIANT = 'dark';\nconst VARIANTS = [\n 'dark',\n 'warning',\n 'success',\n 'error',\n];\n\nfunction ProgressBar(props) {\n return <ProgressBarBase {...props} />;\n}\n\nfunction ProgressBarAnnotated({\n now,\n label,\n variant,\n threshold,\n thresholdLabel,\n thresholdVariant,\n progressHint,\n thresholdHint,\n ...props\n}) {\n const progressInfoRef = React.useRef();\n const thresholdInfoRef = React.useRef();\n const thresholdPercent = (threshold || 0) - (now || 0);\n const isProgressHintAfter = now < HINT_SWAP_PERCENT;\n const isThresholdHintAfter = threshold < HINT_SWAP_PERCENT;\n const progressColor = VARIANTS.includes(variant) ? variant : PROGRESS_DEFAULT_VARIANT;\n const thresholdColor = VARIANTS.includes(thresholdVariant) ? thresholdVariant : THRESHOLD_DEFAULT_VARIANT;\n const direction = window.getComputedStyle(document.body).getPropertyValue('direction');\n\n const positionAnnotations = useCallback(() => {\n placeInfoAtZero(progressInfoRef, direction, isProgressHintAfter, ANNOTATION_CLASS);\n placeInfoAtZero(thresholdInfoRef, direction, isThresholdHintAfter, ANNOTATION_CLASS);\n }, [direction, isProgressHintAfter, isThresholdHintAfter]);\n\n useEffect(() => {\n positionAnnotations();\n const observer = new ResizeObserver(() => {\n positionAnnotations();\n });\n const progressInfoEl = progressInfoRef.current;\n observer.observe(progressInfoEl);\n return () => progressInfoEl && observer.unobserve(progressInfoEl);\n }, [positionAnnotations]);\n\n const getHint = (text) => (\n <span className=\"pgn__progress-hint\" data-testid=\"progress-hint\">\n {text}\n </span>\n );\n\n return (\n <div className=\"pgn__progress-annotated\">\n {!!label && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(now, direction)}\n ref={progressInfoRef}\n >\n {!isProgressHintAfter && getHint(progressHint)}\n <Annotation variant={progressColor}>\n {label}\n </Annotation>\n {isProgressHintAfter && getHint(progressHint)}\n </div>\n )}\n <ProgressBarBase>\n <ProgressBarBase\n {...props}\n now={now}\n className={classNames(\n `pgn__progress-bar--${progressColor}`,\n thresholdPercent > 0 ? 'pgn__progress-tick--white' : 'pgn__progress-tick--black',\n )}\n srOnly\n />\n {!!threshold && (\n <ProgressBarBase\n now={thresholdPercent}\n className={`pgn__progress-bar--${thresholdColor}`}\n srOnly\n />\n )}\n </ProgressBarBase>\n {(!!threshold && !!thresholdLabel) && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(threshold, direction)}\n ref={thresholdInfoRef}\n >\n {!isThresholdHintAfter && getHint(thresholdHint)}\n <Annotation\n arrowPlacement=\"top\"\n variant={thresholdColor}\n >\n {thresholdLabel}\n </Annotation>\n {isThresholdHintAfter && getHint(thresholdHint)}\n </div>\n )}\n </div>\n );\n}\n\nProgressBarAnnotated.propTypes = {\n /** Current value of progress. */\n now: PropTypes.number,\n /** Show label that represents visual percentage. */\n label: PropTypes.node,\n /** The `ProgressBar` style variant to use. */\n variant: PropTypes.oneOf(VARIANTS),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n /** Threshold current value. */\n threshold: PropTypes.number,\n /** Specifies label for `threshold`. */\n thresholdLabel: PropTypes.node,\n /** Variant for threshold value. */\n thresholdVariant: PropTypes.oneOf(VARIANTS),\n /** Text near the progress annotation. */\n progressHint: PropTypes.node,\n /** Text near the threshold annotation. */\n thresholdHint: PropTypes.node,\n};\n\nProgressBarAnnotated.defaultProps = {\n now: undefined,\n label: undefined,\n variant: PROGRESS_DEFAULT_VARIANT,\n className: undefined,\n threshold: undefined,\n thresholdLabel: undefined,\n thresholdVariant: THRESHOLD_DEFAULT_VARIANT,\n progressHint: undefined,\n thresholdHint: undefined,\n};\n\nProgressBar.Annotated = ProgressBarAnnotated;\nexport default ProgressBar;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AACrD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,eAAe;AACtC,SAASC,eAAe,EAAEC,eAAe,QAAQ,SAAS;AAE1D,OAAO,IAAMC,gBAAgB,GAAG,iBAAiB;AACjD,IAAMC,iBAAiB,GAAG,EAAE;AAC5B,IAAMC,wBAAwB,GAAG,SAAS;AAC1C,IAAMC,yBAAyB,GAAG,MAAM;AACxC,IAAMC,QAAQ,GAAG,CACf,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,CACR;AAED,SAASC,WAAWA,CAACC,KAAK,EAAE;EAC1B,oBAAOf,KAAA,CAAAgB,aAAA,CAACb,eAAe,EAAKY,KAAQ,CAAC;AACvC;AAEA,SAASE,oBAAoBA,CAAAC,IAAA,EAU1B;EAAA,IATDC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IACHC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;IAChBC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,aAAa,GAAAR,IAAA,CAAbQ,aAAa;IACVX,KAAK,GAAAY,wBAAA,CAAAT,IAAA,EAAAU,SAAA;EAER,IAAMC,eAAe,GAAG7B,KAAK,CAAC8B,MAAM,CAAC,CAAC;EACtC,IAAMC,gBAAgB,GAAG/B,KAAK,CAAC8B,MAAM,CAAC,CAAC;EACvC,IAAME,gBAAgB,GAAG,CAACV,SAAS,IAAI,CAAC,KAAKH,GAAG,IAAI,CAAC,CAAC;EACtD,IAAMc,mBAAmB,GAAGd,GAAG,GAAGT,iBAAiB;EACnD,IAAMwB,oBAAoB,GAAGZ,SAAS,GAAGZ,iBAAiB;EAC1D,IAAMyB,aAAa,GAAGtB,QAAQ,CAACuB,QAAQ,CAACf,OAAO,CAAC,GAAGA,OAAO,GAAGV,wBAAwB;EACrF,IAAM0B,cAAc,GAAGxB,QAAQ,CAACuB,QAAQ,CAACZ,gBAAgB,CAAC,GAAGA,gBAAgB,GAAGZ,yBAAyB;EACzG,IAAM0B,SAAS,GAAGC,MAAM,CAACC,gBAAgB,CAACC,QAAQ,CAACC,IAAI,CAAC,CAACC,gBAAgB,CAAC,WAAW,CAAC;EAEtF,IAAMC,mBAAmB,GAAG3C,WAAW,CAAC,YAAM;IAC5CO,eAAe,CAACqB,eAAe,EAAES,SAAS,EAAEL,mBAAmB,EAAExB,gBAAgB,CAAC;IAClFD,eAAe,CAACuB,gBAAgB,EAAEO,SAAS,EAAEJ,oBAAoB,EAAEzB,gBAAgB,CAAC;EACtF,CAAC,EAAE,CAAC6B,SAAS,EAAEL,mBAAmB,EAAEC,oBAAoB,CAAC,CAAC;EAE1DhC,SAAS,CAAC,YAAM;IACd0C,mBAAmB,CAAC,CAAC;IACrB,IAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,YAAM;MACxCF,mBAAmB,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,IAAMG,cAAc,GAAGlB,eAAe,CAACmB,OAAO;IAC9CH,QAAQ,CAACI,OAAO,CAACF,cAAc,CAAC;IAChC,OAAO;MAAA,OAAMA,cAAc,IAAIF,QAAQ,CAACK,SAAS,CAACH,cAAc,CAAC;IAAA;EACnE,CAAC,EAAE,CAACH,mBAAmB,CAAC,CAAC;EAEzB,IAAMO,OAAO,GAAG,SAAVA,OAAOA,CAAIC,IAAI;IAAA,oBACnBpD,KAAA,CAAAgB,aAAA;MAAMqC,SAAS,EAAC,oBAAoB;MAAC,eAAY;IAAe,GAC7DD,IACG,CAAC;EAAA,CACR;EAED,oBACEpD,KAAA,CAAAgB,aAAA;IAAKqC,SAAS,EAAC;EAAyB,GACrC,CAAC,CAACjC,KAAK,iBACNpB,KAAA,CAAAgB,aAAA;IACEqC,SAAS,EAAC,oBAAoB;IAC9BC,KAAK,EAAE/C,eAAe,CAACY,GAAG,EAAEmB,SAAS,CAAE;IACvCiB,GAAG,EAAE1B;EAAgB,GAEpB,CAACI,mBAAmB,IAAIkB,OAAO,CAAC1B,YAAY,CAAC,eAC9CzB,KAAA,CAAAgB,aAAA,CAACV,UAAU;IAACe,OAAO,EAAEc;EAAc,GAChCf,KACS,CAAC,EACZa,mBAAmB,IAAIkB,OAAO,CAAC1B,YAAY,CACzC,CACN,eACDzB,KAAA,CAAAgB,aAAA,CAACb,eAAe,qBACdH,KAAA,CAAAgB,aAAA,CAACb,eAAe,EAAAqD,QAAA,KACVzC,KAAK;IACTI,GAAG,EAAEA,GAAI;IACTkC,SAAS,EAAEhD,UAAU,uBAAAoD,MAAA,CACGtB,aAAa,GACnCH,gBAAgB,GAAG,CAAC,GAAG,2BAA2B,GAAG,2BACvD,CAAE;IACF0B,MAAM;EAAA,EACP,CAAC,EACD,CAAC,CAACpC,SAAS,iBACVtB,KAAA,CAAAgB,aAAA,CAACb,eAAe;IACdgB,GAAG,EAAEa,gBAAiB;IACtBqB,SAAS,wBAAAI,MAAA,CAAwBpB,cAAc,CAAG;IAClDqB,MAAM;EAAA,CACP,CAEY,CAAC,EAChB,CAAC,CAACpC,SAAS,IAAI,CAAC,CAACC,cAAc,iBAC/BvB,KAAA,CAAAgB,aAAA;IACEqC,SAAS,EAAC,oBAAoB;IAC9BC,KAAK,EAAE/C,eAAe,CAACe,SAAS,EAAEgB,SAAS,CAAE;IAC7CiB,GAAG,EAAExB;EAAiB,GAErB,CAACG,oBAAoB,IAAIiB,OAAO,CAACzB,aAAa,CAAC,eAChD1B,KAAA,CAAAgB,aAAA,CAACV,UAAU;IACTqD,cAAc,EAAC,KAAK;IACpBtC,OAAO,EAAEgB;EAAe,GAEvBd,cACS,CAAC,EACZW,oBAAoB,IAAIiB,OAAO,CAACzB,aAAa,CAC3C,CAEJ,CAAC;AAEV;AAEAT,oBAAoB,CAAC2C,SAAS,GAAG;EAC/B;EACAzC,GAAG,EAAEf,SAAS,CAACyD,MAAM;EACrB;EACAzC,KAAK,EAAEhB,SAAS,CAAC0D,IAAI;EACrB;EACAzC,OAAO,EAAEjB,SAAS,CAAC2D,KAAK,CAAClD,QAAQ,CAAC;EAClC;EACAwC,SAAS,EAAEjD,SAAS,CAAC4D,MAAM;EAC3B;EACA1C,SAAS,EAAElB,SAAS,CAACyD,MAAM;EAC3B;EACAtC,cAAc,EAAEnB,SAAS,CAAC0D,IAAI;EAC9B;EACAtC,gBAAgB,EAAEpB,SAAS,CAAC2D,KAAK,CAAClD,QAAQ,CAAC;EAC3C;EACAY,YAAY,EAAErB,SAAS,CAAC0D,IAAI;EAC5B;EACApC,aAAa,EAAEtB,SAAS,CAAC0D;AAC3B,CAAC;AAED7C,oBAAoB,CAACgD,YAAY,GAAG;EAClC9C,GAAG,EAAE+C,SAAS;EACd9C,KAAK,EAAE8C,SAAS;EAChB7C,OAAO,EAAEV,wBAAwB;EACjC0C,SAAS,EAAEa,SAAS;EACpB5C,SAAS,EAAE4C,SAAS;EACpB3C,cAAc,EAAE2C,SAAS;EACzB1C,gBAAgB,EAAEZ,yBAAyB;EAC3Ca,YAAY,EAAEyC,SAAS;EACvBxC,aAAa,EAAEwC;AACjB,CAAC;AAEDpD,WAAW,CAACqD,SAAS,GAAGlD,oBAAoB;AAC5C,eAAeH,WAAW"}
|