@lidofinance/lido-app-ui 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -19
- package/dist/README.md +85 -19
- package/dist/cjs/accordion/Accordion.cjs +1 -0
- package/dist/cjs/accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/address/Address.cjs +50 -0
- package/dist/cjs/address/Address.cjs.map +1 -0
- package/dist/cjs/address/Address.module.css.cjs +6 -0
- package/dist/cjs/address/Address.module.css.cjs.map +1 -0
- package/dist/cjs/address-button/AddressButton.cjs +49 -0
- package/dist/cjs/address-button/AddressButton.cjs.map +1 -0
- package/dist/cjs/address-button/AddressButton.module.css.cjs +6 -0
- package/dist/cjs/address-button/AddressButton.module.css.cjs.map +1 -0
- package/dist/cjs/badge/Badge.cjs +1 -0
- package/dist/cjs/badge/Badge.cjs.map +1 -1
- package/dist/cjs/banner/Banner.cjs +1 -0
- package/dist/cjs/banner/Banner.cjs.map +1 -1
- package/dist/cjs/breadcrumbs/Breadcrumbs.cjs +55 -26
- package/dist/cjs/breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/dist/cjs/breadcrumbs/Breadcrumbs.module.css.cjs +1 -1
- package/dist/cjs/button/Button.cjs +15 -24
- package/dist/cjs/button/Button.cjs.map +1 -1
- package/dist/cjs/button/Button.module.css.cjs +1 -1
- package/dist/cjs/button/ButtonContent.cjs +50 -0
- package/dist/cjs/button/ButtonContent.cjs.map +1 -0
- package/dist/cjs/button/LinkButton.cjs +46 -0
- package/dist/cjs/button/LinkButton.cjs.map +1 -0
- package/dist/cjs/card/Card.cjs +1 -0
- package/dist/cjs/card/Card.cjs.map +1 -1
- package/dist/cjs/checkbox/Checkbox.cjs +1 -0
- package/dist/cjs/checkbox/Checkbox.cjs.map +1 -1
- package/dist/cjs/copy/Copy.cjs +55 -0
- package/dist/cjs/copy/Copy.cjs.map +1 -0
- package/dist/cjs/copy/Copy.module.css.cjs +6 -0
- package/dist/cjs/copy/Copy.module.css.cjs.map +1 -0
- package/dist/cjs/copy/useCopy.cjs +33 -0
- package/dist/cjs/copy/useCopy.cjs.map +1 -0
- package/dist/cjs/counter/Counter.cjs +6 -2
- package/dist/cjs/counter/Counter.cjs.map +1 -1
- package/dist/cjs/counter/CounterSlot.cjs +19 -2
- package/dist/cjs/counter/CounterSlot.cjs.map +1 -1
- package/dist/cjs/counter/CounterSlot.module.css.cjs +1 -1
- package/dist/cjs/data-list/DataList.cjs +1 -0
- package/dist/cjs/data-list/DataList.cjs.map +1 -1
- package/dist/cjs/data-list/DataList.module.css.cjs +1 -1
- package/dist/cjs/data-list/DataListRow.cjs +7 -12
- package/dist/cjs/data-list/DataListRow.cjs.map +1 -1
- package/dist/cjs/disclaimer/Disclaimer.cjs +10 -3
- package/dist/cjs/disclaimer/Disclaimer.cjs.map +1 -1
- package/dist/cjs/divider/Divider.cjs +5 -0
- package/dist/cjs/divider/Divider.cjs.map +1 -1
- package/dist/cjs/error-page/ErrorPage.cjs +14 -7
- package/dist/cjs/error-page/ErrorPage.cjs.map +1 -1
- package/dist/cjs/footer/Footer.cjs +10 -2
- package/dist/cjs/footer/Footer.cjs.map +1 -1
- package/dist/cjs/grid/Grid.cjs +7 -3
- package/dist/cjs/grid/Grid.cjs.map +1 -1
- package/dist/cjs/grid/Grid.module.css.cjs +1 -1
- package/dist/cjs/grid/GridItem.cjs +2 -0
- package/dist/cjs/grid/GridItem.cjs.map +1 -1
- package/dist/cjs/header/Header.cjs +10 -2
- package/dist/cjs/header/Header.cjs.map +1 -1
- package/dist/cjs/header/HeaderNav.cjs +33 -21
- package/dist/cjs/header/HeaderNav.cjs.map +1 -1
- package/dist/cjs/header/HeaderNav.module.css.cjs +1 -1
- package/dist/cjs/hex/Hex.cjs +41 -0
- package/dist/cjs/hex/Hex.cjs.map +1 -0
- package/dist/cjs/hex/Hex.module.css.cjs +6 -0
- package/dist/cjs/hex/Hex.module.css.cjs.map +1 -0
- package/dist/cjs/hex/trimHex.cjs +15 -0
- package/dist/cjs/hex/trimHex.cjs.map +1 -0
- package/dist/cjs/hidden/Hidden.cjs +10 -4
- package/dist/cjs/hidden/Hidden.cjs.map +1 -1
- package/dist/cjs/hooks/Portal.cjs +14 -11
- package/dist/cjs/hooks/Portal.cjs.map +1 -1
- package/dist/cjs/hooks/useBodyScrollLock.cjs +49 -13
- package/dist/cjs/hooks/useBodyScrollLock.cjs.map +1 -1
- package/dist/cjs/hooks/useEdgeFade.cjs +60 -0
- package/dist/cjs/hooks/useEdgeFade.cjs.map +1 -0
- package/dist/cjs/hooks/useEscape.cjs +8 -5
- package/dist/cjs/hooks/useEscape.cjs.map +1 -1
- package/dist/cjs/hooks/useFocusTrap.cjs +61 -24
- package/dist/cjs/hooks/useFocusTrap.cjs.map +1 -1
- package/dist/cjs/hooks/useHideOthers.cjs +51 -0
- package/dist/cjs/hooks/useHideOthers.cjs.map +1 -0
- package/dist/cjs/hooks/useOutsideClick.cjs +31 -4
- package/dist/cjs/hooks/useOutsideClick.cjs.map +1 -1
- package/dist/cjs/icon-button/CloseButton.cjs +27 -0
- package/dist/cjs/icon-button/CloseButton.cjs.map +1 -0
- package/dist/cjs/icon-button/IconButton.cjs +6 -1
- package/dist/cjs/icon-button/IconButton.cjs.map +1 -1
- package/dist/cjs/icon-button/IconButton.module.css.cjs +1 -1
- package/dist/cjs/icons/TokenIcon.cjs +2 -0
- package/dist/cjs/icons/TokenIcon.cjs.map +1 -1
- package/dist/cjs/identicon/Identicon.cjs +2 -0
- package/dist/cjs/identicon/Identicon.cjs.map +1 -1
- package/dist/cjs/index.cjs +67 -5
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.css +14 -4
- package/dist/cjs/info-tooltip/InfoTooltip.cjs +34 -0
- package/dist/cjs/info-tooltip/InfoTooltip.cjs.map +1 -0
- package/dist/cjs/info-tooltip/InfoTooltip.module.css.cjs +6 -0
- package/dist/cjs/info-tooltip/InfoTooltip.module.css.cjs.map +1 -0
- package/dist/cjs/input/Input.cjs +4 -8
- package/dist/cjs/input/Input.cjs.map +1 -1
- package/dist/cjs/input/Input.module.css.cjs +1 -1
- package/dist/cjs/link-provider/Anchor.cjs +23 -2
- package/dist/cjs/link-provider/Anchor.cjs.map +1 -1
- package/dist/cjs/link-provider/LinkProvider.cjs +1 -1
- package/dist/cjs/link-provider/LinkProvider.cjs.map +1 -1
- package/dist/cjs/logo/Logo.cjs +8 -0
- package/dist/cjs/logo/Logo.cjs.map +1 -1
- package/dist/cjs/message-box/MessageBox.cjs +1 -0
- package/dist/cjs/message-box/MessageBox.cjs.map +1 -1
- package/dist/cjs/modal/Modal.cjs +73 -15
- package/dist/cjs/modal/Modal.cjs.map +1 -1
- package/dist/cjs/nav-link/NavLink.cjs +6 -4
- package/dist/cjs/nav-link/NavLink.cjs.map +1 -1
- package/dist/cjs/notification/Notification.cjs +12 -6
- package/dist/cjs/notification/Notification.cjs.map +1 -1
- package/dist/cjs/page-layout/Layout.cjs +25 -0
- package/dist/cjs/page-layout/Layout.cjs.map +1 -0
- package/dist/cjs/page-layout/Layout.module.css.cjs +6 -0
- package/dist/cjs/page-layout/Layout.module.css.cjs.map +1 -0
- package/dist/cjs/page-layout/Main.cjs +29 -0
- package/dist/cjs/page-layout/Main.cjs.map +1 -0
- package/dist/cjs/page-layout/Main.module.css.cjs +6 -0
- package/dist/cjs/page-layout/Main.module.css.cjs.map +1 -0
- package/dist/cjs/page-layout/PageContent.cjs +22 -0
- package/dist/cjs/page-layout/PageContent.cjs.map +1 -0
- package/dist/cjs/page-layout/PageContent.module.css.cjs +6 -0
- package/dist/cjs/page-layout/PageContent.module.css.cjs.map +1 -0
- package/dist/cjs/pagination/Pagination.cjs +11 -6
- package/dist/cjs/pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/popover/Popover.cjs +71 -15
- package/dist/cjs/popover/Popover.cjs.map +1 -1
- package/dist/cjs/radio-button/RadioButton.cjs +1 -0
- package/dist/cjs/radio-button/RadioButton.cjs.map +1 -1
- package/dist/cjs/rich-input/RichInput.cjs +22 -46
- package/dist/cjs/rich-input/RichInput.cjs.map +1 -1
- package/dist/cjs/rich-input/RichInput.module.css.cjs +1 -1
- package/dist/cjs/section-title/SectionTitle.cjs +9 -10
- package/dist/cjs/section-title/SectionTitle.cjs.map +1 -1
- package/dist/cjs/section-title/SectionTitle.module.css.cjs +1 -1
- package/dist/cjs/segmented-control/SegmentedControl.cjs +1 -0
- package/dist/cjs/segmented-control/SegmentedControl.cjs.map +1 -1
- package/dist/cjs/segmented-control/SegmentedControlCard.cjs +1 -0
- package/dist/cjs/segmented-control/SegmentedControlCard.cjs.map +1 -1
- package/dist/cjs/sidebar/Sidebar.cjs +141 -0
- package/dist/cjs/sidebar/Sidebar.cjs.map +1 -0
- package/dist/cjs/sidebar/Sidebar.module.css.cjs +6 -0
- package/dist/cjs/sidebar/Sidebar.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarContext.cjs +13 -0
- package/dist/cjs/sidebar/SidebarContext.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarGroup.cjs +37 -0
- package/dist/cjs/sidebar/SidebarGroup.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarGroup.module.css.cjs +6 -0
- package/dist/cjs/sidebar/SidebarGroup.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarInset.cjs +25 -0
- package/dist/cjs/sidebar/SidebarInset.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarInset.module.css.cjs +6 -0
- package/dist/cjs/sidebar/SidebarInset.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarItem.cjs +42 -0
- package/dist/cjs/sidebar/SidebarItem.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarItem.module.css.cjs +6 -0
- package/dist/cjs/sidebar/SidebarItem.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarLayout.cjs +41 -0
- package/dist/cjs/sidebar/SidebarLayout.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarLayout.module.css.cjs +6 -0
- package/dist/cjs/sidebar/SidebarLayout.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarToggle.cjs +44 -0
- package/dist/cjs/sidebar/SidebarToggle.cjs.map +1 -0
- package/dist/cjs/sidebar/SidebarToggle.module.css.cjs +6 -0
- package/dist/cjs/sidebar/SidebarToggle.module.css.cjs.map +1 -0
- package/dist/cjs/sidebar/useSidebarDrawer.cjs +47 -0
- package/dist/cjs/sidebar/useSidebarDrawer.cjs.map +1 -0
- package/dist/cjs/skeleton/Skeleton.cjs +18 -20
- package/dist/cjs/skeleton/Skeleton.cjs.map +1 -1
- package/dist/cjs/skip-link/SkipLink.cjs +52 -0
- package/dist/cjs/skip-link/SkipLink.cjs.map +1 -0
- package/dist/cjs/skip-link/SkipLink.module.css.cjs +6 -0
- package/dist/cjs/skip-link/SkipLink.module.css.cjs.map +1 -0
- package/dist/cjs/slider/Slider.cjs +1 -0
- package/dist/cjs/slider/Slider.cjs.map +1 -1
- package/dist/cjs/small-card/SmallCard.cjs +6 -2
- package/dist/cjs/small-card/SmallCard.cjs.map +1 -1
- package/dist/cjs/stack/Stack.cjs +27 -7
- package/dist/cjs/stack/Stack.cjs.map +1 -1
- package/dist/cjs/stack/Stack.module.css.cjs +1 -1
- package/dist/cjs/stat-item/StatItem.cjs +4 -8
- package/dist/cjs/stat-item/StatItem.cjs.map +1 -1
- package/dist/cjs/stat-item/StatItem.module.css.cjs +1 -1
- package/dist/cjs/switch/Switch.cjs +1 -0
- package/dist/cjs/switch/Switch.cjs.map +1 -1
- package/dist/cjs/tabs/Tabs.cjs +1 -0
- package/dist/cjs/tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/tag/Tag.cjs +73 -8
- package/dist/cjs/tag/Tag.cjs.map +1 -1
- package/dist/cjs/tag/Tag.module.css.cjs +1 -1
- package/dist/cjs/text-link/TextLink.cjs +10 -13
- package/dist/cjs/text-link/TextLink.cjs.map +1 -1
- package/dist/cjs/text-link/TextLink.module.css.cjs +1 -1
- package/dist/cjs/theme-switcher/ThemeSwitcher.cjs +13 -5
- package/dist/cjs/theme-switcher/ThemeSwitcher.cjs.map +1 -1
- package/dist/cjs/theme-switcher/ThemeSwitcher.module.css.cjs +6 -0
- package/dist/cjs/theme-switcher/ThemeSwitcher.module.css.cjs.map +1 -0
- package/dist/cjs/token-amount/TokenAmount.cjs +1 -0
- package/dist/cjs/token-amount/TokenAmount.cjs.map +1 -1
- package/dist/cjs/token-selector/TokenSelector.cjs +56 -64
- package/dist/cjs/token-selector/TokenSelector.cjs.map +1 -1
- package/dist/cjs/tooltip/Tooltip.cjs +42 -27
- package/dist/cjs/tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/tx-status/TxStatus.cjs +2 -0
- package/dist/cjs/tx-status/TxStatus.cjs.map +1 -1
- package/dist/cjs/typography/Typography.cjs +2 -0
- package/dist/cjs/typography/Typography.cjs.map +1 -1
- package/dist/cjs/utils/ActionElement.cjs +2 -13
- package/dist/cjs/utils/ActionElement.cjs.map +1 -1
- package/dist/cjs/utils/breakpoints.cjs +26 -0
- package/dist/cjs/utils/breakpoints.cjs.map +1 -0
- package/dist/cjs/utils/responsive.cjs +19 -30
- package/dist/cjs/utils/responsive.cjs.map +1 -1
- package/dist/cjs/utils/surface.module.css.cjs +6 -0
- package/dist/cjs/utils/surface.module.css.cjs.map +1 -0
- package/dist/esm/accordion/Accordion.mjs +1 -0
- package/dist/esm/accordion/Accordion.mjs.map +1 -1
- package/dist/esm/address/Address.mjs +46 -0
- package/dist/esm/address/Address.mjs.map +1 -0
- package/dist/esm/address/Address.module.css.mjs +4 -0
- package/dist/esm/address/Address.module.css.mjs.map +1 -0
- package/dist/esm/address-button/AddressButton.mjs +45 -0
- package/dist/esm/address-button/AddressButton.mjs.map +1 -0
- package/dist/esm/address-button/AddressButton.module.css.mjs +4 -0
- package/dist/esm/address-button/AddressButton.module.css.mjs.map +1 -0
- package/dist/esm/badge/Badge.mjs +1 -0
- package/dist/esm/badge/Badge.mjs.map +1 -1
- package/dist/esm/banner/Banner.mjs +1 -0
- package/dist/esm/banner/Banner.mjs.map +1 -1
- package/dist/esm/breadcrumbs/Breadcrumbs.mjs +56 -27
- package/dist/esm/breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/dist/esm/breadcrumbs/Breadcrumbs.module.css.mjs +1 -1
- package/dist/esm/button/Button.mjs +16 -25
- package/dist/esm/button/Button.mjs.map +1 -1
- package/dist/esm/button/Button.module.css.mjs +1 -1
- package/dist/esm/button/ButtonContent.mjs +45 -0
- package/dist/esm/button/ButtonContent.mjs.map +1 -0
- package/dist/esm/button/LinkButton.mjs +42 -0
- package/dist/esm/button/LinkButton.mjs.map +1 -0
- package/dist/esm/card/Card.mjs +1 -0
- package/dist/esm/card/Card.mjs.map +1 -1
- package/dist/esm/checkbox/Checkbox.mjs +1 -0
- package/dist/esm/checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/copy/Copy.mjs +51 -0
- package/dist/esm/copy/Copy.mjs.map +1 -0
- package/dist/esm/copy/Copy.module.css.mjs +4 -0
- package/dist/esm/copy/Copy.module.css.mjs.map +1 -0
- package/dist/esm/copy/useCopy.mjs +29 -0
- package/dist/esm/copy/useCopy.mjs.map +1 -0
- package/dist/esm/counter/Counter.mjs +6 -2
- package/dist/esm/counter/Counter.mjs.map +1 -1
- package/dist/esm/counter/CounterSlot.mjs +19 -3
- package/dist/esm/counter/CounterSlot.mjs.map +1 -1
- package/dist/esm/counter/CounterSlot.module.css.mjs +1 -1
- package/dist/esm/data-list/DataList.mjs +1 -0
- package/dist/esm/data-list/DataList.mjs.map +1 -1
- package/dist/esm/data-list/DataList.module.css.mjs +1 -1
- package/dist/esm/data-list/DataListRow.mjs +7 -12
- package/dist/esm/data-list/DataListRow.mjs.map +1 -1
- package/dist/esm/disclaimer/Disclaimer.mjs +10 -3
- package/dist/esm/disclaimer/Disclaimer.mjs.map +1 -1
- package/dist/esm/divider/Divider.mjs +5 -0
- package/dist/esm/divider/Divider.mjs.map +1 -1
- package/dist/esm/error-page/ErrorPage.mjs +14 -7
- package/dist/esm/error-page/ErrorPage.mjs.map +1 -1
- package/dist/esm/footer/Footer.mjs +10 -2
- package/dist/esm/footer/Footer.mjs.map +1 -1
- package/dist/esm/grid/Grid.mjs +8 -4
- package/dist/esm/grid/Grid.mjs.map +1 -1
- package/dist/esm/grid/Grid.module.css.mjs +1 -1
- package/dist/esm/grid/GridItem.mjs +2 -0
- package/dist/esm/grid/GridItem.mjs.map +1 -1
- package/dist/esm/header/Header.mjs +10 -2
- package/dist/esm/header/Header.mjs.map +1 -1
- package/dist/esm/header/HeaderNav.mjs +34 -22
- package/dist/esm/header/HeaderNav.mjs.map +1 -1
- package/dist/esm/header/HeaderNav.module.css.mjs +1 -1
- package/dist/esm/hex/Hex.mjs +37 -0
- package/dist/esm/hex/Hex.mjs.map +1 -0
- package/dist/esm/hex/Hex.module.css.mjs +4 -0
- package/dist/esm/hex/Hex.module.css.mjs.map +1 -0
- package/dist/esm/hex/trimHex.mjs +11 -0
- package/dist/esm/hex/trimHex.mjs.map +1 -0
- package/dist/esm/hidden/Hidden.mjs +10 -4
- package/dist/esm/hidden/Hidden.mjs.map +1 -1
- package/dist/esm/hooks/Portal.mjs +16 -13
- package/dist/esm/hooks/Portal.mjs.map +1 -1
- package/dist/esm/hooks/useBodyScrollLock.mjs +49 -13
- package/dist/esm/hooks/useBodyScrollLock.mjs.map +1 -1
- package/dist/esm/hooks/useEdgeFade.mjs +56 -0
- package/dist/esm/hooks/useEdgeFade.mjs.map +1 -0
- package/dist/esm/hooks/useEscape.mjs +8 -5
- package/dist/esm/hooks/useEscape.mjs.map +1 -1
- package/dist/esm/hooks/useFocusTrap.mjs +61 -24
- package/dist/esm/hooks/useFocusTrap.mjs.map +1 -1
- package/dist/esm/hooks/useHideOthers.mjs +47 -0
- package/dist/esm/hooks/useHideOthers.mjs.map +1 -0
- package/dist/esm/hooks/useOutsideClick.mjs +31 -4
- package/dist/esm/hooks/useOutsideClick.mjs.map +1 -1
- package/dist/esm/icon-button/CloseButton.mjs +23 -0
- package/dist/esm/icon-button/CloseButton.mjs.map +1 -0
- package/dist/esm/icon-button/IconButton.mjs +6 -1
- package/dist/esm/icon-button/IconButton.mjs.map +1 -1
- package/dist/esm/icon-button/IconButton.module.css.mjs +1 -1
- package/dist/esm/icons/TokenIcon.mjs +2 -0
- package/dist/esm/icons/TokenIcon.mjs.map +1 -1
- package/dist/esm/identicon/Identicon.mjs +2 -0
- package/dist/esm/identicon/Identicon.mjs.map +1 -1
- package/dist/esm/index.css +14 -4
- package/dist/esm/index.mjs +35 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/info-tooltip/InfoTooltip.mjs +30 -0
- package/dist/esm/info-tooltip/InfoTooltip.mjs.map +1 -0
- package/dist/esm/info-tooltip/InfoTooltip.module.css.mjs +4 -0
- package/dist/esm/info-tooltip/InfoTooltip.module.css.mjs.map +1 -0
- package/dist/esm/input/Input.mjs +4 -8
- package/dist/esm/input/Input.mjs.map +1 -1
- package/dist/esm/input/Input.module.css.mjs +1 -1
- package/dist/esm/link-provider/Anchor.mjs +23 -2
- package/dist/esm/link-provider/Anchor.mjs.map +1 -1
- package/dist/esm/link-provider/LinkProvider.mjs +1 -1
- package/dist/esm/link-provider/LinkProvider.mjs.map +1 -1
- package/dist/esm/logo/Logo.mjs +9 -1
- package/dist/esm/logo/Logo.mjs.map +1 -1
- package/dist/esm/message-box/MessageBox.mjs +1 -0
- package/dist/esm/message-box/MessageBox.mjs.map +1 -1
- package/dist/esm/modal/Modal.mjs +74 -17
- package/dist/esm/modal/Modal.mjs.map +1 -1
- package/dist/esm/nav-link/NavLink.mjs +6 -4
- package/dist/esm/nav-link/NavLink.mjs.map +1 -1
- package/dist/esm/notification/Notification.mjs +13 -7
- package/dist/esm/notification/Notification.mjs.map +1 -1
- package/dist/esm/page-layout/Layout.mjs +21 -0
- package/dist/esm/page-layout/Layout.mjs.map +1 -0
- package/dist/esm/page-layout/Layout.module.css.mjs +4 -0
- package/dist/esm/page-layout/Layout.module.css.mjs.map +1 -0
- package/dist/esm/page-layout/Main.mjs +24 -0
- package/dist/esm/page-layout/Main.mjs.map +1 -0
- package/dist/esm/page-layout/Main.module.css.mjs +4 -0
- package/dist/esm/page-layout/Main.module.css.mjs.map +1 -0
- package/dist/esm/page-layout/PageContent.mjs +18 -0
- package/dist/esm/page-layout/PageContent.mjs.map +1 -0
- package/dist/esm/page-layout/PageContent.module.css.mjs +4 -0
- package/dist/esm/page-layout/PageContent.module.css.mjs.map +1 -0
- package/dist/esm/pagination/Pagination.mjs +12 -7
- package/dist/esm/pagination/Pagination.mjs.map +1 -1
- package/dist/esm/popover/Popover.mjs +72 -16
- package/dist/esm/popover/Popover.mjs.map +1 -1
- package/dist/esm/radio-button/RadioButton.mjs +1 -0
- package/dist/esm/radio-button/RadioButton.mjs.map +1 -1
- package/dist/esm/rich-input/RichInput.mjs +23 -47
- package/dist/esm/rich-input/RichInput.mjs.map +1 -1
- package/dist/esm/rich-input/RichInput.module.css.mjs +1 -1
- package/dist/esm/section-title/SectionTitle.mjs +9 -10
- package/dist/esm/section-title/SectionTitle.mjs.map +1 -1
- package/dist/esm/section-title/SectionTitle.module.css.mjs +1 -1
- package/dist/esm/segmented-control/SegmentedControl.mjs +1 -0
- package/dist/esm/segmented-control/SegmentedControl.mjs.map +1 -1
- package/dist/esm/segmented-control/SegmentedControlCard.mjs +1 -0
- package/dist/esm/segmented-control/SegmentedControlCard.mjs.map +1 -1
- package/dist/esm/sidebar/Sidebar.mjs +136 -0
- package/dist/esm/sidebar/Sidebar.mjs.map +1 -0
- package/dist/esm/sidebar/Sidebar.module.css.mjs +4 -0
- package/dist/esm/sidebar/Sidebar.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarContext.mjs +8 -0
- package/dist/esm/sidebar/SidebarContext.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarGroup.mjs +33 -0
- package/dist/esm/sidebar/SidebarGroup.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarGroup.module.css.mjs +4 -0
- package/dist/esm/sidebar/SidebarGroup.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarInset.mjs +21 -0
- package/dist/esm/sidebar/SidebarInset.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarInset.module.css.mjs +4 -0
- package/dist/esm/sidebar/SidebarInset.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarItem.mjs +38 -0
- package/dist/esm/sidebar/SidebarItem.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarItem.module.css.mjs +4 -0
- package/dist/esm/sidebar/SidebarItem.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarLayout.mjs +37 -0
- package/dist/esm/sidebar/SidebarLayout.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarLayout.module.css.mjs +4 -0
- package/dist/esm/sidebar/SidebarLayout.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarToggle.mjs +40 -0
- package/dist/esm/sidebar/SidebarToggle.mjs.map +1 -0
- package/dist/esm/sidebar/SidebarToggle.module.css.mjs +4 -0
- package/dist/esm/sidebar/SidebarToggle.module.css.mjs.map +1 -0
- package/dist/esm/sidebar/useSidebarDrawer.mjs +43 -0
- package/dist/esm/sidebar/useSidebarDrawer.mjs.map +1 -0
- package/dist/esm/skeleton/Skeleton.mjs +18 -20
- package/dist/esm/skeleton/Skeleton.mjs.map +1 -1
- package/dist/esm/skip-link/SkipLink.mjs +48 -0
- package/dist/esm/skip-link/SkipLink.mjs.map +1 -0
- package/dist/esm/skip-link/SkipLink.module.css.mjs +4 -0
- package/dist/esm/skip-link/SkipLink.module.css.mjs.map +1 -0
- package/dist/esm/slider/Slider.mjs +1 -0
- package/dist/esm/slider/Slider.mjs.map +1 -1
- package/dist/esm/small-card/SmallCard.mjs +6 -2
- package/dist/esm/small-card/SmallCard.mjs.map +1 -1
- package/dist/esm/stack/Stack.mjs +28 -9
- package/dist/esm/stack/Stack.mjs.map +1 -1
- package/dist/esm/stack/Stack.module.css.mjs +1 -1
- package/dist/esm/stat-item/StatItem.mjs +4 -8
- package/dist/esm/stat-item/StatItem.mjs.map +1 -1
- package/dist/esm/stat-item/StatItem.module.css.mjs +1 -1
- package/dist/esm/switch/Switch.mjs +1 -0
- package/dist/esm/switch/Switch.mjs.map +1 -1
- package/dist/esm/tabs/Tabs.mjs +1 -0
- package/dist/esm/tabs/Tabs.mjs.map +1 -1
- package/dist/esm/tag/Tag.mjs +74 -9
- package/dist/esm/tag/Tag.mjs.map +1 -1
- package/dist/esm/tag/Tag.module.css.mjs +1 -1
- package/dist/esm/text-link/TextLink.mjs +10 -13
- package/dist/esm/text-link/TextLink.mjs.map +1 -1
- package/dist/esm/text-link/TextLink.module.css.mjs +1 -1
- package/dist/esm/theme-switcher/ThemeSwitcher.mjs +14 -6
- package/dist/esm/theme-switcher/ThemeSwitcher.mjs.map +1 -1
- package/dist/esm/theme-switcher/ThemeSwitcher.module.css.mjs +4 -0
- package/dist/esm/theme-switcher/ThemeSwitcher.module.css.mjs.map +1 -0
- package/dist/esm/token-amount/TokenAmount.mjs +1 -0
- package/dist/esm/token-amount/TokenAmount.mjs.map +1 -1
- package/dist/esm/token-selector/TokenSelector.mjs +58 -66
- package/dist/esm/token-selector/TokenSelector.mjs.map +1 -1
- package/dist/esm/tooltip/Tooltip.mjs +42 -27
- package/dist/esm/tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/tx-status/TxStatus.mjs +2 -0
- package/dist/esm/tx-status/TxStatus.mjs.map +1 -1
- package/dist/esm/typography/Typography.mjs +2 -0
- package/dist/esm/typography/Typography.mjs.map +1 -1
- package/dist/esm/utils/ActionElement.mjs +2 -13
- package/dist/esm/utils/ActionElement.mjs.map +1 -1
- package/dist/esm/utils/breakpoints.mjs +19 -0
- package/dist/esm/utils/breakpoints.mjs.map +1 -0
- package/dist/esm/utils/responsive.mjs +17 -27
- package/dist/esm/utils/responsive.mjs.map +1 -1
- package/dist/esm/utils/surface.module.css.mjs +4 -0
- package/dist/esm/utils/surface.module.css.mjs.map +1 -0
- package/dist/index.css +14 -4
- package/dist/styles/breakpoints.css +16 -12
- package/dist/styles/typography-mixins.css +8 -0
- package/dist/types/accordion/Accordion.d.ts +3 -0
- package/dist/types/accordion/Accordion.d.ts.map +1 -1
- package/dist/types/address/Address.d.ts +16 -0
- package/dist/types/address/Address.d.ts.map +1 -0
- package/dist/types/address/index.d.ts +3 -0
- package/dist/types/address/index.d.ts.map +1 -0
- package/dist/types/address-button/AddressButton.d.ts +13 -0
- package/dist/types/address-button/AddressButton.d.ts.map +1 -0
- package/dist/types/address-button/index.d.ts +3 -0
- package/dist/types/address-button/index.d.ts.map +1 -0
- package/dist/types/badge/Badge.d.ts +1 -0
- package/dist/types/badge/Badge.d.ts.map +1 -1
- package/dist/types/banner/Banner.d.ts +1 -0
- package/dist/types/banner/Banner.d.ts.map +1 -1
- package/dist/types/breadcrumbs/Breadcrumbs.d.ts +17 -1
- package/dist/types/breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/breadcrumbs/index.d.ts +1 -1
- package/dist/types/breadcrumbs/index.d.ts.map +1 -1
- package/dist/types/button/Button.d.ts +6 -26
- package/dist/types/button/Button.d.ts.map +1 -1
- package/dist/types/button/ButtonContent.d.ts +10 -0
- package/dist/types/button/ButtonContent.d.ts.map +1 -0
- package/dist/types/button/LinkButton.d.ts +10 -0
- package/dist/types/button/LinkButton.d.ts.map +1 -0
- package/dist/types/button/index.d.ts +2 -0
- package/dist/types/button/index.d.ts.map +1 -1
- package/dist/types/button/types.d.ts +26 -0
- package/dist/types/button/types.d.ts.map +1 -0
- package/dist/types/card/Card.d.ts +1 -0
- package/dist/types/card/Card.d.ts.map +1 -1
- package/dist/types/checkbox/Checkbox.d.ts +3 -0
- package/dist/types/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/colors/colorTokens.d.ts.map +1 -1
- package/dist/types/copy/Copy.d.ts +10 -0
- package/dist/types/copy/Copy.d.ts.map +1 -0
- package/dist/types/copy/index.d.ts +5 -0
- package/dist/types/copy/index.d.ts.map +1 -0
- package/dist/types/copy/useCopy.d.ts +9 -0
- package/dist/types/copy/useCopy.d.ts.map +1 -0
- package/dist/types/counter/Counter.d.ts +6 -2
- package/dist/types/counter/Counter.d.ts.map +1 -1
- package/dist/types/counter/CounterSlot.d.ts +3 -0
- package/dist/types/counter/CounterSlot.d.ts.map +1 -1
- package/dist/types/data-list/DataList.d.ts +1 -0
- package/dist/types/data-list/DataList.d.ts.map +1 -1
- package/dist/types/data-list/DataListRow.d.ts +1 -0
- package/dist/types/data-list/DataListRow.d.ts.map +1 -1
- package/dist/types/disclaimer/Disclaimer.d.ts +9 -2
- package/dist/types/disclaimer/Disclaimer.d.ts.map +1 -1
- package/dist/types/divider/Divider.d.ts +5 -0
- package/dist/types/divider/Divider.d.ts.map +1 -1
- package/dist/types/divider/index.d.ts +1 -1
- package/dist/types/divider/index.d.ts.map +1 -1
- package/dist/types/error-page/ErrorPage.d.ts +17 -4
- package/dist/types/error-page/ErrorPage.d.ts.map +1 -1
- package/dist/types/footer/Footer.d.ts +17 -2
- package/dist/types/footer/Footer.d.ts.map +1 -1
- package/dist/types/footer/index.d.ts +1 -1
- package/dist/types/footer/index.d.ts.map +1 -1
- package/dist/types/grid/Grid.d.ts +21 -22
- package/dist/types/grid/Grid.d.ts.map +1 -1
- package/dist/types/grid/GridItem.d.ts +14 -10
- package/dist/types/grid/GridItem.d.ts.map +1 -1
- package/dist/types/grid/index.d.ts +2 -2
- package/dist/types/grid/index.d.ts.map +1 -1
- package/dist/types/header/Header.d.ts +15 -2
- package/dist/types/header/Header.d.ts.map +1 -1
- package/dist/types/header/HeaderNav.d.ts +10 -2
- package/dist/types/header/HeaderNav.d.ts.map +1 -1
- package/dist/types/header/index.d.ts +2 -2
- package/dist/types/header/index.d.ts.map +1 -1
- package/dist/types/hex/Hex.d.ts +10 -0
- package/dist/types/hex/Hex.d.ts.map +1 -0
- package/dist/types/hex/index.d.ts +4 -0
- package/dist/types/hex/index.d.ts.map +1 -0
- package/dist/types/hex/trimHex.d.ts +2 -0
- package/dist/types/hex/trimHex.d.ts.map +1 -0
- package/dist/types/hidden/Hidden.d.ts +20 -6
- package/dist/types/hidden/Hidden.d.ts.map +1 -1
- package/dist/types/hidden/index.d.ts +1 -1
- package/dist/types/hidden/index.d.ts.map +1 -1
- package/dist/types/hooks/Portal.d.ts +2 -5
- package/dist/types/hooks/Portal.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +2 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useBodyScrollLock.d.ts +4 -2
- package/dist/types/hooks/useBodyScrollLock.d.ts.map +1 -1
- package/dist/types/hooks/useEdgeFade.d.ts +7 -0
- package/dist/types/hooks/useEdgeFade.d.ts.map +1 -0
- package/dist/types/hooks/useEscape.d.ts +4 -2
- package/dist/types/hooks/useEscape.d.ts.map +1 -1
- package/dist/types/hooks/useFocusTrap.d.ts +7 -3
- package/dist/types/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/types/hooks/useHideOthers.d.ts +3 -0
- package/dist/types/hooks/useHideOthers.d.ts.map +1 -0
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/types/hooks/useOutsideClick.d.ts +4 -2
- package/dist/types/hooks/useOutsideClick.d.ts.map +1 -1
- package/dist/types/icon-button/CloseButton.d.ts +9 -0
- package/dist/types/icon-button/CloseButton.d.ts.map +1 -0
- package/dist/types/icon-button/IconButton.d.ts +15 -2
- package/dist/types/icon-button/IconButton.d.ts.map +1 -1
- package/dist/types/icon-button/index.d.ts +2 -0
- package/dist/types/icon-button/index.d.ts.map +1 -1
- package/dist/types/icons/TokenIcon.d.ts +1 -0
- package/dist/types/icons/TokenIcon.d.ts.map +1 -1
- package/dist/types/identicon/Identicon.d.ts +5 -0
- package/dist/types/identicon/Identicon.d.ts.map +1 -1
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/info-tooltip/InfoTooltip.d.ts +12 -0
- package/dist/types/info-tooltip/InfoTooltip.d.ts.map +1 -0
- package/dist/types/info-tooltip/index.d.ts +3 -0
- package/dist/types/info-tooltip/index.d.ts.map +1 -0
- package/dist/types/input/Input.d.ts +1 -0
- package/dist/types/input/Input.d.ts.map +1 -1
- package/dist/types/link-provider/Anchor.d.ts +17 -1
- package/dist/types/link-provider/Anchor.d.ts.map +1 -1
- package/dist/types/link-provider/LinkProvider.d.ts +8 -2
- package/dist/types/link-provider/LinkProvider.d.ts.map +1 -1
- package/dist/types/link-provider/index.d.ts +1 -1
- package/dist/types/link-provider/index.d.ts.map +1 -1
- package/dist/types/logo/Logo.d.ts +20 -3
- package/dist/types/logo/Logo.d.ts.map +1 -1
- package/dist/types/logo/index.d.ts +1 -1
- package/dist/types/logo/index.d.ts.map +1 -1
- package/dist/types/message-box/MessageBox.d.ts +3 -0
- package/dist/types/message-box/MessageBox.d.ts.map +1 -1
- package/dist/types/modal/Modal.d.ts +21 -3
- package/dist/types/modal/Modal.d.ts.map +1 -1
- package/dist/types/modal/index.d.ts +2 -2
- package/dist/types/modal/index.d.ts.map +1 -1
- package/dist/types/nav-link/NavLink.d.ts +17 -0
- package/dist/types/nav-link/NavLink.d.ts.map +1 -1
- package/dist/types/nav-link/index.d.ts +1 -1
- package/dist/types/nav-link/index.d.ts.map +1 -1
- package/dist/types/notification/Notification.d.ts +7 -2
- package/dist/types/notification/Notification.d.ts.map +1 -1
- package/dist/types/page-layout/Layout.d.ts +5 -0
- package/dist/types/page-layout/Layout.d.ts.map +1 -0
- package/dist/types/page-layout/Main.d.ts +6 -0
- package/dist/types/page-layout/Main.d.ts.map +1 -0
- package/dist/types/page-layout/PageContent.d.ts +7 -0
- package/dist/types/page-layout/PageContent.d.ts.map +1 -0
- package/dist/types/page-layout/index.d.ts +7 -0
- package/dist/types/page-layout/index.d.ts.map +1 -0
- package/dist/types/pagination/Pagination.d.ts +3 -0
- package/dist/types/pagination/Pagination.d.ts.map +1 -1
- package/dist/types/popover/Popover.d.ts +32 -4
- package/dist/types/popover/Popover.d.ts.map +1 -1
- package/dist/types/popover/index.d.ts +1 -1
- package/dist/types/popover/index.d.ts.map +1 -1
- package/dist/types/radio-button/RadioButton.d.ts +3 -0
- package/dist/types/radio-button/RadioButton.d.ts.map +1 -1
- package/dist/types/rich-input/RichInput.d.ts +8 -1
- package/dist/types/rich-input/RichInput.d.ts.map +1 -1
- package/dist/types/section-title/SectionTitle.d.ts +8 -2
- package/dist/types/section-title/SectionTitle.d.ts.map +1 -1
- package/dist/types/section-title/index.d.ts +1 -1
- package/dist/types/section-title/index.d.ts.map +1 -1
- package/dist/types/segmented-control/SegmentedControl.d.ts +1 -0
- package/dist/types/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/dist/types/segmented-control/SegmentedControlCard.d.ts +1 -0
- package/dist/types/segmented-control/SegmentedControlCard.d.ts.map +1 -1
- package/dist/types/sidebar/Sidebar.d.ts +15 -0
- package/dist/types/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarContext.d.ts +6 -0
- package/dist/types/sidebar/SidebarContext.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarGroup.d.ts +7 -0
- package/dist/types/sidebar/SidebarGroup.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarInset.d.ts +5 -0
- package/dist/types/sidebar/SidebarInset.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarItem.d.ts +10 -0
- package/dist/types/sidebar/SidebarItem.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarLayout.d.ts +18 -0
- package/dist/types/sidebar/SidebarLayout.d.ts.map +1 -0
- package/dist/types/sidebar/SidebarToggle.d.ts +13 -0
- package/dist/types/sidebar/SidebarToggle.d.ts.map +1 -0
- package/dist/types/sidebar/index.d.ts +17 -0
- package/dist/types/sidebar/index.d.ts.map +1 -0
- package/dist/types/sidebar/useSidebarDrawer.d.ts +23 -0
- package/dist/types/sidebar/useSidebarDrawer.d.ts.map +1 -0
- package/dist/types/skeleton/Skeleton.d.ts +17 -3
- package/dist/types/skeleton/Skeleton.d.ts.map +1 -1
- package/dist/types/skip-link/SkipLink.d.ts +11 -0
- package/dist/types/skip-link/SkipLink.d.ts.map +1 -0
- package/dist/types/skip-link/index.d.ts +3 -0
- package/dist/types/skip-link/index.d.ts.map +1 -0
- package/dist/types/slider/Slider.d.ts +1 -0
- package/dist/types/slider/Slider.d.ts.map +1 -1
- package/dist/types/small-card/SmallCard.d.ts +21 -2
- package/dist/types/small-card/SmallCard.d.ts.map +1 -1
- package/dist/types/stack/Stack.d.ts +24 -15
- package/dist/types/stack/Stack.d.ts.map +1 -1
- package/dist/types/stack/index.d.ts +1 -1
- package/dist/types/stack/index.d.ts.map +1 -1
- package/dist/types/stat-item/StatItem.d.ts +6 -0
- package/dist/types/stat-item/StatItem.d.ts.map +1 -1
- package/dist/types/switch/Switch.d.ts +3 -0
- package/dist/types/switch/Switch.d.ts.map +1 -1
- package/dist/types/tabs/Tabs.d.ts +1 -0
- package/dist/types/tabs/Tabs.d.ts.map +1 -1
- package/dist/types/tag/Tag.d.ts +31 -3
- package/dist/types/tag/Tag.d.ts.map +1 -1
- package/dist/types/text-link/TextLink.d.ts +25 -2
- package/dist/types/text-link/TextLink.d.ts.map +1 -1
- package/dist/types/text-link/index.d.ts +1 -1
- package/dist/types/text-link/index.d.ts.map +1 -1
- package/dist/types/theme-switcher/ThemeSwitcher.d.ts +9 -3
- package/dist/types/theme-switcher/ThemeSwitcher.d.ts.map +1 -1
- package/dist/types/token-amount/TokenAmount.d.ts +1 -0
- package/dist/types/token-amount/TokenAmount.d.ts.map +1 -1
- package/dist/types/token-selector/TokenSelector.d.ts +5 -1
- package/dist/types/token-selector/TokenSelector.d.ts.map +1 -1
- package/dist/types/tooltip/Tooltip.d.ts +2 -0
- package/dist/types/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/tx-status/TxStatus.d.ts +3 -0
- package/dist/types/tx-status/TxStatus.d.ts.map +1 -1
- package/dist/types/typography/Typography.d.ts +4 -0
- package/dist/types/typography/Typography.d.ts.map +1 -1
- package/dist/types/utils/ActionElement.d.ts +4 -4
- package/dist/types/utils/ActionElement.d.ts.map +1 -1
- package/dist/types/utils/breakpoints.d.ts +16 -0
- package/dist/types/utils/breakpoints.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +5 -2
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/polymorphic.d.ts +15 -0
- package/dist/types/utils/polymorphic.d.ts.map +1 -0
- package/dist/types/utils/responsive.d.ts +29 -14
- package/dist/types/utils/responsive.d.ts.map +1 -1
- package/package.json +7 -3
|
@@ -6,79 +6,107 @@ const react = require('react');
|
|
|
6
6
|
const cn = require('classnames');
|
|
7
7
|
const Breadcrumbs_module = require('./Breadcrumbs.module.css.cjs');
|
|
8
8
|
const jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
const useEdgeFade = require('../hooks/useEdgeFade.cjs');
|
|
10
|
+
const useIsomorphicLayoutEffect = require('../hooks/useIsomorphicLayoutEffect.cjs');
|
|
9
11
|
const ActionElement = require('../utils/ActionElement.cjs');
|
|
10
12
|
const IconChevronRight = require('../icons/components/base/IconChevronRight.cjs');
|
|
11
13
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
const ANCHOR_ONLY = ['href', 'onClick', 'disabled', 'external', 'linkProps', 'type', 'target', 'rel', 'download'];
|
|
15
|
+
const spanAttrs = props => {
|
|
16
|
+
const attrs = {
|
|
17
|
+
...props
|
|
18
|
+
};
|
|
19
|
+
for (const key of ANCHOR_ONLY) delete attrs[key];
|
|
20
|
+
return attrs;
|
|
15
21
|
};
|
|
16
22
|
const syncTitle = e => {
|
|
17
23
|
const el = e.target.closest('[data-label]');
|
|
18
24
|
if (!el) return;
|
|
19
25
|
if (el.scrollWidth > el.clientWidth) el.setAttribute('title', el.textContent ?? '');else el.removeAttribute('title');
|
|
20
26
|
};
|
|
21
|
-
|
|
27
|
+
|
|
28
|
+
/** Trail of ancestors ending in the current page (`aria-current="page"`); scrolls horizontally with an edge fade when it overflows. */
|
|
29
|
+
const Breadcrumbs = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
22
30
|
let {
|
|
23
31
|
items,
|
|
24
32
|
className,
|
|
33
|
+
dataTestId,
|
|
25
34
|
...rest
|
|
26
35
|
} = _ref;
|
|
27
36
|
const listRef = react.useRef(null);
|
|
28
|
-
|
|
37
|
+
const {
|
|
38
|
+
sync,
|
|
39
|
+
onFocus
|
|
40
|
+
} = useEdgeFade.useEdgeFade(listRef);
|
|
41
|
+
const trailRef = react.useRef();
|
|
42
|
+
useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
|
|
29
43
|
const list = listRef.current;
|
|
30
44
|
if (!list) return;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
const trail = Array.from(list.children, li => li.textContent).join('\u0000');
|
|
46
|
+
if (trail !== trailRef.current) {
|
|
47
|
+
trailRef.current = trail;
|
|
48
|
+
list.scrollLeft = list.scrollWidth;
|
|
49
|
+
}
|
|
50
|
+
sync();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// A list mounted hidden (display: none) can't scroll on mount, so scroll once it gets a width.
|
|
34
54
|
react.useEffect(() => {
|
|
35
55
|
const list = listRef.current;
|
|
36
56
|
if (!list || typeof ResizeObserver === 'undefined') return;
|
|
37
|
-
|
|
57
|
+
let hidden = list.clientWidth === 0;
|
|
58
|
+
const observer = new ResizeObserver(() => {
|
|
59
|
+
const wasHidden = hidden;
|
|
60
|
+
hidden = list.clientWidth === 0;
|
|
61
|
+
if (!wasHidden || hidden) return;
|
|
62
|
+
list.scrollLeft = list.scrollWidth;
|
|
63
|
+
sync();
|
|
64
|
+
});
|
|
38
65
|
observer.observe(list);
|
|
39
66
|
return () => observer.disconnect();
|
|
40
|
-
}, []);
|
|
67
|
+
}, [sync]);
|
|
41
68
|
return /*#__PURE__*/jsxRuntime.jsx("nav", {
|
|
69
|
+
ref: ref,
|
|
42
70
|
"aria-label": "Breadcrumb",
|
|
43
71
|
className: cn(Breadcrumbs_module.nav, className),
|
|
72
|
+
"data-testid": dataTestId?.root,
|
|
44
73
|
...rest,
|
|
45
74
|
children: /*#__PURE__*/jsxRuntime.jsx("ol", {
|
|
46
75
|
ref: listRef,
|
|
47
76
|
className: Breadcrumbs_module.list,
|
|
48
|
-
|
|
77
|
+
"data-testid": dataTestId?.list,
|
|
78
|
+
onScroll: sync,
|
|
79
|
+
onFocus: onFocus,
|
|
49
80
|
onPointerOver: syncTitle,
|
|
50
81
|
children: items.map((_ref2, index) => {
|
|
51
82
|
let {
|
|
52
83
|
label,
|
|
84
|
+
dataTestId: itemTestId,
|
|
53
85
|
...itemProps
|
|
54
86
|
} = _ref2;
|
|
87
|
+
const current = index === items.length - 1;
|
|
55
88
|
const labelAttrs = itemProps.title === undefined ? {
|
|
56
89
|
'data-label': ''
|
|
57
90
|
} : {};
|
|
58
|
-
|
|
59
|
-
return /*#__PURE__*/jsxRuntime.jsx("li", {
|
|
60
|
-
className: Breadcrumbs_module.item,
|
|
61
|
-
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
62
|
-
"aria-current": "page",
|
|
63
|
-
className: cn(Breadcrumbs_module.label, Breadcrumbs_module.current),
|
|
64
|
-
...labelAttrs,
|
|
65
|
-
children: label
|
|
66
|
-
})
|
|
67
|
-
}, index);
|
|
68
|
-
}
|
|
69
|
-
const interactive = itemProps.href !== undefined || itemProps.onClick !== undefined;
|
|
91
|
+
const interactive = !current && (itemProps.href !== undefined || itemProps.onClick !== undefined) && !itemProps.disabled;
|
|
70
92
|
return /*#__PURE__*/jsxRuntime.jsxs("li", {
|
|
71
93
|
className: Breadcrumbs_module.item,
|
|
72
94
|
children: [interactive ? /*#__PURE__*/jsxRuntime.jsx(ActionElement.ActionElement, {
|
|
95
|
+
"data-testid": itemTestId?.root,
|
|
73
96
|
...itemProps,
|
|
74
97
|
...labelAttrs,
|
|
75
98
|
className: cn(Breadcrumbs_module.label, Breadcrumbs_module.link, itemProps.className),
|
|
76
99
|
children: label
|
|
77
100
|
}) : /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
78
|
-
|
|
101
|
+
"data-testid": itemTestId?.root,
|
|
102
|
+
...spanAttrs(itemProps),
|
|
79
103
|
...labelAttrs,
|
|
104
|
+
...(current && {
|
|
105
|
+
'aria-current': 'page'
|
|
106
|
+
}),
|
|
107
|
+
className: cn(Breadcrumbs_module.label, current && Breadcrumbs_module.current, itemProps.className),
|
|
80
108
|
children: label
|
|
81
|
-
}), /*#__PURE__*/jsxRuntime.jsx(IconChevronRight.IconChevronRight, {
|
|
109
|
+
}), !current && /*#__PURE__*/jsxRuntime.jsx(IconChevronRight.IconChevronRight, {
|
|
82
110
|
className: Breadcrumbs_module.separator,
|
|
83
111
|
"aria-hidden": "true"
|
|
84
112
|
})]
|
|
@@ -86,7 +114,8 @@ const Breadcrumbs = _ref => {
|
|
|
86
114
|
})
|
|
87
115
|
})
|
|
88
116
|
});
|
|
89
|
-
};
|
|
117
|
+
});
|
|
118
|
+
Breadcrumbs.displayName = 'Breadcrumbs';
|
|
90
119
|
|
|
91
120
|
exports.Breadcrumbs = Breadcrumbs;
|
|
92
121
|
//# sourceMappingURL=Breadcrumbs.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.cjs","sources":["../../../src/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react'\nimport type { HTMLAttributes, PointerEvent, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconChevronRight } from '../icons'\nimport { ActionElement, type ActionElementProps } from '../utils'\nimport styles from './Breadcrumbs.module.css'\n\nexport type BreadcrumbItem = ActionElementProps & {\n label: ReactNode\n children?: never\n}\n\nexport type BreadcrumbsProps = HTMLAttributes<HTMLElement> & {\n items: BreadcrumbItem[]\n}\n\nconst syncFade = (list: HTMLElement) => {\n list.toggleAttribute('data-fade-start', list.scrollLeft > 0)\n list.toggleAttribute(\n 'data-fade-end',\n list.scrollLeft < list.scrollWidth - list.clientWidth - 1,\n )\n}\n\nconst syncTitle = (e: PointerEvent<HTMLElement>) => {\n const el = (e.target as Element).closest('[data-label]')\n if (!el) return\n if (el.scrollWidth > el.clientWidth)\n el.setAttribute('title', el.textContent ?? '')\n else el.removeAttribute('title')\n}\n\nexport const Breadcrumbs = ({\n items,\n className,\n ...rest\n}: BreadcrumbsProps) => {\n const listRef = useRef<HTMLOListElement>(null)\n\n useLayoutEffect(() => {\n const list = listRef.current\n if (!list) return\n list.scrollLeft = list.scrollWidth\n syncFade(list)\n }, [items])\n\n useEffect(() => {\n const list = listRef.current\n if (!list || typeof ResizeObserver === 'undefined') return\n const observer = new ResizeObserver(() => syncFade(list))\n observer.observe(list)\n return () => observer.disconnect()\n }, [])\n\n return (\n <nav\n aria-label='Breadcrumb'\n className={cn(styles.nav, className)}\n {...rest}\n >\n <ol\n ref={listRef}\n className={styles.list}\n onScroll={(e) => syncFade(e.currentTarget)}\n onPointerOver={syncTitle}\n >\n {items.map(({ label, ...itemProps }, index) => {\n const labelAttrs =\n itemProps.title === undefined ? { 'data-label': '' } : {}\n if (index === items.length - 1) {\n return (\n <li key={index} className={styles.item}>\n <span\n aria-current='page'\n className={cn(styles.label, styles.current)}\n {...labelAttrs}\n >\n {label}\n </span>\n </li>\n )\n }\n const interactive =\n itemProps.href !== undefined || itemProps.onClick !== undefined\n return (\n <li key={index} className={styles.item}>\n {interactive ? (\n <ActionElement\n {...itemProps}\n {...labelAttrs}\n className={cn(styles.label, styles.link, itemProps.className)}\n >\n {label}\n </ActionElement>\n ) : (\n <span className={styles.label} {...labelAttrs}>\n {label}\n </span>\n )}\n <IconChevronRight\n className={styles.separator}\n aria-hidden='true'\n />\n </li>\n )\n })}\n </ol>\n </nav>\n )\n}\n"],"names":["syncFade","list","toggleAttribute","scrollLeft","scrollWidth","clientWidth","syncTitle","e","el","target","closest","setAttribute","textContent","removeAttribute","Breadcrumbs","_ref","items","className","rest","listRef","useRef","useLayoutEffect","current","useEffect","ResizeObserver","observer","observe","disconnect","_jsx","cn","styles","nav","children","ref","onScroll","currentTarget","onPointerOver","map","_ref2","index","label","itemProps","labelAttrs","title","undefined","length","item","interactive","href","onClick","_jsxs","ActionElement","link","IconChevronRight","separator"],"mappings":";;;;;;;;;;;AAkBA,MAAMA,QAAQ,GAAIC,IAAiB,IAAK;EACtCA,IAAI,CAACC,eAAe,CAAC,iBAAiB,EAAED,IAAI,CAACE,UAAU,GAAG,CAAC,CAAC,CAAA;AAC5DF,EAAAA,IAAI,CAACC,eAAe,CAClB,eAAe,EACfD,IAAI,CAACE,UAAU,GAAGF,IAAI,CAACG,WAAW,GAAGH,IAAI,CAACI,WAAW,GAAG,CAC1D,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAMC,SAAS,GAAIC,CAA4B,IAAK;EAClD,MAAMC,EAAE,GAAID,CAAC,CAACE,MAAM,CAAaC,OAAO,CAAC,cAAc,CAAC,CAAA;EACxD,IAAI,CAACF,EAAE,EAAE,OAAA;EACT,IAAIA,EAAE,CAACJ,WAAW,GAAGI,EAAE,CAACH,WAAW,EACjCG,EAAE,CAACG,YAAY,CAAC,OAAO,EAAEH,EAAE,CAACI,WAAW,IAAI,EAAE,CAAC,CAC3CJ,KAAAA,EAAE,CAACK,eAAe,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,CAAA;AAEYC,MAAAA,WAAW,GAAGC,IAAA,IAIH;EAAA,IAJI;IAC1BC,KAAK;IACLC,SAAS;IACT,GAAGC,IAAAA;AACa,GAAC,GAAAH,IAAA,CAAA;AACjB,EAAA,MAAMI,OAAO,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;AAE9CC,EAAAA,qBAAe,CAAC,MAAM;AACpB,IAAA,MAAMpB,IAAI,GAAGkB,OAAO,CAACG,OAAO,CAAA;IAC5B,IAAI,CAACrB,IAAI,EAAE,OAAA;AACXA,IAAAA,IAAI,CAACE,UAAU,GAAGF,IAAI,CAACG,WAAW,CAAA;IAClCJ,QAAQ,CAACC,IAAI,CAAC,CAAA;AAChB,GAAC,EAAE,CAACe,KAAK,CAAC,CAAC,CAAA;AAEXO,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,MAAMtB,IAAI,GAAGkB,OAAO,CAACG,OAAO,CAAA;AAC5B,IAAA,IAAI,CAACrB,IAAI,IAAI,OAAOuB,cAAc,KAAK,WAAW,EAAE,OAAA;IACpD,MAAMC,QAAQ,GAAG,IAAID,cAAc,CAAC,MAAMxB,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAA;AACzDwB,IAAAA,QAAQ,CAACC,OAAO,CAACzB,IAAI,CAAC,CAAA;AACtB,IAAA,OAAO,MAAMwB,QAAQ,CAACE,UAAU,EAAE,CAAA;GACnC,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AACE,IAAA,YAAA,EAAW,YAAY;IACvBX,SAAS,EAAEY,EAAE,CAACC,kBAAM,CAACC,GAAG,EAAEd,SAAS,CAAE;AAAA,IAAA,GACjCC,IAAI;AAAAc,IAAAA,QAAA,eAERJ,cAAA,CAAA,IAAA,EAAA;AACEK,MAAAA,GAAG,EAAEd,OAAQ;MACbF,SAAS,EAAEa,kBAAM,CAAC7B,IAAK;MACvBiC,QAAQ,EAAG3B,CAAC,IAAKP,QAAQ,CAACO,CAAC,CAAC4B,aAAa,CAAE;AAC3CC,MAAAA,aAAa,EAAE9B,SAAU;MAAA0B,QAAA,EAExBhB,KAAK,CAACqB,GAAG,CAAC,CAAAC,KAAA,EAA0BC,KAAK,KAAK;QAAA,IAAnC;UAAEC,KAAK;UAAE,GAAGC,SAAAA;AAAU,SAAC,GAAAH,KAAA,CAAA;AACjC,QAAA,MAAMI,UAAU,GACdD,SAAS,CAACE,KAAK,KAAKC,SAAS,GAAG;AAAE,UAAA,YAAY,EAAE,EAAA;SAAI,GAAG,EAAE,CAAA;AAC3D,QAAA,IAAIL,KAAK,KAAKvB,KAAK,CAAC6B,MAAM,GAAG,CAAC,EAAE;AAC9B,UAAA,oBACEjB,cAAA,CAAA,IAAA,EAAA;YAAgBX,SAAS,EAAEa,kBAAM,CAACgB,IAAK;AAAAd,YAAAA,QAAA,eACrCJ,cAAA,CAAA,MAAA,EAAA;AACE,cAAA,cAAA,EAAa,MAAM;cACnBX,SAAS,EAAEY,EAAE,CAACC,kBAAM,CAACU,KAAK,EAAEV,kBAAM,CAACR,OAAO,CAAE;AAAA,cAAA,GACxCoB,UAAU;AAAAV,cAAAA,QAAA,EAEbQ,KAAAA;aACG,CAAA;AAAC,WAAA,EAPAD,KAQL,CAAC,CAAA;AAET,SAAA;AACA,QAAA,MAAMQ,WAAW,GACfN,SAAS,CAACO,IAAI,KAAKJ,SAAS,IAAIH,SAAS,CAACQ,OAAO,KAAKL,SAAS,CAAA;AACjE,QAAA,oBACEM,eAAA,CAAA,IAAA,EAAA;UAAgBjC,SAAS,EAAEa,kBAAM,CAACgB,IAAK;AAAAd,UAAAA,QAAA,EACpCe,CAAAA,WAAW,gBACVnB,cAAA,CAACuB,2BAAa,EAAA;AAAA,YAAA,GACRV,SAAS;AAAA,YAAA,GACTC,UAAU;AACdzB,YAAAA,SAAS,EAAEY,EAAE,CAACC,kBAAM,CAACU,KAAK,EAAEV,kBAAM,CAACsB,IAAI,EAAEX,SAAS,CAACxB,SAAS,CAAE;AAAAe,YAAAA,QAAA,EAE7DQ,KAAAA;WACY,CAAC,gBAEhBZ,cAAA,CAAA,MAAA,EAAA;YAAMX,SAAS,EAAEa,kBAAM,CAACU,KAAM;AAAA,YAAA,GAAKE,UAAU;AAAAV,YAAAA,QAAA,EAC1CQ,KAAAA;AAAK,WACF,CACP,eACDZ,cAAA,CAACyB,iCAAgB,EAAA;YACfpC,SAAS,EAAEa,kBAAM,CAACwB,SAAU;YAC5B,aAAY,EAAA,MAAA;AAAM,WACnB,CAAC,CAAA;AAAA,SAAA,EAjBKf,KAkBL,CAAC,CAAA;OAER,CAAA;KACC,CAAA;AAAC,GACF,CAAC,CAAA;AAEV;;;;"}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.cjs","sources":["../../../src/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from 'react'\nimport type { HTMLAttributes, PointerEvent, ReactNode } from 'react'\n\nimport cn from 'classnames'\n\nimport { useEdgeFade, useIsomorphicLayoutEffect } from '../hooks'\nimport { IconChevronRight } from '../icons'\nimport { ActionElement, type ActionElementProps } from '../utils'\nimport styles from './Breadcrumbs.module.css'\n\nexport type BreadcrumbItemDataTestId = { root?: string }\n\nexport type BreadcrumbItem = ActionElementProps & {\n label: ReactNode\n children?: never\n /** Test id of the item's label element, for link, plain and current items alike. */\n dataTestId?: BreadcrumbItemDataTestId\n}\n\nexport type BreadcrumbsDataTestId = { root?: string; list?: string }\n\nexport type BreadcrumbsProps = HTMLAttributes<HTMLElement> & {\n /** `href` renders a link, only `onClick` a button, anything else (and `disabled`) plain text; the last item is the current page. */\n items: BreadcrumbItem[]\n dataTestId?: BreadcrumbsDataTestId\n}\n\nconst ANCHOR_ONLY = [\n 'href',\n 'onClick',\n 'disabled',\n 'external',\n 'linkProps',\n 'type',\n 'target',\n 'rel',\n 'download',\n] as const\n\nconst spanAttrs = (props: Omit<BreadcrumbItem, 'label'>) => {\n const attrs: Record<string, unknown> = { ...props }\n for (const key of ANCHOR_ONLY) delete attrs[key]\n return attrs as HTMLAttributes<HTMLSpanElement>\n}\n\nconst syncTitle = (e: PointerEvent<HTMLElement>) => {\n const el = (e.target as Element).closest('[data-label]')\n if (!el) return\n if (el.scrollWidth > el.clientWidth)\n el.setAttribute('title', el.textContent ?? '')\n else el.removeAttribute('title')\n}\n\n/** Trail of ancestors ending in the current page (`aria-current=\"page\"`); scrolls horizontally with an edge fade when it overflows. */\nexport const Breadcrumbs = forwardRef<HTMLElement, BreadcrumbsProps>(\n ({ items, className, dataTestId, ...rest }, ref) => {\n const listRef = useRef<HTMLOListElement>(null)\n\n const { sync, onFocus } = useEdgeFade(listRef)\n const trailRef = useRef<string>()\n\n useIsomorphicLayoutEffect(() => {\n const list = listRef.current\n if (!list) return\n const trail = Array.from(list.children, (li) => li.textContent).join(\n '\\u0000',\n )\n if (trail !== trailRef.current) {\n trailRef.current = trail\n list.scrollLeft = list.scrollWidth\n }\n sync()\n })\n\n // A list mounted hidden (display: none) can't scroll on mount, so scroll once it gets a width.\n useEffect(() => {\n const list = listRef.current\n if (!list || typeof ResizeObserver === 'undefined') return\n let hidden = list.clientWidth === 0\n const observer = new ResizeObserver(() => {\n const wasHidden = hidden\n hidden = list.clientWidth === 0\n if (!wasHidden || hidden) return\n list.scrollLeft = list.scrollWidth\n sync()\n })\n observer.observe(list)\n return () => observer.disconnect()\n }, [sync])\n\n return (\n <nav\n ref={ref}\n aria-label='Breadcrumb'\n className={cn(styles.nav, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n <ol\n ref={listRef}\n className={styles.list}\n data-testid={dataTestId?.list}\n onScroll={sync}\n onFocus={onFocus}\n onPointerOver={syncTitle}\n >\n {items.map(\n ({ label, dataTestId: itemTestId, ...itemProps }, index) => {\n const current = index === items.length - 1\n const labelAttrs =\n itemProps.title === undefined ? { 'data-label': '' } : {}\n const interactive =\n !current &&\n (itemProps.href !== undefined ||\n itemProps.onClick !== undefined) &&\n !itemProps.disabled\n return (\n <li key={index} className={styles.item}>\n {interactive ? (\n <ActionElement\n data-testid={itemTestId?.root}\n {...itemProps}\n {...labelAttrs}\n className={cn(\n styles.label,\n styles.link,\n itemProps.className,\n )}\n >\n {label}\n </ActionElement>\n ) : (\n <span\n data-testid={itemTestId?.root}\n {...spanAttrs(itemProps)}\n {...labelAttrs}\n {...(current && { 'aria-current': 'page' as const })}\n className={cn(\n styles.label,\n current && styles.current,\n itemProps.className,\n )}\n >\n {label}\n </span>\n )}\n {!current && (\n <IconChevronRight\n className={styles.separator}\n aria-hidden='true'\n />\n )}\n </li>\n )\n },\n )}\n </ol>\n </nav>\n )\n },\n)\n\nBreadcrumbs.displayName = 'Breadcrumbs'\n"],"names":["ANCHOR_ONLY","spanAttrs","props","attrs","key","syncTitle","e","el","target","closest","scrollWidth","clientWidth","setAttribute","textContent","removeAttribute","Breadcrumbs","forwardRef","_ref","ref","items","className","dataTestId","rest","listRef","useRef","sync","onFocus","useEdgeFade","trailRef","useIsomorphicLayoutEffect","list","current","trail","Array","from","children","li","join","scrollLeft","useEffect","ResizeObserver","hidden","observer","wasHidden","observe","disconnect","_jsx","cn","styles","nav","root","onScroll","onPointerOver","map","_ref2","index","label","itemTestId","itemProps","length","labelAttrs","title","undefined","interactive","href","onClick","disabled","_jsxs","item","ActionElement","link","IconChevronRight","separator","displayName"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const styles = {"nav":"Breadcrumbs-module_nav__cDuA5","list":"Breadcrumbs-module_list__A6dlB","item":"Breadcrumbs-module_item__3t-Zj","label":"Breadcrumbs-module_label__gVU35","link":"Breadcrumbs-module_link__KJ87-","current":"Breadcrumbs-module_current__XK0a2","separator":"Breadcrumbs-module_separator__k-Tmd"};
|
|
3
|
+
const styles = {"nav":"Breadcrumbs-module_nav__cDuA5","list":"Breadcrumbs-module_list__A6dlB ScrollFade-module_scrollFade__bK-Oi","item":"Breadcrumbs-module_item__3t-Zj","label":"Breadcrumbs-module_label__gVU35","link":"Breadcrumbs-module_link__KJ87-","current":"Breadcrumbs-module_current__XK0a2","separator":"Breadcrumbs-module_separator__k-Tmd"};
|
|
4
4
|
|
|
5
5
|
module.exports = styles;
|
|
6
6
|
//# sourceMappingURL=Breadcrumbs.module.css.cjs.map
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const react = require('react');
|
|
6
6
|
const cn = require('classnames');
|
|
7
|
-
const CounterSlot = require('../counter/CounterSlot.cjs');
|
|
8
7
|
const Button_module = require('./Button.module.css.cjs');
|
|
8
|
+
const ButtonContent = require('./ButtonContent.cjs');
|
|
9
9
|
const jsxRuntime = require('react/jsx-runtime');
|
|
10
|
-
const IconLoaderCircle = require('../icons/components/base/IconLoaderCircle.cjs');
|
|
11
10
|
|
|
11
|
+
/** Fully rounded call to action; `size` is big (52px) or small (36px), `loading` swaps the icon slot for a spinner and disables the button. */
|
|
12
12
|
const Button = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
13
13
|
let {
|
|
14
14
|
className,
|
|
@@ -21,38 +21,29 @@ const Button = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
|
21
21
|
iconLeft,
|
|
22
22
|
iconRight,
|
|
23
23
|
counter,
|
|
24
|
+
counterLabel,
|
|
24
25
|
dataTestId,
|
|
26
|
+
'aria-label': ariaLabel,
|
|
25
27
|
...rest
|
|
26
28
|
} = _ref;
|
|
27
|
-
return /*#__PURE__*/jsxRuntime.
|
|
29
|
+
return /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
28
30
|
ref: ref,
|
|
29
31
|
type: type,
|
|
30
32
|
disabled: disabled || loading,
|
|
31
33
|
"aria-busy": loading || undefined,
|
|
32
|
-
className: cn(Button_module.button, Button_module[variant], Button_module[size], loading && Button_module.loading, className),
|
|
34
|
+
className: cn(Button_module.button, Button_module[variant], Button_module[size], loading && !disabled && Button_module.loading, className),
|
|
33
35
|
"data-testid": dataTestId?.root,
|
|
36
|
+
"aria-label": ButtonContent.joinAriaLabel(ariaLabel, counterLabel),
|
|
34
37
|
...rest,
|
|
35
|
-
children:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
children: iconLeft
|
|
43
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
44
|
-
className: Button_module.content,
|
|
45
|
-
"data-testid": dataTestId?.content,
|
|
38
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ButtonContent.ButtonContent, {
|
|
39
|
+
loading: loading,
|
|
40
|
+
iconLeft: iconLeft,
|
|
41
|
+
iconRight: iconRight,
|
|
42
|
+
counter: counter,
|
|
43
|
+
counterLabel: counterLabel,
|
|
44
|
+
dataTestId: dataTestId,
|
|
46
45
|
children: children
|
|
47
|
-
})
|
|
48
|
-
className: Button_module.icon,
|
|
49
|
-
"aria-hidden": "true",
|
|
50
|
-
"data-testid": dataTestId?.iconRight,
|
|
51
|
-
children: iconRight
|
|
52
|
-
}) : null, /*#__PURE__*/jsxRuntime.jsx(CounterSlot.CounterSlot, {
|
|
53
|
-
dataTestId: dataTestId?.counter,
|
|
54
|
-
children: counter
|
|
55
|
-
})]
|
|
46
|
+
})
|
|
56
47
|
});
|
|
57
48
|
});
|
|
58
49
|
Button.displayName = 'Button';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","sources":["../../../src/button/Button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes
|
|
1
|
+
{"version":3,"file":"Button.cjs","sources":["../../../src/button/Button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Button.module.css'\nimport { ButtonContent, joinAriaLabel } from './ButtonContent'\nimport type {\n ButtonDataTestId,\n ButtonOwnProps,\n ButtonSize,\n ButtonVariant,\n} from './types'\n\nexport type { ButtonDataTestId, ButtonSize, ButtonVariant }\n\nexport type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonOwnProps & {\n loading?: boolean\n }\n\n/** Fully rounded call to action; `size` is big (52px) or small (36px), `loading` swaps the icon slot for a spinner and disables the button. */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n children,\n type = 'button',\n variant = 'primary',\n size = 'big',\n loading = false,\n disabled = false,\n iconLeft,\n iconRight,\n counter,\n counterLabel,\n dataTestId,\n 'aria-label': ariaLabel,\n ...rest\n },\n ref,\n ) => (\n <button\n ref={ref}\n type={type}\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n className={cn(\n styles.button,\n styles[variant],\n styles[size],\n loading && !disabled && styles.loading,\n className,\n )}\n data-testid={dataTestId?.root}\n aria-label={joinAriaLabel(ariaLabel, counterLabel)}\n {...rest}\n >\n <ButtonContent\n loading={loading}\n iconLeft={iconLeft}\n iconRight={iconRight}\n counter={counter}\n counterLabel={counterLabel}\n dataTestId={dataTestId}\n >\n {children}\n </ButtonContent>\n </button>\n ),\n)\n\nButton.displayName = 'Button'\n"],"names":["Button","forwardRef","_ref","ref","className","children","type","variant","size","loading","disabled","iconLeft","iconRight","counter","counterLabel","dataTestId","ariaLabel","rest","_jsx","undefined","cn","styles","button","root","joinAriaLabel","ButtonContent","displayName"],"mappings":";;;;;;;;;;AAoBA;AACO,MAAMA,MAAM,gBAAGC,gBAAU,CAC9B,CAAAC,IAAA,EAiBEC,GAAG,KAAA;EAAA,IAhBH;IACEC,SAAS;IACTC,QAAQ;AACRC,IAAAA,IAAI,GAAG,QAAQ;AACfC,IAAAA,OAAO,GAAG,SAAS;AACnBC,IAAAA,IAAI,GAAG,KAAK;AACZC,IAAAA,OAAO,GAAG,KAAK;AACfC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,QAAQ;IACRC,SAAS;IACTC,OAAO;IACPC,YAAY;IACZC,UAAU;AACV,IAAA,YAAY,EAAEC,SAAS;IACvB,GAAGC,IAAAA;AACL,GAAC,GAAAf,IAAA,CAAA;AAAA,EAAA,oBAGDgB,cAAA,CAAA,QAAA,EAAA;AACEf,IAAAA,GAAG,EAAEA,GAAI;AACTG,IAAAA,IAAI,EAAEA,IAAK;IACXI,QAAQ,EAAEA,QAAQ,IAAID,OAAQ;IAC9B,WAAWA,EAAAA,OAAO,IAAIU,SAAU;IAChCf,SAAS,EAAEgB,EAAE,CACXC,aAAM,CAACC,MAAM,EACbD,aAAM,CAACd,OAAO,CAAC,EACfc,aAAM,CAACb,IAAI,CAAC,EACZC,OAAO,IAAI,CAACC,QAAQ,IAAIW,aAAM,CAACZ,OAAO,EACtCL,SACF,CAAE;IACF,aAAaW,EAAAA,UAAU,EAAEQ,IAAK;AAC9B,IAAA,YAAA,EAAYC,2BAAa,CAACR,SAAS,EAAEF,YAAY,CAAE;AAAA,IAAA,GAC/CG,IAAI;IAAAZ,QAAA,eAERa,cAAA,CAACO,2BAAa,EAAA;AACZhB,MAAAA,OAAO,EAAEA,OAAQ;AACjBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,UAAU,EAAEA,UAAW;AAAAV,MAAAA,QAAA,EAEtBA,QAAAA;KACY,CAAA;AAAC,GACV,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDL,MAAM,CAAC0B,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const styles = {"button":"Button-module_button__eiKKZ","content":"Button-module_content__SVjwi","icon":"Button-module_icon__Ojq-e","spinner":"Button-module_spinner__QToZm","spin":"Button-module_spin__Q6mex","big":"Button-module_big__-gJao","small":"Button-module_small__U2Zqq","primary":"Button-module_primary__EU45Z","outline":"Button-module_outline__Jx-Hc","subtle":"Button-module_subtle__2DyRK","ghost":"Button-module_ghost__OX4Ks","error":"Button-module_error__qp2tu"
|
|
3
|
+
const styles = {"button":"Button-module_button__eiKKZ","loading":"Button-module_loading__wZ1IR","content":"Button-module_content__SVjwi","icon":"Button-module_icon__Ojq-e","spinner":"Button-module_spinner__QToZm","spin":"Button-module_spin__Q6mex","big":"Button-module_big__-gJao","small":"Button-module_small__U2Zqq","primary":"Button-module_primary__EU45Z","outline":"Button-module_outline__Jx-Hc","subtle":"Button-module_subtle__2DyRK","ghost":"Button-module_ghost__OX4Ks","error":"Button-module_error__qp2tu"};
|
|
4
4
|
|
|
5
5
|
module.exports = styles;
|
|
6
6
|
//# sourceMappingURL=Button.module.css.cjs.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const CounterSlot = require('../counter/CounterSlot.cjs');
|
|
6
|
+
const Button_module = require('./Button.module.css.cjs');
|
|
7
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
const IconLoaderCircle = require('../icons/components/base/IconLoaderCircle.cjs');
|
|
9
|
+
|
|
10
|
+
const joinAriaLabel = (ariaLabel, counterLabel) => ariaLabel && counterLabel ? `${ariaLabel}, ${counterLabel}` : ariaLabel;
|
|
11
|
+
const ButtonContent = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
loading = false,
|
|
14
|
+
iconLeft,
|
|
15
|
+
iconRight,
|
|
16
|
+
counter,
|
|
17
|
+
counterLabel,
|
|
18
|
+
dataTestId,
|
|
19
|
+
children
|
|
20
|
+
} = _ref;
|
|
21
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
22
|
+
children: [loading ? /*#__PURE__*/jsxRuntime.jsx(IconLoaderCircle.IconLoaderCircle, {
|
|
23
|
+
className: Button_module.spinner,
|
|
24
|
+
"aria-hidden": "true"
|
|
25
|
+
}) : iconLeft != null && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
26
|
+
className: Button_module.icon,
|
|
27
|
+
"aria-hidden": "true",
|
|
28
|
+
"data-testid": dataTestId?.iconLeft,
|
|
29
|
+
children: iconLeft
|
|
30
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
31
|
+
className: Button_module.content,
|
|
32
|
+
"data-testid": dataTestId?.content,
|
|
33
|
+
children: children
|
|
34
|
+
}), !loading && iconRight != null ? /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
35
|
+
className: Button_module.icon,
|
|
36
|
+
"aria-hidden": "true",
|
|
37
|
+
"data-testid": dataTestId?.iconRight,
|
|
38
|
+
children: iconRight
|
|
39
|
+
}) : null, /*#__PURE__*/jsxRuntime.jsx(CounterSlot.CounterSlot, {
|
|
40
|
+
dataTestId: dataTestId?.counter,
|
|
41
|
+
children: counter
|
|
42
|
+
}), /*#__PURE__*/jsxRuntime.jsx(CounterSlot.CounterLabel, {
|
|
43
|
+
children: counterLabel
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.ButtonContent = ButtonContent;
|
|
49
|
+
exports.joinAriaLabel = joinAriaLabel;
|
|
50
|
+
//# sourceMappingURL=ButtonContent.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonContent.cjs","sources":["../../../src/button/ButtonContent.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\n\nimport { CounterLabel, CounterSlot } from '../counter/CounterSlot'\nimport { IconLoaderCircle } from '../icons'\nimport styles from './Button.module.css'\nimport type { ButtonOwnProps } from './types'\n\nexport const joinAriaLabel = (\n ariaLabel: string | undefined,\n counterLabel: string | undefined,\n) => (ariaLabel && counterLabel ? `${ariaLabel}, ${counterLabel}` : ariaLabel)\n\ntype ButtonContentProps = Pick<\n ButtonOwnProps,\n 'iconLeft' | 'iconRight' | 'counter' | 'counterLabel' | 'dataTestId'\n> & {\n loading?: boolean\n children?: ReactNode\n}\n\nexport const ButtonContent = ({\n loading = false,\n iconLeft,\n iconRight,\n counter,\n counterLabel,\n dataTestId,\n children,\n}: ButtonContentProps) => (\n <>\n {loading ? (\n <IconLoaderCircle className={styles.spinner} aria-hidden='true' />\n ) : (\n iconLeft != null && (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.iconLeft}\n >\n {iconLeft}\n </span>\n )\n )}\n <span className={styles.content} data-testid={dataTestId?.content}>\n {children}\n </span>\n {!loading && iconRight != null ? (\n <span\n className={styles.icon}\n aria-hidden='true'\n data-testid={dataTestId?.iconRight}\n >\n {iconRight}\n </span>\n ) : null}\n <CounterSlot dataTestId={dataTestId?.counter}>{counter}</CounterSlot>\n <CounterLabel>{counterLabel}</CounterLabel>\n </>\n)\n"],"names":["joinAriaLabel","ariaLabel","counterLabel","ButtonContent","_ref","loading","iconLeft","iconRight","counter","dataTestId","children","_jsxs","_Fragment","_jsx","IconLoaderCircle","className","styles","spinner","icon","content","CounterSlot","CounterLabel"],"mappings":";;;;;;;;;MAOaA,aAAa,GAAGA,CAC3BC,SAA6B,EAC7BC,YAAgC,KAC5BD,SAAS,IAAIC,YAAY,GAAG,CAAGD,EAAAA,SAAS,KAAKC,YAAY,CAAA,CAAE,GAAGD,UAAU;AAUvE,MAAME,aAAa,GAAGC,IAAA,IAAA;EAAA,IAAC;AAC5BC,IAAAA,OAAO,GAAG,KAAK;IACfC,QAAQ;IACRC,SAAS;IACTC,OAAO;IACPN,YAAY;IACZO,UAAU;AACVC,IAAAA,QAAAA;AACkB,GAAC,GAAAN,IAAA,CAAA;EAAA,oBACnBO,eAAA,CAAAC,mBAAA,EAAA;AAAAF,IAAAA,QAAA,EACGL,CAAAA,OAAO,gBACNQ,cAAA,CAACC,iCAAgB,EAAA;MAACC,SAAS,EAAEC,aAAM,CAACC,OAAQ;MAAC,aAAY,EAAA,MAAA;AAAM,KAAE,CAAC,GAElEX,QAAQ,IAAI,IAAI,iBACdO,cAAA,CAAA,MAAA,EAAA;MACEE,SAAS,EAAEC,aAAM,CAACE,IAAK;AACvB,MAAA,aAAA,EAAY,MAAM;MAClB,aAAaT,EAAAA,UAAU,EAAEH,QAAS;AAAAI,MAAAA,QAAA,EAEjCJ,QAAAA;KACG,CAET,eACDO,cAAA,CAAA,MAAA,EAAA;MAAME,SAAS,EAAEC,aAAM,CAACG,OAAQ;MAAC,aAAaV,EAAAA,UAAU,EAAEU,OAAQ;AAAAT,MAAAA,QAAA,EAC/DA,QAAAA;KACG,CAAC,EACN,CAACL,OAAO,IAAIE,SAAS,IAAI,IAAI,gBAC5BM,cAAA,CAAA,MAAA,EAAA;MACEE,SAAS,EAAEC,aAAM,CAACE,IAAK;AACvB,MAAA,aAAA,EAAY,MAAM;MAClB,aAAaT,EAAAA,UAAU,EAAEF,SAAU;AAAAG,MAAAA,QAAA,EAElCH,SAAAA;AAAS,KACN,CAAC,GACL,IAAI,eACRM,cAAA,CAACO,uBAAW,EAAA;MAACX,UAAU,EAAEA,UAAU,EAAED,OAAQ;AAAAE,MAAAA,QAAA,EAAEF,OAAAA;AAAO,KAAc,CAAC,eACrEK,cAAA,CAACQ,wBAAY,EAAA;AAAAX,MAAAA,QAAA,EAAER,YAAAA;AAAY,KAAe,CAAC,CAAA;AAAA,GAC3C,CAAC,CAAA;AAAA;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('react');
|
|
6
|
+
const cn = require('classnames');
|
|
7
|
+
const Anchor = require('../link-provider/Anchor.cjs');
|
|
8
|
+
const Button_module = require('./Button.module.css.cjs');
|
|
9
|
+
const ButtonContent = require('./ButtonContent.cjs');
|
|
10
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
|
|
12
|
+
/** Button-styled `<a>` that routes through `LinkProvider`; `disabled` drops the `href`. */
|
|
13
|
+
const LinkButton = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
14
|
+
let {
|
|
15
|
+
className,
|
|
16
|
+
children,
|
|
17
|
+
variant = 'primary',
|
|
18
|
+
size = 'big',
|
|
19
|
+
iconLeft,
|
|
20
|
+
iconRight,
|
|
21
|
+
counter,
|
|
22
|
+
counterLabel,
|
|
23
|
+
dataTestId,
|
|
24
|
+
'aria-label': ariaLabel,
|
|
25
|
+
...rest
|
|
26
|
+
} = _ref;
|
|
27
|
+
return /*#__PURE__*/jsxRuntime.jsx(Anchor.Anchor, {
|
|
28
|
+
ref: ref,
|
|
29
|
+
className: cn(Button_module.button, Button_module[variant], Button_module[size], className),
|
|
30
|
+
"data-testid": dataTestId?.root,
|
|
31
|
+
"aria-label": ButtonContent.joinAriaLabel(ariaLabel, counterLabel),
|
|
32
|
+
...rest,
|
|
33
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ButtonContent.ButtonContent, {
|
|
34
|
+
iconLeft: iconLeft,
|
|
35
|
+
iconRight: iconRight,
|
|
36
|
+
counter: counter,
|
|
37
|
+
counterLabel: counterLabel,
|
|
38
|
+
dataTestId: dataTestId,
|
|
39
|
+
children: children
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
LinkButton.displayName = 'LinkButton';
|
|
44
|
+
|
|
45
|
+
exports.LinkButton = LinkButton;
|
|
46
|
+
//# sourceMappingURL=LinkButton.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkButton.cjs","sources":["../../../src/button/LinkButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport cn from 'classnames'\n\nimport { Anchor, type AnchorProps } from '../link-provider/Anchor'\nimport styles from './Button.module.css'\nimport { ButtonContent, joinAriaLabel } from './ButtonContent'\nimport type { ButtonOwnProps } from './types'\n\nexport type LinkButtonProps = Omit<AnchorProps, 'href'> &\n ButtonOwnProps & {\n href: string\n }\n\n/** Button-styled `<a>` that routes through `LinkProvider`; `disabled` drops the `href`. */\nexport const LinkButton = forwardRef<HTMLAnchorElement, LinkButtonProps>(\n (\n {\n className,\n children,\n variant = 'primary',\n size = 'big',\n iconLeft,\n iconRight,\n counter,\n counterLabel,\n dataTestId,\n 'aria-label': ariaLabel,\n ...rest\n },\n ref,\n ) => (\n <Anchor\n ref={ref}\n className={cn(styles.button, styles[variant], styles[size], className)}\n data-testid={dataTestId?.root}\n aria-label={joinAriaLabel(ariaLabel, counterLabel)}\n {...rest}\n >\n <ButtonContent\n iconLeft={iconLeft}\n iconRight={iconRight}\n counter={counter}\n counterLabel={counterLabel}\n dataTestId={dataTestId}\n >\n {children}\n </ButtonContent>\n </Anchor>\n ),\n)\n\nLinkButton.displayName = 'LinkButton'\n"],"names":["LinkButton","forwardRef","_ref","ref","className","children","variant","size","iconLeft","iconRight","counter","counterLabel","dataTestId","ariaLabel","rest","_jsx","Anchor","cn","styles","button","root","joinAriaLabel","ButtonContent","displayName"],"mappings":";;;;;;;;;;;AAcA;AACO,MAAMA,UAAU,gBAAGC,gBAAU,CAClC,CAAAC,IAAA,EAcEC,GAAG,KAAA;EAAA,IAbH;IACEC,SAAS;IACTC,QAAQ;AACRC,IAAAA,OAAO,GAAG,SAAS;AACnBC,IAAAA,IAAI,GAAG,KAAK;IACZC,QAAQ;IACRC,SAAS;IACTC,OAAO;IACPC,YAAY;IACZC,UAAU;AACV,IAAA,YAAY,EAAEC,SAAS;IACvB,GAAGC,IAAAA;AACL,GAAC,GAAAZ,IAAA,CAAA;EAAA,oBAGDa,cAAA,CAACC,aAAM,EAAA;AACLb,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,SAAS,EAAEa,EAAE,CAACC,aAAM,CAACC,MAAM,EAAED,aAAM,CAACZ,OAAO,CAAC,EAAEY,aAAM,CAACX,IAAI,CAAC,EAAEH,SAAS,CAAE;IACvE,aAAaQ,EAAAA,UAAU,EAAEQ,IAAK;AAC9B,IAAA,YAAA,EAAYC,2BAAa,CAACR,SAAS,EAAEF,YAAY,CAAE;AAAA,IAAA,GAC/CG,IAAI;IAAAT,QAAA,eAERU,cAAA,CAACO,2BAAa,EAAA;AACZd,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,UAAU,EAAEA,UAAW;AAAAP,MAAAA,QAAA,EAEtBA,QAAAA;KACY,CAAA;AAAC,GACV,CAAC,CAAA;AAAA,CAEb,EAAC;AAEDL,UAAU,CAACuB,WAAW,GAAG,YAAY;;;;"}
|
package/dist/cjs/card/Card.cjs
CHANGED
|
@@ -6,6 +6,7 @@ const cn = require('classnames');
|
|
|
6
6
|
const Card_module = require('./Card.module.css.cjs');
|
|
7
7
|
const jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
9
|
+
/** Rounded, bordered surface that fills the width its parent gives it. */
|
|
9
10
|
const Card = _ref => {
|
|
10
11
|
let {
|
|
11
12
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.cjs","sources":["../../../src/card/Card.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Card.module.css'\n\nexport type CardDataTestId = {\n root?: string\n}\n\nexport type CardProps = HTMLAttributes<HTMLDivElement> & {\n dataTestId?: CardDataTestId\n}\n\nexport const Card = ({\n className,\n children,\n dataTestId,\n ...rest\n}: CardProps) => (\n <div\n className={cn(styles.card, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n </div>\n)\n"],"names":["Card","_ref","className","children","dataTestId","rest","_jsx","cn","styles","card","root"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"Card.cjs","sources":["../../../src/card/Card.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nimport cn from 'classnames'\n\nimport styles from './Card.module.css'\n\nexport type CardDataTestId = {\n root?: string\n}\n\nexport type CardProps = HTMLAttributes<HTMLDivElement> & {\n dataTestId?: CardDataTestId\n}\n\n/** Rounded, bordered surface that fills the width its parent gives it. */\nexport const Card = ({\n className,\n children,\n dataTestId,\n ...rest\n}: CardProps) => (\n <div\n className={cn(styles.card, className)}\n data-testid={dataTestId?.root}\n {...rest}\n >\n {children}\n </div>\n)\n"],"names":["Card","_ref","className","children","dataTestId","rest","_jsx","cn","styles","card","root"],"mappings":";;;;;;;;AAcA;AACO,MAAMA,IAAI,GAAGC,IAAA,IAAA;EAAA,IAAC;IACnBC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACV,GAAGC,IAAAA;AACM,GAAC,GAAAJ,IAAA,CAAA;AAAA,EAAA,oBACVK,cAAA,CAAA,KAAA,EAAA;IACEJ,SAAS,EAAEK,EAAE,CAACC,WAAM,CAACC,IAAI,EAAEP,SAAS,CAAE;IACtC,aAAaE,EAAAA,UAAU,EAAEM,IAAK;AAAA,IAAA,GAC1BL,IAAI;AAAAF,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GACN,CAAC,CAAA;AAAA;;;;"}
|
|
@@ -8,6 +8,7 @@ const Checkbox_module = require('./Checkbox.module.css.cjs');
|
|
|
8
8
|
const jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
const IconCheck = require('../icons/components/base/IconCheck.cjs');
|
|
10
10
|
|
|
11
|
+
/** 24px box wrapped in a `<label>` so the text is clickable; forwards every native input prop. */
|
|
11
12
|
const Checkbox = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
12
13
|
let {
|
|
13
14
|
label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.cjs","sources":["../../../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react'\n\nimport { IconCheck } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './Checkbox.module.css'\n\nexport type CheckboxDataTestId = {\n root?: string\n input?: string\n label?: string\n}\n\nexport type CheckboxProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> & {\n label?: ReactNode\n dataTestId?: CheckboxDataTestId\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, className, disabled, dataTestId, ...rest }, ref) => (\n <label\n className={cn(styles.container, className, {\n [styles.containerDisabled]: disabled,\n })}\n data-testid={dataTestId?.root}\n >\n <span className={styles.control}>\n <input\n ref={ref}\n type='checkbox'\n className={styles.input}\n disabled={disabled}\n data-testid={dataTestId?.input}\n {...rest}\n />\n <IconCheck className={styles.tick} />\n </span>\n {label ? (\n <span\n className={cn(styles.label, { [styles.labelDisabled]: disabled })}\n data-testid={dataTestId?.label}\n >\n {label}\n </span>\n ) : null}\n </label>\n ),\n)\n\nCheckbox.displayName = 'Checkbox'\n"],"names":["Checkbox","forwardRef","_ref","ref","label","className","disabled","dataTestId","rest","_jsxs","cn","styles","container","containerDisabled","root","children","control","_jsx","type","input","IconCheck","tick","labelDisabled","displayName"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Checkbox.cjs","sources":["../../../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes, type ReactNode } from 'react'\n\nimport { IconCheck } from '../icons'\nimport cn from 'classnames'\n\nimport styles from './Checkbox.module.css'\n\nexport type CheckboxDataTestId = {\n root?: string\n input?: string\n label?: string\n}\n\nexport type CheckboxProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'type'\n> & {\n /** Text next to the box; omit for a bare checkbox. */\n label?: ReactNode\n dataTestId?: CheckboxDataTestId\n}\n\n/** 24px box wrapped in a `<label>` so the text is clickable; forwards every native input prop. */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, className, disabled, dataTestId, ...rest }, ref) => (\n <label\n className={cn(styles.container, className, {\n [styles.containerDisabled]: disabled,\n })}\n data-testid={dataTestId?.root}\n >\n <span className={styles.control}>\n <input\n ref={ref}\n type='checkbox'\n className={styles.input}\n disabled={disabled}\n data-testid={dataTestId?.input}\n {...rest}\n />\n <IconCheck className={styles.tick} />\n </span>\n {label ? (\n <span\n className={cn(styles.label, { [styles.labelDisabled]: disabled })}\n data-testid={dataTestId?.label}\n >\n {label}\n </span>\n ) : null}\n </label>\n ),\n)\n\nCheckbox.displayName = 'Checkbox'\n"],"names":["Checkbox","forwardRef","_ref","ref","label","className","disabled","dataTestId","rest","_jsxs","cn","styles","container","containerDisabled","root","children","control","_jsx","type","input","IconCheck","tick","labelDisabled","displayName"],"mappings":";;;;;;;;;;AAsBA;AACO,MAAMA,QAAQ,gBAAGC,gBAAU,CAChC,CAAAC,IAAA,EAAsDC,GAAG,KAAA;EAAA,IAAxD;IAAEC,KAAK;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,UAAU;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAAN,IAAA,CAAA;AAAA,EAAA,oBAClDO,eAAA,CAAA,OAAA,EAAA;IACEJ,SAAS,EAAEK,EAAE,CAACC,eAAM,CAACC,SAAS,EAAEP,SAAS,EAAE;MACzC,CAACM,eAAM,CAACE,iBAAiB,GAAGP,QAAAA;AAC9B,KAAC,CAAE;IACH,aAAaC,EAAAA,UAAU,EAAEO,IAAK;AAAAC,IAAAA,QAAA,gBAE9BN,eAAA,CAAA,MAAA,EAAA;MAAMJ,SAAS,EAAEM,eAAM,CAACK,OAAQ;AAAAD,MAAAA,QAAA,gBAC9BE,cAAA,CAAA,OAAA,EAAA;AACEd,QAAAA,GAAG,EAAEA,GAAI;AACTe,QAAAA,IAAI,EAAC,UAAU;QACfb,SAAS,EAAEM,eAAM,CAACQ,KAAM;AACxBb,QAAAA,QAAQ,EAAEA,QAAS;QACnB,aAAaC,EAAAA,UAAU,EAAEY,KAAM;QAAA,GAC3BX,IAAAA;AAAI,OACT,CAAC,eACFS,cAAA,CAACG,mBAAS,EAAA;QAACf,SAAS,EAAEM,eAAM,CAACU,IAAAA;AAAK,OAAE,CAAC,CAAA;AAAA,KACjC,CAAC,EACNjB,KAAK,gBACJa,cAAA,CAAA,MAAA,EAAA;AACEZ,MAAAA,SAAS,EAAEK,EAAE,CAACC,eAAM,CAACP,KAAK,EAAE;QAAE,CAACO,eAAM,CAACW,aAAa,GAAGhB,QAAAA;AAAS,OAAC,CAAE;MAClE,aAAaC,EAAAA,UAAU,EAAEH,KAAM;AAAAW,MAAAA,QAAA,EAE9BX,KAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CAEZ,EAAC;AAEDJ,QAAQ,CAACuB,WAAW,GAAG,UAAU;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('react');
|
|
6
|
+
const cn = require('classnames');
|
|
7
|
+
const Copy_module = require('./Copy.module.css.cjs');
|
|
8
|
+
const useCopy = require('./useCopy.cjs');
|
|
9
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
const IconCopy = require('../icons/components/base/IconCopy.cjs');
|
|
11
|
+
const IconCheck = require('../icons/components/base/IconCheck.cjs');
|
|
12
|
+
|
|
13
|
+
const Copy = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
14
|
+
let {
|
|
15
|
+
text,
|
|
16
|
+
onCopy,
|
|
17
|
+
onClick,
|
|
18
|
+
className,
|
|
19
|
+
...rest
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
copy,
|
|
23
|
+
copied
|
|
24
|
+
} = useCopy.useCopy(text, {
|
|
25
|
+
onCopy
|
|
26
|
+
});
|
|
27
|
+
const handleClick = event => {
|
|
28
|
+
onClick?.(event);
|
|
29
|
+
void copy();
|
|
30
|
+
};
|
|
31
|
+
return /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
32
|
+
ref: ref,
|
|
33
|
+
type: "button",
|
|
34
|
+
"aria-label": copied ? 'Copied' : 'Copy',
|
|
35
|
+
"data-copied": copied || undefined,
|
|
36
|
+
className: cn(Copy_module.root, className),
|
|
37
|
+
onClick: handleClick,
|
|
38
|
+
...rest,
|
|
39
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
40
|
+
className: Copy_module.icon,
|
|
41
|
+
"aria-hidden": "true",
|
|
42
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
43
|
+
className: cn(Copy_module.glyph, Copy_module.idle),
|
|
44
|
+
children: /*#__PURE__*/jsxRuntime.jsx(IconCopy.IconCopy, {})
|
|
45
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
46
|
+
className: cn(Copy_module.glyph, Copy_module.done),
|
|
47
|
+
children: /*#__PURE__*/jsxRuntime.jsx(IconCheck.IconCheck, {})
|
|
48
|
+
})]
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
Copy.displayName = 'Copy';
|
|
53
|
+
|
|
54
|
+
exports.Copy = Copy;
|
|
55
|
+
//# sourceMappingURL=Copy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Copy.cjs","sources":["../../../src/copy/Copy.tsx"],"sourcesContent":["import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n} from 'react'\n\nimport cn from 'classnames'\n\nimport { IconCheck, IconCopy } from '../icons'\nimport styles from './Copy.module.css'\nimport { useCopy } from './useCopy'\n\nexport type CopyProps = Omit<ComponentPropsWithoutRef<'button'>, 'children'> & {\n text: string\n onCopy?: () => void\n}\n\nexport const Copy = forwardRef<HTMLButtonElement, CopyProps>(\n ({ text, onCopy, onClick, className, ...rest }, ref) => {\n const { copy, copied } = useCopy(text, { onCopy })\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n onClick?.(event)\n void copy()\n }\n\n return (\n <button\n ref={ref}\n type='button'\n aria-label={copied ? 'Copied' : 'Copy'}\n data-copied={copied || undefined}\n className={cn(styles.root, className)}\n onClick={handleClick}\n {...rest}\n >\n <span className={styles.icon} aria-hidden='true'>\n <span className={cn(styles.glyph, styles.idle)}>\n <IconCopy />\n </span>\n <span className={cn(styles.glyph, styles.done)}>\n <IconCheck />\n </span>\n </span>\n </button>\n )\n },\n)\n\nCopy.displayName = 'Copy'\n"],"names":["Copy","forwardRef","_ref","ref","text","onCopy","onClick","className","rest","copy","copied","useCopy","handleClick","event","_jsx","type","undefined","cn","styles","root","children","_jsxs","icon","glyph","idle","IconCopy","done","IconCheck","displayName"],"mappings":";;;;;;;;;;;;AAiBO,MAAMA,IAAI,gBAAGC,gBAAU,CAC5B,CAAAC,IAAA,EAAgDC,GAAG,KAAK;EAAA,IAAvD;IAAEC,IAAI;IAAEC,MAAM;IAAEC,OAAO;IAAEC,SAAS;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAAN,IAAA,CAAA;EAC5C,MAAM;IAAEO,IAAI;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,eAAO,CAACP,IAAI,EAAE;AAAEC,IAAAA,MAAAA;AAAO,GAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAIC,KAAoC,IAAK;IAC5DP,OAAO,GAAGO,KAAK,CAAC,CAAA;IAChB,KAAKJ,IAAI,EAAE,CAAA;GACZ,CAAA;AAED,EAAA,oBACEK,cAAA,CAAA,QAAA,EAAA;AACEX,IAAAA,GAAG,EAAEA,GAAI;AACTY,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,YAAA,EAAYL,MAAM,GAAG,QAAQ,GAAG,MAAO;IACvC,aAAaA,EAAAA,MAAM,IAAIM,SAAU;IACjCT,SAAS,EAAEU,EAAE,CAACC,WAAM,CAACC,IAAI,EAAEZ,SAAS,CAAE;AACtCD,IAAAA,OAAO,EAAEM,WAAY;AAAA,IAAA,GACjBJ,IAAI;AAAAY,IAAAA,QAAA,eAERC,eAAA,CAAA,MAAA,EAAA;MAAMd,SAAS,EAAEW,WAAM,CAACI,IAAK;AAAC,MAAA,aAAA,EAAY,MAAM;AAAAF,MAAAA,QAAA,gBAC9CN,cAAA,CAAA,MAAA,EAAA;QAAMP,SAAS,EAAEU,EAAE,CAACC,WAAM,CAACK,KAAK,EAAEL,WAAM,CAACM,IAAI,CAAE;AAAAJ,QAAAA,QAAA,eAC7CN,cAAA,CAACW,iBAAQ,EAAE,EAAA,CAAA;OACP,CAAC,eACPX,cAAA,CAAA,MAAA,EAAA;QAAMP,SAAS,EAAEU,EAAE,CAACC,WAAM,CAACK,KAAK,EAAEL,WAAM,CAACQ,IAAI,CAAE;AAAAN,QAAAA,QAAA,eAC7CN,cAAA,CAACa,mBAAS,EAAE,EAAA,CAAA;AAAC,OACT,CAAC,CAAA;KACH,CAAA;AAAC,GACD,CAAC,CAAA;AAEb,CACF,EAAC;AAED3B,IAAI,CAAC4B,WAAW,GAAG,MAAM;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const styles = {"root":"Copy-module_root__LWKJ9","icon":"Copy-module_icon__MjYMv","glyph":"Copy-module_glyph__MJNUb","done":"Copy-module_done__wizRt","idle":"Copy-module_idle__MQyyS"};
|
|
4
|
+
|
|
5
|
+
module.exports = styles;
|
|
6
|
+
//# sourceMappingURL=Copy.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Copy.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const react = require('react');
|
|
6
|
+
|
|
7
|
+
const useCopy = function (text) {
|
|
8
|
+
let {
|
|
9
|
+
onCopy,
|
|
10
|
+
timeout = 1000
|
|
11
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12
|
+
const [copied, setCopied] = react.useState(false);
|
|
13
|
+
const timerRef = react.useRef();
|
|
14
|
+
react.useEffect(() => () => clearTimeout(timerRef.current), []);
|
|
15
|
+
const copy = react.useCallback(async () => {
|
|
16
|
+
try {
|
|
17
|
+
await navigator.clipboard.writeText(text);
|
|
18
|
+
} catch {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
clearTimeout(timerRef.current);
|
|
22
|
+
setCopied(true);
|
|
23
|
+
onCopy?.();
|
|
24
|
+
timerRef.current = setTimeout(() => setCopied(false), timeout);
|
|
25
|
+
}, [text, onCopy, timeout]);
|
|
26
|
+
return {
|
|
27
|
+
copy,
|
|
28
|
+
copied
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.useCopy = useCopy;
|
|
33
|
+
//# sourceMappingURL=useCopy.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCopy.cjs","sources":["../../../src/copy/useCopy.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\n\nexport type UseCopyOptions = {\n onCopy?: () => void\n timeout?: number\n}\n\nexport const useCopy = (\n text: string,\n { onCopy, timeout = 1000 }: UseCopyOptions = {},\n) => {\n const [copied, setCopied] = useState(false)\n const timerRef = useRef<ReturnType<typeof setTimeout>>()\n\n useEffect(() => () => clearTimeout(timerRef.current), [])\n\n const copy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(text)\n } catch {\n return\n }\n\n clearTimeout(timerRef.current)\n setCopied(true)\n onCopy?.()\n timerRef.current = setTimeout(() => setCopied(false), timeout)\n }, [text, onCopy, timeout])\n\n return { copy, copied }\n}\n"],"names":["useCopy","text","onCopy","timeout","arguments","length","undefined","copied","setCopied","useState","timerRef","useRef","useEffect","clearTimeout","current","copy","useCallback","navigator","clipboard","writeText","setTimeout"],"mappings":";;;;;;MAOaA,OAAO,GAAG,UACrBC,IAAY,EAET;EAAA,IADH;IAAEC,MAAM;AAAEC,IAAAA,OAAO,GAAG,IAAA;AAAqB,GAAC,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;EAE/C,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAA;AAC3C,EAAA,MAAMC,QAAQ,GAAGC,YAAM,EAAiC,CAAA;EAExDC,eAAS,CAAC,MAAM,MAAMC,YAAY,CAACH,QAAQ,CAACI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;AAEzD,EAAA,MAAMC,IAAI,GAAGC,iBAAW,CAAC,YAAY;IACnC,IAAI;AACF,MAAA,MAAMC,SAAS,CAACC,SAAS,CAACC,SAAS,CAAClB,IAAI,CAAC,CAAA;AAC3C,KAAC,CAAC,MAAM;AACN,MAAA,OAAA;AACF,KAAA;AAEAY,IAAAA,YAAY,CAACH,QAAQ,CAACI,OAAO,CAAC,CAAA;IAC9BN,SAAS,CAAC,IAAI,CAAC,CAAA;AACfN,IAAAA,MAAM,IAAI,CAAA;AACVQ,IAAAA,QAAQ,CAACI,OAAO,GAAGM,UAAU,CAAC,MAAMZ,SAAS,CAAC,KAAK,CAAC,EAAEL,OAAO,CAAC,CAAA;GAC/D,EAAE,CAACF,IAAI,EAAEC,MAAM,EAAEC,OAAO,CAAC,CAAC,CAAA;EAE3B,OAAO;IAAEY,IAAI;AAAER,IAAAA,MAAAA;GAAQ,CAAA;AACzB;;;;"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
+
const react = require('react');
|
|
5
6
|
const cn = require('classnames');
|
|
6
7
|
const Counter_module = require('./Counter.module.css.cjs');
|
|
7
8
|
const jsxRuntime = require('react/jsx-runtime');
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
/** 20px pill for notification/unread counts; grows horizontally for multi-digit values. */
|
|
11
|
+
const Counter = /*#__PURE__*/react.forwardRef((_ref, ref) => {
|
|
10
12
|
let {
|
|
11
13
|
variant = 'default',
|
|
12
14
|
className,
|
|
@@ -15,12 +17,14 @@ const Counter = _ref => {
|
|
|
15
17
|
...rest
|
|
16
18
|
} = _ref;
|
|
17
19
|
return /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
20
|
+
ref: ref,
|
|
18
21
|
className: cn(Counter_module.counter, Counter_module[variant], className),
|
|
19
22
|
"data-testid": dataTestId?.root,
|
|
20
23
|
...rest,
|
|
21
24
|
children: children
|
|
22
25
|
});
|
|
23
|
-
};
|
|
26
|
+
});
|
|
27
|
+
Counter.displayName = 'Counter';
|
|
24
28
|
|
|
25
29
|
exports.Counter = Counter;
|
|
26
30
|
//# sourceMappingURL=Counter.cjs.map
|