@channel.io/bezier-react 1.6.1 → 1.7.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/dist/cjs/components/Forms/Slider/Slider.js +73 -51
- package/dist/cjs/components/Forms/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/Forms/Slider/Slider.styled.js +24 -83
- package/dist/cjs/components/Forms/Slider/Slider.styled.js.map +1 -1
- package/dist/cjs/components/Help/Help.js +10 -7
- package/dist/cjs/components/Help/Help.js.map +1 -1
- package/dist/cjs/components/Help/Help.styled.js +4 -5
- package/dist/cjs/components/Help/Help.styled.js.map +1 -1
- package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.js +2 -9
- package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.js.map +1 -1
- package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.styled.js +3 -20
- package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.styled.js.map +1 -1
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js +101 -0
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js.map +1 -0
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.styled.js +41 -0
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.styled.js.map +1 -0
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.types.js +20 -0
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.types.js.map +1 -0
- package/dist/cjs/components/{Tooltip/TooltipContent.js → LegacyTooltip/LegacyTooltipContent.js} +9 -12
- package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js.map +1 -0
- package/dist/cjs/components/{Tooltip → LegacyTooltip}/utils.js +33 -33
- package/dist/cjs/components/LegacyTooltip/utils.js.map +1 -0
- package/dist/cjs/components/ListItem/ListItem.styled.js +1 -1
- package/dist/cjs/components/ListMenuTitle/ListMenuTitle.js +11 -10
- package/dist/cjs/components/ListMenuTitle/ListMenuTitle.js.map +1 -1
- package/dist/cjs/components/Modals/Modal/Modal.types.js.map +1 -1
- package/dist/cjs/components/Navigator/NavGroup/NavGroup.js +10 -11
- package/dist/cjs/components/Navigator/NavGroup/NavGroup.js.map +1 -1
- package/dist/cjs/components/Navigator/NavItem/NavItem.js +10 -10
- package/dist/cjs/components/Navigator/NavItem/NavItem.js.map +1 -1
- package/dist/cjs/components/SectionLabel/SectionLabel.js +10 -17
- package/dist/cjs/components/SectionLabel/SectionLabel.js.map +1 -1
- package/dist/cjs/components/SectionLabel/SectionLabel.styled.js +4 -4
- package/dist/cjs/components/SectionLabel/SectionLabel.styled.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js +10 -7
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.styled.js +1 -1
- package/dist/cjs/components/Spinner/Spinner.types.js.map +1 -1
- package/dist/cjs/components/Stack/Stack/Stack.styled.js +1 -1
- package/dist/cjs/components/Status/Status.styled.js +1 -1
- package/dist/cjs/components/TagBadge/Badge/Badge.js +9 -8
- package/dist/cjs/components/TagBadge/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/TagBadge/Tag/Tag.js +4 -3
- package/dist/cjs/components/TagBadge/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/Text/Text.styled.js +1 -1
- package/dist/cjs/components/Toast/Toast.types.js +2 -1
- package/dist/cjs/components/Toast/Toast.types.js.map +1 -1
- package/dist/cjs/components/Toast/ToastElement.js +5 -6
- package/dist/cjs/components/Toast/ToastElement.js.map +1 -1
- package/dist/cjs/components/Toast/ToastProvider.js +2 -2
- package/dist/cjs/components/Toast/ToastProvider.js.map +1 -1
- package/dist/cjs/components/Toast/utils.js +6 -5
- package/dist/cjs/components/Toast/utils.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +211 -83
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.styled.js +96 -25
- package/dist/cjs/components/Tooltip/Tooltip.styled.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.types.js +3 -0
- package/dist/cjs/components/Tooltip/Tooltip.types.js.map +1 -1
- package/dist/cjs/foundation/FoundationStyledComponent.js +16 -1
- package/dist/cjs/foundation/FoundationStyledComponent.js.map +1 -1
- package/dist/cjs/index.js +15 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js +886 -0
- package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
- package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +691 -0
- package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
- package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +296 -0
- package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js.map +1 -0
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +265 -0
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.js +21 -21
- package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js +521 -0
- package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -0
- package/dist/cjs/providers/BezierProvider.js +3 -2
- package/dist/cjs/providers/BezierProvider.js.map +1 -1
- package/dist/esm/components/Forms/Slider/Slider.mjs +76 -53
- package/dist/esm/components/Forms/Slider/Slider.mjs.map +1 -1
- package/dist/esm/components/Forms/Slider/Slider.styled.mjs +22 -82
- package/dist/esm/components/Forms/Slider/Slider.styled.mjs.map +1 -1
- package/dist/esm/components/Help/Help.mjs +11 -8
- package/dist/esm/components/Help/Help.mjs.map +1 -1
- package/dist/esm/components/Help/Help.styled.mjs +4 -5
- package/dist/esm/components/Help/Help.styled.mjs.map +1 -1
- package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.mjs +3 -10
- package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.mjs.map +1 -1
- package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.styled.mjs +4 -19
- package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.styled.mjs.map +1 -1
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs +97 -0
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs.map +1 -0
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.styled.mjs +36 -0
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.styled.mjs.map +1 -0
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.types.mjs +18 -0
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.types.mjs.map +1 -0
- package/dist/esm/components/{Tooltip/TooltipContent.mjs → LegacyTooltip/LegacyTooltipContent.mjs} +8 -9
- package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs.map +1 -0
- package/dist/esm/components/{Tooltip → LegacyTooltip}/utils.mjs +33 -33
- package/dist/esm/components/LegacyTooltip/utils.mjs.map +1 -0
- package/dist/esm/components/ListItem/ListItem.styled.mjs +1 -1
- package/dist/esm/components/ListMenuTitle/ListMenuTitle.mjs +12 -11
- package/dist/esm/components/ListMenuTitle/ListMenuTitle.mjs.map +1 -1
- package/dist/esm/components/Modals/Modal/Modal.types.mjs.map +1 -1
- package/dist/esm/components/Navigator/NavGroup/NavGroup.mjs +11 -12
- package/dist/esm/components/Navigator/NavGroup/NavGroup.mjs.map +1 -1
- package/dist/esm/components/Navigator/NavItem/NavItem.mjs +11 -11
- package/dist/esm/components/Navigator/NavItem/NavItem.mjs.map +1 -1
- package/dist/esm/components/Overlay/Overlay.mjs +2 -2
- package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/esm/components/SectionLabel/SectionLabel.mjs +11 -17
- package/dist/esm/components/SectionLabel/SectionLabel.mjs.map +1 -1
- package/dist/esm/components/SectionLabel/SectionLabel.styled.mjs +4 -4
- package/dist/esm/components/SectionLabel/SectionLabel.styled.mjs.map +1 -1
- package/dist/esm/components/Spinner/Spinner.mjs +11 -8
- package/dist/esm/components/Spinner/Spinner.mjs.map +1 -1
- package/dist/esm/components/Spinner/Spinner.styled.mjs +1 -1
- package/dist/esm/components/Spinner/Spinner.types.mjs.map +1 -1
- package/dist/esm/components/Stack/Stack/Stack.styled.mjs +1 -1
- package/dist/esm/components/Status/Status.styled.mjs +1 -1
- package/dist/esm/components/TagBadge/Badge/Badge.mjs +10 -9
- package/dist/esm/components/TagBadge/Badge/Badge.mjs.map +1 -1
- package/dist/esm/components/TagBadge/Tag/Tag.mjs +5 -4
- package/dist/esm/components/TagBadge/Tag/Tag.mjs.map +1 -1
- package/dist/esm/components/Text/Text.styled.mjs +1 -1
- package/dist/esm/components/Toast/Toast.types.mjs +2 -1
- package/dist/esm/components/Toast/Toast.types.mjs.map +1 -1
- package/dist/esm/components/Toast/ToastElement.mjs +5 -6
- package/dist/esm/components/Toast/ToastElement.mjs.map +1 -1
- package/dist/esm/components/Toast/ToastProvider.mjs +2 -2
- package/dist/esm/components/Toast/ToastProvider.mjs.map +1 -1
- package/dist/esm/components/Toast/utils.mjs +6 -5
- package/dist/esm/components/Toast/utils.mjs.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.mjs +213 -82
- package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.styled.mjs +93 -23
- package/dist/esm/components/Tooltip/Tooltip.styled.mjs.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.types.mjs +3 -0
- package/dist/esm/components/Tooltip/Tooltip.types.mjs.map +1 -1
- package/dist/esm/foundation/FoundationStyledComponent.mjs +16 -1
- package/dist/esm/foundation/FoundationStyledComponent.mjs.map +1 -1
- package/dist/esm/index.mjs +7 -5
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +875 -0
- package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.map +1 -0
- package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +679 -0
- package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.map +1 -0
- package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.mjs +265 -0
- package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.mjs.map +1 -0
- package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs +257 -0
- package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.mjs +2 -2
- package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.mjs +1 -1
- package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs +509 -0
- package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +1 -0
- package/dist/esm/providers/BezierProvider.mjs +3 -2
- package/dist/esm/providers/BezierProvider.mjs.map +1 -1
- package/dist/types/components/Forms/Slider/Slider.d.ts +18 -2
- package/dist/types/components/Forms/Slider/Slider.d.ts.map +1 -1
- package/dist/types/components/Forms/Slider/Slider.styled.d.ts +14 -24
- package/dist/types/components/Forms/Slider/Slider.styled.d.ts.map +1 -1
- package/dist/types/components/Forms/Slider/Slider.types.d.ts +52 -13
- package/dist/types/components/Forms/Slider/Slider.types.d.ts.map +1 -1
- package/dist/types/components/Help/Help.d.ts +1 -4
- package/dist/types/components/Help/Help.d.ts.map +1 -1
- package/dist/types/components/Help/Help.styled.d.ts +1 -1
- package/dist/types/components/Help/Help.styled.d.ts.map +1 -1
- package/dist/types/components/Help/Help.types.d.ts +1 -1
- package/dist/types/components/Help/Help.types.d.ts.map +1 -1
- package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.d.ts.map +1 -1
- package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.styled.d.ts +1 -7
- package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.styled.d.ts.map +1 -1
- package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.types.d.ts +3 -3
- package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.types.d.ts.map +1 -1
- package/dist/types/components/KeyValueListItem/common/KeyItem/KeyItem.types.d.ts +2 -2
- package/dist/types/components/KeyValueListItem/common/KeyItem/KeyItem.types.d.ts.map +1 -1
- package/dist/types/components/LegacyTooltip/LegacyTooltip.d.ts +6 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltip.d.ts.map +1 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltip.styled.d.ts +18 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltip.styled.d.ts.map +1 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltip.types.d.ts +40 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltip.types.d.ts.map +1 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltipContent.d.ts +4 -0
- package/dist/types/components/LegacyTooltip/LegacyTooltipContent.d.ts.map +1 -0
- package/dist/types/components/LegacyTooltip/index.d.ts +4 -0
- package/dist/types/components/LegacyTooltip/index.d.ts.map +1 -0
- package/dist/types/components/{Tooltip → LegacyTooltip}/utils.d.ts +2 -2
- package/dist/types/components/LegacyTooltip/utils.d.ts.map +1 -0
- package/dist/types/components/ListMenuTitle/ListMenuTitle.d.ts +1 -1
- package/dist/types/components/ListMenuTitle/ListMenuTitle.d.ts.map +1 -1
- package/dist/types/components/ListMenuTitle/ListMenuTitle.types.d.ts +1 -2
- package/dist/types/components/ListMenuTitle/ListMenuTitle.types.d.ts.map +1 -1
- package/dist/types/components/Modals/Modal/Modal.types.d.ts +2 -2
- package/dist/types/components/Modals/Modal/Modal.types.d.ts.map +1 -1
- package/dist/types/components/Navigator/NavGroup/NavGroup.d.ts +1 -2
- package/dist/types/components/Navigator/NavGroup/NavGroup.d.ts.map +1 -1
- package/dist/types/components/Navigator/NavGroup/NavGroup.types.d.ts +3 -3
- package/dist/types/components/Navigator/NavGroup/NavGroup.types.d.ts.map +1 -1
- package/dist/types/components/Navigator/NavItem/NavItem.d.ts +1 -2
- package/dist/types/components/Navigator/NavItem/NavItem.d.ts.map +1 -1
- package/dist/types/components/Navigator/NavItem/NavItem.types.d.ts +3 -3
- package/dist/types/components/Navigator/NavItem/NavItem.types.d.ts.map +1 -1
- package/dist/types/components/SectionLabel/SectionLabel.d.ts +1 -2
- package/dist/types/components/SectionLabel/SectionLabel.d.ts.map +1 -1
- package/dist/types/components/SectionLabel/SectionLabel.styled.d.ts +1 -1
- package/dist/types/components/SectionLabel/SectionLabel.styled.d.ts.map +1 -1
- package/dist/types/components/SectionLabel/SectionLabel.types.d.ts +2 -7
- package/dist/types/components/SectionLabel/SectionLabel.types.d.ts.map +1 -1
- package/dist/types/components/Spinner/Spinner.d.ts +1 -1
- package/dist/types/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/types/components/Spinner/Spinner.types.d.ts +2 -1
- package/dist/types/components/Spinner/Spinner.types.d.ts.map +1 -1
- package/dist/types/components/TagBadge/Badge/Badge.d.ts +1 -1
- package/dist/types/components/TagBadge/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/TagBadge/Badge/Badge.types.d.ts +2 -2
- package/dist/types/components/TagBadge/Badge/Badge.types.d.ts.map +1 -1
- package/dist/types/components/TagBadge/Tag/Tag.d.ts +1 -1
- package/dist/types/components/TagBadge/Tag/Tag.d.ts.map +1 -1
- package/dist/types/components/Toast/Toast.types.d.ts +4 -4
- package/dist/types/components/Toast/Toast.types.d.ts.map +1 -1
- package/dist/types/components/Toast/ToastElement.d.ts.map +1 -1
- package/dist/types/components/Toast/utils.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +31 -5
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.styled.d.ts +22 -12
- package/dist/types/components/Tooltip/Tooltip.styled.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.types.d.ts +105 -24
- package/dist/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/dist/types/components/Tooltip/index.d.ts +3 -5
- package/dist/types/components/Tooltip/index.d.ts.map +1 -1
- package/dist/types/components/VisuallyHidden/VisuallyHidden.types.d.ts +2 -1
- package/dist/types/components/VisuallyHidden/VisuallyHidden.types.d.ts.map +1 -1
- package/dist/types/foundation/FoundationStyledComponent.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/providers/BezierProvider.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +17 -17
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +15 -15
- package/src/components/Forms/FormControl/__snapshots__/FormControl.test.tsx.snap +119 -119
- package/src/components/Forms/Slider/Slider.stories.tsx +10 -63
- package/src/components/Forms/Slider/Slider.styled.ts +46 -95
- package/src/components/Forms/Slider/Slider.test.tsx +130 -97
- package/src/components/Forms/Slider/Slider.tsx +117 -96
- package/src/components/Forms/Slider/Slider.types.ts +55 -17
- package/src/components/Forms/Slider/__snapshots__/Slider.test.tsx.snap +156 -0
- package/src/components/Help/Help.styled.ts +4 -7
- package/src/components/Help/Help.tsx +19 -12
- package/src/components/Help/Help.types.ts +1 -1
- package/src/components/KeyValueListItem/KeyValueListItem.test.tsx +10 -6
- package/src/components/KeyValueListItem/__snapshots__/KeyValueListItem.test.tsx.snap +13 -13
- package/src/components/KeyValueListItem/common/ItemActions/ItemAction.styled.ts +5 -15
- package/src/components/KeyValueListItem/common/ItemActions/ItemAction.tsx +6 -13
- package/src/components/KeyValueListItem/common/ItemActions/ItemAction.types.ts +3 -6
- package/src/components/KeyValueListItem/common/KeyItem/KeyItem.types.ts +2 -5
- package/src/components/LegacyTooltip/LegacyTooltip.stories.tsx +105 -0
- package/src/components/LegacyTooltip/LegacyTooltip.styled.ts +46 -0
- package/src/components/LegacyTooltip/LegacyTooltip.test.tsx +100 -0
- package/src/components/LegacyTooltip/LegacyTooltip.tsx +152 -0
- package/src/components/LegacyTooltip/LegacyTooltip.types.ts +69 -0
- package/src/components/{Tooltip/TooltipContent.test.tsx → LegacyTooltip/LegacyTooltipContent.test.tsx} +9 -8
- package/src/components/{Tooltip/TooltipContent.tsx → LegacyTooltip/LegacyTooltipContent.tsx} +6 -7
- package/src/components/LegacyTooltip/index.ts +5 -0
- package/src/components/{Tooltip → LegacyTooltip}/utils.ts +35 -35
- package/src/components/ListMenuTitle/ListMenuTitle.tsx +10 -6
- package/src/components/ListMenuTitle/ListMenuTitle.types.ts +1 -1
- package/src/components/Modals/Modal/Modal.types.ts +2 -2
- package/src/components/Navigator/NavGroup/NavGroup.stories.tsx +5 -2
- package/src/components/Navigator/NavGroup/NavGroup.test.tsx +1 -1
- package/src/components/Navigator/NavGroup/NavGroup.tsx +13 -16
- package/src/components/Navigator/NavGroup/NavGroup.types.ts +3 -2
- package/src/components/Navigator/NavItem/NavItem.test.tsx +3 -1
- package/src/components/Navigator/NavItem/NavItem.tsx +13 -12
- package/src/components/Navigator/NavItem/NavItem.types.ts +3 -2
- package/src/components/SectionLabel/SectionLabel.stories.tsx +1 -1
- package/src/components/SectionLabel/SectionLabel.styled.ts +2 -4
- package/src/components/SectionLabel/SectionLabel.test.tsx +5 -25
- package/src/components/SectionLabel/SectionLabel.tsx +11 -17
- package/src/components/SectionLabel/SectionLabel.types.ts +2 -8
- package/src/components/Spinner/Spinner.tsx +7 -4
- package/src/components/Spinner/Spinner.types.ts +2 -1
- package/src/components/TagBadge/Badge/Badge.stories.tsx +2 -1
- package/src/components/TagBadge/Badge/Badge.tsx +15 -10
- package/src/components/TagBadge/Badge/Badge.types.ts +2 -2
- package/src/components/TagBadge/Tag/Tag.tsx +9 -4
- package/src/components/TagBadge/TagBadge.mdx +1 -1
- package/src/components/TagBadge/TagBadge.stories.tsx +48 -33
- package/src/components/Toast/Toast.stories.tsx +9 -8
- package/src/components/Toast/Toast.types.ts +8 -5
- package/src/components/Toast/ToastElement.tsx +4 -5
- package/src/components/Toast/ToastProvider.tsx +2 -2
- package/src/components/Toast/ToastService.test.ts +3 -1
- package/src/components/Toast/useToastContextValues.test.tsx +5 -4
- package/src/components/Toast/utils.ts +13 -5
- package/src/components/Tooltip/Tooltip.stories.tsx +28 -67
- package/src/components/Tooltip/Tooltip.styled.ts +109 -19
- package/src/components/Tooltip/Tooltip.test.tsx +136 -63
- package/src/components/Tooltip/Tooltip.tsx +262 -120
- package/src/components/Tooltip/Tooltip.types.ts +111 -47
- package/src/components/Tooltip/index.ts +8 -8
- package/src/components/VisuallyHidden/VisuallyHidden.types.ts +1 -1
- package/src/foundation/FoundationStyledComponent.tsx +17 -1
- package/src/index.ts +1 -0
- package/src/providers/BezierProvider.tsx +10 -6
- package/dist/cjs/components/Tooltip/TooltipContent.js.map +0 -1
- package/dist/cjs/components/Tooltip/utils.js.map +0 -1
- package/dist/esm/components/Tooltip/TooltipContent.mjs.map +0 -1
- package/dist/esm/components/Tooltip/utils.mjs.map +0 -1
- package/dist/types/components/Tooltip/TooltipContent.d.ts +0 -5
- package/dist/types/components/Tooltip/TooltipContent.d.ts.map +0 -1
- package/dist/types/components/Tooltip/utils.d.ts.map +0 -1
- /package/src/components/{Tooltip/__snapshots__/Tooltip.test.tsx.snap → LegacyTooltip/__snapshots__/LegacyTooltip.test.tsx.snap} +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import React__default, { memo, useCallback } from 'react';
|
|
1
|
+
import React__default, { memo, forwardRef, useCallback } from 'react';
|
|
2
2
|
import { noop } from '../../../utils/functionUtils.mjs';
|
|
3
3
|
import Text from '../../Text/Text.mjs';
|
|
4
4
|
import { Wrapper, Item, LeftIconWrapper, RightContentWrapper } from './NavItem.styled.mjs';
|
|
5
|
-
import
|
|
5
|
+
import { Icon } from '../../Icon/Icon.mjs';
|
|
6
6
|
import { IconSize } from '../../Icon/Icon.types.mjs';
|
|
7
|
-
import { isIconName } from '../../LegacyIcon/utils.mjs';
|
|
8
7
|
import { Typography } from '../../../foundation/Typography.mjs';
|
|
9
8
|
|
|
10
9
|
const NAV_ITEM_TEST_ID = 'bezier-react-nav-item';
|
|
11
10
|
const NAV_ITEM_LEFT_ICON_TEST_ID = 'bezier-react-nav-item-left-icon';
|
|
12
|
-
function NavItem({
|
|
11
|
+
const NavItem = /*#__PURE__*/forwardRef(function NavItem({
|
|
13
12
|
as,
|
|
14
13
|
testId = NAV_ITEM_TEST_ID,
|
|
15
14
|
name,
|
|
@@ -22,15 +21,16 @@ function NavItem({
|
|
|
22
21
|
rightContent,
|
|
23
22
|
leftIcon,
|
|
24
23
|
active,
|
|
25
|
-
onClick = noop
|
|
26
|
-
|
|
24
|
+
onClick = noop,
|
|
25
|
+
...rest
|
|
26
|
+
}, forwardedRef) {
|
|
27
27
|
const handleClickItem = useCallback(e => {
|
|
28
28
|
onClick(e, name);
|
|
29
29
|
}, [name, onClick]);
|
|
30
|
-
const showLeftIcon = isIconName(leftIcon);
|
|
31
30
|
return /*#__PURE__*/React__default.createElement(Wrapper, {
|
|
32
31
|
role: "none"
|
|
33
|
-
}, /*#__PURE__*/React__default.createElement(Item, {
|
|
32
|
+
}, /*#__PURE__*/React__default.createElement(Item, Object.assign({}, rest, {
|
|
33
|
+
ref: forwardedRef,
|
|
34
34
|
as: as,
|
|
35
35
|
active: active,
|
|
36
36
|
style: style,
|
|
@@ -41,16 +41,16 @@ function NavItem({
|
|
|
41
41
|
href: href,
|
|
42
42
|
target: target,
|
|
43
43
|
role: "menuitem"
|
|
44
|
-
}, /*#__PURE__*/React__default.createElement(LeftIconWrapper, null,
|
|
44
|
+
}), /*#__PURE__*/React__default.createElement(LeftIconWrapper, null, leftIcon && /*#__PURE__*/React__default.createElement(Icon, {
|
|
45
45
|
testId: NAV_ITEM_LEFT_ICON_TEST_ID,
|
|
46
|
-
|
|
46
|
+
source: leftIcon,
|
|
47
47
|
size: IconSize.S,
|
|
48
48
|
color: active ? 'bgtxt-blue-normal' : 'txt-black-dark'
|
|
49
49
|
})), /*#__PURE__*/React__default.createElement(Text, {
|
|
50
50
|
typo: Typography.Size14,
|
|
51
51
|
truncated: true
|
|
52
52
|
}, content), rightContent && /*#__PURE__*/React__default.createElement(RightContentWrapper, null, rightContent)));
|
|
53
|
-
}
|
|
53
|
+
});
|
|
54
54
|
var NavItem$1 = /*#__PURE__*/memo(NavItem);
|
|
55
55
|
|
|
56
56
|
export { NAV_ITEM_LEFT_ICON_TEST_ID, NAV_ITEM_TEST_ID, NavItem$1 as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItem.mjs","sources":["../../../../../src/components/Navigator/NavItem/NavItem.tsx"],"sourcesContent":["import React, {\n memo,\n useCallback,\n} from 'react'\n\nimport { Typography } from '~/src/foundation'\n\nimport { noop } from '~/src/utils/functionUtils'\n\nimport {
|
|
1
|
+
{"version":3,"file":"NavItem.mjs","sources":["../../../../../src/components/Navigator/NavItem/NavItem.tsx"],"sourcesContent":["import React, {\n forwardRef,\n memo,\n useCallback,\n} from 'react'\n\nimport { Typography } from '~/src/foundation'\n\nimport { noop } from '~/src/utils/functionUtils'\n\nimport {\n Icon,\n IconSize,\n} from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport type NavItemProps from './NavItem.types'\n\nimport {\n Item,\n LeftIconWrapper,\n RightContentWrapper,\n Wrapper,\n} from './NavItem.styled'\n\nexport const NAV_ITEM_TEST_ID = 'bezier-react-nav-item'\nexport const NAV_ITEM_LEFT_ICON_TEST_ID = 'bezier-react-nav-item-left-icon'\n\nconst NavItem = forwardRef<HTMLAnchorElement, NavItemProps>(function NavItem({\n as,\n testId = NAV_ITEM_TEST_ID,\n name,\n style,\n className,\n interpolation,\n content,\n href,\n target = '_self',\n rightContent,\n leftIcon,\n active,\n onClick = noop,\n ...rest\n}, forwardedRef) {\n const handleClickItem = useCallback((e?: React.MouseEvent) => {\n onClick(e, name)\n }, [\n name,\n onClick,\n ])\n\n return (\n <Wrapper role=\"none\">\n <Item\n {...rest}\n ref={forwardedRef}\n as={as}\n active={active}\n style={style}\n className={className}\n interpolation={interpolation}\n onClick={handleClickItem}\n data-testid={testId}\n href={href}\n target={target}\n role=\"menuitem\"\n >\n <LeftIconWrapper>\n { leftIcon && (\n <Icon\n testId={NAV_ITEM_LEFT_ICON_TEST_ID}\n source={leftIcon}\n size={IconSize.S}\n color={active ? 'bgtxt-blue-normal' : 'txt-black-dark'}\n />\n ) }\n </LeftIconWrapper>\n\n <Text typo={Typography.Size14} truncated>\n { content }\n </Text>\n\n { rightContent && (\n <RightContentWrapper>\n { rightContent }\n </RightContentWrapper>\n ) }\n </Item>\n </Wrapper>\n )\n})\n\nexport default memo(NavItem)\n"],"names":["NAV_ITEM_TEST_ID","NAV_ITEM_LEFT_ICON_TEST_ID","NavItem","forwardRef","as","testId","name","style","className","interpolation","content","href","target","rightContent","leftIcon","active","onClick","noop","rest","forwardedRef","handleClickItem","useCallback","e","React","createElement","Wrapper","role","Item","Object","assign","ref","LeftIconWrapper","Icon","source","size","IconSize","S","color","Text","typo","Typography","Size14","truncated","RightContentWrapper","memo"],"mappings":";;;;;;;;AAyBO,MAAMA,gBAAgB,GAAG,wBAAuB;AAChD,MAAMC,0BAA0B,GAAG,kCAAiC;AAE3E,MAAMC,OAAO,gBAAGC,UAAU,CAAkC,SAASD,OAAOA,CAAC;EAC3EE,EAAE;AACFC,EAAAA,MAAM,GAAGL,gBAAgB;EACzBM,IAAI;EACJC,KAAK;EACLC,SAAS;EACTC,aAAa;EACbC,OAAO;EACPC,IAAI;AACJC,EAAAA,MAAM,GAAG,OAAO;EAChBC,YAAY;EACZC,QAAQ;EACRC,MAAM;AACNC,EAAAA,OAAO,GAAGC,IAAI;EACd,GAAGC,IAAAA;AACL,CAAC,EAAEC,YAAY,EAAE;AACf,EAAA,MAAMC,eAAe,GAAGC,WAAW,CAAEC,CAAoB,IAAK;AAC5DN,IAAAA,OAAO,CAACM,CAAC,EAAEhB,IAAI,CAAC,CAAA;AAClB,GAAC,EAAE,CACDA,IAAI,EACJU,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEO,cAAA,CAAAC,aAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,IAAI,EAAC,MAAA;GACZH,eAAAA,cAAA,CAAAC,aAAA,CAACG,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACCX,IAAI,EAAA;AACRY,IAAAA,GAAG,EAAEX,YAAa;AAClBf,IAAAA,EAAE,EAAEA,EAAG;AACPW,IAAAA,MAAM,EAAEA,MAAO;AACfR,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BO,IAAAA,OAAO,EAAEI,eAAgB;AACzB,IAAA,aAAA,EAAaf,MAAO;AACpBM,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,MAAM,EAAEA,MAAO;AACfc,IAAAA,IAAI,EAAC,UAAA;AAAU,GAAA,CAAA,eAEfH,cAAA,CAAAC,aAAA,CAACO,eAAe,EAAA,IAAA,EACZjB,QAAQ,iBACRS,cAAA,CAAAC,aAAA,CAACQ,IAAI,EAAA;AACH3B,IAAAA,MAAM,EAAEJ,0BAA2B;AACnCgC,IAAAA,MAAM,EAAEnB,QAAS;IACjBoB,IAAI,EAAEC,QAAQ,CAACC,CAAE;AACjBC,IAAAA,KAAK,EAAEtB,MAAM,GAAG,mBAAmB,GAAG,gBAAA;AAAiB,GACxD,CAEY,CAAC,eAElBQ,cAAA,CAAAC,aAAA,CAACc,IAAI,EAAA;IAACC,IAAI,EAAEC,UAAU,CAACC,MAAO;IAACC,SAAS,EAAA,IAAA;AAAA,GAAA,EACpChC,OACE,CAAC,EAELG,YAAY,iBACZU,cAAA,CAAAC,aAAA,CAACmB,mBAAmB,EAAA,IAAA,EAChB9B,YACiB,CAEnB,CACC,CAAC,CAAA;AAEd,CAAC,CAAC,CAAA;AAEF,gBAAe+B,aAAAA,IAAI,CAAC1C,OAAO,CAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React__default, { forwardRef, useState, useRef, useReducer, useCallback, useLayoutEffect, useMemo, useEffect } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import ReactDOM__default from 'react-dom';
|
|
3
3
|
import useEventHandler from '../../hooks/useEventHandler.mjs';
|
|
4
4
|
import useMergeRefs from '../../hooks/useMergeRefs.mjs';
|
|
5
5
|
import { getRootElement, document, window } from '../../utils/domUtils.mjs';
|
|
@@ -192,7 +192,7 @@ function Overlay({
|
|
|
192
192
|
if (!shouldRender) {
|
|
193
193
|
return null;
|
|
194
194
|
}
|
|
195
|
-
return /*#__PURE__*/
|
|
195
|
+
return /*#__PURE__*/ReactDOM__default.createPortal(overlay, container || getRootElement());
|
|
196
196
|
}
|
|
197
197
|
var Overlay$1 = /*#__PURE__*/forwardRef(Overlay);
|
|
198
198
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.mjs","sources":["../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import React, {\n type Ref,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport useEventHandler from '~/src/hooks/useEventHandler'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport {\n document,\n getRootElement,\n window,\n} from '~/src/utils/domUtils'\nimport { noop } from '~/src/utils/functionUtils'\n\nimport type OverlayProps from './Overlay.types'\nimport {\n type ContainerRectAttr,\n type TargetRectAttr,\n} from './Overlay.types'\nimport { OverlayPosition } from './Overlay.types'\n\nimport * as Styled from './Overlay.styled'\n\nexport const CONTAINER_TEST_ID = 'bezier-react-container'\nexport const WRAPPER_TEST_ID = 'bezier-react-wrapper'\nexport const OVERLAY_TEST_ID = 'bezier-react-overlay'\nexport const ESCAPE_KEY = 'Escape'\n\nfunction Overlay(\n {\n as,\n containerTestId = CONTAINER_TEST_ID,\n wrapperTestId = WRAPPER_TEST_ID,\n testId = OVERLAY_TEST_ID,\n show = false,\n className = '',\n style,\n containerClassName = '',\n containerStyle,\n container,\n target,\n position = OverlayPosition.LeftCenter,\n marginX = 0,\n marginY = 0,\n keepInContainer = false,\n withTransition = false,\n enableClickOutside = false,\n children,\n onHide = noop,\n onTransitionEnd = noop,\n ...rest\n }: OverlayProps,\n forwardedRef: Ref<HTMLDivElement>,\n) {\n // NOTE: DOM render 가 필요한지 여부를 결정하는 state\n const [shouldRender, setShouldRender] = useState(false)\n // NOTE: 화면에 실제 표현해야 하는지 여부를 결정하는 state\n const [shouldShow, setShouldShow] = useState(false)\n const containerRect = useRef<ContainerRectAttr | null>(null)\n const targetRect = useRef<TargetRectAttr | null>(null)\n\n const [dummy, forceUpdate] = useReducer(x => !x, true)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const overlayRef = useRef<HTMLDivElement>(null)\n const mergedRef = useMergeRefs<HTMLDivElement>(overlayRef, forwardedRef)\n\n const handleOverlayForceUpdate = useCallback(() => {\n forceUpdate()\n }, [])\n\n const handleContainerRect = useCallback(() => {\n const containerElement = container || getRootElement()\n\n const {\n width: containerWidth,\n height: containerHeight,\n top: containerTop,\n left: containerLeft,\n } = containerElement.getBoundingClientRect()\n\n containerRect.current = {\n containerWidth,\n containerHeight,\n containerTop,\n containerLeft,\n scrollTop: container ? container.scrollTop : 0,\n scrollLeft: container ? container.scrollLeft : 0,\n }\n }, [container])\n\n useLayoutEffect(function initContainerRect() {\n if (show) {\n handleContainerRect()\n }\n }, [\n show,\n handleContainerRect,\n ])\n\n const handleTargetRect = useCallback(() => {\n if (!target) {\n return\n }\n const {\n width: targetWidth,\n height: targetHeight,\n top: targetTop,\n left: targetLeft,\n } = target.getBoundingClientRect()\n const { clientTop, clientLeft } = target\n\n targetRect.current = {\n targetWidth,\n targetHeight,\n targetTop,\n targetLeft,\n clientTop,\n clientLeft,\n }\n }, [target])\n\n useLayoutEffect(function initTargetRect() {\n if (show) {\n handleTargetRect()\n }\n }, [\n show,\n handleTargetRect,\n ])\n\n const handleTransitionEnd = useCallback<React.TransitionEventHandler<HTMLDivElement>>((event) => {\n onTransitionEnd(event)\n if (!show) {\n setShouldRender(false)\n }\n }, [\n show,\n onTransitionEnd,\n ])\n\n const handleBlockMouseWheel = useCallback((event: HTMLElementEventMap['wheel']) => {\n event.stopPropagation()\n }, [])\n\n const handleHideOverlay = useCallback((event: any) => {\n if (!event.target?.closest(Styled.Overlay)) {\n onHide()\n\n if (!enableClickOutside) {\n event.stopPropagation()\n }\n }\n }, [\n enableClickOutside,\n onHide,\n ])\n\n const handleKeydown = useCallback((event: HTMLElementEventMap['keyup']) => {\n if (event.key === ESCAPE_KEY) {\n onHide()\n }\n }, [onHide])\n\n useEventHandler(document, 'click', handleHideOverlay, show, true)\n useEventHandler(document, 'keydown', handleKeydown, show)\n useEventHandler(containerRef.current, 'wheel', handleBlockMouseWheel, show)\n\n const Content = useMemo(() => (\n <Styled.Overlay\n as={as}\n ref={mergedRef}\n className={className}\n show={shouldShow}\n withTransition={withTransition}\n style={style}\n data-testid={testId}\n containerRect={containerRect.current}\n targetRect={targetRect.current}\n overlay={overlayRef.current}\n position={position}\n marginX={marginX}\n marginY={marginY}\n keepInContainer={keepInContainer}\n onTransitionEnd={handleTransitionEnd}\n {...rest}\n >\n { children }\n </Styled.Overlay>\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ), [\n as,\n children,\n className,\n containerRect,\n handleTransitionEnd,\n keepInContainer,\n marginX,\n marginY,\n mergedRef,\n position,\n shouldShow,\n style,\n targetRect,\n testId,\n withTransition,\n dummy,\n ])\n\n const overlay = useMemo(() => {\n if (container) {\n return Content\n }\n\n return (\n <Styled.DefaultContainer\n ref={containerRef}\n className={containerClassName}\n show={show}\n style={containerStyle}\n data-testid={containerTestId}\n >\n <Styled.DefaultWrapper data-testid={wrapperTestId}>\n { Content }\n </Styled.DefaultWrapper>\n </Styled.DefaultContainer>\n )\n }, [\n container,\n containerClassName,\n show,\n containerStyle,\n containerTestId,\n wrapperTestId,\n Content,\n ])\n\n useEffect(() => {\n handleOverlayForceUpdate()\n }, [\n children,\n handleOverlayForceUpdate,\n ])\n\n /**\n * Case 1: show === true\n * show -> shouldRender -> shouldShow\n * shouldRender 를 true 로 설정하고, 직후에 shouldShow 를 true 로 설정하여 transition 유발\n *\n * Case 2: show === false\n * show -> shouldShow -> (...) -> shouldRender\n * shouldShow 를 false 로 설정하고, shouldRender 는 transition 필요 여부에 따라 다르게 결정함\n * Case 2-1: withTransition === true\n * shouldShow -> onTransitionEnd -> shouldRender\n * onTransitionEnd handler 를 이용해 transition 이 끝난 다음 shouldRender 를 false 로 설정\n * Case 2-2: withTransition === false\n * shouldShow && shouldRender\n * transition 을 기다릴 필요가 없으므로 바로 shouldRender 를 false 로 설정\n */\n useEffect(() => {\n if (show) {\n if (shouldRender) {\n window.requestAnimationFrame(() => setShouldShow(true))\n } else {\n window.requestAnimationFrame(() => setShouldRender(true))\n }\n }\n\n if (!show) {\n window.requestAnimationFrame(() => setShouldShow(false))\n\n if (!withTransition) {\n window.requestAnimationFrame(() => setShouldRender(false))\n }\n }\n }, [\n show,\n withTransition,\n shouldRender,\n shouldShow,\n ])\n\n if (!shouldRender) { return null }\n\n return ReactDOM.createPortal(\n overlay,\n container || getRootElement(),\n )\n}\n\nexport default forwardRef(Overlay)\n"],"names":["CONTAINER_TEST_ID","WRAPPER_TEST_ID","OVERLAY_TEST_ID","ESCAPE_KEY","Overlay","as","containerTestId","wrapperTestId","testId","show","className","style","containerClassName","containerStyle","container","target","position","OverlayPosition","LeftCenter","marginX","marginY","keepInContainer","withTransition","enableClickOutside","children","onHide","noop","onTransitionEnd","rest","forwardedRef","shouldRender","setShouldRender","useState","shouldShow","setShouldShow","containerRect","useRef","targetRect","dummy","forceUpdate","useReducer","x","containerRef","overlayRef","mergedRef","useMergeRefs","handleOverlayForceUpdate","useCallback","handleContainerRect","containerElement","getRootElement","width","containerWidth","height","containerHeight","top","containerTop","left","containerLeft","getBoundingClientRect","current","scrollTop","scrollLeft","useLayoutEffect","initContainerRect","handleTargetRect","targetWidth","targetHeight","targetTop","targetLeft","clientTop","clientLeft","initTargetRect","handleTransitionEnd","event","handleBlockMouseWheel","stopPropagation","handleHideOverlay","closest","Styled","handleKeydown","key","useEventHandler","document","Content","useMemo","React","createElement","Object","assign","ref","overlay","useEffect","window","requestAnimationFrame","ReactDOM","createPortal","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Overlay.mjs","sources":["../../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["import React, {\n type Ref,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport useEventHandler from '~/src/hooks/useEventHandler'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport {\n document,\n getRootElement,\n window,\n} from '~/src/utils/domUtils'\nimport { noop } from '~/src/utils/functionUtils'\n\nimport type OverlayProps from './Overlay.types'\nimport {\n type ContainerRectAttr,\n type TargetRectAttr,\n} from './Overlay.types'\nimport { OverlayPosition } from './Overlay.types'\n\nimport * as Styled from './Overlay.styled'\n\nexport const CONTAINER_TEST_ID = 'bezier-react-container'\nexport const WRAPPER_TEST_ID = 'bezier-react-wrapper'\nexport const OVERLAY_TEST_ID = 'bezier-react-overlay'\nexport const ESCAPE_KEY = 'Escape'\n\nfunction Overlay(\n {\n as,\n containerTestId = CONTAINER_TEST_ID,\n wrapperTestId = WRAPPER_TEST_ID,\n testId = OVERLAY_TEST_ID,\n show = false,\n className = '',\n style,\n containerClassName = '',\n containerStyle,\n container,\n target,\n position = OverlayPosition.LeftCenter,\n marginX = 0,\n marginY = 0,\n keepInContainer = false,\n withTransition = false,\n enableClickOutside = false,\n children,\n onHide = noop,\n onTransitionEnd = noop,\n ...rest\n }: OverlayProps,\n forwardedRef: Ref<HTMLDivElement>,\n) {\n // NOTE: DOM render 가 필요한지 여부를 결정하는 state\n const [shouldRender, setShouldRender] = useState(false)\n // NOTE: 화면에 실제 표현해야 하는지 여부를 결정하는 state\n const [shouldShow, setShouldShow] = useState(false)\n const containerRect = useRef<ContainerRectAttr | null>(null)\n const targetRect = useRef<TargetRectAttr | null>(null)\n\n const [dummy, forceUpdate] = useReducer(x => !x, true)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const overlayRef = useRef<HTMLDivElement>(null)\n const mergedRef = useMergeRefs<HTMLDivElement>(overlayRef, forwardedRef)\n\n const handleOverlayForceUpdate = useCallback(() => {\n forceUpdate()\n }, [])\n\n const handleContainerRect = useCallback(() => {\n const containerElement = container || getRootElement()\n\n const {\n width: containerWidth,\n height: containerHeight,\n top: containerTop,\n left: containerLeft,\n } = containerElement.getBoundingClientRect()\n\n containerRect.current = {\n containerWidth,\n containerHeight,\n containerTop,\n containerLeft,\n scrollTop: container ? container.scrollTop : 0,\n scrollLeft: container ? container.scrollLeft : 0,\n }\n }, [container])\n\n useLayoutEffect(function initContainerRect() {\n if (show) {\n handleContainerRect()\n }\n }, [\n show,\n handleContainerRect,\n ])\n\n const handleTargetRect = useCallback(() => {\n if (!target) {\n return\n }\n const {\n width: targetWidth,\n height: targetHeight,\n top: targetTop,\n left: targetLeft,\n } = target.getBoundingClientRect()\n const { clientTop, clientLeft } = target\n\n targetRect.current = {\n targetWidth,\n targetHeight,\n targetTop,\n targetLeft,\n clientTop,\n clientLeft,\n }\n }, [target])\n\n useLayoutEffect(function initTargetRect() {\n if (show) {\n handleTargetRect()\n }\n }, [\n show,\n handleTargetRect,\n ])\n\n const handleTransitionEnd = useCallback<React.TransitionEventHandler<HTMLDivElement>>((event) => {\n onTransitionEnd(event)\n if (!show) {\n setShouldRender(false)\n }\n }, [\n show,\n onTransitionEnd,\n ])\n\n const handleBlockMouseWheel = useCallback((event: HTMLElementEventMap['wheel']) => {\n event.stopPropagation()\n }, [])\n\n const handleHideOverlay = useCallback((event: any) => {\n if (!event.target?.closest(Styled.Overlay)) {\n onHide()\n\n if (!enableClickOutside) {\n event.stopPropagation()\n }\n }\n }, [\n enableClickOutside,\n onHide,\n ])\n\n const handleKeydown = useCallback((event: HTMLElementEventMap['keyup']) => {\n if (event.key === ESCAPE_KEY) {\n onHide()\n }\n }, [onHide])\n\n useEventHandler(document, 'click', handleHideOverlay, show, true)\n useEventHandler(document, 'keydown', handleKeydown, show)\n useEventHandler(containerRef.current, 'wheel', handleBlockMouseWheel, show)\n\n const Content = useMemo(() => (\n <Styled.Overlay\n as={as}\n ref={mergedRef}\n className={className}\n show={shouldShow}\n withTransition={withTransition}\n style={style}\n data-testid={testId}\n containerRect={containerRect.current}\n targetRect={targetRect.current}\n overlay={overlayRef.current}\n position={position}\n marginX={marginX}\n marginY={marginY}\n keepInContainer={keepInContainer}\n onTransitionEnd={handleTransitionEnd}\n {...rest}\n >\n { children }\n </Styled.Overlay>\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ), [\n as,\n children,\n className,\n containerRect,\n handleTransitionEnd,\n keepInContainer,\n marginX,\n marginY,\n mergedRef,\n position,\n shouldShow,\n style,\n targetRect,\n testId,\n withTransition,\n dummy,\n ])\n\n const overlay = useMemo(() => {\n if (container) {\n return Content\n }\n\n return (\n <Styled.DefaultContainer\n ref={containerRef}\n className={containerClassName}\n show={show}\n style={containerStyle}\n data-testid={containerTestId}\n >\n <Styled.DefaultWrapper data-testid={wrapperTestId}>\n { Content }\n </Styled.DefaultWrapper>\n </Styled.DefaultContainer>\n )\n }, [\n container,\n containerClassName,\n show,\n containerStyle,\n containerTestId,\n wrapperTestId,\n Content,\n ])\n\n useEffect(() => {\n handleOverlayForceUpdate()\n }, [\n children,\n handleOverlayForceUpdate,\n ])\n\n /**\n * Case 1: show === true\n * show -> shouldRender -> shouldShow\n * shouldRender 를 true 로 설정하고, 직후에 shouldShow 를 true 로 설정하여 transition 유발\n *\n * Case 2: show === false\n * show -> shouldShow -> (...) -> shouldRender\n * shouldShow 를 false 로 설정하고, shouldRender 는 transition 필요 여부에 따라 다르게 결정함\n * Case 2-1: withTransition === true\n * shouldShow -> onTransitionEnd -> shouldRender\n * onTransitionEnd handler 를 이용해 transition 이 끝난 다음 shouldRender 를 false 로 설정\n * Case 2-2: withTransition === false\n * shouldShow && shouldRender\n * transition 을 기다릴 필요가 없으므로 바로 shouldRender 를 false 로 설정\n */\n useEffect(() => {\n if (show) {\n if (shouldRender) {\n window.requestAnimationFrame(() => setShouldShow(true))\n } else {\n window.requestAnimationFrame(() => setShouldRender(true))\n }\n }\n\n if (!show) {\n window.requestAnimationFrame(() => setShouldShow(false))\n\n if (!withTransition) {\n window.requestAnimationFrame(() => setShouldRender(false))\n }\n }\n }, [\n show,\n withTransition,\n shouldRender,\n shouldShow,\n ])\n\n if (!shouldRender) { return null }\n\n return ReactDOM.createPortal(\n overlay,\n container || getRootElement(),\n )\n}\n\nexport default forwardRef(Overlay)\n"],"names":["CONTAINER_TEST_ID","WRAPPER_TEST_ID","OVERLAY_TEST_ID","ESCAPE_KEY","Overlay","as","containerTestId","wrapperTestId","testId","show","className","style","containerClassName","containerStyle","container","target","position","OverlayPosition","LeftCenter","marginX","marginY","keepInContainer","withTransition","enableClickOutside","children","onHide","noop","onTransitionEnd","rest","forwardedRef","shouldRender","setShouldRender","useState","shouldShow","setShouldShow","containerRect","useRef","targetRect","dummy","forceUpdate","useReducer","x","containerRef","overlayRef","mergedRef","useMergeRefs","handleOverlayForceUpdate","useCallback","handleContainerRect","containerElement","getRootElement","width","containerWidth","height","containerHeight","top","containerTop","left","containerLeft","getBoundingClientRect","current","scrollTop","scrollLeft","useLayoutEffect","initContainerRect","handleTargetRect","targetWidth","targetHeight","targetTop","targetLeft","clientTop","clientLeft","initTargetRect","handleTransitionEnd","event","handleBlockMouseWheel","stopPropagation","handleHideOverlay","closest","Styled","handleKeydown","key","useEventHandler","document","Content","useMemo","React","createElement","Object","assign","ref","overlay","useEffect","window","requestAnimationFrame","ReactDOM","createPortal","forwardRef"],"mappings":"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"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import React__default, { useMemo, useCallback } from 'react';
|
|
1
|
+
import React__default, { forwardRef, useMemo, useCallback } from 'react';
|
|
2
2
|
import classNames from '../../node_modules/classnames/index.mjs';
|
|
3
3
|
import { isString, isNumber, isNil, isEmpty, isArray } from '../../utils/typeUtils.mjs';
|
|
4
4
|
import { Button } from '../Button/Button.mjs';
|
|
5
5
|
import { ButtonSize, ButtonStyleVariant, ButtonColorVariant } from '../Button/Button.types.mjs';
|
|
6
|
-
import Tooltip from '../Tooltip/Tooltip.mjs';
|
|
7
6
|
import Styled from './SectionLabel.styled.mjs';
|
|
8
7
|
import { IconSize } from '../Icon/Icon.types.mjs';
|
|
9
8
|
import v4 from '../../node_modules/uuid/dist/esm-browser/v4.mjs';
|
|
10
|
-
import
|
|
9
|
+
import Help from '../Help/Help.mjs';
|
|
11
10
|
import Divider from '../Divider/Divider.mjs';
|
|
11
|
+
import LegacyIcon from '../LegacyIcon/LegacyIcon.mjs';
|
|
12
12
|
import { Typography } from '../../foundation/Typography.mjs';
|
|
13
13
|
|
|
14
14
|
const SECTION_LABEL_TEST_ID = 'bezier-react-section-label';
|
|
15
15
|
const SECTION_LABEL_TEST_CONTENT_ID = 'bezier-react-section-label-content';
|
|
16
16
|
const SECTION_LABEL_TEST_LEFT_CONTENT_ID = 'bezier-react-section-label-left-content';
|
|
17
17
|
const SECTION_LABEL_TEST_RIGHT_CONTENT_ID = 'bezier-react-section-label-right-content';
|
|
18
|
-
const SECTION_LABEL_TEST_HELP_CONTENT_ID = 'bezier-react-section-label-help-content';
|
|
19
18
|
function clickableClassName(onClick) {
|
|
20
19
|
return !isNil(onClick) ? 'clickable' : undefined;
|
|
21
20
|
}
|
|
@@ -54,7 +53,7 @@ function renderSectionLabelActionItem(props, key) {
|
|
|
54
53
|
onClick: onClick
|
|
55
54
|
});
|
|
56
55
|
}
|
|
57
|
-
function SectionLabel({
|
|
56
|
+
const SectionLabel = /*#__PURE__*/forwardRef(function SectionLabel({
|
|
58
57
|
content: givenContent,
|
|
59
58
|
open = true,
|
|
60
59
|
divider = false,
|
|
@@ -72,7 +71,7 @@ function SectionLabel({
|
|
|
72
71
|
rightWrapperClassName,
|
|
73
72
|
rightWrapperInterpolation,
|
|
74
73
|
...props
|
|
75
|
-
}) {
|
|
74
|
+
}, forwardedRef) {
|
|
76
75
|
const content = useMemo(() => /*#__PURE__*/React__default.createElement(Styled.ContentWrapper, {
|
|
77
76
|
className: contentWrapperClassName,
|
|
78
77
|
interpolation: contentWrapperInterpolation,
|
|
@@ -111,28 +110,23 @@ function SectionLabel({
|
|
|
111
110
|
"data-testid": SECTION_LABEL_TEST_RIGHT_CONTENT_ID
|
|
112
111
|
}, items);
|
|
113
112
|
}, [rightContent, rightWrapperClassName, rightWrapperInterpolation]);
|
|
114
|
-
const helpContent = useMemo(() => !isNil(help) && /*#__PURE__*/React__default.createElement(
|
|
115
|
-
content: help.tooltipContent,
|
|
113
|
+
const helpContent = useMemo(() => !isNil(help) && /*#__PURE__*/React__default.createElement(Styled.HelpContainer, null, /*#__PURE__*/React__default.createElement(Help, {
|
|
116
114
|
allowHover: true
|
|
117
|
-
},
|
|
118
|
-
"data-testid": SECTION_LABEL_TEST_HELP_CONTENT_ID
|
|
119
|
-
}, /*#__PURE__*/React__default.createElement(LegacyIcon, {
|
|
120
|
-
name: help.icon ?? 'help-filled',
|
|
121
|
-
size: IconSize.XS,
|
|
122
|
-
color: help.iconColor ?? 'txt-black-dark'
|
|
123
|
-
}))), [help]);
|
|
115
|
+
}, help)), [help]);
|
|
124
116
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
125
117
|
"data-testid": SECTION_LABEL_TEST_ID
|
|
126
118
|
}, divider && /*#__PURE__*/React__default.createElement(Divider, {
|
|
127
119
|
orientation: "horizontal"
|
|
128
120
|
}), /*#__PURE__*/React__default.createElement(Styled.Wrapper, Object.assign({
|
|
121
|
+
ref: forwardedRef,
|
|
129
122
|
className: classNames(wrapperClassName, clickableClassName(onClick)),
|
|
130
123
|
onClick: onClick,
|
|
131
124
|
interpolation: wrapperInterpolation
|
|
132
125
|
}, props), leftComponent, content, helpContent, rightComponent), children && /*#__PURE__*/React__default.createElement(Styled.ChildrenWrapper, {
|
|
133
126
|
show: open
|
|
134
127
|
}, children));
|
|
135
|
-
}
|
|
128
|
+
});
|
|
129
|
+
var SectionLabel$1 = SectionLabel;
|
|
136
130
|
|
|
137
|
-
export { SECTION_LABEL_TEST_CONTENT_ID,
|
|
131
|
+
export { SECTION_LABEL_TEST_CONTENT_ID, SECTION_LABEL_TEST_ID, SECTION_LABEL_TEST_LEFT_CONTENT_ID, SECTION_LABEL_TEST_RIGHT_CONTENT_ID, SectionLabel$1 as default };
|
|
138
132
|
//# sourceMappingURL=SectionLabel.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionLabel.mjs","sources":["../../../../src/components/SectionLabel/SectionLabel.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n} from 'react'\n\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport { Typography } from '~/src/foundation'\n\nimport {\n isArray,\n isEmpty,\n isNil,\n isNumber,\n isString,\n} from '~/src/utils/typeUtils'\n\nimport {\n Button,\n ButtonColorVariant,\n ButtonSize,\n ButtonStyleVariant,\n} from '~/src/components/Button'\nimport { Divider } from '~/src/components/Divider'\nimport { IconSize } from '~/src/components/Icon'\nimport { LegacyIcon } from '~/src/components/LegacyIcon'\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport { type SectionLabelItemProps } from './SectionLabel.types'\nimport type SectionLabelProps from './SectionLabel.types'\n\nimport Styled from './SectionLabel.styled'\n\nexport const SECTION_LABEL_TEST_ID = 'bezier-react-section-label'\nexport const SECTION_LABEL_TEST_CONTENT_ID = 'bezier-react-section-label-content'\nexport const SECTION_LABEL_TEST_LEFT_CONTENT_ID = 'bezier-react-section-label-left-content'\nexport const SECTION_LABEL_TEST_RIGHT_CONTENT_ID = 'bezier-react-section-label-right-content'\nexport const SECTION_LABEL_TEST_HELP_CONTENT_ID = 'bezier-react-section-label-help-content'\n\nfunction clickableClassName(onClick?: React.MouseEventHandler) {\n return !isNil(onClick) ? 'clickable' : undefined\n}\n\nfunction renderSectionLabelActionItem(props: SectionLabelItemProps, key?: string): React.ReactElement {\n if (!('icon' in props)) {\n return React.cloneElement(props, { key })\n }\n\n const { icon, iconColor, onClick } = props\n\n if (!isNil(iconColor)) {\n /*\n * NOTE: backward compatibility를 위해 iconColor attribute를 지원하지만,\n * iconColor를 사용할 경우 ButtonColorVariant와 일치하지 않기 때문에 Icon을 사용합니다.\n */\n return (\n <Styled.RightItemWrapper\n key={key}\n className={clickableClassName(onClick)}\n onClick={onClick}\n >\n <LegacyIcon\n name={icon}\n size={IconSize.XS}\n color={iconColor}\n />\n </Styled.RightItemWrapper>\n )\n }\n\n return (\n <Button\n key={key}\n size={ButtonSize.XS}\n styleVariant={ButtonStyleVariant.Tertiary}\n colorVariant={ButtonColorVariant.Monochrome}\n leftContent={icon}\n onClick={onClick}\n />\n )\n}\n\nfunction SectionLabel({\n content: givenContent,\n open = true,\n divider = false,\n help,\n leftContent,\n rightContent,\n onClick,\n children,\n wrapperClassName,\n wrapperInterpolation,\n contentWrapperClassName,\n contentWrapperInterpolation,\n leftWrapperClassName,\n leftWrapperInterpolation,\n rightWrapperClassName,\n rightWrapperInterpolation,\n ...props\n}: SectionLabelProps) {\n const content = useMemo(() => (\n <Styled.ContentWrapper\n className={contentWrapperClassName}\n interpolation={contentWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_CONTENT_ID}\n >\n { isString(givenContent) || isNumber(givenContent)\n ? (\n <Styled.ContentText bold typo={Typography.Size13}>\n { givenContent }\n </Styled.ContentText>\n ) : givenContent }\n </Styled.ContentWrapper>\n ), [\n givenContent,\n contentWrapperClassName,\n contentWrapperInterpolation,\n ])\n\n const renderLeftItem = useCallback((item: SectionLabelItemProps) => (\n 'icon' in item\n ? (\n <Styled.LeftIcon\n className={clickableClassName(item.onClick)}\n name={item.icon}\n size={IconSize.S}\n color={item.iconColor ?? 'txt-black-dark'}\n onClick={item.onClick}\n />\n ) : item\n ), [])\n\n const leftComponent = useMemo(() => {\n if (isNil(leftContent)) {\n return null\n }\n\n const item = renderLeftItem(leftContent)\n const show = !isNil(item)\n\n return show && (\n <Styled.LeftContentWrapper\n className={leftWrapperClassName}\n interpolation={leftWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_LEFT_CONTENT_ID}\n >\n { item }\n </Styled.LeftContentWrapper>\n )\n }, [\n leftContent,\n leftWrapperClassName,\n leftWrapperInterpolation,\n renderLeftItem,\n ])\n\n const rightComponent = useMemo(() => {\n if (isNil(rightContent) || isEmpty(rightContent)) {\n return null\n }\n\n const items = isArray(rightContent)\n ? rightContent.map((item) => renderSectionLabelActionItem(item, uuid()))\n : renderSectionLabelActionItem(rightContent)\n\n return (\n <Styled.RightContentWrapper\n className={rightWrapperClassName}\n interpolation={rightWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_RIGHT_CONTENT_ID}\n >\n { items }\n </Styled.RightContentWrapper>\n )\n }, [\n rightContent,\n rightWrapperClassName,\n rightWrapperInterpolation,\n ])\n\n const helpContent = useMemo(() => !isNil(help) && (\n <Tooltip\n content={help.tooltipContent}\n allowHover\n >\n <Styled.HelpIconWrapper data-testid={SECTION_LABEL_TEST_HELP_CONTENT_ID}>\n <LegacyIcon\n name={help.icon ?? 'help-filled'}\n size={IconSize.XS}\n color={help.iconColor ?? 'txt-black-dark'}\n />\n </Styled.HelpIconWrapper>\n </Tooltip>\n ), [help])\n\n return (\n <div data-testid={SECTION_LABEL_TEST_ID}>\n { divider && <Divider orientation=\"horizontal\" /> }\n <Styled.Wrapper\n className={classNames(\n wrapperClassName,\n clickableClassName(onClick),\n )}\n onClick={onClick}\n interpolation={wrapperInterpolation}\n {...props}\n >\n { leftComponent }\n { content }\n { helpContent }\n { rightComponent }\n </Styled.Wrapper>\n { children && (\n <Styled.ChildrenWrapper show={open}>\n { children }\n </Styled.ChildrenWrapper>\n ) }\n </div>\n )\n}\n\nexport default SectionLabel\n"],"names":["SECTION_LABEL_TEST_ID","SECTION_LABEL_TEST_CONTENT_ID","SECTION_LABEL_TEST_LEFT_CONTENT_ID","SECTION_LABEL_TEST_RIGHT_CONTENT_ID","SECTION_LABEL_TEST_HELP_CONTENT_ID","clickableClassName","onClick","isNil","undefined","renderSectionLabelActionItem","props","key","React","cloneElement","icon","iconColor","createElement","Styled","RightItemWrapper","className","LegacyIcon","name","size","IconSize","XS","color","Button","ButtonSize","styleVariant","ButtonStyleVariant","Tertiary","colorVariant","ButtonColorVariant","Monochrome","leftContent","SectionLabel","content","givenContent","open","divider","help","rightContent","children","wrapperClassName","wrapperInterpolation","contentWrapperClassName","contentWrapperInterpolation","leftWrapperClassName","leftWrapperInterpolation","rightWrapperClassName","rightWrapperInterpolation","useMemo","ContentWrapper","interpolation","isString","isNumber","ContentText","bold","typo","Typography","Size13","renderLeftItem","useCallback","item","LeftIcon","S","leftComponent","show","LeftContentWrapper","rightComponent","isEmpty","items","isArray","map","uuid","RightContentWrapper","helpContent","Tooltip","tooltipContent","allowHover","HelpIconWrapper","Divider","orientation","Wrapper","Object","assign","classNames","ChildrenWrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SectionLabel.mjs","sources":["../../../../src/components/SectionLabel/SectionLabel.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n} from 'react'\n\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport { Typography } from '~/src/foundation'\n\nimport {\n isArray,\n isEmpty,\n isNil,\n isNumber,\n isString,\n} from '~/src/utils/typeUtils'\n\nimport {\n Button,\n ButtonColorVariant,\n ButtonSize,\n ButtonStyleVariant,\n} from '~/src/components/Button'\nimport { Divider } from '~/src/components/Divider'\nimport { Help } from '~/src/components/Help'\nimport { IconSize } from '~/src/components/Icon'\nimport { LegacyIcon } from '~/src/components/LegacyIcon'\n\nimport { type SectionLabelItemProps } from './SectionLabel.types'\nimport type SectionLabelProps from './SectionLabel.types'\n\nimport Styled from './SectionLabel.styled'\n\nexport const SECTION_LABEL_TEST_ID = 'bezier-react-section-label'\nexport const SECTION_LABEL_TEST_CONTENT_ID = 'bezier-react-section-label-content'\nexport const SECTION_LABEL_TEST_LEFT_CONTENT_ID = 'bezier-react-section-label-left-content'\nexport const SECTION_LABEL_TEST_RIGHT_CONTENT_ID = 'bezier-react-section-label-right-content'\n\nfunction clickableClassName(onClick?: React.MouseEventHandler) {\n return !isNil(onClick) ? 'clickable' : undefined\n}\n\nfunction renderSectionLabelActionItem(props: SectionLabelItemProps, key?: string): React.ReactElement {\n if (!('icon' in props)) {\n return React.cloneElement(props, { key })\n }\n\n const { icon, iconColor, onClick } = props\n\n if (!isNil(iconColor)) {\n /*\n * NOTE: backward compatibility를 위해 iconColor attribute를 지원하지만,\n * iconColor를 사용할 경우 ButtonColorVariant와 일치하지 않기 때문에 Icon을 사용합니다.\n */\n return (\n <Styled.RightItemWrapper\n key={key}\n className={clickableClassName(onClick)}\n onClick={onClick}\n >\n <LegacyIcon\n name={icon}\n size={IconSize.XS}\n color={iconColor}\n />\n </Styled.RightItemWrapper>\n )\n }\n\n return (\n <Button\n key={key}\n size={ButtonSize.XS}\n styleVariant={ButtonStyleVariant.Tertiary}\n colorVariant={ButtonColorVariant.Monochrome}\n leftContent={icon}\n onClick={onClick}\n />\n )\n}\n\nconst SectionLabel = forwardRef<HTMLDivElement, SectionLabelProps>(function SectionLabel({\n content: givenContent,\n open = true,\n divider = false,\n help,\n leftContent,\n rightContent,\n onClick,\n children,\n wrapperClassName,\n wrapperInterpolation,\n contentWrapperClassName,\n contentWrapperInterpolation,\n leftWrapperClassName,\n leftWrapperInterpolation,\n rightWrapperClassName,\n rightWrapperInterpolation,\n ...props\n}, forwardedRef) {\n const content = useMemo(() => (\n <Styled.ContentWrapper\n className={contentWrapperClassName}\n interpolation={contentWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_CONTENT_ID}\n >\n { isString(givenContent) || isNumber(givenContent)\n ? (\n <Styled.ContentText bold typo={Typography.Size13}>\n { givenContent }\n </Styled.ContentText>\n ) : givenContent }\n </Styled.ContentWrapper>\n ), [\n givenContent,\n contentWrapperClassName,\n contentWrapperInterpolation,\n ])\n\n const renderLeftItem = useCallback((item: SectionLabelItemProps) => (\n 'icon' in item\n ? (\n <Styled.LeftIcon\n className={clickableClassName(item.onClick)}\n name={item.icon}\n size={IconSize.S}\n color={item.iconColor ?? 'txt-black-dark'}\n onClick={item.onClick}\n />\n ) : item\n ), [])\n\n const leftComponent = useMemo(() => {\n if (isNil(leftContent)) {\n return null\n }\n\n const item = renderLeftItem(leftContent)\n const show = !isNil(item)\n\n return show && (\n <Styled.LeftContentWrapper\n className={leftWrapperClassName}\n interpolation={leftWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_LEFT_CONTENT_ID}\n >\n { item }\n </Styled.LeftContentWrapper>\n )\n }, [\n leftContent,\n leftWrapperClassName,\n leftWrapperInterpolation,\n renderLeftItem,\n ])\n\n const rightComponent = useMemo(() => {\n if (isNil(rightContent) || isEmpty(rightContent)) {\n return null\n }\n\n const items = isArray(rightContent)\n ? rightContent.map((item) => renderSectionLabelActionItem(item, uuid()))\n : renderSectionLabelActionItem(rightContent)\n\n return (\n <Styled.RightContentWrapper\n className={rightWrapperClassName}\n interpolation={rightWrapperInterpolation}\n data-testid={SECTION_LABEL_TEST_RIGHT_CONTENT_ID}\n >\n { items }\n </Styled.RightContentWrapper>\n )\n }, [\n rightContent,\n rightWrapperClassName,\n rightWrapperInterpolation,\n ])\n\n const helpContent = useMemo(() => !isNil(help) && (\n <Styled.HelpContainer>\n <Help allowHover>\n { help }\n </Help>\n </Styled.HelpContainer>\n ), [help])\n\n return (\n <div data-testid={SECTION_LABEL_TEST_ID}>\n { divider && <Divider orientation=\"horizontal\" /> }\n <Styled.Wrapper\n ref={forwardedRef}\n className={classNames(\n wrapperClassName,\n clickableClassName(onClick),\n )}\n onClick={onClick}\n interpolation={wrapperInterpolation}\n {...props}\n >\n { leftComponent }\n { content }\n { helpContent }\n { rightComponent }\n </Styled.Wrapper>\n { children && (\n <Styled.ChildrenWrapper show={open}>\n { children }\n </Styled.ChildrenWrapper>\n ) }\n </div>\n )\n})\n\nexport default SectionLabel\n"],"names":["SECTION_LABEL_TEST_ID","SECTION_LABEL_TEST_CONTENT_ID","SECTION_LABEL_TEST_LEFT_CONTENT_ID","SECTION_LABEL_TEST_RIGHT_CONTENT_ID","clickableClassName","onClick","isNil","undefined","renderSectionLabelActionItem","props","key","React","cloneElement","icon","iconColor","createElement","Styled","RightItemWrapper","className","LegacyIcon","name","size","IconSize","XS","color","Button","ButtonSize","styleVariant","ButtonStyleVariant","Tertiary","colorVariant","ButtonColorVariant","Monochrome","leftContent","SectionLabel","forwardRef","content","givenContent","open","divider","help","rightContent","children","wrapperClassName","wrapperInterpolation","contentWrapperClassName","contentWrapperInterpolation","leftWrapperClassName","leftWrapperInterpolation","rightWrapperClassName","rightWrapperInterpolation","forwardedRef","useMemo","ContentWrapper","interpolation","isString","isNumber","ContentText","bold","typo","Typography","Size13","renderLeftItem","useCallback","item","LeftIcon","S","leftComponent","show","LeftContentWrapper","rightComponent","isEmpty","items","isArray","map","uuid","RightContentWrapper","helpContent","HelpContainer","Help","allowHover","Divider","orientation","Wrapper","Object","assign","ref","classNames","ChildrenWrapper"],"mappings":"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"}
|
|
@@ -29,10 +29,10 @@ const ContentWrapper = /*#__PURE__*/FoundationStyled.div.withConfig({
|
|
|
29
29
|
})(["display:flex;align-items:center;padding-left:6px;overflow:hidden;", ""], ({
|
|
30
30
|
interpolation
|
|
31
31
|
}) => interpolation);
|
|
32
|
-
const
|
|
33
|
-
displayName: "
|
|
32
|
+
const HelpContainer = /*#__PURE__*/FoundationStyled.div.withConfig({
|
|
33
|
+
displayName: "SectionLabelstyled__HelpContainer",
|
|
34
34
|
componentId: "sc-14g33s5-4"
|
|
35
|
-
})(["
|
|
35
|
+
})(["margin-left:8px;"]);
|
|
36
36
|
const RightContentWrapper = /*#__PURE__*/FoundationStyled.div.withConfig({
|
|
37
37
|
displayName: "SectionLabelstyled__RightContentWrapper",
|
|
38
38
|
componentId: "sc-14g33s5-5"
|
|
@@ -60,7 +60,7 @@ var Styled = {
|
|
|
60
60
|
LeftContentWrapper,
|
|
61
61
|
ContentText,
|
|
62
62
|
ContentWrapper,
|
|
63
|
-
|
|
63
|
+
HelpContainer,
|
|
64
64
|
RightContentWrapper,
|
|
65
65
|
RightItemWrapper,
|
|
66
66
|
ChildrenWrapper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionLabel.styled.mjs","sources":["../../../../src/components/SectionLabel/SectionLabel.styled.ts"],"sourcesContent":["import {\n css,\n styled,\n} from '~/src/foundation'\n\nimport { type InterpolationProps } from '~/src/types/Foundation'\n\nimport { LegacyIcon } from '~/src/components/LegacyIcon'\nimport { Text } from '~/src/components/Text'\n\nconst clickableElementStyle = css`\n &.clickable {\n cursor: pointer;\n }\n`\n\nconst LeftIcon = styled(LegacyIcon)`\n ${clickableElementStyle}\n`\n\nconst LeftContentWrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n padding-left: 6px;\n\n ${({ interpolation }) => interpolation}\n`\n\nconst ContentText = styled(Text)`\n overflow: hidden;\n color: ${({ foundation }) => foundation?.theme?.['txt-black-dark']};\n text-overflow: ellipsis;\n white-space: nowrap;\n`\n\nconst ContentWrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n padding-left: 6px;\n overflow: hidden;\n\n ${({ interpolation }) => interpolation}\n`\n\nconst
|
|
1
|
+
{"version":3,"file":"SectionLabel.styled.mjs","sources":["../../../../src/components/SectionLabel/SectionLabel.styled.ts"],"sourcesContent":["import {\n css,\n styled,\n} from '~/src/foundation'\n\nimport { type InterpolationProps } from '~/src/types/Foundation'\n\nimport { LegacyIcon } from '~/src/components/LegacyIcon'\nimport { Text } from '~/src/components/Text'\n\nconst clickableElementStyle = css`\n &.clickable {\n cursor: pointer;\n }\n`\n\nconst LeftIcon = styled(LegacyIcon)`\n ${clickableElementStyle}\n`\n\nconst LeftContentWrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n padding-left: 6px;\n\n ${({ interpolation }) => interpolation}\n`\n\nconst ContentText = styled(Text)`\n overflow: hidden;\n color: ${({ foundation }) => foundation?.theme?.['txt-black-dark']};\n text-overflow: ellipsis;\n white-space: nowrap;\n`\n\nconst ContentWrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n padding-left: 6px;\n overflow: hidden;\n\n ${({ interpolation }) => interpolation}\n`\n\nconst HelpContainer = styled.div`\n margin-left: 8px;\n`\n\nconst RightContentWrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n padding-left: 6px;\n margin: 0 6px 0 auto;\n\n ${({ interpolation }) => interpolation}\n`\n\nconst RightItemWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n\n ${clickableElementStyle}\n`\n\nconst ChildrenWrapper = styled.div<{ show: boolean }>`\n display: ${({ show }) => (show ? 'unset' : 'none')};\n`\n\nconst Wrapper = styled.div<InterpolationProps>`\n display: flex;\n align-items: center;\n height: 28px;\n\n ${clickableElementStyle}\n\n ${({ interpolation }) => interpolation}\n`\n\nexport default {\n LeftIcon,\n LeftContentWrapper,\n ContentText,\n ContentWrapper,\n HelpContainer,\n RightContentWrapper,\n RightItemWrapper,\n ChildrenWrapper,\n Wrapper,\n}\n"],"names":["clickableElementStyle","css","LeftIcon","styled","LegacyIcon","withConfig","displayName","componentId","LeftContentWrapper","div","interpolation","ContentText","Text","foundation","theme","ContentWrapper","HelpContainer","RightContentWrapper","RightItemWrapper","ChildrenWrapper","show","Wrapper"],"mappings":"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"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
1
|
+
import React__default, { forwardRef } from 'react';
|
|
2
2
|
import { SpinnerSize } from './Spinner.types.mjs';
|
|
3
3
|
import { SpinIcon } from './Spinner.styled.mjs';
|
|
4
4
|
|
|
5
5
|
const SPINNER_TEST_ID = 'bezier-react-spinner';
|
|
6
|
-
function Spinner({
|
|
6
|
+
const Spinner = /*#__PURE__*/forwardRef(function Spinner({
|
|
7
7
|
testId = SPINNER_TEST_ID,
|
|
8
8
|
style,
|
|
9
9
|
className,
|
|
10
10
|
interpolation,
|
|
11
11
|
size = SpinnerSize.M,
|
|
12
|
-
color
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
color,
|
|
13
|
+
...rest
|
|
14
|
+
}, forwardedRef) {
|
|
15
|
+
return /*#__PURE__*/React__default.createElement(SpinIcon, Object.assign({}, rest, {
|
|
16
|
+
ref: forwardedRef,
|
|
15
17
|
style: style,
|
|
16
18
|
className: className,
|
|
17
19
|
interpolation: interpolation,
|
|
@@ -19,8 +21,9 @@ function Spinner({
|
|
|
19
21
|
size: size,
|
|
20
22
|
color: color,
|
|
21
23
|
"data-testid": testId
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
+
}));
|
|
25
|
+
});
|
|
26
|
+
var Spinner$1 = Spinner;
|
|
24
27
|
|
|
25
|
-
export { SPINNER_TEST_ID, Spinner as default };
|
|
28
|
+
export { SPINNER_TEST_ID, Spinner$1 as default };
|
|
26
29
|
//# sourceMappingURL=Spinner.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.mjs","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import React from 'react'\n\nimport type SpinnerProps from './Spinner.types'\nimport { SpinnerSize } from './Spinner.types'\n\nimport { SpinIcon } from './Spinner.styled'\n\nexport const SPINNER_TEST_ID = 'bezier-react-spinner'\n\
|
|
1
|
+
{"version":3,"file":"Spinner.mjs","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport type SpinnerProps from './Spinner.types'\nimport { SpinnerSize } from './Spinner.types'\n\nimport { SpinIcon } from './Spinner.styled'\n\nexport const SPINNER_TEST_ID = 'bezier-react-spinner'\n\nconst Spinner = forwardRef<HTMLDivElement, SpinnerProps>(function Spinner({\n testId = SPINNER_TEST_ID,\n style,\n className,\n interpolation,\n size = SpinnerSize.M,\n color,\n ...rest\n}, forwardedRef) {\n return (\n <SpinIcon\n {...rest}\n ref={forwardedRef}\n style={style}\n className={className}\n interpolation={interpolation}\n key=\"spinner\"\n size={size}\n color={color}\n data-testid={testId}\n />\n )\n})\n\nexport default Spinner\n"],"names":["SPINNER_TEST_ID","Spinner","forwardRef","testId","style","className","interpolation","size","SpinnerSize","M","color","rest","forwardedRef","React","createElement","SpinIcon","Object","assign","ref","key"],"mappings":";;;;AAOO,MAAMA,eAAe,GAAG,uBAAsB;AAErD,MAAMC,OAAO,gBAAGC,UAAU,CAA+B,SAASD,OAAOA,CAAC;AACxEE,EAAAA,MAAM,GAAGH,eAAe;EACxBI,KAAK;EACLC,SAAS;EACTC,aAAa;EACbC,IAAI,GAAGC,WAAW,CAACC,CAAC;EACpBC,KAAK;EACL,GAAGC,IAAAA;AACL,CAAC,EAAEC,YAAY,EAAE;EACf,oBACEC,cAAA,CAAAC,aAAA,CAACC,QAAQ,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACHN,IAAI,EAAA;AACRO,IAAAA,GAAG,EAAEN,YAAa;AAClBR,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,aAAa,EAAEA,aAAc;AAC7Ba,IAAAA,GAAG,EAAC,SAAS;AACbZ,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,KAAK,EAAEA,KAAM;IACb,aAAaP,EAAAA,MAAAA;AAAO,GAAA,CACrB,CAAC,CAAA;AAEN,CAAC,CAAC,CAAA;AAEF,gBAAeF,OAAO;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SpinnerThickness, SpinnerSize } from './Spinner.types.mjs';
|
|
2
|
-
import { styled as FoundationStyled, css as FoundationCSS } from '../../foundation/FoundationStyledComponent.mjs';
|
|
3
2
|
import { keyframes } from 'styled-components';
|
|
3
|
+
import { styled as FoundationStyled, css as FoundationCSS } from '../../foundation/FoundationStyledComponent.mjs';
|
|
4
4
|
|
|
5
5
|
function getThicknessFromSize(size) {
|
|
6
6
|
switch (size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.types.mjs","sources":["../../../../src/components/Spinner/Spinner.types.ts"],"sourcesContent":["import {\n type BezierComponentProps,\n type ColorProps,\n type SizeProps,\n} from '~/src/types/ComponentProps'\n\nexport enum SpinnerSize {\n XL = 50,\n L = 24,\n M = 20,\n S = 16,\n XS = 12,\n}\n\nexport enum SpinnerThickness {\n Bold = 4,\n Normal = 3,\n Light = 2,\n}\n\nexport default interface SpinnerProps extends\n BezierComponentProps,\n SizeProps<SpinnerSize>,\n ColorProps {}\n\nexport interface StyledSpinnerProps extends SpinnerProps {\n size: NonNullable<SpinnerProps['size']>\n}\n"],"names":["SpinnerSize","SpinnerThickness"],"mappings":"AAMYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAQXC,IAAAA,gBAAgB,0BAAhBA,gBAAgB,EAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA,CAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA,CAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAhBA,gBAAgB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"Spinner.types.mjs","sources":["../../../../src/components/Spinner/Spinner.types.ts"],"sourcesContent":["import {\n type BezierComponentProps,\n type ColorProps,\n type SizeProps,\n} from '~/src/types/ComponentProps'\n\nexport enum SpinnerSize {\n XL = 50,\n L = 24,\n M = 20,\n S = 16,\n XS = 12,\n}\n\nexport enum SpinnerThickness {\n Bold = 4,\n Normal = 3,\n Light = 2,\n}\n\nexport default interface SpinnerProps extends\n BezierComponentProps,\n SizeProps<SpinnerSize>,\n ColorProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'color'> {}\n\nexport interface StyledSpinnerProps extends SpinnerProps {\n size: NonNullable<SpinnerProps['size']>\n}\n"],"names":["SpinnerSize","SpinnerThickness"],"mappings":"AAMYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAA,CAAA;AAAXA,EAAAA,WAAW,CAAXA,WAAW,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAQXC,IAAAA,gBAAgB,0BAAhBA,gBAAgB,EAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAA,CAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAA,CAAA;AAAhBA,EAAAA,gBAAgB,CAAhBA,gBAAgB,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAhBA,gBAAgB,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { flex } from '../util/flexAdapter.mjs';
|
|
2
1
|
import { styled as FoundationStyled, css as FoundationCSS } from '../../../foundation/FoundationStyledComponent.mjs';
|
|
2
|
+
import { flex } from '../util/flexAdapter.mjs';
|
|
3
3
|
|
|
4
4
|
const Container = /*#__PURE__*/FoundationStyled.div.withConfig({
|
|
5
5
|
displayName: "Stackstyled__Container",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ZIndex } from '../../constants/ZIndex.mjs';
|
|
2
|
-
import { absoluteCenter } from '../../foundation/Mixins.mjs';
|
|
3
2
|
import { Icon as Icon$1 } from '../Icon/Icon.mjs';
|
|
3
|
+
import { absoluteCenter } from '../../foundation/Mixins.mjs';
|
|
4
4
|
import { styled as FoundationStyled } from '../../foundation/FoundationStyledComponent.mjs';
|
|
5
5
|
|
|
6
6
|
const Circle = /*#__PURE__*/FoundationStyled.div.withConfig({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React__default, { useMemo } from 'react';
|
|
1
|
+
import React__default, { memo, forwardRef, useMemo } from 'react';
|
|
2
2
|
import { isEmpty } from '../../../utils/typeUtils.mjs';
|
|
3
3
|
import { getProperTagBadgeBgColor, getProperBadgeTextColor, getProperTagBadgePadding, getProperTagBadgeRounding, getProperTagBadgeTypo } from '../TagBadgeCommon/utils.mjs';
|
|
4
|
-
import
|
|
4
|
+
import { Icon } from '../../Icon/Icon.mjs';
|
|
5
5
|
import { TAG_BADGE_ICON_SIZE, BADGE_TEXT_HORIZONTAL_PADDING } from '../TagBadgeCommon/constants/TagBadgeStyle.mjs';
|
|
6
6
|
import TagBadgeStyled from '../TagBadgeCommon/TagBadge.styled.mjs';
|
|
7
7
|
import TagBadgeText from '../TagBadgeCommon/TagBadgeText/TagBadgeText.mjs';
|
|
@@ -10,25 +10,26 @@ import TagBadgeVariant from '../TagBadgeCommon/constants/TagBadgeVariant.mjs';
|
|
|
10
10
|
|
|
11
11
|
// TODO: 테스트 코드 작성
|
|
12
12
|
const BADGE_TEST_ID = 'bezier-react-badge';
|
|
13
|
-
const Badge = /*#__PURE__*/
|
|
13
|
+
const Badge = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Badge({
|
|
14
14
|
size = TagBadgeSize.M,
|
|
15
15
|
variant = TagBadgeVariant.Default,
|
|
16
|
-
|
|
16
|
+
icon,
|
|
17
17
|
children,
|
|
18
18
|
className,
|
|
19
19
|
interpolation,
|
|
20
20
|
testId = BADGE_TEST_ID,
|
|
21
21
|
...props
|
|
22
|
-
}) {
|
|
22
|
+
}, forwardedRef) {
|
|
23
23
|
const hasChildren = !isEmpty(children);
|
|
24
24
|
const bgSemanticName = useMemo(() => getProperTagBadgeBgColor(variant), [variant]);
|
|
25
25
|
const textSemanticName = useMemo(() => getProperBadgeTextColor(variant), [variant]);
|
|
26
|
-
const IconComponent = useMemo(() =>
|
|
27
|
-
|
|
26
|
+
const IconComponent = useMemo(() => icon && /*#__PURE__*/React__default.createElement(Icon, {
|
|
27
|
+
source: icon,
|
|
28
28
|
size: TAG_BADGE_ICON_SIZE,
|
|
29
29
|
color: textSemanticName
|
|
30
|
-
}), [
|
|
30
|
+
}), [icon, textSemanticName]);
|
|
31
31
|
return /*#__PURE__*/React__default.createElement(TagBadgeStyled.Wrapper, Object.assign({}, props, {
|
|
32
|
+
ref: forwardedRef,
|
|
32
33
|
className: className,
|
|
33
34
|
interpolation: interpolation,
|
|
34
35
|
"data-testid": testId,
|
|
@@ -40,7 +41,7 @@ const Badge = /*#__PURE__*/React__default.memo(function Badge({
|
|
|
40
41
|
horizontalPadding: BADGE_TEXT_HORIZONTAL_PADDING,
|
|
41
42
|
typo: getProperTagBadgeTypo(size)
|
|
42
43
|
}, children));
|
|
43
|
-
});
|
|
44
|
+
}));
|
|
44
45
|
|
|
45
46
|
export { BADGE_TEST_ID, Badge };
|
|
46
47
|
//# sourceMappingURL=Badge.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.mjs","sources":["../../../../../src/components/TagBadge/Badge/Badge.tsx"],"sourcesContent":["import React, {
|
|
1
|
+
{"version":3,"file":"Badge.mjs","sources":["../../../../../src/components/TagBadge/Badge/Badge.tsx"],"sourcesContent":["import React, {\n forwardRef,\n memo,\n useMemo,\n} from 'react'\n\nimport { isEmpty } from '~/src/utils/typeUtils'\n\nimport { Icon } from '~/src/components/Icon'\nimport {\n BADGE_TEXT_HORIZONTAL_PADDING,\n TAG_BADGE_ICON_SIZE,\n TagBadgeSize,\n TagBadgeStyled,\n TagBadgeText,\n TagBadgeVariant,\n getProperBadgeTextColor,\n getProperTagBadgeBgColor,\n getProperTagBadgePadding,\n getProperTagBadgeRounding,\n getProperTagBadgeTypo,\n} from '~/src/components/TagBadge/TagBadgeCommon'\n\nimport type BadgeProps from './Badge.types'\n\n// TODO: 테스트 코드 작성\nexport const BADGE_TEST_ID = 'bezier-react-badge'\n\nexport const Badge = memo(forwardRef<HTMLDivElement, BadgeProps>(function Badge({\n size = TagBadgeSize.M,\n variant = TagBadgeVariant.Default,\n icon,\n children,\n className,\n interpolation,\n testId = BADGE_TEST_ID,\n ...props\n}, forwardedRef) {\n const hasChildren = !isEmpty(children)\n\n const bgSemanticName = useMemo(() => (getProperTagBadgeBgColor(variant)), [variant])\n const textSemanticName = useMemo(() => (getProperBadgeTextColor(variant)), [variant])\n\n const IconComponent = useMemo(() => (icon && (\n <Icon\n source={icon}\n size={TAG_BADGE_ICON_SIZE}\n color={textSemanticName}\n />\n )), [\n icon,\n textSemanticName,\n ])\n\n return (\n <TagBadgeStyled.Wrapper\n {...props}\n ref={forwardedRef}\n className={className}\n interpolation={interpolation}\n data-testid={testId}\n horizontalPadding={getProperTagBadgePadding(size)}\n rounding={getProperTagBadgeRounding(size)}\n color={textSemanticName}\n bgColor={bgSemanticName}\n >\n { IconComponent }\n\n { hasChildren && (\n <TagBadgeText\n horizontalPadding={BADGE_TEXT_HORIZONTAL_PADDING}\n typo={getProperTagBadgeTypo(size)}\n >\n { children }\n </TagBadgeText>\n ) }\n </TagBadgeStyled.Wrapper>\n )\n}))\n"],"names":["BADGE_TEST_ID","Badge","memo","forwardRef","size","TagBadgeSize","M","variant","TagBadgeVariant","Default","icon","children","className","interpolation","testId","props","forwardedRef","hasChildren","isEmpty","bgSemanticName","useMemo","getProperTagBadgeBgColor","textSemanticName","getProperBadgeTextColor","IconComponent","React","createElement","Icon","source","TAG_BADGE_ICON_SIZE","color","TagBadgeStyled","Wrapper","Object","assign","ref","horizontalPadding","getProperTagBadgePadding","rounding","getProperTagBadgeRounding","bgColor","TagBadgeText","BADGE_TEXT_HORIZONTAL_PADDING","typo","getProperTagBadgeTypo"],"mappings":";;;;;;;;;;AAyBA;AACO,MAAMA,aAAa,GAAG,qBAAoB;AAE1C,MAAMC,KAAK,gBAAGC,IAAI,eAACC,UAAU,CAA6B,SAASF,KAAKA,CAAC;EAC9EG,IAAI,GAAGC,YAAY,CAACC,CAAC;EACrBC,OAAO,GAAGC,eAAe,CAACC,OAAO;EACjCC,IAAI;EACJC,QAAQ;EACRC,SAAS;EACTC,aAAa;AACbC,EAAAA,MAAM,GAAGd,aAAa;EACtB,GAAGe,KAAAA;AACL,CAAC,EAAEC,YAAY,EAAE;AACf,EAAA,MAAMC,WAAW,GAAG,CAACC,OAAO,CAACP,QAAQ,CAAC,CAAA;AAEtC,EAAA,MAAMQ,cAAc,GAAGC,OAAO,CAAC,MAAOC,wBAAwB,CAACd,OAAO,CAAE,EAAE,CAACA,OAAO,CAAC,CAAC,CAAA;AACpF,EAAA,MAAMe,gBAAgB,GAAGF,OAAO,CAAC,MAAOG,uBAAuB,CAAChB,OAAO,CAAE,EAAE,CAACA,OAAO,CAAC,CAAC,CAAA;EAErF,MAAMiB,aAAa,GAAGJ,OAAO,CAAC,MAAOV,IAAI,iBACvCe,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACHC,IAAAA,MAAM,EAAElB,IAAK;AACbN,IAAAA,IAAI,EAAEyB,mBAAoB;AAC1BC,IAAAA,KAAK,EAAER,gBAAAA;AAAiB,GACzB,CACD,EAAE,CACFZ,IAAI,EACJY,gBAAgB,CACjB,CAAC,CAAA;AAEF,EAAA,oBACEG,cAAA,CAAAC,aAAA,CAACK,cAAc,CAACC,OAAO,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACjBnB,KAAK,EAAA;AACToB,IAAAA,GAAG,EAAEnB,YAAa;AAClBJ,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,aAAa,EAAEA,aAAc;AAC7B,IAAA,aAAA,EAAaC,MAAO;AACpBsB,IAAAA,iBAAiB,EAAEC,wBAAwB,CAACjC,IAAI,CAAE;AAClDkC,IAAAA,QAAQ,EAAEC,yBAAyB,CAACnC,IAAI,CAAE;AAC1C0B,IAAAA,KAAK,EAAER,gBAAiB;AACxBkB,IAAAA,OAAO,EAAErB,cAAAA;GAEPK,CAAAA,EAAAA,aAAa,EAEbP,WAAW,iBACXQ,cAAA,CAAAC,aAAA,CAACe,YAAY,EAAA;AACXL,IAAAA,iBAAiB,EAAEM,6BAA8B;IACjDC,IAAI,EAAEC,qBAAqB,CAACxC,IAAI,CAAA;GAE5BO,EAAAA,QACQ,CAEM,CAAC,CAAA;AAE7B,CAAC,CAAC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default, { useMemo } from 'react';
|
|
1
|
+
import React__default, { memo, forwardRef, useMemo } from 'react';
|
|
2
2
|
import { CancelSmallIcon } from '@channel.io/bezier-icons';
|
|
3
3
|
import { isEmpty, isNil } from '../../../utils/typeUtils.mjs';
|
|
4
4
|
import Styled from './Tag.styled.mjs';
|
|
@@ -11,7 +11,7 @@ import TagBadgeVariant from '../TagBadgeCommon/constants/TagBadgeVariant.mjs';
|
|
|
11
11
|
|
|
12
12
|
// TODO: 테스트 코드 작성
|
|
13
13
|
const TAG_TEST_ID = 'bezier-react-tag';
|
|
14
|
-
const Tag = /*#__PURE__*/
|
|
14
|
+
const Tag = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Tag({
|
|
15
15
|
size = TagBadgeSize.M,
|
|
16
16
|
variant = TagBadgeVariant.Default,
|
|
17
17
|
color: givenColor,
|
|
@@ -22,7 +22,7 @@ const Tag = /*#__PURE__*/React__default.memo(function Tag({
|
|
|
22
22
|
interpolation,
|
|
23
23
|
testId = TAG_TEST_ID,
|
|
24
24
|
...props
|
|
25
|
-
}) {
|
|
25
|
+
}, forwardedRef) {
|
|
26
26
|
const hasChildren = useMemo(() => !isEmpty(children), [children]);
|
|
27
27
|
const bgSemanticName = useMemo(() => givenColor || getProperTagBadgeBgColor(variant), [givenColor, variant]);
|
|
28
28
|
const CloseIconComponent = useMemo(() => !isNil(onDelete) && /*#__PURE__*/React__default.createElement(Styled.CloseIcon, {
|
|
@@ -32,6 +32,7 @@ const Tag = /*#__PURE__*/React__default.memo(function Tag({
|
|
|
32
32
|
onClick: onDelete
|
|
33
33
|
}), [onDelete]);
|
|
34
34
|
return /*#__PURE__*/React__default.createElement(TagBadgeStyled.Wrapper, Object.assign({}, props, {
|
|
35
|
+
ref: forwardedRef,
|
|
35
36
|
className: className,
|
|
36
37
|
interpolation: interpolation,
|
|
37
38
|
"data-testid": testId,
|
|
@@ -42,7 +43,7 @@ const Tag = /*#__PURE__*/React__default.memo(function Tag({
|
|
|
42
43
|
horizontalPadding: TAG_TEXT_HORIZONTAL_PADDING,
|
|
43
44
|
typo: getProperTagBadgeTypo(size)
|
|
44
45
|
}, children), CloseIconComponent);
|
|
45
|
-
});
|
|
46
|
+
}));
|
|
46
47
|
|
|
47
48
|
export { TAG_TEST_ID, Tag };
|
|
48
49
|
//# sourceMappingURL=Tag.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.mjs","sources":["../../../../../src/components/TagBadge/Tag/Tag.tsx"],"sourcesContent":["import React, {
|
|
1
|
+
{"version":3,"file":"Tag.mjs","sources":["../../../../../src/components/TagBadge/Tag/Tag.tsx"],"sourcesContent":["import React, {\n forwardRef,\n memo,\n useMemo,\n} from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport {\n isEmpty,\n isNil,\n} from '~/src/utils/typeUtils'\n\nimport {\n TAG_BADGE_ICON_SIZE,\n TAG_TEXT_HORIZONTAL_PADDING,\n TagBadgeSize,\n TagBadgeStyled,\n TagBadgeText,\n TagBadgeVariant,\n getProperTagBadgeBgColor,\n getProperTagBadgePadding,\n getProperTagBadgeRounding,\n getProperTagBadgeTypo,\n} from '~/src/components/TagBadge/TagBadgeCommon'\n\nimport type TagProps from './Tag.types'\n\nimport Styled from './Tag.styled'\n\n// TODO: 테스트 코드 작성\nexport const TAG_TEST_ID = 'bezier-react-tag'\n\nexport const Tag = memo(forwardRef<HTMLDivElement, TagProps>(function Tag({\n size = TagBadgeSize.M,\n variant = TagBadgeVariant.Default,\n color: givenColor,\n children,\n // Handlers\n onDelete,\n className,\n interpolation,\n testId = TAG_TEST_ID,\n ...props\n}, forwardedRef) {\n const hasChildren = useMemo(() => !isEmpty(children), [children])\n\n const bgSemanticName = useMemo(() => (\n givenColor || getProperTagBadgeBgColor(variant)\n ), [\n givenColor,\n variant,\n ])\n\n const CloseIconComponent = useMemo(() => !isNil(onDelete) && (\n <Styled.CloseIcon\n source={CancelSmallIcon}\n size={TAG_BADGE_ICON_SIZE}\n color=\"txt-black-darker\"\n onClick={onDelete}\n />\n ), [onDelete])\n\n return (\n <TagBadgeStyled.Wrapper\n {...props}\n ref={forwardedRef}\n className={className}\n interpolation={interpolation}\n data-testid={testId}\n horizontalPadding={getProperTagBadgePadding(size)}\n rounding={getProperTagBadgeRounding(size)}\n bgColor={bgSemanticName}\n >\n { hasChildren && (\n <TagBadgeText\n horizontalPadding={TAG_TEXT_HORIZONTAL_PADDING}\n typo={getProperTagBadgeTypo(size)}\n >\n { children }\n </TagBadgeText>\n ) }\n\n { CloseIconComponent }\n </TagBadgeStyled.Wrapper>\n )\n}))\n"],"names":["TAG_TEST_ID","Tag","memo","forwardRef","size","TagBadgeSize","M","variant","TagBadgeVariant","Default","color","givenColor","children","onDelete","className","interpolation","testId","props","forwardedRef","hasChildren","useMemo","isEmpty","bgSemanticName","getProperTagBadgeBgColor","CloseIconComponent","isNil","React","createElement","Styled","CloseIcon","source","CancelSmallIcon","TAG_BADGE_ICON_SIZE","onClick","TagBadgeStyled","Wrapper","Object","assign","ref","horizontalPadding","getProperTagBadgePadding","rounding","getProperTagBadgeRounding","bgColor","TagBadgeText","TAG_TEXT_HORIZONTAL_PADDING","typo","getProperTagBadgeTypo"],"mappings":";;;;;;;;;;;AA8BA;AACO,MAAMA,WAAW,GAAG,mBAAkB;AAEtC,MAAMC,GAAG,gBAAGC,IAAI,eAACC,UAAU,CAA2B,SAASF,GAAGA,CAAC;EACxEG,IAAI,GAAGC,YAAY,CAACC,CAAC;EACrBC,OAAO,GAAGC,eAAe,CAACC,OAAO;AACjCC,EAAAA,KAAK,EAAEC,UAAU;EACjBC,QAAQ;AACR;EACAC,QAAQ;EACRC,SAAS;EACTC,aAAa;AACbC,EAAAA,MAAM,GAAGhB,WAAW;EACpB,GAAGiB,KAAAA;AACL,CAAC,EAAEC,YAAY,EAAE;AACf,EAAA,MAAMC,WAAW,GAAGC,OAAO,CAAC,MAAM,CAACC,OAAO,CAACT,QAAQ,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC,CAAA;AAEjE,EAAA,MAAMU,cAAc,GAAGF,OAAO,CAAC,MAC7BT,UAAU,IAAIY,wBAAwB,CAAChB,OAAO,CAC/C,EAAE,CACDI,UAAU,EACVJ,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,MAAMiB,kBAAkB,GAAGJ,OAAO,CAAC,MAAM,CAACK,KAAK,CAACZ,QAAQ,CAAC,iBACvDa,cAAA,CAAAC,aAAA,CAACC,MAAM,CAACC,SAAS,EAAA;AACfC,IAAAA,MAAM,EAAEC,eAAgB;AACxB3B,IAAAA,IAAI,EAAE4B,mBAAoB;AAC1BtB,IAAAA,KAAK,EAAC,kBAAkB;AACxBuB,IAAAA,OAAO,EAAEpB,QAAAA;AAAS,GACnB,CACF,EAAE,CAACA,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEa,cAAA,CAAAC,aAAA,CAACO,cAAc,CAACC,OAAO,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACjBpB,KAAK,EAAA;AACTqB,IAAAA,GAAG,EAAEpB,YAAa;AAClBJ,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,aAAa,EAAEA,aAAc;AAC7B,IAAA,aAAA,EAAaC,MAAO;AACpBuB,IAAAA,iBAAiB,EAAEC,wBAAwB,CAACpC,IAAI,CAAE;AAClDqC,IAAAA,QAAQ,EAAEC,yBAAyB,CAACtC,IAAI,CAAE;AAC1CuC,IAAAA,OAAO,EAAErB,cAAAA;AAAe,GAAA,CAAA,EAEtBH,WAAW,iBACXO,cAAA,CAAAC,aAAA,CAACiB,YAAY,EAAA;AACXL,IAAAA,iBAAiB,EAAEM,2BAA4B;IAC/CC,IAAI,EAAEC,qBAAqB,CAAC3C,IAAI,CAAA;AAAE,GAAA,EAE9BQ,QACQ,CACf,EAECY,kBACoB,CAAC,CAAA;AAE7B,CAAC,CAAC;;;;"}
|