@channel.io/bezier-react 2.3.0 → 2.3.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.
Files changed (240) hide show
  1. package/dist/cjs/components/AlphaAvatar/Avatar.js +2 -1
  2. package/dist/cjs/components/AlphaAvatar/Avatar.js.map +1 -1
  3. package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js +2 -2
  4. package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js.map +1 -1
  5. package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js +2 -1
  6. package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js.map +1 -1
  7. package/dist/cjs/components/AlphaButton/Button.js +5 -2
  8. package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
  9. package/dist/cjs/components/AlphaButton/Button.module.scss.js +1 -1
  10. package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js +5 -2
  11. package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
  12. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +5 -2
  13. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
  14. package/dist/cjs/components/AlphaIconButton/IconButton.js +5 -2
  15. package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
  16. package/dist/cjs/components/AlphaIconButton/IconButton.module.scss.js +1 -1
  17. package/dist/cjs/components/AlphaStatusBadge/StatusBadge.js +50 -0
  18. package/dist/cjs/components/AlphaStatusBadge/StatusBadge.js.map +1 -0
  19. package/dist/cjs/components/AlphaStatusBadge/StatusBadge.module.scss.js +8 -0
  20. package/dist/cjs/components/AlphaStatusBadge/StatusBadge.module.scss.js.map +1 -0
  21. package/dist/cjs/components/AlphaToggleButton/ToggleButton.js +6 -2
  22. package/dist/cjs/components/AlphaToggleButton/ToggleButton.js.map +1 -1
  23. package/dist/cjs/components/Avatar/useProgressiveImage.js +2 -2
  24. package/dist/cjs/components/Avatar/useProgressiveImage.js.map +1 -1
  25. package/dist/cjs/components/AvatarGroup/AvatarGroup.js +2 -1
  26. package/dist/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  27. package/dist/cjs/components/Badge/Badge.js +1 -1
  28. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  29. package/dist/cjs/components/Button/Button.js +1 -1
  30. package/dist/cjs/components/Button/Button.js.map +1 -1
  31. package/dist/cjs/components/Checkbox/Checkbox.js +1 -1
  32. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  33. package/dist/cjs/components/Emoji/Emoji.js +1 -1
  34. package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
  35. package/dist/cjs/components/FormControl/FormControl.js +2 -1
  36. package/dist/cjs/components/FormControl/FormControl.js.map +1 -1
  37. package/dist/cjs/components/FormGroup/FormGroup.js +2 -1
  38. package/dist/cjs/components/FormGroup/FormGroup.js.map +1 -1
  39. package/dist/cjs/components/FormHelperText/FormHelperText.js +3 -2
  40. package/dist/cjs/components/FormHelperText/FormHelperText.js.map +1 -1
  41. package/dist/cjs/components/FormLabel/FormLabel.js +4 -3
  42. package/dist/cjs/components/FormLabel/FormLabel.js.map +1 -1
  43. package/dist/cjs/components/Icon/Icon.js +1 -1
  44. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  45. package/dist/cjs/components/LegacyStack/LegacyStack/LegacyStack.js +2 -1
  46. package/dist/cjs/components/LegacyStack/LegacyStack/LegacyStack.js.map +1 -1
  47. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js +1 -1
  48. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js.map +1 -1
  49. package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js +2 -2
  50. package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js.map +1 -1
  51. package/dist/cjs/components/ListItem/ListItem.js +1 -1
  52. package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
  53. package/dist/cjs/components/Modal/Modal.js +3 -3
  54. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  55. package/dist/cjs/components/NavGroup/NavGroup.js +1 -1
  56. package/dist/cjs/components/NavGroup/NavGroup.js.map +1 -1
  57. package/dist/cjs/components/NavItem/NavItem.js +1 -1
  58. package/dist/cjs/components/NavItem/NavItem.js.map +1 -1
  59. package/dist/cjs/components/OutlineItem/OutlineItem.js +1 -1
  60. package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
  61. package/dist/cjs/components/Overlay/Overlay.js +5 -4
  62. package/dist/cjs/components/Overlay/Overlay.js.map +1 -1
  63. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  64. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  65. package/dist/cjs/components/Select/Select.js +4 -3
  66. package/dist/cjs/components/Select/Select.js.map +1 -1
  67. package/dist/cjs/components/Slider/Slider.js +1 -1
  68. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  69. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js +7 -6
  70. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js.map +1 -1
  71. package/dist/cjs/components/Status/Status.js +1 -1
  72. package/dist/cjs/components/Status/Status.js.map +1 -1
  73. package/dist/cjs/components/Tag/Tag.js +1 -1
  74. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  75. package/dist/cjs/components/TextArea/TextArea.js +4 -2
  76. package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
  77. package/dist/cjs/components/TextField/TextField.js +19 -9
  78. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  79. package/dist/cjs/components/Toast/Toast.js +29 -26
  80. package/dist/cjs/components/Toast/Toast.js.map +1 -1
  81. package/dist/cjs/components/Toast/ToastService.js +1 -1
  82. package/dist/cjs/components/Toast/ToastService.js.map +1 -1
  83. package/dist/cjs/components/Toast/useToastContextValues.js +2 -2
  84. package/dist/cjs/components/Toast/useToastContextValues.js.map +1 -1
  85. package/dist/cjs/components/Tooltip/Tooltip.js +4 -4
  86. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  87. package/dist/cjs/hooks/useKeyboardActionLockerWhileComposing.js +1 -1
  88. package/dist/cjs/hooks/useKeyboardActionLockerWhileComposing.js.map +1 -1
  89. package/dist/cjs/index.js +2 -0
  90. package/dist/cjs/index.js.map +1 -1
  91. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.js +17 -1
  92. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  93. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +5 -1
  94. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  95. package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.js +1 -1
  96. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +1 -1
  97. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/UI.js +3 -3
  98. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  99. package/dist/cjs/styles.css +1 -1
  100. package/dist/cjs/utils/assert.js +1 -1
  101. package/dist/cjs/utils/assert.js.map +1 -1
  102. package/dist/esm/components/AlphaAvatar/Avatar.mjs +2 -1
  103. package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
  104. package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs +2 -2
  105. package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs.map +1 -1
  106. package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs +2 -1
  107. package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -1
  108. package/dist/esm/components/AlphaButton/Button.mjs +5 -2
  109. package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
  110. package/dist/esm/components/AlphaButton/Button.module.scss.mjs +1 -1
  111. package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs +5 -2
  112. package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
  113. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +5 -2
  114. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
  115. package/dist/esm/components/AlphaIconButton/IconButton.mjs +5 -2
  116. package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
  117. package/dist/esm/components/AlphaIconButton/IconButton.module.scss.mjs +1 -1
  118. package/dist/esm/components/AlphaStatusBadge/StatusBadge.mjs +48 -0
  119. package/dist/esm/components/AlphaStatusBadge/StatusBadge.mjs.map +1 -0
  120. package/dist/esm/components/AlphaStatusBadge/StatusBadge.module.scss.mjs +4 -0
  121. package/dist/esm/components/AlphaStatusBadge/StatusBadge.module.scss.mjs.map +1 -0
  122. package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs +6 -2
  123. package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs.map +1 -1
  124. package/dist/esm/components/Avatar/useProgressiveImage.mjs +2 -2
  125. package/dist/esm/components/Avatar/useProgressiveImage.mjs.map +1 -1
  126. package/dist/esm/components/AvatarGroup/AvatarGroup.mjs +2 -1
  127. package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
  128. package/dist/esm/components/Badge/Badge.mjs +1 -1
  129. package/dist/esm/components/Badge/Badge.mjs.map +1 -1
  130. package/dist/esm/components/Button/Button.mjs +1 -1
  131. package/dist/esm/components/Button/Button.mjs.map +1 -1
  132. package/dist/esm/components/Checkbox/Checkbox.mjs +1 -1
  133. package/dist/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  134. package/dist/esm/components/Emoji/Emoji.mjs +1 -1
  135. package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
  136. package/dist/esm/components/FormControl/FormControl.mjs +2 -1
  137. package/dist/esm/components/FormControl/FormControl.mjs.map +1 -1
  138. package/dist/esm/components/FormGroup/FormGroup.mjs +2 -1
  139. package/dist/esm/components/FormGroup/FormGroup.mjs.map +1 -1
  140. package/dist/esm/components/FormHelperText/FormHelperText.mjs +3 -2
  141. package/dist/esm/components/FormHelperText/FormHelperText.mjs.map +1 -1
  142. package/dist/esm/components/FormLabel/FormLabel.mjs +4 -3
  143. package/dist/esm/components/FormLabel/FormLabel.mjs.map +1 -1
  144. package/dist/esm/components/Icon/Icon.mjs +1 -1
  145. package/dist/esm/components/Icon/Icon.mjs.map +1 -1
  146. package/dist/esm/components/LegacyStack/LegacyStack/LegacyStack.mjs +2 -1
  147. package/dist/esm/components/LegacyStack/LegacyStack/LegacyStack.mjs.map +1 -1
  148. package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs +1 -1
  149. package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs.map +1 -1
  150. package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs +2 -2
  151. package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs.map +1 -1
  152. package/dist/esm/components/ListItem/ListItem.mjs +1 -1
  153. package/dist/esm/components/ListItem/ListItem.mjs.map +1 -1
  154. package/dist/esm/components/Modal/Modal.mjs +3 -3
  155. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  156. package/dist/esm/components/NavGroup/NavGroup.mjs +1 -1
  157. package/dist/esm/components/NavGroup/NavGroup.mjs.map +1 -1
  158. package/dist/esm/components/NavItem/NavItem.mjs +1 -1
  159. package/dist/esm/components/NavItem/NavItem.mjs.map +1 -1
  160. package/dist/esm/components/OutlineItem/OutlineItem.mjs +1 -1
  161. package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
  162. package/dist/esm/components/Overlay/Overlay.mjs +5 -4
  163. package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
  164. package/dist/esm/components/SegmentedControl/SegmentedControl.mjs +1 -1
  165. package/dist/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  166. package/dist/esm/components/Select/Select.mjs +4 -3
  167. package/dist/esm/components/Select/Select.mjs.map +1 -1
  168. package/dist/esm/components/Slider/Slider.mjs +1 -1
  169. package/dist/esm/components/Slider/Slider.mjs.map +1 -1
  170. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs +7 -6
  171. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs.map +1 -1
  172. package/dist/esm/components/Status/Status.mjs +1 -1
  173. package/dist/esm/components/Status/Status.mjs.map +1 -1
  174. package/dist/esm/components/Tag/Tag.mjs +1 -1
  175. package/dist/esm/components/Tag/Tag.mjs.map +1 -1
  176. package/dist/esm/components/TextArea/TextArea.mjs +4 -2
  177. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  178. package/dist/esm/components/TextField/TextField.mjs +19 -9
  179. package/dist/esm/components/TextField/TextField.mjs.map +1 -1
  180. package/dist/esm/components/Toast/Toast.mjs +29 -26
  181. package/dist/esm/components/Toast/Toast.mjs.map +1 -1
  182. package/dist/esm/components/Toast/ToastService.mjs +1 -1
  183. package/dist/esm/components/Toast/ToastService.mjs.map +1 -1
  184. package/dist/esm/components/Toast/useToastContextValues.mjs +2 -2
  185. package/dist/esm/components/Toast/useToastContextValues.mjs.map +1 -1
  186. package/dist/esm/components/Tooltip/Tooltip.mjs +4 -4
  187. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  188. package/dist/esm/hooks/useKeyboardActionLockerWhileComposing.mjs +1 -1
  189. package/dist/esm/hooks/useKeyboardActionLockerWhileComposing.mjs.map +1 -1
  190. package/dist/esm/index.mjs +1 -0
  191. package/dist/esm/index.mjs.map +1 -1
  192. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs +17 -1
  193. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs.map +1 -1
  194. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs +5 -1
  195. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs.map +1 -1
  196. package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.mjs +1 -1
  197. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs +1 -1
  198. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/UI.mjs +3 -3
  199. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/UI.mjs.map +1 -1
  200. package/dist/esm/styles.css +1 -1
  201. package/dist/esm/utils/assert.mjs +1 -1
  202. package/dist/esm/utils/assert.mjs.map +1 -1
  203. package/dist/types/components/AlphaButton/Button.d.ts.map +1 -1
  204. package/dist/types/components/AlphaButton/Button.types.d.ts +1 -1
  205. package/dist/types/components/AlphaButton/Button.types.d.ts.map +1 -1
  206. package/dist/types/components/AlphaFloatingButton/FloatingButton.d.ts.map +1 -1
  207. package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.d.ts.map +1 -1
  208. package/dist/types/components/AlphaIconButton/IconButton.d.ts.map +1 -1
  209. package/dist/types/components/AlphaIconButton/IconButton.types.d.ts +1 -1
  210. package/dist/types/components/AlphaIconButton/IconButton.types.d.ts.map +1 -1
  211. package/dist/types/components/AlphaLoader/Loader.types.d.ts +1 -1
  212. package/dist/types/components/AlphaLoader/Loader.types.d.ts.map +1 -1
  213. package/dist/types/components/AlphaStatusBadge/StatusBadge.d.ts +16 -0
  214. package/dist/types/components/AlphaStatusBadge/StatusBadge.d.ts.map +1 -0
  215. package/dist/types/components/AlphaStatusBadge/StatusBadge.types.d.ts +23 -0
  216. package/dist/types/components/AlphaStatusBadge/StatusBadge.types.d.ts.map +1 -0
  217. package/dist/types/components/AlphaStatusBadge/index.d.ts +3 -0
  218. package/dist/types/components/AlphaStatusBadge/index.d.ts.map +1 -0
  219. package/dist/types/components/AlphaToggleButton/ToggleButton.d.ts.map +1 -1
  220. package/dist/types/index.d.ts +1 -0
  221. package/dist/types/index.d.ts.map +1 -1
  222. package/package.json +3 -5
  223. package/src/components/AlphaButton/Button.module.scss +23 -6
  224. package/src/components/AlphaButton/Button.tsx +3 -1
  225. package/src/components/AlphaButton/Button.types.ts +1 -1
  226. package/src/components/AlphaFloatingButton/FloatingButton.tsx +3 -1
  227. package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +3 -1
  228. package/src/components/AlphaIconButton/IconButton.module.scss +23 -6
  229. package/src/components/AlphaIconButton/IconButton.tsx +3 -1
  230. package/src/components/AlphaIconButton/IconButton.types.ts +1 -1
  231. package/src/components/AlphaLoader/AlphaLoader.stories.tsx +4 -4
  232. package/src/components/AlphaLoader/Loader.test.tsx +7 -2
  233. package/src/components/AlphaLoader/Loader.types.ts +1 -1
  234. package/src/components/AlphaStatusBadge/AlphaStatusBadge.stories.tsx +39 -0
  235. package/src/components/AlphaStatusBadge/StatusBadge.module.scss +50 -0
  236. package/src/components/AlphaStatusBadge/StatusBadge.tsx +77 -0
  237. package/src/components/AlphaStatusBadge/StatusBadge.types.ts +26 -0
  238. package/src/components/AlphaStatusBadge/index.ts +5 -0
  239. package/src/components/AlphaToggleButton/ToggleButton.tsx +2 -0
  240. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.mjs","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react'\n\nimport { MoreIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isLastIndex } from '~/src/utils/array'\nimport { px } from '~/src/utils/style'\n\nimport {\n type AvatarProps,\n type AvatarSize,\n useAvatarRadiusToken,\n} from '~/src/components/Avatar'\nimport { Icon } from '~/src/components/Icon'\nimport { SmoothCornersBox } from '~/src/components/SmoothCornersBox'\nimport { Text } from '~/src/components/Text'\n\nimport { type AvatarGroupProps } from './AvatarGroup.types'\n\nimport styles from './AvatarGroup.module.scss'\n\nconst MAX_AVATAR_LIST_COUNT = 99\nconst AVATAR_GROUP_DEFAULT_SPACING = 4\nexport const AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID =\n 'bezier-avatar-group-ellipsis-icon'\n\nfunction getRestAvatarListCountText(count: number, max: number) {\n const restCount = count - max\n return `+${restCount > MAX_AVATAR_LIST_COUNT ? MAX_AVATAR_LIST_COUNT : restCount}`\n}\n\n// TODO: Not specified\nfunction getProperIconSize(avatarSize: AvatarSize) {\n return (\n {\n 20: 'xxs',\n 24: 'xs',\n 30: 's',\n 36: 'm',\n 42: 'm',\n 48: 'l',\n 72: 'l',\n 90: 'l',\n 120: 'l',\n } as const\n )[avatarSize]\n}\n\n// TODO: Not specified\nfunction getProperTypoSize(avatarSize: AvatarSize) {\n return (\n {\n 20: '12',\n 24: '13',\n 30: '15',\n 36: '16',\n 42: '18',\n 48: '24',\n 72: '24',\n 90: '24',\n 120: '24',\n } as const\n )[avatarSize]\n}\n\n/**\n * `AvatarGroup` is a component for grouping `Avatar` components\n * @example\n *\n * ```tsx\n * <AvatarGroup\n * max={2}\n * spacing={4}\n * ellipsisType=\"icon\"\n * >\n * <Avatar />\n * <Avatar />\n * <Avatar />\n * </AvatarGroup>\n * ```\n */\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n function AvatarGroup(\n {\n max,\n size = '24',\n spacing = AVATAR_GROUP_DEFAULT_SPACING,\n ellipsisType = 'icon',\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n style,\n className,\n children,\n ...rest\n },\n forwardedRef\n ) {\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const renderAvatarElement = useCallback(\n (avatar: React.ReactElement<AvatarProps>, avatarListCount: number) => {\n const key =\n avatar.key ?? `${avatar.props.name}-${avatar.props.avatarUrl}`\n const shouldShowBorder = avatarListCount > 1 && spacing < 0\n const showBorder = avatar.props.showBorder || shouldShowBorder\n return React.cloneElement(avatar, { key, size, showBorder })\n },\n [size, spacing]\n )\n\n const avatarListCount = useMemo(\n () => React.Children.count(children),\n [children]\n )\n\n const AvatarListComponent = useMemo(() => {\n if (avatarListCount <= max) {\n return React.Children.map(\n children,\n (avatar) =>\n React.isValidElement<AvatarProps>(avatar) &&\n renderAvatarElement(avatar, avatarListCount)\n )\n }\n\n const sliceEndIndex = max - avatarListCount\n const slicedAvatarList = React.Children.toArray(children).slice(\n 0,\n sliceEndIndex\n )\n\n return slicedAvatarList.map((avatar, index, arr) => {\n if (!React.isValidElement<AvatarProps>(avatar)) {\n return null\n }\n\n const AvatarElement = renderAvatarElement(\n avatar,\n slicedAvatarList.length\n )\n\n if (!isLastIndex(arr, index)) {\n return AvatarElement\n }\n\n if (ellipsisType === 'icon') {\n return (\n <div\n key=\"ellipsis\"\n className={styles.AvatarEllipsisIconWrapper}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n data-testid={AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID}\n >\n <SmoothCornersBox\n borderRadius={AVATAR_BORDER_RADIUS}\n backgroundColor=\"bgtxt-absolute-black-lightest\"\n className={styles.AvatarEllipsisIcon}\n >\n <Icon\n source={MoreIcon}\n size={getProperIconSize(size)}\n color=\"bgtxt-absolute-white-dark\"\n />\n </SmoothCornersBox>\n {AvatarElement}\n </div>\n )\n }\n\n if (ellipsisType === 'count') {\n return (\n <React.Fragment key=\"ellipsis\">\n {AvatarElement}\n <div\n style={\n {\n '--b-avatar-group-ellipsis-ml': px(\n Math.max(spacing, AVATAR_GROUP_DEFAULT_SPACING)\n ),\n } as React.CSSProperties\n }\n className={classNames(\n styles.AvatarEllipsisCountWrapper,\n styles[`size-${size}`]\n )}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n >\n <Text\n typo={getProperTypoSize(size)}\n color=\"txt-black-dark\"\n className={styles.AvatarEllipsisCount}\n >\n {getRestAvatarListCountText(avatarListCount, max)}\n </Text>\n </div>\n </React.Fragment>\n )\n }\n\n return null\n })\n }, [\n avatarListCount,\n max,\n children,\n renderAvatarElement,\n ellipsisType,\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n AVATAR_BORDER_RADIUS,\n size,\n spacing,\n ])\n\n return (\n <div\n role=\"group\"\n ref={forwardedRef}\n className={classNames(\n styles.AvatarGroup,\n styles[`size-${size}`],\n className\n )}\n style={\n {\n '--b-avatar-group-spacing': px(spacing),\n ...style,\n } as React.CSSProperties\n }\n {...rest}\n >\n {AvatarListComponent}\n </div>\n )\n }\n)\n"],"names":["MAX_AVATAR_LIST_COUNT","AVATAR_GROUP_DEFAULT_SPACING","AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID","getRestAvatarListCountText","count","max","restCount","getProperIconSize","avatarSize","getProperTypoSize","AvatarGroup","forwardRef","size","spacing","ellipsisType","onMouseEnterEllipsis","onMouseLeaveEllipsis","style","className","children","rest","forwardedRef","AVATAR_BORDER_RADIUS","useAvatarRadiusToken","renderAvatarElement","useCallback","avatar","avatarListCount","key","props","name","avatarUrl","shouldShowBorder","showBorder","React","cloneElement","useMemo","Children","AvatarListComponent","map","isValidElement","sliceEndIndex","slicedAvatarList","toArray","slice","index","arr","AvatarElement","length","isLastIndex","createElement","styles","AvatarEllipsisIconWrapper","onMouseEnter","onMouseLeave","SmoothCornersBox","borderRadius","backgroundColor","AvatarEllipsisIcon","Icon","source","MoreIcon","color","Fragment","px","Math","classNames","AvatarEllipsisCountWrapper","Text","typo","AvatarEllipsisCount","Object","assign","role","ref"],"mappings":"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"}
1
+ {"version":3,"file":"AvatarGroup.mjs","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react'\n\nimport { MoreIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isLastIndex } from '~/src/utils/array'\nimport { px } from '~/src/utils/style'\n\nimport {\n type AvatarProps,\n type AvatarSize,\n useAvatarRadiusToken,\n} from '~/src/components/Avatar'\nimport { Icon } from '~/src/components/Icon'\nimport { SmoothCornersBox } from '~/src/components/SmoothCornersBox'\nimport { Text } from '~/src/components/Text'\n\nimport { type AvatarGroupProps } from './AvatarGroup.types'\n\nimport styles from './AvatarGroup.module.scss'\n\nconst MAX_AVATAR_LIST_COUNT = 99\nconst AVATAR_GROUP_DEFAULT_SPACING = 4\nexport const AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID =\n 'bezier-avatar-group-ellipsis-icon'\n\nfunction getRestAvatarListCountText(count: number, max: number) {\n const restCount = count - max\n return `+${restCount > MAX_AVATAR_LIST_COUNT ? MAX_AVATAR_LIST_COUNT : restCount}`\n}\n\n// TODO: Not specified\nfunction getProperIconSize(avatarSize: AvatarSize) {\n return (\n {\n 20: 'xxs',\n 24: 'xs',\n 30: 's',\n 36: 'm',\n 42: 'm',\n 48: 'l',\n 72: 'l',\n 90: 'l',\n 120: 'l',\n } as const\n )[avatarSize]\n}\n\n// TODO: Not specified\nfunction getProperTypoSize(avatarSize: AvatarSize) {\n return (\n {\n 20: '12',\n 24: '13',\n 30: '15',\n 36: '16',\n 42: '18',\n 48: '24',\n 72: '24',\n 90: '24',\n 120: '24',\n } as const\n )[avatarSize]\n}\n\n/**\n * `AvatarGroup` is a component for grouping `Avatar` components\n * @example\n *\n * ```tsx\n * <AvatarGroup\n * max={2}\n * spacing={4}\n * ellipsisType=\"icon\"\n * >\n * <Avatar />\n * <Avatar />\n * <Avatar />\n * </AvatarGroup>\n * ```\n */\nexport const AvatarGroup = forwardRef<HTMLDivElement, AvatarGroupProps>(\n function AvatarGroup(\n {\n max,\n size = '24',\n spacing = AVATAR_GROUP_DEFAULT_SPACING,\n ellipsisType = 'icon',\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n style,\n className,\n children,\n ...rest\n },\n forwardedRef\n ) {\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const renderAvatarElement = useCallback(\n (avatar: React.ReactElement<AvatarProps>, avatarListCount: number) => {\n const key =\n avatar.key ?? `${avatar.props.name}-${avatar.props.avatarUrl}`\n const shouldShowBorder = avatarListCount > 1 && spacing < 0\n const showBorder = avatar.props.showBorder || shouldShowBorder\n return React.cloneElement(avatar, { key, size, showBorder })\n },\n [size, spacing]\n )\n\n const avatarListCount = useMemo(\n () => React.Children.count(children),\n [children]\n )\n\n const AvatarListComponent = useMemo(() => {\n if (avatarListCount <= max) {\n return React.Children.map(\n children,\n (avatar) =>\n React.isValidElement<AvatarProps>(avatar) &&\n renderAvatarElement(avatar, avatarListCount)\n )\n }\n\n const sliceEndIndex = max - avatarListCount\n const slicedAvatarList = React.Children.toArray(children).slice(\n 0,\n sliceEndIndex\n )\n\n return slicedAvatarList.map((avatar, index, arr) => {\n if (!React.isValidElement<AvatarProps>(avatar)) {\n return null\n }\n\n const AvatarElement = renderAvatarElement(\n avatar,\n slicedAvatarList.length\n )\n\n if (!isLastIndex(arr, index)) {\n return AvatarElement\n }\n\n if (ellipsisType === 'icon') {\n return (\n <div\n key=\"ellipsis\"\n className={styles.AvatarEllipsisIconWrapper}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n data-testid={AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID}\n >\n <SmoothCornersBox\n borderRadius={AVATAR_BORDER_RADIUS}\n backgroundColor=\"bgtxt-absolute-black-lightest\"\n className={styles.AvatarEllipsisIcon}\n >\n <Icon\n source={MoreIcon}\n size={getProperIconSize(size)}\n color=\"bgtxt-absolute-white-dark\"\n />\n </SmoothCornersBox>\n {AvatarElement}\n </div>\n )\n }\n\n if (ellipsisType === 'count') {\n return (\n <React.Fragment key=\"ellipsis\">\n {AvatarElement}\n <div\n style={\n {\n '--b-avatar-group-ellipsis-ml': px(\n Math.max(spacing, AVATAR_GROUP_DEFAULT_SPACING)\n ),\n } as React.CSSProperties\n }\n className={classNames(\n styles.AvatarEllipsisCountWrapper,\n styles[`size-${size}`]\n )}\n onMouseEnter={onMouseEnterEllipsis}\n onMouseLeave={onMouseLeaveEllipsis}\n >\n <Text\n typo={getProperTypoSize(size)}\n color=\"txt-black-dark\"\n className={styles.AvatarEllipsisCount}\n >\n {getRestAvatarListCountText(avatarListCount, max)}\n </Text>\n </div>\n </React.Fragment>\n )\n }\n\n return null\n })\n }, [\n avatarListCount,\n max,\n children,\n renderAvatarElement,\n ellipsisType,\n onMouseEnterEllipsis,\n onMouseLeaveEllipsis,\n AVATAR_BORDER_RADIUS,\n size,\n spacing,\n ])\n\n return (\n <div\n role=\"group\"\n ref={forwardedRef}\n className={classNames(\n styles.AvatarGroup,\n styles[`size-${size}`],\n className\n )}\n style={\n {\n '--b-avatar-group-spacing': px(spacing),\n ...style,\n } as React.CSSProperties\n }\n {...rest}\n >\n {AvatarListComponent}\n </div>\n )\n }\n)\n"],"names":["MAX_AVATAR_LIST_COUNT","AVATAR_GROUP_DEFAULT_SPACING","AVATAR_GROUP_ELLIPSIS_ICON_TEST_ID","getRestAvatarListCountText","count","max","restCount","getProperIconSize","avatarSize","getProperTypoSize","AvatarGroup","forwardRef","size","spacing","ellipsisType","onMouseEnterEllipsis","onMouseLeaveEllipsis","style","className","children","rest","forwardedRef","AVATAR_BORDER_RADIUS","useAvatarRadiusToken","renderAvatarElement","useCallback","avatar","avatarListCount","_avatar$key","key","props","name","avatarUrl","shouldShowBorder","showBorder","React","cloneElement","useMemo","Children","AvatarListComponent","map","isValidElement","sliceEndIndex","slicedAvatarList","toArray","slice","index","arr","AvatarElement","length","isLastIndex","createElement","styles","AvatarEllipsisIconWrapper","onMouseEnter","onMouseLeave","SmoothCornersBox","borderRadius","backgroundColor","AvatarEllipsisIcon","Icon","source","MoreIcon","color","Fragment","px","Math","classNames","AvatarEllipsisCountWrapper","Text","typo","AvatarEllipsisCount","Object","assign","role","ref"],"mappings":"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"}
@@ -18,7 +18,7 @@ const BADGE_TEST_ID = 'bezier-badge';
18
18
  * </Badge>
19
19
  * ```
20
20
  */
21
- const Badge = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Badge({
21
+ const Badge = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Badge({
22
22
  size = 'm',
23
23
  variant = 'default',
24
24
  icon,
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.mjs","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React, { forwardRef, memo } from 'react'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type BadgeProps } from './Badge.types'\n\nexport const BADGE_TEST_ID = 'bezier-badge'\n\n/**\n * `Badge` is a component for representing badge, which consists of text and icon.\n * @example\n * ```tsx\n * <Badge\n * size=\"xs\"\n * variant=\"blue\"\n * icon={AppleIcon}\n * >\n * Beta\n * </Badge>\n * ```\n */\nexport const Badge = memo(\n forwardRef<HTMLDivElement, BadgeProps>(function Badge(\n { size = 'm', variant = 'default', icon, children, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={BADGE_TEST_ID}\n {...rest}\n >\n {icon && (\n <Icon\n source={icon}\n size=\"xs\"\n />\n )}\n\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={3}\n >\n {children}\n </BaseTagBadgeText>\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["BADGE_TEST_ID","Badge","memo","forwardRef","size","variant","icon","children","rest","forwardedRef","React","createElement","BaseTagBadge","Object","assign","ref","Icon","source","isEmpty","BaseTagBadgeText","marginHorizontal"],"mappings":";;;;;AASO,MAAMA,aAAa,GAAG,eAAc;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,gBAAGC,IAAI,eACvBC,UAAU,CAA6B,SAASF,KAAKA,CACnD;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,IAAI;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC5DC,YAAY,EACZ;EACA,oBACEC,cAAA,CAAAC,aAAA,CAACC,YAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,GAAG,EAAEN,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;IACjB,aAAaL,EAAAA,aAAAA;GACTQ,EAAAA,IAAI,GAEPF,IAAI,iBACHI,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AACHC,IAAAA,MAAM,EAAEX,IAAK;AACbF,IAAAA,IAAI,EAAC,IAAA;AAAI,GACV,CACF,EAEA,CAACc,OAAO,CAACX,QAAQ,CAAC,iBACjBG,cAAA,CAAAC,aAAA,CAACQ,gBAAgB,EAAA;AACff,IAAAA,IAAI,EAAEA,IAAK;AACXgB,IAAAA,gBAAgB,EAAE,CAAA;GAEjBb,EAAAA,QACe,CAER,CAAC,CAAA;AAEnB,CAAC,CACH;;;;"}
1
+ {"version":3,"file":"Badge.mjs","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React, { forwardRef, memo } from 'react'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type BadgeProps } from './Badge.types'\n\nexport const BADGE_TEST_ID = 'bezier-badge'\n\n/**\n * `Badge` is a component for representing badge, which consists of text and icon.\n * @example\n * ```tsx\n * <Badge\n * size=\"xs\"\n * variant=\"blue\"\n * icon={AppleIcon}\n * >\n * Beta\n * </Badge>\n * ```\n */\nexport const Badge = memo(\n forwardRef<HTMLDivElement, BadgeProps>(function Badge(\n { size = 'm', variant = 'default', icon, children, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={BADGE_TEST_ID}\n {...rest}\n >\n {icon && (\n <Icon\n source={icon}\n size=\"xs\"\n />\n )}\n\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={3}\n >\n {children}\n </BaseTagBadgeText>\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["BADGE_TEST_ID","Badge","memo","forwardRef","size","variant","icon","children","rest","forwardedRef","React","createElement","BaseTagBadge","Object","assign","ref","Icon","source","isEmpty","BaseTagBadgeText","marginHorizontal"],"mappings":";;;;;AASO,MAAMA,aAAa,GAAG,eAAc;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,gBAAGC,IAAI,cACvBC,UAAU,CAA6B,SAASF,KAAKA,CACnD;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,IAAI;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC5DC,YAAY,EACZ;EACA,oBACEC,cAAA,CAAAC,aAAA,CAACC,YAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,GAAG,EAAEN,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;IACjB,aAAaL,EAAAA,aAAAA;GACTQ,EAAAA,IAAI,GAEPF,IAAI,iBACHI,cAAA,CAAAC,aAAA,CAACK,IAAI,EAAA;AACHC,IAAAA,MAAM,EAAEX,IAAK;AACbF,IAAAA,IAAI,EAAC,IAAA;AAAI,GACV,CACF,EAEA,CAACc,OAAO,CAACX,QAAQ,CAAC,iBACjBG,cAAA,CAAAC,aAAA,CAACQ,gBAAgB,EAAA;AACff,IAAAA,IAAI,EAAEA,IAAK;AACXgB,IAAAA,gBAAgB,EAAE,CAAA;GAEjBb,EAAAA,QACe,CAER,CAAC,CAAA;AAEnB,CAAC,CACH;;;;"}
@@ -77,7 +77,7 @@ const Button = /*#__PURE__*/forwardRef(function Button({
77
77
  const Comp = as;
78
78
  const handleClick = useCallback(event => {
79
79
  if (!disabled) {
80
- onClick?.(event);
80
+ onClick === null || onClick === void 0 || onClick(event);
81
81
  }
82
82
  }, [onClick, disabled]);
83
83
  return /*#__PURE__*/React__default.createElement(Comp, Object.assign({
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { warn } from '~/src/utils/assert'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { LegacyIcon, isIconName } from '~/src/components/LegacyIcon'\nimport { Spinner } from '~/src/components/Spinner'\nimport { Text } from '~/src/components/Text'\n\nimport type { ButtonProps, ButtonSize, SideContent } from './Button.types'\n\nimport styles from './Button.module.scss'\n\nexport const BUTTON_TEST_ID = 'bezier-button'\n\nfunction getTypography(size: ButtonSize) {\n return (\n {\n xs: '13',\n s: '13',\n m: '14',\n l: '15',\n xl: '18',\n } as const\n )[size]\n}\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nfunction getSpinnerSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 's',\n } as const\n )[size]\n}\n\nfunction ButtonSideContent({\n size,\n children,\n}: {\n size: ButtonSize\n children: SideContent\n}) {\n if (isIconName(children)) {\n warn(\n 'Deprecation: IconName as a value for the leftContent property of a Button has been deprecated. Use the Icon of bezier-icons instead.'\n )\n return (\n <LegacyIcon\n className={styles.ButtonIcon}\n name={children}\n size={getIconSize(size)}\n />\n )\n }\n\n if (isBezierIcon(children)) {\n return (\n <Icon\n className={styles.ButtonIcon}\n source={children}\n size={getIconSize(size)}\n />\n )\n }\n\n return <>{children}</>\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n as = BaseButton,\n className,\n text,\n disabled = false,\n loading = false,\n active = false,\n size = 'm',\n styleVariant = 'primary',\n colorVariant = 'blue',\n leftContent,\n rightContent,\n onClick,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as as typeof BaseButton\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (event) => {\n if (!disabled) {\n onClick?.(event)\n }\n },\n [onClick, disabled]\n )\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.Button,\n styles[`size-${size}`],\n styles[`style-${styleVariant}`],\n styles[`color-${colorVariant}`],\n active && styles.active,\n className\n )}\n disabled={disabled}\n onClick={handleClick}\n data-testid={BUTTON_TEST_ID}\n data-bezier-component=\"Button\"\n {...rest}\n >\n <div\n className={classNames(\n styles.ButtonContent,\n loading && styles.loading\n )}\n >\n <ButtonSideContent size={size}>{leftContent}</ButtonSideContent>\n\n {text && (\n <Text\n className={styles.ButtonText}\n typo={getTypography(size)}\n bold\n >\n {text}\n </Text>\n )}\n\n <ButtonSideContent size={size}>{rightContent}</ButtonSideContent>\n </div>\n\n {loading && (\n <div className={styles.ButtonLoader}>\n <Spinner size={getSpinnerSize(size)} />\n </div>\n )}\n </Comp>\n )\n }\n)\n"],"names":["BUTTON_TEST_ID","getTypography","size","xs","s","m","l","xl","getIconSize","getSpinnerSize","ButtonSideContent","children","isIconName","warn","React","createElement","LegacyIcon","className","styles","ButtonIcon","name","isBezierIcon","Icon","source","Fragment","Button","forwardRef","as","BaseButton","text","disabled","loading","active","styleVariant","colorVariant","leftContent","rightContent","onClick","rest","forwardedRef","Comp","handleClick","useCallback","event","Object","assign","ref","classNames","ButtonContent","Text","ButtonText","typo","bold","ButtonLoader","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"Button.mjs","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { warn } from '~/src/utils/assert'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { LegacyIcon, isIconName } from '~/src/components/LegacyIcon'\nimport { Spinner } from '~/src/components/Spinner'\nimport { Text } from '~/src/components/Text'\n\nimport type { ButtonProps, ButtonSize, SideContent } from './Button.types'\n\nimport styles from './Button.module.scss'\n\nexport const BUTTON_TEST_ID = 'bezier-button'\n\nfunction getTypography(size: ButtonSize) {\n return (\n {\n xs: '13',\n s: '13',\n m: '14',\n l: '15',\n xl: '18',\n } as const\n )[size]\n}\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nfunction getSpinnerSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 's',\n } as const\n )[size]\n}\n\nfunction ButtonSideContent({\n size,\n children,\n}: {\n size: ButtonSize\n children: SideContent\n}) {\n if (isIconName(children)) {\n warn(\n 'Deprecation: IconName as a value for the leftContent property of a Button has been deprecated. Use the Icon of bezier-icons instead.'\n )\n return (\n <LegacyIcon\n className={styles.ButtonIcon}\n name={children}\n size={getIconSize(size)}\n />\n )\n }\n\n if (isBezierIcon(children)) {\n return (\n <Icon\n className={styles.ButtonIcon}\n source={children}\n size={getIconSize(size)}\n />\n )\n }\n\n return <>{children}</>\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n as = BaseButton,\n className,\n text,\n disabled = false,\n loading = false,\n active = false,\n size = 'm',\n styleVariant = 'primary',\n colorVariant = 'blue',\n leftContent,\n rightContent,\n onClick,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as as typeof BaseButton\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (event) => {\n if (!disabled) {\n onClick?.(event)\n }\n },\n [onClick, disabled]\n )\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.Button,\n styles[`size-${size}`],\n styles[`style-${styleVariant}`],\n styles[`color-${colorVariant}`],\n active && styles.active,\n className\n )}\n disabled={disabled}\n onClick={handleClick}\n data-testid={BUTTON_TEST_ID}\n data-bezier-component=\"Button\"\n {...rest}\n >\n <div\n className={classNames(\n styles.ButtonContent,\n loading && styles.loading\n )}\n >\n <ButtonSideContent size={size}>{leftContent}</ButtonSideContent>\n\n {text && (\n <Text\n className={styles.ButtonText}\n typo={getTypography(size)}\n bold\n >\n {text}\n </Text>\n )}\n\n <ButtonSideContent size={size}>{rightContent}</ButtonSideContent>\n </div>\n\n {loading && (\n <div className={styles.ButtonLoader}>\n <Spinner size={getSpinnerSize(size)} />\n </div>\n )}\n </Comp>\n )\n }\n)\n"],"names":["BUTTON_TEST_ID","getTypography","size","xs","s","m","l","xl","getIconSize","getSpinnerSize","ButtonSideContent","children","isIconName","warn","React","createElement","LegacyIcon","className","styles","ButtonIcon","name","isBezierIcon","Icon","source","Fragment","Button","forwardRef","as","BaseButton","text","disabled","loading","active","styleVariant","colorVariant","leftContent","rightContent","onClick","rest","forwardedRef","Comp","handleClick","useCallback","event","Object","assign","ref","classNames","ButtonContent","Text","ButtonText","typo","bold","ButtonLoader","Spinner"],"mappings":"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"}
@@ -36,7 +36,7 @@ function CheckboxImpl({
36
36
  hasError,
37
37
  ...formFieldProps
38
38
  } = useFormFieldProps(rest);
39
- const id = useId(idProp ?? formFieldId, 'bezier-checkbox');
39
+ const id = useId(idProp !== null && idProp !== void 0 ? idProp : formFieldId, 'bezier-checkbox');
40
40
  return /*#__PURE__*/React__default.createElement("div", {
41
41
  className: classNames(styles.Container, getFormFieldSizeClassName('m'))
42
42
  }, /*#__PURE__*/React__default.createElement($e698a72e93240346$export$be92b6f5f03c0fe9, Object.assign({
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.mjs","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n size=\"xs\"\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnType<typeof CheckboxImpl<Checked>>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","React","createElement","Icon","Object","assign","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","size","color","CheckboxImpl","children","checked","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":";;;;;;;;;;;;AAwBA;AACA,MAAMA,SAAS,gBAAGC,UAAU,CAC1B,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;AACtC;AACA,EAAA,MAAMC,KAAK,GAAGF,KAAK,CAAC,YAAY,CAAC,CAAA;AACjC,EAAA,MAAMG,WAAW,GAAGD,KAAK,KAAK,WAAW,CAAA;AACzC,EAAA,MAAME,eAAe,GAAGF,KAAK,KAAK,eAAe,CAAA;EAEjD,oBACEG,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACHC,SAAS,EAAEC,MAAM,CAACb,SAAU;AAC5Bc,IAAAA,GAAG,EAAEX,YAAa;AAClBY,IAAAA,MAAM,EAAE,CAACT,eAAe,GAAGU,aAAa,GAAGC,cAAe;AAC1DC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAEd,WAAW,GAAG,eAAe,GAAG,2BAAA;GACnCH,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CACF,CAAC,CAAA;AAED,SAASkB,YAAYA,CACnB;EAAEC,QAAQ;EAAET,SAAS;EAAEU,OAAO;AAAEC,EAAAA,EAAE,EAAEC,MAAM;EAAE,GAAGC,IAAAA;AAA6B,CAAC,EAC7EtB,YAA0C,EAC1C;EACA,MAAM;AACJoB,IAAAA,EAAE,EAAEG,WAAW;IACfC,QAAQ;IACR,GAAGC,cAAAA;AACL,GAAC,GAAGC,iBAAiB,CAACJ,IAAI,CAAC,CAAA;EAE3B,MAAMF,EAAE,GAAGO,KAAK,CAACN,MAAM,IAAIE,WAAW,EAAE,iBAAiB,CAAC,CAAA;EAE1D,oBACEnB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEI,SAAS,EAAEmB,UAAU,CAAClB,MAAM,CAACmB,SAAS,EAAEC,yBAAyB,CAAC,GAAG,CAAC,CAAA;GAEtE1B,eAAAA,cAAA,CAAAC,aAAA,CAAC0B,yCAAsB,EAAAxB,MAAA,CAAAC,MAAA,CAAA;IACrBwB,OAAO,EAAA,IAAA;IACPvB,SAAS,EAAEmB,UAAU,CAAClB,MAAM,CAACuB,QAAQ,EAAExB,SAAS,CAAE;AAClDE,IAAAA,GAAG,EAAEX,YAAa;AAClBoB,IAAAA,EAAE,EAAEA,EAAG;AACPD,IAAAA,OAAO,EAAEA,OAAQ;IACjB,cAAcM,EAAAA,cAAc,CAAC,cAAc,CAAA;AAAE,GAAA,EACzCA,cAAc,CAAA,eAElBrB,cAAA,CAAAC,aAAA,CAAC6B,UAAU,EACT9B,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAC0B,yCAA2B,EAAA;IAC1BC,OAAO,EAAA,IAAA;AACP;IACAG,UAAU,EAAA,IAAA;AAAA,GAAA,eAGV/B,cAAA,CAAAC,aAAA,CAACR,SAAS,MAAE,CACe,CACnB,CACU,CAAC,EACxBqB,QAAQ,iBACPd,cAAA,CAAAC,aAAA,CAAC+B,IAAI,EAAA;AACHC,IAAAA,EAAE,EAAC,OAAA;AACH;AACA;AAAA;AACAC,IAAAA,OAAO,EAAElB,EAAG;IACZX,SAAS,EAAEC,MAAM,CAAC6B,KAAM;AACxBC,IAAAA,IAAI,EAAC,IAAI;AACTxB,IAAAA,KAAK,EAAC,mBAAA;GAELE,EAAAA,QACG,CAEL,CAAC,CAAA;AAEV,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACae,QAAQ,gBAAGnC,UAAU,CAACmB,YAAY;;;;"}
1
+ {"version":3,"file":"Checkbox.mjs","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n size=\"xs\"\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnType<typeof CheckboxImpl<Checked>>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","React","createElement","Icon","Object","assign","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","size","color","CheckboxImpl","children","checked","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":"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"}
@@ -33,7 +33,7 @@ const Emoji = /*#__PURE__*/forwardRef(function Emoji({
33
33
  role: "img",
34
34
  "aria-description": name,
35
35
  style: {
36
- '--b-emoji-background-image': cssUrl(imageUrl ?? getEmojiUrl(name, assetSize)),
36
+ '--b-emoji-background-image': cssUrl(imageUrl !== null && imageUrl !== void 0 ? imageUrl : getEmojiUrl(name, assetSize)),
37
37
  ...style
38
38
  },
39
39
  className: classNames(styles.Emoji, styles[`size-${size}`], className),
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.mjs","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["import React, { type CSSProperties, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isDev } from '~/src/utils/assert'\nimport { cssUrl } from '~/src/utils/style'\n\nimport { type EmojiProps } from './Emoji.types'\n\nimport styles from './Emoji.module.scss'\n\nexport const EMOJI_TEST_ID = 'bezier-emoji'\n\nconst getEmojiUrl = (name: EmojiProps['name'], size: '160' | '80' | '44') => {\n return `https://cf${isDev() ? '.exp' : ''}.channel.io/asset/emoji/images/${size}/${name}.png`\n}\n\n/**\n * `Emoji` is a component for representing emoji with variant size.\n * @example\n * ```tsx\n * <Emoji\n * name=\"A\"\n * size=\"20\"\n * />\n * ```\n */\nexport const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(\n { style, imageUrl, className, name, size = '24', ...rest },\n forwardedRef\n) {\n const assetSize = Number(size) >= 60 ? '160' : '80'\n\n return (\n <div\n ref={forwardedRef}\n role=\"img\"\n aria-description={name}\n style={\n {\n '--b-emoji-background-image': cssUrl(\n imageUrl ?? getEmojiUrl(name, assetSize)\n ),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Emoji, styles[`size-${size}`], className)}\n data-testid={EMOJI_TEST_ID}\n {...rest}\n />\n )\n})\n"],"names":["EMOJI_TEST_ID","getEmojiUrl","name","size","isDev","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;AAWO,MAAMA,aAAa,GAAG,eAAc;AAE3C,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAkCD,+BAAAA,EAAAA,IAAI,CAAID,CAAAA,EAAAA,IAAI,CAAM,IAAA,CAAA,CAAA;AAC/F,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaG,KAAK,gBAAGC,UAAU,CAA6B,SAASD,KAAKA,CACxE;EAAEE,KAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAEP,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGO,IAAAA;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACV,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnD,EAAA,oBACEW,cAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBjB,IAAK;AACvBK,IAAAA,KAAK,EACH;MACE,4BAA4B,EAAEa,MAAM,CAClCZ,QAAQ,IAAIP,WAAW,CAACC,IAAI,EAAEU,SAAS,CACzC,CAAC;MACD,GAAGL,KAAAA;KAEN;AACDE,IAAAA,SAAS,EAAEY,UAAU,CAACC,MAAM,CAACjB,KAAK,EAAEiB,MAAM,CAAC,QAAQnB,IAAI,CAAA,CAAE,CAAC,EAAEM,SAAS,CAAE;IACvE,aAAaT,EAAAA,aAAAA;GACTU,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC;;;;"}
1
+ {"version":3,"file":"Emoji.mjs","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["import React, { type CSSProperties, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isDev } from '~/src/utils/assert'\nimport { cssUrl } from '~/src/utils/style'\n\nimport { type EmojiProps } from './Emoji.types'\n\nimport styles from './Emoji.module.scss'\n\nexport const EMOJI_TEST_ID = 'bezier-emoji'\n\nconst getEmojiUrl = (name: EmojiProps['name'], size: '160' | '80' | '44') => {\n return `https://cf${isDev() ? '.exp' : ''}.channel.io/asset/emoji/images/${size}/${name}.png`\n}\n\n/**\n * `Emoji` is a component for representing emoji with variant size.\n * @example\n * ```tsx\n * <Emoji\n * name=\"A\"\n * size=\"20\"\n * />\n * ```\n */\nexport const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(\n { style, imageUrl, className, name, size = '24', ...rest },\n forwardedRef\n) {\n const assetSize = Number(size) >= 60 ? '160' : '80'\n\n return (\n <div\n ref={forwardedRef}\n role=\"img\"\n aria-description={name}\n style={\n {\n '--b-emoji-background-image': cssUrl(\n imageUrl ?? getEmojiUrl(name, assetSize)\n ),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Emoji, styles[`size-${size}`], className)}\n data-testid={EMOJI_TEST_ID}\n {...rest}\n />\n )\n})\n"],"names":["EMOJI_TEST_ID","getEmojiUrl","name","size","isDev","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;AAWO,MAAMA,aAAa,GAAG,eAAc;AAE3C,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAkCD,+BAAAA,EAAAA,IAAI,CAAID,CAAAA,EAAAA,IAAI,CAAM,IAAA,CAAA,CAAA;AAC/F,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaG,KAAK,gBAAGC,UAAU,CAA6B,SAASD,KAAKA,CACxE;EAAEE,KAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAEP,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGO,IAAAA;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACV,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnD,EAAA,oBACEW,cAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBjB,IAAK;AACvBK,IAAAA,KAAK,EACH;AACE,MAAA,4BAA4B,EAAEa,MAAM,CAClCZ,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,GAAIP,WAAW,CAACC,IAAI,EAAEU,SAAS,CACzC,CAAC;MACD,GAAGL,KAAAA;KAEN;AACDE,IAAAA,SAAS,EAAEY,UAAU,CAACC,MAAM,CAACjB,KAAK,EAAEiB,MAAM,CAAC,QAAQnB,IAAI,CAAA,CAAE,CAAC,EAAEM,SAAS,CAAE;IACvE,aAAaT,EAAAA,aAAAA;GACTU,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC;;;;"}
@@ -127,7 +127,8 @@ const FormControl = /*#__PURE__*/forwardRef(function FormControl({
127
127
  function useFormFieldProps(props) {
128
128
  const contextValue = useFormControlContext();
129
129
  const formFieldProps = useMemo(() => {
130
- const mergedProps = contextValue?.getFieldProps(props) ?? {
130
+ var _contextValue$getFiel;
131
+ const mergedProps = (_contextValue$getFiel = contextValue === null || contextValue === void 0 ? void 0 : contextValue.getFieldProps(props)) !== null && _contextValue$getFiel !== void 0 ? _contextValue$getFiel : {
131
132
  ...props
132
133
  };
133
134
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.mjs","sources":["../../../../src/components/FormControl/FormControl.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState } from 'react'\n\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport {\n type FormFieldProps,\n type FormFieldSize,\n type SizeProps,\n} from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport {\n type ContainerProps,\n type ErrorMessagePropsGetter,\n type FieldPropsGetter,\n type FormControlContextValue,\n type FormControlProps,\n type GroupPropsGetter,\n type HelperTextPropsGetter,\n type LabelPropsGetter,\n} from './FormControl.types'\n\nimport styles from './FormControl.module.scss'\n\nconst [FormControlContextProvider, useFormControlContext] = createContext<\n FormControlContextValue | undefined\n>(undefined)\n\nexport { useFormControlContext }\n\nexport const FORM_CONTROL_TEST_ID = 'bezier-form-control'\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(function Container(\n { labelPosition, children, className, ...rest },\n forwardedRef\n) {\n switch (labelPosition) {\n case 'top':\n return (\n <Stack\n className={className}\n ref={forwardedRef}\n direction=\"vertical\"\n {...rest}\n >\n {children}\n </Stack>\n )\n\n case 'left':\n default:\n return (\n <div\n ref={forwardedRef as React.ForwardedRef<HTMLDivElement>}\n className={classNames(styles.Grid, className)}\n {...rest}\n >\n {children}\n </div>\n )\n }\n})\n\nexport const FormControl = forwardRef<HTMLElement, FormControlProps>(\n function FormControl(\n {\n children,\n id: idProp,\n labelPosition = 'top',\n size = 'm',\n hasError,\n required,\n readOnly,\n disabled,\n ...rest\n },\n forwardedRef\n ) {\n const [groupNode, setGroupNode] = useState<HTMLElement | null>(null)\n const [helperTextNode, setHelperTextNode] = useState<HTMLElement | null>(\n null\n )\n const [errorMessageNode, setErrorMessageNode] =\n useState<HTMLElement | null>(null)\n\n const id = useId(idProp, 'field')\n const groupId = `${id}-group`\n const labelId = `${id}-label`\n const helperTextId = `${id}-help-text`\n const errorMessageId = `${id}-error-message`\n\n const fieldId = groupNode ? undefined : id\n\n const describerId = useMemo(() => {\n if (errorMessageNode) {\n return errorMessageId\n }\n if (helperTextNode) {\n return helperTextId\n }\n return undefined\n }, [errorMessageNode, helperTextNode, errorMessageId, helperTextId])\n\n const getGroupProps = useCallback<GroupPropsGetter>(\n (ownProps) => ({\n id: groupId,\n 'aria-labelledby': labelId,\n 'aria-describedby': describerId,\n ref: setGroupNode,\n ...ownProps,\n }),\n [groupId, labelId, describerId]\n )\n\n const getLabelProps = useCallback<LabelPropsGetter>(\n (ownProps) => ({\n id: labelId,\n htmlFor: fieldId,\n className: classNames(\n styles.FormLabelWrapper,\n styles[`position-${labelPosition}`],\n getFormFieldSizeClassName(size)\n ),\n typo: labelPosition === 'top' ? '13' : '14',\n ...ownProps,\n }),\n [fieldId, labelId, labelPosition, size]\n )\n\n const getFieldProps = useCallback<FieldPropsGetter>(\n (ownProps) => ({\n id: fieldId,\n size,\n 'aria-describedby': groupNode ? undefined : describerId,\n hasError,\n required,\n readOnly,\n disabled,\n ...ownProps,\n }),\n [\n fieldId,\n describerId,\n size,\n hasError,\n required,\n readOnly,\n disabled,\n groupNode,\n ]\n )\n\n const getHelperTextProps = useCallback<HelperTextPropsGetter>(\n (ownProps) => ({\n id: helperTextId,\n visible: isNil(hasError) || !hasError,\n ref: setHelperTextNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [helperTextId, labelPosition, hasError]\n )\n\n const getErrorMessageProps = useCallback<ErrorMessagePropsGetter>(\n (ownProps) => ({\n id: errorMessageId,\n visible: isNil(hasError) || hasError,\n ref: setErrorMessageNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [errorMessageId, labelPosition, hasError]\n )\n\n const contextValue = useMemo(\n () => ({\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n }),\n [\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n ]\n )\n\n if (!children) {\n return null\n }\n\n return (\n <FormControlContextProvider value={contextValue}>\n <Container\n {...rest}\n ref={forwardedRef}\n labelPosition={labelPosition}\n data-testid={FORM_CONTROL_TEST_ID}\n >\n {children}\n </Container>\n </FormControlContextProvider>\n )\n }\n)\n\nexport function useFormFieldProps<\n Props extends FormFieldProps & SizeProps<FormFieldSize>,\n>(props?: Props) {\n const contextValue = useFormControlContext()\n\n const formFieldProps = useMemo(() => {\n const mergedProps = contextValue?.getFieldProps(props) ?? { ...props }\n\n const {\n disabled = false,\n readOnly = false,\n required = false,\n hasError = false,\n size = undefined,\n ...rest\n } = mergedProps\n\n return {\n ...rest,\n 'aria-disabled': ariaAttr(disabled),\n 'aria-invalid': ariaAttr(hasError),\n 'aria-required': ariaAttr(required),\n 'aria-readonly': ariaAttr(readOnly),\n size,\n disabled,\n hasError,\n required,\n readOnly,\n }\n }, [props, contextValue])\n\n return formFieldProps as typeof formFieldProps & Props\n}\n"],"names":["FormControlContextProvider","useFormControlContext","createContext","undefined","FORM_CONTROL_TEST_ID","Container","forwardRef","labelPosition","children","className","rest","forwardedRef","React","createElement","Stack","Object","assign","ref","direction","classNames","styles","Grid","FormControl","id","idProp","size","hasError","required","readOnly","disabled","groupNode","setGroupNode","useState","helperTextNode","setHelperTextNode","errorMessageNode","setErrorMessageNode","useId","groupId","labelId","helperTextId","errorMessageId","fieldId","describerId","useMemo","getGroupProps","useCallback","ownProps","getLabelProps","htmlFor","FormLabelWrapper","getFormFieldSizeClassName","typo","getFieldProps","getHelperTextProps","visible","isNil","FormHelperTextWrapper","getErrorMessageProps","contextValue","value","useFormFieldProps","props","formFieldProps","mergedProps","ariaAttr"],"mappings":"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"}
1
+ {"version":3,"file":"FormControl.mjs","sources":["../../../../src/components/FormControl/FormControl.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState } from 'react'\n\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport {\n type FormFieldProps,\n type FormFieldSize,\n type SizeProps,\n} from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport {\n type ContainerProps,\n type ErrorMessagePropsGetter,\n type FieldPropsGetter,\n type FormControlContextValue,\n type FormControlProps,\n type GroupPropsGetter,\n type HelperTextPropsGetter,\n type LabelPropsGetter,\n} from './FormControl.types'\n\nimport styles from './FormControl.module.scss'\n\nconst [FormControlContextProvider, useFormControlContext] = createContext<\n FormControlContextValue | undefined\n>(undefined)\n\nexport { useFormControlContext }\n\nexport const FORM_CONTROL_TEST_ID = 'bezier-form-control'\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(function Container(\n { labelPosition, children, className, ...rest },\n forwardedRef\n) {\n switch (labelPosition) {\n case 'top':\n return (\n <Stack\n className={className}\n ref={forwardedRef}\n direction=\"vertical\"\n {...rest}\n >\n {children}\n </Stack>\n )\n\n case 'left':\n default:\n return (\n <div\n ref={forwardedRef as React.ForwardedRef<HTMLDivElement>}\n className={classNames(styles.Grid, className)}\n {...rest}\n >\n {children}\n </div>\n )\n }\n})\n\nexport const FormControl = forwardRef<HTMLElement, FormControlProps>(\n function FormControl(\n {\n children,\n id: idProp,\n labelPosition = 'top',\n size = 'm',\n hasError,\n required,\n readOnly,\n disabled,\n ...rest\n },\n forwardedRef\n ) {\n const [groupNode, setGroupNode] = useState<HTMLElement | null>(null)\n const [helperTextNode, setHelperTextNode] = useState<HTMLElement | null>(\n null\n )\n const [errorMessageNode, setErrorMessageNode] =\n useState<HTMLElement | null>(null)\n\n const id = useId(idProp, 'field')\n const groupId = `${id}-group`\n const labelId = `${id}-label`\n const helperTextId = `${id}-help-text`\n const errorMessageId = `${id}-error-message`\n\n const fieldId = groupNode ? undefined : id\n\n const describerId = useMemo(() => {\n if (errorMessageNode) {\n return errorMessageId\n }\n if (helperTextNode) {\n return helperTextId\n }\n return undefined\n }, [errorMessageNode, helperTextNode, errorMessageId, helperTextId])\n\n const getGroupProps = useCallback<GroupPropsGetter>(\n (ownProps) => ({\n id: groupId,\n 'aria-labelledby': labelId,\n 'aria-describedby': describerId,\n ref: setGroupNode,\n ...ownProps,\n }),\n [groupId, labelId, describerId]\n )\n\n const getLabelProps = useCallback<LabelPropsGetter>(\n (ownProps) => ({\n id: labelId,\n htmlFor: fieldId,\n className: classNames(\n styles.FormLabelWrapper,\n styles[`position-${labelPosition}`],\n getFormFieldSizeClassName(size)\n ),\n typo: labelPosition === 'top' ? '13' : '14',\n ...ownProps,\n }),\n [fieldId, labelId, labelPosition, size]\n )\n\n const getFieldProps = useCallback<FieldPropsGetter>(\n (ownProps) => ({\n id: fieldId,\n size,\n 'aria-describedby': groupNode ? undefined : describerId,\n hasError,\n required,\n readOnly,\n disabled,\n ...ownProps,\n }),\n [\n fieldId,\n describerId,\n size,\n hasError,\n required,\n readOnly,\n disabled,\n groupNode,\n ]\n )\n\n const getHelperTextProps = useCallback<HelperTextPropsGetter>(\n (ownProps) => ({\n id: helperTextId,\n visible: isNil(hasError) || !hasError,\n ref: setHelperTextNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [helperTextId, labelPosition, hasError]\n )\n\n const getErrorMessageProps = useCallback<ErrorMessagePropsGetter>(\n (ownProps) => ({\n id: errorMessageId,\n visible: isNil(hasError) || hasError,\n ref: setErrorMessageNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [errorMessageId, labelPosition, hasError]\n )\n\n const contextValue = useMemo(\n () => ({\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n }),\n [\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n ]\n )\n\n if (!children) {\n return null\n }\n\n return (\n <FormControlContextProvider value={contextValue}>\n <Container\n {...rest}\n ref={forwardedRef}\n labelPosition={labelPosition}\n data-testid={FORM_CONTROL_TEST_ID}\n >\n {children}\n </Container>\n </FormControlContextProvider>\n )\n }\n)\n\nexport function useFormFieldProps<\n Props extends FormFieldProps & SizeProps<FormFieldSize>,\n>(props?: Props) {\n const contextValue = useFormControlContext()\n\n const formFieldProps = useMemo(() => {\n const mergedProps = contextValue?.getFieldProps(props) ?? { ...props }\n\n const {\n disabled = false,\n readOnly = false,\n required = false,\n hasError = false,\n size = undefined,\n ...rest\n } = mergedProps\n\n return {\n ...rest,\n 'aria-disabled': ariaAttr(disabled),\n 'aria-invalid': ariaAttr(hasError),\n 'aria-required': ariaAttr(required),\n 'aria-readonly': ariaAttr(readOnly),\n size,\n disabled,\n hasError,\n required,\n readOnly,\n }\n }, [props, contextValue])\n\n return formFieldProps as typeof formFieldProps & Props\n}\n"],"names":["FormControlContextProvider","useFormControlContext","createContext","undefined","FORM_CONTROL_TEST_ID","Container","forwardRef","labelPosition","children","className","rest","forwardedRef","React","createElement","Stack","Object","assign","ref","direction","classNames","styles","Grid","FormControl","id","idProp","size","hasError","required","readOnly","disabled","groupNode","setGroupNode","useState","helperTextNode","setHelperTextNode","errorMessageNode","setErrorMessageNode","useId","groupId","labelId","helperTextId","errorMessageId","fieldId","describerId","useMemo","getGroupProps","useCallback","ownProps","getLabelProps","htmlFor","FormLabelWrapper","getFormFieldSizeClassName","typo","getFieldProps","getHelperTextProps","visible","isNil","FormHelperTextWrapper","getErrorMessageProps","contextValue","value","useFormFieldProps","props","formFieldProps","_contextValue$getFiel","mergedProps","ariaAttr"],"mappings":"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"}
@@ -12,11 +12,12 @@ const FormGroup = /*#__PURE__*/forwardRef(function FormGroup({
12
12
  children,
13
13
  ...rest
14
14
  }, forwardedRef) {
15
+ var _contextValue$getGrou;
15
16
  const contextValue = useFormControlContext();
16
17
  const {
17
18
  ref,
18
19
  ...ownProps
19
- } = contextValue?.getGroupProps(rest) ?? {
20
+ } = (_contextValue$getGrou = contextValue === null || contextValue === void 0 ? void 0 : contextValue.getGroupProps(rest)) !== null && _contextValue$getGrou !== void 0 ? _contextValue$getGrou : {
20
21
  ref: noop,
21
22
  ...rest
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormGroup.mjs","sources":["../../../../src/components/FormGroup/FormGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Stack } from '~/src/components/Stack'\n\nimport { type FormGroupProps } from './FormGroup.types'\n\nconst FORM_GROUP_TEST_ID = 'bezier-form-group'\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup(\n { spacing = 6, direction = 'vertical', role = 'group', children, ...rest },\n forwardedRef\n ) {\n const contextValue = useFormControlContext()\n\n const { ref, ...ownProps } = contextValue?.getGroupProps(rest) ?? {\n ref: noop,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n return (\n <Stack\n data-testid={FORM_GROUP_TEST_ID}\n ref={mergedRef}\n wrap\n justify=\"start\"\n align=\"stretch\"\n spacing={spacing}\n direction={direction}\n role={role}\n {...ownProps}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["FORM_GROUP_TEST_ID","FormGroup","forwardRef","spacing","direction","role","children","rest","forwardedRef","contextValue","useFormControlContext","ref","ownProps","getGroupProps","noop","mergedRef","useMergeRefs","React","createElement","Stack","Object","assign","wrap","justify","align"],"mappings":";;;;;;AAUA,MAAMA,kBAAkB,GAAG,mBAAmB,CAAA;MAEjCC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAChB;AAAEE,EAAAA,OAAO,GAAG,CAAC;AAAEC,EAAAA,SAAS,GAAG,UAAU;AAAEC,EAAAA,IAAI,GAAG,OAAO;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC1EC,YAAY,EACZ;AACA,EAAA,MAAMC,YAAY,GAAGC,qBAAqB,EAAE,CAAA;EAE5C,MAAM;IAAEC,GAAG;IAAE,GAAGC,QAAAA;AAAS,GAAC,GAAGH,YAAY,EAAEI,aAAa,CAACN,IAAI,CAAC,IAAI;AAChEI,IAAAA,GAAG,EAAEG,IAAI;IACT,GAAGP,IAAAA;GACJ,CAAA;AAED,EAAA,MAAMQ,SAAS,GAAGC,YAAY,CAACL,GAAG,EAAEH,YAAY,CAAC,CAAA;EAEjD,oBACES,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACJ,IAAA,aAAA,EAAarB,kBAAmB;AAChCW,IAAAA,GAAG,EAAEI,SAAU;IACfO,IAAI,EAAA,IAAA;AACJC,IAAAA,OAAO,EAAC,OAAO;AACfC,IAAAA,KAAK,EAAC,SAAS;AACfrB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,IAAI,EAAEA,IAAAA;GACFO,EAAAA,QAAQ,CAEXN,EAAAA,QACI,CAAC,CAAA;AAEZ,CACF;;;;"}
1
+ {"version":3,"file":"FormGroup.mjs","sources":["../../../../src/components/FormGroup/FormGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Stack } from '~/src/components/Stack'\n\nimport { type FormGroupProps } from './FormGroup.types'\n\nconst FORM_GROUP_TEST_ID = 'bezier-form-group'\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup(\n { spacing = 6, direction = 'vertical', role = 'group', children, ...rest },\n forwardedRef\n ) {\n const contextValue = useFormControlContext()\n\n const { ref, ...ownProps } = contextValue?.getGroupProps(rest) ?? {\n ref: noop,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n return (\n <Stack\n data-testid={FORM_GROUP_TEST_ID}\n ref={mergedRef}\n wrap\n justify=\"start\"\n align=\"stretch\"\n spacing={spacing}\n direction={direction}\n role={role}\n {...ownProps}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["FORM_GROUP_TEST_ID","FormGroup","forwardRef","spacing","direction","role","children","rest","forwardedRef","_contextValue$getGrou","contextValue","useFormControlContext","ref","ownProps","getGroupProps","noop","mergedRef","useMergeRefs","React","createElement","Stack","Object","assign","wrap","justify","align"],"mappings":";;;;;;AAUA,MAAMA,kBAAkB,GAAG,mBAAmB,CAAA;MAEjCC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAChB;AAAEE,EAAAA,OAAO,GAAG,CAAC;AAAEC,EAAAA,SAAS,GAAG,UAAU;AAAEC,EAAAA,IAAI,GAAG,OAAO;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC1EC,YAAY,EACZ;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACA,EAAA,MAAMC,YAAY,GAAGC,qBAAqB,EAAE,CAAA;EAE5C,MAAM;IAAEC,GAAG;IAAE,GAAGC,QAAAA;AAAS,GAAC,IAAAJ,qBAAA,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEI,aAAa,CAACP,IAAI,CAAC,cAAAE,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI;AAChEG,IAAAA,GAAG,EAAEG,IAAI;IACT,GAAGR,IAAAA;GACJ,CAAA;AAED,EAAA,MAAMS,SAAS,GAAGC,YAAY,CAACL,GAAG,EAAEJ,YAAY,CAAC,CAAA;EAEjD,oBACEU,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACJ,IAAA,aAAA,EAAatB,kBAAmB;AAChCY,IAAAA,GAAG,EAAEI,SAAU;IACfO,IAAI,EAAA,IAAA;AACJC,IAAAA,OAAO,EAAC,OAAO;AACfC,IAAAA,KAAK,EAAC,SAAS;AACftB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,IAAI,EAAEA,IAAAA;GACFQ,EAAAA,QAAQ,CAEXP,EAAAA,QACI,CAAC,CAAA;AAEZ,CACF;;;;"}
@@ -10,6 +10,7 @@ import { Text } from '../Text/Text.mjs';
10
10
  const FORM_HELPER_TEXT_TEST_ID = 'bezier-form-helper-text';
11
11
  const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message';
12
12
  const BaseHelperText = /*#__PURE__*/forwardRef(function BaseHelperText(props, forwardedRef) {
13
+ var _getProps;
13
14
  const {
14
15
  type,
15
16
  typo = '13',
@@ -18,13 +19,13 @@ const BaseHelperText = /*#__PURE__*/forwardRef(function BaseHelperText(props, fo
18
19
  ...rest
19
20
  } = props;
20
21
  const contextValue = useFormControlContext();
21
- const getProps = type === 'info' ? contextValue?.getHelperTextProps : contextValue?.getErrorMessageProps;
22
+ const getProps = type === 'info' ? contextValue === null || contextValue === void 0 ? void 0 : contextValue.getHelperTextProps : contextValue === null || contextValue === void 0 ? void 0 : contextValue.getErrorMessageProps;
22
23
  const {
23
24
  visible,
24
25
  ref,
25
26
  className: formControlClassName,
26
27
  ...ownProps
27
- } = getProps?.(rest) ?? {
28
+ } = (_getProps = getProps === null || getProps === void 0 ? void 0 : getProps(rest)) !== null && _getProps !== void 0 ? _getProps : {
28
29
  visible: true,
29
30
  ref: noop,
30
31
  className: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"FormHelperText.mjs","sources":["../../../../src/components/FormHelperText/FormHelperText.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Text } from '~/src/components/Text'\n\nimport type {\n BaseHelperTextProps,\n FormErrorMessageProps,\n FormHelperTextProps,\n} from './FormHelperText.types'\n\nimport styles from './FormHelperText.module.scss'\n\nexport const FORM_HELPER_TEXT_TEST_ID = 'bezier-form-helper-text'\nexport const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message'\n\nconst BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(\n function BaseHelperText(props, forwardedRef) {\n const { type, typo = '13', children, className, ...rest } = props\n\n const contextValue = useFormControlContext()\n const getProps =\n type === 'info'\n ? contextValue?.getHelperTextProps\n : contextValue?.getErrorMessageProps\n\n const {\n visible,\n ref,\n className: formControlClassName,\n ...ownProps\n } = getProps?.(rest) ?? {\n visible: true,\n ref: noop,\n className: undefined,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n if (isEmpty(children) || !visible) {\n return null\n }\n\n return (\n <Text\n ref={mergedRef}\n as=\"p\"\n className={classNames(\n styles.FormHelperText,\n formControlClassName,\n className\n )}\n typo={typo}\n align=\"left\"\n {...ownProps}\n >\n {children}\n </Text>\n )\n }\n)\n\n/**\n * `FormHelperText` is a component to show the description of the input element.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormHelperText>\n * Please use at least 6 characters\n * </FormHelperText>\n * </FormControl>\n * ```\n */\nexport const FormHelperText = forwardRef<HTMLSpanElement, FormHelperTextProps>(\n function FormHelperText(props, forwardedRef) {\n const { color = 'txt-black-dark', children, ...rest } = props\n\n return (\n <BaseHelperText\n type=\"info\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_HELPER_TEXT_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n }\n)\n\n/**\n * `FormErrorMessage` is a component to show error message when form values are invalid.\n * It should be used with `FormControl` component.\n * @example\n * ```tsx\n * <FormControl>\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormErrorMessage>\n * Password should be at least 6 characters\n * </FormErrorMessage>\n * </FormControl>\n * ```\n */\nexport const FormErrorMessage = forwardRef<\n HTMLSpanElement,\n FormErrorMessageProps\n>(function FormErrorMessage(props, forwardedRef) {\n const { color = 'bgtxt-orange-normal', children, ...rest } = props\n\n return (\n <BaseHelperText\n aria-live=\"polite\"\n type=\"error\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_ERROR_MESSAGE_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n})\n"],"names":["FORM_HELPER_TEXT_TEST_ID","FORM_ERROR_MESSAGE_TEST_ID","BaseHelperText","forwardRef","props","forwardedRef","type","typo","children","className","rest","contextValue","useFormControlContext","getProps","getHelperTextProps","getErrorMessageProps","visible","ref","formControlClassName","ownProps","noop","undefined","mergedRef","useMergeRefs","isEmpty","React","createElement","Text","Object","assign","as","classNames","styles","FormHelperText","align","color","FormErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"FormHelperText.mjs","sources":["../../../../src/components/FormHelperText/FormHelperText.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Text } from '~/src/components/Text'\n\nimport type {\n BaseHelperTextProps,\n FormErrorMessageProps,\n FormHelperTextProps,\n} from './FormHelperText.types'\n\nimport styles from './FormHelperText.module.scss'\n\nexport const FORM_HELPER_TEXT_TEST_ID = 'bezier-form-helper-text'\nexport const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message'\n\nconst BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(\n function BaseHelperText(props, forwardedRef) {\n const { type, typo = '13', children, className, ...rest } = props\n\n const contextValue = useFormControlContext()\n const getProps =\n type === 'info'\n ? contextValue?.getHelperTextProps\n : contextValue?.getErrorMessageProps\n\n const {\n visible,\n ref,\n className: formControlClassName,\n ...ownProps\n } = getProps?.(rest) ?? {\n visible: true,\n ref: noop,\n className: undefined,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n if (isEmpty(children) || !visible) {\n return null\n }\n\n return (\n <Text\n ref={mergedRef}\n as=\"p\"\n className={classNames(\n styles.FormHelperText,\n formControlClassName,\n className\n )}\n typo={typo}\n align=\"left\"\n {...ownProps}\n >\n {children}\n </Text>\n )\n }\n)\n\n/**\n * `FormHelperText` is a component to show the description of the input element.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormHelperText>\n * Please use at least 6 characters\n * </FormHelperText>\n * </FormControl>\n * ```\n */\nexport const FormHelperText = forwardRef<HTMLSpanElement, FormHelperTextProps>(\n function FormHelperText(props, forwardedRef) {\n const { color = 'txt-black-dark', children, ...rest } = props\n\n return (\n <BaseHelperText\n type=\"info\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_HELPER_TEXT_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n }\n)\n\n/**\n * `FormErrorMessage` is a component to show error message when form values are invalid.\n * It should be used with `FormControl` component.\n * @example\n * ```tsx\n * <FormControl>\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormErrorMessage>\n * Password should be at least 6 characters\n * </FormErrorMessage>\n * </FormControl>\n * ```\n */\nexport const FormErrorMessage = forwardRef<\n HTMLSpanElement,\n FormErrorMessageProps\n>(function FormErrorMessage(props, forwardedRef) {\n const { color = 'bgtxt-orange-normal', children, ...rest } = props\n\n return (\n <BaseHelperText\n aria-live=\"polite\"\n type=\"error\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_ERROR_MESSAGE_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n})\n"],"names":["FORM_HELPER_TEXT_TEST_ID","FORM_ERROR_MESSAGE_TEST_ID","BaseHelperText","forwardRef","props","forwardedRef","_getProps","type","typo","children","className","rest","contextValue","useFormControlContext","getProps","getHelperTextProps","getErrorMessageProps","visible","ref","formControlClassName","ownProps","noop","undefined","mergedRef","useMergeRefs","isEmpty","React","createElement","Text","Object","assign","as","classNames","styles","FormHelperText","align","color","FormErrorMessage"],"mappings":"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"}
@@ -24,6 +24,7 @@ const FORM_LABEL_TEST_ID = 'bezier-form-label';
24
24
  * ```
25
25
  */
26
26
  const FormLabel = /*#__PURE__*/forwardRef(function FormLabel(props, forwardedRef) {
27
+ var _contextValue$getLabe;
27
28
  const {
28
29
  help,
29
30
  bold = true,
@@ -36,7 +37,7 @@ const FormLabel = /*#__PURE__*/forwardRef(function FormLabel(props, forwardedRef
36
37
  const {
37
38
  className: formControlClassName,
38
39
  ...ownProps
39
- } = contextValue?.getLabelProps(rest) ?? {
40
+ } = (_contextValue$getLabe = contextValue === null || contextValue === void 0 ? void 0 : contextValue.getLabelProps(rest)) !== null && _contextValue$getLabe !== void 0 ? _contextValue$getLabe : {
40
41
  typo: '13',
41
42
  className: undefined,
42
43
  ...rest
@@ -45,11 +46,11 @@ const FormLabel = /*#__PURE__*/forwardRef(function FormLabel(props, forwardedRef
45
46
  if (isEmpty(help)) {
46
47
  return null;
47
48
  }
48
- if ( /*#__PURE__*/React__default.isValidElement(help)) {
49
+ if (/*#__PURE__*/React__default.isValidElement(help)) {
49
50
  // FIXME(@bora): string, JSXElementCostructor 타입에 displayName 속성이 존재하지 않음, 임시로 any 타입으로 설정
50
51
  const {
51
52
  displayName
52
- } = help?.type;
53
+ } = help === null || help === void 0 ? void 0 : help.type;
53
54
  if (displayName === HELP_DISPLAY_NAME) {
54
55
  return help;
55
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.mjs","sources":["../../../../src/components/FormLabel/FormLabel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Help } from '~/src/components/Help'\nimport { HELP_DISPLAY_NAME } from '~/src/components/Help/Help'\nimport { LegacyHStack, LegacyStackItem } from '~/src/components/LegacyStack'\nimport { Text } from '~/src/components/Text'\n\nimport { type FormLabelProps } from './FormLabel.types'\n\nimport styles from './FormLabel.module.scss'\n\nexport const FORM_LABEL_TEST_ID = 'bezier-form-label'\n\n/**\n * `FormLabel` is a component to show label.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Name\n * </FormLabel>\n * <TextField />\n * </FormControl>\n * ```\n */\nexport const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(\n function FormLabel(props, forwardedRef) {\n const {\n help,\n bold = true,\n color = 'txt-black-darkest',\n className,\n children,\n ...rest\n } = props\n\n const contextValue = useFormControlContext()\n const { className: formControlClassName, ...ownProps } =\n contextValue?.getLabelProps(rest) ?? {\n typo: '13',\n className: undefined,\n ...rest,\n }\n\n const HelpComponent = (() => {\n if (isEmpty(help)) {\n return null\n }\n\n if (React.isValidElement(help)) {\n // FIXME(@bora): string, JSXElementCostructor 타입에 displayName 속성이 존재하지 않음, 임시로 any 타입으로 설정\n const { displayName } = help?.type as any\n if (displayName === HELP_DISPLAY_NAME) {\n return help\n }\n }\n\n return <Help>{help}</Help>\n })()\n\n const LabelComponent = (\n <Text\n className={classNames(\n styles.LabelText,\n !HelpComponent && formControlClassName,\n className\n )}\n ref={forwardedRef}\n as=\"label\"\n align=\"left\"\n bold={bold}\n color={color}\n data-testid={FORM_LABEL_TEST_ID}\n {...ownProps}\n >\n {children}\n </Text>\n )\n\n if (isEmpty(children)) {\n return null\n }\n\n return !HelpComponent ? (\n LabelComponent\n ) : (\n <LegacyHStack\n align=\"center\"\n spacing={6}\n className={formControlClassName}\n >\n <LegacyStackItem\n shrink\n weight={1}\n >\n {LabelComponent}\n </LegacyStackItem>\n <LegacyStackItem>{HelpComponent}</LegacyStackItem>\n </LegacyHStack>\n )\n }\n)\n"],"names":["FORM_LABEL_TEST_ID","FormLabel","forwardRef","props","forwardedRef","help","bold","color","className","children","rest","contextValue","useFormControlContext","formControlClassName","ownProps","getLabelProps","typo","undefined","HelpComponent","isEmpty","React","isValidElement","displayName","type","HELP_DISPLAY_NAME","createElement","Help","LabelComponent","Text","Object","assign","classNames","styles","LabelText","ref","as","align","LegacyHStack","spacing","LegacyStackItem","shrink","weight"],"mappings":";;;;;;;;;;AAgBO,MAAMA,kBAAkB,GAAG,oBAAmB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACtC,MAAM;IACJC,IAAI;AACJC,IAAAA,IAAI,GAAG,IAAI;AACXC,IAAAA,KAAK,GAAG,mBAAmB;IAC3BC,SAAS;IACTC,QAAQ;IACR,GAAGC,IAAAA;AACL,GAAC,GAAGP,KAAK,CAAA;AAET,EAAA,MAAMQ,YAAY,GAAGC,qBAAqB,EAAE,CAAA;EAC5C,MAAM;AAAEJ,IAAAA,SAAS,EAAEK,oBAAoB;IAAE,GAAGC,QAAAA;AAAS,GAAC,GACpDH,YAAY,EAAEI,aAAa,CAACL,IAAI,CAAC,IAAI;AACnCM,IAAAA,IAAI,EAAE,IAAI;AACVR,IAAAA,SAAS,EAAES,SAAS;IACpB,GAAGP,IAAAA;GACJ,CAAA;EAEH,MAAMQ,aAAa,GAAG,CAAC,MAAM;AAC3B,IAAA,IAAIC,OAAO,CAACd,IAAI,CAAC,EAAE;AACjB,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,kBAAIe,cAAK,CAACC,cAAc,CAAChB,IAAI,CAAC,EAAE;AAC9B;MACA,MAAM;AAAEiB,QAAAA,WAAAA;OAAa,GAAGjB,IAAI,EAAEkB,IAAW,CAAA;MACzC,IAAID,WAAW,KAAKE,iBAAiB,EAAE;AACrC,QAAA,OAAOnB,IAAI,CAAA;AACb,OAAA;AACF,KAAA;AAEA,IAAA,oBAAOe,cAAA,CAAAK,aAAA,CAACC,IAAI,EAAA,IAAA,EAAErB,IAAW,CAAC,CAAA;AAC5B,GAAC,GAAG,CAAA;EAEJ,MAAMsB,cAAc,gBAClBP,cAAA,CAAAK,aAAA,CAACG,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHtB,IAAAA,SAAS,EAAEuB,UAAU,CACnBC,MAAM,CAACC,SAAS,EAChB,CAACf,aAAa,IAAIL,oBAAoB,EACtCL,SACF,CAAE;AACF0B,IAAAA,GAAG,EAAE9B,YAAa;AAClB+B,IAAAA,EAAE,EAAC,OAAO;AACVC,IAAAA,KAAK,EAAC,MAAM;AACZ9B,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,KAAK,EAAEA,KAAM;IACb,aAAaP,EAAAA,kBAAAA;GACTc,EAAAA,QAAQ,CAEXL,EAAAA,QACG,CACP,CAAA;AAED,EAAA,IAAIU,OAAO,CAACV,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,OAAO,CAACS,aAAa,GACnBS,cAAc,gBAEdP,cAAA,CAAAK,aAAA,CAACY,YAAY,EAAA;AACXD,IAAAA,KAAK,EAAC,QAAQ;AACdE,IAAAA,OAAO,EAAE,CAAE;AACX9B,IAAAA,SAAS,EAAEK,oBAAAA;AAAqB,GAAA,eAEhCO,cAAA,CAAAK,aAAA,CAACc,eAAe,EAAA;IACdC,MAAM,EAAA,IAAA;AACNC,IAAAA,MAAM,EAAE,CAAA;GAEPd,EAAAA,cACc,CAAC,eAClBP,cAAA,CAAAK,aAAA,CAACc,eAAe,EAAA,IAAA,EAAErB,aAA+B,CACrC,CACf,CAAA;AACH,CACF;;;;"}
1
+ {"version":3,"file":"FormLabel.mjs","sources":["../../../../src/components/FormLabel/FormLabel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Help } from '~/src/components/Help'\nimport { HELP_DISPLAY_NAME } from '~/src/components/Help/Help'\nimport { LegacyHStack, LegacyStackItem } from '~/src/components/LegacyStack'\nimport { Text } from '~/src/components/Text'\n\nimport { type FormLabelProps } from './FormLabel.types'\n\nimport styles from './FormLabel.module.scss'\n\nexport const FORM_LABEL_TEST_ID = 'bezier-form-label'\n\n/**\n * `FormLabel` is a component to show label.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Name\n * </FormLabel>\n * <TextField />\n * </FormControl>\n * ```\n */\nexport const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(\n function FormLabel(props, forwardedRef) {\n const {\n help,\n bold = true,\n color = 'txt-black-darkest',\n className,\n children,\n ...rest\n } = props\n\n const contextValue = useFormControlContext()\n const { className: formControlClassName, ...ownProps } =\n contextValue?.getLabelProps(rest) ?? {\n typo: '13',\n className: undefined,\n ...rest,\n }\n\n const HelpComponent = (() => {\n if (isEmpty(help)) {\n return null\n }\n\n if (React.isValidElement(help)) {\n // FIXME(@bora): string, JSXElementCostructor 타입에 displayName 속성이 존재하지 않음, 임시로 any 타입으로 설정\n const { displayName } = help?.type as any\n if (displayName === HELP_DISPLAY_NAME) {\n return help\n }\n }\n\n return <Help>{help}</Help>\n })()\n\n const LabelComponent = (\n <Text\n className={classNames(\n styles.LabelText,\n !HelpComponent && formControlClassName,\n className\n )}\n ref={forwardedRef}\n as=\"label\"\n align=\"left\"\n bold={bold}\n color={color}\n data-testid={FORM_LABEL_TEST_ID}\n {...ownProps}\n >\n {children}\n </Text>\n )\n\n if (isEmpty(children)) {\n return null\n }\n\n return !HelpComponent ? (\n LabelComponent\n ) : (\n <LegacyHStack\n align=\"center\"\n spacing={6}\n className={formControlClassName}\n >\n <LegacyStackItem\n shrink\n weight={1}\n >\n {LabelComponent}\n </LegacyStackItem>\n <LegacyStackItem>{HelpComponent}</LegacyStackItem>\n </LegacyHStack>\n )\n }\n)\n"],"names":["FORM_LABEL_TEST_ID","FormLabel","forwardRef","props","forwardedRef","_contextValue$getLabe","help","bold","color","className","children","rest","contextValue","useFormControlContext","formControlClassName","ownProps","getLabelProps","typo","undefined","HelpComponent","isEmpty","React","isValidElement","displayName","type","HELP_DISPLAY_NAME","createElement","Help","LabelComponent","Text","Object","assign","classNames","styles","LabelText","ref","as","align","LegacyHStack","spacing","LegacyStackItem","shrink","weight"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { tokenCssVar } from '../../utils/style.mjs';
5
5
  import styles from './Icon.module.scss.mjs';
6
6
 
7
7
  const ICON_TEST_ID = 'bezier-icon';
8
- const Icon = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Icon(props, forwardedRef) {
8
+ const Icon = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Icon(props, forwardedRef) {
9
9
  const [marginProps, marginRest] = splitByMarginProps(props);
10
10
  const marginStyles = getMarginStyles(marginProps);
11
11
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.mjs","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import React, { forwardRef, memo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\n\nimport { type IconProps } from './Icon.types'\n\nimport styles from './Icon.module.scss'\n\nexport const ICON_TEST_ID = 'bezier-icon'\n\nexport const Icon = memo(\n forwardRef<SVGSVGElement, IconProps>(function Icon(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n className,\n size = 'm',\n color,\n source: SourceElement,\n style,\n ...rest\n } = marginRest\n\n return (\n <SourceElement\n ref={forwardedRef}\n style={\n {\n '--b-icon-color': tokenCssVar(color),\n ...marginStyles.style,\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Icon,\n styles[`size-${size}`],\n marginStyles.className,\n className\n )}\n data-testid={ICON_TEST_ID}\n {...rest}\n />\n )\n })\n)\n"],"names":["ICON_TEST_ID","Icon","memo","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","className","size","color","source","SourceElement","style","rest","React","createElement","Object","assign","ref","tokenCssVar","classNames","styles"],"mappings":";;;;;;AAWO,MAAMA,YAAY,GAAG,cAAa;AAE5BC,MAAAA,IAAI,gBAAGC,IAAI,eACtBC,UAAU,CAA2B,SAASF,IAAIA,CAACG,KAAK,EAAEC,YAAY,EAAE;EACtE,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC,CAAA;AAC3D,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACJ,WAAW,CAAC,CAAA;EAEjD,MAAM;IACJK,SAAS;AACTC,IAAAA,IAAI,GAAG,GAAG;IACVC,KAAK;AACLC,IAAAA,MAAM,EAAEC,aAAa;IACrBC,KAAK;IACL,GAAGC,IAAAA;AACL,GAAC,GAAGV,UAAU,CAAA;EAEd,oBACEW,cAAA,CAAAC,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEjB,YAAa;AAClBW,IAAAA,KAAK,EACH;AACE,MAAA,gBAAgB,EAAEO,WAAW,CAACV,KAAK,CAAC;MACpC,GAAGJ,YAAY,CAACO,KAAK;MACrB,GAAGA,KAAAA;KAEN;AACDL,IAAAA,SAAS,EAAEa,UAAU,CACnBC,MAAM,CAACxB,IAAI,EACXwB,MAAM,CAAC,QAAQb,IAAI,CAAA,CAAE,CAAC,EACtBH,YAAY,CAACE,SAAS,EACtBA,SACF,CAAE;IACF,aAAaX,EAAAA,YAAAA;GACTiB,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC,CACH;;;;"}
1
+ {"version":3,"file":"Icon.mjs","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import React, { forwardRef, memo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\n\nimport { type IconProps } from './Icon.types'\n\nimport styles from './Icon.module.scss'\n\nexport const ICON_TEST_ID = 'bezier-icon'\n\nexport const Icon = memo(\n forwardRef<SVGSVGElement, IconProps>(function Icon(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n className,\n size = 'm',\n color,\n source: SourceElement,\n style,\n ...rest\n } = marginRest\n\n return (\n <SourceElement\n ref={forwardedRef}\n style={\n {\n '--b-icon-color': tokenCssVar(color),\n ...marginStyles.style,\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Icon,\n styles[`size-${size}`],\n marginStyles.className,\n className\n )}\n data-testid={ICON_TEST_ID}\n {...rest}\n />\n )\n })\n)\n"],"names":["ICON_TEST_ID","Icon","memo","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","className","size","color","source","SourceElement","style","rest","React","createElement","Object","assign","ref","tokenCssVar","classNames","styles"],"mappings":";;;;;;AAWO,MAAMA,YAAY,GAAG,cAAa;AAE5BC,MAAAA,IAAI,gBAAGC,IAAI,cACtBC,UAAU,CAA2B,SAASF,IAAIA,CAACG,KAAK,EAAEC,YAAY,EAAE;EACtE,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC,CAAA;AAC3D,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACJ,WAAW,CAAC,CAAA;EAEjD,MAAM;IACJK,SAAS;AACTC,IAAAA,IAAI,GAAG,GAAG;IACVC,KAAK;AACLC,IAAAA,MAAM,EAAEC,aAAa;IACrBC,KAAK;IACL,GAAGC,IAAAA;AACL,GAAC,GAAGV,UAAU,CAAA;EAEd,oBACEW,cAAA,CAAAC,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEjB,YAAa;AAClBW,IAAAA,KAAK,EACH;AACE,MAAA,gBAAgB,EAAEO,WAAW,CAACV,KAAK,CAAC;MACpC,GAAGJ,YAAY,CAACO,KAAK;MACrB,GAAGA,KAAAA;KAEN;AACDL,IAAAA,SAAS,EAAEa,UAAU,CACnBC,MAAM,CAACxB,IAAI,EACXwB,MAAM,CAAC,QAAQb,IAAI,CAAA,CAAE,CAAC,EACtBH,YAAY,CAACE,SAAS,EACtBA,SACF,CAAE;IACF,aAAaX,EAAAA,YAAAA;GACTiB,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC,CACH;;;;"}
@@ -38,6 +38,7 @@ const LegacyStack = /*#__PURE__*/forwardRef(function Stack({
38
38
  ref: forwardedRef,
39
39
  "data-testid": "bezier-legacy-stack"
40
40
  }, rest), Children.map(children, (element, index) => {
41
+ var _element$props$margin;
41
42
  if (! /*#__PURE__*/isValidElement(element)) {
42
43
  return element;
43
44
  }
@@ -55,7 +56,7 @@ const LegacyStack = /*#__PURE__*/forwardRef(function Stack({
55
56
  return /*#__PURE__*/cloneElement(element, {
56
57
  ...element.props,
57
58
  direction,
58
- marginBefore: element.props.marginBefore ?? (index > firstValidElementIdx.current ? spacing : 0)
59
+ marginBefore: (_element$props$margin = element.props.marginBefore) !== null && _element$props$margin !== void 0 ? _element$props$margin : index > firstValidElementIdx.current ? spacing : 0
59
60
  });
60
61
  }));
61
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyStack/LegacyStack.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useRef,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport type LegacyStackProps from './LegacyStack.types'\n\nimport styles from './LegacyStack.module.scss'\n\n/**\n * @deprecated Use `Stack` instead.\n *\n * `Stack` provides an abstraction of **flex layout** so that\n * rendering of child elements **linearly** can be done\n * with simplified options.\n *\n * `Stack` always fills the parent element.\n *\n * Be reminded to list `StackItem`s to be direct child of `Stack`.\n * @example\n *\n * ```tsx\n * <Stack direction=\"horizontal\" spacing={8}>\n * <StackItem>{ ... }</StackItem>\n * <StackItem>{ ... }</StackItem>\n * </Stack>\n * ```\n */\nexport const LegacyStack = forwardRef<HTMLElement, LegacyStackProps>(\n function Stack(\n {\n as = 'div',\n className,\n children,\n direction,\n justify = 'start',\n align = 'stretch',\n spacing = 0,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as\n const firstValidElementIdx = useRef(-1)\n\n return (\n <Comp\n className={classNames(\n styles.LegacyStack,\n styles[`direction-${direction}`],\n styles[`justify-${justify}`],\n styles[`align-${align}`],\n className\n )}\n ref={forwardedRef}\n data-testid=\"bezier-legacy-stack\"\n {...rest}\n >\n {Children.map(children, (element, index) => {\n if (!isValidElement(element)) {\n return element\n }\n\n /**\n * NOTE: this assumes that this element is `StackItem`.\n *\n * Even if the child is not a `StackItem` component,\n * it could forward the prop to `StackItem` deeper in the tree,\n * or implement a custom behavior compatible with `StackItemProps`.\n */\n if (firstValidElementIdx.current === -1) {\n firstValidElementIdx.current = index\n }\n return cloneElement(element, {\n ...element.props,\n direction,\n marginBefore:\n element.props.marginBefore ??\n (index > firstValidElementIdx.current ? spacing : 0),\n })\n })}\n </Comp>\n )\n }\n)\n"],"names":["LegacyStack","forwardRef","Stack","as","className","children","direction","justify","align","spacing","rest","forwardedRef","Comp","firstValidElementIdx","useRef","React","createElement","Object","assign","classNames","styles","ref","Children","map","element","index","isValidElement","current","cloneElement","props","marginBefore"],"mappings":";;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,UAAU,CACnC,SAASC,KAAKA,CACZ;AACEC,EAAAA,EAAE,GAAG,KAAK;EACVC,SAAS;EACTC,QAAQ;EACRC,SAAS;AACTC,EAAAA,OAAO,GAAG,OAAO;AACjBC,EAAAA,KAAK,GAAG,SAAS;AACjBC,EAAAA,OAAO,GAAG,CAAC;EACX,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGT,EAAE,CAAA;AACf,EAAA,MAAMU,oBAAoB,GAAGC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;EAEvC,oBACEC,cAAA,CAAAC,aAAA,CAACJ,IAAI,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACHd,IAAAA,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAACpB,WAAW,EAClBoB,MAAM,CAAC,CAAA,UAAA,EAAad,SAAS,CAAA,CAAE,CAAC,EAChCc,MAAM,CAAC,CAAWb,QAAAA,EAAAA,OAAO,CAAE,CAAA,CAAC,EAC5Ba,MAAM,CAAC,CAAA,MAAA,EAASZ,KAAK,CAAA,CAAE,CAAC,EACxBJ,SACF,CAAE;AACFiB,IAAAA,GAAG,EAAEV,YAAa;IAClB,aAAY,EAAA,qBAAA;AAAqB,GAAA,EAC7BD,IAAI,CAAA,EAEPY,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAE,CAACmB,OAAO,EAAEC,KAAK,KAAK;AAC1C,IAAA,IAAI,eAACC,cAAc,CAACF,OAAO,CAAC,EAAE;AAC5B,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAA;;AAEA;AACV;AACA;AACA;AACA;AACA;AACA;AACU,IAAA,IAAIX,oBAAoB,CAACc,OAAO,KAAK,CAAC,CAAC,EAAE;MACvCd,oBAAoB,CAACc,OAAO,GAAGF,KAAK,CAAA;AACtC,KAAA;IACA,oBAAOG,YAAY,CAACJ,OAAO,EAAE;MAC3B,GAAGA,OAAO,CAACK,KAAK;MAChBvB,SAAS;AACTwB,MAAAA,YAAY,EACVN,OAAO,CAACK,KAAK,CAACC,YAAY,KACzBL,KAAK,GAAGZ,oBAAoB,CAACc,OAAO,GAAGlB,OAAO,GAAG,CAAC,CAAA;AACvD,KAAC,CAAC,CAAA;AACJ,GAAC,CACG,CAAC,CAAA;AAEX,CACF;;;;"}
1
+ {"version":3,"file":"LegacyStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyStack/LegacyStack.tsx"],"sourcesContent":["import React, {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useRef,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport type LegacyStackProps from './LegacyStack.types'\n\nimport styles from './LegacyStack.module.scss'\n\n/**\n * @deprecated Use `Stack` instead.\n *\n * `Stack` provides an abstraction of **flex layout** so that\n * rendering of child elements **linearly** can be done\n * with simplified options.\n *\n * `Stack` always fills the parent element.\n *\n * Be reminded to list `StackItem`s to be direct child of `Stack`.\n * @example\n *\n * ```tsx\n * <Stack direction=\"horizontal\" spacing={8}>\n * <StackItem>{ ... }</StackItem>\n * <StackItem>{ ... }</StackItem>\n * </Stack>\n * ```\n */\nexport const LegacyStack = forwardRef<HTMLElement, LegacyStackProps>(\n function Stack(\n {\n as = 'div',\n className,\n children,\n direction,\n justify = 'start',\n align = 'stretch',\n spacing = 0,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as\n const firstValidElementIdx = useRef(-1)\n\n return (\n <Comp\n className={classNames(\n styles.LegacyStack,\n styles[`direction-${direction}`],\n styles[`justify-${justify}`],\n styles[`align-${align}`],\n className\n )}\n ref={forwardedRef}\n data-testid=\"bezier-legacy-stack\"\n {...rest}\n >\n {Children.map(children, (element, index) => {\n if (!isValidElement(element)) {\n return element\n }\n\n /**\n * NOTE: this assumes that this element is `StackItem`.\n *\n * Even if the child is not a `StackItem` component,\n * it could forward the prop to `StackItem` deeper in the tree,\n * or implement a custom behavior compatible with `StackItemProps`.\n */\n if (firstValidElementIdx.current === -1) {\n firstValidElementIdx.current = index\n }\n return cloneElement(element, {\n ...element.props,\n direction,\n marginBefore:\n element.props.marginBefore ??\n (index > firstValidElementIdx.current ? spacing : 0),\n })\n })}\n </Comp>\n )\n }\n)\n"],"names":["LegacyStack","forwardRef","Stack","as","className","children","direction","justify","align","spacing","rest","forwardedRef","Comp","firstValidElementIdx","useRef","React","createElement","Object","assign","classNames","styles","ref","Children","map","element","index","_element$props$margin","isValidElement","current","cloneElement","props","marginBefore"],"mappings":";;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,UAAU,CACnC,SAASC,KAAKA,CACZ;AACEC,EAAAA,EAAE,GAAG,KAAK;EACVC,SAAS;EACTC,QAAQ;EACRC,SAAS;AACTC,EAAAA,OAAO,GAAG,OAAO;AACjBC,EAAAA,KAAK,GAAG,SAAS;AACjBC,EAAAA,OAAO,GAAG,CAAC;EACX,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGT,EAAE,CAAA;AACf,EAAA,MAAMU,oBAAoB,GAAGC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;EAEvC,oBACEC,cAAA,CAAAC,aAAA,CAACJ,IAAI,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACHd,IAAAA,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAACpB,WAAW,EAClBoB,MAAM,CAAC,CAAA,UAAA,EAAad,SAAS,CAAA,CAAE,CAAC,EAChCc,MAAM,CAAC,CAAWb,QAAAA,EAAAA,OAAO,CAAE,CAAA,CAAC,EAC5Ba,MAAM,CAAC,CAAA,MAAA,EAASZ,KAAK,CAAA,CAAE,CAAC,EACxBJ,SACF,CAAE;AACFiB,IAAAA,GAAG,EAAEV,YAAa;IAClB,aAAY,EAAA,qBAAA;AAAqB,GAAA,EAC7BD,IAAI,CAAA,EAEPY,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAE,CAACmB,OAAO,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAAC,qBAAA,CAAA;AAC1C,IAAA,IAAI,eAACC,cAAc,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAA;;AAEA;AACV;AACA;AACA;AACA;AACA;AACA;AACU,IAAA,IAAIX,oBAAoB,CAACe,OAAO,KAAK,CAAC,CAAC,EAAE;MACvCf,oBAAoB,CAACe,OAAO,GAAGH,KAAK,CAAA;AACtC,KAAA;IACA,oBAAOI,YAAY,CAACL,OAAO,EAAE;MAC3B,GAAGA,OAAO,CAACM,KAAK;MAChBxB,SAAS;MACTyB,YAAY,EAAA,CAAAL,qBAAA,GACVF,OAAO,CAACM,KAAK,CAACC,YAAY,MAAAL,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GACzBD,KAAK,GAAGZ,oBAAoB,CAACe,OAAO,GAAGnB,OAAO,GAAG,CAAA;AACtD,KAAC,CAAC,CAAA;AACJ,GAAC,CACG,CAAC,CAAA;AAEX,CACF;;;;"}
@@ -10,7 +10,7 @@ const TOOLTIP_CONTENT_TEST_ID = 'bezier-tooltip-content';
10
10
  /**
11
11
  * @deprecated Use `Tooltip` instead. It may be removed in the next major version.
12
12
  */
13
- const LegacyTooltip = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function LegacyTooltip({
13
+ const LegacyTooltip = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function LegacyTooltip({
14
14
  as,
15
15
  contentTestId = TOOLTIP_CONTENT_TEST_ID,
16
16
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyTooltip.mjs","sources":["../../../../src/components/LegacyTooltip/LegacyTooltip.tsx"],"sourcesContent":["import React, {\n type Ref,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport { type LegacyTooltipProps } from './LegacyTooltip.types'\nimport { LegacyTooltipContent } from './LegacyTooltipContent'\n\nimport styles from './LegacyTooltip.module.scss'\n\nexport const TOOLTIP_TEST_ID = 'bezier-tooltip'\nexport const TOOLTIP_CONTENT_TEST_ID = 'bezier-tooltip-content'\n\n/**\n * @deprecated Use `Tooltip` instead. It may be removed in the next major version.\n */\nexport const LegacyTooltip = memo(\n forwardRef(function LegacyTooltip(\n {\n as,\n contentTestId = TOOLTIP_CONTENT_TEST_ID,\n className,\n contentStyle,\n contentClassName,\n contentWrapperStyle,\n contentWrapperClassName,\n content = null,\n lazy = false, // optional prop 에서 추후 default behavior 를 lazy 하게 바꿀 예정\n placement = 'bottom-center',\n disabled = false,\n offset = 4,\n keepInContainer = false,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n children,\n ...otherProps\n }: LegacyTooltipProps,\n forwardedRef: Ref<any>\n ) {\n const { window } = useWindow()\n\n const [show, setShow] = useState(false)\n const [didMount, setDidMount] = useState(show)\n\n const tooltipContainerRef = useRef<HTMLDivElement>(null)\n const timerRef = useRef<ReturnType<Window['setTimeout']>>()\n\n useEffect(\n function hideTooltipContentWhenDisabled() {\n if (disabled) {\n setShow(false)\n }\n },\n [disabled]\n )\n\n useEffect(\n function updateDidMount() {\n setDidMount((prev) => prev || show)\n },\n [show]\n )\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) {\n return\n }\n\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n }\n\n timerRef.current = window.setTimeout(() => {\n setShow(true)\n }, delayShow)\n }, [delayShow, disabled, window])\n\n const handleMouseLeave = useCallback(() => {\n if (disabled) {\n return\n }\n\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n }\n\n timerRef.current = window.setTimeout(() => {\n setShow(false)\n }, delayHide)\n }, [delayHide, disabled, window])\n\n const TooltipComponent = useMemo(() => {\n if (!lazy || didMount) {\n return (\n <LegacyTooltipContent\n as={as}\n content={content}\n contentStyle={contentStyle}\n contentClassName={contentClassName}\n contentWrapperStyle={contentWrapperStyle}\n contentWrapperClassName={contentWrapperClassName}\n disabled={disabled}\n placement={placement}\n offset={offset}\n allowHover={allowHover}\n keepInContainer={keepInContainer}\n tooltipContainer={tooltipContainerRef.current}\n forwardedRef={forwardedRef}\n data-testid={contentTestId}\n />\n )\n }\n\n return null\n }, [\n lazy,\n didMount,\n as,\n content,\n contentStyle,\n contentClassName,\n contentWrapperStyle,\n contentWrapperClassName,\n disabled,\n placement,\n offset,\n allowHover,\n keepInContainer,\n forwardedRef,\n contentTestId,\n ])\n\n if (!children) {\n return null\n }\n\n return (\n <div\n ref={tooltipContainerRef}\n className={classNames(styles.LegacyTooltip, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-testid={TOOLTIP_TEST_ID}\n {...otherProps}\n >\n {children}\n {show && TooltipComponent}\n </div>\n )\n })\n)\n"],"names":["TOOLTIP_TEST_ID","TOOLTIP_CONTENT_TEST_ID","LegacyTooltip","memo","forwardRef","as","contentTestId","className","contentStyle","contentClassName","contentWrapperStyle","contentWrapperClassName","content","lazy","placement","disabled","offset","keepInContainer","allowHover","delayShow","delayHide","children","otherProps","forwardedRef","window","useWindow","show","setShow","useState","didMount","setDidMount","tooltipContainerRef","useRef","timerRef","useEffect","hideTooltipContentWhenDisabled","updateDidMount","prev","handleMouseEnter","useCallback","current","clearTimeout","setTimeout","handleMouseLeave","TooltipComponent","useMemo","React","createElement","LegacyTooltipContent","tooltipContainer","Object","assign","ref","classNames","styles","onMouseEnter","onMouseLeave"],"mappings":"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"}
1
+ {"version":3,"file":"LegacyTooltip.mjs","sources":["../../../../src/components/LegacyTooltip/LegacyTooltip.tsx"],"sourcesContent":["import React, {\n type Ref,\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport { useWindow } from '~/src/components/WindowProvider'\n\nimport { type LegacyTooltipProps } from './LegacyTooltip.types'\nimport { LegacyTooltipContent } from './LegacyTooltipContent'\n\nimport styles from './LegacyTooltip.module.scss'\n\nexport const TOOLTIP_TEST_ID = 'bezier-tooltip'\nexport const TOOLTIP_CONTENT_TEST_ID = 'bezier-tooltip-content'\n\n/**\n * @deprecated Use `Tooltip` instead. It may be removed in the next major version.\n */\nexport const LegacyTooltip = memo(\n forwardRef(function LegacyTooltip(\n {\n as,\n contentTestId = TOOLTIP_CONTENT_TEST_ID,\n className,\n contentStyle,\n contentClassName,\n contentWrapperStyle,\n contentWrapperClassName,\n content = null,\n lazy = false, // optional prop 에서 추후 default behavior 를 lazy 하게 바꿀 예정\n placement = 'bottom-center',\n disabled = false,\n offset = 4,\n keepInContainer = false,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n children,\n ...otherProps\n }: LegacyTooltipProps,\n forwardedRef: Ref<any>\n ) {\n const { window } = useWindow()\n\n const [show, setShow] = useState(false)\n const [didMount, setDidMount] = useState(show)\n\n const tooltipContainerRef = useRef<HTMLDivElement>(null)\n const timerRef = useRef<ReturnType<Window['setTimeout']>>()\n\n useEffect(\n function hideTooltipContentWhenDisabled() {\n if (disabled) {\n setShow(false)\n }\n },\n [disabled]\n )\n\n useEffect(\n function updateDidMount() {\n setDidMount((prev) => prev || show)\n },\n [show]\n )\n\n const handleMouseEnter = useCallback(() => {\n if (disabled) {\n return\n }\n\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n }\n\n timerRef.current = window.setTimeout(() => {\n setShow(true)\n }, delayShow)\n }, [delayShow, disabled, window])\n\n const handleMouseLeave = useCallback(() => {\n if (disabled) {\n return\n }\n\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n }\n\n timerRef.current = window.setTimeout(() => {\n setShow(false)\n }, delayHide)\n }, [delayHide, disabled, window])\n\n const TooltipComponent = useMemo(() => {\n if (!lazy || didMount) {\n return (\n <LegacyTooltipContent\n as={as}\n content={content}\n contentStyle={contentStyle}\n contentClassName={contentClassName}\n contentWrapperStyle={contentWrapperStyle}\n contentWrapperClassName={contentWrapperClassName}\n disabled={disabled}\n placement={placement}\n offset={offset}\n allowHover={allowHover}\n keepInContainer={keepInContainer}\n tooltipContainer={tooltipContainerRef.current}\n forwardedRef={forwardedRef}\n data-testid={contentTestId}\n />\n )\n }\n\n return null\n }, [\n lazy,\n didMount,\n as,\n content,\n contentStyle,\n contentClassName,\n contentWrapperStyle,\n contentWrapperClassName,\n disabled,\n placement,\n offset,\n allowHover,\n keepInContainer,\n forwardedRef,\n contentTestId,\n ])\n\n if (!children) {\n return null\n }\n\n return (\n <div\n ref={tooltipContainerRef}\n className={classNames(styles.LegacyTooltip, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-testid={TOOLTIP_TEST_ID}\n {...otherProps}\n >\n {children}\n {show && TooltipComponent}\n </div>\n )\n })\n)\n"],"names":["TOOLTIP_TEST_ID","TOOLTIP_CONTENT_TEST_ID","LegacyTooltip","memo","forwardRef","as","contentTestId","className","contentStyle","contentClassName","contentWrapperStyle","contentWrapperClassName","content","lazy","placement","disabled","offset","keepInContainer","allowHover","delayShow","delayHide","children","otherProps","forwardedRef","window","useWindow","show","setShow","useState","didMount","setDidMount","tooltipContainerRef","useRef","timerRef","useEffect","hideTooltipContentWhenDisabled","updateDidMount","prev","handleMouseEnter","useCallback","current","clearTimeout","setTimeout","handleMouseLeave","TooltipComponent","useMemo","React","createElement","LegacyTooltipContent","tooltipContainer","Object","assign","ref","classNames","styles","onMouseEnter","onMouseLeave"],"mappings":"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"}