@react-fabric/core 1.0.0-beta.4 → 1.0.0-beta.40
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} +68 -78
- package/{src/components/card/Card.module.css → css/components/_card.css} +32 -28
- package/{src/components/chip/Chip.module.css → css/components/_chip.css} +15 -11
- package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
- package/css/components/_divider.css +32 -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} +15 -16
- 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} +6 -6
- 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} +42 -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 +41 -223
- package/css/reset/_text.css +14 -29
- package/css/reset/_theme.css +315 -32
- 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 +44 -0
- package/dist/cjs/components/actionLabel/ActionLabel.js +3 -3
- package/dist/cjs/components/animations/Animations.js +29 -18
- package/dist/cjs/components/avatar/Avatar.js +10 -13
- package/dist/cjs/components/avatar/AvatarGroup.js +3 -3
- package/dist/cjs/components/badge/Badge.js +5 -5
- package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +10 -8
- package/dist/cjs/components/button/Button.js +18 -14
- package/dist/cjs/components/button/ButtonGroup.js +4 -3
- package/dist/cjs/components/button/ConfirmButton.js +7 -2
- package/dist/cjs/components/button/ToggleButtonGroup.js +3 -3
- package/dist/cjs/components/callout/Callout.js +15 -4
- package/dist/cjs/components/card/Card.js +8 -7
- package/dist/cjs/components/card/CardCover.js +10 -5
- package/dist/cjs/components/chip/Chip.js +11 -7
- package/dist/cjs/components/collapsable/Collapsable.js +5 -5
- package/dist/cjs/components/divider/Divider.js +10 -7
- package/dist/cjs/components/dropdown/Dropdown.js +5 -4
- package/dist/cjs/components/dropdown/DropdownTool.js +4 -3
- package/dist/cjs/components/icon/Icon.js +15 -14
- package/dist/cjs/components/media/Media.js +116 -75
- package/dist/cjs/components/menu/ContextMenu.js +30 -10
- package/dist/cjs/components/menu/Menu.js +39 -20
- package/dist/cjs/components/menu/MenuItem.js +30 -16
- package/dist/cjs/components/meter/Meter.js +2 -3
- package/dist/cjs/components/navigator/Navigator.js +16 -9
- package/dist/cjs/components/panel/Panel.js +10 -9
- package/dist/cjs/components/panel/PanelGroup.js +1 -2
- package/dist/cjs/components/progress/ProgressBar.js +6 -5
- package/dist/cjs/components/progress/ProgressCircle.js +6 -4
- package/dist/cjs/components/tabpanel/Tab.js +58 -38
- package/dist/cjs/components/tabpanel/TabPanel.js +20 -16
- package/dist/cjs/core/aside/Aside.js +11 -10
- package/dist/cjs/core/boundary/ErrorBoundary.js +6 -7
- package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
- package/dist/cjs/core/content/Content.js +9 -7
- package/dist/cjs/core/headfoot/HeadFoot.js +2 -20
- package/dist/cjs/core/page/Page.js +3 -3
- package/dist/cjs/core/responsive/Responsive.js +3 -4
- package/dist/cjs/core/section/Section.js +1 -2
- package/dist/cjs/core/theme/ThemeProvider.js +7 -8
- package/dist/cjs/core/viewport/Viewport.js +4 -2
- package/dist/cjs/hooks/useNavigator.js +6 -4
- package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
- package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/overlays/alert/Alert.js +19 -13
- package/dist/cjs/overlays/flyout/Flyout.js +42 -44
- package/dist/cjs/overlays/message/Message.js +6 -3
- package/dist/cjs/overlays/modal/Modal.js +9 -10
- package/dist/cjs/overlays/toast/Toast.js +17 -9
- package/dist/cjs/overlays/tooltip/Tooltip.js +20 -8
- package/dist/cjs/types/icons.js +4 -0
- package/dist/cjs/typography/Abbr.js +2 -3
- package/dist/cjs/typography/{Link.js → Anchor.js} +5 -4
- package/dist/cjs/typography/Mark.js +2 -3
- package/dist/cjs/typography/Text.js +3 -4
- package/dist/cjs/typography/Title.js +3 -3
- package/dist/cjs/utils/cloneElement.js +44 -0
- package/dist/cjs/utils/getColor.js +1 -18
- package/dist/esm/components/actionLabel/ActionLabel.js +3 -3
- package/dist/esm/components/animations/Animations.js +30 -19
- package/dist/esm/components/avatar/Avatar.js +11 -14
- package/dist/esm/components/avatar/AvatarGroup.js +3 -3
- package/dist/esm/components/badge/Badge.js +5 -5
- package/dist/esm/components/breadcrumbs/Breadcrumbs.js +10 -8
- package/dist/esm/components/button/Button.js +18 -14
- package/dist/esm/components/button/ButtonGroup.js +5 -4
- package/dist/esm/components/button/ConfirmButton.js +7 -2
- package/dist/esm/components/button/ToggleButtonGroup.js +4 -4
- package/dist/esm/components/callout/Callout.js +15 -4
- package/dist/esm/components/card/Card.js +8 -7
- package/dist/esm/components/card/CardCover.js +10 -5
- package/dist/esm/components/chip/Chip.js +12 -8
- package/dist/esm/components/collapsable/Collapsable.js +5 -5
- package/dist/esm/components/divider/Divider.js +11 -8
- package/dist/esm/components/dropdown/Dropdown.js +5 -4
- package/dist/esm/components/dropdown/DropdownTool.js +4 -3
- package/dist/esm/components/icon/Icon.js +15 -14
- package/dist/esm/components/media/Media.js +117 -76
- package/dist/esm/components/menu/ContextMenu.js +32 -12
- package/dist/esm/components/menu/Menu.js +41 -22
- package/dist/esm/components/menu/MenuItem.js +24 -10
- package/dist/esm/components/meter/Meter.js +2 -3
- package/dist/esm/components/navigator/Navigator.js +16 -9
- package/dist/esm/components/panel/Panel.js +10 -9
- package/dist/esm/components/panel/PanelGroup.js +1 -2
- package/dist/esm/components/progress/ProgressBar.js +6 -5
- package/dist/esm/components/progress/ProgressCircle.js +6 -4
- package/dist/esm/components/tabpanel/Tab.js +59 -39
- package/dist/esm/components/tabpanel/TabPanel.js +20 -16
- package/dist/esm/core/aside/Aside.js +11 -10
- package/dist/esm/core/boundary/ErrorBoundary.js +6 -7
- package/dist/esm/core/boundary/ErrorIcon.js +1 -2
- package/dist/esm/core/content/Content.js +9 -7
- package/dist/esm/core/headfoot/HeadFoot.js +2 -20
- package/dist/esm/core/page/Page.js +3 -3
- package/dist/esm/core/responsive/Responsive.js +3 -4
- package/dist/esm/core/section/Section.js +1 -2
- package/dist/esm/core/theme/ThemeProvider.js +7 -8
- package/dist/esm/core/viewport/Viewport.js +4 -2
- package/dist/esm/hooks/useNavigator.js +7 -5
- package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
- package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/overlays/alert/Alert.js +20 -14
- package/dist/esm/overlays/flyout/Flyout.js +43 -45
- package/dist/esm/overlays/message/Message.js +7 -4
- package/dist/esm/overlays/modal/Modal.js +10 -11
- package/dist/esm/overlays/toast/Toast.js +18 -10
- package/dist/esm/overlays/tooltip/Tooltip.js +20 -8
- package/dist/esm/types/icons.js +4 -0
- package/dist/esm/typography/Abbr.js +2 -3
- package/dist/esm/typography/{Link.js → Anchor.js} +6 -5
- package/dist/esm/typography/Mark.js +2 -3
- package/dist/esm/typography/Text.js +4 -5
- package/dist/esm/typography/Title.js +4 -4
- package/dist/esm/utils/cloneElement.js +44 -0
- package/dist/esm/utils/getColor.js +2 -16
- package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
- package/dist/types/components/animations/Animations.d.ts +5 -5
- package/dist/types/components/avatar/Avatar.d.ts +3 -3
- package/dist/types/components/badge/Badge.d.ts +5 -1
- package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/Button.d.ts +7 -5
- package/dist/types/components/button/ButtonGroup.d.ts +2 -2
- package/dist/types/components/button/ConfirmButton.d.ts +6 -1
- package/dist/types/components/callout/Callout.d.ts +2 -2
- package/dist/types/components/card/Card.d.ts +3 -3
- package/dist/types/components/chip/Chip.d.ts +3 -3
- package/dist/types/components/collapsable/Collapsable.d.ts +5 -1
- package/dist/types/components/divider/Divider.d.ts +7 -3
- package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
- package/dist/types/components/icon/Icon.d.ts +3 -3
- package/dist/types/components/media/Media.d.ts +2 -2
- package/dist/types/components/menu/ContextMenu.d.ts +2 -1
- package/dist/types/components/menu/MenuItem.d.ts +1 -1
- package/dist/types/components/menu/types.d.ts +2 -2
- package/dist/types/components/navigator/Navigator.d.ts +4 -4
- package/dist/types/components/progress/ProgressBar.d.ts +2 -2
- package/dist/types/components/progress/ProgressCircle.d.ts +2 -2
- package/dist/types/components/tabpanel/Tab.d.ts +5 -5
- package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
- package/dist/types/core/content/Content.d.ts +3 -2
- package/dist/types/core/headfoot/HeadFoot.d.ts +1 -9
- package/dist/types/core/responsive/Responsive.d.ts +1 -1
- package/dist/types/core/theme/ThemeProvider.d.ts +4 -4
- package/dist/types/hooks/useOverlayService.d.ts +3 -5
- package/dist/types/index.d.ts +3 -0
- package/dist/types/overlays/alert/Alert.d.ts +2 -2
- package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
- package/dist/types/overlays/message/Message.d.ts +2 -2
- package/dist/types/overlays/modal/Modal.d.ts +4 -3
- package/dist/types/overlays/toast/Toast.d.ts +2 -2
- package/dist/types/overlays/tooltip/Tooltip.d.ts +1 -1
- package/dist/types/types/icons.d.ts +4 -0
- package/dist/types/types/index.d.ts +18 -6
- package/dist/types/typography/Abbr.d.ts +6 -2
- package/dist/types/typography/Anchor.d.ts +25 -0
- package/dist/types/typography/Mark.d.ts +2 -2
- 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 +7 -9
- package/src/components/actionLabel/ActionLabel.tsx +15 -6
- package/src/components/animations/Animations.tsx +29 -23
- package/src/components/avatar/Avatar.tsx +74 -88
- package/src/components/avatar/AvatarGroup.tsx +4 -4
- package/src/components/badge/Badge.tsx +11 -7
- package/src/components/breadcrumbs/Breadcrumbs.tsx +13 -9
- package/src/components/button/Button.tsx +27 -22
- package/src/components/button/ButtonGroup.tsx +7 -7
- package/src/components/button/ConfirmButton.tsx +15 -5
- package/src/components/button/ToggleButtonGroup.tsx +5 -5
- package/src/components/callout/Callout.tsx +26 -11
- package/src/components/card/Card.tsx +10 -7
- package/src/components/card/CardCover.tsx +11 -6
- package/src/components/chip/Chip.tsx +17 -13
- package/src/components/collapsable/Collapsable.tsx +9 -4
- package/src/components/divider/Divider.tsx +15 -10
- package/src/components/dropdown/Dropdown.tsx +5 -5
- package/src/components/dropdown/DropdownTool.tsx +5 -3
- package/src/components/icon/Icon.tsx +55 -67
- package/src/components/media/Media.tsx +141 -106
- package/src/components/menu/ContextMenu.tsx +36 -11
- package/src/components/menu/Menu.tsx +51 -30
- package/src/components/menu/MenuItem.tsx +19 -9
- package/src/components/menu/types.ts +2 -2
- package/src/components/meter/Meter.tsx +2 -3
- package/src/components/navigator/Navigator.tsx +19 -5
- package/src/components/panel/Panel.tsx +10 -9
- package/src/components/panel/PanelGroup.tsx +1 -2
- package/src/components/progress/ProgressBar.tsx +8 -9
- package/src/components/progress/ProgressCircle.tsx +6 -9
- package/src/components/tabpanel/Tab.tsx +81 -64
- package/src/components/tabpanel/TabPanel.tsx +34 -12
- package/src/core/aside/Aside.tsx +11 -10
- package/src/core/boundary/ErrorBoundary.tsx +8 -7
- package/src/core/boundary/ErrorIcon.tsx +1 -2
- package/src/core/content/Content.tsx +17 -12
- package/src/core/headfoot/HeadFoot.tsx +2 -35
- package/src/core/page/Page.tsx +3 -3
- package/src/core/responsive/Responsive.tsx +8 -7
- package/src/core/section/Section.tsx +1 -2
- package/src/core/theme/ThemeProvider.tsx +11 -12
- package/src/core/viewport/Viewport.tsx +1 -2
- package/src/hooks/useNavigator.tsx +10 -5
- package/src/hooks/useOverlayService.tsx +12 -6
- 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 +25 -31
- package/src/overlays/flyout/Flyout.tsx +65 -64
- package/src/overlays/message/Message.tsx +10 -7
- package/src/overlays/modal/Modal.tsx +18 -13
- package/src/overlays/toast/Toast.tsx +18 -27
- package/src/overlays/tooltip/Tooltip.tsx +30 -9
- package/src/types/icons.ts +9 -0
- package/src/types/index.ts +240 -27
- package/src/typography/Abbr.tsx +15 -9
- package/src/typography/{Link.tsx → Anchor.tsx} +8 -13
- package/src/typography/Mark.tsx +4 -9
- package/src/typography/Text.tsx +4 -12
- package/src/typography/Title.tsx +2 -6
- package/src/typography/index.ts +1 -1
- package/src/utils/cloneElement.ts +44 -0
- 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
- package/src/overlays/tooltip/Tooltip.module.css +0 -53
|
@@ -30,14 +30,14 @@ import {
|
|
|
30
30
|
type ColorType,
|
|
31
31
|
type CssProp,
|
|
32
32
|
type IconProps,
|
|
33
|
+
type PaletteType,
|
|
33
34
|
type PolymorphicProps,
|
|
34
35
|
type RefProp,
|
|
35
36
|
type SizeType,
|
|
36
37
|
type TestProps,
|
|
37
38
|
} from "../../types";
|
|
38
|
-
import { getColor
|
|
39
|
+
import { getColor } from "../../utils";
|
|
39
40
|
import { Icon } from "../icon/Icon";
|
|
40
|
-
import classes from "./Chip.module.css";
|
|
41
41
|
|
|
42
42
|
export interface ChipProps
|
|
43
43
|
extends CssProp,
|
|
@@ -49,11 +49,11 @@ export interface ChipProps
|
|
|
49
49
|
/**
|
|
50
50
|
* chip size
|
|
51
51
|
*/
|
|
52
|
-
size?: SizeType;
|
|
52
|
+
size?: SizeType | number | string;
|
|
53
53
|
/**
|
|
54
54
|
* chip color (CSS color / tailwind color)
|
|
55
55
|
*/
|
|
56
|
-
color?: ColorType | string;
|
|
56
|
+
color?: ColorType | PaletteType | string;
|
|
57
57
|
/**
|
|
58
58
|
* chip styling
|
|
59
59
|
*/
|
|
@@ -152,24 +152,25 @@ export const Chip = <Tag extends React.ElementType = "div">({
|
|
|
152
152
|
<E
|
|
153
153
|
ref={ref}
|
|
154
154
|
role="term"
|
|
155
|
+
data-ref="chip"
|
|
155
156
|
className={classNames(
|
|
156
|
-
|
|
157
|
+
"fabric-chip",
|
|
157
158
|
className,
|
|
158
|
-
|
|
159
|
-
"select-none inline-flex flex-nowrap items-center max-w-72 text-sm leading-none rounded",
|
|
159
|
+
"select-none inline-flex flex-nowrap items-center align-middle max-w-72 rounded",
|
|
160
160
|
rounded && "rounded-full",
|
|
161
|
-
!!onClick &&
|
|
162
|
-
disabled &&
|
|
161
|
+
!!onClick && "clickable",
|
|
162
|
+
disabled && "disabled",
|
|
163
163
|
)}
|
|
164
164
|
style={styles}
|
|
165
165
|
data-variant={variant}
|
|
166
166
|
data-inner-clickable={!!onClick}
|
|
167
|
-
{...{ onClick: clickHandler }}
|
|
167
|
+
{...{ onClick: disabled ? undefined : clickHandler }}
|
|
168
168
|
{...aria}
|
|
169
169
|
>
|
|
170
170
|
{icon && (
|
|
171
171
|
<Icon
|
|
172
|
-
|
|
172
|
+
data-ref="chipIcon"
|
|
173
|
+
className={classNames("fabric-chipIcon", "m-1")}
|
|
173
174
|
icon={icon}
|
|
174
175
|
bg={iconBg}
|
|
175
176
|
onClick={onIconClick}
|
|
@@ -179,7 +180,8 @@ export const Chip = <Tag extends React.ElementType = "div">({
|
|
|
179
180
|
)}
|
|
180
181
|
{children && (
|
|
181
182
|
<label
|
|
182
|
-
|
|
183
|
+
data-ref="chipLabel"
|
|
184
|
+
className={classNames("fabric-chipLabel", "truncate")}
|
|
183
185
|
>
|
|
184
186
|
{children}
|
|
185
187
|
</label>
|
|
@@ -187,8 +189,10 @@ export const Chip = <Tag extends React.ElementType = "div">({
|
|
|
187
189
|
{onRemove && (
|
|
188
190
|
<span
|
|
189
191
|
role="none"
|
|
192
|
+
data-ref="chipRemove"
|
|
193
|
+
data-inner-cliackable
|
|
190
194
|
className={classNames(
|
|
191
|
-
|
|
195
|
+
"fabric-chipRemove",
|
|
192
196
|
"cursor-pointer pe-1 opacity-65 hover:opacity-90",
|
|
193
197
|
)}
|
|
194
198
|
onClick={removeHandler}
|
|
@@ -40,7 +40,6 @@ import {
|
|
|
40
40
|
} from "../../types";
|
|
41
41
|
import { CoreIcons } from "../../types/icons";
|
|
42
42
|
import { Icon } from "../icon/Icon";
|
|
43
|
-
import classes from "./Collapsable.module.css";
|
|
44
43
|
|
|
45
44
|
interface CollapsableRef {
|
|
46
45
|
button: RefObject<HTMLElement>;
|
|
@@ -66,6 +65,10 @@ export interface CollapsableProps
|
|
|
66
65
|
* header button className
|
|
67
66
|
*/
|
|
68
67
|
headerClassName?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Header position sticky
|
|
70
|
+
*/
|
|
71
|
+
stickyHeader?: boolean;
|
|
69
72
|
/**
|
|
70
73
|
* open state icon
|
|
71
74
|
*/
|
|
@@ -100,6 +103,7 @@ export const Collapsable = ({
|
|
|
100
103
|
headerClassName,
|
|
101
104
|
children,
|
|
102
105
|
iconAlign,
|
|
106
|
+
stickyHeader,
|
|
103
107
|
iconClosed = CoreIcons.chevronRight,
|
|
104
108
|
iconOpen = CoreIcons.chevronDown,
|
|
105
109
|
open,
|
|
@@ -130,14 +134,15 @@ export const Collapsable = ({
|
|
|
130
134
|
return [h, b];
|
|
131
135
|
}, [children]);
|
|
132
136
|
return (
|
|
133
|
-
<div className={classNames(
|
|
137
|
+
<div className={classNames("fabric-collapsable", className)} {...aria}>
|
|
134
138
|
<div
|
|
135
139
|
role="none"
|
|
136
140
|
ref={headRef}
|
|
137
141
|
className={classNames(
|
|
138
|
-
|
|
142
|
+
"fabric-collapsableHead",
|
|
139
143
|
"flex gap-1 flex-nowrap py-2 font-medium cursor-pointer items-center select-none hover:opacity-70",
|
|
140
144
|
headerClassName,
|
|
145
|
+
stickyHeader && "bg-base sticky top-0 px-2 py-1 z-10",
|
|
141
146
|
iconAlign === "end" ? "flex-row-reverse" : "flex-row",
|
|
142
147
|
)}
|
|
143
148
|
onClick={() => !disabled && setOpenState(!openState)}
|
|
@@ -148,7 +153,7 @@ export const Collapsable = ({
|
|
|
148
153
|
{openState && (
|
|
149
154
|
<div
|
|
150
155
|
ref={bodyRef}
|
|
151
|
-
className={classNames(
|
|
156
|
+
className={classNames("fabric-collapsableBody", bodyClassName)}
|
|
152
157
|
>
|
|
153
158
|
{body}
|
|
154
159
|
</div>
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
import classNames from "classnames";
|
|
25
25
|
import { useCallback } from "react";
|
|
26
26
|
import {
|
|
27
|
-
type CssProp,
|
|
28
27
|
type ChildProp,
|
|
29
28
|
type ColorType,
|
|
29
|
+
type CssProp,
|
|
30
30
|
type PaletteType,
|
|
31
31
|
} from "../../types";
|
|
32
|
-
import {
|
|
32
|
+
import { getColor } from "../../utils";
|
|
33
33
|
|
|
34
34
|
export interface DividerProps extends CssProp, Partial<ChildProp> {
|
|
35
35
|
/**
|
|
@@ -40,10 +40,14 @@ export interface DividerProps extends CssProp, Partial<ChildProp> {
|
|
|
40
40
|
* vertical rule
|
|
41
41
|
*/
|
|
42
42
|
vertical?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* divider label classname(s)
|
|
45
|
+
*/
|
|
46
|
+
labelClassName?: string;
|
|
43
47
|
/**
|
|
44
48
|
* rule color
|
|
45
49
|
*/
|
|
46
|
-
color?: ColorType | PaletteType |
|
|
50
|
+
color?: ColorType | PaletteType | string;
|
|
47
51
|
/**
|
|
48
52
|
* text alignment
|
|
49
53
|
*/
|
|
@@ -52,8 +56,9 @@ export interface DividerProps extends CssProp, Partial<ChildProp> {
|
|
|
52
56
|
|
|
53
57
|
export const Divider = ({
|
|
54
58
|
children,
|
|
55
|
-
color,
|
|
59
|
+
color = "tint-300",
|
|
56
60
|
vertical,
|
|
61
|
+
labelClassName,
|
|
57
62
|
fill,
|
|
58
63
|
align = "start",
|
|
59
64
|
className,
|
|
@@ -62,13 +67,14 @@ export const Divider = ({
|
|
|
62
67
|
({ flex, className }: KeyValue) => {
|
|
63
68
|
return (
|
|
64
69
|
<hr
|
|
65
|
-
style={{ flex }}
|
|
70
|
+
style={{ flex, borderColor: getColor(color) }}
|
|
66
71
|
className={classNames(
|
|
67
72
|
className,
|
|
68
73
|
vertical && "vertical",
|
|
69
74
|
!flex && "self-stretch",
|
|
70
|
-
vertical
|
|
71
|
-
|
|
75
|
+
vertical
|
|
76
|
+
? "fabric-divider--vertical"
|
|
77
|
+
: "fabric-divider--horizontal",
|
|
72
78
|
)}
|
|
73
79
|
/>
|
|
74
80
|
);
|
|
@@ -88,9 +94,8 @@ export const Divider = ({
|
|
|
88
94
|
<div
|
|
89
95
|
className={classNames(
|
|
90
96
|
"px-2 whitespace-nowrap",
|
|
91
|
-
vertical ? "
|
|
92
|
-
|
|
93
|
-
!fill && getColorClass((color ?? "tint") + "-600"),
|
|
97
|
+
vertical ? "fabric-divider--vertical" : "fabric-divider--horizontal",
|
|
98
|
+
labelClassName,
|
|
94
99
|
"rounded-full text-[0.75em]",
|
|
95
100
|
vertical && "origin-center -rotate-90 z-1",
|
|
96
101
|
)}
|
|
@@ -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
|
})}
|
|
@@ -248,6 +248,7 @@ const DropdownElement = ({
|
|
|
248
248
|
zIndex: "var(--z-popover)",
|
|
249
249
|
...floatingStyles,
|
|
250
250
|
}}
|
|
251
|
+
data-ref="dropdownBody"
|
|
251
252
|
{...getFloatingProps({
|
|
252
253
|
onClick: (e) => e.stopPropagation(),
|
|
253
254
|
})}
|
|
@@ -255,10 +256,9 @@ const DropdownElement = ({
|
|
|
255
256
|
<div
|
|
256
257
|
role="none"
|
|
257
258
|
className={classNames(
|
|
258
|
-
|
|
259
|
+
"fabric-dropdownBody",
|
|
259
260
|
dropdownClassName,
|
|
260
|
-
!plainDropdown &&
|
|
261
|
-
"shadow-lg shadow-base bg-base ring-1 ring-tint-100",
|
|
261
|
+
!plainDropdown && "shadow-lg bg-base ring-1 ring-tint-100",
|
|
262
262
|
"rounded-capped overflow-auto scroll-thin grid max-h-[70vh]",
|
|
263
263
|
)}
|
|
264
264
|
onMouseUpCapture={tryClosing}
|
|
@@ -270,7 +270,7 @@ const DropdownElement = ({
|
|
|
270
270
|
ref={arrowRef}
|
|
271
271
|
context={context}
|
|
272
272
|
strokeWidth={0.5}
|
|
273
|
-
className="fill-base stroke-
|
|
273
|
+
className="fill-base stroke-dimmed"
|
|
274
274
|
/>
|
|
275
275
|
)}
|
|
276
276
|
</div>
|
|
@@ -31,10 +31,12 @@ export const DropdownTool = ({
|
|
|
31
31
|
children,
|
|
32
32
|
className,
|
|
33
33
|
groupHover,
|
|
34
|
+
icon,
|
|
34
35
|
...props
|
|
35
36
|
}: ChildProp &
|
|
36
37
|
CssProp &
|
|
37
38
|
Omit<DropdownProps, "children"> & {
|
|
39
|
+
icon?: string;
|
|
38
40
|
/**
|
|
39
41
|
* hide until group hovered
|
|
40
42
|
*/
|
|
@@ -43,12 +45,12 @@ export const DropdownTool = ({
|
|
|
43
45
|
return (
|
|
44
46
|
<Dropdown {...props}>
|
|
45
47
|
<Icon
|
|
46
|
-
icon={CoreIcons.caretDown}
|
|
48
|
+
icon={icon ?? CoreIcons.caretDown}
|
|
47
49
|
className={classNames(
|
|
50
|
+
"outline bg-tint-50/50 flex-content pointer-events-auto cursor-pointer",
|
|
48
51
|
className,
|
|
49
|
-
"outline bg-base flex-content pointer-events-auto cursor-pointer",
|
|
50
52
|
groupHover &&
|
|
51
|
-
"hidden group-hover:inline-block data-[dropdown-open]:inline-block",
|
|
53
|
+
"hidden group-hover/tool:inline-block data-[dropdown-open]:inline-block",
|
|
52
54
|
)}
|
|
53
55
|
/>
|
|
54
56
|
{children}
|
|
@@ -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
|
*/
|
|
@@ -101,86 +101,74 @@ export const Icon = ({
|
|
|
101
101
|
...rest
|
|
102
102
|
}: IconProps) => {
|
|
103
103
|
/** ***************** 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
|
-
);
|
|
104
|
+
const styles = useMemo(() => {
|
|
105
|
+
const s: KeyValue = {};
|
|
106
|
+
if (bg) {
|
|
107
|
+
s.backgroundColor = getColor(bg);
|
|
108
|
+
}
|
|
109
|
+
if (color) {
|
|
110
|
+
s.color = getColor(color);
|
|
111
|
+
}
|
|
112
|
+
if (size && !(size in SizeMap)) {
|
|
113
|
+
s.fontSize = size;
|
|
114
|
+
}
|
|
115
|
+
if (size && size in SizeMap) {
|
|
116
|
+
s.fontSize = SizeMap[size];
|
|
117
|
+
}
|
|
118
|
+
return s;
|
|
119
|
+
}, [bg, color, size]);
|
|
124
120
|
|
|
125
121
|
/** ***************** check if icon is svg path *******************/
|
|
126
|
-
const isSvg =
|
|
127
|
-
()
|
|
128
|
-
|
|
129
|
-
},
|
|
130
|
-
[icon],
|
|
131
|
-
"Icon isSvg",
|
|
132
|
-
);
|
|
122
|
+
const isSvg = useMemo(() => {
|
|
123
|
+
return isSvgPath(icon);
|
|
124
|
+
}, [icon]);
|
|
133
125
|
|
|
134
126
|
/** ***************** 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
|
-
);
|
|
127
|
+
const iconEl = useMemo(() => {
|
|
128
|
+
if (!isString(icon)) {
|
|
129
|
+
throw Error("Invalid icon expected string");
|
|
130
|
+
}
|
|
131
|
+
return isSvg ? (
|
|
132
|
+
<svg viewBox={viewBox}>
|
|
133
|
+
<path fill="currentColor" d={icon.toString()} />
|
|
134
|
+
</svg>
|
|
135
|
+
) : icon?.toString().length <= 4 ? (
|
|
136
|
+
<svg role="img">
|
|
137
|
+
<text
|
|
138
|
+
x="50%"
|
|
139
|
+
y="50%"
|
|
140
|
+
dy=".1em"
|
|
141
|
+
dominantBaseline="middle"
|
|
142
|
+
textAnchor="middle"
|
|
143
|
+
style={{ fontSize: SvgTextSize[icon.length] }}
|
|
144
|
+
>
|
|
145
|
+
{icon}
|
|
146
|
+
</text>
|
|
147
|
+
</svg>
|
|
148
|
+
) : (
|
|
149
|
+
<i className={`${icon}`} />
|
|
150
|
+
);
|
|
151
|
+
}, [icon, isSvg, viewBox]);
|
|
164
152
|
|
|
165
153
|
return (
|
|
166
154
|
<dfn
|
|
167
|
-
|
|
155
|
+
data-ref="icon"
|
|
168
156
|
ref={ref}
|
|
157
|
+
{...rest}
|
|
169
158
|
role="presentation"
|
|
170
159
|
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),
|
|
160
|
+
"fabric-icon",
|
|
161
|
+
"select-none overflow-hidden box-content leading-none not-italic text-center",
|
|
176
162
|
!rounded && "rounded",
|
|
177
163
|
rounded && "rounded-full",
|
|
178
164
|
animate && `animate-${animate}`,
|
|
165
|
+
className,
|
|
179
166
|
)}
|
|
180
167
|
onClick={onClick}
|
|
181
168
|
data-flip={rtlFlip}
|
|
182
169
|
style={styles}
|
|
183
170
|
data-clickable={!!onClick}
|
|
171
|
+
data-inner-clickable={!!onClick}
|
|
184
172
|
>
|
|
185
173
|
{iconEl}
|
|
186
174
|
</dfn>
|