@react-fabric/core 1.0.0-beta.5 → 1.0.0-beta.52
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/{src/components/actionLabel/ActionLabel.module.css → css/components/_actionLabel.css} +4 -4
- package/{src/overlays/alert/Alert.module.css → css/components/_alert.css} +3 -3
- package/{src/components/animations/Animations.module.css → css/components/_animations.css} +9 -9
- package/{src/components/avatar/Avatar.module.css → css/components/_avatar.css} +11 -11
- package/{src/components/badge/Badge.module.css → css/components/_badge.css} +19 -17
- package/{src/components/breadcrumbs/Breadcrumbs.module.css → css/components/_breadcrumbs.css} +49 -44
- package/{src/components/button/Button.module.css → css/components/_button.css} +69 -79
- package/{src/components/card/Card.module.css → css/components/_card.css} +50 -28
- package/{src/components/chip/Chip.module.css → css/components/_chip.css} +14 -10
- package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
- package/css/components/_divider.css +38 -0
- package/{src/components/dropdown/Dropdown.module.css → css/components/_dropdown.css} +2 -2
- package/{src/overlays/flyout/Flyout.module.css → css/components/_flyout.css} +6 -6
- package/{src/components/icon/Icon.module.css → css/components/_icon.css} +8 -5
- package/{src/components/media/Media.module.css → css/components/_media.css} +17 -17
- package/{src/components/menu/Menu.module.css → css/components/_menu.css} +19 -20
- package/{src/overlays/message/Message.module.css → css/components/_message.css} +2 -2
- package/{src/components/meter/Meter.module.css → css/components/_meter.css} +10 -10
- package/{src/overlays/modal/Modal.module.css → css/components/_modal.css} +8 -8
- package/{src/components/panel/Panel.module.css → css/components/_panel.css} +17 -17
- package/{src/components/progress/Progress.module.css → css/components/_progress.css} +7 -10
- package/{src/components/tabpanel/TabPanel.module.css → css/components/_tabPanel.css} +73 -84
- package/{src/overlays/toast/Toast.module.css → css/components/_toast.css} +2 -2
- package/css/components/_tooltip.css +29 -0
- package/{src/core/content/Content.module.css → css/components/index.css} +25 -18
- package/{src/core/aside/Aside.module.css → css/core/_aside.css} +56 -42
- package/{src/core/section/Section.module.css → css/core/_content.css} +5 -3
- package/{src/core/boundary/ErrorBoundary.module.css → css/core/_errorboundary.css} +9 -9
- package/{src/core/headfoot/HeadFoot.module.css → css/core/_headfoot.css} +4 -10
- package/{src/core/page/Page.module.css → css/core/_page.css} +10 -14
- package/{src/core/responsive/Responsive.module.css → css/core/_responsive.css} +10 -10
- package/css/core/_section.css +28 -0
- package/{src/core/theme/Theme.module.css → css/core/_theme.css} +3 -3
- package/{src/typography/Typography.module.css → css/core/_typography.css} +14 -12
- package/{src/core/viewport/Viewport.module.css → css/core/_viewport.css} +7 -3
- package/css/core/index.css +33 -0
- package/css/reset/_gradients.css +8 -8
- package/css/reset/_reset.css +42 -224
- package/css/reset/_text.css +14 -29
- package/css/reset/_theme.css +331 -52
- package/css/reset/index.css +4 -4
- package/css/styles.css +7 -6
- package/css/theme/_colors.css +320 -0
- package/css/theme/_utilities.css +530 -0
- package/css/theme/index.css +45 -0
- package/dist/cjs/components/actionLabel/ActionLabel.js +26 -8
- package/dist/cjs/components/animations/Animations.js +118 -24
- package/dist/cjs/components/avatar/Avatar.js +43 -16
- package/dist/cjs/components/avatar/AvatarGroup.js +22 -4
- package/dist/cjs/components/badge/Badge.js +35 -6
- package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +39 -8
- package/dist/cjs/components/button/Button.js +42 -15
- package/dist/cjs/components/button/ButtonGroup.js +30 -3
- package/dist/cjs/components/button/ConfirmButton.js +32 -4
- package/dist/cjs/components/button/ToggleButtonGroup.js +41 -15
- package/dist/cjs/components/callout/Callout.js +44 -4
- package/dist/cjs/components/card/Card.js +48 -10
- package/dist/cjs/components/card/CardCover.js +36 -5
- package/dist/cjs/components/card/FlipContent.js +56 -0
- package/dist/cjs/components/chip/Chip.js +32 -7
- package/dist/cjs/components/collapsable/Collapsable.js +32 -6
- package/dist/cjs/components/divider/Divider.js +30 -7
- package/dist/cjs/components/dropdown/Dropdown.js +48 -9
- package/dist/cjs/components/dropdown/DropdownTool.js +4 -3
- package/dist/cjs/components/empty/EmptyContent.js +35 -5
- package/dist/cjs/components/icon/Icon.js +44 -16
- package/dist/cjs/components/media/Media.js +172 -75
- package/dist/cjs/components/menu/ContextMenu.js +49 -10
- package/dist/cjs/components/menu/Menu.js +74 -21
- package/dist/cjs/components/menu/MenuItem.js +51 -16
- package/dist/cjs/components/meter/Meter.js +26 -3
- package/dist/cjs/components/navigator/Navigator.js +48 -13
- package/dist/cjs/components/panel/Panel.js +47 -9
- package/dist/cjs/components/panel/PanelGroup.js +25 -2
- package/dist/cjs/components/panel/PanelStack.js +31 -0
- package/dist/cjs/components/progress/ProgressBar.js +31 -9
- package/dist/cjs/components/progress/ProgressCircle.js +29 -7
- package/dist/cjs/components/tabpanel/Tab.js +89 -38
- package/dist/cjs/components/tabpanel/TabPanel.js +53 -16
- package/dist/cjs/context/Global.js +28 -1
- package/dist/cjs/context/NotificationCenter.js +3 -3
- package/dist/cjs/core/aside/Aside.js +49 -11
- package/dist/cjs/core/boundary/ErrorBoundary.js +23 -8
- package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
- package/dist/cjs/core/content/Content.js +15 -8
- package/dist/cjs/core/headfoot/HeadFoot.js +44 -20
- package/dist/cjs/core/page/Page.js +40 -29
- package/dist/cjs/core/responsive/Responsive.js +59 -6
- package/dist/cjs/core/section/Section.js +1 -2
- package/dist/cjs/core/theme/ThemeProvider.js +32 -10
- package/dist/cjs/core/viewport/Viewport.js +18 -2
- package/dist/cjs/hooks/useControlledValue.js +12 -0
- package/dist/cjs/hooks/useDebounce.js +14 -1
- package/dist/cjs/hooks/useEffectDebugger.js +54 -2
- package/dist/cjs/hooks/useIsDark.js +8 -0
- package/dist/cjs/hooks/useIsRtl.js +12 -0
- package/dist/cjs/hooks/useNavigator.js +6 -4
- package/dist/cjs/hooks/useOverlayService.js +24 -0
- package/dist/cjs/hooks/usePropToggle.js +16 -5
- package/dist/cjs/hooks/useResize.js +18 -0
- package/dist/cjs/hooks/useResizeObserver.js +20 -1
- package/dist/cjs/hooks/useStorage.js +39 -0
- package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
- package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/overlays/alert/Alert.js +20 -14
- package/dist/cjs/overlays/flyout/Flyout.js +49 -60
- package/dist/cjs/overlays/message/Message.js +6 -3
- package/dist/cjs/overlays/modal/Modal.js +16 -12
- package/dist/cjs/overlays/toast/Toast.js +17 -9
- package/dist/cjs/overlays/tooltip/Tooltip.js +24 -11
- package/dist/cjs/types/icons.js +10 -1
- package/dist/cjs/typography/Abbr.js +32 -6
- package/dist/cjs/typography/{Link.js → Anchor.js} +23 -5
- package/dist/cjs/typography/Mark.js +22 -4
- package/dist/cjs/typography/Text.js +30 -5
- package/dist/cjs/typography/Title.js +19 -4
- package/dist/cjs/utils/cloneElement.js +47 -0
- package/dist/cjs/utils/getColor.js +1 -18
- package/dist/esm/components/actionLabel/ActionLabel.js +26 -8
- package/dist/esm/components/animations/Animations.js +119 -25
- package/dist/esm/components/avatar/Avatar.js +44 -17
- package/dist/esm/components/avatar/AvatarGroup.js +22 -4
- package/dist/esm/components/badge/Badge.js +36 -7
- package/dist/esm/components/breadcrumbs/Breadcrumbs.js +39 -8
- package/dist/esm/components/button/Button.js +42 -15
- package/dist/esm/components/button/ButtonGroup.js +31 -4
- package/dist/esm/components/button/ConfirmButton.js +32 -4
- package/dist/esm/components/button/ToggleButtonGroup.js +42 -16
- package/dist/esm/components/callout/Callout.js +44 -4
- package/dist/esm/components/card/Card.js +49 -11
- package/dist/esm/components/card/CardCover.js +36 -5
- package/dist/esm/components/card/FlipContent.js +56 -0
- package/dist/esm/components/chip/Chip.js +33 -8
- package/dist/esm/components/collapsable/Collapsable.js +32 -6
- package/dist/esm/components/divider/Divider.js +31 -8
- package/dist/esm/components/dropdown/Dropdown.js +48 -9
- package/dist/esm/components/dropdown/DropdownTool.js +4 -3
- package/dist/esm/components/empty/EmptyContent.js +35 -5
- package/dist/esm/components/icon/Icon.js +44 -16
- package/dist/esm/components/media/Media.js +173 -76
- package/dist/esm/components/menu/ContextMenu.js +51 -12
- package/dist/esm/components/menu/Menu.js +76 -23
- package/dist/esm/components/menu/MenuItem.js +45 -10
- package/dist/esm/components/meter/Meter.js +26 -3
- package/dist/esm/components/navigator/Navigator.js +48 -13
- package/dist/esm/components/panel/Panel.js +47 -9
- package/dist/esm/components/panel/PanelGroup.js +25 -2
- package/dist/esm/components/panel/PanelStack.js +31 -0
- package/dist/esm/components/progress/ProgressBar.js +31 -9
- package/dist/esm/components/progress/ProgressCircle.js +29 -7
- package/dist/esm/components/tabpanel/Tab.js +90 -39
- package/dist/esm/components/tabpanel/TabPanel.js +53 -16
- package/dist/esm/context/Global.js +28 -1
- package/dist/esm/context/NotificationCenter.js +3 -3
- package/dist/esm/core/aside/Aside.js +49 -11
- package/dist/esm/core/boundary/ErrorBoundary.js +23 -8
- package/dist/esm/core/boundary/ErrorIcon.js +1 -2
- package/dist/esm/core/content/Content.js +15 -8
- package/dist/esm/core/headfoot/HeadFoot.js +44 -20
- package/dist/esm/core/page/Page.js +40 -29
- package/dist/esm/core/responsive/Responsive.js +59 -6
- package/dist/esm/core/section/Section.js +1 -2
- package/dist/esm/core/theme/ThemeProvider.js +32 -10
- package/dist/esm/core/viewport/Viewport.js +18 -2
- package/dist/esm/hooks/useControlledValue.js +12 -0
- package/dist/esm/hooks/useDebounce.js +14 -1
- package/dist/esm/hooks/useEffectDebugger.js +54 -2
- package/dist/esm/hooks/useIsDark.js +8 -0
- package/dist/esm/hooks/useIsRtl.js +12 -0
- package/dist/esm/hooks/useNavigator.js +7 -5
- package/dist/esm/hooks/useOverlayService.js +24 -0
- package/dist/esm/hooks/usePropToggle.js +16 -5
- package/dist/esm/hooks/useResize.js +18 -0
- package/dist/esm/hooks/useResizeObserver.js +20 -1
- package/dist/esm/hooks/useStorage.js +39 -0
- package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
- package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/overlays/alert/Alert.js +21 -15
- package/dist/esm/overlays/flyout/Flyout.js +52 -63
- package/dist/esm/overlays/message/Message.js +7 -4
- package/dist/esm/overlays/modal/Modal.js +17 -13
- package/dist/esm/overlays/toast/Toast.js +18 -10
- package/dist/esm/overlays/tooltip/Tooltip.js +24 -11
- package/dist/esm/types/icons.js +10 -1
- package/dist/esm/typography/Abbr.js +32 -6
- package/dist/esm/typography/{Link.js → Anchor.js} +24 -6
- package/dist/esm/typography/Mark.js +22 -4
- package/dist/esm/typography/Text.js +31 -6
- package/dist/esm/typography/Title.js +20 -5
- package/dist/esm/utils/cloneElement.js +47 -0
- package/dist/esm/utils/getColor.js +2 -16
- package/dist/types/components/actionLabel/ActionLabel.d.ts +23 -4
- package/dist/types/components/animations/Animations.d.ts +84 -5
- package/dist/types/components/avatar/Avatar.d.ts +29 -5
- package/dist/types/components/avatar/AvatarGroup.d.ts +19 -1
- package/dist/types/components/badge/Badge.d.ts +30 -1
- package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +31 -2
- package/dist/types/components/button/Button.d.ts +29 -6
- package/dist/types/components/button/ButtonGroup.d.ts +28 -3
- package/dist/types/components/button/ConfirmButton.d.ts +28 -3
- package/dist/types/components/button/ToggleButtonGroup.d.ts +39 -11
- package/dist/types/components/callout/Callout.d.ts +29 -3
- package/dist/types/components/card/Card.d.ts +42 -4
- package/dist/types/components/card/CardCover.d.ts +25 -0
- package/dist/types/components/card/FlipContent.d.ts +28 -0
- package/dist/types/components/chip/Chip.d.ts +24 -4
- package/dist/types/components/collapsable/Collapsable.d.ts +33 -3
- package/dist/types/components/divider/Divider.d.ts +30 -7
- package/dist/types/components/dropdown/Dropdown.d.ts +40 -1
- package/dist/types/components/dropdown/DropdownTool.d.ts +27 -1
- package/dist/types/components/empty/EmptyContent.d.ts +32 -3
- package/dist/types/components/icon/Icon.d.ts +32 -6
- package/dist/types/components/index.d.ts +2 -1
- package/dist/types/components/media/Media.d.ts +56 -2
- package/dist/types/components/menu/ContextMenu.d.ts +21 -2
- package/dist/types/components/menu/Menu.d.ts +29 -0
- package/dist/types/components/menu/MenuItem.d.ts +22 -2
- package/dist/types/components/menu/types.d.ts +3 -2
- package/dist/types/components/meter/Meter.d.ts +24 -0
- package/dist/types/components/navigator/Navigator.d.ts +29 -4
- package/dist/types/components/panel/Panel.d.ts +37 -1
- package/dist/types/components/panel/PanelGroup.d.ts +24 -0
- package/dist/types/components/panel/PanelStack.d.ts +31 -0
- package/dist/types/components/progress/ProgressBar.d.ts +23 -3
- package/dist/types/components/progress/ProgressCircle.d.ts +22 -3
- package/dist/types/components/tabpanel/Tab.d.ts +36 -5
- package/dist/types/components/tabpanel/TabPanel.d.ts +43 -1
- package/dist/types/context/Global.d.ts +24 -1
- package/dist/types/core/aside/Aside.d.ts +38 -1
- package/dist/types/core/boundary/ErrorBoundary.d.ts +18 -2
- package/dist/types/core/content/Content.d.ts +9 -3
- package/dist/types/core/headfoot/HeadFoot.d.ts +41 -9
- package/dist/types/core/page/Page.d.ts +29 -4
- package/dist/types/core/responsive/Responsive.d.ts +58 -3
- package/dist/types/core/section/Section.d.ts +16 -1
- package/dist/types/core/theme/ThemeProvider.d.ts +25 -5
- package/dist/types/core/viewport/Viewport.d.ts +15 -1
- package/dist/types/hooks/useControlledValue.d.ts +13 -2
- package/dist/types/hooks/useDebounce.d.ts +12 -0
- package/dist/types/hooks/useEffectDebugger.d.ts +49 -0
- package/dist/types/hooks/useIsDark.d.ts +8 -0
- package/dist/types/hooks/useIsRtl.d.ts +12 -0
- package/dist/types/hooks/useNavigator.d.ts +18 -1
- package/dist/types/hooks/useOverlayService.d.ts +28 -9
- package/dist/types/hooks/usePropToggle.d.ts +16 -5
- package/dist/types/hooks/useResize.d.ts +19 -1
- package/dist/types/hooks/useResizeObserver.d.ts +20 -1
- package/dist/types/hooks/useStorage.d.ts +38 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/overlays/alert/Alert.d.ts +2 -3
- package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
- package/dist/types/overlays/message/Message.d.ts +2 -3
- package/dist/types/overlays/modal/Modal.d.ts +12 -3
- package/dist/types/overlays/toast/Toast.d.ts +2 -3
- package/dist/types/overlays/tooltip/Tooltip.d.ts +2 -2
- package/dist/types/types/icons.d.ts +10 -1
- package/dist/types/types/index.d.ts +26 -6
- package/dist/types/typography/Abbr.d.ts +34 -4
- package/dist/types/typography/Anchor.d.ts +42 -0
- package/dist/types/typography/Copy.d.ts +15 -0
- package/dist/types/typography/Mark.d.ts +22 -4
- package/dist/types/typography/Text.d.ts +27 -1
- package/dist/types/typography/Title.d.ts +16 -1
- package/dist/types/typography/index.d.ts +1 -1
- package/dist/types/utils/cloneElement.d.ts +2 -0
- package/dist/types/utils/getColor.d.ts +1 -4
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +11 -13
- package/src/components/actionLabel/ActionLabel.tsx +38 -11
- package/src/components/animations/Animations.tsx +118 -33
- package/src/components/avatar/Avatar.tsx +106 -91
- package/src/components/avatar/AvatarGroup.tsx +23 -5
- package/src/components/badge/Badge.tsx +41 -9
- package/src/components/breadcrumbs/Breadcrumbs.tsx +42 -9
- package/src/components/button/Button.tsx +50 -23
- package/src/components/button/ButtonGroup.tsx +33 -7
- package/src/components/button/ConfirmButton.tsx +41 -7
- package/src/components/button/ToggleButtonGroup.tsx +74 -47
- package/src/components/callout/Callout.tsx +55 -12
- package/src/components/card/Card.tsx +64 -15
- package/src/components/card/CardCover.tsx +36 -6
- package/src/components/card/FlipContent.tsx +90 -0
- package/src/components/chip/Chip.tsx +39 -13
- package/src/components/collapsable/Collapsable.tsx +38 -7
- package/src/components/divider/Divider.tsx +42 -16
- package/src/components/dropdown/Dropdown.tsx +46 -11
- package/src/components/dropdown/DropdownTool.tsx +30 -3
- package/src/components/empty/EmptyContent.tsx +47 -6
- package/src/components/icon/Icon.tsx +85 -68
- package/src/components/index.ts +2 -1
- package/src/components/media/Media.tsx +195 -106
- package/src/components/menu/ContextMenu.tsx +55 -11
- package/src/components/menu/Menu.tsx +85 -30
- package/src/components/menu/MenuItem.tsx +40 -9
- package/src/components/menu/types.ts +3 -2
- package/src/components/meter/Meter.tsx +26 -3
- package/src/components/navigator/Navigator.tsx +58 -7
- package/src/components/panel/Panel.tsx +47 -9
- package/src/components/panel/PanelGroup.tsx +25 -2
- package/src/components/panel/PanelStack.tsx +31 -0
- package/src/components/progress/ProgressBar.tsx +33 -14
- package/src/components/progress/ProgressCircle.tsx +29 -13
- package/src/components/tabpanel/Tab.tsx +112 -64
- package/src/components/tabpanel/TabPanel.tsx +67 -12
- package/src/context/Global.tsx +28 -1
- package/src/context/NotificationCenter.tsx +3 -3
- package/src/core/aside/Aside.tsx +50 -12
- package/src/core/boundary/ErrorBoundary.tsx +25 -8
- package/src/core/boundary/ErrorIcon.tsx +1 -2
- package/src/core/content/Content.tsx +23 -13
- package/src/core/headfoot/HeadFoot.tsx +42 -35
- package/src/core/page/Page.tsx +44 -6
- package/src/core/responsive/Responsive.tsx +66 -8
- package/src/core/section/Section.tsx +17 -3
- package/src/core/theme/ThemeProvider.tsx +35 -14
- package/src/core/viewport/Viewport.tsx +16 -3
- package/src/hooks/useControlledValue.tsx +12 -0
- package/src/hooks/useDebounce.ts +13 -1
- package/src/hooks/useEffectDebugger.ts +50 -2
- package/src/hooks/useIsDark.ts +8 -0
- package/src/hooks/useIsRtl.ts +12 -0
- package/src/hooks/useNavigator.tsx +28 -5
- package/src/hooks/useOverlayService.tsx +36 -6
- package/src/hooks/usePropToggle.ts +16 -5
- package/src/hooks/useResize.ts +19 -1
- package/src/hooks/useResizeObserver.ts +32 -9
- package/src/hooks/useStorage.ts +38 -0
- package/src/hotkeys/HotKeyLabel.tsx +1 -1
- package/src/hotkeys/HotKeyWrapper.tsx +3 -1
- package/src/index.ts +4 -0
- package/src/overlays/alert/Alert.tsx +28 -32
- package/src/overlays/flyout/Flyout.tsx +71 -84
- package/src/overlays/message/Message.tsx +10 -7
- package/src/overlays/modal/Modal.tsx +37 -15
- package/src/overlays/toast/Toast.tsx +18 -27
- package/src/overlays/tooltip/Tooltip.tsx +43 -18
- package/src/types/icons.ts +18 -3
- package/src/types/index.ts +268 -27
- package/src/typography/Abbr.tsx +44 -11
- package/src/typography/{Link.tsx → Anchor.tsx} +26 -14
- package/src/typography/Copy.tsx +15 -0
- package/src/typography/Mark.tsx +24 -10
- package/src/typography/Text.tsx +31 -13
- package/src/typography/Title.tsx +18 -7
- package/src/typography/index.ts +1 -1
- package/src/{overlays/tooltip/Tooltip.module.css → utils/cloneElement.ts} +21 -27
- package/src/utils/getColor.ts +1 -17
- package/src/utils/index.ts +1 -0
- package/css/index.js +0 -250
- package/css/tailwind/colors.ts +0 -158
- package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
- package/dist/cjs/components/animations/Animations.module.css +0 -1
- package/dist/cjs/components/avatar/Avatar.module.css +0 -1
- package/dist/cjs/components/badge/Badge.module.css +0 -1
- package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
- package/dist/cjs/components/button/Button.module.css +0 -1
- package/dist/cjs/components/card/Card.module.css +0 -1
- package/dist/cjs/components/chip/Chip.module.css +0 -1
- package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
- package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
- package/dist/cjs/components/icon/Icon.module.css +0 -1
- package/dist/cjs/components/media/Media.module.css +0 -1
- package/dist/cjs/components/menu/Menu.module.css +0 -1
- package/dist/cjs/components/meter/Meter.module.css +0 -1
- package/dist/cjs/components/panel/Panel.module.css +0 -1
- package/dist/cjs/components/progress/Progress.module.css +0 -1
- package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
- package/dist/cjs/core/aside/Aside.module.css +0 -1
- package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
- package/dist/cjs/core/content/Content.module.css +0 -1
- package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
- package/dist/cjs/core/page/Page.module.css +0 -1
- package/dist/cjs/core/responsive/Responsive.module.css +0 -1
- package/dist/cjs/core/section/Section.module.css +0 -1
- package/dist/cjs/core/theme/Theme.module.css +0 -1
- package/dist/cjs/core/viewport/Viewport.module.css +0 -1
- package/dist/cjs/overlays/alert/Alert.module.css +0 -1
- package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
- package/dist/cjs/overlays/message/Message.module.css +0 -1
- package/dist/cjs/overlays/modal/Modal.module.css +0 -1
- package/dist/cjs/overlays/toast/Toast.module.css +0 -1
- package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
- package/dist/cjs/typography/Typography.module.css +0 -1
- package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
- package/dist/esm/components/animations/Animations.module.css +0 -1
- package/dist/esm/components/avatar/Avatar.module.css +0 -1
- package/dist/esm/components/badge/Badge.module.css +0 -1
- package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
- package/dist/esm/components/button/Button.module.css +0 -1
- package/dist/esm/components/card/Card.module.css +0 -1
- package/dist/esm/components/chip/Chip.module.css +0 -1
- package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
- package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
- package/dist/esm/components/icon/Icon.module.css +0 -1
- package/dist/esm/components/media/Media.module.css +0 -1
- package/dist/esm/components/menu/Menu.module.css +0 -1
- package/dist/esm/components/meter/Meter.module.css +0 -1
- package/dist/esm/components/panel/Panel.module.css +0 -1
- package/dist/esm/components/progress/Progress.module.css +0 -1
- package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
- package/dist/esm/core/aside/Aside.module.css +0 -1
- package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
- package/dist/esm/core/content/Content.module.css +0 -1
- package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
- package/dist/esm/core/page/Page.module.css +0 -1
- package/dist/esm/core/responsive/Responsive.module.css +0 -1
- package/dist/esm/core/section/Section.module.css +0 -1
- package/dist/esm/core/theme/Theme.module.css +0 -1
- package/dist/esm/core/viewport/Viewport.module.css +0 -1
- package/dist/esm/overlays/alert/Alert.module.css +0 -1
- package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
- package/dist/esm/overlays/message/Message.module.css +0 -1
- package/dist/esm/overlays/modal/Modal.module.css +0 -1
- package/dist/esm/overlays/toast/Toast.module.css +0 -1
- package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
- package/dist/esm/typography/Typography.module.css +0 -1
- package/dist/types/typography/Link.d.ts +0 -25
|
@@ -54,7 +54,6 @@ import {
|
|
|
54
54
|
useState,
|
|
55
55
|
} from "react";
|
|
56
56
|
import { type ChildProp, type RefProp } from "../../types";
|
|
57
|
-
import classes from "./Dropdown.module.css";
|
|
58
57
|
|
|
59
58
|
export interface DropdownProps extends RefProp {
|
|
60
59
|
children: [React.ReactNode, React.ReactNode];
|
|
@@ -224,6 +223,7 @@ const DropdownElement = ({
|
|
|
224
223
|
e.stopPropagation();
|
|
225
224
|
},
|
|
226
225
|
}),
|
|
226
|
+
"data-inner-clickable": "true",
|
|
227
227
|
"data-dropdown-open": isOpen ? true : undefined,
|
|
228
228
|
ref: innerRef,
|
|
229
229
|
})}
|
|
@@ -237,17 +237,13 @@ const DropdownElement = ({
|
|
|
237
237
|
<FloatingOverlay />
|
|
238
238
|
<FloatingFocusManager context={context} modal>
|
|
239
239
|
<div
|
|
240
|
-
ref={
|
|
241
|
-
refs.setFloating(el);
|
|
242
|
-
el
|
|
243
|
-
?.querySelector<HTMLElement>("input,textarea,button")
|
|
244
|
-
?.focus();
|
|
245
|
-
}}
|
|
240
|
+
ref={refs.setFloating}
|
|
246
241
|
style={{
|
|
247
242
|
minWidth,
|
|
248
243
|
zIndex: "var(--z-popover)",
|
|
249
244
|
...floatingStyles,
|
|
250
245
|
}}
|
|
246
|
+
data-ref="dropdownBody"
|
|
251
247
|
{...getFloatingProps({
|
|
252
248
|
onClick: (e) => e.stopPropagation(),
|
|
253
249
|
})}
|
|
@@ -255,10 +251,9 @@ const DropdownElement = ({
|
|
|
255
251
|
<div
|
|
256
252
|
role="none"
|
|
257
253
|
className={classNames(
|
|
258
|
-
|
|
254
|
+
"fabric-dropdownBody",
|
|
259
255
|
dropdownClassName,
|
|
260
|
-
!plainDropdown &&
|
|
261
|
-
"shadow-lg shadow-base bg-base ring-1 ring-tint-100",
|
|
256
|
+
!plainDropdown && "shadow-lg bg-base ring-1 ring-tint-100",
|
|
262
257
|
"rounded-capped overflow-auto scroll-thin grid max-h-[70vh]",
|
|
263
258
|
)}
|
|
264
259
|
onMouseUpCapture={tryClosing}
|
|
@@ -270,7 +265,7 @@ const DropdownElement = ({
|
|
|
270
265
|
ref={arrowRef}
|
|
271
266
|
context={context}
|
|
272
267
|
strokeWidth={0.5}
|
|
273
|
-
className="fill-base stroke-
|
|
268
|
+
className="fill-base stroke-dimmed"
|
|
274
269
|
/>
|
|
275
270
|
)}
|
|
276
271
|
</div>
|
|
@@ -281,12 +276,52 @@ const DropdownElement = ({
|
|
|
281
276
|
);
|
|
282
277
|
};
|
|
283
278
|
|
|
279
|
+
/**
|
|
280
|
+
* A component that displays a dropdown menu with an anchor and a panel.
|
|
281
|
+
* It supports various features such as placement, arrow display, click handling,
|
|
282
|
+
* and event handling for opening and closing the dropdown.
|
|
283
|
+
*
|
|
284
|
+
* @param props - Dropdown properties
|
|
285
|
+
* @returns JSX Element
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* ```jsx
|
|
289
|
+
* <Dropdown
|
|
290
|
+
* placement="bottom"
|
|
291
|
+
* showArrow
|
|
292
|
+
* closeOnClick
|
|
293
|
+
* fitToParent
|
|
294
|
+
* onOpen={() => console.log("Dropdown opened")}
|
|
295
|
+
* onClose={() => console.log("Dropdown closed")}
|
|
296
|
+
* >
|
|
297
|
+
* <button>Open Dropdown</button>
|
|
298
|
+
* <div>
|
|
299
|
+
* <DropdownDismiss>
|
|
300
|
+
* <button>Dismiss</button>
|
|
301
|
+
* </DropdownDismiss>
|
|
302
|
+
* <p>Dropdown Content</p>
|
|
303
|
+
* </div>
|
|
304
|
+
* </Dropdown>
|
|
305
|
+
* ```
|
|
306
|
+
*
|
|
307
|
+
* @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-dropdown--docs} for more details.
|
|
308
|
+
* @see {@link https://floating-ui.com/docs/react} for more details on Floating UI.
|
|
309
|
+
*/
|
|
284
310
|
export const Dropdown = (props: DropdownProps) => (
|
|
285
311
|
<FloatingTree>
|
|
286
312
|
<DropdownElement {...props} />
|
|
287
313
|
</FloatingTree>
|
|
288
314
|
);
|
|
289
315
|
|
|
316
|
+
/**
|
|
317
|
+
* A component that allows dismissing the dropdown when clicked.
|
|
318
|
+
* It can be used inside the dropdown panel to provide a dismiss area.
|
|
319
|
+
* It supports an optional `dismiss` prop to control whether the dropdown should be dismissed on click.
|
|
320
|
+
*
|
|
321
|
+
* @param children - The children elements to render inside the dismiss area.
|
|
322
|
+
* @param dismiss - Whether to dismiss the dropdown on click (default: true).
|
|
323
|
+
* @returns JSX Element
|
|
324
|
+
*/
|
|
290
325
|
export const DropdownDismiss = ({
|
|
291
326
|
children,
|
|
292
327
|
dismiss = true,
|
|
@@ -27,14 +27,41 @@ import { CoreIcons } from "../../types/icons";
|
|
|
27
27
|
import { Icon } from "../icon/Icon";
|
|
28
28
|
import { Dropdown, type DropdownProps } from "./Dropdown";
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* A dropdown component that displays an icon and tool menu.
|
|
32
|
+
* It can be used to create a dropdown menu that appears when the icon is clicked or hovered over.
|
|
33
|
+
* This component is useful for creating toolbars or action menus in a user interface.
|
|
34
|
+
* It accepts children as menu items and can be styled with additional CSS classes.
|
|
35
|
+
*
|
|
36
|
+
* @param {ChildProp} children - The content to be displayed inside the dropdown.
|
|
37
|
+
* @param {CssProp} className - Additional CSS classes to apply to the dropdown.
|
|
38
|
+
* @param {string} icon - The icon to be displayed in the dropdown.
|
|
39
|
+
* @param {boolean} groupHover - If true, the dropdown will only be visible when the parent group is hovered.
|
|
40
|
+
* @param {DropdownProps} props - Additional properties for the dropdown.
|
|
41
|
+
* @returns {JSX.Element} The rendered DropdownTool component.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```jsx
|
|
45
|
+
* <DropdownTool
|
|
46
|
+
* icon="caret-down"
|
|
47
|
+
* groupHover={true}
|
|
48
|
+
* className="my-dropdown"
|
|
49
|
+
* >
|
|
50
|
+
* <MenuItem>Item 1</MenuItem>
|
|
51
|
+
* <MenuItem>Item 2</MenuItem>
|
|
52
|
+
* </DropdownTool>
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
30
55
|
export const DropdownTool = ({
|
|
31
56
|
children,
|
|
32
57
|
className,
|
|
33
58
|
groupHover,
|
|
59
|
+
icon,
|
|
34
60
|
...props
|
|
35
61
|
}: ChildProp &
|
|
36
62
|
CssProp &
|
|
37
63
|
Omit<DropdownProps, "children"> & {
|
|
64
|
+
icon?: string;
|
|
38
65
|
/**
|
|
39
66
|
* hide until group hovered
|
|
40
67
|
*/
|
|
@@ -43,12 +70,12 @@ export const DropdownTool = ({
|
|
|
43
70
|
return (
|
|
44
71
|
<Dropdown {...props}>
|
|
45
72
|
<Icon
|
|
46
|
-
icon={CoreIcons.caretDown}
|
|
73
|
+
icon={icon ?? CoreIcons.caretDown}
|
|
47
74
|
className={classNames(
|
|
75
|
+
"outline bg-tint-50/50 flex-content pointer-events-auto cursor-pointer",
|
|
48
76
|
className,
|
|
49
|
-
"outline bg-base flex-content pointer-events-auto cursor-pointer",
|
|
50
77
|
groupHover &&
|
|
51
|
-
"hidden group-hover:inline-block data-[dropdown-open]:inline-block",
|
|
78
|
+
"hidden group-hover/tool:inline-block data-[dropdown-open]:inline-block",
|
|
52
79
|
)}
|
|
53
80
|
/>
|
|
54
81
|
{children}
|
|
@@ -24,7 +24,14 @@
|
|
|
24
24
|
import { isString } from "@react-fabric/utilities";
|
|
25
25
|
import classNames from "classnames";
|
|
26
26
|
import { isValidElement } from "react";
|
|
27
|
-
import {
|
|
27
|
+
import {
|
|
28
|
+
type ChildrenProp,
|
|
29
|
+
type ColorType,
|
|
30
|
+
type CssProp,
|
|
31
|
+
type PaletteType,
|
|
32
|
+
type TestProps,
|
|
33
|
+
} from "../../types";
|
|
34
|
+
import { getColor } from "../../utils";
|
|
28
35
|
import { Icon } from "../icon/Icon";
|
|
29
36
|
|
|
30
37
|
export interface EmptyContentProps
|
|
@@ -47,6 +54,10 @@ export interface EmptyContentProps
|
|
|
47
54
|
* empty icon
|
|
48
55
|
*/
|
|
49
56
|
icon?: string | React.ReactElement;
|
|
57
|
+
/**
|
|
58
|
+
* icon color
|
|
59
|
+
*/
|
|
60
|
+
iconColor?: ColorType | PaletteType;
|
|
50
61
|
}
|
|
51
62
|
|
|
52
63
|
const SizeMap: KeyValue = {
|
|
@@ -94,6 +105,32 @@ const DefaultIcon = () => (
|
|
|
94
105
|
</svg>
|
|
95
106
|
);
|
|
96
107
|
|
|
108
|
+
/**
|
|
109
|
+
* A component that displays a message and an optional icon when there is no content to show.
|
|
110
|
+
* It allows customization of title, message, icon, size, and additional CSS properties.
|
|
111
|
+
* It can also accept children elements for additional actions or information.
|
|
112
|
+
* This component is useful for displaying a friendly message when data is not available,
|
|
113
|
+
* such as in empty states of lists, tables, or other content areas.
|
|
114
|
+
*
|
|
115
|
+
* @param {EmptyContentProps} props - The properties for the EmptyContent component.
|
|
116
|
+
* @returns {JSX.Element} The rendered EmptyContent component.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```jsx
|
|
120
|
+
* <EmptyContent
|
|
121
|
+
* title="No Data Available"
|
|
122
|
+
* message="Please check back later."
|
|
123
|
+
* icon="empty"
|
|
124
|
+
* iconColor="tint-700"
|
|
125
|
+
* size="md"
|
|
126
|
+
* >
|
|
127
|
+
* <Button onClick={() => console.log("Action clicked")}>Retry</Button>
|
|
128
|
+
* </EmptyContent>
|
|
129
|
+
* // Renders an empty content area with a title, message, icon, and a button for retrying the action.
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-emptycontent--docs} for more details.
|
|
133
|
+
*/
|
|
97
134
|
export const EmptyContent = ({
|
|
98
135
|
children,
|
|
99
136
|
title,
|
|
@@ -101,6 +138,7 @@ export const EmptyContent = ({
|
|
|
101
138
|
icon,
|
|
102
139
|
className,
|
|
103
140
|
size,
|
|
141
|
+
iconColor,
|
|
104
142
|
...test
|
|
105
143
|
}: EmptyContentProps) => {
|
|
106
144
|
return (
|
|
@@ -116,25 +154,28 @@ export const EmptyContent = ({
|
|
|
116
154
|
}
|
|
117
155
|
{...test}
|
|
118
156
|
>
|
|
119
|
-
<div
|
|
157
|
+
<div
|
|
158
|
+
className="leading-none"
|
|
159
|
+
style={{ fontSize: "4em", color: getColor(iconColor ?? "tint-700") }}
|
|
160
|
+
>
|
|
120
161
|
{isString(icon) && <Icon icon={icon} />}
|
|
121
162
|
{isValidElement(icon) && icon}
|
|
122
163
|
{!icon && <DefaultIcon />}
|
|
123
164
|
</div>
|
|
124
165
|
{title && (
|
|
125
|
-
<
|
|
166
|
+
<div
|
|
126
167
|
className="font-medium text-center text-dimmed"
|
|
127
168
|
style={{ fontSize: "1.5em" }}
|
|
128
169
|
>
|
|
129
170
|
{title}
|
|
130
|
-
</
|
|
171
|
+
</div>
|
|
131
172
|
)}
|
|
132
|
-
<
|
|
173
|
+
<div
|
|
133
174
|
className="font-medium text-center text-muted"
|
|
134
175
|
style={{ fontSize: "0.875em" }}
|
|
135
176
|
>
|
|
136
177
|
{message}
|
|
137
|
-
</
|
|
178
|
+
</div>
|
|
138
179
|
<div className="flex gap-1 pt-6">{children}</div>
|
|
139
180
|
</div>
|
|
140
181
|
);
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
|
|
24
24
|
import { isString, isSvgPath } from "@react-fabric/utilities";
|
|
25
25
|
import classNames from "classnames";
|
|
26
|
-
import {
|
|
26
|
+
import { useMemo } from "react";
|
|
27
27
|
import {
|
|
28
|
+
type PaletteType,
|
|
28
29
|
type AriaProps,
|
|
29
30
|
type ColorType,
|
|
30
31
|
type CssProp,
|
|
@@ -32,8 +33,7 @@ import {
|
|
|
32
33
|
type SizeType,
|
|
33
34
|
type TestProps,
|
|
34
35
|
} from "../../types";
|
|
35
|
-
import {
|
|
36
|
-
import classes from "./Icon.module.css";
|
|
36
|
+
import { getColor } from "../../utils";
|
|
37
37
|
|
|
38
38
|
export interface IconProps extends CssProp, AriaProps, RefProp, TestProps {
|
|
39
39
|
/**
|
|
@@ -43,11 +43,11 @@ export interface IconProps extends CssProp, AriaProps, RefProp, TestProps {
|
|
|
43
43
|
/**
|
|
44
44
|
* background color (CSS color / tailwind color)
|
|
45
45
|
*/
|
|
46
|
-
bg?: ColorType | string;
|
|
46
|
+
bg?: ColorType | PaletteType | string;
|
|
47
47
|
/**
|
|
48
48
|
* icon color (CSS color / tailwind color)
|
|
49
49
|
*/
|
|
50
|
-
color?: ColorType | string;
|
|
50
|
+
color?: ColorType | PaletteType | string;
|
|
51
51
|
/**
|
|
52
52
|
* flip icon in rtl
|
|
53
53
|
*/
|
|
@@ -68,6 +68,7 @@ export interface IconProps extends CssProp, AriaProps, RefProp, TestProps {
|
|
|
68
68
|
* apply animation
|
|
69
69
|
*/
|
|
70
70
|
animate?: "spin" | "pulse" | "bounce";
|
|
71
|
+
disabled?: boolean;
|
|
71
72
|
/**
|
|
72
73
|
* click handler
|
|
73
74
|
*/
|
|
@@ -84,7 +85,33 @@ const SizeMap: KeyValue<string> = {
|
|
|
84
85
|
};
|
|
85
86
|
|
|
86
87
|
/**
|
|
87
|
-
*
|
|
88
|
+
* A versatile icon component that supports SVG paths, webfont icons, and text icons.
|
|
89
|
+
* It can be styled with background color, icon color, size, and animations.
|
|
90
|
+
* It also supports RTL flipping and rounded corners.
|
|
91
|
+
* The component can be used as a standalone icon or as part of other components.
|
|
92
|
+
* It accepts various properties to customize its appearance and behavior.
|
|
93
|
+
* These include `bg`, `color`, `size`, `rtlFlip`, `animate`, and `rounded`.
|
|
94
|
+
*
|
|
95
|
+
* @param {IconProps} props - The properties for the Icon component.
|
|
96
|
+
* @returns {JSX.Element} The rendered Icon component.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```jsx
|
|
100
|
+
* <Icon
|
|
101
|
+
* icon="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"
|
|
102
|
+
* bg="bg-blue-500"
|
|
103
|
+
* color="text-white"
|
|
104
|
+
* size="lg"
|
|
105
|
+
* rtlFlip={true}
|
|
106
|
+
* animate="spin"
|
|
107
|
+
* rounded={true}
|
|
108
|
+
* onClick={() => console.log("Icon clicked")}
|
|
109
|
+
* />
|
|
110
|
+
* // Renders an icon with a SVG path, blue background, white text color,
|
|
111
|
+
* // large size, RTL flip, spin animation, rounded corners, and a click handler.
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-icon--docs} for more details.
|
|
88
115
|
*/
|
|
89
116
|
export const Icon = ({
|
|
90
117
|
ref,
|
|
@@ -95,92 +122,82 @@ export const Icon = ({
|
|
|
95
122
|
rtlFlip,
|
|
96
123
|
animate,
|
|
97
124
|
rounded,
|
|
125
|
+
disabled,
|
|
98
126
|
viewBox = "0 0 24 24",
|
|
99
127
|
className,
|
|
100
128
|
onClick,
|
|
101
129
|
...rest
|
|
102
130
|
}: IconProps) => {
|
|
103
131
|
/** ***************** style map *******************/
|
|
104
|
-
const styles =
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
},
|
|
121
|
-
[bg, color, size],
|
|
122
|
-
"Icon styles",
|
|
123
|
-
);
|
|
132
|
+
const styles = useMemo(() => {
|
|
133
|
+
const s: KeyValue = {};
|
|
134
|
+
if (bg) {
|
|
135
|
+
s.backgroundColor = getColor(bg);
|
|
136
|
+
}
|
|
137
|
+
if (color) {
|
|
138
|
+
s.color = getColor(color);
|
|
139
|
+
}
|
|
140
|
+
if (size && !(size in SizeMap)) {
|
|
141
|
+
s.fontSize = size;
|
|
142
|
+
}
|
|
143
|
+
if (size && size in SizeMap) {
|
|
144
|
+
s.fontSize = SizeMap[size];
|
|
145
|
+
}
|
|
146
|
+
return s;
|
|
147
|
+
}, [bg, color, size]);
|
|
124
148
|
|
|
125
149
|
/** ***************** check if icon is svg path *******************/
|
|
126
|
-
const isSvg =
|
|
127
|
-
()
|
|
128
|
-
|
|
129
|
-
},
|
|
130
|
-
[icon],
|
|
131
|
-
"Icon isSvg",
|
|
132
|
-
);
|
|
150
|
+
const isSvg = useMemo(() => {
|
|
151
|
+
return isSvgPath(icon);
|
|
152
|
+
}, [icon]);
|
|
133
153
|
|
|
134
154
|
/** ***************** render icon *******************/
|
|
135
|
-
const iconEl =
|
|
136
|
-
()
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
<
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
},
|
|
161
|
-
[icon, isSvg, viewBox],
|
|
162
|
-
"Icon el",
|
|
163
|
-
);
|
|
155
|
+
const iconEl = useMemo(() => {
|
|
156
|
+
if (!isString(icon)) {
|
|
157
|
+
throw Error("Invalid icon expected string");
|
|
158
|
+
}
|
|
159
|
+
return isSvg ? (
|
|
160
|
+
<svg viewBox={viewBox}>
|
|
161
|
+
<path fill="currentColor" d={icon.toString()} />
|
|
162
|
+
</svg>
|
|
163
|
+
) : icon?.toString().length <= 4 ? (
|
|
164
|
+
<svg role="img">
|
|
165
|
+
<text
|
|
166
|
+
x="50%"
|
|
167
|
+
y="50%"
|
|
168
|
+
dy=".1em"
|
|
169
|
+
dominantBaseline="middle"
|
|
170
|
+
textAnchor="middle"
|
|
171
|
+
style={{ fontSize: SvgTextSize[icon.length] }}
|
|
172
|
+
>
|
|
173
|
+
{icon}
|
|
174
|
+
</text>
|
|
175
|
+
</svg>
|
|
176
|
+
) : (
|
|
177
|
+
<i className={`${icon}`} />
|
|
178
|
+
);
|
|
179
|
+
}, [icon, isSvg, viewBox]);
|
|
164
180
|
|
|
165
181
|
return (
|
|
166
182
|
<dfn
|
|
167
|
-
|
|
183
|
+
data-ref="icon"
|
|
168
184
|
ref={ref}
|
|
185
|
+
{...rest}
|
|
169
186
|
role="presentation"
|
|
170
187
|
className={classNames(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
"select-none overflow-hidden inline-block box-content leading-none not-italic text-center",
|
|
174
|
-
bg && getBgClass(bg),
|
|
175
|
-
color && getColorClass(color),
|
|
188
|
+
"fabric-icon",
|
|
189
|
+
"select-none overflow-hidden box-content leading-none not-italic text-center",
|
|
176
190
|
!rounded && "rounded",
|
|
177
191
|
rounded && "rounded-full",
|
|
178
192
|
animate && `animate-${animate}`,
|
|
193
|
+
!!onClick && disabled && "opacity-30 pointer-events-none",
|
|
194
|
+
className,
|
|
179
195
|
)}
|
|
180
196
|
onClick={onClick}
|
|
181
197
|
data-flip={rtlFlip}
|
|
182
198
|
style={styles}
|
|
183
199
|
data-clickable={!!onClick}
|
|
200
|
+
data-inner-clickable={!!onClick}
|
|
184
201
|
>
|
|
185
202
|
{iconEl}
|
|
186
203
|
</dfn>
|
package/src/components/index.ts
CHANGED
|
@@ -26,8 +26,8 @@ export {
|
|
|
26
26
|
AnimationBars,
|
|
27
27
|
AnimationIndicator,
|
|
28
28
|
AnimationSpinner,
|
|
29
|
-
Skeleton,
|
|
30
29
|
Loading,
|
|
30
|
+
Skeleton,
|
|
31
31
|
} from "./animations/Animations";
|
|
32
32
|
export { Avatar } from "./avatar/Avatar";
|
|
33
33
|
export { AvatarGroup } from "./avatar/AvatarGroup";
|
|
@@ -40,6 +40,7 @@ export { ToggleButtonGroup } from "./button/ToggleButtonGroup";
|
|
|
40
40
|
export { Callout } from "./callout/Callout";
|
|
41
41
|
export { Card } from "./card/Card";
|
|
42
42
|
export { CardCover } from "./card/CardCover";
|
|
43
|
+
export { FlipContent, type FlipContentRef } from "./card/FlipContent";
|
|
43
44
|
export { Chip } from "./chip/Chip";
|
|
44
45
|
export { Collapsable } from "./collapsable/Collapsable";
|
|
45
46
|
export { Divider } from "./divider/Divider";
|