@openedx/paragon 23.14.2 → 23.14.4
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.d.ts +18 -0
- package/dist/ActionRow/index.js +6 -24
- package/dist/ActionRow/index.js.map +1 -1
- package/dist/Alert/index.js +21 -24
- package/dist/Alert/index.js.map +1 -1
- package/dist/Annotation/index.d.ts +13 -0
- package/dist/Annotation/index.js +11 -30
- package/dist/Annotation/index.js.map +1 -1
- package/dist/Avatar/index.d.ts +11 -0
- package/dist/Avatar/index.js +7 -21
- package/dist/Avatar/index.js.map +1 -1
- package/dist/AvatarButton/index.d.ts +17 -0
- package/dist/AvatarButton/index.js +11 -33
- package/dist/AvatarButton/index.js.map +1 -1
- package/dist/Breadcrumb/BreadcrumbLink.js +5 -6
- package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
- package/dist/Breadcrumb/index.js +11 -12
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Bubble/index.js +15 -18
- package/dist/Bubble/index.js.map +1 -1
- package/dist/Button/index.d.ts +42 -7
- package/dist/Button/index.js +43 -115
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/BaseCard.js +11 -12
- package/dist/Card/BaseCard.js.map +1 -1
- package/dist/Card/CardBody.js +9 -12
- package/dist/Card/CardBody.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarousel.js +13 -14
- package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselHeader.js +4 -5
- package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselItems.js +3 -4
- package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselProvider.js +7 -8
- package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js +5 -6
- package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
- package/dist/Card/CardCarousel/CardCarouselTitle.js +5 -6
- package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
- package/dist/Card/CardCarousel/messages.d.ts +13 -0
- package/dist/Card/CardCarousel/messages.js +4 -5
- package/dist/Card/CardCarousel/messages.js.map +1 -0
- package/dist/Card/CardContext.js +6 -7
- package/dist/Card/CardContext.js.map +1 -1
- package/dist/Card/CardDeck.js +9 -10
- package/dist/Card/CardDeck.js.map +1 -1
- package/dist/Card/CardDivider.js +8 -11
- package/dist/Card/CardDivider.js.map +1 -1
- package/dist/Card/CardFooter.js +9 -10
- package/dist/Card/CardFooter.js.map +1 -1
- package/dist/Card/CardGrid.js +6 -7
- package/dist/Card/CardGrid.js.map +1 -1
- package/dist/Card/CardHeader.js +9 -10
- package/dist/Card/CardHeader.js.map +1 -1
- package/dist/Card/CardImageCap.js +15 -16
- package/dist/Card/CardImageCap.js.map +1 -1
- package/dist/Card/CardSection.js +9 -10
- package/dist/Card/CardSection.js.map +1 -1
- package/dist/Card/CardStatus.js +9 -10
- package/dist/Card/CardStatus.js.map +1 -1
- package/dist/Card/index.js +9 -10
- package/dist/Card/index.js.map +1 -1
- package/dist/Chip/ChipIcon.js +8 -9
- package/dist/Chip/ChipIcon.js.map +1 -1
- package/dist/Chip/index.d.ts +22 -0
- package/dist/Chip/index.js +15 -70
- package/dist/Chip/index.js.map +1 -1
- package/dist/ChipCarousel/index.js +49 -53
- package/dist/ChipCarousel/index.js.map +1 -1
- package/dist/ChipCarousel/messages.d.ts +13 -0
- package/dist/ChipCarousel/messages.js +4 -5
- package/dist/ChipCarousel/messages.js.map +1 -0
- package/dist/CloseButton/index.js.map +1 -1
- package/dist/Collapse/index.js.map +1 -1
- package/dist/Collapsible/CollapsibleBody.js +6 -7
- package/dist/Collapsible/CollapsibleBody.js.map +1 -1
- package/dist/Collapsible/CollapsibleTrigger.js +9 -10
- package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
- package/dist/Collapsible/CollapsibleVisible.js +5 -6
- package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
- package/dist/ColorPicker/index.js +6 -7
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/Container/index.js +9 -12
- package/dist/Container/index.js.map +1 -1
- package/dist/DataTable/BulkActions.js +4 -5
- package/dist/DataTable/BulkActions.js.map +1 -1
- package/dist/DataTable/CardView.js +16 -18
- package/dist/DataTable/CardView.js.map +1 -1
- package/dist/DataTable/CollapsibleButtonGroup.js +5 -6
- package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
- package/dist/DataTable/DataTableLayout.js +5 -6
- package/dist/DataTable/DataTableLayout.js.map +1 -1
- package/dist/DataTable/EmptyTable.js +5 -6
- package/dist/DataTable/EmptyTable.js.map +1 -1
- package/dist/DataTable/ExpandAll.js +4 -5
- package/dist/DataTable/ExpandAll.js.map +1 -1
- package/dist/DataTable/ExpandRow.js +3 -4
- package/dist/DataTable/ExpandRow.js.map +1 -1
- package/dist/DataTable/FilterStatus.js +8 -9
- package/dist/DataTable/FilterStatus.js.map +1 -1
- package/dist/DataTable/RowStatus.js +4 -5
- package/dist/DataTable/RowStatus.js.map +1 -1
- package/dist/DataTable/SidebarFilters.js +3 -4
- package/dist/DataTable/SidebarFilters.js.map +1 -1
- package/dist/DataTable/Table.js +3 -4
- package/dist/DataTable/Table.js.map +1 -1
- package/dist/DataTable/TableActions.js +3 -4
- package/dist/DataTable/TableActions.js.map +1 -1
- package/dist/DataTable/TableCell.js +5 -6
- package/dist/DataTable/TableCell.js.map +1 -1
- package/dist/DataTable/TableControlBar.js +3 -4
- package/dist/DataTable/TableControlBar.js.map +1 -1
- package/dist/DataTable/TableFilters.js +6 -7
- package/dist/DataTable/TableFilters.js.map +1 -1
- package/dist/DataTable/TableFooter.js +4 -5
- package/dist/DataTable/TableFooter.js.map +1 -1
- package/dist/DataTable/TableHeaderCell.js +13 -15
- package/dist/DataTable/TableHeaderCell.js.map +1 -1
- package/dist/DataTable/TableHeaderRow.js +3 -4
- package/dist/DataTable/TableHeaderRow.js.map +1 -1
- package/dist/DataTable/TableRow.js +3 -4
- package/dist/DataTable/TableRow.js.map +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js +25 -29
- package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
- package/dist/DataTable/filters/DropdownFilter.js +16 -20
- package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js +25 -29
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/TextFilter.js +8 -9
- package/dist/DataTable/filters/TextFilter.js.map +1 -1
- package/dist/DataTable/hooks.js +11 -13
- package/dist/DataTable/hooks.js.map +1 -1
- package/dist/DataTable/index.js +35 -36
- package/dist/DataTable/index.js.map +1 -1
- package/dist/DataTable/messages.d.ts +13 -0
- package/dist/DataTable/messages.js +4 -5
- package/dist/DataTable/messages.js.map +1 -0
- package/dist/DataTable/selection/BaseSelectionStatus.js +11 -12
- package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelect.js +3 -4
- package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectHeader.js +3 -4
- package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
- package/dist/DataTable/selection/ControlledSelectionStatus.js +4 -5
- package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
- package/dist/DataTable/selection/SelectionStatus.js +4 -5
- package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
- package/dist/DataTable/utils/getVisibleColumns.js +9 -13
- package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
- package/dist/Dropdown/index.js +17 -20
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropzone/DefaultContent.js +5 -6
- package/dist/Dropzone/DefaultContent.js.map +1 -1
- package/dist/Dropzone/DragError.js +3 -4
- package/dist/Dropzone/DragError.js.map +1 -1
- package/dist/Dropzone/GenericError.js +4 -5
- package/dist/Dropzone/GenericError.js.map +1 -1
- package/dist/Dropzone/UploadProgress.js +6 -7
- package/dist/Dropzone/UploadProgress.js.map +1 -1
- package/dist/Dropzone/index.js +14 -15
- package/dist/Dropzone/index.js.map +1 -1
- package/dist/Dropzone/messages.d.ts +53 -0
- package/dist/Dropzone/messages.js +12 -13
- package/dist/Dropzone/messages.js.map +1 -0
- package/dist/Fade/index.js.map +1 -1
- package/dist/Form/FormAutosuggest.js +18 -20
- package/dist/Form/FormAutosuggest.js.map +1 -1
- package/dist/Form/FormAutosuggestOption.js +6 -7
- package/dist/Form/FormAutosuggestOption.js.map +1 -1
- package/dist/Form/FormCheckbox.js +16 -18
- package/dist/Form/FormCheckbox.js.map +1 -1
- package/dist/Form/FormCheckboxSet.js +11 -12
- package/dist/Form/FormCheckboxSet.js.map +1 -1
- package/dist/Form/FormCheckboxSetContext.js +9 -10
- package/dist/Form/FormCheckboxSetContext.js.map +1 -1
- package/dist/Form/FormControl.js +12 -13
- package/dist/Form/FormControl.js.map +1 -1
- package/dist/Form/FormControlDecorator.js +4 -5
- package/dist/Form/FormControlDecorator.js.map +1 -1
- package/dist/Form/FormControlDecoratorGroup.js +8 -9
- package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
- package/dist/Form/FormControlFeedback.js +4 -5
- package/dist/Form/FormControlFeedback.js.map +1 -1
- package/dist/Form/FormControlFloatingLabel.js +3 -4
- package/dist/Form/FormControlFloatingLabel.js.map +1 -1
- package/dist/Form/FormControlSet.js +7 -8
- package/dist/Form/FormControlSet.js.map +1 -1
- package/dist/Form/FormGroup.js +9 -10
- package/dist/Form/FormGroup.js.map +1 -1
- package/dist/Form/FormGroupContext.js +7 -8
- package/dist/Form/FormGroupContext.js.map +1 -1
- package/dist/Form/FormLabel.d.ts +2 -11
- package/dist/Form/FormLabel.js +5 -15
- package/dist/Form/FormLabel.js.map +1 -1
- package/dist/Form/FormRadio.js +28 -31
- package/dist/Form/FormRadio.js.map +1 -1
- package/dist/Form/FormRadioSet.js +11 -12
- package/dist/Form/FormRadioSet.js.map +1 -1
- package/dist/Form/FormRadioSetContext.js +9 -10
- package/dist/Form/FormRadioSetContext.js.map +1 -1
- package/dist/Form/FormSwitch.js +25 -29
- package/dist/Form/FormSwitch.js.map +1 -1
- package/dist/Form/FormText.js +16 -19
- package/dist/Form/FormText.js.map +1 -1
- package/dist/Form/fieldUtils.js +11 -22
- package/dist/Form/fieldUtils.js.map +1 -1
- package/dist/Form/useCheckboxSetValues.js +1 -2
- package/dist/Form/useCheckboxSetValues.js.map +1 -1
- package/dist/Hyperlink/index.js +17 -21
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Icon/index.js +10 -11
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.d.ts +8 -304
- package/dist/IconButton/index.js +21 -84
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButtonToggle/index.js +5 -6
- package/dist/IconButtonToggle/index.js.map +1 -1
- package/dist/Image/index.js.map +1 -1
- package/dist/Layout/index.js +4 -5
- package/dist/Layout/index.js.map +1 -1
- package/dist/Media/index.js.map +1 -1
- package/dist/Menu/MenuItem.js +8 -9
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Menu/SelectMenu.js +8 -9
- package/dist/Menu/SelectMenu.js.map +1 -1
- package/dist/Menu/index.js +6 -7
- package/dist/Menu/index.js.map +1 -1
- package/dist/Modal/AlertModal.js +6 -7
- package/dist/Modal/AlertModal.js.map +1 -1
- package/dist/Modal/FullscreenModal.js +7 -8
- package/dist/Modal/FullscreenModal.js.map +1 -1
- package/dist/Modal/MarketingModal.js +9 -10
- package/dist/Modal/MarketingModal.js.map +1 -1
- package/dist/Modal/ModalCloseButton.js +5 -6
- package/dist/Modal/ModalCloseButton.js.map +1 -1
- package/dist/Modal/ModalContext.js +6 -7
- package/dist/Modal/ModalContext.js.map +1 -1
- package/dist/Modal/ModalDialog.js +16 -17
- package/dist/Modal/ModalDialog.js.map +1 -1
- package/dist/Modal/ModalDialogBody.js +5 -6
- package/dist/Modal/ModalDialogBody.js.map +1 -1
- package/dist/Modal/ModalDialogFooter.js +5 -6
- package/dist/Modal/ModalDialogFooter.js.map +1 -1
- package/dist/Modal/ModalDialogHeader.js +9 -12
- package/dist/Modal/ModalDialogHeader.js.map +1 -1
- package/dist/Modal/ModalDialogHero.js +5 -6
- package/dist/Modal/ModalDialogHero.js.map +1 -1
- package/dist/Modal/ModalDialogHeroBackground.js +6 -7
- package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
- package/dist/Modal/ModalDialogHeroContent.js +5 -6
- package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
- package/dist/Modal/ModalDialogTitle.js +5 -6
- package/dist/Modal/ModalDialogTitle.js.map +1 -1
- package/dist/Modal/ModalLayer.js +13 -16
- package/dist/Modal/ModalLayer.js.map +1 -1
- package/dist/Modal/ModalPopup.js +11 -12
- package/dist/Modal/ModalPopup.js.map +1 -1
- package/dist/Modal/PopperElement.js +7 -8
- package/dist/Modal/PopperElement.js.map +1 -1
- package/dist/Modal/StandardModal.js +7 -8
- package/dist/Modal/StandardModal.js.map +1 -1
- package/dist/OverflowScroll/OverflowScroll.js +12 -13
- package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
- package/dist/OverflowScroll/OverflowScrollItems.js +3 -4
- package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
- package/dist/Overlay/index.d.ts +2 -2
- package/dist/PageBanner/index.js +9 -10
- package/dist/PageBanner/index.js.map +1 -1
- package/dist/Pagination/PaginationContext.js +12 -13
- package/dist/Pagination/PaginationContext.js.map +1 -1
- package/dist/Pagination/subcomponents/PageButton.js +3 -4
- package/dist/Pagination/subcomponents/PageButton.js.map +1 -1
- package/dist/Popover/index.js +11 -14
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.js +12 -13
- package/dist/ProductTour/Checkpoint.js.map +1 -1
- package/dist/ProductTour/CheckpointActionRow.js +10 -11
- package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
- package/dist/ProductTour/CheckpointBody.js +3 -4
- package/dist/ProductTour/CheckpointBody.js.map +1 -1
- package/dist/ProductTour/CheckpointHeader.js +7 -8
- package/dist/ProductTour/CheckpointHeader.js.map +1 -1
- package/dist/ProductTour/CheckpointTitle.js +6 -9
- package/dist/ProductTour/CheckpointTitle.js.map +1 -1
- package/dist/ProductTour/index.js +3 -4
- package/dist/ProductTour/index.js.map +1 -1
- package/dist/ProductTour/messages.d.ts +23 -0
- package/dist/ProductTour/messages.js +6 -7
- package/dist/ProductTour/messages.js.map +1 -0
- package/dist/ProgressBar/index.js +11 -12
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/ResponsiveEmbed/index.js.map +1 -1
- package/dist/Scrollable/index.js +4 -5
- package/dist/Scrollable/index.js.map +1 -1
- package/dist/SearchField/SearchFieldLabel.js +4 -5
- package/dist/SearchField/SearchFieldLabel.js.map +1 -1
- package/dist/SelectableBox/SelectableBoxSet.js +13 -14
- package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
- package/dist/SelectableBox/index.js +14 -15
- package/dist/SelectableBox/index.js.map +1 -1
- package/dist/Skeleton/index.js.map +1 -1
- package/dist/Spinner/index.js +5 -6
- package/dist/Spinner/index.js.map +1 -1
- package/dist/Stack/index.js +12 -15
- package/dist/Stack/index.js.map +1 -1
- package/dist/StatefulButton/index.js +9 -10
- package/dist/StatefulButton/index.js.map +1 -1
- package/dist/Stepper/Stepper.js +4 -5
- package/dist/Stepper/Stepper.js.map +1 -1
- package/dist/Stepper/StepperActionRow.js +6 -7
- package/dist/Stepper/StepperActionRow.js.map +1 -1
- package/dist/Stepper/StepperContext.js +4 -5
- package/dist/Stepper/StepperContext.js.map +1 -1
- package/dist/Stepper/StepperHeader.js +23 -31
- package/dist/Stepper/StepperHeader.js.map +1 -1
- package/dist/Stepper/StepperHeaderStep.js +8 -9
- package/dist/Stepper/StepperHeaderStep.js.map +1 -1
- package/dist/Stepper/StepperStep.js +10 -11
- package/dist/Stepper/StepperStep.js.map +1 -1
- package/dist/Sticky/index.js +8 -12
- package/dist/Sticky/index.js.map +1 -1
- package/dist/Tabs/index.js +8 -9
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Toast/ToastContainer.js +3 -4
- package/dist/Toast/ToastContainer.js.map +1 -1
- package/dist/Toast/index.d.ts +20 -41
- package/dist/Toast/index.js +11 -48
- package/dist/Toast/index.js.map +1 -1
- package/dist/ToggleButton/index.js.map +1 -1
- package/dist/Tooltip/index.js +11 -14
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Truncate/index.js +9 -10
- package/dist/Truncate/index.js.map +1 -1
- package/dist/asInput/index.js +9 -13
- package/dist/asInput/index.js.map +1 -1
- package/dist/hooks/useArrowKeyNavigationHook.js +17 -21
- package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -1
- package/dist/hooks/useIsVisibleHook.js +4 -6
- package/dist/hooks/useIsVisibleHook.js.map +1 -1
- package/dist/hooks/useToggleHook.js +1 -3
- package/dist/hooks/useToggleHook.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/utils/newId.js +1 -2
- package/dist/utils/newId.js.map +1 -1
- package/package.json +1 -1
- package/src/ActionRow/{index.jsx → index.tsx} +14 -22
- package/src/Annotation/{index.jsx → index.tsx} +15 -22
- package/src/Avatar/{index.jsx → index.tsx} +13 -19
- package/src/AvatarButton/{index.jsx → index.tsx} +23 -31
- package/src/Button/index.tsx +68 -93
- package/src/Chip/index.tsx +26 -59
- package/src/CloseButton/index.tsx +1 -0
- package/src/Collapse/index.tsx +1 -0
- package/src/Fade/index.tsx +1 -0
- package/src/Form/FormLabel.tsx +2 -10
- package/src/IconButton/index.tsx +17 -81
- package/src/Image/index.tsx +2 -0
- package/src/Media/index.tsx +1 -0
- package/src/Modal/modal-popup.mdx +1 -1
- package/src/ResponsiveEmbed/index.tsx +1 -0
- package/src/Skeleton/index.tsx +1 -0
- package/src/Toast/index.tsx +21 -40
- package/src/ToggleButton/index.tsx +2 -0
- package/src/index.ts +4 -8
- /package/{src/CloseButton/index.jsx → dist/CloseButton/index.d.ts} +0 -0
- /package/{src/Collapse/index.jsx → dist/Collapse/index.d.ts} +0 -0
- /package/{src/Fade/index.jsx → dist/Fade/index.d.ts} +0 -0
- /package/{src/Image/index.jsx → dist/Image/index.d.ts} +0 -0
- /package/{src/Media/index.jsx → dist/Media/index.d.ts} +0 -0
- /package/{src/ResponsiveEmbed/index.jsx → dist/ResponsiveEmbed/index.d.ts} +0 -0
- /package/{src/Skeleton/index.jsx → dist/Skeleton/index.d.ts} +0 -0
- /package/{src/ToggleButton/index.jsx → dist/ToggleButton/index.d.ts} +0 -0
- /package/src/Card/CardCarousel/{messages.js → messages.ts} +0 -0
- /package/src/ChipCarousel/{messages.js → messages.ts} +0 -0
- /package/src/DataTable/{messages.js → messages.ts} +0 -0
- /package/src/Dropzone/{messages.js → messages.ts} +0 -0
- /package/src/ProductTour/{messages.js → messages.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","defineMessages","useIntl","Launch","Icon","customPropTypeRequirement","messages","externalLinkAltText","id","defaultMessage","externalLinkTitle","Hyperlink","_ref","ref","as","Component","className","destination","children","target","onClick","externalLinkAlternativeText","variant","isInline","showLaunchIcon","attrs","intl","externalLinkIcon","generateRel","rel","includes","createElement","title","formatMessage","src","screenReaderText","style","height","width","additionalProps","href","propTypes","elementType","string","_ref2","node","isRequired","oneOf","func","bool","defaultProps","undefined","displayName"],"sources":["../../src/Hyperlink/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {\n type BsPrefixRefForwardingComponent as ComponentWithAsProp,\n type BsPrefixProps,\n} from 'react-bootstrap/esm/helpers';\nimport { defineMessages, useIntl } from 'react-intl';\nimport { Launch } from '../../icons';\nimport Icon from '../Icon';\n// @ts-ignore\nimport { customPropTypeRequirement } from '../utils/propTypes/utils';\n\nexport interface HyperlinkProps extends BsPrefixProps, Omit<React.ComponentPropsWithRef<'a'>, 'href' | 'target'> {\n /** specifies the URL */\n destination?: string;\n /** Content of the hyperlink */\n children: React.ReactNode;\n /** Custom class names for the hyperlink */\n className?: string;\n /** Alt text for the icon indicating that this link opens in a new tab, if target=\"_blank\". e.g. _(\"in a new tab\") */\n externalLinkAlternativeText?: string;\n /** Tooltip text for the \"opens in new tab\" icon, if target=\"_blank\". e.g. _(\"Opens in a new tab\"). */\n externalLinkTitle?: string;\n /** type of hyperlink */\n variant?: 'default' | 'muted' | 'brand';\n /** Display the link with an underline. By default, it is only underlined on hover. */\n isInline?: boolean;\n /** specify if we need to show launch Icon. By default, it will be visible. */\n showLaunchIcon?: boolean;\n /** specifies where the link should open. The default behavior is `_self`, which means that the URL will be\n * loaded into the same browsing context as the current one.\n * If the target is `_blank` (opening a new window) `rel='noopener'` will be added to the anchor tag to prevent\n * any potential [reverse tabnabbing attack](https://www.owasp.org/index.php/Reverse_Tabnabbing).\n */\n target?: '_blank' | '_self';\n}\n\nexport type HyperlinkType = ComponentWithAsProp<'a', HyperlinkProps>;\n\nconst messages = defineMessages({\n externalLinkAltText: {\n id: 'Hyperlink.externalLinkAltText',\n defaultMessage: 'in a new tab',\n },\n externalLinkTitle: {\n id: 'Hyperlink.externalLinkTitle',\n defaultMessage: 'Opens in a new tab',\n },\n});\n\nconst Hyperlink = forwardRef<HTMLAnchorElement, HyperlinkProps>(({\n as: Component = 'a',\n className,\n destination,\n children,\n target = '_self',\n onClick,\n externalLinkAlternativeText,\n externalLinkTitle,\n variant = 'default',\n isInline = false,\n showLaunchIcon = true,\n ...attrs\n}, ref) => {\n const intl = useIntl();\n let externalLinkIcon;\n\n if (target === '_blank') {\n const generateRel = () => {\n let { rel } = attrs;\n if (!rel) {\n return 'noopener noreferrer';\n }\n if (!rel.includes('noopener')) {\n rel += ' noopener';\n }\n if (!rel.includes('noreferrer')) {\n rel += ' noreferrer';\n }\n return rel;\n };\n\n // Add this rel attribute to prevent Reverse Tabnabbing\n attrs.rel = generateRel();\n if (showLaunchIcon) {\n externalLinkIcon = (\n <span\n className=\"pgn__hyperlink__external-icon\"\n title={externalLinkTitle || intl.formatMessage(messages.externalLinkTitle)}\n >\n <Icon\n src={Launch}\n screenReaderText={externalLinkAlternativeText || intl.formatMessage(messages.externalLinkAltText)}\n style={{ height: '1em', width: '1em' }}\n data-testid=\"hyperlink-icon\"\n />\n </span>\n );\n }\n }\n\n const additionalProps: Record<string, any> = { ...attrs };\n if (destination) {\n additionalProps.href = destination;\n }\n\n return (\n <Component\n ref={ref}\n className={classNames(\n 'pgn__hyperlink',\n `${variant}-link`,\n {\n 'standalone-link': !isInline,\n 'inline-link': isInline,\n },\n className,\n )}\n target={target}\n onClick={onClick}\n {...additionalProps}\n >\n {children}\n {externalLinkIcon}\n </Component>\n );\n});\n\nHyperlink.propTypes = {\n /** specifies the component element type to render for the hyperlink */\n // @ts-ignore\n as: PropTypes.elementType,\n /** specifies the URL; required iff `as` prop is a standard anchor tag */\n destination: customPropTypeRequirement(\n PropTypes.string,\n ({ as }: { as: React.ElementType }) => as && as === 'a',\n // \"[`destination` is required when]...\"\n 'the `as` prop is a standard anchor element (i.e., \"a\")',\n ),\n /** Content of the hyperlink */\n // @ts-ignore\n children: PropTypes.node.isRequired,\n /** Custom class names for the hyperlink */\n className: PropTypes.string,\n /** specifies where the link should open. The default behavior is `_self`, which means that the URL will be\n * loaded into the same browsing context as the current one.\n * If the target is `_blank` (opening a new window) `rel='noopener'` will be added to the anchor tag to prevent\n * any potential [reverse tabnabbing attack](https://www.owasp.org/index.php/Reverse_Tabnabbing).\n */\n target: PropTypes.oneOf(['_blank', '_self']),\n /** specifies the callback function when the link is clicked */\n onClick: PropTypes.func,\n /** Alt text for the icon indicating that this link opens in a new tab, if target=\"_blank\". e.g. _(\"in a new tab\") */\n externalLinkAlternativeText: PropTypes.string,\n /** Tooltip text for the \"opens in new tab\" icon, if target=\"_blank\". e.g. _(\"Opens in a new tab\"). */\n externalLinkTitle: PropTypes.string,\n /** type of hyperlink */\n variant: PropTypes.oneOf(['default', 'muted', 'brand']),\n /** Display the link with an underline. By default, it is only underlined on hover. */\n isInline: PropTypes.bool,\n /** specify if we need to show launch Icon. By default, it will be visible. */\n showLaunchIcon: PropTypes.bool,\n};\n\nHyperlink.defaultProps = {\n as: 'a',\n className: undefined,\n destination: undefined,\n externalLinkAlternativeText: undefined,\n externalLinkTitle: undefined,\n isInline: false,\n onClick: undefined,\n showLaunchIcon: true,\n target: '_self',\n variant: 'default',\n};\n\nHyperlink.displayName = 'Hyperlink';\n\nexport default Hyperlink;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","defineMessages","useIntl","Launch","Icon","customPropTypeRequirement","messages","externalLinkAltText","id","defaultMessage","externalLinkTitle","Hyperlink","as","Component","className","destination","children","target","onClick","externalLinkAlternativeText","variant","isInline","showLaunchIcon","attrs","ref","intl","externalLinkIcon","generateRel","rel","includes","createElement","title","formatMessage","src","screenReaderText","style","height","width","additionalProps","href","propTypes","elementType","string","node","isRequired","oneOf","func","bool","defaultProps","undefined","displayName"],"sources":["../../src/Hyperlink/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {\n type BsPrefixRefForwardingComponent as ComponentWithAsProp,\n type BsPrefixProps,\n} from 'react-bootstrap/esm/helpers';\nimport { defineMessages, useIntl } from 'react-intl';\nimport { Launch } from '../../icons';\nimport Icon from '../Icon';\n// @ts-ignore\nimport { customPropTypeRequirement } from '../utils/propTypes/utils';\n\nexport interface HyperlinkProps extends BsPrefixProps, Omit<React.ComponentPropsWithRef<'a'>, 'href' | 'target'> {\n /** specifies the URL */\n destination?: string;\n /** Content of the hyperlink */\n children: React.ReactNode;\n /** Custom class names for the hyperlink */\n className?: string;\n /** Alt text for the icon indicating that this link opens in a new tab, if target=\"_blank\". e.g. _(\"in a new tab\") */\n externalLinkAlternativeText?: string;\n /** Tooltip text for the \"opens in new tab\" icon, if target=\"_blank\". e.g. _(\"Opens in a new tab\"). */\n externalLinkTitle?: string;\n /** type of hyperlink */\n variant?: 'default' | 'muted' | 'brand';\n /** Display the link with an underline. By default, it is only underlined on hover. */\n isInline?: boolean;\n /** specify if we need to show launch Icon. By default, it will be visible. */\n showLaunchIcon?: boolean;\n /** specifies where the link should open. The default behavior is `_self`, which means that the URL will be\n * loaded into the same browsing context as the current one.\n * If the target is `_blank` (opening a new window) `rel='noopener'` will be added to the anchor tag to prevent\n * any potential [reverse tabnabbing attack](https://www.owasp.org/index.php/Reverse_Tabnabbing).\n */\n target?: '_blank' | '_self';\n}\n\nexport type HyperlinkType = ComponentWithAsProp<'a', HyperlinkProps>;\n\nconst messages = defineMessages({\n externalLinkAltText: {\n id: 'Hyperlink.externalLinkAltText',\n defaultMessage: 'in a new tab',\n },\n externalLinkTitle: {\n id: 'Hyperlink.externalLinkTitle',\n defaultMessage: 'Opens in a new tab',\n },\n});\n\nconst Hyperlink = forwardRef<HTMLAnchorElement, HyperlinkProps>(({\n as: Component = 'a',\n className,\n destination,\n children,\n target = '_self',\n onClick,\n externalLinkAlternativeText,\n externalLinkTitle,\n variant = 'default',\n isInline = false,\n showLaunchIcon = true,\n ...attrs\n}, ref) => {\n const intl = useIntl();\n let externalLinkIcon;\n\n if (target === '_blank') {\n const generateRel = () => {\n let { rel } = attrs;\n if (!rel) {\n return 'noopener noreferrer';\n }\n if (!rel.includes('noopener')) {\n rel += ' noopener';\n }\n if (!rel.includes('noreferrer')) {\n rel += ' noreferrer';\n }\n return rel;\n };\n\n // Add this rel attribute to prevent Reverse Tabnabbing\n attrs.rel = generateRel();\n if (showLaunchIcon) {\n externalLinkIcon = (\n <span\n className=\"pgn__hyperlink__external-icon\"\n title={externalLinkTitle || intl.formatMessage(messages.externalLinkTitle)}\n >\n <Icon\n src={Launch}\n screenReaderText={externalLinkAlternativeText || intl.formatMessage(messages.externalLinkAltText)}\n style={{ height: '1em', width: '1em' }}\n data-testid=\"hyperlink-icon\"\n />\n </span>\n );\n }\n }\n\n const additionalProps: Record<string, any> = { ...attrs };\n if (destination) {\n additionalProps.href = destination;\n }\n\n return (\n <Component\n ref={ref}\n className={classNames(\n 'pgn__hyperlink',\n `${variant}-link`,\n {\n 'standalone-link': !isInline,\n 'inline-link': isInline,\n },\n className,\n )}\n target={target}\n onClick={onClick}\n {...additionalProps}\n >\n {children}\n {externalLinkIcon}\n </Component>\n );\n});\n\nHyperlink.propTypes = {\n /** specifies the component element type to render for the hyperlink */\n // @ts-ignore\n as: PropTypes.elementType,\n /** specifies the URL; required iff `as` prop is a standard anchor tag */\n destination: customPropTypeRequirement(\n PropTypes.string,\n ({ as }: { as: React.ElementType }) => as && as === 'a',\n // \"[`destination` is required when]...\"\n 'the `as` prop is a standard anchor element (i.e., \"a\")',\n ),\n /** Content of the hyperlink */\n // @ts-ignore\n children: PropTypes.node.isRequired,\n /** Custom class names for the hyperlink */\n className: PropTypes.string,\n /** specifies where the link should open. The default behavior is `_self`, which means that the URL will be\n * loaded into the same browsing context as the current one.\n * If the target is `_blank` (opening a new window) `rel='noopener'` will be added to the anchor tag to prevent\n * any potential [reverse tabnabbing attack](https://www.owasp.org/index.php/Reverse_Tabnabbing).\n */\n target: PropTypes.oneOf(['_blank', '_self']),\n /** specifies the callback function when the link is clicked */\n onClick: PropTypes.func,\n /** Alt text for the icon indicating that this link opens in a new tab, if target=\"_blank\". e.g. _(\"in a new tab\") */\n externalLinkAlternativeText: PropTypes.string,\n /** Tooltip text for the \"opens in new tab\" icon, if target=\"_blank\". e.g. _(\"Opens in a new tab\"). */\n externalLinkTitle: PropTypes.string,\n /** type of hyperlink */\n variant: PropTypes.oneOf(['default', 'muted', 'brand']),\n /** Display the link with an underline. By default, it is only underlined on hover. */\n isInline: PropTypes.bool,\n /** specify if we need to show launch Icon. By default, it will be visible. */\n showLaunchIcon: PropTypes.bool,\n};\n\nHyperlink.defaultProps = {\n as: 'a',\n className: undefined,\n destination: undefined,\n externalLinkAlternativeText: undefined,\n externalLinkTitle: undefined,\n isInline: false,\n onClick: undefined,\n showLaunchIcon: true,\n target: '_self',\n variant: 'default',\n};\n\nHyperlink.displayName = 'Hyperlink';\n\nexport default Hyperlink;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Icon/index.js
CHANGED
|
@@ -11,17 +11,16 @@ import withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';
|
|
|
11
11
|
* - focusable is set to false on the svg in all cases as a workaround for an ie11 bug
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
function Icon(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} = _ref;
|
|
14
|
+
function Icon({
|
|
15
|
+
src: Component,
|
|
16
|
+
id,
|
|
17
|
+
className,
|
|
18
|
+
hidden,
|
|
19
|
+
screenReaderText,
|
|
20
|
+
svgAttrs,
|
|
21
|
+
size,
|
|
22
|
+
...attrs
|
|
23
|
+
}) {
|
|
25
24
|
if (Component) {
|
|
26
25
|
// If no aria label is specified, hide this icon from screenreaders
|
|
27
26
|
const hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];
|
package/dist/Icon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","withDeprecatedProps","DeprTypes","Icon","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","withDeprecatedProps","DeprTypes","Icon","src","Component","id","className","hidden","screenReaderText","svgAttrs","size","attrs","hasAriaLabel","mergedSvgProps","undefined","createElement","role","focusable","Fragment","propTypes","elementType","shape","string","oneOf","bool","oneOfType","element","defaultProps","deprType","FORMAT","expect","value","transform","Array","isArray","join","message"],"sources":["../../src/Icon/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\n/**\n * An svg with an \"img\" role must satisfy the following a11y requirements\n * - It needs a text alternative in the form of aria-label, aria-labelledby, or screen-reader only text.\n * - If no label is desired, aria-label will be set to an empty string and aria-hidden to \"true\".\n * - focusable is set to false on the svg in all cases as a workaround for an ie11 bug\n */\n\nfunction Icon({\n src: Component,\n id,\n className,\n hidden,\n screenReaderText,\n svgAttrs,\n size,\n ...attrs\n}) {\n if (Component) {\n // If no aria label is specified, hide this icon from screenreaders\n const hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];\n\n const mergedSvgProps = { ...svgAttrs };\n\n if (!hasAriaLabel) {\n mergedSvgProps['aria-label'] = undefined;\n mergedSvgProps['aria-hidden'] = true;\n }\n\n return (\n <span\n className={classNames('pgn__icon', { [`pgn__icon__${size}`]: !!size }, className)}\n id={id}\n {...attrs}\n >\n <Component\n role=\"img\"\n focusable={false}\n {...mergedSvgProps}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <>\n <span\n id={id || newId('Icon')}\n className={className}\n aria-hidden={hidden}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </>\n );\n}\n\nIcon.propTypes = {\n /**\n * An icon component to render.\n * Example import of a Paragon icon component: `import { Check } from '@openedx/paragon/icons';`\n */\n src: PropTypes.elementType,\n /** HTML element attributes to pass through to the underlying svg element */\n svgAttrs: PropTypes.shape({\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n }),\n /**\n * the `id` property of the Icon element, by default this value is generated\n * with the `newId` function with the `prefix` of `Icon`.\n */\n id: PropTypes.string,\n /** The size of the icon. */\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),\n /** A class name that will define what the Icon looks like. */\n className: PropTypes.string,\n /**\n * a boolean that determines the value of `aria-hidden` attribute on the Icon span,\n * this value is `true` by default.\n */\n hidden: PropTypes.bool,\n /**\n * a string or an element that will be used on a secondary span leveraging the `sr-only` style\n * for screenreader only text, this value is `undefined` by default. This value is recommended for use unless\n * the Icon is being used in a way that is purely decorative or provides no additional context for screen\n * reader users. This field should be thought of the same way an `alt` attribute would be used for `image` tags.\n */\n screenReaderText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nIcon.defaultProps = {\n src: null,\n svgAttrs: {},\n id: undefined,\n hidden: true,\n screenReaderText: undefined,\n size: undefined,\n className: undefined,\n};\n\nexport default withDeprecatedProps(Icon, 'Icon', {\n className: {\n deprType: DeprTypes.FORMAT,\n expect: value => typeof value === 'string',\n transform: value => (Array.isArray(value) ? value.join(' ') : value),\n message: 'It should be a string.',\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import { type Placement } from 'react-bootstrap/Overlay';
|
|
4
3
|
interface Props extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
|
+
/** Component that renders the icon, currently defaults to `Icon` */
|
|
5
5
|
iconAs?: React.ComponentType<any>;
|
|
6
6
|
/** Additional CSS class[es] to apply to this button */
|
|
7
7
|
className?: string;
|
|
@@ -19,7 +19,7 @@ interface Props extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
19
19
|
iconClassNames?: string;
|
|
20
20
|
/** Click handler for the button */
|
|
21
21
|
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
22
|
-
/**
|
|
22
|
+
/** Whether to show the `IconButton` in an active state, whose styling is distinct from default state */
|
|
23
23
|
isActive?: boolean;
|
|
24
24
|
/** @deprecated Using FontAwesome icons is deprecated. Instead, pass iconAs={Icon} src={...} */
|
|
25
25
|
icon?: {
|
|
@@ -27,319 +27,23 @@ interface Props extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
27
27
|
iconName?: string;
|
|
28
28
|
icon?: any[];
|
|
29
29
|
};
|
|
30
|
-
/** Type of button (uses Bootstrap options) */
|
|
30
|
+
/** Type of button (uses Bootstrap options). */
|
|
31
31
|
variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand';
|
|
32
|
-
/**
|
|
32
|
+
/** Size of button to render */
|
|
33
33
|
size?: 'sm' | 'md' | 'inline';
|
|
34
|
-
/**
|
|
34
|
+
/** No children */
|
|
35
35
|
children?: never;
|
|
36
36
|
}
|
|
37
37
|
interface PropsWithTooltip extends Props {
|
|
38
|
-
/** choose from https://popper.js.org/docs/v2/constructors/#options */
|
|
39
|
-
tooltipPlacement
|
|
40
|
-
/**
|
|
38
|
+
/** Tooltip placement can be top, left, right etc, choose from https://popper.js.org/docs/v2/constructors/#options */
|
|
39
|
+
tooltipPlacement?: Placement;
|
|
40
|
+
/** Any content to pass to tooltip content area */
|
|
41
41
|
tooltipContent: React.ReactNode;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* An icon button wrapped in overlaytrigger to display a tooltip.
|
|
45
45
|
*/
|
|
46
46
|
declare function IconButtonWithTooltip({ tooltipPlacement, tooltipContent, ...props }: PropsWithTooltip): import("react/jsx-runtime").JSX.Element;
|
|
47
|
-
declare namespace IconButtonWithTooltip {
|
|
48
|
-
var defaultProps: {
|
|
49
|
-
tooltipPlacement: string;
|
|
50
|
-
iconAs?: React.ComponentType<any> | undefined;
|
|
51
|
-
className?: string | undefined;
|
|
52
|
-
alt?: string | undefined;
|
|
53
|
-
invertColors?: boolean | undefined;
|
|
54
|
-
src?: React.ComponentType<{}> | undefined;
|
|
55
|
-
iconClassNames?: string | undefined;
|
|
56
|
-
onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
57
|
-
isActive?: boolean | undefined;
|
|
58
|
-
icon?: {
|
|
59
|
-
prefix?: string | undefined;
|
|
60
|
-
iconName?: string | undefined;
|
|
61
|
-
icon?: any[] | undefined;
|
|
62
|
-
} | undefined;
|
|
63
|
-
variant?: "primary" | "secondary" | "success" | "danger" | "warning" | "dark" | "light" | "black" | "brand" | undefined;
|
|
64
|
-
size?: "sm" | "md" | "inline" | undefined;
|
|
65
|
-
children?: undefined;
|
|
66
|
-
defaultChecked?: boolean | undefined;
|
|
67
|
-
defaultValue?: string | number | readonly string[] | undefined;
|
|
68
|
-
suppressContentEditableWarning?: boolean | undefined;
|
|
69
|
-
suppressHydrationWarning?: boolean | undefined;
|
|
70
|
-
accessKey?: string | undefined;
|
|
71
|
-
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | (string & {}) | undefined;
|
|
72
|
-
autoFocus?: boolean | undefined;
|
|
73
|
-
contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
74
|
-
contextMenu?: string | undefined;
|
|
75
|
-
dir?: string | undefined;
|
|
76
|
-
draggable?: (boolean | "true" | "false") | undefined;
|
|
77
|
-
enterKeyHint?: "search" | "enter" | "done" | "go" | "next" | "previous" | "send" | undefined;
|
|
78
|
-
hidden?: boolean | undefined;
|
|
79
|
-
id?: string | undefined;
|
|
80
|
-
lang?: string | undefined;
|
|
81
|
-
nonce?: string | undefined;
|
|
82
|
-
slot?: string | undefined;
|
|
83
|
-
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
84
|
-
style?: React.CSSProperties | undefined;
|
|
85
|
-
tabIndex?: number | undefined;
|
|
86
|
-
title?: string | undefined;
|
|
87
|
-
translate?: "yes" | "no" | undefined;
|
|
88
|
-
radioGroup?: string | undefined;
|
|
89
|
-
role?: React.AriaRole | undefined;
|
|
90
|
-
about?: string | undefined;
|
|
91
|
-
content?: string | undefined;
|
|
92
|
-
datatype?: string | undefined;
|
|
93
|
-
inlist?: any;
|
|
94
|
-
prefix?: string | undefined;
|
|
95
|
-
property?: string | undefined;
|
|
96
|
-
rel?: string | undefined;
|
|
97
|
-
resource?: string | undefined;
|
|
98
|
-
rev?: string | undefined;
|
|
99
|
-
typeof?: string | undefined;
|
|
100
|
-
vocab?: string | undefined;
|
|
101
|
-
autoCorrect?: string | undefined;
|
|
102
|
-
autoSave?: string | undefined;
|
|
103
|
-
color?: string | undefined;
|
|
104
|
-
itemProp?: string | undefined;
|
|
105
|
-
itemScope?: boolean | undefined;
|
|
106
|
-
itemType?: string | undefined;
|
|
107
|
-
itemID?: string | undefined;
|
|
108
|
-
itemRef?: string | undefined;
|
|
109
|
-
results?: number | undefined;
|
|
110
|
-
security?: string | undefined;
|
|
111
|
-
unselectable?: "off" | "on" | undefined;
|
|
112
|
-
inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
|
|
113
|
-
is?: string | undefined;
|
|
114
|
-
"aria-activedescendant"?: string | undefined;
|
|
115
|
-
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
116
|
-
"aria-autocomplete"?: "inline" | "list" | "none" | "both" | undefined;
|
|
117
|
-
"aria-braillelabel"?: string | undefined;
|
|
118
|
-
"aria-brailleroledescription"?: string | undefined;
|
|
119
|
-
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
120
|
-
"aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
121
|
-
"aria-colcount"?: number | undefined;
|
|
122
|
-
"aria-colindex"?: number | undefined;
|
|
123
|
-
"aria-colindextext"?: string | undefined;
|
|
124
|
-
"aria-colspan"?: number | undefined;
|
|
125
|
-
"aria-controls"?: string | undefined;
|
|
126
|
-
"aria-current"?: boolean | "time" | "step" | "true" | "false" | "page" | "location" | "date" | undefined;
|
|
127
|
-
"aria-describedby"?: string | undefined;
|
|
128
|
-
"aria-description"?: string | undefined;
|
|
129
|
-
"aria-details"?: string | undefined;
|
|
130
|
-
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
131
|
-
"aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
|
|
132
|
-
"aria-errormessage"?: string | undefined;
|
|
133
|
-
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
134
|
-
"aria-flowto"?: string | undefined;
|
|
135
|
-
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
136
|
-
"aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
|
|
137
|
-
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
138
|
-
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
139
|
-
"aria-keyshortcuts"?: string | undefined;
|
|
140
|
-
"aria-label"?: string | undefined;
|
|
141
|
-
"aria-labelledby"?: string | undefined;
|
|
142
|
-
"aria-level"?: number | undefined;
|
|
143
|
-
"aria-live"?: "off" | "assertive" | "polite" | undefined;
|
|
144
|
-
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
145
|
-
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
146
|
-
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
147
|
-
"aria-orientation"?: "horizontal" | "vertical" | undefined;
|
|
148
|
-
"aria-owns"?: string | undefined;
|
|
149
|
-
"aria-placeholder"?: string | undefined;
|
|
150
|
-
"aria-posinset"?: number | undefined;
|
|
151
|
-
"aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
152
|
-
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
153
|
-
"aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
154
|
-
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
155
|
-
"aria-roledescription"?: string | undefined;
|
|
156
|
-
"aria-rowcount"?: number | undefined;
|
|
157
|
-
"aria-rowindex"?: number | undefined;
|
|
158
|
-
"aria-rowindextext"?: string | undefined;
|
|
159
|
-
"aria-rowspan"?: number | undefined;
|
|
160
|
-
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
161
|
-
"aria-setsize"?: number | undefined;
|
|
162
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
|
|
163
|
-
"aria-valuemax"?: number | undefined;
|
|
164
|
-
"aria-valuemin"?: number | undefined;
|
|
165
|
-
"aria-valuenow"?: number | undefined;
|
|
166
|
-
"aria-valuetext"?: string | undefined;
|
|
167
|
-
dangerouslySetInnerHTML?: {
|
|
168
|
-
__html: string | TrustedHTML;
|
|
169
|
-
} | undefined;
|
|
170
|
-
onCopy?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
171
|
-
onCopyCapture?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
172
|
-
onCut?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
173
|
-
onCutCapture?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
174
|
-
onPaste?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
175
|
-
onPasteCapture?: React.ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
176
|
-
onCompositionEnd?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
177
|
-
onCompositionEndCapture?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
178
|
-
onCompositionStart?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
179
|
-
onCompositionStartCapture?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
180
|
-
onCompositionUpdate?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
181
|
-
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLButtonElement> | undefined;
|
|
182
|
-
onFocus?: React.FocusEventHandler<HTMLButtonElement> | undefined;
|
|
183
|
-
onFocusCapture?: React.FocusEventHandler<HTMLButtonElement> | undefined;
|
|
184
|
-
onBlur?: React.FocusEventHandler<HTMLButtonElement> | undefined;
|
|
185
|
-
onBlurCapture?: React.FocusEventHandler<HTMLButtonElement> | undefined;
|
|
186
|
-
onChange?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
187
|
-
onChangeCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
188
|
-
onBeforeInput?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
189
|
-
onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
190
|
-
onInput?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
191
|
-
onInputCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
192
|
-
onReset?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
193
|
-
onResetCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
194
|
-
onSubmit?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
195
|
-
onSubmitCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
196
|
-
onInvalid?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
197
|
-
onInvalidCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
|
|
198
|
-
onLoad?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
199
|
-
onLoadCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
200
|
-
onError?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
201
|
-
onErrorCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
202
|
-
onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
203
|
-
onKeyDownCapture?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
204
|
-
onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
205
|
-
onKeyPressCapture?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
206
|
-
onKeyUp?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
207
|
-
onKeyUpCapture?: React.KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
208
|
-
onAbort?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
209
|
-
onAbortCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
210
|
-
onCanPlay?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
211
|
-
onCanPlayCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
212
|
-
onCanPlayThrough?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
213
|
-
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
214
|
-
onDurationChange?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
215
|
-
onDurationChangeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
216
|
-
onEmptied?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
217
|
-
onEmptiedCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
218
|
-
onEncrypted?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
219
|
-
onEncryptedCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
220
|
-
onEnded?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
221
|
-
onEndedCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
222
|
-
onLoadedData?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
223
|
-
onLoadedDataCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
224
|
-
onLoadedMetadata?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
225
|
-
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
226
|
-
onLoadStart?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
227
|
-
onLoadStartCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
228
|
-
onPause?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
229
|
-
onPauseCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
230
|
-
onPlay?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
231
|
-
onPlayCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
232
|
-
onPlaying?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
233
|
-
onPlayingCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
234
|
-
onProgress?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
235
|
-
onProgressCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
236
|
-
onRateChange?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
237
|
-
onRateChangeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
238
|
-
onResize?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
239
|
-
onResizeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
240
|
-
onSeeked?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
241
|
-
onSeekedCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
242
|
-
onSeeking?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
243
|
-
onSeekingCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
244
|
-
onStalled?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
245
|
-
onStalledCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
246
|
-
onSuspend?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
247
|
-
onSuspendCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
248
|
-
onTimeUpdate?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
249
|
-
onTimeUpdateCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
250
|
-
onVolumeChange?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
251
|
-
onVolumeChangeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
252
|
-
onWaiting?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
253
|
-
onWaitingCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
254
|
-
onAuxClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
255
|
-
onAuxClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
256
|
-
onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
257
|
-
onContextMenu?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
258
|
-
onContextMenuCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
259
|
-
onDoubleClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
260
|
-
onDoubleClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
261
|
-
onDrag?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
262
|
-
onDragCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
263
|
-
onDragEnd?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
264
|
-
onDragEndCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
265
|
-
onDragEnter?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
266
|
-
onDragEnterCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
267
|
-
onDragExit?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
268
|
-
onDragExitCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
269
|
-
onDragLeave?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
270
|
-
onDragLeaveCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
271
|
-
onDragOver?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
272
|
-
onDragOverCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
273
|
-
onDragStart?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
274
|
-
onDragStartCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
275
|
-
onDrop?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
276
|
-
onDropCapture?: React.DragEventHandler<HTMLButtonElement> | undefined;
|
|
277
|
-
onMouseDown?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
278
|
-
onMouseDownCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
279
|
-
onMouseEnter?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
280
|
-
onMouseLeave?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
281
|
-
onMouseMove?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
282
|
-
onMouseMoveCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
283
|
-
onMouseOut?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
284
|
-
onMouseOutCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
285
|
-
onMouseOver?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
286
|
-
onMouseOverCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
287
|
-
onMouseUp?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
288
|
-
onMouseUpCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
|
|
289
|
-
onSelect?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
290
|
-
onSelectCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
|
|
291
|
-
onTouchCancel?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
292
|
-
onTouchCancelCapture?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
293
|
-
onTouchEnd?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
294
|
-
onTouchEndCapture?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
295
|
-
onTouchMove?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
296
|
-
onTouchMoveCapture?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
297
|
-
onTouchStart?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
298
|
-
onTouchStartCapture?: React.TouchEventHandler<HTMLButtonElement> | undefined;
|
|
299
|
-
onPointerDown?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
300
|
-
onPointerDownCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
301
|
-
onPointerMove?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
302
|
-
onPointerMoveCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
303
|
-
onPointerUp?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
304
|
-
onPointerUpCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
305
|
-
onPointerCancel?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
306
|
-
onPointerCancelCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
307
|
-
onPointerEnter?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
308
|
-
onPointerLeave?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
309
|
-
onPointerOver?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
310
|
-
onPointerOverCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
311
|
-
onPointerOut?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
312
|
-
onPointerOutCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
313
|
-
onGotPointerCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
314
|
-
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
315
|
-
onLostPointerCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
316
|
-
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLButtonElement> | undefined;
|
|
317
|
-
onScroll?: React.UIEventHandler<HTMLButtonElement> | undefined;
|
|
318
|
-
onScrollCapture?: React.UIEventHandler<HTMLButtonElement> | undefined;
|
|
319
|
-
onWheel?: React.WheelEventHandler<HTMLButtonElement> | undefined;
|
|
320
|
-
onWheelCapture?: React.WheelEventHandler<HTMLButtonElement> | undefined;
|
|
321
|
-
onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
322
|
-
onAnimationStartCapture?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
323
|
-
onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
324
|
-
onAnimationEndCapture?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
325
|
-
onAnimationIteration?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
326
|
-
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLButtonElement> | undefined;
|
|
327
|
-
onTransitionEnd?: React.TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
328
|
-
onTransitionEndCapture?: React.TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
329
|
-
ref?: React.LegacyRef<HTMLButtonElement> | undefined;
|
|
330
|
-
key?: React.Key | null | undefined;
|
|
331
|
-
};
|
|
332
|
-
var propTypes: {
|
|
333
|
-
/** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */
|
|
334
|
-
tooltipPlacement: PropTypes.Requireable<string>;
|
|
335
|
-
/** any valid JSX or text to be rendered as tooltip contents */
|
|
336
|
-
tooltipContent: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
|
337
|
-
/** Type of button (uses Bootstrap options) */
|
|
338
|
-
variant: PropTypes.Requireable<string>;
|
|
339
|
-
/** Changes icon styles for dark background */
|
|
340
|
-
invertColors: PropTypes.Requireable<boolean>;
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
47
|
declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLButtonElement>> & {
|
|
344
48
|
IconButtonWithTooltip: typeof IconButtonWithTooltip;
|
|
345
49
|
};
|
package/dist/IconButton/index.js
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import classNames from 'classnames';
|
|
4
3
|
import { OverlayTrigger } from '../Overlay';
|
|
5
4
|
import Tooltip from '../Tooltip';
|
|
6
5
|
import Icon from '../Icon';
|
|
7
|
-
const IconButton = /*#__PURE__*/React.forwardRef((
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} = _ref;
|
|
6
|
+
const IconButton = /*#__PURE__*/React.forwardRef(({
|
|
7
|
+
className,
|
|
8
|
+
alt,
|
|
9
|
+
invertColors = false,
|
|
10
|
+
icon,
|
|
11
|
+
src,
|
|
12
|
+
iconClassNames,
|
|
13
|
+
onClick = () => {},
|
|
14
|
+
size = 'md',
|
|
15
|
+
variant = 'primary',
|
|
16
|
+
iconAs = Icon,
|
|
17
|
+
isActive = false,
|
|
18
|
+
children,
|
|
19
|
+
// unused, just here because we don't want it to be part of 'attrs'
|
|
20
|
+
...attrs
|
|
21
|
+
}, ref) => {
|
|
24
22
|
const invert = invertColors ? 'inverse-' : '';
|
|
25
23
|
const activeStyle = isActive ? `${variant}-` : '';
|
|
26
24
|
const IconComponent = iconAs;
|
|
@@ -41,61 +39,14 @@ const IconButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
41
39
|
src: src
|
|
42
40
|
})));
|
|
43
41
|
});
|
|
44
|
-
IconButton.defaultProps = {
|
|
45
|
-
iconAs: Icon,
|
|
46
|
-
src: undefined,
|
|
47
|
-
icon: undefined,
|
|
48
|
-
iconClassNames: undefined,
|
|
49
|
-
className: undefined,
|
|
50
|
-
invertColors: false,
|
|
51
|
-
variant: 'primary',
|
|
52
|
-
size: 'md',
|
|
53
|
-
onClick: () => {},
|
|
54
|
-
isActive: false,
|
|
55
|
-
children: undefined
|
|
56
|
-
};
|
|
57
|
-
IconButton.propTypes = {
|
|
58
|
-
/** A custom class name. */
|
|
59
|
-
className: PropTypes.string,
|
|
60
|
-
/** Component that renders the icon, currently defaults to `Icon` */
|
|
61
|
-
iconAs: PropTypes.elementType,
|
|
62
|
-
/** An icon component to render. Example import of a Paragon icon component:
|
|
63
|
-
* `import { Check } from '@openedx/paragon/icons';`
|
|
64
|
-
* */
|
|
65
|
-
src: PropTypes.elementType,
|
|
66
|
-
/** Alt text for your icon. For best practice, avoid using alt text to describe
|
|
67
|
-
* the image in the `IconButton`. Instead, we recommend describing the function
|
|
68
|
-
* of the button. */
|
|
69
|
-
alt: PropTypes.string.isRequired,
|
|
70
|
-
/** Changes icon styles for dark background */
|
|
71
|
-
invertColors: PropTypes.bool,
|
|
72
|
-
/** Accepts a [Paragon icon](https://paragon-openedx.netlify.app/foundations/icons) */
|
|
73
|
-
icon: PropTypes.shape({
|
|
74
|
-
prefix: PropTypes.string,
|
|
75
|
-
iconName: PropTypes.string,
|
|
76
|
-
// eslint-disable-next-line react/forbid-prop-types
|
|
77
|
-
icon: PropTypes.array
|
|
78
|
-
}),
|
|
79
|
-
/** Extra class names that will be added to the icon */
|
|
80
|
-
iconClassNames: PropTypes.string,
|
|
81
|
-
/** Click handler for the button */
|
|
82
|
-
onClick: PropTypes.func,
|
|
83
|
-
/** Type of button (uses Bootstrap options) */
|
|
84
|
-
variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),
|
|
85
|
-
/** size of button to render */
|
|
86
|
-
size: PropTypes.oneOf(['sm', 'md', 'inline']),
|
|
87
|
-
/** whether to show the `IconButton` in an active state, whose styling is distinct from default state */
|
|
88
|
-
isActive: PropTypes.bool
|
|
89
|
-
};
|
|
90
42
|
/**
|
|
91
43
|
* An icon button wrapped in overlaytrigger to display a tooltip.
|
|
92
44
|
*/
|
|
93
|
-
function IconButtonWithTooltip(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
} = _ref2;
|
|
45
|
+
function IconButtonWithTooltip({
|
|
46
|
+
tooltipPlacement = 'top',
|
|
47
|
+
tooltipContent,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
99
50
|
const invert = props.invertColors ? 'inverse-' : '';
|
|
100
51
|
return /*#__PURE__*/React.createElement(OverlayTrigger, {
|
|
101
52
|
placement: tooltipPlacement,
|
|
@@ -107,20 +58,6 @@ function IconButtonWithTooltip(_ref2) {
|
|
|
107
58
|
...props
|
|
108
59
|
}));
|
|
109
60
|
}
|
|
110
|
-
IconButtonWithTooltip.defaultProps = {
|
|
111
|
-
...IconButton.defaultProps,
|
|
112
|
-
tooltipPlacement: 'top'
|
|
113
|
-
};
|
|
114
|
-
IconButtonWithTooltip.propTypes = {
|
|
115
|
-
/** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */
|
|
116
|
-
tooltipPlacement: PropTypes.string,
|
|
117
|
-
/** any valid JSX or text to be rendered as tooltip contents */
|
|
118
|
-
tooltipContent: PropTypes.node.isRequired,
|
|
119
|
-
/** Type of button (uses Bootstrap options) */
|
|
120
|
-
variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),
|
|
121
|
-
/** Changes icon styles for dark background */
|
|
122
|
-
invertColors: PropTypes.bool
|
|
123
|
-
};
|
|
124
61
|
IconButton.IconButtonWithTooltip = IconButtonWithTooltip;
|
|
125
62
|
export default IconButton;
|
|
126
63
|
export { IconButtonWithTooltip };
|