@channel.io/bezier-react 2.0.6 → 2.0.7
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/AlphaAvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/AlphaSpinner/Spinner.js +38 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.js.map +1 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.module.scss.js +8 -0
- package/dist/cjs/components/AlphaSpinner/Spinner.module.scss.js.map +1 -0
- package/dist/cjs/components/AutoFocus/AutoFocus.js +2 -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/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseTagBadge/BaseTagBadge.js +3 -2
- 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.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/Emoji/Emoji.js.map +1 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.js +2 -1
- package/dist/cjs/components/FeatureProvider/FeatureProvider.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/LegacyStack/LegacyStack/LegacyStack.js.map +1 -1
- package/dist/cjs/components/LegacyStack/LegacyStackItem/LegacyStackItem.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/OutlineItem/OutlineItem.js.map +1 -1
- package/dist/cjs/components/Overlay/Overlay.js +3 -2
- 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/SegmentedControl/SegmentedControl.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/Text/Text.js.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.js +2 -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/Toast/Toast.js +3 -2
- package/dist/cjs/components/Toast/Toast.js.map +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +13 -0
- package/dist/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/cjs/hooks/useMergeRefs.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.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/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/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaSpinner/Spinner.mjs +35 -0
- package/dist/esm/components/AlphaSpinner/Spinner.mjs.map +1 -0
- package/dist/esm/components/AlphaSpinner/Spinner.module.scss.mjs +4 -0
- package/dist/esm/components/AlphaSpinner/Spinner.module.scss.mjs.map +1 -0
- package/dist/esm/components/AutoFocus/AutoFocus.mjs +3 -2
- package/dist/esm/components/AutoFocus/AutoFocus.mjs.map +1 -1
- package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
- package/dist/esm/components/Banner/Banner.mjs.map +1 -1
- package/dist/esm/components/BaseTagBadge/BaseTagBadge.mjs +3 -2
- 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.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/Emoji/Emoji.mjs.map +1 -1
- package/dist/esm/components/FeatureProvider/FeatureProvider.mjs +3 -2
- package/dist/esm/components/FeatureProvider/FeatureProvider.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/LegacyStack/LegacyStack/LegacyStack.mjs.map +1 -1
- package/dist/esm/components/LegacyStack/LegacyStackItem/LegacyStackItem.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/OutlineItem/OutlineItem.mjs.map +1 -1
- package/dist/esm/components/Overlay/Overlay.mjs +4 -3
- 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/SegmentedControl/SegmentedControl.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/Text/Text.mjs.map +1 -1
- package/dist/esm/components/TextArea/TextArea.mjs +3 -2
- package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
- package/dist/esm/components/TextField/TextField.mjs.map +1 -1
- package/dist/esm/components/Toast/Toast.mjs +3 -2
- package/dist/esm/components/Toast/Toast.mjs.map +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect.mjs +11 -0
- package/dist/esm/hooks/useIsomorphicLayoutEffect.mjs.map +1 -0
- package/dist/esm/hooks/useMergeRefs.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.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/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/types/components/AlphaSpinner/Spinner.d.ts +5 -0
- package/dist/types/components/AlphaSpinner/Spinner.d.ts.map +1 -0
- package/dist/types/components/AlphaSpinner/Spinner.types.d.ts +13 -0
- package/dist/types/components/AlphaSpinner/Spinner.types.d.ts.map +1 -0
- package/dist/types/components/AlphaSpinner/index.d.ts +3 -0
- package/dist/types/components/AlphaSpinner/index.d.ts.map +1 -0
- package/dist/types/components/AutoFocus/AutoFocus.d.ts.map +1 -1
- package/dist/types/components/BaseTagBadge/BaseTagBadge.d.ts.map +1 -1
- package/dist/types/components/FeatureProvider/FeatureProvider.d.ts.map +1 -1
- package/dist/types/components/Icon/Icon.types.d.ts +1 -1
- package/dist/types/components/Overlay/Overlay.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/types/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts +8 -0
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/AlphaSpinner/AlphaSpinner.stories.tsx +23 -0
- package/src/components/AlphaSpinner/Spinner.module.scss +66 -0
- package/src/components/AlphaSpinner/Spinner.test.tsx +34 -0
- package/src/components/AlphaSpinner/Spinner.tsx +50 -0
- package/src/components/AlphaSpinner/Spinner.types.ts +21 -0
- package/src/components/AlphaSpinner/index.ts +2 -0
- package/src/components/AutoFocus/AutoFocus.tsx +3 -2
- package/src/components/BaseTagBadge/BaseTagBadge.tsx +2 -1
- package/src/components/FeatureProvider/FeatureProvider.tsx +3 -2
- package/src/components/Icon/Icon.types.ts +1 -1
- package/src/components/Overlay/Overlay.tsx +3 -3
- package/src/components/TextArea/TextArea.tsx +3 -2
- package/src/components/Toast/Toast.module.scss +1 -1
- package/src/components/Toast/Toast.tsx +1 -2
- package/src/hooks/useIsomorphicLayoutEffect.ts +9 -0
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props-helpers.mjs","sources":["../../../src/types/props-helpers.ts"],"sourcesContent":["import classNames from 'classnames'\n\nimport {\n type FormFieldSize,\n type LayoutProps,\n type MarginProps,\n} from '~/src/types/props'\nimport { type Elevation, type Radius, type ZIndex } from '~/src/types/tokens'\nimport { cssDimension, tokenCssVar } from '~/src/utils/style'\n\n// NOTE: 'typescript-plugin-css-modules' does not support path alias\n/* eslint-disable no-restricted-imports */\nimport elevationStyles from '../styles/components/elevation.module.scss'\nimport formFieldSizeStyles from '../styles/components/form-field-size.module.scss'\nimport layoutStyles from '../styles/components/layout.module.scss'\nimport marginStyles from '../styles/components/margin.module.scss'\nimport radiusStyles from '../styles/components/radius.module.scss'\nimport zIndexStyles from '../styles/components/z-index.module.scss'\n/* eslint-enable no-restricted-imports */\n\nexport const splitByMarginProps = <Props extends MarginProps>({\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n ...rest\n}: Props): [MarginProps, Omit<Props, keyof MarginProps>] => [\n {\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n },\n rest,\n]\n\nexport const splitByLayoutProps = <Props extends LayoutProps>({\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n ...rest\n}: Props): [LayoutProps, Omit<Props, keyof LayoutProps>] => [\n {\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n },\n rest,\n]\n\nfunction getElevationClassName(elevation: Elevation) {\n return elevationStyles[`elevation-${elevation}`]\n}\n\nfunction getRadiusClassName(radius: Radius) {\n return radiusStyles[`radius-${radius}`]\n}\n\nexport function getZIndexClassName(zIndex: ZIndex) {\n return zIndexStyles[`z-index-${zIndex}`]\n}\n\nexport const getMarginStyles = ({\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n}: MarginProps) => ({\n style: {\n '--b-margin': cssDimension(margin),\n '--b-margin-horizontal': cssDimension(marginHorizontal),\n '--b-margin-vertical': cssDimension(marginVertical),\n '--b-margin-top': cssDimension(marginTop),\n '--b-margin-right': cssDimension(marginRight),\n '--b-margin-bottom': cssDimension(marginBottom),\n '--b-margin-left': cssDimension(marginLeft),\n },\n className: marginStyles.margin,\n})\n\nexport const getLayoutStyles = ({\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n}: LayoutProps) => ({\n style: {\n '--b-padding': cssDimension(padding),\n '--b-padding-horizontal': cssDimension(paddingHorizontal),\n '--b-padding-vertical': cssDimension(paddingVertical),\n '--b-padding-top': cssDimension(paddingTop),\n '--b-padding-right': cssDimension(paddingRight),\n '--b-padding-bottom': cssDimension(paddingBottom),\n '--b-padding-left': cssDimension(paddingLeft),\n '--b-width': cssDimension(width),\n '--b-height': cssDimension(height),\n '--b-max-width': cssDimension(maxWidth),\n '--b-min-width': cssDimension(minWidth),\n '--b-max-height': cssDimension(maxHeight),\n '--b-min-height': cssDimension(minHeight),\n '--b-inset': cssDimension(inset),\n '--b-top': cssDimension(top),\n '--b-right': cssDimension(right),\n '--b-bottom': cssDimension(bottom),\n '--b-left': cssDimension(left),\n '--b-shrink': shrink,\n '--b-grow': grow,\n '--b-background-color': tokenCssVar(backgroundColor),\n '--b-border-color': tokenCssVar(borderColor),\n '--b-border-width': cssDimension(borderWidth),\n '--b-border-top-width': cssDimension(borderTopWidth),\n '--b-border-right-width': cssDimension(borderRightWidth),\n '--b-border-bottom-width': cssDimension(borderBottomWidth),\n '--b-border-left-width': cssDimension(borderLeftWidth),\n },\n className: classNames(\n layoutStyles.layout,\n position && layoutStyles[`position-${position}`],\n overflow && layoutStyles[`overflow-${overflow}`],\n overflowX && layoutStyles[`overflow-x-${overflowX}`],\n overflowY && layoutStyles[`overflow-y-${overflowY}`],\n elevation && getElevationClassName(elevation),\n borderRadius && getRadiusClassName(borderRadius),\n zIndex && getZIndexClassName(zIndex)\n ),\n})\n\nexport function getFormFieldSizeClassName(size: FormFieldSize) {\n return formFieldSizeStyles[`size-${size}`]\n}\n"],"names":["splitByMarginProps","margin","marginHorizontal","marginVertical","marginTop","marginRight","marginBottom","marginLeft","rest","splitByLayoutProps","padding","paddingHorizontal","paddingVertical","paddingTop","paddingRight","paddingBottom","paddingLeft","width","height","maxWidth","minWidth","maxHeight","minHeight","position","inset","top","right","bottom","left","shrink","grow","backgroundColor","borderColor","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","elevation","zIndex","overflow","overflowX","overflowY","getElevationClassName","elevationStyles","getRadiusClassName","radius","radiusStyles","getZIndexClassName","zIndexStyles","getMarginStyles","style","cssDimension","className","marginStyles","getLayoutStyles","tokenCssVar","classNames","layoutStyles","layout","getFormFieldSizeClassName","size","formFieldSizeStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"props-helpers.mjs","sources":["../../../src/types/props-helpers.ts"],"sourcesContent":["import classNames from 'classnames'\n\nimport {\n type FormFieldSize,\n type LayoutProps,\n type MarginProps,\n} from '~/src/types/props'\nimport { type Elevation, type Radius, type ZIndex } from '~/src/types/tokens'\nimport { cssDimension, tokenCssVar } from '~/src/utils/style'\n\n// NOTE: 'typescript-plugin-css-modules' does not support path alias\n/* eslint-disable no-restricted-imports */\nimport elevationStyles from '../styles/components/elevation.module.scss'\nimport formFieldSizeStyles from '../styles/components/form-field-size.module.scss'\nimport layoutStyles from '../styles/components/layout.module.scss'\nimport marginStyles from '../styles/components/margin.module.scss'\nimport radiusStyles from '../styles/components/radius.module.scss'\nimport zIndexStyles from '../styles/components/z-index.module.scss'\n/* eslint-enable no-restricted-imports */\n\nexport const splitByMarginProps = <Props extends MarginProps>({\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n ...rest\n}: Props): [MarginProps, Omit<Props, keyof MarginProps>] => [\n {\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n },\n rest,\n]\n\nexport const splitByLayoutProps = <Props extends LayoutProps>({\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n ...rest\n}: Props): [LayoutProps, Omit<Props, keyof LayoutProps>] => [\n {\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n },\n rest,\n]\n\nfunction getElevationClassName(elevation: Elevation) {\n return elevationStyles[`elevation-${elevation}`]\n}\n\nfunction getRadiusClassName(radius: Radius) {\n return radiusStyles[`radius-${radius}`]\n}\n\nexport function getZIndexClassName(zIndex: ZIndex) {\n return zIndexStyles[`z-index-${zIndex}`]\n}\n\nexport const getMarginStyles = ({\n margin,\n marginHorizontal,\n marginVertical,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n}: MarginProps) => ({\n style: {\n '--b-margin': cssDimension(margin),\n '--b-margin-horizontal': cssDimension(marginHorizontal),\n '--b-margin-vertical': cssDimension(marginVertical),\n '--b-margin-top': cssDimension(marginTop),\n '--b-margin-right': cssDimension(marginRight),\n '--b-margin-bottom': cssDimension(marginBottom),\n '--b-margin-left': cssDimension(marginLeft),\n },\n className: marginStyles.margin,\n})\n\nexport const getLayoutStyles = ({\n padding,\n paddingHorizontal,\n paddingVertical,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n width,\n height,\n maxWidth,\n minWidth,\n maxHeight,\n minHeight,\n position,\n inset,\n top,\n right,\n bottom,\n left,\n shrink,\n grow,\n backgroundColor,\n borderColor,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n elevation,\n zIndex,\n overflow,\n overflowX,\n overflowY,\n}: LayoutProps) => ({\n style: {\n '--b-padding': cssDimension(padding),\n '--b-padding-horizontal': cssDimension(paddingHorizontal),\n '--b-padding-vertical': cssDimension(paddingVertical),\n '--b-padding-top': cssDimension(paddingTop),\n '--b-padding-right': cssDimension(paddingRight),\n '--b-padding-bottom': cssDimension(paddingBottom),\n '--b-padding-left': cssDimension(paddingLeft),\n '--b-width': cssDimension(width),\n '--b-height': cssDimension(height),\n '--b-max-width': cssDimension(maxWidth),\n '--b-min-width': cssDimension(minWidth),\n '--b-max-height': cssDimension(maxHeight),\n '--b-min-height': cssDimension(minHeight),\n '--b-inset': cssDimension(inset),\n '--b-top': cssDimension(top),\n '--b-right': cssDimension(right),\n '--b-bottom': cssDimension(bottom),\n '--b-left': cssDimension(left),\n '--b-shrink': shrink,\n '--b-grow': grow,\n '--b-background-color': tokenCssVar(backgroundColor),\n '--b-border-color': tokenCssVar(borderColor),\n '--b-border-width': cssDimension(borderWidth),\n '--b-border-top-width': cssDimension(borderTopWidth),\n '--b-border-right-width': cssDimension(borderRightWidth),\n '--b-border-bottom-width': cssDimension(borderBottomWidth),\n '--b-border-left-width': cssDimension(borderLeftWidth),\n },\n className: classNames(\n layoutStyles.layout,\n position && layoutStyles[`position-${position}`],\n overflow && layoutStyles[`overflow-${overflow}`],\n overflowX && layoutStyles[`overflow-x-${overflowX}`],\n overflowY && layoutStyles[`overflow-y-${overflowY}`],\n elevation && getElevationClassName(elevation),\n borderRadius && getRadiusClassName(borderRadius),\n zIndex && getZIndexClassName(zIndex)\n ),\n})\n\nexport function getFormFieldSizeClassName(size: FormFieldSize) {\n return formFieldSizeStyles[`size-${size}`]\n}\n"],"names":["splitByMarginProps","margin","marginHorizontal","marginVertical","marginTop","marginRight","marginBottom","marginLeft","rest","splitByLayoutProps","padding","paddingHorizontal","paddingVertical","paddingTop","paddingRight","paddingBottom","paddingLeft","width","height","maxWidth","minWidth","maxHeight","minHeight","position","inset","top","right","bottom","left","shrink","grow","backgroundColor","borderColor","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","elevation","zIndex","overflow","overflowX","overflowY","getElevationClassName","elevationStyles","getRadiusClassName","radius","radiusStyles","getZIndexClassName","zIndexStyles","getMarginStyles","style","cssDimension","className","marginStyles","getLayoutStyles","tokenCssVar","classNames","layoutStyles","layout","getFormFieldSizeClassName","size","formFieldSizeStyles"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.mjs","sources":["../../../src/utils/react.ts"],"sourcesContent":["import React from 'react'\n\nimport { assert } from './assert'\n\nexport const getReactVersion = () => {\n const [major, minor, patch] = React.version.split('.').map(Number)\n return { major, minor, patch }\n}\n\ntype NonNullableValue = object | number | string | boolean | bigint | symbol\n\ntype NonStrictContextValue = NonNullableValue | undefined\ntype StrictContextValue = NonNullableValue | null\n\n/**\n * A function that makes it easy to use the React `createContext` function.\n * @param defaultValue The default value of the context.\n * @param providerName The name of the provider component.\n * **Required if `defaultValue` is `null`able. (not `undefined`!)** Used to make the error message human-readable if contextValue is `null`.\n */\nexport function createContext<ContextValue extends NonStrictContextValue>(\n defaultValue: ContextValue\n): [React.Provider<ContextValue>, () => ContextValue]\nexport function createContext<ContextValue extends StrictContextValue>(\n defaultValue: ContextValue,\n providerName: string\n): [\n React.Provider<ContextValue>,\n (consumerName: string) => NonNullable<ContextValue>,\n]\nexport function createContext<ContextValue extends StrictContextValue>(\n defaultValue: ContextValue,\n providerName?: string\n) {\n const Context = React.createContext<ContextValue>(defaultValue)\n\n function useContext(consumerName?: any) {\n const contextValue = React.useContext(Context)\n\n assert(\n contextValue !== null,\n `'${consumerName}' must be used within '${providerName}'`\n )\n\n return contextValue\n }\n\n return [Context.Provider, useContext] as const\n}\n"],"names":["getReactVersion","major","minor","patch","React","version","split","map","Number","createContext","defaultValue","providerName","Context","useContext","consumerName","contextValue","assert","Provider"],"mappings":";;;AAIaA,MAAAA,eAAe,GAAGA,MAAM;EACnC,MAAM,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC,GAAGC,cAAK,CAACC,OAAO,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC,CAAA;EAClE,OAAO;IAAEP,KAAK;IAAEC,KAAK;AAAEC,IAAAA,KAAAA;GAAO,CAAA;AAChC,EAAC;;AAOD;AACA;AACA;AACA;AACA;AACA;;AAWO,SAASM,aAAaA,CAC3BC,YAA0B,EAC1BC,YAAqB,EACrB;AACA,EAAA,MAAMC,OAAO,gBAAGR,cAAK,CAACK,aAAa,CAAeC,YAAY,CAAC,CAAA;EAE/D,SAASG,UAAUA,CAACC,YAAkB,EAAE;AACtC,IAAA,MAAMC,YAAY,GAAGX,cAAK,CAACS,UAAU,CAACD,OAAO,CAAC,CAAA;IAE9CI,MAAM,CACJD,YAAY,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"react.mjs","sources":["../../../src/utils/react.ts"],"sourcesContent":["import React from 'react'\n\nimport { assert } from './assert'\n\nexport const getReactVersion = () => {\n const [major, minor, patch] = React.version.split('.').map(Number)\n return { major, minor, patch }\n}\n\ntype NonNullableValue = object | number | string | boolean | bigint | symbol\n\ntype NonStrictContextValue = NonNullableValue | undefined\ntype StrictContextValue = NonNullableValue | null\n\n/**\n * A function that makes it easy to use the React `createContext` function.\n * @param defaultValue The default value of the context.\n * @param providerName The name of the provider component.\n * **Required if `defaultValue` is `null`able. (not `undefined`!)** Used to make the error message human-readable if contextValue is `null`.\n */\nexport function createContext<ContextValue extends NonStrictContextValue>(\n defaultValue: ContextValue\n): [React.Provider<ContextValue>, () => ContextValue]\nexport function createContext<ContextValue extends StrictContextValue>(\n defaultValue: ContextValue,\n providerName: string\n): [\n React.Provider<ContextValue>,\n (consumerName: string) => NonNullable<ContextValue>,\n]\nexport function createContext<ContextValue extends StrictContextValue>(\n defaultValue: ContextValue,\n providerName?: string\n) {\n const Context = React.createContext<ContextValue>(defaultValue)\n\n function useContext(consumerName?: any) {\n const contextValue = React.useContext(Context)\n\n assert(\n contextValue !== null,\n `'${consumerName}' must be used within '${providerName}'`\n )\n\n return contextValue\n }\n\n return [Context.Provider, useContext] as const\n}\n"],"names":["getReactVersion","major","minor","patch","React","version","split","map","Number","createContext","defaultValue","providerName","Context","useContext","consumerName","contextValue","assert","Provider"],"mappings":";;;AAIaA,MAAAA,eAAe,GAAGA,MAAM;EACnC,MAAM,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC,GAAGC,cAAK,CAACC,OAAO,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC,CAAA;EAClE,OAAO;IAAEP,KAAK;IAAEC,KAAK;AAAEC,IAAAA,KAAAA;GAAO,CAAA;AAChC,EAAC;;AAOD;AACA;AACA;AACA;AACA;AACA;;AAWO,SAASM,aAAaA,CAC3BC,YAA0B,EAC1BC,YAAqB,EACrB;AACA,EAAA,MAAMC,OAAO,gBAAGR,cAAK,CAACK,aAAa,CAAeC,YAAY,CAAC,CAAA;EAE/D,SAASG,UAAUA,CAACC,YAAkB,EAAE;AACtC,IAAA,MAAMC,YAAY,GAAGX,cAAK,CAACS,UAAU,CAACD,OAAO,CAAC,CAAA;IAE9CI,MAAM,CACJD,YAAY,KAAK,IAAI,EACrB,IAAID,YAAY,CAAA,uBAAA,EAA0BH,YAAY,CAAA,CAAA,CACxD,CAAC,CAAA;AAED,IAAA,OAAOI,YAAY,CAAA;AACrB,GAAA;AAEA,EAAA,OAAO,CAACH,OAAO,CAACK,QAAQ,EAAEJ,UAAU,CAAC,CAAA;AACvC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.mjs","sources":["../../../src/utils/string.ts"],"sourcesContent":["import { isArray, isSymbol } from '~/src/utils/type'\n\nexport function toString(value: unknown): string {\n if (value == null) {\n return ''\n }\n if (typeof value === 'string') {\n return value\n }\n if (isArray(value)) {\n return `${value.map((other) => {\n if (other == null) {\n return other\n }\n return toString(other)\n })}`\n }\n if (isSymbol(value)) {\n return value.toString()\n }\n if (Object.is(-0, value)) {\n return '-0'\n }\n return `${value}`\n}\n\nexport const kebabCase = (value: string): string =>\n value\n .trim()\n .replace(/([a-z])([A-Z0-9])/g, '$1-$2')\n .replace(/([0-9])([a-zA-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n\nexport const camelCase = (value: string): string =>\n kebabCase(value)\n .replace(/-([a-z])/g, (_, p1) => p1.toUpperCase())\n .replace(/-([0-9])/g, (_, p1) => p1.toUpperCase())\n"],"names":["toString","value","isArray","map","other","isSymbol","Object","is"],"mappings":";;AAEO,SAASA,QAAQA,CAACC,KAAc,EAAU;EAC/C,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAIC,OAAO,CAACD,KAAK,CAAC,EAAE;AAClB,IAAA,
|
|
1
|
+
{"version":3,"file":"string.mjs","sources":["../../../src/utils/string.ts"],"sourcesContent":["import { isArray, isSymbol } from '~/src/utils/type'\n\nexport function toString(value: unknown): string {\n if (value == null) {\n return ''\n }\n if (typeof value === 'string') {\n return value\n }\n if (isArray(value)) {\n return `${value.map((other) => {\n if (other == null) {\n return other\n }\n return toString(other)\n })}`\n }\n if (isSymbol(value)) {\n return value.toString()\n }\n if (Object.is(-0, value)) {\n return '-0'\n }\n return `${value}`\n}\n\nexport const kebabCase = (value: string): string =>\n value\n .trim()\n .replace(/([a-z])([A-Z0-9])/g, '$1-$2')\n .replace(/([0-9])([a-zA-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n\nexport const camelCase = (value: string): string =>\n kebabCase(value)\n .replace(/-([a-z])/g, (_, p1) => p1.toUpperCase())\n .replace(/-([0-9])/g, (_, p1) => p1.toUpperCase())\n"],"names":["toString","value","isArray","map","other","isSymbol","Object","is"],"mappings":";;AAEO,SAASA,QAAQA,CAACC,KAAc,EAAU;EAC/C,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAIC,OAAO,CAACD,KAAK,CAAC,EAAE;AAClB,IAAA,OAAO,GAAGA,KAAK,CAACE,GAAG,CAAEC,KAAK,IAAK;MAC7B,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAOA,KAAK,CAAA;AACd,OAAA;MACA,OAAOJ,QAAQ,CAACI,KAAK,CAAC,CAAA;AACxB,KAAC,CAAC,CAAE,CAAA,CAAA;AACN,GAAA;AACA,EAAA,IAAIC,QAAQ,CAACJ,KAAK,CAAC,EAAE;AACnB,IAAA,OAAOA,KAAK,CAACD,QAAQ,EAAE,CAAA;AACzB,GAAA;EACA,IAAIM,MAAM,CAACC,EAAE,CAAC,CAAC,CAAC,EAAEN,KAAK,CAAC,EAAE;AACxB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EACA,OAAO,CAAA,EAAGA,KAAK,CAAE,CAAA,CAAA;AACnB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../src/utils/style.ts"],"sourcesContent":["import { type FlattenAllToken } from '~/src/types/tokens'\nimport { isNil, isString } from '~/src/utils/type'\n\n/**\n * Convert a number to a string with `px` suffix.\n * If the value is `0`, it will return `0` instead of `0px`.\n */\nexport function px<Value extends number>(value?: Value) {\n if (isNil(value)) {\n return undefined\n }\n if (value !== 0) {\n return `${value}px` as const\n }\n return value as 0\n}\n\n/**\n * Convert a number or string to a string with `px` suffix.\n * If the value is `0`, it will return `0` instead of `0px`.\n */\nexport function cssDimension<Value extends number | string>(value?: Value) {\n if (isNil(value)) {\n return undefined\n }\n if (isString(value)) {\n return value\n }\n if (value !== 0) {\n return `${value}px` as const\n }\n return value as 0\n}\n\n/**\n * Generates a CSS variable string with the given property name.\n */\nexport function cssVar<PropertyName extends string | undefined>(\n propertyName: PropertyName\n) {\n /* eslint-disable no-nested-ternary */\n return !isNil(propertyName) ? (`var(--${propertyName})` as const) : undefined\n /* eslint-enable no-nested-ternary */\n}\n\n/**\n * Wrapper function for `cssVar` to handle tokens specifically.\n * It generates a CSS variable string for a given design token.\n */\nexport function tokenCssVar<PropertyName extends FlattenAllToken | undefined>(\n propertyName: PropertyName\n) {\n return cssVar(propertyName)\n}\n\n/**\n * Formats a given URL string into a CSS `url()` function format.\n */\nexport function cssUrl(url?: string) {\n return isNil(url) ? undefined : `url(${url})`\n}\n"],"names":["px","value","isNil","undefined","cssDimension","isString","cssVar","propertyName","tokenCssVar","cssUrl","url"],"mappings":";;AAGA;AACA;AACA;AACA;AACO,SAASA,EAAEA,CAAuBC,KAAa,EAAE;AACtD,EAAA,IAAIC,KAAK,CAACD,KAAK,CAAC,EAAE;AAChB,IAAA,OAAOE,SAAS,CAAA;AAClB,GAAA;EACA,IAAIF,KAAK,KAAK,CAAC,EAAE;IACf,
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../src/utils/style.ts"],"sourcesContent":["import { type FlattenAllToken } from '~/src/types/tokens'\nimport { isNil, isString } from '~/src/utils/type'\n\n/**\n * Convert a number to a string with `px` suffix.\n * If the value is `0`, it will return `0` instead of `0px`.\n */\nexport function px<Value extends number>(value?: Value) {\n if (isNil(value)) {\n return undefined\n }\n if (value !== 0) {\n return `${value}px` as const\n }\n return value as 0\n}\n\n/**\n * Convert a number or string to a string with `px` suffix.\n * If the value is `0`, it will return `0` instead of `0px`.\n */\nexport function cssDimension<Value extends number | string>(value?: Value) {\n if (isNil(value)) {\n return undefined\n }\n if (isString(value)) {\n return value\n }\n if (value !== 0) {\n return `${value}px` as const\n }\n return value as 0\n}\n\n/**\n * Generates a CSS variable string with the given property name.\n */\nexport function cssVar<PropertyName extends string | undefined>(\n propertyName: PropertyName\n) {\n /* eslint-disable no-nested-ternary */\n return !isNil(propertyName) ? (`var(--${propertyName})` as const) : undefined\n /* eslint-enable no-nested-ternary */\n}\n\n/**\n * Wrapper function for `cssVar` to handle tokens specifically.\n * It generates a CSS variable string for a given design token.\n */\nexport function tokenCssVar<PropertyName extends FlattenAllToken | undefined>(\n propertyName: PropertyName\n) {\n return cssVar(propertyName)\n}\n\n/**\n * Formats a given URL string into a CSS `url()` function format.\n */\nexport function cssUrl(url?: string) {\n return isNil(url) ? undefined : `url(${url})`\n}\n"],"names":["px","value","isNil","undefined","cssDimension","isString","cssVar","propertyName","tokenCssVar","cssUrl","url"],"mappings":";;AAGA;AACA;AACA;AACA;AACO,SAASA,EAAEA,CAAuBC,KAAa,EAAE;AACtD,EAAA,IAAIC,KAAK,CAACD,KAAK,CAAC,EAAE;AAChB,IAAA,OAAOE,SAAS,CAAA;AAClB,GAAA;EACA,IAAIF,KAAK,KAAK,CAAC,EAAE;IACf,OAAO,CAAA,EAAGA,KAAK,CAAI,EAAA,CAAA,CAAA;AACrB,GAAA;AACA,EAAA,OAAOA,KAAK,CAAA;AACd,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASG,YAAYA,CAAgCH,KAAa,EAAE;AACzE,EAAA,IAAIC,KAAK,CAACD,KAAK,CAAC,EAAE;AAChB,IAAA,OAAOE,SAAS,CAAA;AAClB,GAAA;AACA,EAAA,IAAIE,QAAQ,CAACJ,KAAK,CAAC,EAAE;AACnB,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;EACA,IAAIA,KAAK,KAAK,CAAC,EAAE;IACf,OAAO,CAAA,EAAGA,KAAK,CAAI,EAAA,CAAA,CAAA;AACrB,GAAA;AACA,EAAA,OAAOA,KAAK,CAAA;AACd,CAAA;;AAEA;AACA;AACA;AACO,SAASK,MAAMA,CACpBC,YAA0B,EAC1B;AACA;EACA,OAAO,CAACL,KAAK,CAACK,YAAY,CAAC,GAAI,CAASA,MAAAA,EAAAA,YAAY,CAAG,CAAA,CAAA,GAAaJ,SAAS,CAAA;AAC7E;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASK,WAAWA,CACzBD,YAA0B,EAC1B;EACA,OAAOD,MAAM,CAACC,YAAY,CAAC,CAAA;AAC7B,CAAA;;AAEA;AACA;AACA;AACO,SAASE,MAAMA,CAACC,GAAY,EAAE;EACnC,OAAOR,KAAK,CAACQ,GAAG,CAAC,GAAGP,SAAS,GAAG,CAAOO,IAAAA,EAAAA,GAAG,CAAG,CAAA,CAAA,CAAA;AAC/C;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type SpinnerProps } from './Spinner.types';
|
|
3
|
+
export declare const SPINNER_TEST_ID = "bezier-spinner";
|
|
4
|
+
export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
|
|
5
|
+
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/AlphaSpinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAE/C,eAAO,MAAM,OAAO,sFAuCnB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type BezierComponentProps, type ColorProps, type SizeProps } from "../../types/props";
|
|
2
|
+
type SpinnerSize = 's' | 'm';
|
|
3
|
+
interface SpinnerOwnProps {
|
|
4
|
+
/**
|
|
5
|
+
* The style variant of Spinner.
|
|
6
|
+
* @default 'secondary'
|
|
7
|
+
*/
|
|
8
|
+
variant?: 'primary' | 'secondary' | 'on-overlay';
|
|
9
|
+
}
|
|
10
|
+
export interface SpinnerProps extends Omit<BezierComponentProps<'span'>, keyof ColorProps>, SizeProps<SpinnerSize>, ColorProps, SpinnerOwnProps {
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Spinner.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.types.d.ts","sourceRoot":"","sources":["../../../../src/components/AlphaSpinner/Spinner.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,0BAAyB;AAE1B,KAAK,WAAW,GAAG,GAAG,GAAG,GAAG,CAAA;AAE5B,UAAU,eAAe;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;CACjD;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,EAC1D,SAAS,CAAC,WAAW,CAAC,EACtB,UAAU,EACV,eAAe;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/AlphaSpinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,KAAK,YAAY,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoFocus.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoFocus/AutoFocus.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AutoFocus.d.ts","sourceRoot":"","sources":["../../../../src/components/AutoFocus/AutoFocus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAOnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,oFAwBrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTagBadge.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseTagBadge/BaseTagBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAMzC,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAA;AAe7B;;GAEG;AACH,eAAO,MAAM,YAAY,0FAiBxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"BaseTagBadge.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseTagBadge/BaseTagBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAMzC,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAA;AAe7B;;GAEG;AACH,eAAO,MAAM,YAAY,0FAiBxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,8FAa3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FeatureProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAMhD,OAAO,EAEL,KAAK,oBAAoB,EACzB,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAShC;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,oBAAoB,qBA6B3E;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,WAItD"}
|
|
@@ -4,7 +4,7 @@ export type IconSize = 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
|
|
|
4
4
|
interface IconOwnProps {
|
|
5
5
|
/**
|
|
6
6
|
* Controls which icon should be rendered.
|
|
7
|
-
* Inject the icon component from the
|
|
7
|
+
* Inject the icon component from the `@channel.io/bezier-icons` package into this prop.
|
|
8
8
|
* @example
|
|
9
9
|
* ```tsx
|
|
10
10
|
* import { HeartFilledIcon } from '@channel.io/bezier-icons'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAA;AAad,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,iBAAiB,CAAA;AAKxB,eAAO,MAAM,iBAAiB,qBAAqB,CAAA;AACnD,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAC/C,eAAO,MAAM,UAAU,WAAW,CAAA;AAElC,eAAO,MAAM,OAAO,qFAyPnB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAcjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIrD,eAAO,MAAM,QAAQ,2FA4DpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA2BvE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,eAAe,CAAA;AA8BtB,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,UAAU,EAAE,cAAc,EAC1B,MAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,OAAO,EACP,MAAgB,EAChB,WAAkB,EAClB,kBAAkB,EAClB,OAAW,EACX,SAAS,GACV,EAAE,UAAU,qBAmGZ;AAkBD,wBAAgB,aAAa,CAAC,EAC5B,kBAAyB,EACzB,SAAS,EAAE,cAAc,EACzB,MAAuB,EACvB,QAAa,GACd,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA2BvE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,eAAe,CAAA;AA8BtB,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,UAAU,EAAE,cAAc,EAC1B,MAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,OAAO,EACP,MAAgB,EAChB,WAAkB,EAClB,kBAAkB,EAClB,OAAW,EACX,SAAS,GACV,EAAE,UAAU,qBAmGZ;AAkBD,wBAAgB,aAAa,CAAC,EAC5B,kBAAyB,EACzB,SAAS,EAAE,cAAc,EACzB,MAAuB,EACvB,QAAa,GACd,EAAE,kBAAkB,qBAgDpB;AAED,wBAAgB,QAAQ;;;;;;;EAevB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useLayoutEffect } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @description This hook is used to handle the layout effect in a way that is compatible with SSR.
|
|
4
|
+
* In Server Environments, this hook will use `useEffect` instead of `useLayoutEffect`.
|
|
5
|
+
* @see https://react.dev/reference/react/useLayoutEffect#troubleshooting
|
|
6
|
+
*/
|
|
7
|
+
export declare const useIsomorphicLayoutEffect: typeof useLayoutEffect;
|
|
8
|
+
//# sourceMappingURL=useIsomorphicLayoutEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,OAAO,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,wBACuB,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./components/AlphaDialogPrimitive";
|
|
|
7
7
|
export * from "./components/AlphaFloatingButton";
|
|
8
8
|
export * from "./components/AlphaFloatingIconButton";
|
|
9
9
|
export * from "./components/AlphaIconButton";
|
|
10
|
+
export * from "./components/AlphaSpinner";
|
|
10
11
|
export * from "./components/AlphaTooltipPrimitive";
|
|
11
12
|
export * from "./components/AppProvider";
|
|
12
13
|
export * from "./components/AutoFocus";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAA;AAGhC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGlD,yCAA4C;AAC5C,8CAAiD;AACjD,yCAA4C;AAC5C,kDAAqD;AACrD,iDAAoD;AACpD,qDAAwD;AACxD,6CAAgD;AAChD,mDAAsD;AACtD,yCAA4C;AAC5C,uCAA0C;AAC1C,oCAAuC;AACvC,yCAA4C;AAC5C,mCAAsC;AACtC,oCAAuC;AACvC,iCAAoC;AACpC,oCAAuC;AACvC,yCAA4C;AAC5C,oCAAuC;AACvC,6CAAgD;AAChD,sCAAyC;AACzC,0CAA6C;AAC7C,qCAAwC;AACxC,mCAAsC;AACtC,6CAAgD;AAChD,yCAA4C;AAC5C,uCAA0C;AAC1C,4CAA+C;AAC/C,uCAA0C;AAC1C,kCAAqC;AACrC,kCAAqC;AACrC,0CAA6C;AAC7C,wCAA2C;AAC3C,yCAA4C;AAC5C,2CAA8C;AAC9C,sCAAyC;AACzC,mCAAsC;AACtC,sCAAyC;AACzC,qCAAwC;AACxC,yCAA4C;AAC5C,qCAAwC;AACxC,yCAA4C;AAC5C,wCAA2C;AAC3C,0CAA6C;AAC7C,8CAAiD;AACjD,oCAAuC;AACvC,oCAAuC;AACvC,8CAAiD;AACjD,qCAAwC;AACxC,mCAAsC;AACtC,oCAAuC;AACvC,oCAAuC;AACvC,kCAAqC;AACrC,iCAAoC;AACpC,kCAAqC;AACrC,sCAAyC;AACzC,uCAA0C;AAC1C,2CAA8C;AAC9C,mCAAsC;AACtC,qCAAwC;AACxC,4CAA+C;AAC/C,4CAA+C;AAG/C,8DAAiE;AAGjE,8BAAiC;AACjC,+BAAkC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAA;AAGhC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGlD,yCAA4C;AAC5C,8CAAiD;AACjD,yCAA4C;AAC5C,kDAAqD;AACrD,iDAAoD;AACpD,qDAAwD;AACxD,6CAAgD;AAChD,0CAA6C;AAC7C,mDAAsD;AACtD,yCAA4C;AAC5C,uCAA0C;AAC1C,oCAAuC;AACvC,yCAA4C;AAC5C,mCAAsC;AACtC,oCAAuC;AACvC,iCAAoC;AACpC,oCAAuC;AACvC,yCAA4C;AAC5C,oCAAuC;AACvC,6CAAgD;AAChD,sCAAyC;AACzC,0CAA6C;AAC7C,qCAAwC;AACxC,mCAAsC;AACtC,6CAAgD;AAChD,yCAA4C;AAC5C,uCAA0C;AAC1C,4CAA+C;AAC/C,uCAA0C;AAC1C,kCAAqC;AACrC,kCAAqC;AACrC,0CAA6C;AAC7C,wCAA2C;AAC3C,yCAA4C;AAC5C,2CAA8C;AAC9C,sCAAyC;AACzC,mCAAsC;AACtC,sCAAyC;AACzC,qCAAwC;AACxC,yCAA4C;AAC5C,qCAAwC;AACxC,yCAA4C;AAC5C,wCAA2C;AAC3C,0CAA6C;AAC7C,8CAAiD;AACjD,oCAAuC;AACvC,oCAAuC;AACvC,8CAAiD;AACjD,qCAAwC;AACxC,mCAAsC;AACtC,oCAAuC;AACvC,oCAAuC;AACvC,kCAAqC;AACrC,iCAAoC;AACpC,kCAAqC;AACrC,sCAAyC;AACzC,uCAA0C;AAC1C,2CAA8C;AAC9C,mCAAsC;AACtC,qCAAwC;AACxC,4CAA+C;AAC/C,4CAA+C;AAG/C,8DAAiE;AAGjE,8BAAiC;AACjC,+BAAkC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { type Meta, type StoryFn } from '@storybook/react'
|
|
4
|
+
|
|
5
|
+
import { Spinner } from './Spinner'
|
|
6
|
+
import { type SpinnerProps } from './Spinner.types'
|
|
7
|
+
|
|
8
|
+
const meta: Meta<typeof Spinner> = {
|
|
9
|
+
component: Spinner,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default meta
|
|
13
|
+
|
|
14
|
+
const Template: StoryFn<SpinnerProps> = ({ ...args }) => <Spinner {...args} />
|
|
15
|
+
|
|
16
|
+
export const Primary = {
|
|
17
|
+
render: Template,
|
|
18
|
+
|
|
19
|
+
args: {
|
|
20
|
+
size: 'm',
|
|
21
|
+
variant: 'secondary',
|
|
22
|
+
},
|
|
23
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
@use '../../styles/mixins/dimension';
|
|
2
|
+
|
|
3
|
+
@keyframes rotate {
|
|
4
|
+
0% {
|
|
5
|
+
transform: rotate(0deg);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
100% {
|
|
9
|
+
transform: rotate(360deg);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.Spinner {
|
|
14
|
+
--b-spinner-size: initial;
|
|
15
|
+
--b-spinner-track-color: initial;
|
|
16
|
+
--b-spinner-indicator-color: initial;
|
|
17
|
+
--b-spinner-stroke-width: initial;
|
|
18
|
+
--b-spinner-stroke-dasharray: initial;
|
|
19
|
+
|
|
20
|
+
@include dimension.square(var(--b-spinner-size));
|
|
21
|
+
|
|
22
|
+
display: inline-flex;
|
|
23
|
+
animation: rotate 1s linear infinite;
|
|
24
|
+
|
|
25
|
+
& .track {
|
|
26
|
+
fill: none;
|
|
27
|
+
stroke: var(--b-spinner-track-color);
|
|
28
|
+
stroke-linecap: round;
|
|
29
|
+
stroke-width: var(--b-spinner-stroke-width);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
& .indicator {
|
|
33
|
+
fill: none;
|
|
34
|
+
stroke: var(--b-spinner-indicator-color);
|
|
35
|
+
stroke-dasharray: var(--b-spinner-stroke-dasharray);
|
|
36
|
+
stroke-linecap: round;
|
|
37
|
+
stroke-width: var(--b-spinner-stroke-width);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:where(.size-s) {
|
|
41
|
+
--b-spinner-size: 28px;
|
|
42
|
+
--b-spinner-stroke-width: 4px;
|
|
43
|
+
--b-spinner-stroke-dasharray: 40 9999;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:where(.size-m) {
|
|
47
|
+
--b-spinner-size: 50px;
|
|
48
|
+
--b-spinner-stroke-width: 6px;
|
|
49
|
+
--b-spinner-stroke-dasharray: 60 9999;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&:where(.variant-primary) {
|
|
53
|
+
--b-spinner-track-color: var(--alpha-color-primary-bg-lightest);
|
|
54
|
+
--b-spinner-indicator-color: var(--alpha-color-fg-blue-normal);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:where(.variant-secondary) {
|
|
58
|
+
--b-spinner-track-color: var(--alpha-color-bg-black-light);
|
|
59
|
+
--b-spinner-indicator-color: var(--alpha-color-fg-black-light);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&:where(.variant-on-overlay) {
|
|
63
|
+
--b-spinner-track-color: var(--alpha-color-bg-absolute-white-lightest);
|
|
64
|
+
--b-spinner-indicator-color: var(--alpha-color-fg-absolute-white-light);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { render } from '~/src/utils/test'
|
|
4
|
+
|
|
5
|
+
import { SPINNER_TEST_ID, Spinner } from './Spinner'
|
|
6
|
+
|
|
7
|
+
describe('Spinner >', () => {
|
|
8
|
+
const renderSpinner = (props?: React.ComponentProps<typeof Spinner>) =>
|
|
9
|
+
render(<Spinner {...props} />)
|
|
10
|
+
|
|
11
|
+
it('should render', () => {
|
|
12
|
+
const { getByTestId } = renderSpinner()
|
|
13
|
+
const renderedSpinner = getByTestId(SPINNER_TEST_ID)
|
|
14
|
+
expect(renderedSpinner).toBeInTheDocument()
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('should render as a span element by default', () => {
|
|
18
|
+
const { getByTestId } = renderSpinner()
|
|
19
|
+
const renderedSpinner = getByTestId(SPINNER_TEST_ID)
|
|
20
|
+
expect(renderedSpinner.tagName).toBe('SPAN')
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('should forward ref', () => {
|
|
24
|
+
const ref = React.createRef<HTMLDivElement>()
|
|
25
|
+
renderSpinner({ ref })
|
|
26
|
+
expect(ref.current).toBeInTheDocument()
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('should receive size', () => {
|
|
30
|
+
const { getByTestId } = renderSpinner({ size: 'm' })
|
|
31
|
+
const renderedSpinner = getByTestId(SPINNER_TEST_ID)
|
|
32
|
+
expect(renderedSpinner).toHaveClass('size-m')
|
|
33
|
+
})
|
|
34
|
+
})
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
|
|
3
|
+
import classNames from 'classnames'
|
|
4
|
+
|
|
5
|
+
import { type SpinnerProps } from './Spinner.types'
|
|
6
|
+
|
|
7
|
+
import styles from './Spinner.module.scss'
|
|
8
|
+
|
|
9
|
+
export const SPINNER_TEST_ID = 'bezier-spinner'
|
|
10
|
+
|
|
11
|
+
export const Spinner = forwardRef<HTMLSpanElement, SpinnerProps>(
|
|
12
|
+
function Spinner(
|
|
13
|
+
{ className, size, variant = 'secondary', ...rest },
|
|
14
|
+
forwardedRef
|
|
15
|
+
) {
|
|
16
|
+
return (
|
|
17
|
+
<span
|
|
18
|
+
className={classNames(
|
|
19
|
+
styles.Spinner,
|
|
20
|
+
size && styles[`size-${size}`],
|
|
21
|
+
styles[`variant-${variant}`]
|
|
22
|
+
)}
|
|
23
|
+
ref={forwardedRef}
|
|
24
|
+
data-testid={SPINNER_TEST_ID}
|
|
25
|
+
{...rest}
|
|
26
|
+
>
|
|
27
|
+
<svg
|
|
28
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
29
|
+
viewBox="0 0 16 16"
|
|
30
|
+
>
|
|
31
|
+
<circle
|
|
32
|
+
cx="8"
|
|
33
|
+
cy="8"
|
|
34
|
+
r="7"
|
|
35
|
+
className={styles.track}
|
|
36
|
+
vectorEffect="non-scaling-stroke"
|
|
37
|
+
/>
|
|
38
|
+
|
|
39
|
+
<circle
|
|
40
|
+
cx="8"
|
|
41
|
+
cy="8"
|
|
42
|
+
r="7"
|
|
43
|
+
className={styles.indicator}
|
|
44
|
+
vectorEffect="non-scaling-stroke"
|
|
45
|
+
/>
|
|
46
|
+
</svg>
|
|
47
|
+
</span>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type BezierComponentProps,
|
|
3
|
+
type ColorProps,
|
|
4
|
+
type SizeProps,
|
|
5
|
+
} from '~/src/types/props'
|
|
6
|
+
|
|
7
|
+
type SpinnerSize = 's' | 'm'
|
|
8
|
+
|
|
9
|
+
interface SpinnerOwnProps {
|
|
10
|
+
/**
|
|
11
|
+
* The style variant of Spinner.
|
|
12
|
+
* @default 'secondary'
|
|
13
|
+
*/
|
|
14
|
+
variant?: 'primary' | 'secondary' | 'on-overlay'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface SpinnerProps
|
|
18
|
+
extends Omit<BezierComponentProps<'span'>, keyof ColorProps>,
|
|
19
|
+
SizeProps<SpinnerSize>,
|
|
20
|
+
ColorProps,
|
|
21
|
+
SpinnerOwnProps {}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React, { forwardRef,
|
|
1
|
+
import React, { forwardRef, useState } from 'react'
|
|
2
2
|
|
|
3
3
|
import { Slot } from '@radix-ui/react-slot'
|
|
4
4
|
|
|
5
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
5
6
|
import useMergeRefs from '~/src/hooks/useMergeRefs'
|
|
6
7
|
|
|
7
8
|
import { type AutoFocusProps } from './AutoFocus.types'
|
|
@@ -27,7 +28,7 @@ export const AutoFocus = forwardRef<HTMLElement, AutoFocusProps>(
|
|
|
27
28
|
function AutoFocus({ children, when = true, ...rest }, forwardedRef) {
|
|
28
29
|
const [target, setTarget] = useState<HTMLElement | null>(null)
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
useIsomorphicLayoutEffect(
|
|
31
32
|
function focus() {
|
|
32
33
|
if (target && when) {
|
|
33
34
|
target.focus()
|
|
@@ -51,10 +51,11 @@ export const BaseTagBadge = forwardRef<HTMLDivElement, BaseTagBadgeProps>(
|
|
|
51
51
|
export const BaseTagBadgeText = forwardRef<
|
|
52
52
|
HTMLDivElement,
|
|
53
53
|
BaseTagBadgeTextProps
|
|
54
|
-
>(function BaseTagBadgeText({ size, children, ...rest }) {
|
|
54
|
+
>(function BaseTagBadgeText({ size, children, ...rest }, forwardedRef) {
|
|
55
55
|
return (
|
|
56
56
|
<Text
|
|
57
57
|
typo={getProperTypo(size)}
|
|
58
|
+
ref={forwardedRef}
|
|
58
59
|
{...rest}
|
|
59
60
|
>
|
|
60
61
|
{children}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useMemo, useState } from 'react'
|
|
2
2
|
|
|
3
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
3
4
|
import { createContext } from '~/src/utils/react'
|
|
4
5
|
import { isEmpty } from '~/src/utils/type'
|
|
5
6
|
|
|
@@ -30,7 +31,7 @@ export function FeatureProvider({ children, features }: FeatureProviderProps) {
|
|
|
30
31
|
const [featureFlag, setFeatureFlag] =
|
|
31
32
|
useState<FeatureFlag>(initialFeatureFlag)
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
useIsomorphicLayoutEffect(
|
|
34
35
|
function activateFeatures() {
|
|
35
36
|
if (isEmpty(features)) {
|
|
36
37
|
return
|
|
@@ -12,7 +12,7 @@ export type IconSize = 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs'
|
|
|
12
12
|
interface IconOwnProps {
|
|
13
13
|
/**
|
|
14
14
|
* Controls which icon should be rendered.
|
|
15
|
-
* Inject the icon component from the
|
|
15
|
+
* Inject the icon component from the `@channel.io/bezier-icons` package into this prop.
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
18
18
|
* import { HeartFilledIcon } from '@channel.io/bezier-icons'
|
|
@@ -2,7 +2,6 @@ import React, {
|
|
|
2
2
|
forwardRef,
|
|
3
3
|
useCallback,
|
|
4
4
|
useEffect,
|
|
5
|
-
useLayoutEffect,
|
|
6
5
|
useReducer,
|
|
7
6
|
useRef,
|
|
8
7
|
useState,
|
|
@@ -12,6 +11,7 @@ import ReactDOM from 'react-dom'
|
|
|
12
11
|
import classNames from 'classnames'
|
|
13
12
|
|
|
14
13
|
import useEventHandler from '~/src/hooks/useEventHandler'
|
|
14
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
15
15
|
import useMergeRefs from '~/src/hooks/useMergeRefs'
|
|
16
16
|
|
|
17
17
|
import { useModalContainerContext } from '~/src/components/Modal'
|
|
@@ -94,7 +94,7 @@ export const Overlay = forwardRef<HTMLDivElement, OverlayProps>(
|
|
|
94
94
|
}
|
|
95
95
|
}, [container, hasContainer])
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
useIsomorphicLayoutEffect(
|
|
98
98
|
function initContainerRect() {
|
|
99
99
|
if (show) {
|
|
100
100
|
handleContainerRect()
|
|
@@ -125,7 +125,7 @@ export const Overlay = forwardRef<HTMLDivElement, OverlayProps>(
|
|
|
125
125
|
}
|
|
126
126
|
}, [target])
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
useIsomorphicLayoutEffect(
|
|
129
129
|
function initTargetRect() {
|
|
130
130
|
if (show) {
|
|
131
131
|
handleTargetRect()
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React, { forwardRef,
|
|
1
|
+
import React, { forwardRef, useRef } from 'react'
|
|
2
2
|
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
import TextareaAutosize from 'react-textarea-autosize'
|
|
5
5
|
|
|
6
|
+
import { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'
|
|
6
7
|
import {
|
|
7
8
|
COMMON_IME_CONTROL_KEYS,
|
|
8
9
|
useKeyboardActionLockerWhileComposing,
|
|
@@ -43,7 +44,7 @@ export const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
43
44
|
onKeyUp,
|
|
44
45
|
})
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
useIsomorphicLayoutEffect(function initialAutoFocus() {
|
|
47
48
|
function setSelectionToEnd() {
|
|
48
49
|
inputRef.current?.setSelectionRange(
|
|
49
50
|
inputRef.current?.value.length,
|
|
@@ -205,9 +205,8 @@ export function ToastProvider({
|
|
|
205
205
|
|
|
206
206
|
const createContainer = useCallback(
|
|
207
207
|
(placement: ToastPlacement, toasts: ToastType[]) => (
|
|
208
|
-
<InvertedThemeProvider>
|
|
208
|
+
<InvertedThemeProvider key={placement}>
|
|
209
209
|
<div
|
|
210
|
-
key={placement}
|
|
211
210
|
style={{
|
|
212
211
|
bottom: px(offset?.bottom ?? DEFAULT_OFFSET.bottom),
|
|
213
212
|
...(placement === 'bottom-right'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useEffect, useLayoutEffect } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @description This hook is used to handle the layout effect in a way that is compatible with SSR.
|
|
5
|
+
* In Server Environments, this hook will use `useEffect` instead of `useLayoutEffect`.
|
|
6
|
+
* @see https://react.dev/reference/react/useLayoutEffect#troubleshooting
|
|
7
|
+
*/
|
|
8
|
+
export const useIsomorphicLayoutEffect =
|
|
9
|
+
typeof window !== 'undefined' ? useLayoutEffect : useEffect
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from '~/src/components/AlphaDialogPrimitive'
|
|
|
12
12
|
export * from '~/src/components/AlphaFloatingButton'
|
|
13
13
|
export * from '~/src/components/AlphaFloatingIconButton'
|
|
14
14
|
export * from '~/src/components/AlphaIconButton'
|
|
15
|
+
export * from '~/src/components/AlphaSpinner'
|
|
15
16
|
export * from '~/src/components/AlphaTooltipPrimitive'
|
|
16
17
|
export * from '~/src/components/AppProvider'
|
|
17
18
|
export * from '~/src/components/AutoFocus'
|