@channel.io/bezier-react 2.6.0 → 2.6.2
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/AlphaAvatar/Avatar.js.map +1 -1
- package/dist/cjs/components/AlphaAvatar/AvatarSizeContext.js.map +1 -1
- package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js.map +1 -1
- package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/AlphaButton/Button.js +5 -2
- package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
- package/dist/cjs/components/AlphaDialogPrimitive/DialogPrimitive.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js +6 -3
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +6 -3
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.js +6 -3
- package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/AlphaLoader/Loader.js.map +1 -1
- package/dist/cjs/components/AlphaStatusBadge/StatusBadge.js.map +1 -1
- package/dist/cjs/components/AlphaToggleButton/ToggleButton.js.map +1 -1
- package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js.map +1 -1
- package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js.map +1 -1
- package/dist/cjs/components/AlphaToggleEmojiButtonGroup/ToggleEmojiButtonGroup.js.map +1 -1
- package/dist/cjs/components/AlphaToggleEmojiButtonGroup/useToggleEmojiButtonSize.js.map +1 -1
- package/dist/cjs/components/AlphaTooltipPrimitive/TooltipPrimitive.js.map +1 -1
- package/dist/cjs/components/AppProvider/AppProvider.js.map +1 -1
- package/dist/cjs/components/AutoFocus/AutoFocus.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/useProgressiveImage.js.map +1 -1
- package/dist/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseButton/BaseButton.js.map +1 -1
- package/dist/cjs/components/BaseTagBadge/BaseTagBadge.js.map +1 -1
- package/dist/cjs/components/Box/Box.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +2 -1
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/Center/Center.js.map +1 -1
- package/dist/cjs/components/CheckableAvatar/CheckableAvatar.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/ConfirmModal/ConfirmModal.js.map +1 -1
- package/dist/cjs/components/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.types.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.js.map +1 -1
- package/dist/cjs/components/FormControl/FormControl.js.map +1 -1
- package/dist/cjs/components/FormGroup/FormGroup.js.map +1 -1
- package/dist/cjs/components/FormHelperText/FormHelperText.js.map +1 -1
- package/dist/cjs/components/FormLabel/FormLabel.js.map +1 -1
- package/dist/cjs/components/Help/Help.js.map +1 -1
- package/dist/cjs/components/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/KeyValueItem/KeyValueItem.js.map +1 -1
- package/dist/cjs/components/LegacyIcon/LegacyIcon.js.map +1 -1
- package/dist/cjs/components/LegacyIcon/utils.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyHStack/LegacyHStack.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacySpacer/LegacySpacer.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyStack/LegacyStack.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyStackItem/LegacyStackItem.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyVStack/LegacyVStack.js.map +1 -1
- package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js.map +1 -1
- package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js.map +1 -1
- package/dist/cjs/components/LegacyTooltip/utils.js.map +1 -1
- package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/NavGroup/NavGroup.js.map +1 -1
- package/dist/cjs/components/NavItem/NavItem.js.map +1 -1
- package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
- package/dist/cjs/components/Overlay/Overlay.js.map +1 -1
- package/dist/cjs/components/Overlay/utils.js.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cjs/components/SectionLabel/SectionLabel.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/Stack/Stack.js.map +1 -1
- package/dist/cjs/components/Status/Status.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/Text/Text.js.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/cjs/components/Toast/Toast.js.map +1 -1
- package/dist/cjs/components/Toast/ToastService.js.map +1 -1
- package/dist/cjs/components/Toast/useToastContextValues.js.map +1 -1
- package/dist/cjs/components/TokenProvider/TokenProvider.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/cjs/components/WindowProvider/WindowProvider.js.map +1 -1
- package/dist/cjs/hooks/useEventHandler.js.map +1 -1
- package/dist/cjs/hooks/useId.js.map +1 -1
- package/dist/cjs/hooks/useIsMounted.js.map +1 -1
- package/dist/cjs/hooks/useKeyboardActionLockerWhileComposing.js.map +1 -1
- package/dist/cjs/hooks/useMergeRefs.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/cjs/node_modules/classnames/index.js.map +1 -1
- package/dist/cjs/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
- package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
- package/dist/cjs/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
- package/dist/cjs/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
- package/dist/cjs/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
- package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js.map +1 -1
- package/dist/cjs/node_modules/ssr-window/ssr-window.esm.js.map +1 -1
- package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/cjs/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
- package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
- package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
- package/dist/cjs/node_modules/use-composed-ref/dist/use-composed-ref.esm.js.map +1 -1
- package/dist/cjs/node_modules/use-latest/dist/use-latest.esm.js.map +1 -1
- package/dist/cjs/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
- package/dist/cjs/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
- package/dist/cjs/node_modules/uuid/dist/esm-browser/native.js.map +1 -1
- package/dist/cjs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/cjs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/cjs/packages/bezier-tokens/dist/esm/darkTheme.js.map +1 -1
- package/dist/cjs/packages/bezier-tokens/dist/esm/global.js.map +1 -1
- package/dist/cjs/packages/bezier-tokens/dist/esm/index.js.map +1 -1
- package/dist/cjs/packages/bezier-tokens/dist/esm/lightTheme.js.map +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/cjs/types/props-helpers.js.map +1 -1
- package/dist/cjs/utils/aria.js.map +1 -1
- package/dist/cjs/utils/array.js.map +1 -1
- package/dist/cjs/utils/assert.js.map +1 -1
- package/dist/cjs/utils/number.js.map +1 -1
- package/dist/cjs/utils/object.js.map +1 -1
- package/dist/cjs/utils/react.js.map +1 -1
- package/dist/cjs/utils/string.js.map +1 -1
- package/dist/cjs/utils/style.js.map +1 -1
- package/dist/cjs/utils/type.js.map +1 -1
- package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/AlphaAvatar/AvatarSizeContext.mjs.map +1 -1
- package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs.map +1 -1
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/AlphaButton/Button.mjs +5 -2
- package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
- package/dist/esm/components/AlphaDialogPrimitive/DialogPrimitive.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs +6 -3
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +6 -3
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.mjs +6 -3
- package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaLoader/Loader.mjs.map +1 -1
- package/dist/esm/components/AlphaStatusBadge/StatusBadge.mjs.map +1 -1
- package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs.map +1 -1
- package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs.map +1 -1
- package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs.map +1 -1
- package/dist/esm/components/AlphaToggleEmojiButtonGroup/ToggleEmojiButtonGroup.mjs.map +1 -1
- package/dist/esm/components/AlphaToggleEmojiButtonGroup/useToggleEmojiButtonSize.mjs.map +1 -1
- package/dist/esm/components/AlphaTooltipPrimitive/TooltipPrimitive.mjs.map +1 -1
- package/dist/esm/components/AppProvider/AppProvider.mjs.map +1 -1
- package/dist/esm/components/AutoFocus/AutoFocus.mjs.map +1 -1
- package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/Avatar/useProgressiveImage.mjs.map +1 -1
- package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/Badge/Badge.mjs.map +1 -1
- package/dist/esm/components/Banner/Banner.mjs.map +1 -1
- package/dist/esm/components/BaseButton/BaseButton.mjs.map +1 -1
- package/dist/esm/components/BaseTagBadge/BaseTagBadge.mjs.map +1 -1
- package/dist/esm/components/Box/Box.mjs.map +1 -1
- package/dist/esm/components/Button/Button.mjs +2 -1
- package/dist/esm/components/Button/Button.mjs.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.mjs.map +1 -1
- package/dist/esm/components/Center/Center.mjs.map +1 -1
- package/dist/esm/components/CheckableAvatar/CheckableAvatar.mjs.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/components/ConfirmModal/ConfirmModal.mjs.map +1 -1
- package/dist/esm/components/Divider/Divider.mjs.map +1 -1
- package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/FeatureProvider.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/FeatureProvider.types.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.mjs.map +1 -1
- package/dist/esm/components/FormControl/FormControl.mjs.map +1 -1
- package/dist/esm/components/FormGroup/FormGroup.mjs.map +1 -1
- package/dist/esm/components/FormHelperText/FormHelperText.mjs.map +1 -1
- package/dist/esm/components/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/esm/components/Help/Help.mjs.map +1 -1
- package/dist/esm/components/Icon/Icon.mjs.map +1 -1
- package/dist/esm/components/KeyValueItem/KeyValueItem.mjs.map +1 -1
- package/dist/esm/components/LegacyIcon/LegacyIcon.mjs.map +1 -1
- package/dist/esm/components/LegacyIcon/utils.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyHStack/LegacyHStack.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacySpacer/LegacySpacer.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyStack/LegacyStack.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyStackItem/LegacyStackItem.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyVStack/LegacyVStack.mjs.map +1 -1
- package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs.map +1 -1
- package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs.map +1 -1
- package/dist/esm/components/LegacyTooltip/utils.mjs.map +1 -1
- package/dist/esm/components/ListItem/ListItem.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/components/NavGroup/NavGroup.mjs.map +1 -1
- package/dist/esm/components/NavItem/NavItem.mjs.map +1 -1
- package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
- package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
- package/dist/esm/components/Overlay/utils.mjs.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.mjs.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.mjs.map +1 -1
- package/dist/esm/components/SectionLabel/SectionLabel.mjs.map +1 -1
- package/dist/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/dist/esm/components/Select/Select.mjs.map +1 -1
- package/dist/esm/components/Slider/Slider.mjs.map +1 -1
- package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs.map +1 -1
- package/dist/esm/components/Spinner/Spinner.mjs.map +1 -1
- package/dist/esm/components/Stack/Stack.mjs.map +1 -1
- package/dist/esm/components/Status/Status.mjs.map +1 -1
- package/dist/esm/components/Switch/Switch.mjs.map +1 -1
- package/dist/esm/components/Tabs/Tabs.mjs.map +1 -1
- package/dist/esm/components/Tag/Tag.mjs.map +1 -1
- package/dist/esm/components/Text/Text.mjs.map +1 -1
- package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/esm/components/TextField/TextField.mjs.map +1 -1
- package/dist/esm/components/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/dist/esm/components/Toast/Toast.mjs.map +1 -1
- package/dist/esm/components/Toast/ToastService.mjs.map +1 -1
- package/dist/esm/components/Toast/useToastContextValues.mjs.map +1 -1
- package/dist/esm/components/TokenProvider/TokenProvider.mjs.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
- package/dist/esm/components/WindowProvider/WindowProvider.mjs.map +1 -1
- package/dist/esm/hooks/useEventHandler.mjs.map +1 -1
- package/dist/esm/hooks/useId.mjs.map +1 -1
- package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboardActionLockerWhileComposing.mjs.map +1 -1
- package/dist/esm/hooks/useMergeRefs.mjs.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.map +1 -1
- package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.map +1 -1
- package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs.map +1 -1
- package/dist/esm/node_modules/classnames/index.mjs.map +1 -1
- package/dist/esm/node_modules/get-nonce/dist/es2015/index.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/UI.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs.map +1 -1
- package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs.map +1 -1
- package/dist/esm/node_modules/react-style-singleton/dist/es2015/component.mjs.map +1 -1
- package/dist/esm/node_modules/react-style-singleton/dist/es2015/hook.mjs.map +1 -1
- package/dist/esm/node_modules/react-style-singleton/dist/es2015/singleton.mjs.map +1 -1
- package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs.map +1 -1
- package/dist/esm/node_modules/ssr-window/ssr-window.esm.mjs.map +1 -1
- package/dist/esm/node_modules/tslib/tslib.es6.mjs.map +1 -1
- package/dist/esm/node_modules/use-callback-ref/dist/es2015/assignRef.mjs.map +1 -1
- package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs.map +1 -1
- package/dist/esm/node_modules/use-callback-ref/dist/es2015/useRef.mjs.map +1 -1
- package/dist/esm/node_modules/use-composed-ref/dist/use-composed-ref.esm.mjs.map +1 -1
- package/dist/esm/node_modules/use-latest/dist/use-latest.esm.mjs.map +1 -1
- package/dist/esm/node_modules/use-sidecar/dist/es2015/exports.mjs.map +1 -1
- package/dist/esm/node_modules/use-sidecar/dist/es2015/medium.mjs.map +1 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/native.mjs.map +1 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs.map +1 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs.map +1 -1
- package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -1
- package/dist/esm/packages/bezier-tokens/dist/esm/darkTheme.mjs.map +1 -1
- package/dist/esm/packages/bezier-tokens/dist/esm/global.mjs.map +1 -1
- package/dist/esm/packages/bezier-tokens/dist/esm/index.mjs.map +1 -1
- package/dist/esm/packages/bezier-tokens/dist/esm/lightTheme.mjs.map +1 -1
- package/dist/esm/styles.css +1 -1
- package/dist/esm/types/props-helpers.mjs.map +1 -1
- package/dist/esm/utils/aria.mjs.map +1 -1
- package/dist/esm/utils/array.mjs.map +1 -1
- package/dist/esm/utils/assert.mjs.map +1 -1
- package/dist/esm/utils/number.mjs.map +1 -1
- package/dist/esm/utils/object.mjs.map +1 -1
- package/dist/esm/utils/react.mjs.map +1 -1
- package/dist/esm/utils/string.mjs.map +1 -1
- package/dist/esm/utils/style.mjs.map +1 -1
- package/dist/esm/utils/type.mjs.map +1 -1
- package/dist/types/components/AlphaButton/Button.d.ts.map +1 -1
- package/dist/types/components/AlphaButton/Button.types.d.ts +1 -1
- package/dist/types/components/AlphaFloatingButton/FloatingButton.d.ts.map +1 -1
- package/dist/types/components/AlphaFloatingButton/FloatingButton.types.d.ts +1 -1
- package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.d.ts.map +1 -1
- package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.types.d.ts +1 -1
- package/dist/types/components/AlphaIconButton/IconButton.d.ts.map +1 -1
- package/dist/types/components/AlphaIconButton/IconButton.types.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Button/Button.types.d.ts +1 -1
- package/package.json +3 -3
- package/src/components/AlphaButton/Button.module.scss +5 -5
- package/src/components/AlphaButton/Button.tsx +5 -1
- package/src/components/AlphaButton/Button.types.ts +1 -1
- package/src/components/AlphaFloatingButton/FloatingButton.tsx +5 -2
- package/src/components/AlphaFloatingButton/FloatingButton.types.ts +1 -1
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.module.scss +1 -1
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +5 -2
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.types.ts +1 -1
- package/src/components/AlphaIconButton/IconButton.module.scss +6 -6
- package/src/components/AlphaIconButton/IconButton.tsx +6 -2
- package/src/components/AlphaIconButton/IconButton.types.ts +1 -1
- package/src/components/AlphaToggleButton/ToggleButton.module.scss +1 -1
- package/src/components/Button/Button.tsx +4 -2
- package/src/components/Button/Button.types.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.mjs","sources":["../../../../src/components/Text/Text.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\nimport { isNumber } from '~/src/utils/type'\n\nimport { type TextProps } from './Text.types'\n\nimport styles from './Text.module.scss'\n\n/**\n * `Text` is a component for representing the typography of a design system.\n * @example\n *\n * ```tsx\n * <Text\n * typo=\"15\"\n * color=\"txt-black-darkest\"\n * >\n * Hello, Channel!\n * </Text>\n * ```\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n function Text(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n children,\n style,\n className,\n as = 'span',\n typo = '15',\n color,\n bold,\n italic,\n truncated,\n align,\n ...rest\n } = marginRest\n const isMultiLineTruncated = isNumber(truncated) && truncated >= 1\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-text-color': tokenCssVar(color),\n '--b-text-line-clamp': isMultiLineTruncated ? truncated : undefined,\n ...marginStyles.style,\n ...style,\n },\n className: classNames(\n styles.Text,\n styles[`typo-${typo}`],\n bold && styles.bold,\n italic && styles.italic,\n truncated === true\n ? styles.truncated\n : isMultiLineTruncated && styles['multi-line-truncated'],\n align && styles[`align-${align}`],\n marginStyles.className,\n className\n ),\n 'data-testid': 'bezier-text',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Text","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","children","style","className","as","typo","color","bold","italic","truncated","align","rest","isMultiLineTruncated","isNumber","createElement","ref","tokenCssVar","undefined","classNames","styles"],"mappings":";;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,IAAI,gBAAGC,UAAU,CAC5B,SAASD,IAAIA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACjC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"Text.mjs","sources":["../../../../src/components/Text/Text.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\nimport { isNumber } from '~/src/utils/type'\n\nimport { type TextProps } from './Text.types'\n\nimport styles from './Text.module.scss'\n\n/**\n * `Text` is a component for representing the typography of a design system.\n * @example\n *\n * ```tsx\n * <Text\n * typo=\"15\"\n * color=\"txt-black-darkest\"\n * >\n * Hello, Channel!\n * </Text>\n * ```\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n function Text(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n children,\n style,\n className,\n as = 'span',\n typo = '15',\n color,\n bold,\n italic,\n truncated,\n align,\n ...rest\n } = marginRest\n const isMultiLineTruncated = isNumber(truncated) && truncated >= 1\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-text-color': tokenCssVar(color),\n '--b-text-line-clamp': isMultiLineTruncated ? truncated : undefined,\n ...marginStyles.style,\n ...style,\n },\n className: classNames(\n styles.Text,\n styles[`typo-${typo}`],\n bold && styles.bold,\n italic && styles.italic,\n truncated === true\n ? styles.truncated\n : isMultiLineTruncated && styles['multi-line-truncated'],\n align && styles[`align-${align}`],\n marginStyles.className,\n className\n ),\n 'data-testid': 'bezier-text',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Text","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","children","style","className","as","typo","color","bold","italic","truncated","align","rest","isMultiLineTruncated","isNumber","createElement","ref","tokenCssVar","undefined","classNames","styles"],"mappings":";;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,IAAI,gBAAGC,UAAU,CAC5B,SAASD,IAAIA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACjC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC;AAC3D,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACJ,WAAW,CAAC;EAEjD,MAAM;IACJK,QAAQ;IACRC,KAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,MAAM;AACXC,IAAAA,IAAI,GAAG,IAAI;IACXC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,KAAK;IACL,GAAGC;AACL,GAAC,GAAGd,UAAU;EACd,MAAMe,oBAAoB,GAAGC,QAAQ,CAACJ,SAAS,CAAC,IAAIA,SAAS,IAAI,CAAC;EAElE,oBAAOK,aAAa,CAClBV,EAAE,EACF;AACEW,IAAAA,GAAG,EAAEpB,YAAY;AACjBO,IAAAA,KAAK,EAAE;AACL,MAAA,gBAAgB,EAAEc,WAAW,CAACV,KAAK,CAAC;AACpC,MAAA,qBAAqB,EAAEM,oBAAoB,GAAGH,SAAS,GAAGQ,SAAS;MACnE,GAAGlB,YAAY,CAACG,KAAK;MACrB,GAAGA;KACJ;IACDC,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAAC3B,IAAI,EACX2B,MAAM,CAAC,CAAA,KAAA,EAAQd,IAAI,CAAA,CAAE,CAAC,EACtBE,IAAI,IAAIY,MAAM,CAACZ,IAAI,EACnBC,MAAM,IAAIW,MAAM,CAACX,MAAM,EACvBC,SAAS,KAAK,IAAI,GACdU,MAAM,CAACV,SAAS,GAChBG,oBAAoB,IAAIO,MAAM,CAAC,sBAAsB,CAAC,EAC1DT,KAAK,IAAIS,MAAM,CAAC,CAAST,MAAAA,EAAAA,KAAK,CAAE,CAAA,CAAC,EACjCX,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,aAAa;IAC5B,GAAGQ;GACJ,EACDV,QACF,CAAC;AACH,CACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.mjs","sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useRef } from 'react'\n\nimport classNames from 'classnames'\nimport TextareaAutosize from 'react-textarea-autosize'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport type { TextAreaProps } from './TextArea.types'\n\nimport styles from './TextArea.module.scss'\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(\n {\n style,\n className,\n minRows = 6,\n maxRows = 6,\n autoFocus = false,\n value = '',\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, readOnly, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n const inputRef = useRef<HTMLTextAreaElement | null>(null)\n const mergedInputRef = useMergeRefs(inputRef, forwardedRef)\n\n const { handleKeyDown, handleKeyUp } =\n useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n useIsomorphicLayoutEffect(function initialAutoFocus() {\n function setSelectionToEnd() {\n inputRef.current?.setSelectionRange(\n inputRef.current?.value.length,\n inputRef.current?.value.length\n )\n }\n\n if (autoFocus) {\n inputRef.current?.focus()\n setSelectionToEnd()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <TextareaAutosize\n {...ownProps}\n style={style}\n className={classNames(styles.TextArea, className)}\n ref={mergedInputRef}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n maxRows={maxRows}\n minRows={minRows}\n data-testid=\"bezier-text-area\"\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n />\n )\n }\n)\n"],"names":["TextArea","forwardRef","style","className","minRows","maxRows","autoFocus","value","onKeyDown","onKeyUp","rest","forwardedRef","disabled","readOnly","hasError","ownProps","useFormFieldProps","inputRef","useRef","mergedInputRef","useMergeRefs","handleKeyDown","handleKeyUp","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","useIsomorphicLayoutEffect","initialAutoFocus","setSelectionToEnd","_inputRef$current","_inputRef$current2","_inputRef$current3","current","setSelectionRange","length","_inputRef$current4","focus","React","createElement","TextareaAutosize","Object","assign","classNames","styles","ref"],"mappings":";;;;;;;;;MAoBaA,QAAQ,gBAAGC,UAAU,CAChC,SAASD,QAAQA,CACf;EACEE,KAAK;EACLC,SAAS;AACTC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,KAAK,GAAG,EAAE;EACVC,SAAS;EACTC,OAAO;EACP,GAAGC
|
|
1
|
+
{"version":3,"file":"TextArea.mjs","sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useRef } from 'react'\n\nimport classNames from 'classnames'\nimport TextareaAutosize from 'react-textarea-autosize'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport type { TextAreaProps } from './TextArea.types'\n\nimport styles from './TextArea.module.scss'\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(\n {\n style,\n className,\n minRows = 6,\n maxRows = 6,\n autoFocus = false,\n value = '',\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, readOnly, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n const inputRef = useRef<HTMLTextAreaElement | null>(null)\n const mergedInputRef = useMergeRefs(inputRef, forwardedRef)\n\n const { handleKeyDown, handleKeyUp } =\n useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n useIsomorphicLayoutEffect(function initialAutoFocus() {\n function setSelectionToEnd() {\n inputRef.current?.setSelectionRange(\n inputRef.current?.value.length,\n inputRef.current?.value.length\n )\n }\n\n if (autoFocus) {\n inputRef.current?.focus()\n setSelectionToEnd()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <TextareaAutosize\n {...ownProps}\n style={style}\n className={classNames(styles.TextArea, className)}\n ref={mergedInputRef}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n maxRows={maxRows}\n minRows={minRows}\n data-testid=\"bezier-text-area\"\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n />\n )\n }\n)\n"],"names":["TextArea","forwardRef","style","className","minRows","maxRows","autoFocus","value","onKeyDown","onKeyUp","rest","forwardedRef","disabled","readOnly","hasError","ownProps","useFormFieldProps","inputRef","useRef","mergedInputRef","useMergeRefs","handleKeyDown","handleKeyUp","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","useIsomorphicLayoutEffect","initialAutoFocus","setSelectionToEnd","_inputRef$current","_inputRef$current2","_inputRef$current3","current","setSelectionRange","length","_inputRef$current4","focus","React","createElement","TextareaAutosize","Object","assign","classNames","styles","ref"],"mappings":";;;;;;;;;MAoBaA,QAAQ,gBAAGC,UAAU,CAChC,SAASD,QAAQA,CACf;EACEE,KAAK;EACLC,SAAS;AACTC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,KAAK,GAAG,EAAE;EACVC,SAAS;EACTC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;AAAS,GAAC,GACjDC,iBAAiB,CAACN,IAAI,CAAC;AAEzB,EAAA,MAAMO,QAAQ,GAAGC,MAAM,CAA6B,IAAI,CAAC;AACzD,EAAA,MAAMC,cAAc,GAAGC,YAAY,CAACH,QAAQ,EAAEN,YAAY,CAAC;EAE3D,MAAM;IAAEU,aAAa;AAAEC,IAAAA;GAAa,GAClCC,qCAAqC,CAAC;AACpCC,IAAAA,UAAU,EAAEC,uBAAuB;IACnCjB,SAAS;AACTC,IAAAA;AACF,GAAC,CAAC;AAEJiB,EAAAA,yBAAyB,CAAC,SAASC,gBAAgBA,GAAG;IACpD,SAASC,iBAAiBA,GAAG;AAAA,MAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA;AAC3B,MAAA,CAAAF,iBAAA,GAAAZ,QAAQ,CAACe,OAAO,cAAAH,iBAAA,KAAA,KAAA,CAAA,IAAhBA,iBAAA,CAAkBI,iBAAiB,CAAAH,CAAAA,kBAAA,GACjCb,QAAQ,CAACe,OAAO,MAAAF,IAAAA,IAAAA,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBvB,KAAK,CAAC2B,MAAM,EAAAH,CAAAA,kBAAA,GAC9Bd,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAD,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBxB,KAAK,CAAC2B,MAC1B,CAAC;AACH;AAEA,IAAA,IAAI5B,SAAS,EAAE;AAAA,MAAA,IAAA6B,kBAAA;AACb,MAAA,CAAAA,kBAAA,GAAAlB,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAG,kBAAA,KAAA,KAAA,CAAA,IAAhBA,kBAAA,CAAkBC,KAAK,EAAE;AACzBR,MAAAA,iBAAiB,EAAE;AACrB;AACA;GACD,EAAE,EAAE,CAAC;EAEN,oBACES,cAAA,CAAAC,aAAA,CAACC,KAAgB,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACX1B,QAAQ,EAAA;AACZb,IAAAA,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEuC,UAAU,CAACC,MAAM,CAAC3C,QAAQ,EAAEG,SAAS,CAAE;AAClDyC,IAAAA,GAAG,EAAEzB,cAAe;AACpBZ,IAAAA,KAAK,EAAEA,KAAM;AACbK,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBR,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAY,kBAAkB;AAC9BI,IAAAA,SAAS,EAAEa,aAAc;AACzBZ,IAAAA,OAAO,EAAEa;AAAY,GAAA,CACtB,CAAC;AAEN,CACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.mjs","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport { CancelCircleFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport { type FormFieldSize } from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { toString } from '~/src/utils/string'\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type SelectionRangeDirections,\n type TextFieldItemProps,\n type TextFieldProps,\n type TextFieldRef,\n} from './TextField.types'\n\nimport styles from './TextField.module.scss'\n\nexport const TEXT_INPUT_TEST_ID = 'bezier-text-input'\nexport const TEXT_INPUT_CLEAR_ICON_TEST_ID = 'bezier-text-input-clear-icon'\n\n/**\n * FIXME: This mapping constant was defined for UI consistency,\n * and it should be removed with size attribute\n */\nconst INPUT_LENGTH_BY_SIZE: Record<FormFieldSize, number> = {\n xs: 28,\n m: 36,\n l: 44,\n xl: 54,\n}\n\nfunction TextFieldLeftContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['leftContent']\n wrapperStyle: TextFieldProps['leftWrapperStyle']\n wrapperClassName: TextFieldProps['leftWrapperClassName']\n withoutWrapper: TextFieldProps['withoutLeftContentWrapper']\n}) {\n if (isNil(children)) {\n return null\n }\n\n const Content = (() => {\n if ('icon' in children) {\n return (\n <Icon\n className={!isNil(children.onClick) ? styles.clickable : undefined}\n source={children.icon}\n size=\"s\"\n color={children.iconColor ?? 'txt-black-dark'}\n onClick={children.onClick}\n />\n )\n }\n\n return children\n })()\n\n if (withoutWrapper) {\n return Content\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.LeftContentWrapper, wrapperClassName)}\n >\n {Content}\n </div>\n )\n}\n\nfunction TextFieldRightContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['rightContent']\n wrapperStyle: TextFieldProps['rightWrapperStyle']\n wrapperClassName: TextFieldProps['rightWrapperClassName']\n withoutWrapper: TextFieldProps['withoutRightContentWrapper']\n}) {\n const renderRightItem = useCallback(\n (item: TextFieldItemProps, key?: string) => {\n if ('icon' in item) {\n const Comp = !isNil(item.onClick) ? BaseButton : 'div'\n\n return (\n <Comp\n key={key}\n className={styles.RightItemWrapper}\n onClick={item.onClick}\n >\n <Icon\n source={item.icon}\n size=\"xs\"\n color={item.iconColor ?? 'txt-black-dark'}\n />\n </Comp>\n )\n }\n\n return React.cloneElement(item, { key })\n },\n []\n )\n\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n const contents = isArray(children)\n ? children.map((item) => renderRightItem(item, uuid()))\n : renderRightItem(children)\n\n if (withoutWrapper) {\n return <>{contents}</>\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.RightContentWrapper, wrapperClassName)}\n >\n {contents}\n </div>\n )\n}\n\nexport const TextField = forwardRef<TextFieldRef, TextFieldProps>(\n function TextField(\n {\n type,\n size: sizeProps,\n autoFocus,\n autoComplete = 'off',\n variant = 'primary',\n allowClear = false,\n selectAllOnInit = false,\n selectAllOnFocus = false,\n leftContent,\n rightContent,\n withoutLeftContentWrapper = false,\n withoutRightContentWrapper = false,\n style,\n className,\n wrapperStyle,\n wrapperClassName,\n leftWrapperStyle,\n leftWrapperClassName,\n rightWrapperStyle,\n rightWrapperClassName,\n value,\n onFocus,\n onChange,\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { window } = useWindow()\n\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const focusTimeout = useRef<ReturnType<Window['setTimeout']>>()\n const blurTimeout = useRef<ReturnType<Window['setTimeout']>>()\n\n const normalizedValue = isNil(value) ? undefined : toString(value)\n const activeInput = !disabled && !readOnly\n const activeClear = activeInput && allowClear && !isEmpty(normalizedValue)\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n\n const focus = useCallback(() => {\n clearTimeout(focusTimeout.current)\n focusTimeout.current = window.setTimeout(() => {\n inputRef.current?.focus()\n }, 0)\n }, [window])\n\n const blur = useCallback(() => {\n clearTimeout(blurTimeout.current)\n blurTimeout.current = window.setTimeout(() => {\n inputRef.current?.blur()\n }, 0)\n }, [window])\n\n const setSelectionRange = useCallback(\n (start?: number, end?: number, direction?: SelectionRangeDirections) => {\n if (type && ['number', 'email', 'hidden'].includes(type)) {\n return\n }\n inputRef.current?.setSelectionRange(\n start || 0,\n end || 0,\n direction || 'none'\n )\n },\n [type]\n )\n\n const getSelectionRange = useCallback(\n (): [number, number] => [\n inputRef.current?.selectionStart || 0,\n inputRef.current?.selectionEnd || 0,\n ],\n []\n )\n\n const selectAll = useCallback(() => {\n focus()\n if (inputRef.current) {\n setSelectionRange(0, inputRef.current.value.length, 'backward')\n }\n }, [focus, setSelectionRange])\n\n const unselect = useCallback(() => {\n focus()\n if (inputRef.current) {\n const valueLen = inputRef.current.value.length\n setSelectionRange(valueLen, valueLen)\n }\n }, [focus, setSelectionRange])\n\n const getBoundingClientRect = useCallback((): DOMRect => {\n if (inputRef.current) {\n return inputRef.current.getBoundingClientRect()\n }\n return new DOMRect(undefined, undefined, 0, 0)\n }, [])\n\n const getDOMNode = useCallback(() => inputRef.current, [])\n\n const handle = useMemo(\n (): TextFieldRef => ({\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n }),\n [\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n ]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n useEffect(() => {\n if (autoFocus) {\n focus()\n }\n if (selectAllOnInit) {\n focus()\n selectAll()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n if (!activeInput) {\n return\n }\n if (selectAllOnFocus) {\n selectAll()\n }\n if (onFocus) {\n onFocus(event)\n }\n },\n [selectAllOnFocus, selectAll, activeInput, onFocus]\n )\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (activeInput && onChange) {\n onChange(event)\n }\n },\n [activeInput, onChange]\n )\n\n const {\n handleKeyDown: handleKeyDownWrappedWithComposingLocker,\n handleKeyUp: handleKeyUpWrappedWithComposingLocker,\n } = useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyDownWrappedWithComposingLocker) {\n handleKeyDownWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyDownWrappedWithComposingLocker]\n )\n\n const handleKeyUp = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyUpWrappedWithComposingLocker) {\n handleKeyUpWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyUpWrappedWithComposingLocker]\n )\n\n const handleClear = useCallback(() => {\n const input = inputRef.current\n if (activeInput && input) {\n const setValue = Object?.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value'\n )?.set\n const event = new Event('input', { bubbles: true })\n setValue?.call(input, '')\n input.dispatchEvent(event)\n }\n }, [activeInput])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n style={wrapperStyle}\n className={classNames(\n styles.TextFieldWrapper,\n styles[`variant-${variant}`],\n styles[`size-${size}`],\n getFormFieldSizeClassName(size),\n wrapperClassName\n )}\n data-testid={TEXT_INPUT_TEST_ID}\n onMouseDown={focus}\n >\n <TextFieldLeftContent\n wrapperStyle={leftWrapperStyle}\n wrapperClassName={leftWrapperClassName}\n withoutWrapper={withoutLeftContentWrapper}\n >\n {leftContent}\n </TextFieldLeftContent>\n\n <input\n style={style}\n className={classNames(styles.TextFieldInput, className)}\n ref={inputRef}\n type={type}\n value={normalizedValue}\n /**\n * Invalid size attribute\n * FIXME: https://github.com/channel-io/bezier-react/issues/1053\n */\n size={INPUT_LENGTH_BY_SIZE[size]}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onFocus={handleFocus}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n {...ownProps}\n />\n\n {activeClear && (\n <BaseButton\n className={styles.CloseIconWrapper}\n tabIndex={0}\n onClick={handleClear}\n >\n <Icon\n className={styles.CloseIcon}\n data-testid={TEXT_INPUT_CLEAR_ICON_TEST_ID}\n source={CancelCircleFilledIcon}\n size=\"xs\"\n />\n </BaseButton>\n )}\n\n <TextFieldRightContent\n wrapperStyle={rightWrapperStyle}\n withoutWrapper={withoutRightContentWrapper}\n wrapperClassName={rightWrapperClassName}\n >\n {rightContent}\n </TextFieldRightContent>\n </div>\n )\n }\n)\n"],"names":["TEXT_INPUT_TEST_ID","TEXT_INPUT_CLEAR_ICON_TEST_ID","INPUT_LENGTH_BY_SIZE","xs","m","l","xl","TextFieldLeftContent","children","wrapperStyle","wrapperClassName","withoutWrapper","isNil","Content","_children$iconColor","React","createElement","Icon","className","onClick","styles","clickable","undefined","source","icon","size","color","iconColor","style","classNames","LeftContentWrapper","TextFieldRightContent","renderRightItem","useCallback","item","key","_item$iconColor","Comp","BaseButton","RightItemWrapper","cloneElement","isEmpty","contents","isArray","map","uuid","Fragment","RightContentWrapper","TextField","forwardRef","type","sizeProps","autoFocus","autoComplete","variant","allowClear","selectAllOnInit","selectAllOnFocus","leftContent","rightContent","withoutLeftContentWrapper","withoutRightContentWrapper","leftWrapperStyle","leftWrapperClassName","rightWrapperStyle","rightWrapperClassName","value","onFocus","onChange","onKeyDown","onKeyUp","rest","forwardedRef","_ref","window","useWindow","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","focusTimeout","useRef","blurTimeout","normalizedValue","toString","activeInput","activeClear","inputRef","focus","clearTimeout","current","setTimeout","_inputRef$current","blur","_inputRef$current2","setSelectionRange","start","end","direction","_inputRef$current3","includes","getSelectionRange","_inputRef$current4","_inputRef$current5","selectionStart","selectionEnd","selectAll","length","unselect","valueLen","getBoundingClientRect","DOMRect","getDOMNode","handle","useMemo","useImperativeHandle","useEffect","handleFocus","event","handleChange","handleKeyDown","handleKeyDownWrappedWithComposingLocker","handleKeyUp","handleKeyUpWrappedWithComposingLocker","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","handleClear","input","_Object$getOwnPropert","setValue","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","Event","bubbles","call","dispatchEvent","TextFieldWrapper","getFormFieldSizeClassName","onMouseDown","assign","TextFieldInput","ref","CloseIconWrapper","tabIndex","CloseIcon","CancelCircleFilledIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextField.mjs","sources":["../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport { CancelCircleFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\nimport { v4 as uuid } from 'uuid'\n\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport { type FormFieldSize } from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { toString } from '~/src/utils/string'\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type SelectionRangeDirections,\n type TextFieldItemProps,\n type TextFieldProps,\n type TextFieldRef,\n} from './TextField.types'\n\nimport styles from './TextField.module.scss'\n\nexport const TEXT_INPUT_TEST_ID = 'bezier-text-input'\nexport const TEXT_INPUT_CLEAR_ICON_TEST_ID = 'bezier-text-input-clear-icon'\n\n/**\n * FIXME: This mapping constant was defined for UI consistency,\n * and it should be removed with size attribute\n */\nconst INPUT_LENGTH_BY_SIZE: Record<FormFieldSize, number> = {\n xs: 28,\n m: 36,\n l: 44,\n xl: 54,\n}\n\nfunction TextFieldLeftContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['leftContent']\n wrapperStyle: TextFieldProps['leftWrapperStyle']\n wrapperClassName: TextFieldProps['leftWrapperClassName']\n withoutWrapper: TextFieldProps['withoutLeftContentWrapper']\n}) {\n if (isNil(children)) {\n return null\n }\n\n const Content = (() => {\n if ('icon' in children) {\n return (\n <Icon\n className={!isNil(children.onClick) ? styles.clickable : undefined}\n source={children.icon}\n size=\"s\"\n color={children.iconColor ?? 'txt-black-dark'}\n onClick={children.onClick}\n />\n )\n }\n\n return children\n })()\n\n if (withoutWrapper) {\n return Content\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.LeftContentWrapper, wrapperClassName)}\n >\n {Content}\n </div>\n )\n}\n\nfunction TextFieldRightContent({\n children,\n wrapperStyle,\n wrapperClassName,\n withoutWrapper,\n}: {\n children: TextFieldProps['rightContent']\n wrapperStyle: TextFieldProps['rightWrapperStyle']\n wrapperClassName: TextFieldProps['rightWrapperClassName']\n withoutWrapper: TextFieldProps['withoutRightContentWrapper']\n}) {\n const renderRightItem = useCallback(\n (item: TextFieldItemProps, key?: string) => {\n if ('icon' in item) {\n const Comp = !isNil(item.onClick) ? BaseButton : 'div'\n\n return (\n <Comp\n key={key}\n className={styles.RightItemWrapper}\n onClick={item.onClick}\n >\n <Icon\n source={item.icon}\n size=\"xs\"\n color={item.iconColor ?? 'txt-black-dark'}\n />\n </Comp>\n )\n }\n\n return React.cloneElement(item, { key })\n },\n []\n )\n\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n const contents = isArray(children)\n ? children.map((item) => renderRightItem(item, uuid()))\n : renderRightItem(children)\n\n if (withoutWrapper) {\n return <>{contents}</>\n }\n\n return (\n <div\n style={wrapperStyle}\n className={classNames(styles.RightContentWrapper, wrapperClassName)}\n >\n {contents}\n </div>\n )\n}\n\nexport const TextField = forwardRef<TextFieldRef, TextFieldProps>(\n function TextField(\n {\n type,\n size: sizeProps,\n autoFocus,\n autoComplete = 'off',\n variant = 'primary',\n allowClear = false,\n selectAllOnInit = false,\n selectAllOnFocus = false,\n leftContent,\n rightContent,\n withoutLeftContentWrapper = false,\n withoutRightContentWrapper = false,\n style,\n className,\n wrapperStyle,\n wrapperClassName,\n leftWrapperStyle,\n leftWrapperClassName,\n rightWrapperStyle,\n rightWrapperClassName,\n value,\n onFocus,\n onChange,\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { window } = useWindow()\n\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const focusTimeout = useRef<ReturnType<Window['setTimeout']>>()\n const blurTimeout = useRef<ReturnType<Window['setTimeout']>>()\n\n const normalizedValue = isNil(value) ? undefined : toString(value)\n const activeInput = !disabled && !readOnly\n const activeClear = activeInput && allowClear && !isEmpty(normalizedValue)\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n\n const focus = useCallback(() => {\n clearTimeout(focusTimeout.current)\n focusTimeout.current = window.setTimeout(() => {\n inputRef.current?.focus()\n }, 0)\n }, [window])\n\n const blur = useCallback(() => {\n clearTimeout(blurTimeout.current)\n blurTimeout.current = window.setTimeout(() => {\n inputRef.current?.blur()\n }, 0)\n }, [window])\n\n const setSelectionRange = useCallback(\n (start?: number, end?: number, direction?: SelectionRangeDirections) => {\n if (type && ['number', 'email', 'hidden'].includes(type)) {\n return\n }\n inputRef.current?.setSelectionRange(\n start || 0,\n end || 0,\n direction || 'none'\n )\n },\n [type]\n )\n\n const getSelectionRange = useCallback(\n (): [number, number] => [\n inputRef.current?.selectionStart || 0,\n inputRef.current?.selectionEnd || 0,\n ],\n []\n )\n\n const selectAll = useCallback(() => {\n focus()\n if (inputRef.current) {\n setSelectionRange(0, inputRef.current.value.length, 'backward')\n }\n }, [focus, setSelectionRange])\n\n const unselect = useCallback(() => {\n focus()\n if (inputRef.current) {\n const valueLen = inputRef.current.value.length\n setSelectionRange(valueLen, valueLen)\n }\n }, [focus, setSelectionRange])\n\n const getBoundingClientRect = useCallback((): DOMRect => {\n if (inputRef.current) {\n return inputRef.current.getBoundingClientRect()\n }\n return new DOMRect(undefined, undefined, 0, 0)\n }, [])\n\n const getDOMNode = useCallback(() => inputRef.current, [])\n\n const handle = useMemo(\n (): TextFieldRef => ({\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n }),\n [\n focus,\n blur,\n setSelectionRange,\n getSelectionRange,\n selectAll,\n unselect,\n getBoundingClientRect,\n getDOMNode,\n ]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n useEffect(() => {\n if (autoFocus) {\n focus()\n }\n if (selectAllOnInit) {\n focus()\n selectAll()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n if (!activeInput) {\n return\n }\n if (selectAllOnFocus) {\n selectAll()\n }\n if (onFocus) {\n onFocus(event)\n }\n },\n [selectAllOnFocus, selectAll, activeInput, onFocus]\n )\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (activeInput && onChange) {\n onChange(event)\n }\n },\n [activeInput, onChange]\n )\n\n const {\n handleKeyDown: handleKeyDownWrappedWithComposingLocker,\n handleKeyUp: handleKeyUpWrappedWithComposingLocker,\n } = useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyDownWrappedWithComposingLocker) {\n handleKeyDownWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyDownWrappedWithComposingLocker]\n )\n\n const handleKeyUp = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (activeInput && handleKeyUpWrappedWithComposingLocker) {\n handleKeyUpWrappedWithComposingLocker(event)\n }\n },\n [activeInput, handleKeyUpWrappedWithComposingLocker]\n )\n\n const handleClear = useCallback(() => {\n const input = inputRef.current\n if (activeInput && input) {\n const setValue = Object?.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value'\n )?.set\n const event = new Event('input', { bubbles: true })\n setValue?.call(input, '')\n input.dispatchEvent(event)\n }\n }, [activeInput])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n style={wrapperStyle}\n className={classNames(\n styles.TextFieldWrapper,\n styles[`variant-${variant}`],\n styles[`size-${size}`],\n getFormFieldSizeClassName(size),\n wrapperClassName\n )}\n data-testid={TEXT_INPUT_TEST_ID}\n onMouseDown={focus}\n >\n <TextFieldLeftContent\n wrapperStyle={leftWrapperStyle}\n wrapperClassName={leftWrapperClassName}\n withoutWrapper={withoutLeftContentWrapper}\n >\n {leftContent}\n </TextFieldLeftContent>\n\n <input\n style={style}\n className={classNames(styles.TextFieldInput, className)}\n ref={inputRef}\n type={type}\n value={normalizedValue}\n /**\n * Invalid size attribute\n * FIXME: https://github.com/channel-io/bezier-react/issues/1053\n */\n size={INPUT_LENGTH_BY_SIZE[size]}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onFocus={handleFocus}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n {...ownProps}\n />\n\n {activeClear && (\n <BaseButton\n className={styles.CloseIconWrapper}\n tabIndex={0}\n onClick={handleClear}\n >\n <Icon\n className={styles.CloseIcon}\n data-testid={TEXT_INPUT_CLEAR_ICON_TEST_ID}\n source={CancelCircleFilledIcon}\n size=\"xs\"\n />\n </BaseButton>\n )}\n\n <TextFieldRightContent\n wrapperStyle={rightWrapperStyle}\n withoutWrapper={withoutRightContentWrapper}\n wrapperClassName={rightWrapperClassName}\n >\n {rightContent}\n </TextFieldRightContent>\n </div>\n )\n }\n)\n"],"names":["TEXT_INPUT_TEST_ID","TEXT_INPUT_CLEAR_ICON_TEST_ID","INPUT_LENGTH_BY_SIZE","xs","m","l","xl","TextFieldLeftContent","children","wrapperStyle","wrapperClassName","withoutWrapper","isNil","Content","_children$iconColor","React","createElement","Icon","className","onClick","styles","clickable","undefined","source","icon","size","color","iconColor","style","classNames","LeftContentWrapper","TextFieldRightContent","renderRightItem","useCallback","item","key","_item$iconColor","Comp","BaseButton","RightItemWrapper","cloneElement","isEmpty","contents","isArray","map","uuid","Fragment","RightContentWrapper","TextField","forwardRef","type","sizeProps","autoFocus","autoComplete","variant","allowClear","selectAllOnInit","selectAllOnFocus","leftContent","rightContent","withoutLeftContentWrapper","withoutRightContentWrapper","leftWrapperStyle","leftWrapperClassName","rightWrapperStyle","rightWrapperClassName","value","onFocus","onChange","onKeyDown","onKeyUp","rest","forwardedRef","_ref","window","useWindow","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","focusTimeout","useRef","blurTimeout","normalizedValue","toString","activeInput","activeClear","inputRef","focus","clearTimeout","current","setTimeout","_inputRef$current","blur","_inputRef$current2","setSelectionRange","start","end","direction","_inputRef$current3","includes","getSelectionRange","_inputRef$current4","_inputRef$current5","selectionStart","selectionEnd","selectAll","length","unselect","valueLen","getBoundingClientRect","DOMRect","getDOMNode","handle","useMemo","useImperativeHandle","useEffect","handleFocus","event","handleChange","handleKeyDown","handleKeyDownWrappedWithComposingLocker","handleKeyUp","handleKeyUpWrappedWithComposingLocker","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","handleClear","input","_Object$getOwnPropert","setValue","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","Event","bubbles","call","dispatchEvent","TextFieldWrapper","getFormFieldSizeClassName","onMouseDown","assign","TextFieldInput","ref","CloseIconWrapper","tabIndex","CloseIcon","CancelCircleFilledIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.mjs","sources":["../../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { TokenProvider, useTokenContext } from '~/src/components/TokenProvider'\n\nimport {\n type FixedThemeProviderProps,\n type ThemeProviderProps,\n} from './ThemeProvider.types'\n\n/**\n * `useThemeName` is a hook that returns the current theme name.\n */\nexport function useThemeName() {\n return useTokenContext('useThemeName').themeName\n}\n\n/**\n * `useTokens` is a hook that returns the design tokens of the current theme.\n */\nexport function useTokens() {\n return useTokenContext('useTokens').tokens\n}\n\n/**\n * `ThemeProvider` is a wrapper component that provides theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const ThemeProvider = forwardRef<HTMLElement, ThemeProviderProps>(\n function ThemeProvider({ themeName, children, ...rest }, forwardedRef) {\n return (\n <TokenProvider themeName={themeName}>\n <Slot\n ref={forwardedRef}\n // TODO: Change data attribute constant to import from bezier-tokens\n data-bezier-theme={themeName}\n {...rest}\n >\n {children}\n </Slot>\n </TokenProvider>\n )\n }\n)\n\n/**\n * `LightThemeProvider` is a wrapper component that provides light theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const LightThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function LightTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName=\"light\"\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n\n/**\n * `DarkThemeProvider` is a wrapper component that provides dark theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const DarkThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function DarkTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName=\"dark\"\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n\n/**\n * `InvertedThemeProvider` is a wrapper component that provides inverted theme context.\n */\nexport const InvertedThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function InvertedTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName={useThemeName() === 'light' ? 'dark' : 'light'}\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n"],"names":["useThemeName","useTokenContext","themeName","useTokens","tokens","ThemeProvider","forwardRef","children","rest","forwardedRef","React","createElement","TokenProvider","Slot","Object","assign","ref","LightThemeProvider","LightTheme","DarkThemeProvider","DarkTheme","InvertedThemeProvider","InvertedTheme"],"mappings":";;;;AAaA;AACA;AACA;AACO,SAASA,YAAYA,GAAG;AAC7B,EAAA,OAAOC,eAAe,CAAC,cAAc,CAAC,CAACC,SAAS
|
|
1
|
+
{"version":3,"file":"ThemeProvider.mjs","sources":["../../../../src/components/ThemeProvider/ThemeProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { TokenProvider, useTokenContext } from '~/src/components/TokenProvider'\n\nimport {\n type FixedThemeProviderProps,\n type ThemeProviderProps,\n} from './ThemeProvider.types'\n\n/**\n * `useThemeName` is a hook that returns the current theme name.\n */\nexport function useThemeName() {\n return useTokenContext('useThemeName').themeName\n}\n\n/**\n * `useTokens` is a hook that returns the design tokens of the current theme.\n */\nexport function useTokens() {\n return useTokenContext('useTokens').tokens\n}\n\n/**\n * `ThemeProvider` is a wrapper component that provides theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const ThemeProvider = forwardRef<HTMLElement, ThemeProviderProps>(\n function ThemeProvider({ themeName, children, ...rest }, forwardedRef) {\n return (\n <TokenProvider themeName={themeName}>\n <Slot\n ref={forwardedRef}\n // TODO: Change data attribute constant to import from bezier-tokens\n data-bezier-theme={themeName}\n {...rest}\n >\n {children}\n </Slot>\n </TokenProvider>\n )\n }\n)\n\n/**\n * `LightThemeProvider` is a wrapper component that provides light theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const LightThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function LightTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName=\"light\"\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n\n/**\n * `DarkThemeProvider` is a wrapper component that provides dark theme context.\n *\n * Components that pass to children **must spread props and forward ref.**\n */\nexport const DarkThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function DarkTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName=\"dark\"\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n\n/**\n * `InvertedThemeProvider` is a wrapper component that provides inverted theme context.\n */\nexport const InvertedThemeProvider = forwardRef<\n HTMLElement,\n FixedThemeProviderProps\n>(function InvertedTheme({ children, ...rest }, forwardedRef) {\n return (\n <ThemeProvider\n ref={forwardedRef}\n themeName={useThemeName() === 'light' ? 'dark' : 'light'}\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n})\n"],"names":["useThemeName","useTokenContext","themeName","useTokens","tokens","ThemeProvider","forwardRef","children","rest","forwardedRef","React","createElement","TokenProvider","Slot","Object","assign","ref","LightThemeProvider","LightTheme","DarkThemeProvider","DarkTheme","InvertedThemeProvider","InvertedTheme"],"mappings":";;;;AAaA;AACA;AACA;AACO,SAASA,YAAYA,GAAG;AAC7B,EAAA,OAAOC,eAAe,CAAC,cAAc,CAAC,CAACC,SAAS;AAClD;;AAEA;AACA;AACA;AACO,SAASC,SAASA,GAAG;AAC1B,EAAA,OAAOF,eAAe,CAAC,WAAW,CAAC,CAACG,MAAM;AAC5C;;AAEA;AACA;AACA;AACA;AACA;MACaC,aAAa,gBAAGC,UAAU,CACrC,SAASD,aAAaA,CAAC;EAAEH,SAAS;EAAEK,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;AACrE,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,aAAa,EAAA;AAACV,IAAAA,SAAS,EAAEA;GACxBQ,eAAAA,cAAA,CAAAC,aAAA,CAACE,yCAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,GAAG,EAAEP;AACL;AAAA;IACA,mBAAmBP,EAAAA;AAAU,GAAA,EACzBM,IAAI,CAAA,EAEPD,QACG,CACO,CAAC;AAEpB,CACF;;AAEA;AACA;AACA;AACA;AACA;MACaU,kBAAkB,gBAAGX,UAAU,CAG1C,SAASY,UAAUA,CAAC;EAAEX,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;EACzD,oBACEC,cAAA,CAAAC,aAAA,CAACN,aAAa,EAAAS,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEP,YAAa;AAClBP,IAAAA,SAAS,EAAC;GACNM,EAAAA,IAAI,CAEPD,EAAAA,QACY,CAAC;AAEpB,CAAC;;AAED;AACA;AACA;AACA;AACA;MACaY,iBAAiB,gBAAGb,UAAU,CAGzC,SAASc,SAASA,CAAC;EAAEb,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;EACxD,oBACEC,cAAA,CAAAC,aAAA,CAACN,aAAa,EAAAS,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEP,YAAa;AAClBP,IAAAA,SAAS,EAAC;GACNM,EAAAA,IAAI,CAEPD,EAAAA,QACY,CAAC;AAEpB,CAAC;;AAED;AACA;AACA;MACac,qBAAqB,gBAAGf,UAAU,CAG7C,SAASgB,aAAaA,CAAC;EAAEf,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;EAC5D,oBACEC,cAAA,CAAAC,aAAA,CAACN,aAAa,EAAAS,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEP,YAAa;IAClBP,SAAS,EAAEF,YAAY,EAAE,KAAK,OAAO,GAAG,MAAM,GAAG;GAC7CQ,EAAAA,IAAI,CAEPD,EAAAA,QACY,CAAC;AAEpB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.mjs","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport {\n CancelIcon,\n CheckCircleFilledIcon,\n ErrorTriangleFilledIcon,\n InfoFilledIcon,\n WifiIcon,\n WifiOffIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getZIndexClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { noop } from '~/src/utils/function'\nimport { createContext } from '~/src/utils/react'\nimport { px } from '~/src/utils/style'\nimport { isString } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\nimport { InvertedThemeProvider } from '~/src/components/ThemeProvider'\nimport { useRootElement, useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type ToastContextValue,\n type ToastPlacement,\n type ToastPreset,\n type ToastProps,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport useToastProviderValues from './useToastContextValues'\n\nimport styles from './Toast.module.scss'\n\nfunction getToastPreset(preset: ToastPreset) {\n return {\n success: {\n icon: CheckCircleFilledIcon,\n appearance: 'success',\n },\n error: {\n icon: ErrorTriangleFilledIcon,\n appearance: 'error',\n },\n offline: {\n icon: WifiOffIcon,\n appearance: 'warning',\n },\n online: {\n icon: WifiIcon,\n appearance: 'success',\n },\n default: {\n icon: InfoFilledIcon,\n appearance: 'info',\n },\n }[preset]\n}\n\nexport function Toast({\n placement,\n appearance: appearanceProp,\n preset = 'default',\n icon: iconProp,\n content,\n zIndex = 'toast',\n autoDismiss = true,\n autoDismissTimeout,\n version = 0,\n onDismiss,\n}: ToastProps) {\n const { window } = useWindow()\n\n const dismissTimer = useRef<ReturnType<Window['setTimeout']>>()\n\n const [isSlidingOut, setIsSlidingOut] = useState(false)\n\n const className = classNames(\n styles.ToastElement,\n getZIndexClassName(zIndex),\n placement && styles[`placement-${placement}`],\n isSlidingOut && styles['slide-out']\n )\n\n const runSlideOutAnimation = useCallback(() => {\n setIsSlidingOut(true)\n }, [])\n\n const handleAnimationEnd = useCallback<React.AnimationEventHandler>(\n (event) => {\n if (\n event.animationName === styles['slide-out-left'] ||\n event.animationName === styles['slide-out-right']\n ) {\n onDismiss?.()\n }\n },\n [onDismiss]\n )\n\n useEffect(\n function startDismissTimer() {\n if (autoDismiss) {\n dismissTimer.current = window.setTimeout(\n runSlideOutAnimation,\n autoDismissTimeout\n )\n }\n\n return function cleanup() {\n if (dismissTimer.current != null) {\n clearTimeout(dismissTimer.current)\n }\n }\n },\n [autoDismiss, autoDismissTimeout, runSlideOutAnimation, window, version]\n )\n\n const { appearance, icon } = getToastPreset(preset)\n\n return (\n <div\n role=\"status\"\n className={className}\n onAnimationEnd={handleAnimationEnd}\n aria-hidden={ariaAttr(isSlidingOut)}\n >\n <div\n className={classNames(\n styles.IconWrapper,\n styles[`appearance-${appearanceProp ?? appearance}`]\n )}\n >\n <Icon\n source={iconProp ?? icon}\n size=\"s\"\n />\n </div>\n\n <div className={styles.Content}>\n <Text\n className={styles.EllipsisableContent}\n typo=\"14\"\n color=\"txt-black-darkest\"\n truncated={5}\n >\n {isString(content)\n ? content.split('\\n').map((str, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <React.Fragment key={index}>\n {index !== 0 && <br />}\n {str}\n </React.Fragment>\n ))\n : content}\n </Text>\n </div>\n\n <BaseButton\n className={styles.Close}\n onClick={runSlideOutAnimation}\n >\n <Icon\n source={CancelIcon}\n size=\"xs\"\n />\n </BaseButton>\n </div>\n )\n}\n\nconst [ToastContextProvider, useToastContext] =\n createContext<ToastContextValue>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n })\n\nconst DEFAULT_OFFSET = {\n left: 0,\n right: 0,\n bottom: 0,\n}\n\nexport function ToastProvider({\n autoDismissTimeout = 3000,\n container: givenContainer,\n zIndex = 'toast',\n offset = DEFAULT_OFFSET,\n children = [],\n}: ToastProviderProps) {\n const rootElement = useRootElement()\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const { leftToasts, rightToasts, dismiss } = toastContextValue\n const container = givenContainer ?? rootElement\n\n const createContainer = useCallback(\n (placement: ToastPlacement, toasts: ToastType[]) => (\n <InvertedThemeProvider key={placement}>\n <div\n style={{\n bottom: px(offset?.bottom ?? DEFAULT_OFFSET.bottom),\n ...(placement === 'bottom-right'\n ? { right: px(offset?.right ?? DEFAULT_OFFSET.right) }\n : { left: px(offset?.left ?? DEFAULT_OFFSET.left) }),\n }}\n className={classNames(\n styles.ToastContainer,\n getZIndexClassName(zIndex)\n )}\n >\n {toasts.map(({ id, onDismiss, ...rest }) => (\n <Toast\n {...rest}\n key={id}\n placement={placement}\n autoDismissTimeout={autoDismissTimeout}\n onDismiss={() => dismiss(id, onDismiss)}\n />\n ))}\n </div>\n </InvertedThemeProvider>\n ),\n [autoDismissTimeout, dismiss, offset, zIndex]\n )\n\n return (\n <ToastContextProvider value={toastContextValue}>\n {children}\n {isMounted &&\n createPortal(\n [\n createContainer('bottom-left', leftToasts),\n createContainer('bottom-right', rightToasts),\n ],\n container\n )}\n </ToastContextProvider>\n )\n}\n\nexport function useToast() {\n const context = useToastContext()\n\n if (!context) {\n throw Error(\"'useToast' must be used within 'ToastProvider'\")\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["getToastPreset","preset","success","icon","CheckCircleFilledIcon","appearance","error","ErrorTriangleFilledIcon","offline","WifiOffIcon","online","WifiIcon","default","InfoFilledIcon","Toast","placement","appearanceProp","iconProp","content","zIndex","autoDismiss","autoDismissTimeout","version","onDismiss","window","useWindow","dismissTimer","useRef","isSlidingOut","setIsSlidingOut","useState","className","classNames","styles","ToastElement","getZIndexClassName","runSlideOutAnimation","useCallback","handleAnimationEnd","event","animationName","useEffect","startDismissTimer","current","setTimeout","cleanup","clearTimeout","React","createElement","role","onAnimationEnd","ariaAttr","IconWrapper","Icon","source","size","Content","Text","EllipsisableContent","typo","color","truncated","isString","split","map","str","index","Fragment","key","BaseButton","Close","onClick","CancelIcon","ToastContextProvider","useToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts","DEFAULT_OFFSET","left","right","bottom","ToastProvider","container","givenContainer","offset","children","rootElement","useRootElement","isMounted","useIsMounted","toastContextValue","useToastProviderValues","dismiss","createContainer","toasts","_offset$bottom","_offset$right","_offset$left","InvertedThemeProvider","style","px","ToastContainer","id","rest","Object","assign","value","createPortal","useToast","context","Error","addToast","updateToast","removeToast","removeAllToasts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toast.mjs","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport {\n CancelIcon,\n CheckCircleFilledIcon,\n ErrorTriangleFilledIcon,\n InfoFilledIcon,\n WifiIcon,\n WifiOffIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getZIndexClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { noop } from '~/src/utils/function'\nimport { createContext } from '~/src/utils/react'\nimport { px } from '~/src/utils/style'\nimport { isString } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\nimport { InvertedThemeProvider } from '~/src/components/ThemeProvider'\nimport { useRootElement, useWindow } from '~/src/components/WindowProvider'\n\nimport {\n type ToastContextValue,\n type ToastPlacement,\n type ToastPreset,\n type ToastProps,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport useToastProviderValues from './useToastContextValues'\n\nimport styles from './Toast.module.scss'\n\nfunction getToastPreset(preset: ToastPreset) {\n return {\n success: {\n icon: CheckCircleFilledIcon,\n appearance: 'success',\n },\n error: {\n icon: ErrorTriangleFilledIcon,\n appearance: 'error',\n },\n offline: {\n icon: WifiOffIcon,\n appearance: 'warning',\n },\n online: {\n icon: WifiIcon,\n appearance: 'success',\n },\n default: {\n icon: InfoFilledIcon,\n appearance: 'info',\n },\n }[preset]\n}\n\nexport function Toast({\n placement,\n appearance: appearanceProp,\n preset = 'default',\n icon: iconProp,\n content,\n zIndex = 'toast',\n autoDismiss = true,\n autoDismissTimeout,\n version = 0,\n onDismiss,\n}: ToastProps) {\n const { window } = useWindow()\n\n const dismissTimer = useRef<ReturnType<Window['setTimeout']>>()\n\n const [isSlidingOut, setIsSlidingOut] = useState(false)\n\n const className = classNames(\n styles.ToastElement,\n getZIndexClassName(zIndex),\n placement && styles[`placement-${placement}`],\n isSlidingOut && styles['slide-out']\n )\n\n const runSlideOutAnimation = useCallback(() => {\n setIsSlidingOut(true)\n }, [])\n\n const handleAnimationEnd = useCallback<React.AnimationEventHandler>(\n (event) => {\n if (\n event.animationName === styles['slide-out-left'] ||\n event.animationName === styles['slide-out-right']\n ) {\n onDismiss?.()\n }\n },\n [onDismiss]\n )\n\n useEffect(\n function startDismissTimer() {\n if (autoDismiss) {\n dismissTimer.current = window.setTimeout(\n runSlideOutAnimation,\n autoDismissTimeout\n )\n }\n\n return function cleanup() {\n if (dismissTimer.current != null) {\n clearTimeout(dismissTimer.current)\n }\n }\n },\n [autoDismiss, autoDismissTimeout, runSlideOutAnimation, window, version]\n )\n\n const { appearance, icon } = getToastPreset(preset)\n\n return (\n <div\n role=\"status\"\n className={className}\n onAnimationEnd={handleAnimationEnd}\n aria-hidden={ariaAttr(isSlidingOut)}\n >\n <div\n className={classNames(\n styles.IconWrapper,\n styles[`appearance-${appearanceProp ?? appearance}`]\n )}\n >\n <Icon\n source={iconProp ?? icon}\n size=\"s\"\n />\n </div>\n\n <div className={styles.Content}>\n <Text\n className={styles.EllipsisableContent}\n typo=\"14\"\n color=\"txt-black-darkest\"\n truncated={5}\n >\n {isString(content)\n ? content.split('\\n').map((str, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <React.Fragment key={index}>\n {index !== 0 && <br />}\n {str}\n </React.Fragment>\n ))\n : content}\n </Text>\n </div>\n\n <BaseButton\n className={styles.Close}\n onClick={runSlideOutAnimation}\n >\n <Icon\n source={CancelIcon}\n size=\"xs\"\n />\n </BaseButton>\n </div>\n )\n}\n\nconst [ToastContextProvider, useToastContext] =\n createContext<ToastContextValue>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n })\n\nconst DEFAULT_OFFSET = {\n left: 0,\n right: 0,\n bottom: 0,\n}\n\nexport function ToastProvider({\n autoDismissTimeout = 3000,\n container: givenContainer,\n zIndex = 'toast',\n offset = DEFAULT_OFFSET,\n children = [],\n}: ToastProviderProps) {\n const rootElement = useRootElement()\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const { leftToasts, rightToasts, dismiss } = toastContextValue\n const container = givenContainer ?? rootElement\n\n const createContainer = useCallback(\n (placement: ToastPlacement, toasts: ToastType[]) => (\n <InvertedThemeProvider key={placement}>\n <div\n style={{\n bottom: px(offset?.bottom ?? DEFAULT_OFFSET.bottom),\n ...(placement === 'bottom-right'\n ? { right: px(offset?.right ?? DEFAULT_OFFSET.right) }\n : { left: px(offset?.left ?? DEFAULT_OFFSET.left) }),\n }}\n className={classNames(\n styles.ToastContainer,\n getZIndexClassName(zIndex)\n )}\n >\n {toasts.map(({ id, onDismiss, ...rest }) => (\n <Toast\n {...rest}\n key={id}\n placement={placement}\n autoDismissTimeout={autoDismissTimeout}\n onDismiss={() => dismiss(id, onDismiss)}\n />\n ))}\n </div>\n </InvertedThemeProvider>\n ),\n [autoDismissTimeout, dismiss, offset, zIndex]\n )\n\n return (\n <ToastContextProvider value={toastContextValue}>\n {children}\n {isMounted &&\n createPortal(\n [\n createContainer('bottom-left', leftToasts),\n createContainer('bottom-right', rightToasts),\n ],\n container\n )}\n </ToastContextProvider>\n )\n}\n\nexport function useToast() {\n const context = useToastContext()\n\n if (!context) {\n throw Error(\"'useToast' must be used within 'ToastProvider'\")\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["getToastPreset","preset","success","icon","CheckCircleFilledIcon","appearance","error","ErrorTriangleFilledIcon","offline","WifiOffIcon","online","WifiIcon","default","InfoFilledIcon","Toast","placement","appearanceProp","iconProp","content","zIndex","autoDismiss","autoDismissTimeout","version","onDismiss","window","useWindow","dismissTimer","useRef","isSlidingOut","setIsSlidingOut","useState","className","classNames","styles","ToastElement","getZIndexClassName","runSlideOutAnimation","useCallback","handleAnimationEnd","event","animationName","useEffect","startDismissTimer","current","setTimeout","cleanup","clearTimeout","React","createElement","role","onAnimationEnd","ariaAttr","IconWrapper","Icon","source","size","Content","Text","EllipsisableContent","typo","color","truncated","isString","split","map","str","index","Fragment","key","BaseButton","Close","onClick","CancelIcon","ToastContextProvider","useToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts","DEFAULT_OFFSET","left","right","bottom","ToastProvider","container","givenContainer","offset","children","rootElement","useRootElement","isMounted","useIsMounted","toastContextValue","useToastProviderValues","dismiss","createContainer","toasts","_offset$bottom","_offset$right","_offset$left","InvertedThemeProvider","style","px","ToastContainer","id","rest","Object","assign","value","createPortal","useToast","context","Error","addToast","updateToast","removeToast","removeAllToasts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastService.mjs","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\n\nconst defaultOptions: ToastOptions = {\n autoDismiss: false,\n rightSide: false,\n}\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce(\n (flag, toast) => (toast.id === toastId ? true : flag),\n false\n )\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (\n toastId: ToastId,\n content: ToastContent,\n options: ToastOptions = {}\n ) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter(\n (toast) => toast.id !== id\n )\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["defaultOptions","autoDismiss","rightSide","ToastService","toasts","getToasts","setToasts","newToasts","has","toastId","length","reduce","flag","toast","id","add","content","options","newId","uuid","newToast","version","update","map","remove","filter","removeAll"],"mappings":";;AASA,MAAMA,cAA4B,GAAG;AACnCC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"ToastService.mjs","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\n\nconst defaultOptions: ToastOptions = {\n autoDismiss: false,\n rightSide: false,\n}\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce(\n (flag, toast) => (toast.id === toastId ? true : flag),\n false\n )\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (\n toastId: ToastId,\n content: ToastContent,\n options: ToastOptions = {}\n ) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter(\n (toast) => toast.id !== id\n )\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["defaultOptions","autoDismiss","rightSide","ToastService","toasts","getToasts","setToasts","newToasts","has","toastId","length","reduce","flag","toast","id","add","content","options","newId","uuid","newToast","version","update","map","remove","filter","removeAll"],"mappings":";;AASA,MAAMA,cAA4B,GAAG;AACnCC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,YAAY,CAAC;AACjBC,EAAAA,MAAM,GAAgB,EAAE;AAExBC,EAAAA,SAAS,GAAGA,MAAM,IAAI,CAACD,MAAM;EAE7BE,SAAS,GAAIC,SAAsB,IAAK;IACtC,IAAI,CAACH,MAAM,GAAGG,SAAS;GACxB;EAEDC,GAAG,GAAIC,OAAgB,IAAK;AAC1B,IAAA,IAAI,CAAC,IAAI,CAACL,MAAM,CAACM,MAAM,EAAE;AACvB,MAAA,OAAO,KAAK;AACd;IACA,OAAO,IAAI,CAACN,MAAM,CAACO,MAAM,CACvB,CAACC,IAAI,EAAEC,KAAK,KAAMA,KAAK,CAACC,EAAE,KAAKL,OAAO,GAAG,IAAI,GAAGG,IAAK,EACrD,KACF,CAAC;GACF;AAEDG,EAAAA,GAAG,GAAGA,CAACC,OAAqB,EAAEC,OAAqB,GAAGjB,cAAc,KAAK;AACvE,IAAA,MAAMkB,KAAc,GAAGC,EAAI,EAAE;AAE7B,IAAA,IAAI,IAAI,CAACX,GAAG,CAACU,KAAK,CAAC,EAAE;AACnB,MAAA,OAAO,EAAE;AACX;AAEA,IAAA,MAAME,QAAmB,GAAG;AAC1BN,MAAAA,EAAE,EAAEI,KAAK;MACTF,OAAO;AACPK,MAAAA,OAAO,EAAE,CAAC;MACV,GAAGJ;KACJ;IACD,MAAMV,SAAsB,GAAG,CAAC,GAAG,IAAI,CAACH,MAAM,EAAEgB,QAAQ,CAAC;AACzD,IAAA,IAAI,CAACd,SAAS,CAACC,SAAS,CAAC;AACzB,IAAA,OAAOW,KAAK;GACb;EAEDI,MAAM,GAAGA,CACPb,OAAgB,EAChBO,OAAqB,EACrBC,OAAqB,GAAG,EAAE,KACvB;AACH,IAAA,IAAI,CAAC,IAAI,CAACT,GAAG,CAACC,OAAO,CAAC,EAAE;AACtB,MAAA,OAAO,EAAE;AACX;IAEA,MAAMF,SAAsB,GAAG,IAAI,CAACH,MAAM,CAACmB,GAAG,CAAEV,KAAK,IAAK;AACxD,MAAA,IAAIA,KAAK,CAACC,EAAE,KAAKL,OAAO,EAAE;QACxB,OAAO;AACL,UAAA,GAAGI,KAAK;AACR,UAAA,GAAGI,OAAO;AACVI,UAAAA,OAAO,EAAE,CAAAR,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEQ,OAAO,KAAI,IAAI,GAAGR,KAAK,CAACQ,OAAO,GAAG,CAAC,GAAG,CAAC;AACvDL,UAAAA;SACD;AACH;AACA,MAAA,OAAOH,KAAK;AACd,KAAC,CAAC;AACF,IAAA,IAAI,CAACP,SAAS,CAACC,SAAS,CAAC;AACzB,IAAA,OAAOE,OAAO;GACf;EAEDe,MAAM,GAAIV,EAAW,IAAc;AACjC,IAAA,IAAI,CAAC,IAAI,CAACN,GAAG,CAACM,EAAE,CAAC,EAAE;AACjB,MAAA,OAAO,KAAK;AACd;AACA,IAAA,MAAMP,SAAsB,GAAG,IAAI,CAACH,MAAM,CAACqB,MAAM,CAC9CZ,KAAK,IAAKA,KAAK,CAACC,EAAE,KAAKA,EAC1B,CAAC;AACD,IAAA,IAAI,CAACR,SAAS,CAACC,SAAS,CAAC;AACzB,IAAA,OAAO,IAAI,CAAC;GACb;EAEDmB,SAAS,GAAGA,MAAM;AAChB,IAAA,IAAI,CAAC,IAAI,CAACtB,MAAM,CAACM,MAAM,EAAE;AACvB,MAAA;AACF;AAEA,IAAA,IAAI,CAACJ,SAAS,CAAC,EAAE,CAAC;GACnB;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToastContextValues.mjs","sources":["../../../../src/components/Toast/useToastContextValues.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\n\nimport { noop } from '~/src/utils/function'\n\nimport {\n type OnDismissCallback,\n type ToastContent,\n type ToastContextValue,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\nimport ToastService from './ToastService'\n\ninterface UseToastContextValuesReturns extends ToastContextValue {\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n dismiss: (id: ToastId, callback?: OnDismissCallback) => void\n}\n\n/**\n * NOTE(@sol): The ToastService is enough to fulfill the responsibility of toast.\n * However, wrapping this for ToastProvider to create new features does not need to be done in bezier-react.\n * It would have been better to implement this function in service needed it of use.\n * Therefore, it would be good to pay attention to this part in a future update.\n */\n/**\n * @deprecated Implement this in your service with ToastProvider, not here.\n */\nfunction useToastContextValues(): UseToastContextValuesReturns {\n const leftToastService = useMemo(() => new ToastService(), [])\n const rightToastService = useMemo(() => new ToastService(), [])\n const [leftToasts, setLeftToasts] = useState<ToastType[]>([])\n const [rightToasts, setRightToasts] = useState<ToastType[]>([])\n\n const add = useCallback(\n (content: ToastContent, options?: ToastOptions) => {\n let result = ''\n if (options?.rightSide) {\n result = rightToastService.add(content, options)\n setRightToasts(rightToastService.getToasts())\n } else {\n result = leftToastService.add(content, options)\n setLeftToasts(leftToastService.getToasts())\n }\n return result\n },\n [leftToastService, rightToastService]\n )\n\n const update = useCallback(\n (toastId: ToastId, content: ToastContent, options?: ToastOptions) => {\n let result = ''\n if (options?.rightSide) {\n result = rightToastService.update(toastId, content, options)\n setRightToasts(rightToastService.getToasts())\n } else {\n result = leftToastService.update(toastId, content, options)\n setLeftToasts(leftToastService.getToasts())\n }\n return result\n },\n [leftToastService, rightToastService]\n )\n\n const remove = useCallback(\n (toastId: ToastId) => {\n if (leftToastService.remove(toastId)) {\n setLeftToasts(leftToastService.getToasts())\n }\n if (rightToastService.remove(toastId)) {\n setRightToasts(rightToastService.getToasts())\n }\n },\n [leftToastService, rightToastService]\n )\n\n const removeAll = useCallback(() => {\n leftToastService.removeAll()\n rightToastService.removeAll()\n setLeftToasts(leftToastService.getToasts())\n setRightToasts(rightToastService.getToasts())\n }, [leftToastService, rightToastService])\n\n const dismiss = useCallback(\n (toastId: ToastId, callback: OnDismissCallback = noop) => {\n callback(toastId)\n remove(toastId)\n },\n [remove]\n )\n\n return useMemo<UseToastContextValuesReturns>(\n () => ({\n add,\n update,\n remove,\n removeAll,\n leftToasts,\n rightToasts,\n dismiss,\n }),\n [add, update, remove, removeAll, leftToasts, rightToasts, dismiss]\n )\n}\n\nexport default useToastContextValues\n"],"names":["useToastContextValues","leftToastService","useMemo","ToastService","rightToastService","leftToasts","setLeftToasts","useState","rightToasts","setRightToasts","add","useCallback","content","options","result","rightSide","getToasts","update","toastId","remove","removeAll","dismiss","callback","noop"],"mappings":";;;;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,qBAAqBA,GAAiC;EAC7D,MAAMC,gBAAgB,GAAGC,OAAO,CAAC,MAAM,IAAIC,YAAY,EAAE,EAAE,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"useToastContextValues.mjs","sources":["../../../../src/components/Toast/useToastContextValues.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\n\nimport { noop } from '~/src/utils/function'\n\nimport {\n type OnDismissCallback,\n type ToastContent,\n type ToastContextValue,\n type ToastId,\n type ToastOptions,\n type ToastType,\n} from './Toast.types'\nimport ToastService from './ToastService'\n\ninterface UseToastContextValuesReturns extends ToastContextValue {\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n dismiss: (id: ToastId, callback?: OnDismissCallback) => void\n}\n\n/**\n * NOTE(@sol): The ToastService is enough to fulfill the responsibility of toast.\n * However, wrapping this for ToastProvider to create new features does not need to be done in bezier-react.\n * It would have been better to implement this function in service needed it of use.\n * Therefore, it would be good to pay attention to this part in a future update.\n */\n/**\n * @deprecated Implement this in your service with ToastProvider, not here.\n */\nfunction useToastContextValues(): UseToastContextValuesReturns {\n const leftToastService = useMemo(() => new ToastService(), [])\n const rightToastService = useMemo(() => new ToastService(), [])\n const [leftToasts, setLeftToasts] = useState<ToastType[]>([])\n const [rightToasts, setRightToasts] = useState<ToastType[]>([])\n\n const add = useCallback(\n (content: ToastContent, options?: ToastOptions) => {\n let result = ''\n if (options?.rightSide) {\n result = rightToastService.add(content, options)\n setRightToasts(rightToastService.getToasts())\n } else {\n result = leftToastService.add(content, options)\n setLeftToasts(leftToastService.getToasts())\n }\n return result\n },\n [leftToastService, rightToastService]\n )\n\n const update = useCallback(\n (toastId: ToastId, content: ToastContent, options?: ToastOptions) => {\n let result = ''\n if (options?.rightSide) {\n result = rightToastService.update(toastId, content, options)\n setRightToasts(rightToastService.getToasts())\n } else {\n result = leftToastService.update(toastId, content, options)\n setLeftToasts(leftToastService.getToasts())\n }\n return result\n },\n [leftToastService, rightToastService]\n )\n\n const remove = useCallback(\n (toastId: ToastId) => {\n if (leftToastService.remove(toastId)) {\n setLeftToasts(leftToastService.getToasts())\n }\n if (rightToastService.remove(toastId)) {\n setRightToasts(rightToastService.getToasts())\n }\n },\n [leftToastService, rightToastService]\n )\n\n const removeAll = useCallback(() => {\n leftToastService.removeAll()\n rightToastService.removeAll()\n setLeftToasts(leftToastService.getToasts())\n setRightToasts(rightToastService.getToasts())\n }, [leftToastService, rightToastService])\n\n const dismiss = useCallback(\n (toastId: ToastId, callback: OnDismissCallback = noop) => {\n callback(toastId)\n remove(toastId)\n },\n [remove]\n )\n\n return useMemo<UseToastContextValuesReturns>(\n () => ({\n add,\n update,\n remove,\n removeAll,\n leftToasts,\n rightToasts,\n dismiss,\n }),\n [add, update, remove, removeAll, leftToasts, rightToasts, dismiss]\n )\n}\n\nexport default useToastContextValues\n"],"names":["useToastContextValues","leftToastService","useMemo","ToastService","rightToastService","leftToasts","setLeftToasts","useState","rightToasts","setRightToasts","add","useCallback","content","options","result","rightSide","getToasts","update","toastId","remove","removeAll","dismiss","callback","noop"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenProvider.mjs","sources":["../../../../src/components/TokenProvider/TokenProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo } from 'react'\n\nimport { tokens } from '@channel.io/bezier-tokens'\n\nimport { type ThemeName } from '~/src/types/tokens'\nimport { createContext } from '~/src/utils/react'\n\nimport {\n type ThemeSpecificTokens,\n type TokenContextValue,\n type TokenProviderProps,\n} from './TokenProvider.types'\n\nconst [TokenContextProvider, useTokenContext] =\n createContext<TokenContextValue | null>(null, 'TokenProvider')\n\nexport { useTokenContext }\n\nconst tokenSet: Record<ThemeName, ThemeSpecificTokens> = Object.freeze({\n light: {\n global: tokens.global,\n semantic: tokens.lightTheme,\n },\n dark: {\n global: tokens.global,\n semantic: tokens.darkTheme,\n },\n})\n\n/**\n * @private\n */\nexport function TokenProvider({ themeName, children }: TokenProviderProps) {\n return (\n <TokenContextProvider\n value={useMemo(\n () => ({\n themeName,\n tokens: tokenSet[themeName],\n }),\n [themeName]\n )}\n >\n {children}\n </TokenContextProvider>\n )\n}\n"],"names":["TokenContextProvider","useTokenContext","createContext","tokenSet","Object","freeze","light","global","tokens","semantic","lightTheme","dark","darkTheme","TokenProvider","themeName","children","React","createElement","value","useMemo"],"mappings":";;;;AAeM,MAAA,CAACA,oBAAoB,EAAEC,eAAe,CAAC,GAC3CC,aAAa,CAA2B,IAAI,EAAE,eAAe
|
|
1
|
+
{"version":3,"file":"TokenProvider.mjs","sources":["../../../../src/components/TokenProvider/TokenProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo } from 'react'\n\nimport { tokens } from '@channel.io/bezier-tokens'\n\nimport { type ThemeName } from '~/src/types/tokens'\nimport { createContext } from '~/src/utils/react'\n\nimport {\n type ThemeSpecificTokens,\n type TokenContextValue,\n type TokenProviderProps,\n} from './TokenProvider.types'\n\nconst [TokenContextProvider, useTokenContext] =\n createContext<TokenContextValue | null>(null, 'TokenProvider')\n\nexport { useTokenContext }\n\nconst tokenSet: Record<ThemeName, ThemeSpecificTokens> = Object.freeze({\n light: {\n global: tokens.global,\n semantic: tokens.lightTheme,\n },\n dark: {\n global: tokens.global,\n semantic: tokens.darkTheme,\n },\n})\n\n/**\n * @private\n */\nexport function TokenProvider({ themeName, children }: TokenProviderProps) {\n return (\n <TokenContextProvider\n value={useMemo(\n () => ({\n themeName,\n tokens: tokenSet[themeName],\n }),\n [themeName]\n )}\n >\n {children}\n </TokenContextProvider>\n )\n}\n"],"names":["TokenContextProvider","useTokenContext","createContext","tokenSet","Object","freeze","light","global","tokens","semantic","lightTheme","dark","darkTheme","TokenProvider","themeName","children","React","createElement","value","useMemo"],"mappings":";;;;AAeM,MAAA,CAACA,oBAAoB,EAAEC,eAAe,CAAC,GAC3CC,aAAa,CAA2B,IAAI,EAAE,eAAe;AAI/D,MAAMC,QAAgD,GAAGC,MAAM,CAACC,MAAM,CAAC;AACrEC,EAAAA,KAAK,EAAE;IACLC,MAAM,EAAEC,MAAM,CAACD,MAAM;IACrBE,QAAQ,EAAED,MAAM,CAACE;GAClB;AACDC,EAAAA,IAAI,EAAE;IACJJ,MAAM,EAAEC,MAAM,CAACD,MAAM;IACrBE,QAAQ,EAAED,MAAM,CAACI;AACnB;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACO,SAASC,aAAaA,CAAC;EAAEC,SAAS;AAAEC,EAAAA;AAA6B,CAAC,EAAE;AACzE,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACjB,oBAAoB,EAAA;IACnBkB,KAAK,EAAEC,OAAO,CACZ,OAAO;MACLL,SAAS;MACTN,MAAM,EAAEL,QAAQ,CAACW,SAAS;AAC5B,KAAC,CAAC,EACF,CAACA,SAAS,CACZ;AAAE,GAAA,EAEDC,QACmB,CAAC;AAE3B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n AlphaTooltipPrimitive,\n AlphaTooltipPrimitiveContent,\n type AlphaTooltipPrimitiveContentProps,\n AlphaTooltipPrimitivePortal,\n AlphaTooltipPrimitiveProvider,\n AlphaTooltipPrimitiveTrigger,\n} from '~/src/components/AlphaTooltipPrimitive'\nimport { Icon } from '~/src/components/Icon'\nimport { HStack } from '~/src/components/Stack'\nimport { Text } from '~/src/components/Text'\nimport { InvertedThemeProvider } from '~/src/components/ThemeProvider'\nimport { useRootElement } from '~/src/components/WindowProvider'\n\nimport { type TooltipPosition, type TooltipProps } from './Tooltip.types'\n\nimport styles from './Tooltip.module.scss'\n\nfunction getSideAndAlign(\n placement: TooltipPosition\n): Pick<AlphaTooltipPrimitiveContentProps, 'side' | 'align'> {\n switch (placement) {\n case 'top-center':\n return {\n side: 'top',\n align: 'center',\n }\n case 'top-left':\n return {\n side: 'top',\n align: 'start',\n }\n case 'top-right':\n return {\n side: 'top',\n align: 'end',\n }\n case 'right-center':\n return {\n side: 'right',\n align: 'center',\n }\n case 'right-top':\n return {\n side: 'right',\n align: 'start',\n }\n case 'right-bottom':\n return {\n side: 'right',\n align: 'end',\n }\n case 'bottom-center':\n return {\n side: 'bottom',\n align: 'center',\n }\n case 'bottom-left':\n return {\n side: 'bottom',\n align: 'start',\n }\n case 'bottom-right':\n return {\n side: 'bottom',\n align: 'end',\n }\n case 'left-center':\n return {\n side: 'left',\n align: 'center',\n }\n case 'left-top':\n return {\n side: 'left',\n align: 'start',\n }\n case 'left-bottom':\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * Components that pass to children **must spread props and forward ref.**\n * @example\n * ```tsx\n * // Your component must spread props and forward ref.\n * const Button = React.forwardRef((props, forwardedRef) => (<button {...props} ref={forwardedRef} />))\n * // Then, you can use `Tooltip` with your component.\n * <Tooltip content=\"Ta-da!\">\n * <Button>Hover me</Button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(\n {\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n title,\n content,\n description,\n icon,\n placement = 'bottom-center',\n offset = 4,\n container: containerProp,\n keepInContainer = true,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n ...rest\n },\n forwardedRef\n ) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n\n const rootElement = useRootElement()\n const container = containerProp ?? rootElement\n\n const shouldBeHidden = useMemo(\n () => disabled || isEmpty(content),\n [disabled, content]\n )\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n useEffect(\n function forceHide() {\n if (shouldBeHidden) {\n onHide()\n }\n },\n [shouldBeHidden, onHide]\n )\n\n useEffect(\n function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n },\n [shouldBeHidden]\n )\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (shouldBeHidden) {\n return\n }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n },\n [shouldBeHidden, delayHide, onShow, onHide]\n )\n\n return (\n <AlphaTooltipPrimitiveProvider skipDelayDuration={0}>\n <AlphaTooltipPrimitive\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={!allowHover}\n onOpenChange={onOpenChange}\n >\n <AlphaTooltipPrimitiveTrigger asChild>\n {children}\n </AlphaTooltipPrimitiveTrigger>\n\n <AlphaTooltipPrimitivePortal container={container}>\n <InvertedThemeProvider>\n <AlphaTooltipPrimitiveContent\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <HStack\n spacing={4}\n className={styles.Tooltip}\n >\n <div className={styles.TooltipContainer}>\n {title && (\n <Text\n typo=\"13\"\n bold\n marginBottom={2}\n color=\"txt-black-darkest\"\n >\n {title}\n </Text>\n )}\n\n <Text\n color=\"txt-black-darkest\"\n className={styles.TooltipContent}\n truncated={20}\n typo=\"13\"\n >\n {content}\n </Text>\n\n {description && (\n <Text\n typo=\"12\"\n color=\"txt-black-dark\"\n >\n {description}\n </Text>\n )}\n </div>\n\n {icon && (\n <Icon\n size=\"xs\"\n color=\"txt-black-darkest\"\n source={icon}\n className={styles.Icon}\n />\n )}\n </HStack>\n </AlphaTooltipPrimitiveContent>\n </InvertedThemeProvider>\n </AlphaTooltipPrimitivePortal>\n </AlphaTooltipPrimitive>\n </AlphaTooltipPrimitiveProvider>\n )\n }\n)\n"],"names":["getSideAndAlign","placement","side","align","undefined","Tooltip","forwardRef","children","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","title","content","description","icon","offset","container","containerProp","keepInContainer","allowHover","delayShow","delayHide","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","rootElement","useRootElement","shouldBeHidden","useMemo","isEmpty","useCallback","useEffect","forceHide","cleanUpTimeout","cleanUp","current","clearTimeout","onOpenChange","open","setTimeout","React","createElement","AlphaTooltipPrimitiveProvider","skipDelayDuration","AlphaTooltipPrimitive","defaultOpen","delayDuration","disableHoverableContent","AlphaTooltipPrimitiveTrigger","asChild","AlphaTooltipPrimitivePortal","InvertedThemeProvider","AlphaTooltipPrimitiveContent","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","HStack","spacing","className","styles","TooltipContainer","Text","typo","bold","marginBottom","color","TooltipContent","truncated","Icon","size","source"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n AlphaTooltipPrimitive,\n AlphaTooltipPrimitiveContent,\n type AlphaTooltipPrimitiveContentProps,\n AlphaTooltipPrimitivePortal,\n AlphaTooltipPrimitiveProvider,\n AlphaTooltipPrimitiveTrigger,\n} from '~/src/components/AlphaTooltipPrimitive'\nimport { Icon } from '~/src/components/Icon'\nimport { HStack } from '~/src/components/Stack'\nimport { Text } from '~/src/components/Text'\nimport { InvertedThemeProvider } from '~/src/components/ThemeProvider'\nimport { useRootElement } from '~/src/components/WindowProvider'\n\nimport { type TooltipPosition, type TooltipProps } from './Tooltip.types'\n\nimport styles from './Tooltip.module.scss'\n\nfunction getSideAndAlign(\n placement: TooltipPosition\n): Pick<AlphaTooltipPrimitiveContentProps, 'side' | 'align'> {\n switch (placement) {\n case 'top-center':\n return {\n side: 'top',\n align: 'center',\n }\n case 'top-left':\n return {\n side: 'top',\n align: 'start',\n }\n case 'top-right':\n return {\n side: 'top',\n align: 'end',\n }\n case 'right-center':\n return {\n side: 'right',\n align: 'center',\n }\n case 'right-top':\n return {\n side: 'right',\n align: 'start',\n }\n case 'right-bottom':\n return {\n side: 'right',\n align: 'end',\n }\n case 'bottom-center':\n return {\n side: 'bottom',\n align: 'center',\n }\n case 'bottom-left':\n return {\n side: 'bottom',\n align: 'start',\n }\n case 'bottom-right':\n return {\n side: 'bottom',\n align: 'end',\n }\n case 'left-center':\n return {\n side: 'left',\n align: 'center',\n }\n case 'left-top':\n return {\n side: 'left',\n align: 'start',\n }\n case 'left-bottom':\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * Components that pass to children **must spread props and forward ref.**\n * @example\n * ```tsx\n * // Your component must spread props and forward ref.\n * const Button = React.forwardRef((props, forwardedRef) => (<button {...props} ref={forwardedRef} />))\n * // Then, you can use `Tooltip` with your component.\n * <Tooltip content=\"Ta-da!\">\n * <Button>Hover me</Button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(\n {\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n title,\n content,\n description,\n icon,\n placement = 'bottom-center',\n offset = 4,\n container: containerProp,\n keepInContainer = true,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n ...rest\n },\n forwardedRef\n ) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n\n const rootElement = useRootElement()\n const container = containerProp ?? rootElement\n\n const shouldBeHidden = useMemo(\n () => disabled || isEmpty(content),\n [disabled, content]\n )\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n useEffect(\n function forceHide() {\n if (shouldBeHidden) {\n onHide()\n }\n },\n [shouldBeHidden, onHide]\n )\n\n useEffect(\n function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n },\n [shouldBeHidden]\n )\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (shouldBeHidden) {\n return\n }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n },\n [shouldBeHidden, delayHide, onShow, onHide]\n )\n\n return (\n <AlphaTooltipPrimitiveProvider skipDelayDuration={0}>\n <AlphaTooltipPrimitive\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={!allowHover}\n onOpenChange={onOpenChange}\n >\n <AlphaTooltipPrimitiveTrigger asChild>\n {children}\n </AlphaTooltipPrimitiveTrigger>\n\n <AlphaTooltipPrimitivePortal container={container}>\n <InvertedThemeProvider>\n <AlphaTooltipPrimitiveContent\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <HStack\n spacing={4}\n className={styles.Tooltip}\n >\n <div className={styles.TooltipContainer}>\n {title && (\n <Text\n typo=\"13\"\n bold\n marginBottom={2}\n color=\"txt-black-darkest\"\n >\n {title}\n </Text>\n )}\n\n <Text\n color=\"txt-black-darkest\"\n className={styles.TooltipContent}\n truncated={20}\n typo=\"13\"\n >\n {content}\n </Text>\n\n {description && (\n <Text\n typo=\"12\"\n color=\"txt-black-dark\"\n >\n {description}\n </Text>\n )}\n </div>\n\n {icon && (\n <Icon\n size=\"xs\"\n color=\"txt-black-darkest\"\n source={icon}\n className={styles.Icon}\n />\n )}\n </HStack>\n </AlphaTooltipPrimitiveContent>\n </InvertedThemeProvider>\n </AlphaTooltipPrimitivePortal>\n </AlphaTooltipPrimitive>\n </AlphaTooltipPrimitiveProvider>\n )\n }\n)\n"],"names":["getSideAndAlign","placement","side","align","undefined","Tooltip","forwardRef","children","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","title","content","description","icon","offset","container","containerProp","keepInContainer","allowHover","delayShow","delayHide","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","rootElement","useRootElement","shouldBeHidden","useMemo","isEmpty","useCallback","useEffect","forceHide","cleanUpTimeout","cleanUp","current","clearTimeout","onOpenChange","open","setTimeout","React","createElement","AlphaTooltipPrimitiveProvider","skipDelayDuration","AlphaTooltipPrimitive","defaultOpen","delayDuration","disableHoverableContent","AlphaTooltipPrimitiveTrigger","asChild","AlphaTooltipPrimitivePortal","InvertedThemeProvider","AlphaTooltipPrimitiveContent","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","HStack","spacing","className","styles","TooltipContainer","Text","typo","bold","marginBottom","color","TooltipContent","truncated","Icon","size","source"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisuallyHidden.mjs","sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden'\n\nimport { type VisuallyHiddenProps } from './VisuallyHidden.types'\n\n/**\n * `VisuallyHidden` is a component that visually hides the content. It doesn't render any DOM node.\n * It is useful when you want to provide additional information to screen readers.\n * @example\n *\n * ```tsx\n * <VisuallyHidden>\n * <span>This is a visually hidden text.</span>\n * </VisuallyHidden>\n * ```\n */\nexport function VisuallyHidden({ children }: VisuallyHiddenProps) {\n return (\n <VisuallyHiddenPrimitive.Root asChild>\n {children}\n </VisuallyHiddenPrimitive.Root>\n )\n}\n"],"names":["VisuallyHidden","children","React","createElement","VisuallyHiddenPrimitive","asChild"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAcA,CAAC;AAAEC,EAAAA
|
|
1
|
+
{"version":3,"file":"VisuallyHidden.mjs","sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden'\n\nimport { type VisuallyHiddenProps } from './VisuallyHidden.types'\n\n/**\n * `VisuallyHidden` is a component that visually hides the content. It doesn't render any DOM node.\n * It is useful when you want to provide additional information to screen readers.\n * @example\n *\n * ```tsx\n * <VisuallyHidden>\n * <span>This is a visually hidden text.</span>\n * </VisuallyHidden>\n * ```\n */\nexport function VisuallyHidden({ children }: VisuallyHiddenProps) {\n return (\n <VisuallyHiddenPrimitive.Root asChild>\n {children}\n </VisuallyHiddenPrimitive.Root>\n )\n}\n"],"names":["VisuallyHidden","children","React","createElement","VisuallyHiddenPrimitive","asChild"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAcA,CAAC;AAAEC,EAAAA;AAA8B,CAAC,EAAE;AAChE,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,yCAA4B,EAAA;IAACC,OAAO,EAAA;AAAA,GAAA,EAClCJ,QAC2B,CAAC;AAEnC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowProvider.mjs","sources":["../../../../src/components/WindowProvider/WindowProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo } from 'react'\n\nimport { createContext } from '~/src/utils/react'\n\nimport {\n type WindowContextValue,\n type WindowProviderProps,\n} from './WindowProvider.types'\n\nconst [WindowContextProvider, useWindowContext] =\n createContext<WindowContextValue | null>(null, 'WindowProvider')\n\n/**\n * Custom hook to access the window context.\n */\nexport function useWindow() {\n return useWindowContext('useWindow')\n}\n\n/**\n * Custom hook to access the root element from the window context.\n */\nexport function useRootElement() {\n return useWindowContext('useRootElement').rootElement\n}\n\n/**\n * Component provider for the window context.\n * This component wraps its children in the WindowContextProvider, supplying\n * the window object and its root element to the context for consumption\n */\nexport function WindowProvider({ window, children }: WindowProviderProps) {\n return (\n <WindowContextProvider\n value={useMemo(\n () => ({\n window,\n document: window.document,\n rootElement: window.document.body,\n }),\n [window]\n )}\n >\n {children}\n </WindowContextProvider>\n )\n}\n"],"names":["WindowContextProvider","useWindowContext","createContext","useWindow","useRootElement","rootElement","WindowProvider","window","children","React","createElement","value","useMemo","document","body"],"mappings":";;;AAWA,MAAM,CAACA,qBAAqB,EAAEC,gBAAgB,CAAC,GAC7CC,aAAa,CAA4B,IAAI,EAAE,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"WindowProvider.mjs","sources":["../../../../src/components/WindowProvider/WindowProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo } from 'react'\n\nimport { createContext } from '~/src/utils/react'\n\nimport {\n type WindowContextValue,\n type WindowProviderProps,\n} from './WindowProvider.types'\n\nconst [WindowContextProvider, useWindowContext] =\n createContext<WindowContextValue | null>(null, 'WindowProvider')\n\n/**\n * Custom hook to access the window context.\n */\nexport function useWindow() {\n return useWindowContext('useWindow')\n}\n\n/**\n * Custom hook to access the root element from the window context.\n */\nexport function useRootElement() {\n return useWindowContext('useRootElement').rootElement\n}\n\n/**\n * Component provider for the window context.\n * This component wraps its children in the WindowContextProvider, supplying\n * the window object and its root element to the context for consumption\n */\nexport function WindowProvider({ window, children }: WindowProviderProps) {\n return (\n <WindowContextProvider\n value={useMemo(\n () => ({\n window,\n document: window.document,\n rootElement: window.document.body,\n }),\n [window]\n )}\n >\n {children}\n </WindowContextProvider>\n )\n}\n"],"names":["WindowContextProvider","useWindowContext","createContext","useWindow","useRootElement","rootElement","WindowProvider","window","children","React","createElement","value","useMemo","document","body"],"mappings":";;;AAWA,MAAM,CAACA,qBAAqB,EAAEC,gBAAgB,CAAC,GAC7CC,aAAa,CAA4B,IAAI,EAAE,gBAAgB,CAAC;;AAElE;AACA;AACA;AACO,SAASC,SAASA,GAAG;EAC1B,OAAOF,gBAAgB,CAAC,WAAW,CAAC;AACtC;;AAEA;AACA;AACA;AACO,SAASG,cAAcA,GAAG;AAC/B,EAAA,OAAOH,gBAAgB,CAAC,gBAAgB,CAAC,CAACI,WAAW;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAAC;EAAEC,MAAM;AAAEC,EAAAA;AAA8B,CAAC,EAAE;AACxE,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACV,qBAAqB,EAAA;IACpBW,KAAK,EAAEC,OAAO,CACZ,OAAO;MACLL,MAAM;MACNM,QAAQ,EAAEN,MAAM,CAACM,QAAQ;AACzBR,MAAAA,WAAW,EAAEE,MAAM,CAACM,QAAQ,CAACC;AAC/B,KAAC,CAAC,EACF,CAACP,MAAM,CACT;AAAE,GAAA,EAEDC,QACoB,CAAC;AAE5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventHandler.mjs","sources":["../../../src/hooks/useEventHandler.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react'\n\nimport { noop } from '~/src/utils/function'\nimport { isEqual } from '~/src/utils/object'\nimport { isFunction, isNil } from '~/src/utils/type'\n\ninterface HandlerOptionsProps {\n capture?: boolean\n once?: boolean\n passive?: boolean\n}\n\nfunction useEventHandler<K extends keyof HTMLElementEventMap>(\n element: any,\n eventName: K,\n handler: (event: HTMLElementEventMap[K]) => any,\n condition: boolean = true,\n options: boolean | HandlerOptionsProps = false\n) {\n const prevOptionsRef = useRef<boolean | HandlerOptionsProps>()\n\n const nextOptions = useMemo(() => {\n if (isEqual(prevOptionsRef.current, options)) {\n return prevOptionsRef.current\n }\n prevOptionsRef.current = options\n return options\n }, [options])\n\n useEffect(() => {\n if (!isNil(element) && isFunction(element.addEventListener) && condition) {\n element.addEventListener(eventName, handler, nextOptions)\n\n return function cleanup() {\n element.removeEventListener(eventName, handler, nextOptions)\n }\n }\n\n return noop\n }, [condition, element, eventName, nextOptions, handler])\n\n return null\n}\n\nexport default useEventHandler\n"],"names":["useEventHandler","element","eventName","handler","condition","options","prevOptionsRef","useRef","nextOptions","useMemo","isEqual","current","useEffect","isNil","isFunction","addEventListener","cleanup","removeEventListener","noop"],"mappings":";;;;;AAYA,SAASA,eAAeA,CACtBC,OAAY,EACZC,SAAY,EACZC,OAA+C,EAC/CC,SAAkB,GAAG,IAAI,EACzBC,OAAsC,GAAG,KAAK,EAC9C;AACA,EAAA,MAAMC,cAAc,GAAGC,MAAM,EAAiC
|
|
1
|
+
{"version":3,"file":"useEventHandler.mjs","sources":["../../../src/hooks/useEventHandler.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react'\n\nimport { noop } from '~/src/utils/function'\nimport { isEqual } from '~/src/utils/object'\nimport { isFunction, isNil } from '~/src/utils/type'\n\ninterface HandlerOptionsProps {\n capture?: boolean\n once?: boolean\n passive?: boolean\n}\n\nfunction useEventHandler<K extends keyof HTMLElementEventMap>(\n element: any,\n eventName: K,\n handler: (event: HTMLElementEventMap[K]) => any,\n condition: boolean = true,\n options: boolean | HandlerOptionsProps = false\n) {\n const prevOptionsRef = useRef<boolean | HandlerOptionsProps>()\n\n const nextOptions = useMemo(() => {\n if (isEqual(prevOptionsRef.current, options)) {\n return prevOptionsRef.current\n }\n prevOptionsRef.current = options\n return options\n }, [options])\n\n useEffect(() => {\n if (!isNil(element) && isFunction(element.addEventListener) && condition) {\n element.addEventListener(eventName, handler, nextOptions)\n\n return function cleanup() {\n element.removeEventListener(eventName, handler, nextOptions)\n }\n }\n\n return noop\n }, [condition, element, eventName, nextOptions, handler])\n\n return null\n}\n\nexport default useEventHandler\n"],"names":["useEventHandler","element","eventName","handler","condition","options","prevOptionsRef","useRef","nextOptions","useMemo","isEqual","current","useEffect","isNil","isFunction","addEventListener","cleanup","removeEventListener","noop"],"mappings":";;;;;AAYA,SAASA,eAAeA,CACtBC,OAAY,EACZC,SAAY,EACZC,OAA+C,EAC/CC,SAAkB,GAAG,IAAI,EACzBC,OAAsC,GAAG,KAAK,EAC9C;AACA,EAAA,MAAMC,cAAc,GAAGC,MAAM,EAAiC;AAE9D,EAAA,MAAMC,WAAW,GAAGC,OAAO,CAAC,MAAM;IAChC,IAAIC,OAAO,CAACJ,cAAc,CAACK,OAAO,EAAEN,OAAO,CAAC,EAAE;MAC5C,OAAOC,cAAc,CAACK,OAAO;AAC/B;IACAL,cAAc,CAACK,OAAO,GAAGN,OAAO;AAChC,IAAA,OAAOA,OAAO;AAChB,GAAC,EAAE,CAACA,OAAO,CAAC,CAAC;AAEbO,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACC,KAAK,CAACZ,OAAO,CAAC,IAAIa,UAAU,CAACb,OAAO,CAACc,gBAAgB,CAAC,IAAIX,SAAS,EAAE;MACxEH,OAAO,CAACc,gBAAgB,CAACb,SAAS,EAAEC,OAAO,EAAEK,WAAW,CAAC;MAEzD,OAAO,SAASQ,OAAOA,GAAG;QACxBf,OAAO,CAACgB,mBAAmB,CAACf,SAAS,EAAEC,OAAO,EAAEK,WAAW,CAAC;OAC7D;AACH;AAEA,IAAA,OAAOU,IAAI;AACb,GAAC,EAAE,CAACd,SAAS,EAAEH,OAAO,EAAEC,SAAS,EAAEM,WAAW,EAAEL,OAAO,CAAC,CAAC;AAEzD,EAAA,OAAO,IAAI;AACb;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useId.mjs","sources":["../../../src/hooks/useId.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react'\n\nimport { compact } from '~/src/utils/array'\nimport { getReactVersion } from '~/src/utils/react'\n\n/* @see https://github.com/chakra-ui/chakra-ui/blob/fa474bea3dcbdd4bbf2a26925f938d6e75a50c6d/packages/hooks/src/use-id.ts */\nconst idRef = Object.seal({ current: 1 })\n\nconst generateId = () => {\n const id = idRef.current\n idRef.current += 1\n return id\n}\n\nconst joinId = (...args: unknown[]) => compact(args).join('-')\n\nexport function useIdLegacy(idProp?: string, prefix?: string) {\n const [id, setId] = useState(idRef.current)\n\n useEffect(() => {\n if (idProp) {\n return\n }\n setId(generateId())\n }, [idProp])\n\n return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nfunction useId(idProp?: string, prefix?: string) {\n const id = React.useId()\n\n return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nconst isReactUnderV18 = getReactVersion().major < 18\n\nexport default isReactUnderV18 ? useIdLegacy : useId\n"],"names":["idRef","Object","seal","current","generateId","id","joinId","args","compact","join","useIdLegacy","idProp","prefix","setId","useState","useEffect","useMemo","useId","React","isReactUnderV18","getReactVersion","major"],"mappings":";;;;AAKA;AACA,MAAMA,KAAK,GAAGC,MAAM,CAACC,IAAI,CAAC;AAAEC,EAAAA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"useId.mjs","sources":["../../../src/hooks/useId.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react'\n\nimport { compact } from '~/src/utils/array'\nimport { getReactVersion } from '~/src/utils/react'\n\n/* @see https://github.com/chakra-ui/chakra-ui/blob/fa474bea3dcbdd4bbf2a26925f938d6e75a50c6d/packages/hooks/src/use-id.ts */\nconst idRef = Object.seal({ current: 1 })\n\nconst generateId = () => {\n const id = idRef.current\n idRef.current += 1\n return id\n}\n\nconst joinId = (...args: unknown[]) => compact(args).join('-')\n\nexport function useIdLegacy(idProp?: string, prefix?: string) {\n const [id, setId] = useState(idRef.current)\n\n useEffect(() => {\n if (idProp) {\n return\n }\n setId(generateId())\n }, [idProp])\n\n return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nfunction useId(idProp?: string, prefix?: string) {\n const id = React.useId()\n\n return useMemo(() => idProp || joinId(prefix, id), [idProp, prefix, id])\n}\n\nconst isReactUnderV18 = getReactVersion().major < 18\n\nexport default isReactUnderV18 ? useIdLegacy : useId\n"],"names":["idRef","Object","seal","current","generateId","id","joinId","args","compact","join","useIdLegacy","idProp","prefix","setId","useState","useEffect","useMemo","useId","React","isReactUnderV18","getReactVersion","major"],"mappings":";;;;AAKA;AACA,MAAMA,KAAK,GAAGC,MAAM,CAACC,IAAI,CAAC;AAAEC,EAAAA,OAAO,EAAE;AAAE,CAAC,CAAC;AAEzC,MAAMC,UAAU,GAAGA,MAAM;AACvB,EAAA,MAAMC,EAAE,GAAGL,KAAK,CAACG,OAAO;EACxBH,KAAK,CAACG,OAAO,IAAI,CAAC;AAClB,EAAA,OAAOE,EAAE;AACX,CAAC;AAED,MAAMC,MAAM,GAAGA,CAAC,GAAGC,IAAe,KAAKC,OAAO,CAACD,IAAI,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;AAEvD,SAASC,WAAWA,CAACC,MAAe,EAAEC,MAAe,EAAE;EAC5D,MAAM,CAACP,EAAE,EAAEQ,KAAK,CAAC,GAAGC,QAAQ,CAACd,KAAK,CAACG,OAAO,CAAC;AAE3CY,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIJ,MAAM,EAAE;AACV,MAAA;AACF;AACAE,IAAAA,KAAK,CAACT,UAAU,EAAE,CAAC;AACrB,GAAC,EAAE,CAACO,MAAM,CAAC,CAAC;AAEZ,EAAA,OAAOK,OAAO,CAAC,MAAML,MAAM,IAAIL,MAAM,CAACM,MAAM,EAAEP,EAAE,CAAC,EAAE,CAACM,MAAM,EAAEC,MAAM,EAAEP,EAAE,CAAC,CAAC;AAC1E;AAEA,SAASY,KAAKA,CAACN,MAAe,EAAEC,MAAe,EAAE;AAC/C,EAAA,MAAMP,EAAE,GAAGa,cAAK,CAACD,KAAK,EAAE;AAExB,EAAA,OAAOD,OAAO,CAAC,MAAML,MAAM,IAAIL,MAAM,CAACM,MAAM,EAAEP,EAAE,CAAC,EAAE,CAACM,MAAM,EAAEC,MAAM,EAAEP,EAAE,CAAC,CAAC;AAC1E;AAEA,MAAMc,eAAe,GAAGC,eAAe,EAAE,CAACC,KAAK,GAAG,EAAE;AAEpD,cAAeF,eAAe,GAAGT,WAAW,GAAGO,KAAK;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsMounted.mjs","sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport default function useIsMounted() {\n const [isMounted, setIsMounted] = useState(false)\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n return isMounted\n}\n"],"names":["useIsMounted","isMounted","setIsMounted","useState","useEffect"],"mappings":";;AAEe,SAASA,YAAYA,GAAG;EACrC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"useIsMounted.mjs","sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport default function useIsMounted() {\n const [isMounted, setIsMounted] = useState(false)\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n return isMounted\n}\n"],"names":["useIsMounted","isMounted","setIsMounted","useState","useEffect"],"mappings":";;AAEe,SAASA,YAAYA,GAAG;EACrC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;AAEjDC,EAAAA,SAAS,CAAC,MAAM;IACdF,YAAY,CAAC,IAAI,CAAC;GACnB,EAAE,EAAE,CAAC;AAEN,EAAA,OAAOD,SAAS;AAClB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardActionLockerWhileComposing.mjs","sources":["../../../src/hooks/useKeyboardActionLockerWhileComposing.ts"],"sourcesContent":["import type React from 'react'\nimport { useCallback, useRef } from 'react'\n\nexport const COMMON_IME_CONTROL_KEYS = [\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n]\n\ntype HandlerCache<TargetElement extends HTMLElement = HTMLInputElement> = Map<\n React.KeyboardEventHandler<TargetElement>,\n React.KeyboardEventHandler<TargetElement>\n>\ninterface UseKeyboardActionLockerWhileComposingProps<\n TargetElement extends HTMLElement = HTMLInputElement,\n> {\n keysToLock?: string[]\n onKeyDown?: React.KeyboardEventHandler<TargetElement>\n onKeyUp?: React.KeyboardEventHandler<TargetElement>\n}\n\nconst isSafari = () =>\n window.navigator.userAgent.search('Safari') >= 0 &&\n window.navigator.userAgent.search('Chrome') < 0\n\nexport function useKeyboardActionLockerWhileComposing<\n TargetElement extends HTMLElement = HTMLInputElement,\n>({\n keysToLock,\n onKeyDown,\n onKeyUp,\n}: UseKeyboardActionLockerWhileComposingProps<TargetElement>) {\n const handlerCache = useRef<HandlerCache<TargetElement>>(new Map())\n\n const wrapHandler = useCallback(\n (handler?: React.KeyboardEventHandler<TargetElement>) => {\n if (!handler) {\n return undefined\n }\n if (handlerCache.current.has(handler)) {\n return handlerCache.current.get(handler)\n }\n\n const wrappedHandler = (event: React.KeyboardEvent<TargetElement>) => {\n // NOTE: If keysToLock is not provided, lock all keys.\n const isKeyLocked =\n event.nativeEvent.isComposing &&\n (!keysToLock ||\n keysToLock.some((controlKey) => event.key === controlKey))\n /**\n * NOTE\n * According to the spec(https://www.w3.org/TR/uievents/#events-composition-key-events),\n * keyDown event that exit composition should be fired before compositionEnd event.\n * However, Safari has different behavior.\n * In Safari, keyDown event that exit composition is fired after compositionEnd event.\n * So, we need to prevent keyDown event that exit composition in Safari.\n * Browser fires keydown event with keyCode 229 when user is composing.\n * An event that exits composition is also fired with keyCode 229, even though it has fired after compositionEnd event.\n * Therefore, we need to check if the event is fired with keyCode 229 in Safari.\n */\n const isSafariKeydownWhileComposing =\n isSafari() && event.type === 'keydown' && event.keyCode === 229\n\n if (isKeyLocked || isSafariKeydownWhileComposing) {\n event.stopPropagation()\n return\n }\n handler?.(event)\n }\n\n handlerCache.current.set(handler, wrappedHandler)\n return wrappedHandler\n },\n [keysToLock]\n )\n\n return {\n handleKeyDown: wrapHandler(onKeyDown),\n handleKeyUp: wrapHandler(onKeyUp),\n }\n}\n"],"names":["COMMON_IME_CONTROL_KEYS","isSafari","window","navigator","userAgent","search","useKeyboardActionLockerWhileComposing","keysToLock","onKeyDown","onKeyUp","handlerCache","useRef","Map","wrapHandler","useCallback","handler","undefined","current","has","get","wrappedHandler","event","isKeyLocked","nativeEvent","isComposing","some","controlKey","key","isSafariKeydownWhileComposing","type","keyCode","stopPropagation","set","handleKeyDown","handleKeyUp"],"mappings":";;MAGaA,uBAAuB,GAAG,CACrC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,EACH,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY
|
|
1
|
+
{"version":3,"file":"useKeyboardActionLockerWhileComposing.mjs","sources":["../../../src/hooks/useKeyboardActionLockerWhileComposing.ts"],"sourcesContent":["import type React from 'react'\nimport { useCallback, useRef } from 'react'\n\nexport const COMMON_IME_CONTROL_KEYS = [\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n]\n\ntype HandlerCache<TargetElement extends HTMLElement = HTMLInputElement> = Map<\n React.KeyboardEventHandler<TargetElement>,\n React.KeyboardEventHandler<TargetElement>\n>\ninterface UseKeyboardActionLockerWhileComposingProps<\n TargetElement extends HTMLElement = HTMLInputElement,\n> {\n keysToLock?: string[]\n onKeyDown?: React.KeyboardEventHandler<TargetElement>\n onKeyUp?: React.KeyboardEventHandler<TargetElement>\n}\n\nconst isSafari = () =>\n window.navigator.userAgent.search('Safari') >= 0 &&\n window.navigator.userAgent.search('Chrome') < 0\n\nexport function useKeyboardActionLockerWhileComposing<\n TargetElement extends HTMLElement = HTMLInputElement,\n>({\n keysToLock,\n onKeyDown,\n onKeyUp,\n}: UseKeyboardActionLockerWhileComposingProps<TargetElement>) {\n const handlerCache = useRef<HandlerCache<TargetElement>>(new Map())\n\n const wrapHandler = useCallback(\n (handler?: React.KeyboardEventHandler<TargetElement>) => {\n if (!handler) {\n return undefined\n }\n if (handlerCache.current.has(handler)) {\n return handlerCache.current.get(handler)\n }\n\n const wrappedHandler = (event: React.KeyboardEvent<TargetElement>) => {\n // NOTE: If keysToLock is not provided, lock all keys.\n const isKeyLocked =\n event.nativeEvent.isComposing &&\n (!keysToLock ||\n keysToLock.some((controlKey) => event.key === controlKey))\n /**\n * NOTE\n * According to the spec(https://www.w3.org/TR/uievents/#events-composition-key-events),\n * keyDown event that exit composition should be fired before compositionEnd event.\n * However, Safari has different behavior.\n * In Safari, keyDown event that exit composition is fired after compositionEnd event.\n * So, we need to prevent keyDown event that exit composition in Safari.\n * Browser fires keydown event with keyCode 229 when user is composing.\n * An event that exits composition is also fired with keyCode 229, even though it has fired after compositionEnd event.\n * Therefore, we need to check if the event is fired with keyCode 229 in Safari.\n */\n const isSafariKeydownWhileComposing =\n isSafari() && event.type === 'keydown' && event.keyCode === 229\n\n if (isKeyLocked || isSafariKeydownWhileComposing) {\n event.stopPropagation()\n return\n }\n handler?.(event)\n }\n\n handlerCache.current.set(handler, wrappedHandler)\n return wrappedHandler\n },\n [keysToLock]\n )\n\n return {\n handleKeyDown: wrapHandler(onKeyDown),\n handleKeyUp: wrapHandler(onKeyUp),\n }\n}\n"],"names":["COMMON_IME_CONTROL_KEYS","isSafari","window","navigator","userAgent","search","useKeyboardActionLockerWhileComposing","keysToLock","onKeyDown","onKeyUp","handlerCache","useRef","Map","wrapHandler","useCallback","handler","undefined","current","has","get","wrappedHandler","event","isKeyLocked","nativeEvent","isComposing","some","controlKey","key","isSafariKeydownWhileComposing","type","keyCode","stopPropagation","set","handleKeyDown","handleKeyUp"],"mappings":";;MAGaA,uBAAuB,GAAG,CACrC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,EACH,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY;AAed,MAAMC,QAAQ,GAAGA,MACfC,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAChDH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AAE1C,SAASC,qCAAqCA,CAEnD;EACAC,UAAU;EACVC,SAAS;AACTC,EAAAA;AACyD,CAAC,EAAE;EAC5D,MAAMC,YAAY,GAAGC,MAAM,CAA8B,IAAIC,GAAG,EAAE,CAAC;AAEnE,EAAA,MAAMC,WAAW,GAAGC,WAAW,CAC5BC,OAAmD,IAAK;IACvD,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA,OAAOC,SAAS;AAClB;IACA,IAAIN,YAAY,CAACO,OAAO,CAACC,GAAG,CAACH,OAAO,CAAC,EAAE;AACrC,MAAA,OAAOL,YAAY,CAACO,OAAO,CAACE,GAAG,CAACJ,OAAO,CAAC;AAC1C;IAEA,MAAMK,cAAc,GAAIC,KAAyC,IAAK;AACpE;MACA,MAAMC,WAAW,GACfD,KAAK,CAACE,WAAW,CAACC,WAAW,KAC5B,CAACjB,UAAU,IACVA,UAAU,CAACkB,IAAI,CAAEC,UAAU,IAAKL,KAAK,CAACM,GAAG,KAAKD,UAAU,CAAC,CAAC;AAC9D;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ,MAAA,MAAME,6BAA6B,GACjC3B,QAAQ,EAAE,IAAIoB,KAAK,CAACQ,IAAI,KAAK,SAAS,IAAIR,KAAK,CAACS,OAAO,KAAK,GAAG;MAEjE,IAAIR,WAAW,IAAIM,6BAA6B,EAAE;QAChDP,KAAK,CAACU,eAAe,EAAE;AACvB,QAAA;AACF;AACAhB,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAGM,KAAK,CAAC;KACjB;IAEDX,YAAY,CAACO,OAAO,CAACe,GAAG,CAACjB,OAAO,EAAEK,cAAc,CAAC;AACjD,IAAA,OAAOA,cAAc;AACvB,GAAC,EACD,CAACb,UAAU,CACb,CAAC;EAED,OAAO;AACL0B,IAAAA,aAAa,EAAEpB,WAAW,CAACL,SAAS,CAAC;IACrC0B,WAAW,EAAErB,WAAW,CAACJ,OAAO;GACjC;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMergeRefs.mjs","sources":["../../../src/hooks/useMergeRefs.ts"],"sourcesContent":["import { useMemo } from 'react'\n\ntype ReactRef<Node> =\n | React.RefCallback<Node>\n | React.MutableRefObject<Node | null>\n\ntype Ref<Node> = ReactRef<Node> | null | undefined\ntype Refs<Node> = Array<Ref<Node>>\n\nfunction assignRef<Node>(ref: Ref<Node>, value: Node | null) {\n if (ref === null || ref === undefined) {\n return\n }\n\n if (typeof ref === 'function') {\n ref(value)\n return\n }\n\n try {\n ref.current = value\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n throw new Error(`Cannot assign value '${value}' to ref '${ref}'`)\n }\n}\n\nfunction mergeRefs<Node>(...refs: Refs<Node>) {\n return (node: Node | null) => {\n refs.forEach((ref) => {\n assignRef(ref, node)\n })\n }\n}\n\nexport default function useMergeRefs<Node>(...refs: Refs<Node>) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => mergeRefs(...refs), refs)\n}\n"],"names":["assignRef","ref","value","undefined","current","error","Error","mergeRefs","refs","node","forEach","useMergeRefs","useMemo"],"mappings":";;AASA,SAASA,SAASA,CAAOC,GAAc,EAAEC,KAAkB,EAAE;AAC3D,EAAA,IAAID,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKE,SAAS,EAAE;AACrC,IAAA
|
|
1
|
+
{"version":3,"file":"useMergeRefs.mjs","sources":["../../../src/hooks/useMergeRefs.ts"],"sourcesContent":["import { useMemo } from 'react'\n\ntype ReactRef<Node> =\n | React.RefCallback<Node>\n | React.MutableRefObject<Node | null>\n\ntype Ref<Node> = ReactRef<Node> | null | undefined\ntype Refs<Node> = Array<Ref<Node>>\n\nfunction assignRef<Node>(ref: Ref<Node>, value: Node | null) {\n if (ref === null || ref === undefined) {\n return\n }\n\n if (typeof ref === 'function') {\n ref(value)\n return\n }\n\n try {\n ref.current = value\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n throw new Error(`Cannot assign value '${value}' to ref '${ref}'`)\n }\n}\n\nfunction mergeRefs<Node>(...refs: Refs<Node>) {\n return (node: Node | null) => {\n refs.forEach((ref) => {\n assignRef(ref, node)\n })\n }\n}\n\nexport default function useMergeRefs<Node>(...refs: Refs<Node>) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => mergeRefs(...refs), refs)\n}\n"],"names":["assignRef","ref","value","undefined","current","error","Error","mergeRefs","refs","node","forEach","useMergeRefs","useMemo"],"mappings":";;AASA,SAASA,SAASA,CAAOC,GAAc,EAAEC,KAAkB,EAAE;AAC3D,EAAA,IAAID,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKE,SAAS,EAAE;AACrC,IAAA;AACF;AAEA,EAAA,IAAI,OAAOF,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;AACV,IAAA;AACF;EAEA,IAAI;IACFD,GAAG,CAACG,OAAO,GAAGF,KAAK;AACnB;GACD,CAAC,OAAOG,KAAK,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,CAAA,qBAAA,EAAwBJ,KAAK,CAAaD,UAAAA,EAAAA,GAAG,GAAG,CAAC;AACnE;AACF;AAEA,SAASM,SAASA,CAAO,GAAGC,IAAgB,EAAE;AAC5C,EAAA,OAAQC,IAAiB,IAAK;AAC5BD,IAAAA,IAAI,CAACE,OAAO,CAAET,GAAG,IAAK;AACpBD,MAAAA,SAAS,CAACC,GAAG,EAAEQ,IAAI,CAAC;AACtB,KAAC,CAAC;GACH;AACH;AAEe,SAASE,YAAYA,CAAO,GAAGH,IAAgB,EAAE;AAC9D;EACA,OAAOI,OAAO,CAAC,MAAML,SAAS,CAAC,GAAGC,IAAI,CAAC,EAAEA,IAAI,CAAC;AAChD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extends.mjs","sources":["../../../../../../../../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply"],"mappings":"AAAe,SAASA,QAAQA,GAAG;AACjCA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM,CAACC,IAAI,EAAE,GAAG,UAAUC,MAAM,EAAE;AAClE,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AACzC,MAAA,IAAIG,MAAM,GAAGF,SAAS,CAACD,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"extends.mjs","sources":["../../../../../../../../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply"],"mappings":"AAAe,SAASA,QAAQA,GAAG;AACjCA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM,CAACC,IAAI,EAAE,GAAG,UAAUC,MAAM,EAAE;AAClE,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AACzC,MAAA,IAAIG,MAAM,GAAGF,SAAS,CAACD,CAAC,CAAC;AACzB,MAAA,KAAK,IAAII,GAAG,IAAID,MAAM,EAAE;AACtB,QAAA,IAAIP,MAAM,CAACS,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,MAAM,EAAEC,GAAG,CAAC,EAAE;AACrDL,UAAAA,MAAM,CAACK,GAAG,CAAC,GAAGD,MAAM,CAACC,GAAG,CAAC;AAC3B;AACF;AACF;AACA,IAAA,OAAOL,MAAM;GACd;AACD,EAAA,OAAOJ,QAAQ,CAACa,KAAK,CAAC,IAAI,EAAEP,SAAS,CAAC;AACxC;;;;","x_google_ignoreList":[0]}
|
package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectWithoutPropertiesLoose.mjs","sources":["../../../../../../../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf"],"mappings":"AAAe,SAASA,6BAA6BA,CAACC,MAAM,EAAEC,QAAQ,EAAE;AACtE,EAAA,IAAID,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"objectWithoutPropertiesLoose.mjs","sources":["../../../../../../../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf"],"mappings":"AAAe,SAASA,6BAA6BA,CAACC,MAAM,EAAEC,QAAQ,EAAE;AACtE,EAAA,IAAID,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE;EAC7B,IAAIE,MAAM,GAAG,EAAE;AACf,EAAA,IAAIC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC;EACpC,IAAIM,GAAG,EAAEC,CAAC;AACV,EAAA,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,UAAU,CAACK,MAAM,EAAED,CAAC,EAAE,EAAE;AACtCD,IAAAA,GAAG,GAAGH,UAAU,CAACI,CAAC,CAAC;IACnB,IAAIN,QAAQ,CAACQ,OAAO,CAACH,GAAG,CAAC,IAAI,CAAC,EAAE;AAChCJ,IAAAA,MAAM,CAACI,GAAG,CAAC,GAAGN,MAAM,CAACM,GAAG,CAAC;AAC3B;AACA,EAAA,OAAOJ,MAAM;AACf;;;;","x_google_ignoreList":[0]}
|