@channel.io/bezier-react 2.6.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/dist/cjs/components/AlphaAvatar/Avatar.js.map +1 -1
  2. package/dist/cjs/components/AlphaAvatar/AvatarSizeContext.js.map +1 -1
  3. package/dist/cjs/components/AlphaAvatar/useProgressiveImage.js.map +1 -1
  4. package/dist/cjs/components/AlphaAvatarGroup/AvatarGroup.js.map +1 -1
  5. package/dist/cjs/components/AlphaButton/Button.js +5 -2
  6. package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
  7. package/dist/cjs/components/AlphaDialogPrimitive/DialogPrimitive.js.map +1 -1
  8. package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js +6 -3
  9. package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
  10. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +6 -3
  11. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
  12. package/dist/cjs/components/AlphaIconButton/IconButton.js +6 -3
  13. package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
  14. package/dist/cjs/components/AlphaLoader/Loader.js.map +1 -1
  15. package/dist/cjs/components/AlphaStatusBadge/StatusBadge.js.map +1 -1
  16. package/dist/cjs/components/AlphaToggleButton/ToggleButton.js.map +1 -1
  17. package/dist/cjs/components/AlphaToggleButton/ToggleButtonContext.js.map +1 -1
  18. package/dist/cjs/components/AlphaToggleButtonGroup/ToggleButtonGroup.js.map +1 -1
  19. package/dist/cjs/components/AlphaToggleEmojiButtonGroup/ToggleEmojiButtonGroup.js.map +1 -1
  20. package/dist/cjs/components/AlphaToggleEmojiButtonGroup/useToggleEmojiButtonSize.js.map +1 -1
  21. package/dist/cjs/components/AlphaTooltipPrimitive/TooltipPrimitive.js.map +1 -1
  22. package/dist/cjs/components/AppProvider/AppProvider.js.map +1 -1
  23. package/dist/cjs/components/AutoFocus/AutoFocus.js.map +1 -1
  24. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  25. package/dist/cjs/components/Avatar/useProgressiveImage.js.map +1 -1
  26. package/dist/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  27. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  28. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  29. package/dist/cjs/components/BaseButton/BaseButton.js.map +1 -1
  30. package/dist/cjs/components/BaseTagBadge/BaseTagBadge.js.map +1 -1
  31. package/dist/cjs/components/Box/Box.js.map +1 -1
  32. package/dist/cjs/components/Button/Button.js +2 -1
  33. package/dist/cjs/components/Button/Button.js.map +1 -1
  34. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  35. package/dist/cjs/components/Center/Center.js.map +1 -1
  36. package/dist/cjs/components/CheckableAvatar/CheckableAvatar.js.map +1 -1
  37. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  38. package/dist/cjs/components/ConfirmModal/ConfirmModal.js.map +1 -1
  39. package/dist/cjs/components/Divider/Divider.js.map +1 -1
  40. package/dist/cjs/components/Emoji/Emoji.js.map +1 -1
  41. package/dist/cjs/components/FeatureProvider/FeatureProvider.js.map +1 -1
  42. package/dist/cjs/components/FeatureProvider/FeatureProvider.types.js.map +1 -1
  43. package/dist/cjs/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.js.map +1 -1
  44. package/dist/cjs/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.js.map +1 -1
  45. package/dist/cjs/components/FormControl/FormControl.js.map +1 -1
  46. package/dist/cjs/components/FormGroup/FormGroup.js.map +1 -1
  47. package/dist/cjs/components/FormHelperText/FormHelperText.js.map +1 -1
  48. package/dist/cjs/components/FormLabel/FormLabel.js.map +1 -1
  49. package/dist/cjs/components/Help/Help.js.map +1 -1
  50. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  51. package/dist/cjs/components/KeyValueItem/KeyValueItem.js.map +1 -1
  52. package/dist/cjs/components/LegacyIcon/LegacyIcon.js.map +1 -1
  53. package/dist/cjs/components/LegacyIcon/utils.js.map +1 -1
  54. package/dist/cjs/components/LegacyStack/LegacyHStack/LegacyHStack.js.map +1 -1
  55. package/dist/cjs/components/LegacyStack/LegacySpacer/LegacySpacer.js.map +1 -1
  56. package/dist/cjs/components/LegacyStack/LegacyStack/LegacyStack.js.map +1 -1
  57. package/dist/cjs/components/LegacyStack/LegacyStackItem/LegacyStackItem.js.map +1 -1
  58. package/dist/cjs/components/LegacyStack/LegacyVStack/LegacyVStack.js.map +1 -1
  59. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js.map +1 -1
  60. package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js.map +1 -1
  61. package/dist/cjs/components/LegacyTooltip/utils.js.map +1 -1
  62. package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
  63. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  64. package/dist/cjs/components/NavGroup/NavGroup.js.map +1 -1
  65. package/dist/cjs/components/NavItem/NavItem.js.map +1 -1
  66. package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
  67. package/dist/cjs/components/Overlay/Overlay.js.map +1 -1
  68. package/dist/cjs/components/Overlay/utils.js.map +1 -1
  69. package/dist/cjs/components/ProgressBar/ProgressBar.js.map +1 -1
  70. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  71. package/dist/cjs/components/SectionLabel/SectionLabel.js.map +1 -1
  72. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  73. package/dist/cjs/components/Select/Select.js.map +1 -1
  74. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  75. package/dist/cjs/components/SmoothCornersBox/SmoothCornersBox.js.map +1 -1
  76. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  77. package/dist/cjs/components/Stack/Stack.js.map +1 -1
  78. package/dist/cjs/components/Status/Status.js.map +1 -1
  79. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  80. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  81. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  82. package/dist/cjs/components/Text/Text.js.map +1 -1
  83. package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
  84. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  85. package/dist/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
  86. package/dist/cjs/components/Toast/Toast.js.map +1 -1
  87. package/dist/cjs/components/Toast/ToastService.js.map +1 -1
  88. package/dist/cjs/components/Toast/useToastContextValues.js.map +1 -1
  89. package/dist/cjs/components/TokenProvider/TokenProvider.js.map +1 -1
  90. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  91. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  92. package/dist/cjs/components/WindowProvider/WindowProvider.js.map +1 -1
  93. package/dist/cjs/hooks/useEventHandler.js.map +1 -1
  94. package/dist/cjs/hooks/useId.js.map +1 -1
  95. package/dist/cjs/hooks/useIsMounted.js.map +1 -1
  96. package/dist/cjs/hooks/useKeyboardActionLockerWhileComposing.js.map +1 -1
  97. package/dist/cjs/hooks/useMergeRefs.js.map +1 -1
  98. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
  99. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  100. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  101. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  102. package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  103. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  104. package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  105. package/dist/cjs/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  106. package/dist/cjs/node_modules/classnames/index.js.map +1 -1
  107. package/dist/cjs/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
  108. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  109. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  110. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  111. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
  112. package/dist/cjs/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  113. package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  114. package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
  115. package/dist/cjs/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
  116. package/dist/cjs/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
  117. package/dist/cjs/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
  118. package/dist/cjs/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
  119. package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js.map +1 -1
  120. package/dist/cjs/node_modules/ssr-window/ssr-window.esm.js.map +1 -1
  121. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  122. package/dist/cjs/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
  123. package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  124. package/dist/cjs/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
  125. package/dist/cjs/node_modules/use-composed-ref/dist/use-composed-ref.esm.js.map +1 -1
  126. package/dist/cjs/node_modules/use-latest/dist/use-latest.esm.js.map +1 -1
  127. package/dist/cjs/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
  128. package/dist/cjs/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  129. package/dist/cjs/node_modules/uuid/dist/esm-browser/native.js.map +1 -1
  130. package/dist/cjs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  131. package/dist/cjs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  132. package/dist/cjs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  133. package/dist/cjs/packages/bezier-tokens/dist/esm/darkTheme.js.map +1 -1
  134. package/dist/cjs/packages/bezier-tokens/dist/esm/global.js.map +1 -1
  135. package/dist/cjs/packages/bezier-tokens/dist/esm/index.js.map +1 -1
  136. package/dist/cjs/packages/bezier-tokens/dist/esm/lightTheme.js.map +1 -1
  137. package/dist/cjs/styles.css +1 -1
  138. package/dist/cjs/types/props-helpers.js.map +1 -1
  139. package/dist/cjs/utils/aria.js.map +1 -1
  140. package/dist/cjs/utils/array.js.map +1 -1
  141. package/dist/cjs/utils/assert.js.map +1 -1
  142. package/dist/cjs/utils/number.js.map +1 -1
  143. package/dist/cjs/utils/object.js.map +1 -1
  144. package/dist/cjs/utils/react.js.map +1 -1
  145. package/dist/cjs/utils/string.js.map +1 -1
  146. package/dist/cjs/utils/style.js.map +1 -1
  147. package/dist/cjs/utils/type.js.map +1 -1
  148. package/dist/esm/components/AlphaAvatar/Avatar.mjs.map +1 -1
  149. package/dist/esm/components/AlphaAvatar/AvatarSizeContext.mjs.map +1 -1
  150. package/dist/esm/components/AlphaAvatar/useProgressiveImage.mjs.map +1 -1
  151. package/dist/esm/components/AlphaAvatarGroup/AvatarGroup.mjs.map +1 -1
  152. package/dist/esm/components/AlphaButton/Button.mjs +5 -2
  153. package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
  154. package/dist/esm/components/AlphaDialogPrimitive/DialogPrimitive.mjs.map +1 -1
  155. package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs +6 -3
  156. package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
  157. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +6 -3
  158. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
  159. package/dist/esm/components/AlphaIconButton/IconButton.mjs +6 -3
  160. package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
  161. package/dist/esm/components/AlphaLoader/Loader.mjs.map +1 -1
  162. package/dist/esm/components/AlphaStatusBadge/StatusBadge.mjs.map +1 -1
  163. package/dist/esm/components/AlphaToggleButton/ToggleButton.mjs.map +1 -1
  164. package/dist/esm/components/AlphaToggleButton/ToggleButtonContext.mjs.map +1 -1
  165. package/dist/esm/components/AlphaToggleButtonGroup/ToggleButtonGroup.mjs.map +1 -1
  166. package/dist/esm/components/AlphaToggleEmojiButtonGroup/ToggleEmojiButtonGroup.mjs.map +1 -1
  167. package/dist/esm/components/AlphaToggleEmojiButtonGroup/useToggleEmojiButtonSize.mjs.map +1 -1
  168. package/dist/esm/components/AlphaTooltipPrimitive/TooltipPrimitive.mjs.map +1 -1
  169. package/dist/esm/components/AppProvider/AppProvider.mjs.map +1 -1
  170. package/dist/esm/components/AutoFocus/AutoFocus.mjs.map +1 -1
  171. package/dist/esm/components/Avatar/Avatar.mjs.map +1 -1
  172. package/dist/esm/components/Avatar/useProgressiveImage.mjs.map +1 -1
  173. package/dist/esm/components/AvatarGroup/AvatarGroup.mjs.map +1 -1
  174. package/dist/esm/components/Badge/Badge.mjs.map +1 -1
  175. package/dist/esm/components/Banner/Banner.mjs.map +1 -1
  176. package/dist/esm/components/BaseButton/BaseButton.mjs.map +1 -1
  177. package/dist/esm/components/BaseTagBadge/BaseTagBadge.mjs.map +1 -1
  178. package/dist/esm/components/Box/Box.mjs.map +1 -1
  179. package/dist/esm/components/Button/Button.mjs +2 -1
  180. package/dist/esm/components/Button/Button.mjs.map +1 -1
  181. package/dist/esm/components/ButtonGroup/ButtonGroup.mjs.map +1 -1
  182. package/dist/esm/components/Center/Center.mjs.map +1 -1
  183. package/dist/esm/components/CheckableAvatar/CheckableAvatar.mjs.map +1 -1
  184. package/dist/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  185. package/dist/esm/components/ConfirmModal/ConfirmModal.mjs.map +1 -1
  186. package/dist/esm/components/Divider/Divider.mjs.map +1 -1
  187. package/dist/esm/components/Emoji/Emoji.mjs.map +1 -1
  188. package/dist/esm/components/FeatureProvider/FeatureProvider.mjs.map +1 -1
  189. package/dist/esm/components/FeatureProvider/FeatureProvider.types.mjs.map +1 -1
  190. package/dist/esm/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.mjs.map +1 -1
  191. package/dist/esm/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.mjs.map +1 -1
  192. package/dist/esm/components/FormControl/FormControl.mjs.map +1 -1
  193. package/dist/esm/components/FormGroup/FormGroup.mjs.map +1 -1
  194. package/dist/esm/components/FormHelperText/FormHelperText.mjs.map +1 -1
  195. package/dist/esm/components/FormLabel/FormLabel.mjs.map +1 -1
  196. package/dist/esm/components/Help/Help.mjs.map +1 -1
  197. package/dist/esm/components/Icon/Icon.mjs.map +1 -1
  198. package/dist/esm/components/KeyValueItem/KeyValueItem.mjs.map +1 -1
  199. package/dist/esm/components/LegacyIcon/LegacyIcon.mjs.map +1 -1
  200. package/dist/esm/components/LegacyIcon/utils.mjs.map +1 -1
  201. package/dist/esm/components/LegacyStack/LegacyHStack/LegacyHStack.mjs.map +1 -1
  202. package/dist/esm/components/LegacyStack/LegacySpacer/LegacySpacer.mjs.map +1 -1
  203. package/dist/esm/components/LegacyStack/LegacyStack/LegacyStack.mjs.map +1 -1
  204. package/dist/esm/components/LegacyStack/LegacyStackItem/LegacyStackItem.mjs.map +1 -1
  205. package/dist/esm/components/LegacyStack/LegacyVStack/LegacyVStack.mjs.map +1 -1
  206. package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs.map +1 -1
  207. package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs.map +1 -1
  208. package/dist/esm/components/LegacyTooltip/utils.mjs.map +1 -1
  209. package/dist/esm/components/ListItem/ListItem.mjs.map +1 -1
  210. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  211. package/dist/esm/components/NavGroup/NavGroup.mjs.map +1 -1
  212. package/dist/esm/components/NavItem/NavItem.mjs.map +1 -1
  213. package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
  214. package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
  215. package/dist/esm/components/Overlay/utils.mjs.map +1 -1
  216. package/dist/esm/components/ProgressBar/ProgressBar.mjs.map +1 -1
  217. package/dist/esm/components/RadioGroup/RadioGroup.mjs.map +1 -1
  218. package/dist/esm/components/SectionLabel/SectionLabel.mjs.map +1 -1
  219. package/dist/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  220. package/dist/esm/components/Select/Select.mjs.map +1 -1
  221. package/dist/esm/components/Slider/Slider.mjs.map +1 -1
  222. package/dist/esm/components/SmoothCornersBox/SmoothCornersBox.mjs.map +1 -1
  223. package/dist/esm/components/Spinner/Spinner.mjs.map +1 -1
  224. package/dist/esm/components/Stack/Stack.mjs.map +1 -1
  225. package/dist/esm/components/Status/Status.mjs.map +1 -1
  226. package/dist/esm/components/Switch/Switch.mjs.map +1 -1
  227. package/dist/esm/components/Tabs/Tabs.mjs.map +1 -1
  228. package/dist/esm/components/Tag/Tag.mjs.map +1 -1
  229. package/dist/esm/components/Text/Text.mjs.map +1 -1
  230. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  231. package/dist/esm/components/TextField/TextField.mjs.map +1 -1
  232. package/dist/esm/components/ThemeProvider/ThemeProvider.mjs.map +1 -1
  233. package/dist/esm/components/Toast/Toast.mjs.map +1 -1
  234. package/dist/esm/components/Toast/ToastService.mjs.map +1 -1
  235. package/dist/esm/components/Toast/useToastContextValues.mjs.map +1 -1
  236. package/dist/esm/components/TokenProvider/TokenProvider.mjs.map +1 -1
  237. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  238. package/dist/esm/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -1
  239. package/dist/esm/components/WindowProvider/WindowProvider.mjs.map +1 -1
  240. package/dist/esm/hooks/useEventHandler.mjs.map +1 -1
  241. package/dist/esm/hooks/useId.mjs.map +1 -1
  242. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  243. package/dist/esm/hooks/useKeyboardActionLockerWhileComposing.mjs.map +1 -1
  244. package/dist/esm/hooks/useMergeRefs.mjs.map +1 -1
  245. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +1 -1
  246. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +1 -1
  247. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.map +1 -1
  248. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.map +1 -1
  249. package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.map +1 -1
  250. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.map +1 -1
  251. package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs.map +1 -1
  252. package/dist/esm/node_modules/aria-hidden/dist/es2015/index.mjs.map +1 -1
  253. package/dist/esm/node_modules/classnames/index.mjs.map +1 -1
  254. package/dist/esm/node_modules/get-nonce/dist/es2015/index.mjs.map +1 -1
  255. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/Combination.mjs.map +1 -1
  256. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs.map +1 -1
  257. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/UI.mjs.map +1 -1
  258. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs.map +1 -1
  259. package/dist/esm/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +1 -1
  260. package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs.map +1 -1
  261. package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs.map +1 -1
  262. package/dist/esm/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs.map +1 -1
  263. package/dist/esm/node_modules/react-style-singleton/dist/es2015/component.mjs.map +1 -1
  264. package/dist/esm/node_modules/react-style-singleton/dist/es2015/hook.mjs.map +1 -1
  265. package/dist/esm/node_modules/react-style-singleton/dist/es2015/singleton.mjs.map +1 -1
  266. package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs.map +1 -1
  267. package/dist/esm/node_modules/ssr-window/ssr-window.esm.mjs.map +1 -1
  268. package/dist/esm/node_modules/tslib/tslib.es6.mjs.map +1 -1
  269. package/dist/esm/node_modules/use-callback-ref/dist/es2015/assignRef.mjs.map +1 -1
  270. package/dist/esm/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs.map +1 -1
  271. package/dist/esm/node_modules/use-callback-ref/dist/es2015/useRef.mjs.map +1 -1
  272. package/dist/esm/node_modules/use-composed-ref/dist/use-composed-ref.esm.mjs.map +1 -1
  273. package/dist/esm/node_modules/use-latest/dist/use-latest.esm.mjs.map +1 -1
  274. package/dist/esm/node_modules/use-sidecar/dist/es2015/exports.mjs.map +1 -1
  275. package/dist/esm/node_modules/use-sidecar/dist/es2015/medium.mjs.map +1 -1
  276. package/dist/esm/node_modules/uuid/dist/esm-browser/native.mjs.map +1 -1
  277. package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs.map +1 -1
  278. package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs.map +1 -1
  279. package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +1 -1
  280. package/dist/esm/packages/bezier-tokens/dist/esm/darkTheme.mjs.map +1 -1
  281. package/dist/esm/packages/bezier-tokens/dist/esm/global.mjs.map +1 -1
  282. package/dist/esm/packages/bezier-tokens/dist/esm/index.mjs.map +1 -1
  283. package/dist/esm/packages/bezier-tokens/dist/esm/lightTheme.mjs.map +1 -1
  284. package/dist/esm/styles.css +1 -1
  285. package/dist/esm/types/props-helpers.mjs.map +1 -1
  286. package/dist/esm/utils/aria.mjs.map +1 -1
  287. package/dist/esm/utils/array.mjs.map +1 -1
  288. package/dist/esm/utils/assert.mjs.map +1 -1
  289. package/dist/esm/utils/number.mjs.map +1 -1
  290. package/dist/esm/utils/object.mjs.map +1 -1
  291. package/dist/esm/utils/react.mjs.map +1 -1
  292. package/dist/esm/utils/string.mjs.map +1 -1
  293. package/dist/esm/utils/style.mjs.map +1 -1
  294. package/dist/esm/utils/type.mjs.map +1 -1
  295. package/dist/types/components/AlphaButton/Button.d.ts.map +1 -1
  296. package/dist/types/components/AlphaButton/Button.types.d.ts +1 -1
  297. package/dist/types/components/AlphaFloatingButton/FloatingButton.d.ts.map +1 -1
  298. package/dist/types/components/AlphaFloatingButton/FloatingButton.types.d.ts +1 -1
  299. package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.d.ts.map +1 -1
  300. package/dist/types/components/AlphaFloatingIconButton/FloatingIconButton.types.d.ts +1 -1
  301. package/dist/types/components/AlphaIconButton/IconButton.d.ts.map +1 -1
  302. package/dist/types/components/AlphaIconButton/IconButton.types.d.ts +1 -1
  303. package/dist/types/components/Button/Button.d.ts.map +1 -1
  304. package/dist/types/components/Button/Button.types.d.ts +1 -1
  305. package/package.json +3 -3
  306. package/src/components/AlphaButton/Button.module.scss +5 -5
  307. package/src/components/AlphaButton/Button.tsx +5 -1
  308. package/src/components/AlphaButton/Button.types.ts +1 -1
  309. package/src/components/AlphaFloatingButton/FloatingButton.tsx +5 -2
  310. package/src/components/AlphaFloatingButton/FloatingButton.types.ts +1 -1
  311. package/src/components/AlphaFloatingIconButton/FloatingIconButton.module.scss +1 -1
  312. package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +5 -2
  313. package/src/components/AlphaFloatingIconButton/FloatingIconButton.types.ts +1 -1
  314. package/src/components/AlphaIconButton/IconButton.module.scss +6 -6
  315. package/src/components/AlphaIconButton/IconButton.tsx +6 -2
  316. package/src/components/AlphaIconButton/IconButton.types.ts +1 -1
  317. package/src/components/AlphaToggleButton/ToggleButton.module.scss +1 -1
  318. package/src/components/Button/Button.tsx +4 -2
  319. package/src/components/Button/Button.types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.js","sources":["../../../../src/components/AppProvider/AppProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useEffect } from 'react'\n\nimport { getWindow } from 'ssr-window'\n\nimport { FeatureProvider } from '~/src/components/FeatureProvider'\nimport { TokenProvider } from '~/src/components/TokenProvider'\nimport { WindowProvider } from '~/src/components/WindowProvider'\n\nimport { type AppProviderProps } from './AppProvider.types'\n\nconst defaultWindow = getWindow()\n\n/**\n * `AppProvider` is a required wrapper component that provides context for the app.\n * @example\n *\n * ```tsx\n * import React from 'react'\n * import { createRoot } from 'react-dom/client'\n * import { AppProvider } from '@channel.io/bezier-react'\n *\n * const container = document.getElementById('root')\n * const root = createRoot(container)\n *\n * root.render(\n * <AppProvider themeName=\"light\">\n * <App />\n * </AppProvider>,\n * )\n * ```\n */\nexport function AppProvider({\n children,\n themeName = 'light',\n features = [],\n window = defaultWindow,\n}: AppProviderProps) {\n useEffect(\n function updateRootThemeDataAttribute() {\n const rootElement = window.document.documentElement\n // TODO: Change data attribute constant to import from bezier-tokens\n rootElement.setAttribute('data-bezier-theme', themeName)\n return function cleanup() {\n rootElement.removeAttribute('data-bezier-theme')\n }\n },\n [window, themeName]\n )\n\n return (\n <WindowProvider window={window}>\n <FeatureProvider features={features}>\n <TokenProvider themeName={themeName}>{children}</TokenProvider>\n </FeatureProvider>\n </WindowProvider>\n )\n}\n"],"names":["defaultWindow","getWindow","AppProvider","children","themeName","features","window","useEffect","updateRootThemeDataAttribute","rootElement","document","documentElement","setAttribute","cleanup","removeAttribute","React","createElement","WindowProvider","FeatureProvider","TokenProvider"],"mappings":";;;;;;;;AAYA,MAAMA,aAAa,GAAGC,uBAAS,EAAE,CAAA;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAAC;EAC1BC,QAAQ;AACRC,EAAAA,SAAS,GAAG,OAAO;AACnBC,EAAAA,QAAQ,GAAG,EAAE;AACbC,EAAAA,MAAM,GAAGN,aAAAA;AACO,CAAC,EAAE;AACnBO,EAAAA,eAAS,CACP,SAASC,4BAA4BA,GAAG;AACtC,IAAA,MAAMC,WAAW,GAAGH,MAAM,CAACI,QAAQ,CAACC,eAAe,CAAA;AACnD;AACAF,IAAAA,WAAW,CAACG,YAAY,CAAC,mBAAmB,EAAER,SAAS,CAAC,CAAA;IACxD,OAAO,SAASS,OAAOA,GAAG;AACxBJ,MAAAA,WAAW,CAACK,eAAe,CAAC,mBAAmB,CAAC,CAAA;KACjD,CAAA;AACH,GAAC,EACD,CAACR,MAAM,EAAEF,SAAS,CACpB,CAAC,CAAA;AAED,EAAA,oBACEW,KAAA,CAAAC,aAAA,CAACC,6BAAc,EAAA;AAACX,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAA,eAC7BS,KAAA,CAAAC,aAAA,CAACE,+BAAe,EAAA;AAACb,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,eAClCU,KAAA,CAAAC,aAAA,CAACG,2BAAa,EAAA;AAACf,IAAAA,SAAS,EAAEA,SAAAA;GAAYD,EAAAA,QAAwB,CAC/C,CACH,CAAC,CAAA;AAErB;;;;"}
1
+ {"version":3,"file":"AppProvider.js","sources":["../../../../src/components/AppProvider/AppProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useEffect } from 'react'\n\nimport { getWindow } from 'ssr-window'\n\nimport { FeatureProvider } from '~/src/components/FeatureProvider'\nimport { TokenProvider } from '~/src/components/TokenProvider'\nimport { WindowProvider } from '~/src/components/WindowProvider'\n\nimport { type AppProviderProps } from './AppProvider.types'\n\nconst defaultWindow = getWindow()\n\n/**\n * `AppProvider` is a required wrapper component that provides context for the app.\n * @example\n *\n * ```tsx\n * import React from 'react'\n * import { createRoot } from 'react-dom/client'\n * import { AppProvider } from '@channel.io/bezier-react'\n *\n * const container = document.getElementById('root')\n * const root = createRoot(container)\n *\n * root.render(\n * <AppProvider themeName=\"light\">\n * <App />\n * </AppProvider>,\n * )\n * ```\n */\nexport function AppProvider({\n children,\n themeName = 'light',\n features = [],\n window = defaultWindow,\n}: AppProviderProps) {\n useEffect(\n function updateRootThemeDataAttribute() {\n const rootElement = window.document.documentElement\n // TODO: Change data attribute constant to import from bezier-tokens\n rootElement.setAttribute('data-bezier-theme', themeName)\n return function cleanup() {\n rootElement.removeAttribute('data-bezier-theme')\n }\n },\n [window, themeName]\n )\n\n return (\n <WindowProvider window={window}>\n <FeatureProvider features={features}>\n <TokenProvider themeName={themeName}>{children}</TokenProvider>\n </FeatureProvider>\n </WindowProvider>\n )\n}\n"],"names":["defaultWindow","getWindow","AppProvider","children","themeName","features","window","useEffect","updateRootThemeDataAttribute","rootElement","document","documentElement","setAttribute","cleanup","removeAttribute","React","createElement","WindowProvider","FeatureProvider","TokenProvider"],"mappings":";;;;;;;;AAYA,MAAMA,aAAa,GAAGC,uBAAS,EAAE;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAAC;EAC1BC,QAAQ;AACRC,EAAAA,SAAS,GAAG,OAAO;AACnBC,EAAAA,QAAQ,GAAG,EAAE;AACbC,EAAAA,MAAM,GAAGN;AACO,CAAC,EAAE;AACnBO,EAAAA,eAAS,CACP,SAASC,4BAA4BA,GAAG;AACtC,IAAA,MAAMC,WAAW,GAAGH,MAAM,CAACI,QAAQ,CAACC,eAAe;AACnD;AACAF,IAAAA,WAAW,CAACG,YAAY,CAAC,mBAAmB,EAAER,SAAS,CAAC;IACxD,OAAO,SAASS,OAAOA,GAAG;AACxBJ,MAAAA,WAAW,CAACK,eAAe,CAAC,mBAAmB,CAAC;KACjD;AACH,GAAC,EACD,CAACR,MAAM,EAAEF,SAAS,CACpB,CAAC;AAED,EAAA,oBACEW,KAAA,CAAAC,aAAA,CAACC,6BAAc,EAAA;AAACX,IAAAA,MAAM,EAAEA;AAAO,GAAA,eAC7BS,KAAA,CAAAC,aAAA,CAACE,+BAAe,EAAA;AAACb,IAAAA,QAAQ,EAAEA;AAAS,GAAA,eAClCU,KAAA,CAAAC,aAAA,CAACG,2BAAa,EAAA;AAACf,IAAAA,SAAS,EAAEA;GAAYD,EAAAA,QAAwB,CAC/C,CACH,CAAC;AAErB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoFocus.js","sources":["../../../../src/components/AutoFocus/AutoFocus.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useState } from 'react'\n\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { type AutoFocusProps } from './AutoFocus.types'\n\n/**\n * `AutoFocus` is a component that automatically focuses its child element when they are added to the document.\n * It is useful when you want to focus on a specific element when the component is mounted.\n * It doesn't render any DOM node.\n * @example\n *\n * ```tsx\n * <AutoFocus>\n * <button>Close</button>\n * </AutoFocus>\n *\n * // You can also use it with the additional condition\n * <AutoFocus when={condition}>\n * <button>Close</button>\n * </AutoFocus>\n * ```\n */\nexport const AutoFocus = forwardRef<HTMLElement, AutoFocusProps>(\n function AutoFocus({ children, when = true, ...rest }, forwardedRef) {\n const [target, setTarget] = useState<HTMLElement | null>(null)\n\n useIsomorphicLayoutEffect(\n function focus() {\n if (target && when) {\n target.focus()\n }\n },\n [target, when]\n )\n\n const ref = useMergeRefs(setTarget, forwardedRef)\n\n return (\n <Slot\n ref={ref}\n {...rest}\n >\n {children}\n </Slot>\n )\n }\n)\n"],"names":["AutoFocus","forwardRef","children","when","rest","forwardedRef","target","setTarget","useState","useIsomorphicLayoutEffect","focus","ref","useMergeRefs","React","createElement","Slot","Object","assign"],"mappings":";;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,SAAS,gBAAGC,gBAAU,CACjC,SAASD,SAASA,CAAC;EAAEE,QAAQ;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;EACnE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAQ,CAAqB,IAAI,CAAC,CAAA;AAE9DC,EAAAA,mDAAyB,CACvB,SAASC,KAAKA,GAAG;IACf,IAAIJ,MAAM,IAAIH,IAAI,EAAE;MAClBG,MAAM,CAACI,KAAK,EAAE,CAAA;AAChB,KAAA;AACF,GAAC,EACD,CAACJ,MAAM,EAAEH,IAAI,CACf,CAAC,CAAA;AAED,EAAA,MAAMQ,GAAG,GAAGC,oBAAY,CAACL,SAAS,EAAEF,YAAY,CAAC,CAAA;EAEjD,oBACEQ,KAAA,CAAAC,aAAA,CAACC,UAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHN,IAAAA,GAAG,EAAEA,GAAAA;GACDP,EAAAA,IAAI,CAEPF,EAAAA,QACG,CAAC,CAAA;AAEX,CACF;;;;"}
1
+ {"version":3,"file":"AutoFocus.js","sources":["../../../../src/components/AutoFocus/AutoFocus.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useState } from 'react'\n\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { type AutoFocusProps } from './AutoFocus.types'\n\n/**\n * `AutoFocus` is a component that automatically focuses its child element when they are added to the document.\n * It is useful when you want to focus on a specific element when the component is mounted.\n * It doesn't render any DOM node.\n * @example\n *\n * ```tsx\n * <AutoFocus>\n * <button>Close</button>\n * </AutoFocus>\n *\n * // You can also use it with the additional condition\n * <AutoFocus when={condition}>\n * <button>Close</button>\n * </AutoFocus>\n * ```\n */\nexport const AutoFocus = forwardRef<HTMLElement, AutoFocusProps>(\n function AutoFocus({ children, when = true, ...rest }, forwardedRef) {\n const [target, setTarget] = useState<HTMLElement | null>(null)\n\n useIsomorphicLayoutEffect(\n function focus() {\n if (target && when) {\n target.focus()\n }\n },\n [target, when]\n )\n\n const ref = useMergeRefs(setTarget, forwardedRef)\n\n return (\n <Slot\n ref={ref}\n {...rest}\n >\n {children}\n </Slot>\n )\n }\n)\n"],"names":["AutoFocus","forwardRef","children","when","rest","forwardedRef","target","setTarget","useState","useIsomorphicLayoutEffect","focus","ref","useMergeRefs","React","createElement","Slot","Object","assign"],"mappings":";;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,SAAS,gBAAGC,gBAAU,CACjC,SAASD,SAASA,CAAC;EAAEE,QAAQ;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;EACnE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAQ,CAAqB,IAAI,CAAC;AAE9DC,EAAAA,mDAAyB,CACvB,SAASC,KAAKA,GAAG;IACf,IAAIJ,MAAM,IAAIH,IAAI,EAAE;MAClBG,MAAM,CAACI,KAAK,EAAE;AAChB;AACF,GAAC,EACD,CAACJ,MAAM,EAAEH,IAAI,CACf,CAAC;AAED,EAAA,MAAMQ,GAAG,GAAGC,oBAAY,CAACL,SAAS,EAAEF,YAAY,CAAC;EAEjD,oBACEQ,KAAA,CAAAC,aAAA,CAACC,UAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHN,IAAAA,GAAG,EAAEA;GACDP,EAAAA,IAAI,CAEPF,EAAAA,QACG,CAAC;AAEX,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n SmoothCornersBox,\n type SmoothCornersBoxProps,\n} from '~/src/components/SmoothCornersBox'\nimport { Status, type StatusSize } from '~/src/components/Status'\nimport { useTokens } from '~/src/components/ThemeProvider'\n\nimport type { AvatarProps } from './Avatar.types'\nimport defaultAvatarUrl from './assets/default-avatar.svg'\nimport useProgressiveImage from './useProgressiveImage'\n\nimport styles from './Avatar.module.scss'\n\nconst shadow: SmoothCornersBoxProps['shadow'] = {\n spreadRadius: 2,\n color: 'bg-white-high',\n}\n\nexport function useAvatarRadiusToken() {\n return useTokens().global.radius['radius-42-p']\n}\n\nexport const AVATAR_WRAPPER_TEST_ID = 'bezier-avatar-wrapper'\nexport const AVATAR_TEST_ID = 'bezier-avatar'\nexport const STATUS_WRAPPER_TEST_ID = 'bezier-status-wrapper'\n\n/**\n * `Avatar` is a component for representing some profile image.\n * @example\n *\n * ```tsx\n * <Avatar\n * avatarUrl=\"https://...\"\n * name=\"channel\"\n * size=\"48\"\n * showBorder\n * disabled\n * />\n * ```\n */\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n avatarUrl = '',\n fallbackUrl = defaultAvatarUrl,\n size = '24',\n name,\n disabled = false,\n showBorder = false,\n smoothCorners = true,\n status,\n className,\n children,\n ...rest\n },\n forwardedRef\n) {\n const loadedAvatarUrl = useProgressiveImage(avatarUrl, fallbackUrl)\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const StatusComponent = useMemo(() => {\n if (\n (isEmpty(children) && !status) ||\n (children && !React.isValidElement(children))\n ) {\n return null\n }\n\n const statusSize: StatusSize = (() => {\n switch (size) {\n case '90':\n case '120':\n return 'l'\n default:\n return 'm'\n }\n })()\n\n const Contents = (() => {\n if (children) {\n return children\n }\n if (status) {\n return (\n <Status\n type={status}\n size={statusSize}\n />\n )\n }\n return null\n })()\n\n return (\n Contents && (\n <div\n className={styles.StatusWrapper}\n data-testid={STATUS_WRAPPER_TEST_ID}\n >\n {Contents}\n </div>\n )\n )\n }, [status, size, children])\n\n return (\n <div\n className={classNames(\n styles.Avatar,\n styles[`size-${size}`],\n disabled && styles.disabled,\n className\n )}\n data-disabled={disabled}\n data-testid={AVATAR_WRAPPER_TEST_ID}\n {...rest}\n >\n <SmoothCornersBox\n ref={forwardedRef}\n aria-description={name}\n className={classNames(\n styles.AvatarImage,\n Number(size) >= 72 && styles['big-size'],\n showBorder && styles.bordered\n )}\n disabled={!smoothCorners}\n borderRadius={AVATAR_BORDER_RADIUS}\n shadow={showBorder ? shadow : undefined}\n backgroundColor=\"bg-white-normal\"\n backgroundImage={loadedAvatarUrl}\n data-testid={AVATAR_TEST_ID}\n >\n {StatusComponent}\n </SmoothCornersBox>\n </div>\n )\n})\n"],"names":["shadow","spreadRadius","color","useAvatarRadiusToken","useTokens","global","radius","AVATAR_WRAPPER_TEST_ID","AVATAR_TEST_ID","STATUS_WRAPPER_TEST_ID","Avatar","forwardRef","avatarUrl","fallbackUrl","defaultAvatarUrl","size","name","disabled","showBorder","smoothCorners","status","className","children","rest","forwardedRef","loadedAvatarUrl","useProgressiveImage","AVATAR_BORDER_RADIUS","StatusComponent","useMemo","isEmpty","React","isValidElement","statusSize","Contents","createElement","Status","type","styles","StatusWrapper","Object","assign","classNames","SmoothCornersBox","ref","AvatarImage","Number","bordered","borderRadius","undefined","backgroundColor","backgroundImage"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n SmoothCornersBox,\n type SmoothCornersBoxProps,\n} from '~/src/components/SmoothCornersBox'\nimport { Status, type StatusSize } from '~/src/components/Status'\nimport { useTokens } from '~/src/components/ThemeProvider'\n\nimport type { AvatarProps } from './Avatar.types'\nimport defaultAvatarUrl from './assets/default-avatar.svg'\nimport useProgressiveImage from './useProgressiveImage'\n\nimport styles from './Avatar.module.scss'\n\nconst shadow: SmoothCornersBoxProps['shadow'] = {\n spreadRadius: 2,\n color: 'bg-white-high',\n}\n\nexport function useAvatarRadiusToken() {\n return useTokens().global.radius['radius-42-p']\n}\n\nexport const AVATAR_WRAPPER_TEST_ID = 'bezier-avatar-wrapper'\nexport const AVATAR_TEST_ID = 'bezier-avatar'\nexport const STATUS_WRAPPER_TEST_ID = 'bezier-status-wrapper'\n\n/**\n * `Avatar` is a component for representing some profile image.\n * @example\n *\n * ```tsx\n * <Avatar\n * avatarUrl=\"https://...\"\n * name=\"channel\"\n * size=\"48\"\n * showBorder\n * disabled\n * />\n * ```\n */\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n avatarUrl = '',\n fallbackUrl = defaultAvatarUrl,\n size = '24',\n name,\n disabled = false,\n showBorder = false,\n smoothCorners = true,\n status,\n className,\n children,\n ...rest\n },\n forwardedRef\n) {\n const loadedAvatarUrl = useProgressiveImage(avatarUrl, fallbackUrl)\n const AVATAR_BORDER_RADIUS = useAvatarRadiusToken()\n\n const StatusComponent = useMemo(() => {\n if (\n (isEmpty(children) && !status) ||\n (children && !React.isValidElement(children))\n ) {\n return null\n }\n\n const statusSize: StatusSize = (() => {\n switch (size) {\n case '90':\n case '120':\n return 'l'\n default:\n return 'm'\n }\n })()\n\n const Contents = (() => {\n if (children) {\n return children\n }\n if (status) {\n return (\n <Status\n type={status}\n size={statusSize}\n />\n )\n }\n return null\n })()\n\n return (\n Contents && (\n <div\n className={styles.StatusWrapper}\n data-testid={STATUS_WRAPPER_TEST_ID}\n >\n {Contents}\n </div>\n )\n )\n }, [status, size, children])\n\n return (\n <div\n className={classNames(\n styles.Avatar,\n styles[`size-${size}`],\n disabled && styles.disabled,\n className\n )}\n data-disabled={disabled}\n data-testid={AVATAR_WRAPPER_TEST_ID}\n {...rest}\n >\n <SmoothCornersBox\n ref={forwardedRef}\n aria-description={name}\n className={classNames(\n styles.AvatarImage,\n Number(size) >= 72 && styles['big-size'],\n showBorder && styles.bordered\n )}\n disabled={!smoothCorners}\n borderRadius={AVATAR_BORDER_RADIUS}\n shadow={showBorder ? shadow : undefined}\n backgroundColor=\"bg-white-normal\"\n backgroundImage={loadedAvatarUrl}\n data-testid={AVATAR_TEST_ID}\n >\n {StatusComponent}\n </SmoothCornersBox>\n </div>\n )\n})\n"],"names":["shadow","spreadRadius","color","useAvatarRadiusToken","useTokens","global","radius","AVATAR_WRAPPER_TEST_ID","AVATAR_TEST_ID","STATUS_WRAPPER_TEST_ID","Avatar","forwardRef","avatarUrl","fallbackUrl","defaultAvatarUrl","size","name","disabled","showBorder","smoothCorners","status","className","children","rest","forwardedRef","loadedAvatarUrl","useProgressiveImage","AVATAR_BORDER_RADIUS","StatusComponent","useMemo","isEmpty","React","isValidElement","statusSize","Contents","createElement","Status","type","styles","StatusWrapper","Object","assign","classNames","SmoothCornersBox","ref","AvatarImage","Number","bordered","borderRadius","undefined","backgroundColor","backgroundImage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProgressiveImage.js","sources":["../../../../src/components/Avatar/useProgressiveImage.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nenum ImageEventType {\n Load = 'load',\n Error = 'error',\n}\n\nexport interface CachedImage {\n src: string\n isLoaded: boolean\n}\n\ntype ImageCacheMap = Map<string, CachedImage>\n\nconst defaultImageCache = new Map<string, CachedImage>()\n\nfunction getCachedImage(src: string, imageCache: ImageCacheMap) {\n const cachedImage = imageCache.get(src)\n if (!cachedImage) {\n return null\n }\n return cachedImage\n}\n\nexport default function useProgressiveImage(\n src: string,\n defaultSrc: string,\n imageCache: ImageCacheMap = defaultImageCache\n) {\n const [source, setSource] = useState<CachedImage | null>(() =>\n getCachedImage(src, imageCache)\n )\n\n useEffect(\n function updateSource() {\n if (source?.src === src) {\n return undefined\n }\n\n const cachedImage = getCachedImage(src, imageCache)\n\n if (cachedImage?.isLoaded) {\n setSource(cachedImage)\n return undefined\n }\n\n const image = new Image()\n image.src = src\n\n function loadImage(event: Event) {\n const loadedImage = {\n src,\n isLoaded: event.type === ImageEventType.Load,\n }\n setSource(loadedImage)\n imageCache.set(src, loadedImage)\n }\n\n image.addEventListener(ImageEventType.Load, loadImage)\n image.addEventListener(ImageEventType.Error, loadImage)\n\n return function cleanup() {\n image.removeEventListener(ImageEventType.Load, loadImage)\n image.removeEventListener(ImageEventType.Error, loadImage)\n }\n },\n [src, source, imageCache]\n )\n\n if (!source || !source.isLoaded) {\n return defaultSrc\n }\n\n return source.src\n}\n"],"names":["ImageEventType","defaultImageCache","Map","getCachedImage","src","imageCache","cachedImage","get","useProgressiveImage","defaultSrc","source","setSource","useState","useEffect","updateSource","undefined","isLoaded","image","Image","loadImage","event","loadedImage","type","Load","set","addEventListener","Error","cleanup","removeEventListener"],"mappings":";;;;;;AAA2C,IAEtCA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAdA,cAAc,IAAA,EAAA,CAAA,CAAA;AAYnB,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAuB,CAAA;AAExD,SAASC,cAAcA,CAACC,GAAW,EAAEC,UAAyB,EAAE;AAC9D,EAAA,MAAMC,WAAW,GAAGD,UAAU,CAACE,GAAG,CAACH,GAAG,CAAC,CAAA;EACvC,IAAI,CAACE,WAAW,EAAE;AAChB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,OAAOA,WAAW,CAAA;AACpB,CAAA;AAEe,SAASE,mBAAmBA,CACzCJ,GAAW,EACXK,UAAkB,EAClBJ,UAAyB,GAAGJ,iBAAiB,EAC7C;AACA,EAAA,MAAM,CAACS,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAQ,CAAqB,MACvDT,cAAc,CAACC,GAAG,EAAEC,UAAU,CAChC,CAAC,CAAA;AAEDQ,EAAAA,eAAS,CACP,SAASC,YAAYA,GAAG;IACtB,IAAI,CAAAJ,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEN,GAAG,MAAKA,GAAG,EAAE;AACvB,MAAA,OAAOW,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,MAAMT,WAAW,GAAGH,cAAc,CAACC,GAAG,EAAEC,UAAU,CAAC,CAAA;AAEnD,IAAA,IAAIC,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEU,QAAQ,EAAE;MACzBL,SAAS,CAACL,WAAW,CAAC,CAAA;AACtB,MAAA,OAAOS,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,MAAME,KAAK,GAAG,IAAIC,KAAK,EAAE,CAAA;IACzBD,KAAK,CAACb,GAAG,GAAGA,GAAG,CAAA;IAEf,SAASe,SAASA,CAACC,KAAY,EAAE;AAC/B,MAAA,MAAMC,WAAW,GAAG;QAClBjB,GAAG;AACHY,QAAAA,QAAQ,EAAEI,KAAK,CAACE,IAAI,KAAKtB,cAAc,CAACuB,IAAAA;OACzC,CAAA;MACDZ,SAAS,CAACU,WAAW,CAAC,CAAA;AACtBhB,MAAAA,UAAU,CAACmB,GAAG,CAACpB,GAAG,EAAEiB,WAAW,CAAC,CAAA;AAClC,KAAA;IAEAJ,KAAK,CAACQ,gBAAgB,CAACzB,cAAc,CAACuB,IAAI,EAAEJ,SAAS,CAAC,CAAA;IACtDF,KAAK,CAACQ,gBAAgB,CAACzB,cAAc,CAAC0B,KAAK,EAAEP,SAAS,CAAC,CAAA;IAEvD,OAAO,SAASQ,OAAOA,GAAG;MACxBV,KAAK,CAACW,mBAAmB,CAAC5B,cAAc,CAACuB,IAAI,EAAEJ,SAAS,CAAC,CAAA;MACzDF,KAAK,CAACW,mBAAmB,CAAC5B,cAAc,CAAC0B,KAAK,EAAEP,SAAS,CAAC,CAAA;KAC3D,CAAA;GACF,EACD,CAACf,GAAG,EAAEM,MAAM,EAAEL,UAAU,CAC1B,CAAC,CAAA;AAED,EAAA,IAAI,CAACK,MAAM,IAAI,CAACA,MAAM,CAACM,QAAQ,EAAE;AAC/B,IAAA,OAAOP,UAAU,CAAA;AACnB,GAAA;EAEA,OAAOC,MAAM,CAACN,GAAG,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"useProgressiveImage.js","sources":["../../../../src/components/Avatar/useProgressiveImage.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nenum ImageEventType {\n Load = 'load',\n Error = 'error',\n}\n\nexport interface CachedImage {\n src: string\n isLoaded: boolean\n}\n\ntype ImageCacheMap = Map<string, CachedImage>\n\nconst defaultImageCache = new Map<string, CachedImage>()\n\nfunction getCachedImage(src: string, imageCache: ImageCacheMap) {\n const cachedImage = imageCache.get(src)\n if (!cachedImage) {\n return null\n }\n return cachedImage\n}\n\nexport default function useProgressiveImage(\n src: string,\n defaultSrc: string,\n imageCache: ImageCacheMap = defaultImageCache\n) {\n const [source, setSource] = useState<CachedImage | null>(() =>\n getCachedImage(src, imageCache)\n )\n\n useEffect(\n function updateSource() {\n if (source?.src === src) {\n return undefined\n }\n\n const cachedImage = getCachedImage(src, imageCache)\n\n if (cachedImage?.isLoaded) {\n setSource(cachedImage)\n return undefined\n }\n\n const image = new Image()\n image.src = src\n\n function loadImage(event: Event) {\n const loadedImage = {\n src,\n isLoaded: event.type === ImageEventType.Load,\n }\n setSource(loadedImage)\n imageCache.set(src, loadedImage)\n }\n\n image.addEventListener(ImageEventType.Load, loadImage)\n image.addEventListener(ImageEventType.Error, loadImage)\n\n return function cleanup() {\n image.removeEventListener(ImageEventType.Load, loadImage)\n image.removeEventListener(ImageEventType.Error, loadImage)\n }\n },\n [src, source, imageCache]\n )\n\n if (!source || !source.isLoaded) {\n return defaultSrc\n }\n\n return source.src\n}\n"],"names":["ImageEventType","defaultImageCache","Map","getCachedImage","src","imageCache","cachedImage","get","useProgressiveImage","defaultSrc","source","setSource","useState","useEffect","updateSource","undefined","isLoaded","image","Image","loadImage","event","loadedImage","type","Load","set","addEventListener","Error","cleanup","removeEventListener"],"mappings":";;;;;;AAA2C,IAEtCA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,MAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,OAAA;AAAA,EAAA,OAAdA,cAAc;AAAA,CAAA,CAAdA,cAAc,IAAA,EAAA,CAAA;AAYnB,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAuB;AAExD,SAASC,cAAcA,CAACC,GAAW,EAAEC,UAAyB,EAAE;AAC9D,EAAA,MAAMC,WAAW,GAAGD,UAAU,CAACE,GAAG,CAACH,GAAG,CAAC;EACvC,IAAI,CAACE,WAAW,EAAE;AAChB,IAAA,OAAO,IAAI;AACb;AACA,EAAA,OAAOA,WAAW;AACpB;AAEe,SAASE,mBAAmBA,CACzCJ,GAAW,EACXK,UAAkB,EAClBJ,UAAyB,GAAGJ,iBAAiB,EAC7C;AACA,EAAA,MAAM,CAACS,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAQ,CAAqB,MACvDT,cAAc,CAACC,GAAG,EAAEC,UAAU,CAChC,CAAC;AAEDQ,EAAAA,eAAS,CACP,SAASC,YAAYA,GAAG;IACtB,IAAI,CAAAJ,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEN,GAAG,MAAKA,GAAG,EAAE;AACvB,MAAA,OAAOW,SAAS;AAClB;AAEA,IAAA,MAAMT,WAAW,GAAGH,cAAc,CAACC,GAAG,EAAEC,UAAU,CAAC;AAEnD,IAAA,IAAIC,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEU,QAAQ,EAAE;MACzBL,SAAS,CAACL,WAAW,CAAC;AACtB,MAAA,OAAOS,SAAS;AAClB;AAEA,IAAA,MAAME,KAAK,GAAG,IAAIC,KAAK,EAAE;IACzBD,KAAK,CAACb,GAAG,GAAGA,GAAG;IAEf,SAASe,SAASA,CAACC,KAAY,EAAE;AAC/B,MAAA,MAAMC,WAAW,GAAG;QAClBjB,GAAG;AACHY,QAAAA,QAAQ,EAAEI,KAAK,CAACE,IAAI,KAAKtB,cAAc,CAACuB;OACzC;MACDZ,SAAS,CAACU,WAAW,CAAC;AACtBhB,MAAAA,UAAU,CAACmB,GAAG,CAACpB,GAAG,EAAEiB,WAAW,CAAC;AAClC;IAEAJ,KAAK,CAACQ,gBAAgB,CAACzB,cAAc,CAACuB,IAAI,EAAEJ,SAAS,CAAC;IACtDF,KAAK,CAACQ,gBAAgB,CAACzB,cAAc,CAAC0B,KAAK,EAAEP,SAAS,CAAC;IAEvD,OAAO,SAASQ,OAAOA,GAAG;MACxBV,KAAK,CAACW,mBAAmB,CAAC5B,cAAc,CAACuB,IAAI,EAAEJ,SAAS,CAAC;MACzDF,KAAK,CAACW,mBAAmB,CAAC5B,cAAc,CAAC0B,KAAK,EAAEP,SAAS,CAAC;KAC3D;GACF,EACD,CAACf,GAAG,EAAEM,MAAM,EAAEL,UAAU,CAC1B,CAAC;AAED,EAAA,IAAI,CAACK,MAAM,IAAI,CAACA,MAAM,CAACM,QAAQ,EAAE;AAC/B,IAAA,OAAOP,UAAU;AACnB;EAEA,OAAOC,MAAM,CAACN,GAAG;AACnB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["'use client' \n\nimport 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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"}
1
+ {"version":3,"file":"AvatarGroup.js","sources":["../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["'use client' \n\nimport 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["'use client' \n\nimport 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":";;;;;;;AAWO,MAAMA,aAAa,GAAG,eAAc;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,gBAAGC,UAAI,cACvBC,gBAAU,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,KAAA,CAAAC,aAAA,CAACC,yBAAY,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,KAAA,CAAAC,aAAA,CAACK,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAEX,IAAK;AACbF,IAAAA,IAAI,EAAC,IAAA;AAAI,GACV,CACF,EAEA,CAACc,YAAO,CAACX,QAAQ,CAAC,iBACjBG,KAAA,CAAAC,aAAA,CAACQ,6BAAgB,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.js","sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["'use client' \n\nimport 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":";;;;;;;AAWO,MAAMA,aAAa,GAAG;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,gBAAGC,UAAI,cACvBC,gBAAU,CAA6B,SAASF,KAAKA,CACnD;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,IAAI;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAC5DC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAACC,yBAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,GAAG,EAAEN,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;IACjB,aAAaL,EAAAA;GACTQ,EAAAA,IAAI,GAEPF,IAAI,iBACHI,KAAA,CAAAC,aAAA,CAACK,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAEX,IAAK;AACbF,IAAAA,IAAI,EAAC;AAAI,GACV,CACF,EAEA,CAACc,YAAO,CAACX,QAAQ,CAAC,iBACjBG,KAAA,CAAAC,aAAA,CAACQ,6BAAgB,EAAA;AACff,IAAAA,IAAI,EAAEA,IAAK;AACXgB,IAAAA,gBAAgB,EAAE;GAEjBb,EAAAA,QACe,CAER,CAAC;AAEnB,CAAC,CACH;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sources":["../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { warn } from '~/src/utils/assert'\nimport { isNil } from '~/src/utils/type'\n\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport { LegacyIcon, isIconName } from '~/src/components/LegacyIcon'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type BannerProps,\n type BannerVariant,\n type RenderLinkFunc,\n} from './Banner.types'\n\nimport styles from './Banner.module.scss'\n\nconst BANNER_TEST_ID = 'bezier-banner'\n\nfunction getActionButtonColorVariant(variant: BannerVariant) {\n return (\n {\n default: 'monochrome-dark',\n blue: 'blue',\n cobalt: 'cobalt',\n green: 'green',\n orange: 'orange',\n red: 'red',\n alt: 'monochrome-dark',\n } as const\n )[variant]\n}\n\nconst externalLinkRenderer: RenderLinkFunc = ({ content, linkTo }) => (\n <a\n href={linkTo}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {content}\n </a>\n)\n\n/**\n * `Banner` is a component you use when you want to communicate instructions, warnings, recommendations, and other information well.\n * @example\n * ```tsx\n * <Banner\n * variant=\"blue\"\n * icon={LightbulbIcon}\n * content=\"Information here.\"\n * />\n * ```\n */\nexport const Banner = forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n className,\n variant = 'default',\n icon,\n iconColor,\n content,\n hasLink = false,\n linkText,\n linkTo,\n renderLink = externalLinkRenderer,\n actionIcon,\n onClickAction,\n ...rest\n },\n forwardedRef\n) {\n if (isIconName(icon)) {\n warn(\n 'Deprecation: IconName as a value for the icon property of Banner has been deprecated. Use the Icon of bezier-icons instead.'\n )\n }\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.Banner,\n styles[`variant-${variant}`],\n className\n )}\n data-testid={BANNER_TEST_ID}\n {...rest}\n >\n {!isNil(icon) && (\n <div className={styles.Center}>\n {isBezierIcon(icon) ? (\n <Icon\n className={styles.Icon}\n source={icon}\n color={iconColor}\n size=\"s\"\n />\n ) : (\n <LegacyIcon\n className={styles.Icon}\n name={icon}\n color={iconColor}\n size=\"s\"\n />\n )}\n </div>\n )}\n\n <div className={styles.Content}>\n <Text typo=\"14\">\n {content}\n\n {hasLink &&\n renderLink({\n content: (\n <Text\n className={styles.Link}\n typo=\"14\"\n bold\n >\n {linkText}\n </Text>\n ),\n linkTo,\n })}\n </Text>\n </div>\n\n {!isNil(actionIcon) && (\n <div className={styles.Center}>\n <Button\n size=\"xs\"\n colorVariant={getActionButtonColorVariant(variant)}\n styleVariant=\"tertiary\"\n leftContent={actionIcon}\n onClick={onClickAction}\n />\n </div>\n )}\n </div>\n )\n})\n"],"names":["BANNER_TEST_ID","getActionButtonColorVariant","variant","default","blue","cobalt","green","orange","red","alt","externalLinkRenderer","content","linkTo","React","createElement","href","target","rel","Banner","forwardRef","className","icon","iconColor","hasLink","linkText","renderLink","actionIcon","onClickAction","rest","forwardedRef","isIconName","warn","Object","assign","ref","classNames","styles","isNil","Center","isBezierIcon","Icon","source","color","size","LegacyIcon","name","Content","Text","typo","Link","bold","Button","colorVariant","styleVariant","leftContent","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","sources":["../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { warn } from '~/src/utils/assert'\nimport { isNil } from '~/src/utils/type'\n\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport { LegacyIcon, isIconName } from '~/src/components/LegacyIcon'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type BannerProps,\n type BannerVariant,\n type RenderLinkFunc,\n} from './Banner.types'\n\nimport styles from './Banner.module.scss'\n\nconst BANNER_TEST_ID = 'bezier-banner'\n\nfunction getActionButtonColorVariant(variant: BannerVariant) {\n return (\n {\n default: 'monochrome-dark',\n blue: 'blue',\n cobalt: 'cobalt',\n green: 'green',\n orange: 'orange',\n red: 'red',\n alt: 'monochrome-dark',\n } as const\n )[variant]\n}\n\nconst externalLinkRenderer: RenderLinkFunc = ({ content, linkTo }) => (\n <a\n href={linkTo}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {content}\n </a>\n)\n\n/**\n * `Banner` is a component you use when you want to communicate instructions, warnings, recommendations, and other information well.\n * @example\n * ```tsx\n * <Banner\n * variant=\"blue\"\n * icon={LightbulbIcon}\n * content=\"Information here.\"\n * />\n * ```\n */\nexport const Banner = forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n className,\n variant = 'default',\n icon,\n iconColor,\n content,\n hasLink = false,\n linkText,\n linkTo,\n renderLink = externalLinkRenderer,\n actionIcon,\n onClickAction,\n ...rest\n },\n forwardedRef\n) {\n if (isIconName(icon)) {\n warn(\n 'Deprecation: IconName as a value for the icon property of Banner has been deprecated. Use the Icon of bezier-icons instead.'\n )\n }\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.Banner,\n styles[`variant-${variant}`],\n className\n )}\n data-testid={BANNER_TEST_ID}\n {...rest}\n >\n {!isNil(icon) && (\n <div className={styles.Center}>\n {isBezierIcon(icon) ? (\n <Icon\n className={styles.Icon}\n source={icon}\n color={iconColor}\n size=\"s\"\n />\n ) : (\n <LegacyIcon\n className={styles.Icon}\n name={icon}\n color={iconColor}\n size=\"s\"\n />\n )}\n </div>\n )}\n\n <div className={styles.Content}>\n <Text typo=\"14\">\n {content}\n\n {hasLink &&\n renderLink({\n content: (\n <Text\n className={styles.Link}\n typo=\"14\"\n bold\n >\n {linkText}\n </Text>\n ),\n linkTo,\n })}\n </Text>\n </div>\n\n {!isNil(actionIcon) && (\n <div className={styles.Center}>\n <Button\n size=\"xs\"\n colorVariant={getActionButtonColorVariant(variant)}\n styleVariant=\"tertiary\"\n leftContent={actionIcon}\n onClick={onClickAction}\n />\n </div>\n )}\n </div>\n )\n})\n"],"names":["BANNER_TEST_ID","getActionButtonColorVariant","variant","default","blue","cobalt","green","orange","red","alt","externalLinkRenderer","content","linkTo","React","createElement","href","target","rel","Banner","forwardRef","className","icon","iconColor","hasLink","linkText","renderLink","actionIcon","onClickAction","rest","forwardedRef","isIconName","warn","Object","assign","ref","classNames","styles","isNil","Center","isBezierIcon","Icon","source","color","size","LegacyIcon","name","Content","Text","typo","Link","bold","Button","colorVariant","styleVariant","leftContent","onClick"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton.js","sources":["../../../../src/components/BaseButton/BaseButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { type BaseButtonProps } from './BaseButton.types'\n\nimport styles from './BaseButton.module.scss'\n\n/**\n * `BaseButton` is a reset-style button component with a focus ring, intended for internal use only.\n */\nexport const BaseButton = forwardRef<HTMLButtonElement, BaseButtonProps>(\n function BaseButton(\n { className, children, type = 'button', ...rest },\n forwardedRef\n ) {\n return (\n <button\n className={classNames(styles.BaseButton, className)}\n ref={forwardedRef}\n type={type}\n {...rest}\n >\n {children}\n </button>\n )\n }\n)\n"],"names":["BaseButton","forwardRef","className","children","type","rest","forwardedRef","React","createElement","Object","assign","classNames","styles","ref"],"mappings":";;;;;;AAUA;AACA;AACA;MACaA,UAAU,gBAAGC,gBAAU,CAClC,SAASD,UAAUA,CACjB;EAAEE,SAAS;EAAEC,QAAQ;AAAEC,EAAAA,IAAI,GAAG,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EACjDC,YAAY,EACZ;AACA,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAAC,QAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;IACER,SAAS,EAAES,aAAU,CAACC,yBAAM,CAACZ,UAAU,EAAEE,SAAS,CAAE;AACpDW,IAAAA,GAAG,EAAEP,YAAa;AAClBF,IAAAA,IAAI,EAAEA,IAAAA;GACFC,EAAAA,IAAI,CAEPF,EAAAA,QACK,CAAC,CAAA;AAEb,CACF;;;;"}
1
+ {"version":3,"file":"BaseButton.js","sources":["../../../../src/components/BaseButton/BaseButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { type BaseButtonProps } from './BaseButton.types'\n\nimport styles from './BaseButton.module.scss'\n\n/**\n * `BaseButton` is a reset-style button component with a focus ring, intended for internal use only.\n */\nexport const BaseButton = forwardRef<HTMLButtonElement, BaseButtonProps>(\n function BaseButton(\n { className, children, type = 'button', ...rest },\n forwardedRef\n ) {\n return (\n <button\n className={classNames(styles.BaseButton, className)}\n ref={forwardedRef}\n type={type}\n {...rest}\n >\n {children}\n </button>\n )\n }\n)\n"],"names":["BaseButton","forwardRef","className","children","type","rest","forwardedRef","React","createElement","Object","assign","classNames","styles","ref"],"mappings":";;;;;;AAUA;AACA;AACA;MACaA,UAAU,gBAAGC,gBAAU,CAClC,SAASD,UAAUA,CACjB;EAAEE,SAAS;EAAEC,QAAQ;AAAEC,EAAAA,IAAI,GAAG,QAAQ;EAAE,GAAGC;AAAK,CAAC,EACjDC,YAAY,EACZ;AACA,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAAC,QAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;IACER,SAAS,EAAES,aAAU,CAACC,yBAAM,CAACZ,UAAU,EAAEE,SAAS,CAAE;AACpDW,IAAAA,GAAG,EAAEP,YAAa;AAClBF,IAAAA,IAAI,EAAEA;GACFC,EAAAA,IAAI,CAEPF,EAAAA,QACK,CAAC;AAEb,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTagBadge.js","sources":["../../../../src/components/BaseTagBadge/BaseTagBadge.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { Text } from '~/src/components/Text'\n\nimport {\n type BaseTagBadgeProps,\n type BaseTagBadgeSize,\n type BaseTagBadgeTextProps,\n} from './BaseTagBadge.types'\n\nimport styles from './BaseTagBadge.module.scss'\n\nfunction getProperTypo(size: BaseTagBadgeSize) {\n return (\n {\n xs: '11',\n s: '13',\n m: '14',\n l: '15',\n } as const\n )[size]\n}\n\n/**\n * `BaseTagBadge` is the component on which `Tag` and `Badge` components are based.\n */\nexport const BaseTagBadge = forwardRef<HTMLDivElement, BaseTagBadgeProps>(\n function Tag({ size, variant, children, className, ...rest }, forwardedRef) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.BaseTagBadge,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n }\n)\n\n/**\n * `BaseTagBadgeText` is the component on which `Tag` and `Badge` components are based.\n */\nexport const BaseTagBadgeText = forwardRef<\n HTMLDivElement,\n BaseTagBadgeTextProps\n>(function BaseTagBadgeText({ size, children, ...rest }, forwardedRef) {\n return (\n <Text\n typo={getProperTypo(size)}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </Text>\n )\n})\n"],"names":["getProperTypo","size","xs","s","m","l","BaseTagBadge","forwardRef","Tag","variant","children","className","rest","forwardedRef","React","createElement","Object","assign","ref","classNames","styles","BaseTagBadgeText","Text","typo"],"mappings":";;;;;;;AAgBA,SAASA,aAAaA,CAACC,IAAsB,EAAE;EAC7C,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAA;GACJ,CACDJ,IAAI,CAAC,CAAA;AACT,CAAA;;AAEA;AACA;AACA;MACaK,YAAY,gBAAGC,gBAAU,CACpC,SAASC,GAAGA,CAAC;EAAEP,IAAI;EAAEQ,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;AAC1E,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEL,YAAa;IAClBF,SAAS,EAAEQ,aAAU,CACnBC,2BAAM,CAACd,YAAY,EACnBc,2BAAM,CAAC,CAAA,KAAA,EAAQnB,IAAI,CAAE,CAAA,CAAC,EACtBmB,2BAAM,CAAC,WAAWX,OAAO,CAAA,CAAE,CAAC,EAC5BE,SACF,CAAA;GACIC,EAAAA,IAAI,CAEPF,EAAAA,QACE,CAAC,CAAA;AAEV,CACF,EAAC;;AAED;AACA;AACA;MACaW,gBAAgB,gBAAGd,gBAAU,CAGxC,SAASc,gBAAgBA,CAAC;EAAEpB,IAAI;EAAES,QAAQ;EAAE,GAAGE,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;EACrE,oBACEC,KAAA,CAAAC,aAAA,CAACO,SAAI,EAAAN,MAAA,CAAAC,MAAA,CAAA;AACHM,IAAAA,IAAI,EAAEvB,aAAa,CAACC,IAAI,CAAE;AAC1BiB,IAAAA,GAAG,EAAEL,YAAAA;GACDD,EAAAA,IAAI,CAEPF,EAAAA,QACG,CAAC,CAAA;AAEX,CAAC;;;;;"}
1
+ {"version":3,"file":"BaseTagBadge.js","sources":["../../../../src/components/BaseTagBadge/BaseTagBadge.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { Text } from '~/src/components/Text'\n\nimport {\n type BaseTagBadgeProps,\n type BaseTagBadgeSize,\n type BaseTagBadgeTextProps,\n} from './BaseTagBadge.types'\n\nimport styles from './BaseTagBadge.module.scss'\n\nfunction getProperTypo(size: BaseTagBadgeSize) {\n return (\n {\n xs: '11',\n s: '13',\n m: '14',\n l: '15',\n } as const\n )[size]\n}\n\n/**\n * `BaseTagBadge` is the component on which `Tag` and `Badge` components are based.\n */\nexport const BaseTagBadge = forwardRef<HTMLDivElement, BaseTagBadgeProps>(\n function Tag({ size, variant, children, className, ...rest }, forwardedRef) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n styles.BaseTagBadge,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n }\n)\n\n/**\n * `BaseTagBadgeText` is the component on which `Tag` and `Badge` components are based.\n */\nexport const BaseTagBadgeText = forwardRef<\n HTMLDivElement,\n BaseTagBadgeTextProps\n>(function BaseTagBadgeText({ size, children, ...rest }, forwardedRef) {\n return (\n <Text\n typo={getProperTypo(size)}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </Text>\n )\n})\n"],"names":["getProperTypo","size","xs","s","m","l","BaseTagBadge","forwardRef","Tag","variant","children","className","rest","forwardedRef","React","createElement","Object","assign","ref","classNames","styles","BaseTagBadgeText","Text","typo"],"mappings":";;;;;;;AAgBA,SAASA,aAAaA,CAACC,IAAsB,EAAE;EAC7C,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE;GACJ,CACDJ,IAAI,CAAC;AACT;;AAEA;AACA;AACA;MACaK,YAAY,gBAAGC,gBAAU,CACpC,SAASC,GAAGA,CAAC;EAAEP,IAAI;EAAEQ,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC;AAAK,CAAC,EAAEC,YAAY,EAAE;AAC1E,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEL,YAAa;IAClBF,SAAS,EAAEQ,aAAU,CACnBC,2BAAM,CAACd,YAAY,EACnBc,2BAAM,CAAC,CAAA,KAAA,EAAQnB,IAAI,CAAE,CAAA,CAAC,EACtBmB,2BAAM,CAAC,WAAWX,OAAO,CAAA,CAAE,CAAC,EAC5BE,SACF;GACIC,EAAAA,IAAI,CAEPF,EAAAA,QACE,CAAC;AAEV,CACF;;AAEA;AACA;AACA;MACaW,gBAAgB,gBAAGd,gBAAU,CAGxC,SAASc,gBAAgBA,CAAC;EAAEpB,IAAI;EAAES,QAAQ;EAAE,GAAGE;AAAK,CAAC,EAAEC,YAAY,EAAE;EACrE,oBACEC,KAAA,CAAAC,aAAA,CAACO,SAAI,EAAAN,MAAA,CAAAC,MAAA,CAAA;AACHM,IAAAA,IAAI,EAAEvB,aAAa,CAACC,IAAI,CAAE;AAC1BiB,IAAAA,GAAG,EAAEL;GACDD,EAAAA,IAAI,CAEPF,EAAAA,QACG,CAAC;AAEX,CAAC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n getLayoutStyles,\n getMarginStyles,\n splitByLayoutProps,\n splitByMarginProps,\n} from '~/src/types/props-helpers'\n\nimport { type BoxProps } from './Box.types'\n\nimport styles from './Box.module.scss'\n\n/**\n * `Box` is a primitive layout component. It provides an easy way to access design tokens.\n * @example\n *\n * ```tsx\n * <Box\n * width=\"100px\"\n * height=\"100px\"\n * p=\"6px\"\n * m=\"6px\"\n * bgColor=\"bg-black-light\"\n * >\n * <div>{ ... }</div>\n * </Box>\n * ```\n */\nexport const Box = forwardRef<HTMLElement, BoxProps>(\n function Box(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const [layoutProps, layoutRest] = splitByLayoutProps(marginRest)\n const marginStyles = getMarginStyles(marginProps)\n const layoutStyles = getLayoutStyles(layoutProps)\n\n const {\n children,\n style,\n className,\n as = 'div',\n display,\n ...rest\n } = layoutRest\n\n /**\n * NOTE: Using the createElement function directly because of a ref type related error.\n * TODO: Fix type error.\n */\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n },\n className: classNames(\n styles.Box,\n display && styles[`display-${display}`],\n marginStyles.className,\n layoutStyles.className,\n className\n ),\n 'data-testid': 'bezier-box',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Box","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","as","display","rest","createElement","ref","classNames","styles"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,GAAG,gBAAGC,gBAAU,CAC3B,SAASD,GAAGA,CAACE,KAAK,EAAEC,YAAY,EAAE;EAChC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC,CAAA;EAC3D,MAAM,CAACK,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,UAAU,CAAC,CAAA;AAChE,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACP,WAAW,CAAC,CAAA;AACjD,EAAA,MAAMQ,YAAY,GAAGC,4BAAe,CAACN,WAAW,CAAC,CAAA;EAEjD,MAAM;IACJO,QAAQ;IACRC,KAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,KAAK;IACVC,OAAO;IACP,GAAGC,IAAAA;AACL,GAAC,GAAGX,UAAU,CAAA;;AAEd;AACJ;AACA;AACA;EACI,oBAAOY,mBAAa,CAClBH,EAAE,EACF;AACEI,IAAAA,GAAG,EAAElB,YAAY;AACjBY,IAAAA,KAAK,EAAE;MACL,GAAGL,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA,KAAAA;KACJ;IACDC,SAAS,EAAEM,aAAU,CACnBC,kBAAM,CAACvB,GAAG,EACVkB,OAAO,IAAIK,kBAAM,CAAC,CAAA,QAAA,EAAWL,OAAO,CAAE,CAAA,CAAC,EACvCR,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,YAAY;IAC3B,GAAGG,IAAAA;GACJ,EACDL,QACF,CAAC,CAAA;AACH,CACF;;;;"}
1
+ {"version":3,"file":"Box.js","sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n getLayoutStyles,\n getMarginStyles,\n splitByLayoutProps,\n splitByMarginProps,\n} from '~/src/types/props-helpers'\n\nimport { type BoxProps } from './Box.types'\n\nimport styles from './Box.module.scss'\n\n/**\n * `Box` is a primitive layout component. It provides an easy way to access design tokens.\n * @example\n *\n * ```tsx\n * <Box\n * width=\"100px\"\n * height=\"100px\"\n * p=\"6px\"\n * m=\"6px\"\n * bgColor=\"bg-black-light\"\n * >\n * <div>{ ... }</div>\n * </Box>\n * ```\n */\nexport const Box = forwardRef<HTMLElement, BoxProps>(\n function Box(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const [layoutProps, layoutRest] = splitByLayoutProps(marginRest)\n const marginStyles = getMarginStyles(marginProps)\n const layoutStyles = getLayoutStyles(layoutProps)\n\n const {\n children,\n style,\n className,\n as = 'div',\n display,\n ...rest\n } = layoutRest\n\n /**\n * NOTE: Using the createElement function directly because of a ref type related error.\n * TODO: Fix type error.\n */\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n },\n className: classNames(\n styles.Box,\n display && styles[`display-${display}`],\n marginStyles.className,\n layoutStyles.className,\n className\n ),\n 'data-testid': 'bezier-box',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Box","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","as","display","rest","createElement","ref","classNames","styles"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,GAAG,gBAAGC,gBAAU,CAC3B,SAASD,GAAGA,CAACE,KAAK,EAAEC,YAAY,EAAE;EAChC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC;EAC3D,MAAM,CAACK,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,UAAU,CAAC;AAChE,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACP,WAAW,CAAC;AACjD,EAAA,MAAMQ,YAAY,GAAGC,4BAAe,CAACN,WAAW,CAAC;EAEjD,MAAM;IACJO,QAAQ;IACRC,KAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,KAAK;IACVC,OAAO;IACP,GAAGC;AACL,GAAC,GAAGX,UAAU;;AAEd;AACJ;AACA;AACA;EACI,oBAAOY,mBAAa,CAClBH,EAAE,EACF;AACEI,IAAAA,GAAG,EAAElB,YAAY;AACjBY,IAAAA,KAAK,EAAE;MACL,GAAGL,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA;KACJ;IACDC,SAAS,EAAEM,aAAU,CACnBC,kBAAM,CAACvB,GAAG,EACVkB,OAAO,IAAIK,kBAAM,CAAC,CAAA,QAAA,EAAWL,OAAO,CAAE,CAAA,CAAC,EACvCR,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,YAAY;IAC3B,GAAGG;GACJ,EACDL,QACF,CAAC;AACH,CACF;;;;"}
@@ -65,8 +65,8 @@ const Button = /*#__PURE__*/React.forwardRef(function Button({
65
65
  as = BaseButton.BaseButton,
66
66
  className,
67
67
  text,
68
- disabled = false,
69
68
  loading = false,
69
+ disabled: disabledProp = false,
70
70
  active = false,
71
71
  size = 'm',
72
72
  styleVariant = 'primary',
@@ -77,6 +77,7 @@ const Button = /*#__PURE__*/React.forwardRef(function Button({
77
77
  ...rest
78
78
  }, forwardedRef) {
79
79
  const Comp = as;
80
+ const disabled = loading || disabledProp;
80
81
  const handleClick = React.useCallback(event => {
81
82
  if (!disabled) {
82
83
  onClick === null || onClick === void 0 || onClick(event);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["'use client' \n\nimport 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":";;;;;;;;;;;;;;AAmBO,MAAMA,cAAc,GAAG,gBAAe;AAE7C,SAASC,aAAaA,CAACC,IAAgB,EAAE;EACvC,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,EAAE,EAAE,IAAA;GACL,CACDL,IAAI,CAAC,CAAA;AACT,CAAA;AAEA,SAASM,WAAWA,CAACN,IAAgB,EAAE;EACrC,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,EAAE,EAAE,GAAA;GACL,CACDL,IAAI,CAAC,CAAA;AACT,CAAA;AAEA,SAASO,cAAcA,CAACP,IAAgB,EAAE;EACxC,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,EAAE,EAAE,GAAA;GACL,CACDL,IAAI,CAAC,CAAA;AACT,CAAA;AAEA,SAASQ,iBAAiBA,CAAC;EACzBR,IAAI;AACJS,EAAAA,QAAAA;AAIF,CAAC,EAAE;AACD,EAAA,IAAIC,gBAAU,CAACD,QAAQ,CAAC,EAAE;IACxBE,WAAI,CACF,sIACF,CAAC,CAAA;AACD,IAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,qBAAU,EAAA;MACTC,SAAS,EAAEC,qBAAM,CAACC,UAAW;AAC7BC,MAAAA,IAAI,EAAET,QAAS;MACfT,IAAI,EAAEM,WAAW,CAACN,IAAI,CAAA;AAAE,KACzB,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,IAAImB,wBAAY,CAACV,QAAQ,CAAC,EAAE;AAC1B,IAAA,oBACEG,KAAA,CAAAC,aAAA,CAACO,SAAI,EAAA;MACHL,SAAS,EAAEC,qBAAM,CAACC,UAAW;AAC7BI,MAAAA,MAAM,EAAEZ,QAAS;MACjBT,IAAI,EAAEM,WAAW,CAACN,IAAI,CAAA;AAAE,KACzB,CAAC,CAAA;AAEN,GAAA;EAEA,oBAAOY,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,EAAGb,IAAAA,EAAAA,QAAW,CAAC,CAAA;AACxB,CAAA;MAEac,MAAM,gBAAGC,gBAAU,CAC9B,SAASD,MAAMA,CACb;AACEE,EAAAA,EAAE,GAAGC,qBAAU;EACfX,SAAS;EACTY,IAAI;AACJC,EAAAA,QAAQ,GAAG,KAAK;AAChBC,EAAAA,OAAO,GAAG,KAAK;AACfC,EAAAA,MAAM,GAAG,KAAK;AACd9B,EAAAA,IAAI,GAAG,GAAG;AACV+B,EAAAA,YAAY,GAAG,SAAS;AACxBC,EAAAA,YAAY,GAAG,MAAM;EACrBC,WAAW;EACXC,YAAY;EACZC,OAAO;EACP,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGb,EAAuB,CAAA;AAEpC,EAAA,MAAMc,WAAW,GAAGC,iBAAW,CAC5BC,KAAK,IAAK;IACT,IAAI,CAACb,QAAQ,EAAE;AACbO,MAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAGM,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACN,OAAO,EAAEP,QAAQ,CACpB,CAAC,CAAA;EAED,oBACEhB,KAAA,CAAAC,aAAA,CAACyB,IAAI,EAAAI,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,GAAG,EAAEP,YAAa;AAClBtB,IAAAA,SAAS,EAAE8B,aAAU,CACnB7B,qBAAM,CAACO,MAAM,EACbP,qBAAM,CAAC,QAAQhB,IAAI,CAAA,CAAE,CAAC,EACtBgB,qBAAM,CAAC,CAAA,MAAA,EAASe,YAAY,CAAA,CAAE,CAAC,EAC/Bf,qBAAM,CAAC,CAAA,MAAA,EAASgB,YAAY,CAAE,CAAA,CAAC,EAC/BF,MAAM,IAAId,qBAAM,CAACc,MAAM,EACvBf,SACF,CAAE;AACFa,IAAAA,QAAQ,EAAEA,QAAS;AACnBO,IAAAA,OAAO,EAAEI,WAAY;AACrB,IAAA,aAAA,EAAazC,cAAe;IAC5B,uBAAsB,EAAA,QAAA;AAAQ,GAAA,EAC1BsC,IAAI,CAAA,eAERxB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEE,SAAS,EAAE8B,aAAU,CACnB7B,qBAAM,CAAC8B,aAAa,EACpBjB,OAAO,IAAIb,qBAAM,CAACa,OACpB,CAAA;AAAE,GAAA,eAEFjB,KAAA,CAAAC,aAAA,CAACL,iBAAiB,EAAA;AAACR,IAAAA,IAAI,EAAEA,IAAAA;GAAOiC,EAAAA,WAA+B,CAAC,EAE/DN,IAAI,iBACHf,KAAA,CAAAC,aAAA,CAACkC,SAAI,EAAA;IACHhC,SAAS,EAAEC,qBAAM,CAACgC,UAAW;AAC7BC,IAAAA,IAAI,EAAElD,aAAa,CAACC,IAAI,CAAE;IAC1BkD,IAAI,EAAA,IAAA;AAAA,GAAA,EAEHvB,IACG,CACP,eAEDf,KAAA,CAAAC,aAAA,CAACL,iBAAiB,EAAA;AAACR,IAAAA,IAAI,EAAEA,IAAAA;GAAOkC,EAAAA,YAAgC,CAC7D,CAAC,EAELL,OAAO,iBACNjB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKE,SAAS,EAAEC,qBAAM,CAACmC,YAAAA;AAAa,GAAA,eAClCvC,KAAA,CAAAC,aAAA,CAACuC,eAAO,EAAA;IAACpD,IAAI,EAAEO,cAAc,CAACP,IAAI,CAAA;GAAI,CACnC,CAEH,CAAC,CAAA;AAEX,CACF;;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["'use client'\n\nimport 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 loading = false,\n disabled: disabledProp = 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 disabled = loading || disabledProp\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","loading","disabled","disabledProp","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 +1 @@
1
- {"version":3,"file":"ButtonGroup.js","sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport type { ButtonGroupProps } from './ButtonGroup.types'\n\n/**\n * `ButtonGroup` is a component that groups buttons together.\n * @example\n * ```tsx\n * <ButtonGroup>\n * <Button text=\"Close\" />\n * <Button text=\"Submit\" />\n * </ButtonGroup>\n * ```\n */\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n function ButtonGroup(\n { children, justify = 'center', withoutSpacing = false, ...props },\n forwardedRef\n ) {\n return (\n <Stack\n {...props}\n role=\"group\"\n ref={forwardedRef}\n direction=\"horizontal\"\n spacing={withoutSpacing ? 0 : 6}\n justify={justify}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["ButtonGroup","forwardRef","children","justify","withoutSpacing","props","forwardedRef","React","createElement","Stack","Object","assign","role","ref","direction","spacing"],"mappings":";;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,gBAAU,CACnC,SAASD,WAAWA,CAClB;EAAEE,QAAQ;AAAEC,EAAAA,OAAO,GAAG,QAAQ;AAAEC,EAAAA,cAAc,GAAG,KAAK;EAAE,GAAGC,KAAAA;AAAM,CAAC,EAClEC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAACC,WAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACAN,KAAK,EAAA;AACTO,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,SAAS,EAAC,YAAY;AACtBC,IAAAA,OAAO,EAAEX,cAAc,GAAG,CAAC,GAAG,CAAE;AAChCD,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,CAAA,EAEhBD,QACI,CAAC,CAAA;AAEZ,CACF;;;;"}
1
+ {"version":3,"file":"ButtonGroup.js","sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport type { ButtonGroupProps } from './ButtonGroup.types'\n\n/**\n * `ButtonGroup` is a component that groups buttons together.\n * @example\n * ```tsx\n * <ButtonGroup>\n * <Button text=\"Close\" />\n * <Button text=\"Submit\" />\n * </ButtonGroup>\n * ```\n */\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n function ButtonGroup(\n { children, justify = 'center', withoutSpacing = false, ...props },\n forwardedRef\n ) {\n return (\n <Stack\n {...props}\n role=\"group\"\n ref={forwardedRef}\n direction=\"horizontal\"\n spacing={withoutSpacing ? 0 : 6}\n justify={justify}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["ButtonGroup","forwardRef","children","justify","withoutSpacing","props","forwardedRef","React","createElement","Stack","Object","assign","role","ref","direction","spacing"],"mappings":";;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,gBAAU,CACnC,SAASD,WAAWA,CAClB;EAAEE,QAAQ;AAAEC,EAAAA,OAAO,GAAG,QAAQ;AAAEC,EAAAA,cAAc,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EAClEC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAACC,WAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACAN,KAAK,EAAA;AACTO,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,SAAS,EAAC,YAAY;AACtBC,IAAAA,OAAO,EAAEX,cAAc,GAAG,CAAC,GAAG,CAAE;AAChCD,IAAAA,OAAO,EAAEA;AAAQ,GAAA,CAAA,EAEhBD,QACI,CAAC;AAEZ,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Center.js","sources":["../../../../src/components/Center/Center.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n getLayoutStyles,\n getMarginStyles,\n splitByLayoutProps,\n splitByMarginProps,\n} from '~/src/types/props-helpers'\n\nimport { type CenterProps } from './Center.types'\n\nimport styles from './Center.module.scss'\n\n/**\n * `Center` is a layout component that centers its child within itself.\n * @example\n *\n * ```tsx\n * <Center>\n * Centered content\n * </Center>\n * ```\n */\nexport const Center = forwardRef<HTMLDivElement, CenterProps>(\n function Center(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const [layoutProps, layoutRest] = splitByLayoutProps(marginRest)\n const marginStyles = getMarginStyles(marginProps)\n const layoutStyles = getLayoutStyles(layoutProps)\n\n const { children, style, className, display = 'flex', ...rest } = layoutRest\n\n return (\n <div\n ref={forwardedRef}\n style={{\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n }}\n className={classNames(\n styles.Center,\n display && styles[`display-${display}`],\n marginStyles.className,\n layoutStyles.className,\n className\n )}\n data-testid=\"bezier-center\"\n {...rest}\n >\n {children}\n </div>\n )\n }\n)\n"],"names":["Center","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","display","rest","React","createElement","Object","assign","ref","classNames","styles"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,MAAM,gBAAGC,gBAAU,CAC9B,SAASD,MAAMA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACnC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC,CAAA;EAC3D,MAAM,CAACK,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,UAAU,CAAC,CAAA;AAChE,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACP,WAAW,CAAC,CAAA;AACjD,EAAA,MAAMQ,YAAY,GAAGC,4BAAe,CAACN,WAAW,CAAC,CAAA;EAEjD,MAAM;IAAEO,QAAQ;IAAEC,KAAK;IAAEC,SAAS;AAAEC,IAAAA,OAAO,GAAG,MAAM;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAGV,UAAU,CAAA;AAE5E,EAAA,oBACEW,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEpB,YAAa;AAClBY,IAAAA,KAAK,EAAE;MACL,GAAGL,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA,KAAAA;KACH;IACFC,SAAS,EAAEQ,aAAU,CACnBC,qBAAM,CAACzB,MAAM,EACbiB,OAAO,IAAIQ,qBAAM,CAAC,CAAA,QAAA,EAAWR,OAAO,CAAE,CAAA,CAAC,EACvCP,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAE;IACF,aAAY,EAAA,eAAA;GACRE,EAAAA,IAAI,CAEPJ,EAAAA,QACE,CAAC,CAAA;AAEV,CACF;;;;"}
1
+ {"version":3,"file":"Center.js","sources":["../../../../src/components/Center/Center.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport {\n getLayoutStyles,\n getMarginStyles,\n splitByLayoutProps,\n splitByMarginProps,\n} from '~/src/types/props-helpers'\n\nimport { type CenterProps } from './Center.types'\n\nimport styles from './Center.module.scss'\n\n/**\n * `Center` is a layout component that centers its child within itself.\n * @example\n *\n * ```tsx\n * <Center>\n * Centered content\n * </Center>\n * ```\n */\nexport const Center = forwardRef<HTMLDivElement, CenterProps>(\n function Center(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const [layoutProps, layoutRest] = splitByLayoutProps(marginRest)\n const marginStyles = getMarginStyles(marginProps)\n const layoutStyles = getLayoutStyles(layoutProps)\n\n const { children, style, className, display = 'flex', ...rest } = layoutRest\n\n return (\n <div\n ref={forwardedRef}\n style={{\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n }}\n className={classNames(\n styles.Center,\n display && styles[`display-${display}`],\n marginStyles.className,\n layoutStyles.className,\n className\n )}\n data-testid=\"bezier-center\"\n {...rest}\n >\n {children}\n </div>\n )\n }\n)\n"],"names":["Center","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","display","rest","React","createElement","Object","assign","ref","classNames","styles"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,MAAM,gBAAGC,gBAAU,CAC9B,SAASD,MAAMA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACnC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC;EAC3D,MAAM,CAACK,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,UAAU,CAAC;AAChE,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACP,WAAW,CAAC;AACjD,EAAA,MAAMQ,YAAY,GAAGC,4BAAe,CAACN,WAAW,CAAC;EAEjD,MAAM;IAAEO,QAAQ;IAAEC,KAAK;IAAEC,SAAS;AAAEC,IAAAA,OAAO,GAAG,MAAM;IAAE,GAAGC;AAAK,GAAC,GAAGV,UAAU;AAE5E,EAAA,oBACEW,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEpB,YAAa;AAClBY,IAAAA,KAAK,EAAE;MACL,GAAGL,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA;KACH;IACFC,SAAS,EAAEQ,aAAU,CACnBC,qBAAM,CAACzB,MAAM,EACbiB,OAAO,IAAIQ,qBAAM,CAAC,CAAA,QAAA,EAAWR,OAAO,CAAE,CAAA,CAAC,EACvCP,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAE;IACF,aAAY,EAAA;GACRE,EAAAA,IAAI,CAEPJ,EAAAA,QACE,CAAC;AAEV,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckableAvatar.js","sources":["../../../../src/components/CheckableAvatar/CheckableAvatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\n\nimport { Avatar } from '~/src/components/Avatar'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\n\nimport type { CheckableAvatarProps } from './CheckableAvatar.types'\n\nimport styles from './CheckableAvatar.module.scss'\n\n/**\n * `CheckableAvatar` is a checkbox component that looks like `Avatar`.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * defaultChecked\n * />\n * ```\n */\nexport const CheckableAvatar = forwardRef<\n HTMLButtonElement,\n CheckableAvatarProps\n>(function CheckableAvatar(\n {\n children,\n className,\n id: idProp,\n name,\n size = '24',\n disabled,\n avatarUrl,\n fallbackUrl,\n status,\n showBorder,\n ...props\n },\n forwardedRef\n) {\n const id = useId(idProp, 'bezier-checkable-avatar')\n\n return (\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n name={name}\n disabled={disabled}\n {...props}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n forceMount\n >\n <Icon\n className={classNames(styles.CheckIcon, styles[`size-${size}`])}\n source={CheckIcon}\n color=\"bgtxt-absolute-white-normal\"\n />\n </CheckboxPrimitive.Indicator>\n\n <Avatar\n className={styles.Avatar}\n aria-hidden\n size={size}\n name={name}\n disabled={disabled}\n avatarUrl={avatarUrl}\n fallbackUrl={fallbackUrl}\n status={status}\n showBorder={showBorder}\n >\n {children}\n </Avatar>\n\n <VisuallyHidden>\n <label htmlFor={id}>{name}</label>\n </VisuallyHidden>\n </BaseButton>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckableAvatar","forwardRef","children","className","id","idProp","name","size","disabled","avatarUrl","fallbackUrl","status","showBorder","props","forwardedRef","useId","React","createElement","CheckboxPrimitive","Object","assign","asChild","classNames","styles","Checkbox","ref","BaseButton","forceMount","Icon","CheckIcon","source","color","Avatar","VisuallyHidden","htmlFor"],"mappings":";;;;;;;;;;;;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,eAAe,gBAAGC,gBAAU,CAGvC,SAASD,eAAeA,CACxB;EACEE,QAAQ;EACRC,SAAS;AACTC,EAAAA,EAAE,EAAEC,MAAM;EACVC,IAAI;AACJC,EAAAA,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,MAAM;EACNC,UAAU;EACV,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMV,EAAE,GAAGW,aAAK,CAACV,MAAM,EAAE,yBAAyB,CAAC,CAAA;EAEnD,oBACEW,KAAA,CAAAC,aAAA,CAACC,UAAsB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACrBC,OAAO,EAAA,IAAA;IACPlB,SAAS,EAAEmB,eAAU,CAACC,8BAAM,CAACC,QAAQ,EAAErB,SAAS,CAAE;AAClDsB,IAAAA,GAAG,EAAEX,YAAa;AAClBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EACfK,KAAK,CAAA,eAETG,KAAA,CAAAC,aAAA,CAACS,qBAAU,EACTV,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACC,eAA2B,EAAA;IAC1BG,OAAO,EAAA,IAAA;IACPM,UAAU,EAAA,IAAA;AAAA,GAAA,eAEVX,KAAA,CAAAC,aAAA,CAACW,SAAI,EAAA;AACHzB,IAAAA,SAAS,EAAEmB,eAAU,CAACC,8BAAM,CAACM,SAAS,EAAEN,8BAAM,CAAC,CAAA,KAAA,EAAQhB,IAAI,CAAA,CAAE,CAAC,CAAE;AAChEuB,IAAAA,MAAM,EAAED,qBAAU;AAClBE,IAAAA,KAAK,EAAC,6BAAA;AAA6B,GACpC,CAC0B,CAAC,eAE9Bf,KAAA,CAAAC,aAAA,CAACe,aAAM,EAAA;IACL7B,SAAS,EAAEoB,8BAAM,CAACS,MAAO;IACzB,aAAW,EAAA,IAAA;AACXzB,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAAA;GAEXV,EAAAA,QACK,CAAC,eAETc,KAAA,CAAAC,aAAA,CAACgB,6BAAc,EAAA,IAAA,eACbjB,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOiB,IAAAA,OAAO,EAAE9B,EAAAA;AAAG,GAAA,EAAEE,IAAY,CACnB,CACN,CACU,CAAC,CAAA;AAE7B,CAAC;;;;"}
1
+ {"version":3,"file":"CheckableAvatar.js","sources":["../../../../src/components/CheckableAvatar/CheckableAvatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\n\nimport { Avatar } from '~/src/components/Avatar'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\n\nimport type { CheckableAvatarProps } from './CheckableAvatar.types'\n\nimport styles from './CheckableAvatar.module.scss'\n\n/**\n * `CheckableAvatar` is a checkbox component that looks like `Avatar`.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * defaultChecked\n * />\n * ```\n */\nexport const CheckableAvatar = forwardRef<\n HTMLButtonElement,\n CheckableAvatarProps\n>(function CheckableAvatar(\n {\n children,\n className,\n id: idProp,\n name,\n size = '24',\n disabled,\n avatarUrl,\n fallbackUrl,\n status,\n showBorder,\n ...props\n },\n forwardedRef\n) {\n const id = useId(idProp, 'bezier-checkable-avatar')\n\n return (\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n name={name}\n disabled={disabled}\n {...props}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n forceMount\n >\n <Icon\n className={classNames(styles.CheckIcon, styles[`size-${size}`])}\n source={CheckIcon}\n color=\"bgtxt-absolute-white-normal\"\n />\n </CheckboxPrimitive.Indicator>\n\n <Avatar\n className={styles.Avatar}\n aria-hidden\n size={size}\n name={name}\n disabled={disabled}\n avatarUrl={avatarUrl}\n fallbackUrl={fallbackUrl}\n status={status}\n showBorder={showBorder}\n >\n {children}\n </Avatar>\n\n <VisuallyHidden>\n <label htmlFor={id}>{name}</label>\n </VisuallyHidden>\n </BaseButton>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckableAvatar","forwardRef","children","className","id","idProp","name","size","disabled","avatarUrl","fallbackUrl","status","showBorder","props","forwardedRef","useId","React","createElement","CheckboxPrimitive","Object","assign","asChild","classNames","styles","Checkbox","ref","BaseButton","forceMount","Icon","CheckIcon","source","color","Avatar","VisuallyHidden","htmlFor"],"mappings":";;;;;;;;;;;;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,eAAe,gBAAGC,gBAAU,CAGvC,SAASD,eAAeA,CACxB;EACEE,QAAQ;EACRC,SAAS;AACTC,EAAAA,EAAE,EAAEC,MAAM;EACVC,IAAI;AACJC,EAAAA,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,MAAM;EACNC,UAAU;EACV,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMV,EAAE,GAAGW,aAAK,CAACV,MAAM,EAAE,yBAAyB,CAAC;EAEnD,oBACEW,KAAA,CAAAC,aAAA,CAACC,UAAsB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACrBC,OAAO,EAAA,IAAA;IACPlB,SAAS,EAAEmB,eAAU,CAACC,8BAAM,CAACC,QAAQ,EAAErB,SAAS,CAAE;AAClDsB,IAAAA,GAAG,EAAEX,YAAa;AAClBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA;AAAS,GAAA,EACfK,KAAK,CAAA,eAETG,KAAA,CAAAC,aAAA,CAACS,qBAAU,EACTV,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACC,eAA2B,EAAA;IAC1BG,OAAO,EAAA,IAAA;IACPM,UAAU,EAAA;AAAA,GAAA,eAEVX,KAAA,CAAAC,aAAA,CAACW,SAAI,EAAA;AACHzB,IAAAA,SAAS,EAAEmB,eAAU,CAACC,8BAAM,CAACM,SAAS,EAAEN,8BAAM,CAAC,CAAA,KAAA,EAAQhB,IAAI,CAAA,CAAE,CAAC,CAAE;AAChEuB,IAAAA,MAAM,EAAED,qBAAU;AAClBE,IAAAA,KAAK,EAAC;AAA6B,GACpC,CAC0B,CAAC,eAE9Bf,KAAA,CAAAC,aAAA,CAACe,aAAM,EAAA;IACL7B,SAAS,EAAEoB,8BAAM,CAACS,MAAO;IACzB,aAAW,EAAA,IAAA;AACXzB,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA;GAEXV,EAAAA,QACK,CAAC,eAETc,KAAA,CAAAC,aAAA,CAACgB,6BAAc,EAAA,IAAA,eACbjB,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOiB,IAAAA,OAAO,EAAE9B;AAAG,GAAA,EAAEE,IAAY,CACnB,CACN,CACU,CAAC;AAE7B,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\n\nimport 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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"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\n\nimport 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":";;;;;;;;;;;;;;AA0BA;AACA,MAAMA,SAAS,gBAAGC,gBAAU,CAC1B,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;AACtC;AACA,EAAA,MAAMC,KAAK,GAAGF,KAAK,CAAC,YAAY,CAAC;AACjC,EAAA,MAAMG,WAAW,GAAGD,KAAK,KAAK,WAAW;AACzC,EAAA,MAAME,eAAe,GAAGF,KAAK,KAAK,eAAe;EAEjD,oBACEG,KAAA,CAAAC,aAAA,CAACC,SAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACHC,SAAS,EAAEC,uBAAM,CAACb,SAAU;AAC5Bc,IAAAA,GAAG,EAAEX,YAAa;AAClBY,IAAAA,MAAM,EAAE,CAACT,eAAe,GAAGU,yBAAa,GAAGC,0BAAe;AAC1DC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAEd,WAAW,GAAG,eAAe,GAAG;GACnCH,EAAAA,KAAK,CACV,CAAC;AAEN,CACF,CAAC;AAED,SAASkB,YAAYA,CACnB;EAAEC,QAAQ;EAAET,SAAS;EAAEU,OAAO;AAAEC,EAAAA,EAAE,EAAEC,MAAM;EAAE,GAAGC;AAA6B,CAAC,EAC7EtB,YAA0C,EAC1C;EACA,MAAM;AACJoB,IAAAA,EAAE,EAAEG,WAAW;IACfC,QAAQ;IACR,GAAGC;AACL,GAAC,GAAGC,6BAAiB,CAACJ,IAAI,CAAC;AAE3B,EAAA,MAAMF,EAAE,GAAGO,aAAK,CAACN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAIE,WAAW,EAAE,iBAAiB,CAAC;EAE1D,oBACEnB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEI,SAAS,EAAEmB,aAAU,CAAClB,uBAAM,CAACmB,SAAS,EAAEC,sCAAyB,CAAC,GAAG,CAAC;GAEtE1B,eAAAA,KAAA,CAAAC,aAAA,CAAC0B,YAAsB,EAAAxB,MAAA,CAAAC,MAAA,CAAA;IACrBwB,OAAO,EAAA,IAAA;IACPvB,SAAS,EAAEmB,aAAU,CAAClB,uBAAM,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;AAAE,GAAA,EACzCA,cAAc,CAAA,eAElBrB,KAAA,CAAAC,aAAA,CAAC6B,qBAAU,EACT9B,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAC0B,iBAA2B,EAAA;IAC1BC,OAAO,EAAA;AACP;IACAG,UAAU,EAAA;AAAA,GAAA,eAGV/B,KAAA,CAAAC,aAAA,CAACR,SAAS,MAAE,CACe,CACnB,CACU,CAAC,EACxBqB,QAAQ,iBACPd,KAAA,CAAAC,aAAA,CAAC+B,SAAI,EAAA;AACHC,IAAAA,EAAE,EAAC;AACH;AACA;AAAA;AACAC,IAAAA,OAAO,EAAElB,EAAG;IACZX,SAAS,EAAEC,uBAAM,CAAC6B,KAAM;AACxBC,IAAAA,IAAI,EAAC,IAAI;AACTxB,IAAAA,KAAK,EAAC;GAELE,EAAAA,QACG,CAEL,CAAC;AAEV;;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,gBAAU,CAACmB,YAAY;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.js","sources":["../../../../src/components/ConfirmModal/ConfirmModal.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport {\n Modal,\n ModalBody,\n ModalClose,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalTrigger,\n} from '~/src/components/Modal'\n\nimport {\n type ConfirmModalBodyProps,\n type ConfirmModalCloseProps,\n type ConfirmModalContentProps,\n type ConfirmModalFooterProps,\n type ConfirmModalHeaderProps,\n type ConfirmModalProps,\n type ConfirmModalTriggerProps,\n} from './ConfirmModal.types'\n\n/**\n * `ConfirmModal` is a modal dialog that interrupts the user with important content and expects a response.\n *\n * `ConfirmModal` is a context of the ConfirmModal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to ConfirmModal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the ConfirmModal\n * <ConfirmModal>\n * <ConfirmModalModalTrigger />\n * <ConfirmModalModalContent>\n * <ConfirmModalModalHeader />\n * <ConfirmModalModalBody />\n * <ConfirmModalModalFooter />\n * </ConfirmModalModalContent>\n * </ConfirmModal>\n * ```\n */\nexport function ConfirmModal({ children, ...rest }: ConfirmModalProps) {\n return <Modal {...rest}>{children}</Modal>\n}\n\n/**\n * `ConfirmModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ConfirmModalContent = forwardRef(function ConfirmModalContent(\n { children, ...rest }: ConfirmModalContentProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalContent\n role=\"alertdialog\"\n ref={forwardedRef}\n showCloseIcon={false}\n {...rest}\n >\n {children}\n </ModalContent>\n )\n})\n\n/**\n * `ConfirmModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n */\nexport const ConfirmModalHeader = forwardRef(function ConfirmModalHeader(\n props: ConfirmModalHeaderProps,\n forwardedRef: React.Ref<HTMLElement>\n) {\n return (\n <ModalHeader\n ref={forwardedRef}\n subtitle={null}\n titleSize=\"m\"\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalBody` is a simple wrapper of the main modal content.\n */\nexport const ConfirmModalBody = forwardRef(function ConfirmModalBody(\n { children, ...rest }: ConfirmModalBodyProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalBody\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </ModalBody>\n )\n})\n\n/**\n * `ConfirmModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ConfirmModalFooter = forwardRef(function ConfirmModalFooter(\n props: ConfirmModalFooterProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalFooter\n ref={forwardedRef}\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ConfirmModalContent`.\n */\nexport function ConfirmModalTrigger({ children }: ConfirmModalTriggerProps) {\n return <ModalTrigger>{children}</ModalTrigger>\n}\n\n/**\n * `ConfirmModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ConfirmModalClose({ children }: ConfirmModalCloseProps) {\n return <ModalClose>{children}</ModalClose>\n}\n"],"names":["ConfirmModal","children","rest","React","createElement","Modal","ConfirmModalContent","forwardRef","forwardedRef","ModalContent","Object","assign","role","ref","showCloseIcon","ConfirmModalHeader","props","ModalHeader","subtitle","titleSize","ConfirmModalBody","ModalBody","ConfirmModalFooter","ModalFooter","ConfirmModalTrigger","ModalTrigger","ConfirmModalClose","ModalClose"],"mappings":";;;;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAwB,CAAC,EAAE;EACrE,oBAAOC,KAAA,CAAAC,aAAA,CAACC,WAAK,EAAKH,IAAI,EAAGD,QAAgB,CAAC,CAAA;AAC5C,CAAA;;AAEA;AACA;AACA;AACA;AACA;MACaK,mBAAmB,gBAAGC,gBAAU,CAAC,SAASD,mBAAmBA,CACxE;EAAEL,QAAQ;EAAE,GAAGC,IAAAA;AAA+B,CAAC,EAC/CM,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACK,kBAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,IAAI,EAAC,aAAa;AAClBC,IAAAA,GAAG,EAAEL,YAAa;AAClBM,IAAAA,aAAa,EAAE,KAAA;GACXZ,EAAAA,IAAI,CAEPD,EAAAA,QACW,CAAC,CAAA;AAEnB,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACO,MAAMc,kBAAkB,gBAAGR,gBAAU,CAAC,SAASQ,kBAAkBA,CACtEC,KAA8B,EAC9BR,YAAoC,EACpC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACa,iBAAW,EAAAP,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAa;AAClBU,IAAAA,QAAQ,EAAE,IAAK;AACfC,IAAAA,SAAS,EAAC,GAAA;GACNH,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC,EAAC;;AAEF;AACA;AACA;MACaI,gBAAgB,gBAAGb,gBAAU,CAAC,SAASa,gBAAgBA,CAClE;EAAEnB,QAAQ;EAAE,GAAGC,IAAAA;AAA4B,CAAC,EAC5CM,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACiB,eAAS,EAAAX,MAAA,CAAAC,MAAA,CAAA;AACRE,IAAAA,GAAG,EAAEL,YAAAA;GACDN,EAAAA,IAAI,CAEPD,EAAAA,QACQ,CAAC,CAAA;AAEhB,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACO,MAAMqB,kBAAkB,gBAAGf,gBAAU,CAAC,SAASe,kBAAkBA,CACtEN,KAA8B,EAC9BR,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACmB,iBAAW,EAAAb,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAAA;GACDQ,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,mBAAmBA,CAAC;AAAEvB,EAAAA,QAAAA;AAAmC,CAAC,EAAE;AAC1E,EAAA,oBAAOE,KAAA,CAAAC,aAAA,CAACqB,kBAAY,EAAA,IAAA,EAAExB,QAAuB,CAAC,CAAA;AAChD,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASyB,iBAAiBA,CAAC;AAAEzB,EAAAA,QAAAA;AAAiC,CAAC,EAAE;AACtE,EAAA,oBAAOE,KAAA,CAAAC,aAAA,CAACuB,gBAAU,EAAA,IAAA,EAAE1B,QAAqB,CAAC,CAAA;AAC5C;;;;;;;;;;"}
1
+ {"version":3,"file":"ConfirmModal.js","sources":["../../../../src/components/ConfirmModal/ConfirmModal.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport {\n Modal,\n ModalBody,\n ModalClose,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalTrigger,\n} from '~/src/components/Modal'\n\nimport {\n type ConfirmModalBodyProps,\n type ConfirmModalCloseProps,\n type ConfirmModalContentProps,\n type ConfirmModalFooterProps,\n type ConfirmModalHeaderProps,\n type ConfirmModalProps,\n type ConfirmModalTriggerProps,\n} from './ConfirmModal.types'\n\n/**\n * `ConfirmModal` is a modal dialog that interrupts the user with important content and expects a response.\n *\n * `ConfirmModal` is a context of the ConfirmModal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to ConfirmModal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the ConfirmModal\n * <ConfirmModal>\n * <ConfirmModalModalTrigger />\n * <ConfirmModalModalContent>\n * <ConfirmModalModalHeader />\n * <ConfirmModalModalBody />\n * <ConfirmModalModalFooter />\n * </ConfirmModalModalContent>\n * </ConfirmModal>\n * ```\n */\nexport function ConfirmModal({ children, ...rest }: ConfirmModalProps) {\n return <Modal {...rest}>{children}</Modal>\n}\n\n/**\n * `ConfirmModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ConfirmModalContent = forwardRef(function ConfirmModalContent(\n { children, ...rest }: ConfirmModalContentProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalContent\n role=\"alertdialog\"\n ref={forwardedRef}\n showCloseIcon={false}\n {...rest}\n >\n {children}\n </ModalContent>\n )\n})\n\n/**\n * `ConfirmModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n */\nexport const ConfirmModalHeader = forwardRef(function ConfirmModalHeader(\n props: ConfirmModalHeaderProps,\n forwardedRef: React.Ref<HTMLElement>\n) {\n return (\n <ModalHeader\n ref={forwardedRef}\n subtitle={null}\n titleSize=\"m\"\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalBody` is a simple wrapper of the main modal content.\n */\nexport const ConfirmModalBody = forwardRef(function ConfirmModalBody(\n { children, ...rest }: ConfirmModalBodyProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalBody\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </ModalBody>\n )\n})\n\n/**\n * `ConfirmModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ConfirmModalFooter = forwardRef(function ConfirmModalFooter(\n props: ConfirmModalFooterProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalFooter\n ref={forwardedRef}\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ConfirmModalContent`.\n */\nexport function ConfirmModalTrigger({ children }: ConfirmModalTriggerProps) {\n return <ModalTrigger>{children}</ModalTrigger>\n}\n\n/**\n * `ConfirmModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ConfirmModalClose({ children }: ConfirmModalCloseProps) {\n return <ModalClose>{children}</ModalClose>\n}\n"],"names":["ConfirmModal","children","rest","React","createElement","Modal","ConfirmModalContent","forwardRef","forwardedRef","ModalContent","Object","assign","role","ref","showCloseIcon","ConfirmModalHeader","props","ModalHeader","subtitle","titleSize","ConfirmModalBody","ModalBody","ConfirmModalFooter","ModalFooter","ConfirmModalTrigger","ModalTrigger","ConfirmModalClose","ModalClose"],"mappings":";;;;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAwB,CAAC,EAAE;EACrE,oBAAOC,KAAA,CAAAC,aAAA,CAACC,WAAK,EAAKH,IAAI,EAAGD,QAAgB,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;MACaK,mBAAmB,gBAAGC,gBAAU,CAAC,SAASD,mBAAmBA,CACxE;EAAEL,QAAQ;EAAE,GAAGC;AAA+B,CAAC,EAC/CM,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACK,kBAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,IAAI,EAAC,aAAa;AAClBC,IAAAA,GAAG,EAAEL,YAAa;AAClBM,IAAAA,aAAa,EAAE;GACXZ,EAAAA,IAAI,CAEPD,EAAAA,QACW,CAAC;AAEnB,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMc,kBAAkB,gBAAGR,gBAAU,CAAC,SAASQ,kBAAkBA,CACtEC,KAA8B,EAC9BR,YAAoC,EACpC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACa,iBAAW,EAAAP,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAa;AAClBU,IAAAA,QAAQ,EAAE,IAAK;AACfC,IAAAA,SAAS,EAAC;GACNH,EAAAA,KAAK,CACV,CAAC;AAEN,CAAC;;AAED;AACA;AACA;MACaI,gBAAgB,gBAAGb,gBAAU,CAAC,SAASa,gBAAgBA,CAClE;EAAEnB,QAAQ;EAAE,GAAGC;AAA4B,CAAC,EAC5CM,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACiB,eAAS,EAAAX,MAAA,CAAAC,MAAA,CAAA;AACRE,IAAAA,GAAG,EAAEL;GACDN,EAAAA,IAAI,CAEPD,EAAAA,QACQ,CAAC;AAEhB,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMqB,kBAAkB,gBAAGf,gBAAU,CAAC,SAASe,kBAAkBA,CACtEN,KAA8B,EAC9BR,YAAuC,EACvC;EACA,oBACEL,KAAA,CAAAC,aAAA,CAACmB,iBAAW,EAAAb,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL;GACDQ,EAAAA,KAAK,CACV,CAAC;AAEN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,mBAAmBA,CAAC;AAAEvB,EAAAA;AAAmC,CAAC,EAAE;AAC1E,EAAA,oBAAOE,KAAA,CAAAC,aAAA,CAACqB,kBAAY,EAAA,IAAA,EAAExB,QAAuB,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACO,SAASyB,iBAAiBA,CAAC;AAAEzB,EAAAA;AAAiC,CAAC,EAAE;AACtE,EAAA,oBAAOE,KAAA,CAAAC,aAAA,CAACuB,gBAAU,EAAA,IAAA,EAAE1B,QAAqB,CAAC;AAC5C;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport classNames from 'classnames'\n\nimport { type DividerProps } from './Divider.types'\n\nimport styles from './Divider.module.scss'\n\nexport const DIVIDER_TEST_ID = 'bezier-divider'\n\n/**\n * `Divider` is a component to visually or semantically separate content.\n * @example\n *\n * ```tsx\n * <Divider\n * withoutSideIndent\n * />\n * ```\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n (\n {\n orientation = 'horizontal',\n decorative,\n withoutSideIndent = false,\n withoutParallelIndent = false,\n withoutIndent = false,\n style,\n className,\n ...rest\n },\n forwardedRef\n ) => (\n <SeparatorPrimitive.Root\n asChild\n orientation={orientation}\n decorative={decorative}\n >\n <div\n ref={forwardedRef}\n style={style}\n className={classNames(\n styles.Divider,\n styles.variables,\n styles[orientation],\n withoutIndent && styles['without-indent'],\n withoutParallelIndent && styles['without-parallel-indent'],\n withoutSideIndent && styles['without-side-indent'],\n className\n )}\n data-testid={DIVIDER_TEST_ID}\n {...rest}\n />\n </SeparatorPrimitive.Root>\n )\n)\n"],"names":["DIVIDER_TEST_ID","Divider","forwardRef","orientation","decorative","withoutSideIndent","withoutParallelIndent","withoutIndent","style","className","rest","forwardedRef","React","createElement","SeparatorPrimitive","asChild","Object","assign","ref","classNames","styles","variables"],"mappings":";;;;;;;AAWO,MAAMA,eAAe,GAAG,iBAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,OAAO,gBAAGC,gBAAU,CAC/B,CACE;AACEC,EAAAA,WAAW,GAAG,YAAY;EAC1BC,UAAU;AACVC,EAAAA,iBAAiB,GAAG,KAAK;AACzBC,EAAAA,qBAAqB,GAAG,KAAK;AAC7BC,EAAAA,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,SAAS;EACT,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,kBAEZC,KAAA,CAAAC,aAAA,CAACC,UAAuB,EAAA;EACtBC,OAAO,EAAA,IAAA;AACPZ,EAAAA,WAAW,EAAEA,WAAY;AACzBC,EAAAA,UAAU,EAAEA,UAAAA;AAAW,CAAA,eAEvBQ,KAAA,CAAAC,aAAA,CAAAG,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,EAAAA,GAAG,EAAEP,YAAa;AAClBH,EAAAA,KAAK,EAAEA,KAAM;AACbC,EAAAA,SAAS,EAAEU,eAAU,CACnBC,sBAAM,CAACnB,OAAO,EACdmB,sBAAM,CAACC,SAAS,EAChBD,sBAAM,CAACjB,WAAW,CAAC,EACnBI,aAAa,IAAIa,sBAAM,CAAC,gBAAgB,CAAC,EACzCd,qBAAqB,IAAIc,sBAAM,CAAC,yBAAyB,CAAC,EAC1Df,iBAAiB,IAAIe,sBAAM,CAAC,qBAAqB,CAAC,EAClDX,SACF,CAAE;EACF,aAAaT,EAAAA,eAAAA;AAAgB,CAAA,EACzBU,IAAI,CACT,CACsB,CAE7B;;;;;"}
1
+ {"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport classNames from 'classnames'\n\nimport { type DividerProps } from './Divider.types'\n\nimport styles from './Divider.module.scss'\n\nexport const DIVIDER_TEST_ID = 'bezier-divider'\n\n/**\n * `Divider` is a component to visually or semantically separate content.\n * @example\n *\n * ```tsx\n * <Divider\n * withoutSideIndent\n * />\n * ```\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n (\n {\n orientation = 'horizontal',\n decorative,\n withoutSideIndent = false,\n withoutParallelIndent = false,\n withoutIndent = false,\n style,\n className,\n ...rest\n },\n forwardedRef\n ) => (\n <SeparatorPrimitive.Root\n asChild\n orientation={orientation}\n decorative={decorative}\n >\n <div\n ref={forwardedRef}\n style={style}\n className={classNames(\n styles.Divider,\n styles.variables,\n styles[orientation],\n withoutIndent && styles['without-indent'],\n withoutParallelIndent && styles['without-parallel-indent'],\n withoutSideIndent && styles['without-side-indent'],\n className\n )}\n data-testid={DIVIDER_TEST_ID}\n {...rest}\n />\n </SeparatorPrimitive.Root>\n )\n)\n"],"names":["DIVIDER_TEST_ID","Divider","forwardRef","orientation","decorative","withoutSideIndent","withoutParallelIndent","withoutIndent","style","className","rest","forwardedRef","React","createElement","SeparatorPrimitive","asChild","Object","assign","ref","classNames","styles","variables"],"mappings":";;;;;;;AAWO,MAAMA,eAAe,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,OAAO,gBAAGC,gBAAU,CAC/B,CACE;AACEC,EAAAA,WAAW,GAAG,YAAY;EAC1BC,UAAU;AACVC,EAAAA,iBAAiB,GAAG,KAAK;AACzBC,EAAAA,qBAAqB,GAAG,KAAK;AAC7BC,EAAAA,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,SAAS;EACT,GAAGC;AACL,CAAC,EACDC,YAAY,kBAEZC,KAAA,CAAAC,aAAA,CAACC,UAAuB,EAAA;EACtBC,OAAO,EAAA,IAAA;AACPZ,EAAAA,WAAW,EAAEA,WAAY;AACzBC,EAAAA,UAAU,EAAEA;AAAW,CAAA,eAEvBQ,KAAA,CAAAC,aAAA,CAAAG,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,EAAAA,GAAG,EAAEP,YAAa;AAClBH,EAAAA,KAAK,EAAEA,KAAM;AACbC,EAAAA,SAAS,EAAEU,eAAU,CACnBC,sBAAM,CAACnB,OAAO,EACdmB,sBAAM,CAACC,SAAS,EAChBD,sBAAM,CAACjB,WAAW,CAAC,EACnBI,aAAa,IAAIa,sBAAM,CAAC,gBAAgB,CAAC,EACzCd,qBAAqB,IAAIc,sBAAM,CAAC,yBAAyB,CAAC,EAC1Df,iBAAiB,IAAIe,sBAAM,CAAC,qBAAqB,CAAC,EAClDX,SACF,CAAE;EACF,aAAaT,EAAAA;AAAgB,CAAA,EACzBU,IAAI,CACT,CACsB,CAE7B;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.js","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["'use client'\n\nimport 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}/${encodeURIComponent(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","encodeURIComponent","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;;;AAaO,MAAMA,aAAa,GAAG,eAAc;AAE3C,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,YAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAA,+BAAA,EAAkCD,IAAI,CAAIE,CAAAA,EAAAA,kBAAkB,CAACH,IAAI,CAAC,CAAM,IAAA,CAAA,CAAA;AACnH,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaI,KAAK,gBAAGC,gBAAU,CAA6B,SAASD,KAAKA,CACxE;SAAEE,OAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAER,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGQ,IAAAA;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACX,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnD,EAAA,oBACEY,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBlB,IAAK;AACvBM,IAAAA,KAAK,EACH;AACE,MAAA,4BAA4B,EAAEa,YAAM,CAClCZ,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,GAAIR,WAAW,CAACC,IAAI,EAAEW,SAAS,CACzC,CAAC;MACD,GAAGL,OAAAA;KAEN;AACDE,IAAAA,SAAS,EAAEY,aAAU,CAACC,oBAAM,CAACjB,KAAK,EAAEiB,oBAAM,CAAC,QAAQpB,IAAI,CAAA,CAAE,CAAC,EAAEO,SAAS,CAAE;IACvE,aAAaV,EAAAA,aAAAA;GACTW,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC;;;;;"}
1
+ {"version":3,"file":"Emoji.js","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["'use client'\n\nimport 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}/${encodeURIComponent(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","encodeURIComponent","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;;;AAaO,MAAMA,aAAa,GAAG;AAE7B,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,YAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAA,+BAAA,EAAkCD,IAAI,CAAIE,CAAAA,EAAAA,kBAAkB,CAACH,IAAI,CAAC,CAAM,IAAA,CAAA;AACnH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaI,KAAK,gBAAGC,gBAAU,CAA6B,SAASD,KAAKA,CACxE;SAAEE,OAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAER,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGQ;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACX,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI;AAEnD,EAAA,oBACEY,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBlB,IAAK;AACvBM,IAAAA,KAAK,EACH;AACE,MAAA,4BAA4B,EAAEa,YAAM,CAClCZ,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,GAAIR,WAAW,CAACC,IAAI,EAAEW,SAAS,CACzC,CAAC;MACD,GAAGL;KAEN;AACDE,IAAAA,SAAS,EAAEY,aAAU,CAACC,oBAAM,CAACjB,KAAK,EAAEiB,oBAAM,CAAC,QAAQpB,IAAI,CAAA,CAAE,CAAC,EAAEO,SAAS,CAAE;IACvE,aAAaV,EAAAA;GACTW,EAAAA,IAAI,CACT,CAAC;AAEN,CAAC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.js","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n type FeatureFlag,\n type FeatureProviderProps,\n FeatureType,\n} from './FeatureProvider.types'\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [FeatureFlagContextProvider, useFeatureFlagContext] =\n createContext<FeatureFlag>(initialFeatureFlag)\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({ children, features }: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] =\n useState<FeatureFlag>(initialFeatureFlag)\n\n useIsomorphicLayoutEffect(\n function activateFeatures() {\n if (isEmpty(features)) {\n return\n }\n\n const promises = features.map((feature) =>\n feature.activate().then((activated) => ({ [feature.name]: activated }))\n )\n\n Promise.all(promises).then((flags) => {\n setFeatureFlag((prev) => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n },\n [features]\n )\n\n return (\n <FeatureFlagContextProvider value={featureFlag}>\n {children}\n </FeatureFlagContextProvider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useFeatureFlagContext()\n\n return useMemo(() => contextValue[featureType], [contextValue, featureType])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useIsomorphicLayoutEffect","activateFeatures","isEmpty","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;;;AAcA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,iCAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAACC,0BAA0B,EAAEC,qBAAqB,CAAC,GACvDC,mBAAa,CAAcL,kBAAkB,CAAC,CAAA;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,QAAAA;AAA+B,CAAC,EAAE;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GACjCC,cAAQ,CAAcX,kBAAkB,CAAC,CAAA;AAE3CY,EAAAA,mDAAyB,CACvB,SAASC,gBAAgBA,GAAG;AAC1B,IAAA,IAAIC,YAAO,CAACN,QAAQ,CAAC,EAAE;AACrB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMO,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAAEC,OAAO,IACpCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAAEC,SAAS,KAAM;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAAC,CACxE,CAAC,CAAA;IAEDE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAAEK,KAAK,IAAK;MACpCd,cAAc,CAAEe,IAAI,KAAM;AACxB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC,GAAAA;SAAK,CAAC,EAAE,EAAE,CAAA;AACxD,OAAC,CAAC,CAAC,CAAA;AACL,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACpB,QAAQ,CACX,CAAC,CAAA;AAED,EAAA,oBACEqB,KAAA,CAAAC,aAAA,CAAC3B,0BAA0B,EAAA;AAAC4B,IAAAA,KAAK,EAAEtB,WAAAA;AAAY,GAAA,EAC5CF,QACyB,CAAC,CAAA;AAEjC,CAAA;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG9B,qBAAqB,EAAE,CAAA;AAE5C,EAAA,OAAO+B,aAAO,CAAC,MAAMD,YAAY,CAACD,WAAW,CAAC,EAAE,CAACC,YAAY,EAAED,WAAW,CAAC,CAAC,CAAA;AAC9E;;;;;"}
1
+ {"version":3,"file":"FeatureProvider.js","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n type FeatureFlag,\n type FeatureProviderProps,\n FeatureType,\n} from './FeatureProvider.types'\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [FeatureFlagContextProvider, useFeatureFlagContext] =\n createContext<FeatureFlag>(initialFeatureFlag)\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({ children, features }: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] =\n useState<FeatureFlag>(initialFeatureFlag)\n\n useIsomorphicLayoutEffect(\n function activateFeatures() {\n if (isEmpty(features)) {\n return\n }\n\n const promises = features.map((feature) =>\n feature.activate().then((activated) => ({ [feature.name]: activated }))\n )\n\n Promise.all(promises).then((flags) => {\n setFeatureFlag((prev) => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n },\n [features]\n )\n\n return (\n <FeatureFlagContextProvider value={featureFlag}>\n {children}\n </FeatureFlagContextProvider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useFeatureFlagContext()\n\n return useMemo(() => contextValue[featureType], [contextValue, featureType])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useIsomorphicLayoutEffect","activateFeatures","isEmpty","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;;;AAcA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,iCAAW,CAACC,aAAa,GAAG;AAC/B,CAAC;AAED,MAAM,CAACC,0BAA0B,EAAEC,qBAAqB,CAAC,GACvDC,mBAAa,CAAcL,kBAAkB,CAAC;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA;AAA+B,CAAC,EAAE;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GACjCC,cAAQ,CAAcX,kBAAkB,CAAC;AAE3CY,EAAAA,mDAAyB,CACvB,SAASC,gBAAgBA,GAAG;AAC1B,IAAA,IAAIC,YAAO,CAACN,QAAQ,CAAC,EAAE;AACrB,MAAA;AACF;AAEA,IAAA,MAAMO,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAAEC,OAAO,IACpCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAAEC,SAAS,KAAM;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD;KAAW,CAAC,CACxE,CAAC;IAEDE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAAEK,KAAK,IAAK;MACpCd,cAAc,CAAEe,IAAI,KAAM;AACxB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC;SAAK,CAAC,EAAE,EAAE;AACxD,OAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,GAAC,EACD,CAACpB,QAAQ,CACX,CAAC;AAED,EAAA,oBACEqB,KAAA,CAAAC,aAAA,CAAC3B,0BAA0B,EAAA;AAAC4B,IAAAA,KAAK,EAAEtB;AAAY,GAAA,EAC5CF,QACyB,CAAC;AAEjC;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG9B,qBAAqB,EAAE;AAE5C,EAAA,OAAO+B,aAAO,CAAC,MAAMD,YAAY,CAACD,WAAW,CAAC,EAAE,CAACC,YAAY,EAAED,WAAW,CAAC,CAAC;AAC9E;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.types.js","sources":["../../../../src/components/FeatureProvider/FeatureProvider.types.ts"],"sourcesContent":["import { type ChildrenProps } from '~/src/types/props'\n\nexport enum FeatureType {\n SmoothCorners = 'smooth-corners',\n}\n\nexport interface Feature {\n readonly name: FeatureType\n activate: () => Promise<boolean>\n}\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\ninterface FeatureProviderOwnProps {\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\nexport interface FeatureProviderProps\n extends ChildrenProps,\n FeatureProviderOwnProps {}\n"],"names":["FeatureType"],"mappings":";;AAEYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,eAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"FeatureProvider.types.js","sources":["../../../../src/components/FeatureProvider/FeatureProvider.types.ts"],"sourcesContent":["import { type ChildrenProps } from '~/src/types/props'\n\nexport enum FeatureType {\n SmoothCorners = 'smooth-corners',\n}\n\nexport interface Feature {\n readonly name: FeatureType\n activate: () => Promise<boolean>\n}\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\ninterface FeatureProviderOwnProps {\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\nexport interface FeatureProviderProps\n extends ChildrenProps,\n FeatureProviderOwnProps {}\n"],"names":["FeatureType"],"mappings":";;AAEYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,eAAA,CAAA,GAAA,gBAAA;AAAA,EAAA,OAAXA,WAAW;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothCornersFeature.js","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { type Feature, FeatureType } from '../FeatureProvider.types'\n\nimport { smoothCornersScript } from './smoothCornersScript'\n\n/**\n * @see {@link https://fetch.spec.whatwg.org/#requestcredentials}\n */\ntype RequestCredentials = 'omit' | 'same-origin' | 'include'\n\ntype WorkletOptions = {\n credentials: RequestCredentials\n}\n\n/**\n * @see {@link https://html.spec.whatwg.org/multipage/worklets.html#worklets-worklet}\n */\ninterface Worklet {\n addModule: (moduleURL: string, options?: WorkletOptions) => Promise<void>\n}\n\ndeclare global {\n namespace CSS {\n export const paintWorklet: Worklet\n }\n}\n\n/**\n * 🚨 This is an experimental feature! It may not be suitable for use in production.\n *\n * Instead of CSS border-radius, Use *Superellipse* masking using the CSS Houdini API.\n * When enabled, the feature will be applied to components with the `smoothCorners` property set to `true`.\n */\nclass SmoothCornersFeature implements Feature {\n readonly name = FeatureType.SmoothCorners\n\n private globalObject: typeof globalThis | null = null\n\n private activated: WeakMap<typeof globalThis, boolean> = new WeakMap([\n [globalThis, false],\n ])\n\n private updateCurrentGlobalObject(globalObject: typeof globalThis) {\n this.globalObject = globalObject\n }\n\n private isGlobalObjectIdentical(globalObject: typeof globalThis) {\n return Object.is(this.globalObject, globalObject)\n }\n\n private supportCSSPaintWorklet(globalObject: typeof globalThis) {\n return (\n typeof globalObject.CSS !== 'undefined' &&\n 'paintWorklet' in globalObject.CSS\n )\n }\n\n async activate(globalObject: typeof globalThis = globalThis) {\n if (\n !this.isGlobalObjectIdentical(globalObject) &&\n this.supportCSSPaintWorklet(globalObject)\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' })\n )\n\n try {\n await globalObject.CSS.paintWorklet.addModule(workletURL)\n this.activated.set(globalObject, true)\n } catch {\n this.activated.set(globalObject, false)\n }\n }\n\n this.updateCurrentGlobalObject(globalObject)\n\n return this.activated.get(globalObject) as boolean\n }\n}\n\nexport default new SmoothCornersFeature()\n"],"names":["SmoothCornersFeature","name","FeatureType","SmoothCorners","globalObject","activated","WeakMap","globalThis","updateCurrentGlobalObject","isGlobalObjectIdentical","Object","is","supportCSSPaintWorklet","CSS","activate","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","paintWorklet","addModule","set","get"],"mappings":";;;;;;;AAAA;;AAKA;AACA;AACA;;AAOA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,CAAoB;EACnCC,IAAI,GAAA,CAAA,MAAGC,iCAAW,CAACC,aAAa,GAAA,CAAA;AAEjCC,EAAAA,YAAY,GAA6B,IAAI,CAAA;EAE7CC,SAAS,GAAA,CAAA,MAAwC,IAAIC,OAAO,CAAC,CACnE,CAACC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC,GAAA,CAAA;EAEMC,yBAAyBA,CAACJ,YAA+B,EAAE;IACjE,IAAI,CAACA,YAAY,GAAGA,YAAY,CAAA;AAClC,GAAA;EAEQK,uBAAuBA,CAACL,YAA+B,EAAE;IAC/D,OAAOM,MAAM,CAACC,EAAE,CAAC,IAAI,CAACP,YAAY,EAAEA,YAAY,CAAC,CAAA;AACnD,GAAA;EAEQQ,sBAAsBA,CAACR,YAA+B,EAAE;IAC9D,OACE,OAAOA,YAAY,CAACS,GAAG,KAAK,WAAW,IACvC,cAAc,IAAIT,YAAY,CAACS,GAAG,CAAA;AAEtC,GAAA;AAEA,EAAA,MAAMC,QAAQA,CAACV,YAA+B,GAAGG,UAAU,EAAE;AAC3D,IAAA,IACE,CAAC,IAAI,CAACE,uBAAuB,CAACL,YAAY,CAAC,IAC3C,IAAI,CAACQ,sBAAsB,CAACR,YAAY,CAAC,EACzC;AACA,MAAA,MAAMW,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,uCAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE,wBAAA;AAAyB,OAAC,CACpE,CAAC,CAAA;MAED,IAAI;QACF,MAAMhB,YAAY,CAACS,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACP,UAAU,CAAC,CAAA;QACzD,IAAI,CAACV,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,IAAI,CAAC,CAAA;AACxC,OAAC,CAAC,MAAM;QACN,IAAI,CAACC,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,KAAK,CAAC,CAAA;AACzC,OAAA;AACF,KAAA;AAEA,IAAA,IAAI,CAACI,yBAAyB,CAACJ,YAAY,CAAC,CAAA;AAE5C,IAAA,OAAO,IAAI,CAACC,SAAS,CAACmB,GAAG,CAACpB,YAAY,CAAC,CAAA;AACzC,GAAA;AACF,CAAA;AAEA,6BAAe,IAAIJ,oBAAoB,EAAE;;;;"}
1
+ {"version":3,"file":"SmoothCornersFeature.js","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { type Feature, FeatureType } from '../FeatureProvider.types'\n\nimport { smoothCornersScript } from './smoothCornersScript'\n\n/**\n * @see {@link https://fetch.spec.whatwg.org/#requestcredentials}\n */\ntype RequestCredentials = 'omit' | 'same-origin' | 'include'\n\ntype WorkletOptions = {\n credentials: RequestCredentials\n}\n\n/**\n * @see {@link https://html.spec.whatwg.org/multipage/worklets.html#worklets-worklet}\n */\ninterface Worklet {\n addModule: (moduleURL: string, options?: WorkletOptions) => Promise<void>\n}\n\ndeclare global {\n namespace CSS {\n export const paintWorklet: Worklet\n }\n}\n\n/**\n * 🚨 This is an experimental feature! It may not be suitable for use in production.\n *\n * Instead of CSS border-radius, Use *Superellipse* masking using the CSS Houdini API.\n * When enabled, the feature will be applied to components with the `smoothCorners` property set to `true`.\n */\nclass SmoothCornersFeature implements Feature {\n readonly name = FeatureType.SmoothCorners\n\n private globalObject: typeof globalThis | null = null\n\n private activated: WeakMap<typeof globalThis, boolean> = new WeakMap([\n [globalThis, false],\n ])\n\n private updateCurrentGlobalObject(globalObject: typeof globalThis) {\n this.globalObject = globalObject\n }\n\n private isGlobalObjectIdentical(globalObject: typeof globalThis) {\n return Object.is(this.globalObject, globalObject)\n }\n\n private supportCSSPaintWorklet(globalObject: typeof globalThis) {\n return (\n typeof globalObject.CSS !== 'undefined' &&\n 'paintWorklet' in globalObject.CSS\n )\n }\n\n async activate(globalObject: typeof globalThis = globalThis) {\n if (\n !this.isGlobalObjectIdentical(globalObject) &&\n this.supportCSSPaintWorklet(globalObject)\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' })\n )\n\n try {\n await globalObject.CSS.paintWorklet.addModule(workletURL)\n this.activated.set(globalObject, true)\n } catch {\n this.activated.set(globalObject, false)\n }\n }\n\n this.updateCurrentGlobalObject(globalObject)\n\n return this.activated.get(globalObject) as boolean\n }\n}\n\nexport default new SmoothCornersFeature()\n"],"names":["SmoothCornersFeature","name","FeatureType","SmoothCorners","globalObject","activated","WeakMap","globalThis","updateCurrentGlobalObject","isGlobalObjectIdentical","Object","is","supportCSSPaintWorklet","CSS","activate","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","paintWorklet","addModule","set","get"],"mappings":";;;;;;;AAAA;;AAKA;AACA;AACA;;AAOA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,CAAoB;EACnCC,IAAI,GAAA,CAAA,MAAGC,iCAAW,CAACC,aAAa,GAAA;AAEjCC,EAAAA,YAAY,GAA6B,IAAI;EAE7CC,SAAS,GAAA,CAAA,MAAwC,IAAIC,OAAO,CAAC,CACnE,CAACC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC,GAAA;EAEMC,yBAAyBA,CAACJ,YAA+B,EAAE;IACjE,IAAI,CAACA,YAAY,GAAGA,YAAY;AAClC;EAEQK,uBAAuBA,CAACL,YAA+B,EAAE;IAC/D,OAAOM,MAAM,CAACC,EAAE,CAAC,IAAI,CAACP,YAAY,EAAEA,YAAY,CAAC;AACnD;EAEQQ,sBAAsBA,CAACR,YAA+B,EAAE;IAC9D,OACE,OAAOA,YAAY,CAACS,GAAG,KAAK,WAAW,IACvC,cAAc,IAAIT,YAAY,CAACS,GAAG;AAEtC;AAEA,EAAA,MAAMC,QAAQA,CAACV,YAA+B,GAAGG,UAAU,EAAE;AAC3D,IAAA,IACE,CAAC,IAAI,CAACE,uBAAuB,CAACL,YAAY,CAAC,IAC3C,IAAI,CAACQ,sBAAsB,CAACR,YAAY,CAAC,EACzC;AACA,MAAA,MAAMW,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,uCAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE;AAAyB,OAAC,CACpE,CAAC;MAED,IAAI;QACF,MAAMhB,YAAY,CAACS,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACP,UAAU,CAAC;QACzD,IAAI,CAACV,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,IAAI,CAAC;AACxC,OAAC,CAAC,MAAM;QACN,IAAI,CAACC,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,KAAK,CAAC;AACzC;AACF;AAEA,IAAA,IAAI,CAACI,yBAAyB,CAACJ,YAAY,CAAC;AAE5C,IAAA,OAAO,IAAI,CAACC,SAAS,CAACmB,GAAG,CAACpB,YAAY,CAAC;AACzC;AACF;AAEA,6BAAe,IAAIJ,oBAAoB,EAAE;;;;"}