@channel.io/bezier-react 2.6.1 → 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 (318) 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 +4 -1
  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 +5 -2
  9. package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
  10. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +5 -2
  11. package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
  12. package/dist/cjs/components/AlphaIconButton/IconButton.js +5 -2
  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 +4 -1
  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 +5 -2
  156. package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
  157. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +5 -2
  158. package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
  159. package/dist/esm/components/AlphaIconButton/IconButton.mjs +5 -2
  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 +4 -0
  308. package/src/components/AlphaButton/Button.types.ts +1 -1
  309. package/src/components/AlphaFloatingButton/FloatingButton.tsx +4 -1
  310. package/src/components/AlphaFloatingButton/FloatingButton.types.ts +1 -1
  311. package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +4 -1
  312. package/src/components/AlphaFloatingIconButton/FloatingIconButton.types.ts +1 -1
  313. package/src/components/AlphaIconButton/IconButton.module.scss +5 -5
  314. package/src/components/AlphaIconButton/IconButton.tsx +5 -1
  315. package/src/components/AlphaIconButton/IconButton.types.ts +1 -1
  316. package/src/components/AlphaToggleButton/ToggleButton.module.scss +1 -1
  317. package/src/components/Button/Button.tsx +4 -2
  318. package/src/components/Button/Button.types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.js","sources":["../../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n type ForwardedRef,\n forwardRef,\n useEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport classNames from 'classnames'\n\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { cssDimension } from '~/src/utils/style'\nimport { isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Divider } from '~/src/components/Divider'\nimport dividerStyles from '~/src/components/Divider/Divider.module.scss'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { HStack } from '~/src/components/Stack'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type SegmentedControlItemListProps,\n type SegmentedControlItemProps,\n type SegmentedControlProps,\n type SegmentedControlRadioGroupProps,\n type SegmentedControlTabContentProps,\n type SegmentedControlTabListProps,\n type SegmentedControlTabsProps,\n type SegmentedControlType,\n} from './SegmentedControl.types'\n\nimport styles from './SegmentedControl.module.scss'\n\ntype SegmentedControlContextValue = Required<\n Pick<\n SegmentedControlProps<SegmentedControlType, string>,\n 'type' | 'size' | 'width'\n >\n>\n\nconst [SegmentedControlContextProvider, useSegmentedControlContext] =\n createContext<SegmentedControlContextValue | null>(null, 'SegmentedControl')\n\ntype SegmentedControlItemListContextValue = {\n setSelectedItemIndex: (index: number | null) => void\n}\n\nconst [SegmentedControlItemContextProvider, useSegmentedControlItemContext] =\n createContext<number | null>(null, 'SegmentedControlItem')\n\nconst [\n SegmentedControlItemListContextProvider,\n useSegmentedControlItemListContext,\n] = createContext<SegmentedControlItemListContextValue | null>(\n null,\n 'SegmentedControlItemList'\n)\n\nfunction SegmentedControlItemListImpl<\n Type extends SegmentedControlType,\n Value extends string,\n>(\n {\n children,\n style,\n className,\n ...rest\n }: SegmentedControlItemListProps<Type, Value>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const [selectedItemIndex, setSelectedItemIndex] = useState<number | null>(\n null\n )\n\n const { type, size, width } = useSegmentedControlContext(\n 'SegmentedControlItemList'\n )\n\n const contextValue: SegmentedControlItemListContextValue = useMemo(\n () => ({\n setSelectedItemIndex,\n }),\n []\n )\n\n const SegmentedControlItemList =\n type === 'radiogroup' ? RadioGroupPrimitive.Root : TabsPrimitive.List\n\n return (\n <SegmentedControlItemList\n asChild\n ref={forwardedRef}\n {...rest}\n >\n <div\n style={\n {\n '--b-segmented-control-width': cssDimension(width),\n '--b-segmented-control-item-index': selectedItemIndex,\n '--b-segmented-control-item-count': React.Children.count(children),\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.SegmentedControl,\n styles[`size-${size}`],\n className\n )}\n >\n <SegmentedControlItemListContextProvider value={contextValue}>\n {React.Children.map(children, (child, index) => (\n <>\n {index !== 0 && (\n <Divider\n withoutParallelIndent\n orientation=\"vertical\"\n />\n )}\n <SegmentedControlItemContextProvider value={index}>\n {child}\n </SegmentedControlItemContextProvider>\n </>\n ))}\n {!isNil(selectedItemIndex) && (\n <div\n className={classNames(\n styles.SegmentedControlIndicator,\n dividerStyles.variables\n )}\n />\n )}\n </SegmentedControlItemListContextProvider>\n </div>\n </SegmentedControlItemList>\n )\n}\n\nconst SegmentedControlItemList = forwardRef(SegmentedControlItemListImpl) as <\n Type extends SegmentedControlType,\n Value extends string,\n>(\n props: SegmentedControlItemListProps<Type, Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nfunction SegmentedControlRadioGroupImpl<Value extends string>(\n { children, size, ...rest }: SegmentedControlRadioGroupProps<Value>,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n const { hasError, ...ownProps } = useFormFieldProps(rest)\n return (\n <SegmentedControlItemList\n ref={forwardedRef}\n {...ownProps}\n size={size}\n >\n {children}\n </SegmentedControlItemList>\n )\n}\n\nconst SegmentedControlRadioGroup = forwardRef(\n SegmentedControlRadioGroupImpl\n) as <Value extends string>(\n props: SegmentedControlRadioGroupProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * `SegmentedControlTabList` is the component that wraps `SegmentedControlItem`.\n * It can be used only when `SegmentedControl` component is used as the `tabs` type.\n *\n * It must be used as a child of `SegmentedControl`.\n */\nexport const SegmentedControlTabList = SegmentedControlItemList as (\n props: SegmentedControlTabListProps & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * `SegmentedControlTabContent` is the component that wraps the content that corresponds to a specific value of `SegmentedControlItem`.\n * It can be used only when `SegmentedControl` component is used as the `tabs` type.\n *\n * It must be used as a child of `SegmentedControl`.\n */\nexport const SegmentedControlTabContent = TabsPrimitive.Content as <\n Value extends string,\n>(\n props: SegmentedControlTabContentProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nconst SegmentedControlTabs = TabsPrimitive.Root as <Value extends string>(\n props: SegmentedControlTabsProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nfunction SegmentedControlImpl<\n Type extends SegmentedControlType,\n Value extends string,\n>(\n {\n type = 'radiogroup' as Type,\n size = 'm',\n width = '100%',\n onValueChange,\n children,\n ...rest\n }: SegmentedControlProps<Type, Value>,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n const SegmentedControlRoot =\n type === 'radiogroup' ? SegmentedControlRadioGroup : SegmentedControlTabs\n\n const contextValue = useMemo(\n () => ({\n type,\n size,\n width,\n }),\n [type, size, width]\n )\n\n return (\n <SegmentedControlContextProvider value={contextValue}>\n <SegmentedControlRoot\n ref={forwardedRef}\n onValueChange={onValueChange}\n {...rest}\n >\n {children}\n </SegmentedControlRoot>\n </SegmentedControlContextProvider>\n )\n}\n\n/**\n * `SegmentedControl` is component that looks like a combination of a radio and a button.\n * They can be used in place of tabs and as input elements in modals.\n * If you have more than five items, use a different element, such as a dropdown.\n *\n * `SegmentedControl` can be used as a radio group, tabs element depending on its `type`.\n * @example\n *\n * ```tsx\n * // Anatomy of the SegmentedControl type=\"radiogroup\"\n * <SegmentedControl type=\"radiogroup\">\n * <SegmentedControlItem />\n * </SegmentedControl>\n *\n * // Anatomy of the SegmentedControl type=\"tabs\"\n * <SegmentedControl type=\"tabs\">\n * <SegmentedControlTabList>\n * <SegmentedControlItem />\n * </SegmentedControlTabList>\n *\n * <SegmentedControlTabContent />\n * </SegmentedControl>\n * ```\n */\nexport const SegmentedControl = forwardRef(SegmentedControlImpl) as <\n Type extends SegmentedControlType,\n Value extends string,\n>(\n props: SegmentedControlProps<Type, Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * NOTE: (@ed) A property injected at runtime by the radix-ui lib.\n */\ntype ItemProps<Type extends SegmentedControlType> = (Type extends 'radiogroup'\n ? { 'data-state'?: 'unchecked' | 'checked' }\n : { 'data-state'?: 'inactive' | 'active' }) &\n React.HTMLAttributes<HTMLButtonElement> &\n Partial<SegmentedControlItemProps<Type>>\n\nconst Item = forwardRef<HTMLButtonElement, ItemProps<SegmentedControlType>>(\n function Item(\n { children, leftContent, rightContent, className, ...rest },\n forwardedRef\n ) {\n const { type, size } = useSegmentedControlContext('SegmentedControlItem')\n const { setSelectedItemIndex } = useSegmentedControlItemListContext(\n 'SegmentedControlItem'\n )\n const index = useSegmentedControlItemContext('SegmentedControlItem')\n\n const checked =\n type === 'radiogroup'\n ? (rest as ItemProps<typeof type>)?.['data-state'] === 'checked'\n : (rest as ItemProps<typeof type>)?.['data-state'] === 'active'\n\n useEffect(\n function setSelectedItem() {\n if (checked) {\n setSelectedItemIndex(index)\n }\n },\n [checked, index, setSelectedItemIndex]\n )\n\n return (\n <BaseButton\n {...rest}\n ref={forwardedRef}\n data-checked={ariaAttr(checked)}\n className={classNames(styles.SegmentedControlItem, className)}\n >\n <HStack\n className={styles.SegmentedControlItemContainer}\n align=\"center\"\n spacing={2}\n >\n {leftContent}\n <Text\n className={styles.SegmentedControlItemLabel}\n bold\n truncated\n typo={size === 'xs' ? '13' : '14'}\n >\n {children}\n </Text>\n {rightContent}\n </HStack>\n </BaseButton>\n )\n }\n)\n\nfunction SegmentedControlItemImpl<Value extends string>(\n { children, ...rest }: SegmentedControlItemProps<Value>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const { type } = useSegmentedControlContext('SegmentedControlItem')\n\n const SegmentedControlItem =\n type === 'radiogroup' ? RadioGroupPrimitive.Item : TabsPrimitive.Trigger\n\n return (\n <SegmentedControlItem\n asChild\n ref={forwardedRef}\n {...rest}\n >\n <Item>{children}</Item>\n </SegmentedControlItem>\n )\n}\n\n/**\n * `SegmentedControlItem` component is each item in `SegmentedControl`.\n *\n * If the type of `SegmentedControl` is `radiogroup`, this component acts as a radio item.\n * In this case, it must be used as a child of `SegmentedControl`.\n *\n * If the type of `SegmentedControl` is `tabs`, this component acts as a tab item.\n * In this case, it must be used as a child of `SegmentedControlTabList`.\n */\nexport const SegmentedControlItem = forwardRef(SegmentedControlItemImpl) as <\n Value extends string,\n>(\n props: SegmentedControlItemProps<Value> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => JSX.Element\n"],"names":["SegmentedControlContextProvider","useSegmentedControlContext","createContext","SegmentedControlItemContextProvider","useSegmentedControlItemContext","SegmentedControlItemListContextProvider","useSegmentedControlItemListContext","SegmentedControlItemListImpl","children","style","className","rest","forwardedRef","selectedItemIndex","setSelectedItemIndex","useState","type","size","width","contextValue","useMemo","SegmentedControlItemList","RadioGroupPrimitive","TabsPrimitive","React","createElement","Object","assign","asChild","ref","cssDimension","Children","count","classNames","styles","SegmentedControl","value","map","child","index","Fragment","Divider","withoutParallelIndent","orientation","isNil","SegmentedControlIndicator","dividerStyles","variables","forwardRef","SegmentedControlRadioGroupImpl","hasError","ownProps","useFormFieldProps","SegmentedControlRadioGroup","SegmentedControlTabList","SegmentedControlTabContent","SegmentedControlTabs","SegmentedControlImpl","onValueChange","SegmentedControlRoot","Item","leftContent","rightContent","checked","useEffect","setSelectedItem","BaseButton","ariaAttr","SegmentedControlItem","HStack","SegmentedControlItemContainer","align","spacing","Text","SegmentedControlItemLabel","bold","truncated","typo","SegmentedControlItemImpl"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n type ForwardedRef,\n forwardRef,\n useEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport classNames from 'classnames'\n\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { cssDimension } from '~/src/utils/style'\nimport { isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Divider } from '~/src/components/Divider'\nimport dividerStyles from '~/src/components/Divider/Divider.module.scss'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { HStack } from '~/src/components/Stack'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type SegmentedControlItemListProps,\n type SegmentedControlItemProps,\n type SegmentedControlProps,\n type SegmentedControlRadioGroupProps,\n type SegmentedControlTabContentProps,\n type SegmentedControlTabListProps,\n type SegmentedControlTabsProps,\n type SegmentedControlType,\n} from './SegmentedControl.types'\n\nimport styles from './SegmentedControl.module.scss'\n\ntype SegmentedControlContextValue = Required<\n Pick<\n SegmentedControlProps<SegmentedControlType, string>,\n 'type' | 'size' | 'width'\n >\n>\n\nconst [SegmentedControlContextProvider, useSegmentedControlContext] =\n createContext<SegmentedControlContextValue | null>(null, 'SegmentedControl')\n\ntype SegmentedControlItemListContextValue = {\n setSelectedItemIndex: (index: number | null) => void\n}\n\nconst [SegmentedControlItemContextProvider, useSegmentedControlItemContext] =\n createContext<number | null>(null, 'SegmentedControlItem')\n\nconst [\n SegmentedControlItemListContextProvider,\n useSegmentedControlItemListContext,\n] = createContext<SegmentedControlItemListContextValue | null>(\n null,\n 'SegmentedControlItemList'\n)\n\nfunction SegmentedControlItemListImpl<\n Type extends SegmentedControlType,\n Value extends string,\n>(\n {\n children,\n style,\n className,\n ...rest\n }: SegmentedControlItemListProps<Type, Value>,\n forwardedRef: ForwardedRef<HTMLDivElement>\n) {\n const [selectedItemIndex, setSelectedItemIndex] = useState<number | null>(\n null\n )\n\n const { type, size, width } = useSegmentedControlContext(\n 'SegmentedControlItemList'\n )\n\n const contextValue: SegmentedControlItemListContextValue = useMemo(\n () => ({\n setSelectedItemIndex,\n }),\n []\n )\n\n const SegmentedControlItemList =\n type === 'radiogroup' ? RadioGroupPrimitive.Root : TabsPrimitive.List\n\n return (\n <SegmentedControlItemList\n asChild\n ref={forwardedRef}\n {...rest}\n >\n <div\n style={\n {\n '--b-segmented-control-width': cssDimension(width),\n '--b-segmented-control-item-index': selectedItemIndex,\n '--b-segmented-control-item-count': React.Children.count(children),\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.SegmentedControl,\n styles[`size-${size}`],\n className\n )}\n >\n <SegmentedControlItemListContextProvider value={contextValue}>\n {React.Children.map(children, (child, index) => (\n <>\n {index !== 0 && (\n <Divider\n withoutParallelIndent\n orientation=\"vertical\"\n />\n )}\n <SegmentedControlItemContextProvider value={index}>\n {child}\n </SegmentedControlItemContextProvider>\n </>\n ))}\n {!isNil(selectedItemIndex) && (\n <div\n className={classNames(\n styles.SegmentedControlIndicator,\n dividerStyles.variables\n )}\n />\n )}\n </SegmentedControlItemListContextProvider>\n </div>\n </SegmentedControlItemList>\n )\n}\n\nconst SegmentedControlItemList = forwardRef(SegmentedControlItemListImpl) as <\n Type extends SegmentedControlType,\n Value extends string,\n>(\n props: SegmentedControlItemListProps<Type, Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nfunction SegmentedControlRadioGroupImpl<Value extends string>(\n { children, size, ...rest }: SegmentedControlRadioGroupProps<Value>,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n const { hasError, ...ownProps } = useFormFieldProps(rest)\n return (\n <SegmentedControlItemList\n ref={forwardedRef}\n {...ownProps}\n size={size}\n >\n {children}\n </SegmentedControlItemList>\n )\n}\n\nconst SegmentedControlRadioGroup = forwardRef(\n SegmentedControlRadioGroupImpl\n) as <Value extends string>(\n props: SegmentedControlRadioGroupProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * `SegmentedControlTabList` is the component that wraps `SegmentedControlItem`.\n * It can be used only when `SegmentedControl` component is used as the `tabs` type.\n *\n * It must be used as a child of `SegmentedControl`.\n */\nexport const SegmentedControlTabList = SegmentedControlItemList as (\n props: SegmentedControlTabListProps & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * `SegmentedControlTabContent` is the component that wraps the content that corresponds to a specific value of `SegmentedControlItem`.\n * It can be used only when `SegmentedControl` component is used as the `tabs` type.\n *\n * It must be used as a child of `SegmentedControl`.\n */\nexport const SegmentedControlTabContent = TabsPrimitive.Content as <\n Value extends string,\n>(\n props: SegmentedControlTabContentProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nconst SegmentedControlTabs = TabsPrimitive.Root as <Value extends string>(\n props: SegmentedControlTabsProps<Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\nfunction SegmentedControlImpl<\n Type extends SegmentedControlType,\n Value extends string,\n>(\n {\n type = 'radiogroup' as Type,\n size = 'm',\n width = '100%',\n onValueChange,\n children,\n ...rest\n }: SegmentedControlProps<Type, Value>,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n const SegmentedControlRoot =\n type === 'radiogroup' ? SegmentedControlRadioGroup : SegmentedControlTabs\n\n const contextValue = useMemo(\n () => ({\n type,\n size,\n width,\n }),\n [type, size, width]\n )\n\n return (\n <SegmentedControlContextProvider value={contextValue}>\n <SegmentedControlRoot\n ref={forwardedRef}\n onValueChange={onValueChange}\n {...rest}\n >\n {children}\n </SegmentedControlRoot>\n </SegmentedControlContextProvider>\n )\n}\n\n/**\n * `SegmentedControl` is component that looks like a combination of a radio and a button.\n * They can be used in place of tabs and as input elements in modals.\n * If you have more than five items, use a different element, such as a dropdown.\n *\n * `SegmentedControl` can be used as a radio group, tabs element depending on its `type`.\n * @example\n *\n * ```tsx\n * // Anatomy of the SegmentedControl type=\"radiogroup\"\n * <SegmentedControl type=\"radiogroup\">\n * <SegmentedControlItem />\n * </SegmentedControl>\n *\n * // Anatomy of the SegmentedControl type=\"tabs\"\n * <SegmentedControl type=\"tabs\">\n * <SegmentedControlTabList>\n * <SegmentedControlItem />\n * </SegmentedControlTabList>\n *\n * <SegmentedControlTabContent />\n * </SegmentedControl>\n * ```\n */\nexport const SegmentedControl = forwardRef(SegmentedControlImpl) as <\n Type extends SegmentedControlType,\n Value extends string,\n>(\n props: SegmentedControlProps<Type, Value> & {\n ref?: React.ForwardedRef<HTMLDivElement>\n }\n) => JSX.Element\n\n/**\n * NOTE: (@ed) A property injected at runtime by the radix-ui lib.\n */\ntype ItemProps<Type extends SegmentedControlType> = (Type extends 'radiogroup'\n ? { 'data-state'?: 'unchecked' | 'checked' }\n : { 'data-state'?: 'inactive' | 'active' }) &\n React.HTMLAttributes<HTMLButtonElement> &\n Partial<SegmentedControlItemProps<Type>>\n\nconst Item = forwardRef<HTMLButtonElement, ItemProps<SegmentedControlType>>(\n function Item(\n { children, leftContent, rightContent, className, ...rest },\n forwardedRef\n ) {\n const { type, size } = useSegmentedControlContext('SegmentedControlItem')\n const { setSelectedItemIndex } = useSegmentedControlItemListContext(\n 'SegmentedControlItem'\n )\n const index = useSegmentedControlItemContext('SegmentedControlItem')\n\n const checked =\n type === 'radiogroup'\n ? (rest as ItemProps<typeof type>)?.['data-state'] === 'checked'\n : (rest as ItemProps<typeof type>)?.['data-state'] === 'active'\n\n useEffect(\n function setSelectedItem() {\n if (checked) {\n setSelectedItemIndex(index)\n }\n },\n [checked, index, setSelectedItemIndex]\n )\n\n return (\n <BaseButton\n {...rest}\n ref={forwardedRef}\n data-checked={ariaAttr(checked)}\n className={classNames(styles.SegmentedControlItem, className)}\n >\n <HStack\n className={styles.SegmentedControlItemContainer}\n align=\"center\"\n spacing={2}\n >\n {leftContent}\n <Text\n className={styles.SegmentedControlItemLabel}\n bold\n truncated\n typo={size === 'xs' ? '13' : '14'}\n >\n {children}\n </Text>\n {rightContent}\n </HStack>\n </BaseButton>\n )\n }\n)\n\nfunction SegmentedControlItemImpl<Value extends string>(\n { children, ...rest }: SegmentedControlItemProps<Value>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const { type } = useSegmentedControlContext('SegmentedControlItem')\n\n const SegmentedControlItem =\n type === 'radiogroup' ? RadioGroupPrimitive.Item : TabsPrimitive.Trigger\n\n return (\n <SegmentedControlItem\n asChild\n ref={forwardedRef}\n {...rest}\n >\n <Item>{children}</Item>\n </SegmentedControlItem>\n )\n}\n\n/**\n * `SegmentedControlItem` component is each item in `SegmentedControl`.\n *\n * If the type of `SegmentedControl` is `radiogroup`, this component acts as a radio item.\n * In this case, it must be used as a child of `SegmentedControl`.\n *\n * If the type of `SegmentedControl` is `tabs`, this component acts as a tab item.\n * In this case, it must be used as a child of `SegmentedControlTabList`.\n */\nexport const SegmentedControlItem = forwardRef(SegmentedControlItemImpl) as <\n Value extends string,\n>(\n props: SegmentedControlItemProps<Value> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => JSX.Element\n"],"names":["SegmentedControlContextProvider","useSegmentedControlContext","createContext","SegmentedControlItemContextProvider","useSegmentedControlItemContext","SegmentedControlItemListContextProvider","useSegmentedControlItemListContext","SegmentedControlItemListImpl","children","style","className","rest","forwardedRef","selectedItemIndex","setSelectedItemIndex","useState","type","size","width","contextValue","useMemo","SegmentedControlItemList","RadioGroupPrimitive","TabsPrimitive","React","createElement","Object","assign","asChild","ref","cssDimension","Children","count","classNames","styles","SegmentedControl","value","map","child","index","Fragment","Divider","withoutParallelIndent","orientation","isNil","SegmentedControlIndicator","dividerStyles","variables","forwardRef","SegmentedControlRadioGroupImpl","hasError","ownProps","useFormFieldProps","SegmentedControlRadioGroup","SegmentedControlTabList","SegmentedControlTabContent","SegmentedControlTabs","SegmentedControlImpl","onValueChange","SegmentedControlRoot","Item","leftContent","rightContent","checked","useEffect","setSelectedItem","BaseButton","ariaAttr","SegmentedControlItem","HStack","SegmentedControlItemContainer","align","spacing","Text","SegmentedControlItemLabel","bold","truncated","typo","SegmentedControlItemImpl"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n getFormFieldSizeClassName,\n getZIndexClassName,\n} from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n dropdownKeepInContainer = false,\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={hasContent ? textColor : 'txt-black-dark'}\n >\n {hasContent ? text : placeholder}\n </Text>\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n style={dropdownStyle}\n className={classNames(\n styles.SelectDropdown,\n getZIndexClassName(dropdownZIndex),\n dropdownClassName\n )}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n keepInContainer={dropdownKeepInContainer}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","dropdownKeepInContainer","onClickTrigger","onHideDropdown","rest","forwardedRef","_ref","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","React","createElement","classNames","styles","SelectContainer","ref","BaseButton","Object","assign","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","Icon","source","marginRight","color","Text","typo","truncated","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","SelectDropdown","getZIndexClassName","withTransition","show","marginX","marginY","target","container","position","keepInContainer","onHide"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n getFormFieldSizeClassName,\n getZIndexClassName,\n} from '~/src/types/props-helpers'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Overlay } from '~/src/components/Overlay'\nimport { Text } from '~/src/components/Text'\n\nimport { type SelectProps, type SelectRef } from './Select.types'\n\nimport styles from './Select.module.scss'\n\nexport const SELECT_DROPDOWN_TEST_ID = 'bezier-select-dropdown'\n\nexport const Select = forwardRef<SelectRef, SelectProps>(function Select(\n {\n children,\n style,\n className,\n size: sizeProps,\n defaultFocus = false,\n placeholder = '',\n leftContent,\n rightContent,\n iconColor = 'txt-black-dark',\n text,\n textColor = 'txt-black-darkest',\n withoutChevron = false,\n dropdownStyle,\n dropdownClassName,\n dropdownContainer,\n dropdownMarginX,\n dropdownMarginY = 6,\n dropdownZIndex = 'overlay',\n dropdownPosition = 'bottom-left',\n dropdownKeepInContainer = false,\n onClickTrigger,\n onHideDropdown,\n ...rest\n },\n forwardedRef\n) {\n const {\n disabled,\n readOnly,\n hasError,\n size: formFieldSize,\n ...ownProps\n } = useFormFieldProps(rest)\n\n const containerRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement>(null)\n\n const size = sizeProps ?? formFieldSize ?? 'm'\n\n const [isDropdownOpened, setIsDropdownOpened] = useState(false)\n\n const handleClickTrigger = useCallback(\n (event: React.MouseEvent) => {\n if (!disabled && !readOnly) {\n setIsDropdownOpened((prevState) => !prevState)\n onClickTrigger?.(event)\n }\n },\n [disabled, readOnly, onClickTrigger]\n )\n\n const handleHideDropdown = useCallback(() => {\n setIsDropdownOpened(false)\n onHideDropdown?.()\n }, [onHideDropdown])\n\n const getDOMNode = useCallback(() => triggerRef.current, [])\n\n const handle = useMemo(\n (): SelectRef => ({\n handleClickTrigger,\n handleHideDropdown,\n getDOMNode,\n }),\n [handleClickTrigger, handleHideDropdown, getDOMNode]\n )\n\n useEffect(\n function handleDefaultFocus() {\n if (defaultFocus && !disabled && !readOnly) {\n setIsDropdownOpened(true)\n }\n },\n [defaultFocus, disabled, readOnly]\n )\n\n useImperativeHandle(forwardedRef, () => handle)\n\n const hasContent = !isEmpty(text)\n\n return (\n <div\n style={style}\n className={classNames(styles.SelectContainer, className)}\n ref={containerRef}\n >\n <BaseButton\n className={classNames(\n styles.SelectTrigger,\n getFormFieldSizeClassName(size),\n hasError && styles.invalid,\n readOnly && styles.readonly,\n isDropdownOpened && styles.active\n )}\n ref={triggerRef}\n disabled={disabled}\n onClick={handleClickTrigger}\n {...ownProps}\n >\n <div className={styles.SelectMainContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n source={leftContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n leftContent\n )}\n\n <Text\n data-testid=\"bezier-select-trigger-text\"\n typo=\"14\"\n truncated\n color={hasContent ? textColor : 'txt-black-dark'}\n >\n {hasContent ? text : placeholder}\n </Text>\n\n {isBezierIcon(rightContent) ? (\n <Icon\n source={rightContent}\n size=\"xs\"\n marginRight={6}\n color={iconColor}\n />\n ) : (\n rightContent\n )}\n </div>\n\n {!withoutChevron && (\n <Icon\n source={isDropdownOpened ? ChevronUpIcon : ChevronDownIcon}\n size=\"xs\"\n color={readOnly ? 'txt-black-dark' : 'txt-black-darker'}\n marginLeft={6}\n />\n )}\n </BaseButton>\n\n <Overlay\n style={dropdownStyle}\n className={classNames(\n styles.SelectDropdown,\n getZIndexClassName(dropdownZIndex),\n dropdownClassName\n )}\n withTransition\n show={isDropdownOpened && !disabled}\n marginX={dropdownMarginX}\n marginY={dropdownMarginY}\n target={triggerRef.current}\n container={dropdownContainer || containerRef.current}\n position={dropdownPosition}\n keepInContainer={dropdownKeepInContainer}\n data-testid={SELECT_DROPDOWN_TEST_ID}\n onHide={handleHideDropdown}\n >\n {children}\n </Overlay>\n </div>\n )\n})\n"],"names":["SELECT_DROPDOWN_TEST_ID","Select","forwardRef","children","style","className","size","sizeProps","defaultFocus","placeholder","leftContent","rightContent","iconColor","text","textColor","withoutChevron","dropdownStyle","dropdownClassName","dropdownContainer","dropdownMarginX","dropdownMarginY","dropdownZIndex","dropdownPosition","dropdownKeepInContainer","onClickTrigger","onHideDropdown","rest","forwardedRef","_ref","disabled","readOnly","hasError","formFieldSize","ownProps","useFormFieldProps","containerRef","useRef","triggerRef","isDropdownOpened","setIsDropdownOpened","useState","handleClickTrigger","useCallback","event","prevState","handleHideDropdown","getDOMNode","current","handle","useMemo","useEffect","handleDefaultFocus","useImperativeHandle","hasContent","isEmpty","React","createElement","classNames","styles","SelectContainer","ref","BaseButton","Object","assign","SelectTrigger","getFormFieldSizeClassName","invalid","readonly","active","onClick","SelectMainContent","isBezierIcon","Icon","source","marginRight","color","Text","typo","truncated","ChevronUpIcon","ChevronDownIcon","marginLeft","Overlay","SelectDropdown","getZIndexClassName","withTransition","show","marginX","marginY","target","container","position","keepInContainer","onHide"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef, memo } from 'react'\n\nimport * as SliderPrimitive from '@radix-ui/react-slider'\nimport classNames from 'classnames'\n\nimport { cssDimension } from '~/src/utils/style'\n\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport { type SliderProps } from './Slider.types'\n\nimport styles from './Slider.module.scss'\n\nexport const SLIDER_TEST_ID = 'bezier-slider'\n\nconst SliderGuide = memo<Record<'min' | 'max' | 'value', number>>(\n function SliderGuide({ min, max, value }) {\n return (\n <div\n className={styles.SliderGuide}\n style={\n {\n '--b-slider-guide-left': `${(value / (max - min)) * 100}%`,\n } as React.CSSProperties\n }\n />\n )\n }\n)\n\n/* NOTE: Props are injected at runtime by `SliderPrimitive.Thumb`. */\nconst SliderThumb = forwardRef<\n HTMLDivElement,\n Pick<SliderProps, 'disableTooltip'> & React.HTMLAttributes<HTMLDivElement>\n>(function SliderThumb({ disableTooltip, ...rest }, forwardedRef) {\n const value = rest?.['aria-valuenow']\n\n if (disableTooltip) {\n return (\n <div\n ref={forwardedRef}\n className={styles.SliderThumb}\n {...rest}\n />\n )\n }\n\n return (\n <Tooltip\n content={value}\n offset={6}\n placement=\"top-center\"\n onPointerDownOutside={(e) => e.preventDefault()}\n >\n <div\n ref={forwardedRef}\n className={styles.SliderThumb}\n {...rest}\n />\n </Tooltip>\n )\n})\n\n/**\n * An input component where the user selects a value from within a given range.\n * The value of the slider is shown in a tooltip, and in some cases you can add a guide scale.\n * @example\n *\n * ```tsx\n * const [value, setValue] = useState([1])\n * // Controlled\n * <Slider\n * value={value}\n * onValueChange={setValue}\n * />\n * // Uncontrolled\n * <Slider defaultValue={[1]} />\n * ```\n */\nexport const Slider = forwardRef<HTMLSpanElement, SliderProps>(function Slider(\n {\n className,\n style,\n width = 36,\n guide,\n defaultValue = [0],\n value,\n disabled = false,\n min = 0,\n max = 10,\n step = 1,\n minStepsBetweenThumbs = 0,\n dir = 'ltr',\n disableTooltip = false,\n ...rest\n },\n forwardedRef\n) {\n const targetValue = value || defaultValue\n\n return (\n <SliderPrimitive.Root\n style={\n {\n '--b-slider-width': cssDimension(width),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Slider, className)}\n ref={forwardedRef}\n orientation=\"horizontal\"\n defaultValue={defaultValue}\n value={value}\n disabled={disabled}\n min={min}\n max={max}\n step={step}\n dir={dir}\n minStepsBetweenThumbs={minStepsBetweenThumbs}\n data-testid={SLIDER_TEST_ID}\n {...rest}\n >\n <SliderPrimitive.Track className={styles.SliderPrimitiveTrack}>\n <SliderPrimitive.Range className={styles.SliderPrimitiveRange} />\n\n {guide && (\n <div className={styles.GuideContainer}>\n {guide.map((guideValue) => (\n <SliderGuide\n key={`slider-guide-${guideValue}`}\n min={min}\n max={max}\n value={guideValue}\n />\n ))}\n </div>\n )}\n </SliderPrimitive.Track>\n\n {targetValue.map((_, i) => (\n <SliderPrimitive.Thumb\n // eslint-disable-next-line react/no-array-index-key\n key={`slider-thumb-${i}`}\n asChild\n >\n <SliderThumb disableTooltip={disableTooltip} />\n </SliderPrimitive.Thumb>\n ))}\n </SliderPrimitive.Root>\n )\n})\n"],"names":["SLIDER_TEST_ID","SliderGuide","memo","min","max","value","React","createElement","className","styles","style","SliderThumb","forwardRef","disableTooltip","rest","forwardedRef","Object","assign","ref","Tooltip","content","offset","placement","onPointerDownOutside","e","preventDefault","Slider","width","guide","defaultValue","disabled","step","minStepsBetweenThumbs","dir","targetValue","SliderPrimitive","cssDimension","classNames","orientation","SliderPrimitiveTrack","SliderPrimitiveRange","GuideContainer","map","guideValue","key","_","i","asChild"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef, memo } from 'react'\n\nimport * as SliderPrimitive from '@radix-ui/react-slider'\nimport classNames from 'classnames'\n\nimport { cssDimension } from '~/src/utils/style'\n\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport { type SliderProps } from './Slider.types'\n\nimport styles from './Slider.module.scss'\n\nexport const SLIDER_TEST_ID = 'bezier-slider'\n\nconst SliderGuide = memo<Record<'min' | 'max' | 'value', number>>(\n function SliderGuide({ min, max, value }) {\n return (\n <div\n className={styles.SliderGuide}\n style={\n {\n '--b-slider-guide-left': `${(value / (max - min)) * 100}%`,\n } as React.CSSProperties\n }\n />\n )\n }\n)\n\n/* NOTE: Props are injected at runtime by `SliderPrimitive.Thumb`. */\nconst SliderThumb = forwardRef<\n HTMLDivElement,\n Pick<SliderProps, 'disableTooltip'> & React.HTMLAttributes<HTMLDivElement>\n>(function SliderThumb({ disableTooltip, ...rest }, forwardedRef) {\n const value = rest?.['aria-valuenow']\n\n if (disableTooltip) {\n return (\n <div\n ref={forwardedRef}\n className={styles.SliderThumb}\n {...rest}\n />\n )\n }\n\n return (\n <Tooltip\n content={value}\n offset={6}\n placement=\"top-center\"\n onPointerDownOutside={(e) => e.preventDefault()}\n >\n <div\n ref={forwardedRef}\n className={styles.SliderThumb}\n {...rest}\n />\n </Tooltip>\n )\n})\n\n/**\n * An input component where the user selects a value from within a given range.\n * The value of the slider is shown in a tooltip, and in some cases you can add a guide scale.\n * @example\n *\n * ```tsx\n * const [value, setValue] = useState([1])\n * // Controlled\n * <Slider\n * value={value}\n * onValueChange={setValue}\n * />\n * // Uncontrolled\n * <Slider defaultValue={[1]} />\n * ```\n */\nexport const Slider = forwardRef<HTMLSpanElement, SliderProps>(function Slider(\n {\n className,\n style,\n width = 36,\n guide,\n defaultValue = [0],\n value,\n disabled = false,\n min = 0,\n max = 10,\n step = 1,\n minStepsBetweenThumbs = 0,\n dir = 'ltr',\n disableTooltip = false,\n ...rest\n },\n forwardedRef\n) {\n const targetValue = value || defaultValue\n\n return (\n <SliderPrimitive.Root\n style={\n {\n '--b-slider-width': cssDimension(width),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Slider, className)}\n ref={forwardedRef}\n orientation=\"horizontal\"\n defaultValue={defaultValue}\n value={value}\n disabled={disabled}\n min={min}\n max={max}\n step={step}\n dir={dir}\n minStepsBetweenThumbs={minStepsBetweenThumbs}\n data-testid={SLIDER_TEST_ID}\n {...rest}\n >\n <SliderPrimitive.Track className={styles.SliderPrimitiveTrack}>\n <SliderPrimitive.Range className={styles.SliderPrimitiveRange} />\n\n {guide && (\n <div className={styles.GuideContainer}>\n {guide.map((guideValue) => (\n <SliderGuide\n key={`slider-guide-${guideValue}`}\n min={min}\n max={max}\n value={guideValue}\n />\n ))}\n </div>\n )}\n </SliderPrimitive.Track>\n\n {targetValue.map((_, i) => (\n <SliderPrimitive.Thumb\n // eslint-disable-next-line react/no-array-index-key\n key={`slider-thumb-${i}`}\n asChild\n >\n <SliderThumb disableTooltip={disableTooltip} />\n </SliderPrimitive.Thumb>\n ))}\n </SliderPrimitive.Root>\n )\n})\n"],"names":["SLIDER_TEST_ID","SliderGuide","memo","min","max","value","React","createElement","className","styles","style","SliderThumb","forwardRef","disableTooltip","rest","forwardedRef","Object","assign","ref","Tooltip","content","offset","placement","onPointerDownOutside","e","preventDefault","Slider","width","guide","defaultValue","disabled","step","minStepsBetweenThumbs","dir","targetValue","SliderPrimitive","cssDimension","classNames","orientation","SliderPrimitiveTrack","SliderPrimitiveRange","GuideContainer","map","guideValue","key","_","i","asChild"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothCornersBox.js","sources":["../../../../src/components/SmoothCornersBox/SmoothCornersBox.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { cssUrl, cssVar, px } from '~/src/utils/style'\n\nimport { FeatureType, useFeatureFlag } from '~/src/components/FeatureProvider'\n\nimport { type SmoothCornersBoxProps } from './SmoothCornersBox.types'\n\nimport styles from './SmoothCornersBox.module.scss'\n\n/**\n * `SmoothCornersBox` is a simple `div` element with smooth corners.\n * It is available by enabling the `SmoothCornersFeature`.\n * @example\n *\n * ```tsx\n * <AppProvider features={[SmoothCornersFeature]}>\n * <SmoothCornersBox />\n * </AppProvider>\n * ```\n */\nexport const SmoothCornersBox = forwardRef<\n HTMLDivElement,\n SmoothCornersBoxProps\n>(function SmoothCornersBox(\n {\n children,\n style,\n className,\n disabled,\n borderRadius,\n margin,\n shadow,\n backgroundColor,\n backgroundImage,\n ...rest\n },\n forwardedRef\n) {\n const shadowBlurRadius = shadow?.blurRadius ?? 0\n const shadowSpreadRadius = shadow?.spreadRadius ?? 0\n\n return (\n <div\n {...rest}\n ref={forwardedRef}\n style={\n {\n ...style,\n '--b-smooth-corners-box-border-radius': borderRadius,\n '--b-smooth-corners-box-shadow-offset-x': px(shadow?.offsetX),\n '--b-smooth-corners-box-shadow-offset-y': px(shadow?.offsetY),\n '--b-smooth-corners-box-shadow-blur-radius': `${shadowBlurRadius}px`,\n '--b-smooth-corners-box-shadow-spread-radius': `${shadowSpreadRadius}px`,\n '--b-smooth-corners-box-shadow-color': cssVar(shadow?.color),\n /**\n * NOTE: Calculate in javascript because it cannot access calculated values via CSS calc() in the paint worklet.\n * @see {@link ~/src/features/SmoothCorners/smoothCornersScript.ts}\n */\n '--b-smooth-corners-box-padding': `${Math.max(shadowBlurRadius, shadowSpreadRadius) * 2}px`,\n '--b-smooth-corners-box-margin': `${margin ?? 0}px`,\n '--b-smooth-corners-box-background-color': cssVar(backgroundColor),\n '--b-smooth-corners-box-background-image': cssUrl(backgroundImage),\n } as React.CSSProperties\n }\n className={classNames(styles.SmoothCornersBox, className)}\n data-state={\n useFeatureFlag(FeatureType.SmoothCorners) && !disabled\n ? 'enabled'\n : 'disabled'\n }\n >\n {children}\n </div>\n )\n})\n"],"names":["SmoothCornersBox","forwardRef","children","style","className","disabled","borderRadius","margin","shadow","backgroundColor","backgroundImage","rest","forwardedRef","_shadow$blurRadius","_shadow$spreadRadius","shadowBlurRadius","blurRadius","shadowSpreadRadius","spreadRadius","React","createElement","Object","assign","ref","px","offsetX","offsetY","cssVar","color","Math","max","cssUrl","classNames","styles","useFeatureFlag","FeatureType","SmoothCorners"],"mappings":";;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,gBAAgB,gBAAGC,gBAAU,CAGxC,SAASD,gBAAgBA,CACzB;EACEE,QAAQ;SACRC,OAAK;EACLC,SAAS;EACTC,QAAQ;EACRC,YAAY;EACZC,MAAM;EACNC,MAAM;EACNC,eAAe;EACfC,eAAe;EACf,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EAAA,IAAAC,kBAAA,EAAAC,oBAAA,CAAA;AACA,EAAA,MAAMC,gBAAgB,GAAAF,CAAAA,kBAAA,GAAGL,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEQ,UAAU,MAAAH,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,GAAAA,kBAAA,GAAI,CAAC,CAAA;AAChD,EAAA,MAAMI,kBAAkB,GAAAH,CAAAA,oBAAA,GAAGN,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEU,YAAY,MAAAJ,IAAAA,IAAAA,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,CAAC,CAAA;EAEpD,oBACEK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,MAAA,CAAAC,MAAA,KACMX,IAAI,EAAA;AACRY,IAAAA,GAAG,EAAEX,YAAa;AAClBT,IAAAA,KAAK,EACH;AACE,MAAA,GAAGA,OAAK;AACR,MAAA,sCAAsC,EAAEG,YAAY;MACpD,wCAAwC,EAAEkB,QAAE,CAAChB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEiB,OAAO,CAAC;MAC7D,wCAAwC,EAAED,QAAE,CAAChB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkB,OAAO,CAAC;MAC7D,2CAA2C,EAAE,CAAGX,EAAAA,gBAAgB,CAAI,EAAA,CAAA;MACpE,6CAA6C,EAAE,CAAGE,EAAAA,kBAAkB,CAAI,EAAA,CAAA;MACxE,qCAAqC,EAAEU,YAAM,CAACnB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEoB,KAAK,CAAC;AAC5D;AACV;AACA;AACA;AACU,MAAA,gCAAgC,EAAE,CAAA,EAAGC,IAAI,CAACC,GAAG,CAACf,gBAAgB,EAAEE,kBAAkB,CAAC,GAAG,CAAC,CAAI,EAAA,CAAA;MAC3F,+BAA+B,EAAE,GAAGV,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GAAI,CAAC,CAAI,EAAA,CAAA;AACnD,MAAA,yCAAyC,EAAEoB,YAAM,CAAClB,eAAe,CAAC;MAClE,yCAAyC,EAAEsB,YAAM,CAACrB,eAAe,CAAA;KAEpE;IACDN,SAAS,EAAE4B,aAAU,CAACC,+BAAM,CAACjC,gBAAgB,EAAEI,SAAS,CAAE;IAC1D,YACE8B,EAAAA,8BAAc,CAACC,iCAAW,CAACC,aAAa,CAAC,IAAI,CAAC/B,QAAQ,GAClD,SAAS,GACT,UAAA;AACL,GAAA,CAAA,EAEAH,QACE,CAAC,CAAA;AAEV,CAAC;;;;"}
1
+ {"version":3,"file":"SmoothCornersBox.js","sources":["../../../../src/components/SmoothCornersBox/SmoothCornersBox.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { cssUrl, cssVar, px } from '~/src/utils/style'\n\nimport { FeatureType, useFeatureFlag } from '~/src/components/FeatureProvider'\n\nimport { type SmoothCornersBoxProps } from './SmoothCornersBox.types'\n\nimport styles from './SmoothCornersBox.module.scss'\n\n/**\n * `SmoothCornersBox` is a simple `div` element with smooth corners.\n * It is available by enabling the `SmoothCornersFeature`.\n * @example\n *\n * ```tsx\n * <AppProvider features={[SmoothCornersFeature]}>\n * <SmoothCornersBox />\n * </AppProvider>\n * ```\n */\nexport const SmoothCornersBox = forwardRef<\n HTMLDivElement,\n SmoothCornersBoxProps\n>(function SmoothCornersBox(\n {\n children,\n style,\n className,\n disabled,\n borderRadius,\n margin,\n shadow,\n backgroundColor,\n backgroundImage,\n ...rest\n },\n forwardedRef\n) {\n const shadowBlurRadius = shadow?.blurRadius ?? 0\n const shadowSpreadRadius = shadow?.spreadRadius ?? 0\n\n return (\n <div\n {...rest}\n ref={forwardedRef}\n style={\n {\n ...style,\n '--b-smooth-corners-box-border-radius': borderRadius,\n '--b-smooth-corners-box-shadow-offset-x': px(shadow?.offsetX),\n '--b-smooth-corners-box-shadow-offset-y': px(shadow?.offsetY),\n '--b-smooth-corners-box-shadow-blur-radius': `${shadowBlurRadius}px`,\n '--b-smooth-corners-box-shadow-spread-radius': `${shadowSpreadRadius}px`,\n '--b-smooth-corners-box-shadow-color': cssVar(shadow?.color),\n /**\n * NOTE: Calculate in javascript because it cannot access calculated values via CSS calc() in the paint worklet.\n * @see {@link ~/src/features/SmoothCorners/smoothCornersScript.ts}\n */\n '--b-smooth-corners-box-padding': `${Math.max(shadowBlurRadius, shadowSpreadRadius) * 2}px`,\n '--b-smooth-corners-box-margin': `${margin ?? 0}px`,\n '--b-smooth-corners-box-background-color': cssVar(backgroundColor),\n '--b-smooth-corners-box-background-image': cssUrl(backgroundImage),\n } as React.CSSProperties\n }\n className={classNames(styles.SmoothCornersBox, className)}\n data-state={\n useFeatureFlag(FeatureType.SmoothCorners) && !disabled\n ? 'enabled'\n : 'disabled'\n }\n >\n {children}\n </div>\n )\n})\n"],"names":["SmoothCornersBox","forwardRef","children","style","className","disabled","borderRadius","margin","shadow","backgroundColor","backgroundImage","rest","forwardedRef","_shadow$blurRadius","_shadow$spreadRadius","shadowBlurRadius","blurRadius","shadowSpreadRadius","spreadRadius","React","createElement","Object","assign","ref","px","offsetX","offsetY","cssVar","color","Math","max","cssUrl","classNames","styles","useFeatureFlag","FeatureType","SmoothCorners"],"mappings":";;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,gBAAgB,gBAAGC,gBAAU,CAGxC,SAASD,gBAAgBA,CACzB;EACEE,QAAQ;SACRC,OAAK;EACLC,SAAS;EACTC,QAAQ;EACRC,YAAY;EACZC,MAAM;EACNC,MAAM;EACNC,eAAe;EACfC,eAAe;EACf,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EAAA,IAAAC,kBAAA,EAAAC,oBAAA;AACA,EAAA,MAAMC,gBAAgB,GAAAF,CAAAA,kBAAA,GAAGL,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEQ,UAAU,MAAAH,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,GAAAA,kBAAA,GAAI,CAAC;AAChD,EAAA,MAAMI,kBAAkB,GAAAH,CAAAA,oBAAA,GAAGN,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEU,YAAY,MAAAJ,IAAAA,IAAAA,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,CAAC;EAEpD,oBACEK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,MAAA,CAAAC,MAAA,KACMX,IAAI,EAAA;AACRY,IAAAA,GAAG,EAAEX,YAAa;AAClBT,IAAAA,KAAK,EACH;AACE,MAAA,GAAGA,OAAK;AACR,MAAA,sCAAsC,EAAEG,YAAY;MACpD,wCAAwC,EAAEkB,QAAE,CAAChB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEiB,OAAO,CAAC;MAC7D,wCAAwC,EAAED,QAAE,CAAChB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkB,OAAO,CAAC;MAC7D,2CAA2C,EAAE,CAAGX,EAAAA,gBAAgB,CAAI,EAAA,CAAA;MACpE,6CAA6C,EAAE,CAAGE,EAAAA,kBAAkB,CAAI,EAAA,CAAA;MACxE,qCAAqC,EAAEU,YAAM,CAACnB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEoB,KAAK,CAAC;AAC5D;AACV;AACA;AACA;AACU,MAAA,gCAAgC,EAAE,CAAA,EAAGC,IAAI,CAACC,GAAG,CAACf,gBAAgB,EAAEE,kBAAkB,CAAC,GAAG,CAAC,CAAI,EAAA,CAAA;MAC3F,+BAA+B,EAAE,GAAGV,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GAAI,CAAC,CAAI,EAAA,CAAA;AACnD,MAAA,yCAAyC,EAAEoB,YAAM,CAAClB,eAAe,CAAC;MAClE,yCAAyC,EAAEsB,YAAM,CAACrB,eAAe;KAEpE;IACDN,SAAS,EAAE4B,aAAU,CAACC,+BAAM,CAACjC,gBAAgB,EAAEI,SAAS,CAAE;IAC1D,YACE8B,EAAAA,8BAAc,CAACC,iCAAW,CAACC,aAAa,CAAC,IAAI,CAAC/B,QAAQ,GAClD,SAAS,GACT;AACL,GAAA,CAAA,EAEAH,QACE,CAAC;AAEV,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { cssVar } from '~/src/utils/style'\n\nimport { type SpinnerProps } from './Spinner.types'\n\nimport styles from './Spinner.module.scss'\n\nexport const SPINNER_TEST_ID = 'bezier-spinner'\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n { style, className, size = 'm', color, ...rest },\n forwardedRef\n ) {\n return (\n <div\n {...rest}\n ref={forwardedRef}\n style={\n {\n '--b-spinner-color': cssVar(color),\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Spinner,\n styles[`size-${size}`],\n className\n )}\n key=\"spinner\"\n data-testid={SPINNER_TEST_ID}\n />\n )\n }\n)\n"],"names":["SPINNER_TEST_ID","Spinner","forwardRef","style","className","size","color","rest","forwardedRef","React","createElement","Object","assign","ref","cssVar","classNames","styles","key"],"mappings":";;;;;;;AAYO,MAAMA,eAAe,GAAG,iBAAgB;MAElCC,OAAO,gBAAGC,gBAAU,CAC/B,SAASD,OAAOA,CACd;SAAEE,OAAK;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,GAAG;EAAEC,KAAK;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAChDC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,MAAA,CAAAC,MAAA,KACML,IAAI,EAAA;AACRM,IAAAA,GAAG,EAAEL,YAAa;AAClBL,IAAAA,KAAK,EACH;AACE,MAAA,mBAAmB,EAAEW,YAAM,CAACR,KAAK,CAAC;MAClC,GAAGH,OAAAA;KAEN;AACDC,IAAAA,SAAS,EAAEW,aAAU,CACnBC,sBAAM,CAACf,OAAO,EACde,sBAAM,CAAC,QAAQX,IAAI,CAAA,CAAE,CAAC,EACtBD,SACF,CAAE;AACFa,IAAAA,GAAG,EAAC,SAAS;IACb,aAAajB,EAAAA,eAAAA;AAAgB,GAAA,CAC9B,CAAC,CAAA;AAEN,CACF;;;;;"}
1
+ {"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { cssVar } from '~/src/utils/style'\n\nimport { type SpinnerProps } from './Spinner.types'\n\nimport styles from './Spinner.module.scss'\n\nexport const SPINNER_TEST_ID = 'bezier-spinner'\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n { style, className, size = 'm', color, ...rest },\n forwardedRef\n ) {\n return (\n <div\n {...rest}\n ref={forwardedRef}\n style={\n {\n '--b-spinner-color': cssVar(color),\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Spinner,\n styles[`size-${size}`],\n className\n )}\n key=\"spinner\"\n data-testid={SPINNER_TEST_ID}\n />\n )\n }\n)\n"],"names":["SPINNER_TEST_ID","Spinner","forwardRef","style","className","size","color","rest","forwardedRef","React","createElement","Object","assign","ref","cssVar","classNames","styles","key"],"mappings":";;;;;;;AAYO,MAAMA,eAAe,GAAG;MAElBC,OAAO,gBAAGC,gBAAU,CAC/B,SAASD,OAAOA,CACd;SAAEE,OAAK;EAAEC,SAAS;AAAEC,EAAAA,IAAI,GAAG,GAAG;EAAEC,KAAK;EAAE,GAAGC;AAAK,CAAC,EAChDC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,MAAA,CAAAC,MAAA,KACML,IAAI,EAAA;AACRM,IAAAA,GAAG,EAAEL,YAAa;AAClBL,IAAAA,KAAK,EACH;AACE,MAAA,mBAAmB,EAAEW,YAAM,CAACR,KAAK,CAAC;MAClC,GAAGH;KAEN;AACDC,IAAAA,SAAS,EAAEW,aAAU,CACnBC,sBAAM,CAACf,OAAO,EACde,sBAAM,CAAC,QAAQX,IAAI,CAAA,CAAE,CAAC,EACtBD,SACF,CAAE;AACFa,IAAAA,GAAG,EAAC,SAAS;IACb,aAAajB,EAAAA;AAAgB,GAAA,CAC9B,CAAC;AAEN,CACF;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sources":["../../../../src/components/Stack/Stack.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'\nimport { cssDimension } from '~/src/utils/style'\n\nimport type { HStackProps, StackProps, VStackProps } from './Stack.types'\n\nimport styles from './Stack.module.scss'\n\n/**\n * `Stack` is a layout component used to group elements together and apply a space between them.\n * @example\n *\n * ```tsx\n * <Stack\n * direction=\"horizontal\"\n * spacing={6}\n * >\n * <div>{ ... }</div>\n * <div>{ ... }</div>\n * </Stack>\n * ```\n */\nexport const Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(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 = 'flex',\n direction,\n justify,\n align,\n spacing,\n reverse,\n wrap,\n ...rest\n } = layoutRest\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-stack-spacing': cssDimension(spacing),\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n },\n className: classNames(\n styles.Stack,\n display && styles[`display-${display}`],\n direction && styles[`direction-${direction}`],\n justify && styles[`justify-${justify}`],\n align && styles[`align-${align}`],\n reverse && styles.reverse,\n wrap && styles.wrap,\n marginStyles.className,\n layoutStyles.className,\n className\n ),\n 'data-testid': 'bezier-stack',\n ...rest,\n },\n children\n )\n }\n)\n\n/**\n * `HStack` is a shorthand component equivalent to `Stack` with a horizontal direction property.\n * @see Stack\n */\nexport const HStack = forwardRef<HTMLElement, HStackProps>(\n function HStack(props, forwardedRef) {\n return createElement(Stack, {\n ...props,\n direction: 'horizontal',\n ref: forwardedRef,\n })\n }\n)\n\n/**\n * `VStack` is a shorthand component equivalent to `Stack` with a vertical direction property.\n * @see Stack\n */\nexport const VStack = forwardRef<HTMLElement, VStackProps>(\n function VStack(props, forwardedRef) {\n return createElement(Stack, {\n ...props,\n direction: 'vertical',\n ref: forwardedRef,\n })\n }\n)\n"],"names":["Stack","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","as","display","direction","justify","align","spacing","reverse","wrap","rest","createElement","ref","cssDimension","classNames","styles","HStack","VStack"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,KAAK,gBAAGC,gBAAU,CAC7B,SAASD,KAAKA,CAACE,KAAK,EAAEC,YAAY,EAAE;EAClC,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;WACRC,OAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,KAAK;AACVC,IAAAA,OAAO,GAAG,MAAM;IAChBC,SAAS;IACTC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,OAAO;IACPC,IAAI;IACJ,GAAGC,IAAAA;AACL,GAAC,GAAGjB,UAAU,CAAA;EAEd,oBAAOkB,mBAAa,CAClBT,EAAE,EACF;AACEU,IAAAA,GAAG,EAAExB,YAAY;AACjBY,IAAAA,KAAK,EAAE;AACL,MAAA,mBAAmB,EAAEa,kBAAY,CAACN,OAAO,CAAC;MAC1C,GAAGZ,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA,OAAAA;KACJ;AACDC,IAAAA,SAAS,EAAEa,aAAU,CACnBC,oBAAM,CAAC9B,KAAK,EACZkB,OAAO,IAAIY,oBAAM,CAAC,CAAA,QAAA,EAAWZ,OAAO,CAAE,CAAA,CAAC,EACvCC,SAAS,IAAIW,oBAAM,CAAC,CAAA,UAAA,EAAaX,SAAS,CAAA,CAAE,CAAC,EAC7CC,OAAO,IAAIU,oBAAM,CAAC,WAAWV,OAAO,CAAA,CAAE,CAAC,EACvCC,KAAK,IAAIS,oBAAM,CAAC,CAAST,MAAAA,EAAAA,KAAK,CAAE,CAAA,CAAC,EACjCE,OAAO,IAAIO,oBAAM,CAACP,OAAO,EACzBC,IAAI,IAAIM,oBAAM,CAACN,IAAI,EACnBd,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,cAAc;IAC7B,GAAGS,IAAAA;GACJ,EACDX,QACF,CAAC,CAAA;AACH,CACF,EAAC;;AAED;AACA;AACA;AACA;AACO,MAAMiB,MAAM,gBAAG9B,gBAAU,CAC9B,SAAS8B,MAAMA,CAAC7B,KAAK,EAAEC,YAAY,EAAE;EACnC,oBAAOuB,mBAAa,CAAC1B,KAAK,EAAE;AAC1B,IAAA,GAAGE,KAAK;AACRiB,IAAAA,SAAS,EAAE,YAAY;AACvBQ,IAAAA,GAAG,EAAExB,YAAAA;AACP,GAAC,CAAC,CAAA;AACJ,CACF,EAAC;;AAED;AACA;AACA;AACA;AACO,MAAM6B,MAAM,gBAAG/B,gBAAU,CAC9B,SAAS+B,MAAMA,CAAC9B,KAAK,EAAEC,YAAY,EAAE;EACnC,oBAAOuB,mBAAa,CAAC1B,KAAK,EAAE;AAC1B,IAAA,GAAGE,KAAK;AACRiB,IAAAA,SAAS,EAAE,UAAU;AACrBQ,IAAAA,GAAG,EAAExB,YAAAA;AACP,GAAC,CAAC,CAAA;AACJ,CACF;;;;;;"}
1
+ {"version":3,"file":"Stack.js","sources":["../../../../src/components/Stack/Stack.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'\nimport { cssDimension } from '~/src/utils/style'\n\nimport type { HStackProps, StackProps, VStackProps } from './Stack.types'\n\nimport styles from './Stack.module.scss'\n\n/**\n * `Stack` is a layout component used to group elements together and apply a space between them.\n * @example\n *\n * ```tsx\n * <Stack\n * direction=\"horizontal\"\n * spacing={6}\n * >\n * <div>{ ... }</div>\n * <div>{ ... }</div>\n * </Stack>\n * ```\n */\nexport const Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(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 = 'flex',\n direction,\n justify,\n align,\n spacing,\n reverse,\n wrap,\n ...rest\n } = layoutRest\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-stack-spacing': cssDimension(spacing),\n ...marginStyles.style,\n ...layoutStyles.style,\n ...style,\n },\n className: classNames(\n styles.Stack,\n display && styles[`display-${display}`],\n direction && styles[`direction-${direction}`],\n justify && styles[`justify-${justify}`],\n align && styles[`align-${align}`],\n reverse && styles.reverse,\n wrap && styles.wrap,\n marginStyles.className,\n layoutStyles.className,\n className\n ),\n 'data-testid': 'bezier-stack',\n ...rest,\n },\n children\n )\n }\n)\n\n/**\n * `HStack` is a shorthand component equivalent to `Stack` with a horizontal direction property.\n * @see Stack\n */\nexport const HStack = forwardRef<HTMLElement, HStackProps>(\n function HStack(props, forwardedRef) {\n return createElement(Stack, {\n ...props,\n direction: 'horizontal',\n ref: forwardedRef,\n })\n }\n)\n\n/**\n * `VStack` is a shorthand component equivalent to `Stack` with a vertical direction property.\n * @see Stack\n */\nexport const VStack = forwardRef<HTMLElement, VStackProps>(\n function VStack(props, forwardedRef) {\n return createElement(Stack, {\n ...props,\n direction: 'vertical',\n ref: forwardedRef,\n })\n }\n)\n"],"names":["Stack","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","layoutProps","layoutRest","splitByLayoutProps","marginStyles","getMarginStyles","layoutStyles","getLayoutStyles","children","style","className","as","display","direction","justify","align","spacing","reverse","wrap","rest","createElement","ref","cssDimension","classNames","styles","HStack","VStack"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,KAAK,gBAAGC,gBAAU,CAC7B,SAASD,KAAKA,CAACE,KAAK,EAAEC,YAAY,EAAE;EAClC,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;WACRC,OAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,KAAK;AACVC,IAAAA,OAAO,GAAG,MAAM;IAChBC,SAAS;IACTC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,OAAO;IACPC,IAAI;IACJ,GAAGC;AACL,GAAC,GAAGjB,UAAU;EAEd,oBAAOkB,mBAAa,CAClBT,EAAE,EACF;AACEU,IAAAA,GAAG,EAAExB,YAAY;AACjBY,IAAAA,KAAK,EAAE;AACL,MAAA,mBAAmB,EAAEa,kBAAY,CAACN,OAAO,CAAC;MAC1C,GAAGZ,YAAY,CAACK,KAAK;MACrB,GAAGH,YAAY,CAACG,KAAK;MACrB,GAAGA;KACJ;AACDC,IAAAA,SAAS,EAAEa,aAAU,CACnBC,oBAAM,CAAC9B,KAAK,EACZkB,OAAO,IAAIY,oBAAM,CAAC,CAAA,QAAA,EAAWZ,OAAO,CAAE,CAAA,CAAC,EACvCC,SAAS,IAAIW,oBAAM,CAAC,CAAA,UAAA,EAAaX,SAAS,CAAA,CAAE,CAAC,EAC7CC,OAAO,IAAIU,oBAAM,CAAC,WAAWV,OAAO,CAAA,CAAE,CAAC,EACvCC,KAAK,IAAIS,oBAAM,CAAC,CAAST,MAAAA,EAAAA,KAAK,CAAE,CAAA,CAAC,EACjCE,OAAO,IAAIO,oBAAM,CAACP,OAAO,EACzBC,IAAI,IAAIM,oBAAM,CAACN,IAAI,EACnBd,YAAY,CAACM,SAAS,EACtBJ,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,cAAc;IAC7B,GAAGS;GACJ,EACDX,QACF,CAAC;AACH,CACF;;AAEA;AACA;AACA;AACA;AACO,MAAMiB,MAAM,gBAAG9B,gBAAU,CAC9B,SAAS8B,MAAMA,CAAC7B,KAAK,EAAEC,YAAY,EAAE;EACnC,oBAAOuB,mBAAa,CAAC1B,KAAK,EAAE;AAC1B,IAAA,GAAGE,KAAK;AACRiB,IAAAA,SAAS,EAAE,YAAY;AACvBQ,IAAAA,GAAG,EAAExB;AACP,GAAC,CAAC;AACJ,CACF;;AAEA;AACA;AACA;AACA;AACO,MAAM6B,MAAM,gBAAG/B,gBAAU,CAC9B,SAAS+B,MAAMA,CAAC9B,KAAK,EAAEC,YAAY,EAAE;EACnC,oBAAOuB,mBAAa,CAAC1B,KAAK,EAAE;AAC1B,IAAA,GAAGE,KAAK;AACRiB,IAAAA,SAAS,EAAE,UAAU;AACrBQ,IAAAA,GAAG,EAAExB;AACP,GAAC,CAAC;AACJ,CACF;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Status.js","sources":["../../../../src/components/Status/Status.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef, memo } from 'react'\n\nimport { LockIcon, MoonFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type SemanticColor } from '~/src/types/tokens'\nimport { cssVar } from '~/src/utils/style'\n\nimport { Icon } from '~/src/components/Icon'\n\nimport { type StatusProps, type StatusType } from './Status.types'\n\nimport styles from './Status.module.scss'\n\nconst statusTypesWithIcon: Readonly<StatusType[]> = [\n 'online-crescent',\n 'offline-crescent',\n 'lock',\n]\n\nconst statusColor: Readonly<Record<StatusType, SemanticColor>> = {\n online: 'bgtxt-green-normal',\n offline: 'bg-black-dark',\n 'online-crescent': 'bgtxt-green-normal',\n 'offline-crescent': 'bgtxt-yellow-normal',\n lock: 'txt-black-darker',\n}\n\n/**\n * `Status` is a component to indicate user status.\n */\nexport const Status = memo(\n forwardRef<HTMLDivElement, StatusProps>(function Status(\n { type, size = 'm', style, className, ...rest },\n forwardedRef\n ) {\n const withIcon = statusTypesWithIcon.includes(type)\n const backgroundColor = withIcon ? 'bg-white-high' : statusColor[type]\n\n return (\n <div\n ref={forwardedRef}\n style={\n {\n '--b-status-bg-color': cssVar(backgroundColor),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Status, styles[`size-${size}`], className)}\n {...rest}\n >\n {withIcon && (\n <Icon\n source={type === 'lock' ? LockIcon : MoonFilledIcon}\n size={size === 'm' ? 'xxxs' : 'xs'}\n color={statusColor[type]}\n className={styles.Icon}\n />\n )}\n </div>\n )\n })\n)\n"],"names":["statusTypesWithIcon","statusColor","online","offline","lock","Status","memo","forwardRef","type","size","style","className","rest","forwardedRef","withIcon","includes","backgroundColor","React","createElement","Object","assign","ref","cssVar","classNames","styles","Icon","source","LockIcon","MoonFilledIcon","color"],"mappings":";;;;;;;;;AAgBA,MAAMA,mBAA2C,GAAG,CAClD,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,CACP,CAAA;AAED,MAAMC,WAAwD,GAAG;AAC/DC,EAAAA,MAAM,EAAE,oBAAoB;AAC5BC,EAAAA,OAAO,EAAE,eAAe;AACxB,EAAA,iBAAiB,EAAE,oBAAoB;AACvC,EAAA,kBAAkB,EAAE,qBAAqB;AACzCC,EAAAA,IAAI,EAAE,kBAAA;AACR,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMC,MAAM,gBAAGC,UAAI,cACxBC,gBAAU,CAA8B,SAASF,MAAMA,CACrD;EAAEG,IAAI;AAAEC,EAAAA,IAAI,GAAG,GAAG;SAAEC,OAAK;EAAEC,SAAS;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC/CC,YAAY,EACZ;AACA,EAAA,MAAMC,QAAQ,GAAGd,mBAAmB,CAACe,QAAQ,CAACP,IAAI,CAAC,CAAA;EACnD,MAAMQ,eAAe,GAAGF,QAAQ,GAAG,eAAe,GAAGb,WAAW,CAACO,IAAI,CAAC,CAAA;AAEtE,EAAA,oBACES,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAER,YAAa;AAClBH,IAAAA,KAAK,EACH;AACE,MAAA,qBAAqB,EAAEY,YAAM,CAACN,eAAe,CAAC;MAC9C,GAAGN,OAAAA;KAEN;AACDC,IAAAA,SAAS,EAAEY,aAAU,CAACC,qBAAM,CAACnB,MAAM,EAAEmB,qBAAM,CAAC,CAAQf,KAAAA,EAAAA,IAAI,CAAE,CAAA,CAAC,EAAEE,SAAS,CAAA;GAClEC,EAAAA,IAAI,GAEPE,QAAQ,iBACPG,KAAA,CAAAC,aAAA,CAACO,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAElB,IAAI,KAAK,MAAM,GAAGmB,oBAAQ,GAAGC,0BAAe;AACpDnB,IAAAA,IAAI,EAAEA,IAAI,KAAK,GAAG,GAAG,MAAM,GAAG,IAAK;AACnCoB,IAAAA,KAAK,EAAE5B,WAAW,CAACO,IAAI,CAAE;IACzBG,SAAS,EAAEa,qBAAM,CAACC,IAAAA;AAAK,GACxB,CAEA,CAAC,CAAA;AAEV,CAAC,CACH;;;;"}
1
+ {"version":3,"file":"Status.js","sources":["../../../../src/components/Status/Status.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef, memo } from 'react'\n\nimport { LockIcon, MoonFilledIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type SemanticColor } from '~/src/types/tokens'\nimport { cssVar } from '~/src/utils/style'\n\nimport { Icon } from '~/src/components/Icon'\n\nimport { type StatusProps, type StatusType } from './Status.types'\n\nimport styles from './Status.module.scss'\n\nconst statusTypesWithIcon: Readonly<StatusType[]> = [\n 'online-crescent',\n 'offline-crescent',\n 'lock',\n]\n\nconst statusColor: Readonly<Record<StatusType, SemanticColor>> = {\n online: 'bgtxt-green-normal',\n offline: 'bg-black-dark',\n 'online-crescent': 'bgtxt-green-normal',\n 'offline-crescent': 'bgtxt-yellow-normal',\n lock: 'txt-black-darker',\n}\n\n/**\n * `Status` is a component to indicate user status.\n */\nexport const Status = memo(\n forwardRef<HTMLDivElement, StatusProps>(function Status(\n { type, size = 'm', style, className, ...rest },\n forwardedRef\n ) {\n const withIcon = statusTypesWithIcon.includes(type)\n const backgroundColor = withIcon ? 'bg-white-high' : statusColor[type]\n\n return (\n <div\n ref={forwardedRef}\n style={\n {\n '--b-status-bg-color': cssVar(backgroundColor),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Status, styles[`size-${size}`], className)}\n {...rest}\n >\n {withIcon && (\n <Icon\n source={type === 'lock' ? LockIcon : MoonFilledIcon}\n size={size === 'm' ? 'xxxs' : 'xs'}\n color={statusColor[type]}\n className={styles.Icon}\n />\n )}\n </div>\n )\n })\n)\n"],"names":["statusTypesWithIcon","statusColor","online","offline","lock","Status","memo","forwardRef","type","size","style","className","rest","forwardedRef","withIcon","includes","backgroundColor","React","createElement","Object","assign","ref","cssVar","classNames","styles","Icon","source","LockIcon","MoonFilledIcon","color"],"mappings":";;;;;;;;;AAgBA,MAAMA,mBAA2C,GAAG,CAClD,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,CACP;AAED,MAAMC,WAAwD,GAAG;AAC/DC,EAAAA,MAAM,EAAE,oBAAoB;AAC5BC,EAAAA,OAAO,EAAE,eAAe;AACxB,EAAA,iBAAiB,EAAE,oBAAoB;AACvC,EAAA,kBAAkB,EAAE,qBAAqB;AACzCC,EAAAA,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;AACO,MAAMC,MAAM,gBAAGC,UAAI,cACxBC,gBAAU,CAA8B,SAASF,MAAMA,CACrD;EAAEG,IAAI;AAAEC,EAAAA,IAAI,GAAG,GAAG;SAAEC,OAAK;EAAEC,SAAS;EAAE,GAAGC;AAAK,CAAC,EAC/CC,YAAY,EACZ;AACA,EAAA,MAAMC,QAAQ,GAAGd,mBAAmB,CAACe,QAAQ,CAACP,IAAI,CAAC;EACnD,MAAMQ,eAAe,GAAGF,QAAQ,GAAG,eAAe,GAAGb,WAAW,CAACO,IAAI,CAAC;AAEtE,EAAA,oBACES,KAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAER,YAAa;AAClBH,IAAAA,KAAK,EACH;AACE,MAAA,qBAAqB,EAAEY,YAAM,CAACN,eAAe,CAAC;MAC9C,GAAGN;KAEN;AACDC,IAAAA,SAAS,EAAEY,aAAU,CAACC,qBAAM,CAACnB,MAAM,EAAEmB,qBAAM,CAAC,CAAQf,KAAAA,EAAAA,IAAI,CAAE,CAAA,CAAC,EAAEE,SAAS;GAClEC,EAAAA,IAAI,GAEPE,QAAQ,iBACPG,KAAA,CAAAC,aAAA,CAACO,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAElB,IAAI,KAAK,MAAM,GAAGmB,oBAAQ,GAAGC,0BAAe;AACpDnB,IAAAA,IAAI,EAAEA,IAAI,KAAK,GAAG,GAAG,MAAM,GAAG,IAAK;AACnCoB,IAAAA,KAAK,EAAE5B,WAAW,CAACO,IAAI,CAAE;IACzBG,SAAS,EAAEa,qBAAM,CAACC;AAAK,GACxB,CAEA,CAAC;AAEV,CAAC,CACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport classNames from 'classnames'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport { type SwitchProps } from './Switch.types'\n\nimport styles from './Switch.module.scss'\n\nexport const SWITCH_TEST_ID = 'bezier-switch'\n\n/**\n * `Switch` is an input component where user can toggle checked state of the element.\n * @example\n * ```tsx\n * <Switch\n * size=\"m\"\n * checked\n * />\n * ```\n */\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n checked,\n defaultChecked = false,\n onCheckedChange,\n size = 'm',\n className,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, required, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n return (\n <SwitchPrimitive.Root\n asChild\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n required={required}\n disabled={disabled}\n data-testid={SWITCH_TEST_ID}\n {...ownProps}\n >\n <BaseButton\n ref={forwardedRef}\n className={classNames(\n styles.Switch,\n styles[`size-${size}`],\n className\n )}\n >\n <SwitchPrimitive.Thumb asChild>\n <span className={styles.SwitchThumb} />\n </SwitchPrimitive.Thumb>\n </BaseButton>\n </SwitchPrimitive.Root>\n )\n }\n)\n"],"names":["SWITCH_TEST_ID","Switch","forwardRef","checked","defaultChecked","onCheckedChange","size","className","rest","forwardedRef","disabled","required","hasError","ownProps","useFormFieldProps","React","createElement","SwitchPrimitive","Object","assign","asChild","BaseButton","ref","classNames","styles","SwitchThumb"],"mappings":";;;;;;;;;AAcO,MAAMA,cAAc,GAAG,gBAAe;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,MAAM,gBAAGC,gBAAU,CAC9B,SAASD,MAAMA,CACb;EACEE,OAAO;AACPC,EAAAA,cAAc,GAAG,KAAK;EACtBC,eAAe;AACfC,EAAAA,IAAI,GAAG,GAAG;EACVC,SAAS;EACT,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC,QAAAA;AAAS,GAAC,GACjDC,6BAAiB,CAACN,IAAI,CAAC,CAAA;EAEzB,oBACEO,KAAA,CAAAC,aAAA,CAACC,UAAoB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACnBC,OAAO,EAAA,IAAA;AACPjB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,QAAQ,EAAEA,QAAS;IACnB,aAAaV,EAAAA,cAAAA;AAAe,GAAA,EACxBa,QAAQ,CAEZE,eAAAA,KAAA,CAAAC,aAAA,CAACK,qBAAU,EAAA;AACTC,IAAAA,GAAG,EAAEb,YAAa;AAClBF,IAAAA,SAAS,EAAEgB,eAAU,CACnBC,qBAAM,CAACvB,MAAM,EACbuB,qBAAM,CAAC,CAAQlB,KAAAA,EAAAA,IAAI,CAAE,CAAA,CAAC,EACtBC,SACF,CAAA;AAAE,GAAA,eAEFQ,KAAA,CAAAC,aAAA,CAACC,WAAqB,EAAA;IAACG,OAAO,EAAA,IAAA;GAC5BL,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;IAAMT,SAAS,EAAEiB,qBAAM,CAACC,WAAAA;GAAc,CACjB,CACb,CACQ,CAAC,CAAA;AAE3B,CACF;;;;;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport classNames from 'classnames'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport { type SwitchProps } from './Switch.types'\n\nimport styles from './Switch.module.scss'\n\nexport const SWITCH_TEST_ID = 'bezier-switch'\n\n/**\n * `Switch` is an input component where user can toggle checked state of the element.\n * @example\n * ```tsx\n * <Switch\n * size=\"m\"\n * checked\n * />\n * ```\n */\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n checked,\n defaultChecked = false,\n onCheckedChange,\n size = 'm',\n className,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, required, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n return (\n <SwitchPrimitive.Root\n asChild\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n required={required}\n disabled={disabled}\n data-testid={SWITCH_TEST_ID}\n {...ownProps}\n >\n <BaseButton\n ref={forwardedRef}\n className={classNames(\n styles.Switch,\n styles[`size-${size}`],\n className\n )}\n >\n <SwitchPrimitive.Thumb asChild>\n <span className={styles.SwitchThumb} />\n </SwitchPrimitive.Thumb>\n </BaseButton>\n </SwitchPrimitive.Root>\n )\n }\n)\n"],"names":["SWITCH_TEST_ID","Switch","forwardRef","checked","defaultChecked","onCheckedChange","size","className","rest","forwardedRef","disabled","required","hasError","ownProps","useFormFieldProps","React","createElement","SwitchPrimitive","Object","assign","asChild","BaseButton","ref","classNames","styles","SwitchThumb"],"mappings":";;;;;;;;;AAcO,MAAMA,cAAc,GAAG;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaC,MAAM,gBAAGC,gBAAU,CAC9B,SAASD,MAAMA,CACb;EACEE,OAAO;AACPC,EAAAA,cAAc,GAAG,KAAK;EACtBC,eAAe;AACfC,EAAAA,IAAI,GAAG,GAAG;EACVC,SAAS;EACT,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;AAAS,GAAC,GACjDC,6BAAiB,CAACN,IAAI,CAAC;EAEzB,oBACEO,KAAA,CAAAC,aAAA,CAACC,UAAoB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACnBC,OAAO,EAAA,IAAA;AACPjB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,QAAQ,EAAEA,QAAS;IACnB,aAAaV,EAAAA;AAAe,GAAA,EACxBa,QAAQ,CAEZE,eAAAA,KAAA,CAAAC,aAAA,CAACK,qBAAU,EAAA;AACTC,IAAAA,GAAG,EAAEb,YAAa;AAClBF,IAAAA,SAAS,EAAEgB,eAAU,CACnBC,qBAAM,CAACvB,MAAM,EACbuB,qBAAM,CAAC,CAAQlB,KAAAA,EAAAA,IAAI,CAAE,CAAA,CAAC,EACtBC,SACF;AAAE,GAAA,eAEFQ,KAAA,CAAAC,aAAA,CAACC,WAAqB,EAAA;IAACG,OAAO,EAAA;GAC5BL,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;IAAMT,SAAS,EAAEiB,qBAAM,CAACC;GAAc,CACjB,CACb,CACQ,CAAC;AAE3B,CACF;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport { OpenInNewIcon } from '@channel.io/bezier-icons'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport * as ToolbarPrimitive from '@radix-ui/react-toolbar'\nimport classNames from 'classnames'\n\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport {\n type TabActionElement,\n type TabActionProps,\n type TabActionsProps,\n type TabContentProps,\n type TabItemProps,\n type TabItemsProps,\n type TabListContextValue,\n type TabListProps,\n type TabSize,\n type TabsProps,\n} from '~/src/components/Tabs/Tabs.types'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './Tabs.module.scss'\n\n/**\n * `Tabs` is a set of layered section of content.\n *\n * `Tabs` is a context of the Tab-related components and gives accessibility properties to Tab-related components.\n * @example\n *\n * ```tsx\n * <Tabs>\n * <TabList>\n * <TabItems>\n * <TabItem />\n * <TabItems />\n * <TabActions>\n * <TabAction />\n * </TabActions>\n * </TabList>\n * <TabContent />\n * </Tabs>\n * ```\n */\n\nexport const Tabs = forwardRef<HTMLDivElement, TabsProps>(function Tabs(\n { className, activationMode = 'automatic', dir, children, ...rest },\n forwardedRef\n) {\n return (\n <TabsPrimitive.Root\n className={classNames(styles.Tabs, className)}\n activationMode={activationMode}\n ref={forwardedRef}\n dir={dir as 'ltr' | 'rtl'}\n {...rest}\n >\n {children}\n </TabsPrimitive.Root>\n )\n})\n\nconst [TabListContextProvider, useTabListContext] =\n createContext<TabListContextValue>({\n size: 'm',\n })\n\n/**\n * `TabList` gives size context to its children and decides the layout of `TabItems` and `TabActions`.\n */\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList({ className, children, size = 'm', ...rest }, forwardedRef) {\n const heightContextValue = useMemo(\n () => ({\n size,\n }),\n [size]\n )\n\n return (\n <TabListContextProvider value={heightContextValue}>\n <div\n className={classNames(\n styles.TabList,\n styles[`size-${size}`],\n className\n )}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </div>\n </TabListContextProvider>\n )\n }\n)\n\n/**\n * `TabItems` is a flex container which has `TabItem` flex items.\n */\nexport const TabItems = forwardRef<HTMLDivElement, TabItemsProps>(\n function TabItems({ className, children, ...rest }, forwardedRef) {\n return (\n <TabsPrimitive.TabsList\n className={classNames(styles.TabItems, className)}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </TabsPrimitive.TabsList>\n )\n }\n)\n\nfunction getButtonSizeBy(size: TabSize) {\n return (\n {\n l: 'l',\n m: 'm',\n s: 's',\n } as const\n )[size]\n}\n\n/**\n * `TabItem` is a button that activates its associated content.\n */\nexport const TabItem = forwardRef<HTMLButtonElement, TabItemProps>(\n function TabItem(\n { className, disabled, value, children, ...rest },\n forwardedRef\n ) {\n const { size } = useTabListContext()\n\n if (typeof children !== 'string') {\n return null\n }\n\n return (\n <TabsPrimitive.TabsTrigger\n disabled={disabled}\n value={value}\n asChild\n >\n <Button\n className={classNames(styles.TabItem, className)}\n disabled={disabled}\n text={children}\n size={getButtonSizeBy(size)}\n colorVariant=\"monochrome-light\"\n styleVariant=\"tertiary\"\n ref={forwardedRef}\n {...rest}\n />\n </TabsPrimitive.TabsTrigger>\n )\n }\n)\n\n/**\n * `TabContent` has content associated with `TabItem`.\n */\nexport const TabContent = forwardRef<HTMLDivElement, TabContentProps>(\n function TabContent({ children, value, ...rest }, forwardedRef) {\n return (\n <TabsPrimitive.Content\n value={value}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </TabsPrimitive.Content>\n )\n }\n)\n\n/**\n * `TabActions` is a flex container which has `TabAction` flex items.\n * It also gives accessibility properties to its children.\n */\nexport const TabActions = forwardRef<HTMLDivElement, TabActionsProps>(\n function TabActions({ className, dir, children, ...rest }, forwardedRef) {\n return (\n <ToolbarPrimitive.Root\n className={classNames(styles.TabActions, className)}\n aria-label=\"More actions\"\n ref={forwardedRef}\n dir={dir as 'ltr' | 'rtl'}\n {...rest}\n >\n {children}\n </ToolbarPrimitive.Root>\n )\n }\n)\n\nfunction getTypoBy(size: TabSize) {\n return (\n {\n l: '14',\n m: '14',\n s: '13',\n } as const\n )[size]\n}\n\nfunction getIconSizeBy(size: TabSize) {\n return (\n {\n l: 's',\n m: 'xs',\n s: 'xs',\n } as const\n )[size]\n}\n\n/**\n * `TabAction` is a button for more action to open a new link or navigate to a different url.\n * If it has `href` props, it should act as a link.\n */\nexport const TabAction = forwardRef<\n TabActionElement<string | undefined>,\n TabActionProps<string | undefined>\n>(function TabAction(\n { className: classNameProp, href, children, onClick, ...rest },\n forwardedRef\n) {\n const { size } = useTabListContext()\n const className = classNames(\n styles.TabAction,\n styles[`size-${size}`],\n classNameProp\n )\n\n return isNil(href) ? (\n <ToolbarPrimitive.Button\n asChild\n className={className}\n onClick={onClick}\n ref={forwardedRef}\n {...rest}\n >\n <BaseButton>\n <Text\n bold\n typo={getTypoBy(size)}\n >\n {children}\n </Text>\n </BaseButton>\n </ToolbarPrimitive.Button>\n ) : (\n <ToolbarPrimitive.Link\n className={className}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n // @ts-expect-error\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n {children}\n </Text>\n <Icon\n source={OpenInNewIcon}\n size={getIconSizeBy(size)}\n marginLeft={5}\n />\n </ToolbarPrimitive.Link>\n )\n}) as <Link extends string | undefined>(\n props: TabActionProps<Link> & {\n ref?: React.ForwardedRef<TabActionElement<Link>>\n }\n) => JSX.Element\n"],"names":["Tabs","forwardRef","className","activationMode","dir","children","rest","forwardedRef","React","createElement","TabsPrimitive","Object","assign","classNames","styles","ref","TabListContextProvider","useTabListContext","createContext","size","TabList","heightContextValue","useMemo","value","TabItems","getButtonSizeBy","l","m","s","TabItem","disabled","asChild","Button","text","colorVariant","styleVariant","TabContent","TabActions","ToolbarPrimitive","getTypoBy","getIconSizeBy","TabAction","classNameProp","href","onClick","isNil","BaseButton","Text","bold","typo","target","rel","Icon","source","OpenInNewIcon","marginLeft"],"mappings":";;;;;;;;;;;;;;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAEaA,IAAI,gBAAGC,gBAAU,CAA4B,SAASD,IAAIA,CACrE;EAAEE,SAAS;AAAEC,EAAAA,cAAc,GAAG,WAAW;EAAEC,GAAG;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EACnEC,YAAY,EACZ;EACA,oBACEC,KAAA,CAAAC,aAAA,CAACC,UAAkB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACjBV,SAAS,EAAEW,eAAU,CAACC,mBAAM,CAACd,IAAI,EAAEE,SAAS,CAAE;AAC9CC,IAAAA,cAAc,EAAEA,cAAe;AAC/BY,IAAAA,GAAG,EAAER,YAAa;AAClBH,IAAAA,GAAG,EAAEA,GAAAA;GACDE,EAAAA,IAAI,CAEPD,EAAAA,QACiB,CAAC,CAAA;AAEzB,CAAC,EAAC;AAEF,MAAM,CAACW,sBAAsB,EAAEC,iBAAiB,CAAC,GAC/CC,mBAAa,CAAsB;AACjCC,EAAAA,IAAI,EAAE,GAAA;AACR,CAAC,CAAC,CAAA;;AAEJ;AACA;AACA;MACaC,OAAO,gBAAGnB,gBAAU,CAC/B,SAASmB,OAAOA,CAAC;EAAElB,SAAS;EAAEG,QAAQ;AAAEc,EAAAA,IAAI,GAAG,GAAG;EAAE,GAAGb,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;AAC3E,EAAA,MAAMc,kBAAkB,GAAGC,aAAO,CAChC,OAAO;AACLH,IAAAA,IAAAA;AACF,GAAC,CAAC,EACF,CAACA,IAAI,CACP,CAAC,CAAA;AAED,EAAA,oBACEX,KAAA,CAAAC,aAAA,CAACO,sBAAsB,EAAA;AAACO,IAAAA,KAAK,EAAEF,kBAAAA;AAAmB,GAAA,eAChDb,KAAA,CAAAC,aAAA,CAAAE,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEV,IAAAA,SAAS,EAAEW,eAAU,CACnBC,mBAAM,CAACM,OAAO,EACdN,mBAAM,CAAC,QAAQK,IAAI,CAAA,CAAE,CAAC,EACtBjB,SACF,CAAE;AACFa,IAAAA,GAAG,EAAER,YAAAA;AAAa,GAAA,EACdD,IAAI,CAAA,EAEPD,QACE,CACiB,CAAC,CAAA;AAE7B,CACF,EAAC;;AAED;AACA;AACA;MACamB,QAAQ,gBAAGvB,gBAAU,CAChC,SAASuB,QAAQA,CAAC;EAAEtB,SAAS;EAAEG,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;EAChE,oBACEC,KAAA,CAAAC,aAAA,CAACC,cAAsB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACrBV,SAAS,EAAEW,eAAU,CAACC,mBAAM,CAACU,QAAQ,EAAEtB,SAAS,CAAE;AAClDa,IAAAA,GAAG,EAAER,YAAAA;GACDD,EAAAA,IAAI,CAEPD,EAAAA,QACqB,CAAC,CAAA;AAE7B,CACF,EAAC;AAED,SAASoB,eAAeA,CAACN,IAAa,EAAE;EACtC,OACE;AACEO,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAA;GACJ,CACDT,IAAI,CAAC,CAAA;AACT,CAAA;;AAEA;AACA;AACA;MACaU,OAAO,gBAAG5B,gBAAU,CAC/B,SAAS4B,OAAOA,CACd;EAAE3B,SAAS;EAAE4B,QAAQ;EAAEP,KAAK;EAAElB,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EACjDC,YAAY,EACZ;EACA,MAAM;AAAEY,IAAAA,IAAAA;GAAM,GAAGF,iBAAiB,EAAE,CAAA;AAEpC,EAAA,IAAI,OAAOZ,QAAQ,KAAK,QAAQ,EAAE;AAChC,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,oBACEG,KAAA,CAAAC,aAAA,CAACC,iBAAyB,EAAA;AACxBoB,IAAAA,QAAQ,EAAEA,QAAS;AACnBP,IAAAA,KAAK,EAAEA,KAAM;IACbQ,OAAO,EAAA,IAAA;GAEPvB,eAAAA,KAAA,CAAAC,aAAA,CAACuB,aAAM,EAAArB,MAAA,CAAAC,MAAA,CAAA;IACLV,SAAS,EAAEW,eAAU,CAACC,mBAAM,CAACe,OAAO,EAAE3B,SAAS,CAAE;AACjD4B,IAAAA,QAAQ,EAAEA,QAAS;AACnBG,IAAAA,IAAI,EAAE5B,QAAS;AACfc,IAAAA,IAAI,EAAEM,eAAe,CAACN,IAAI,CAAE;AAC5Be,IAAAA,YAAY,EAAC,kBAAkB;AAC/BC,IAAAA,YAAY,EAAC,UAAU;AACvBpB,IAAAA,GAAG,EAAER,YAAAA;GACDD,EAAAA,IAAI,CACT,CACwB,CAAC,CAAA;AAEhC,CACF,EAAC;;AAED;AACA;AACA;MACa8B,UAAU,gBAAGnC,gBAAU,CAClC,SAASmC,UAAUA,CAAC;EAAE/B,QAAQ;EAAEkB,KAAK;EAAE,GAAGjB,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;EAC9D,oBACEC,KAAA,CAAAC,aAAA,CAACC,aAAqB,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACpBW,IAAAA,KAAK,EAAEA,KAAM;AACbR,IAAAA,GAAG,EAAER,YAAAA;GACDD,EAAAA,IAAI,CAEPD,EAAAA,QACoB,CAAC,CAAA;AAE5B,CACF,EAAC;;AAED;AACA;AACA;AACA;MACagC,UAAU,gBAAGpC,gBAAU,CAClC,SAASoC,UAAUA,CAAC;EAAEnC,SAAS;EAAEE,GAAG;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,EAAE;EACvE,oBACEC,KAAA,CAAAC,aAAA,CAAC6B,YAAqB,EAAA3B,MAAA,CAAAC,MAAA,CAAA;IACpBV,SAAS,EAAEW,eAAU,CAACC,mBAAM,CAACuB,UAAU,EAAEnC,SAAS,CAAE;AACpD,IAAA,YAAA,EAAW,cAAc;AACzBa,IAAAA,GAAG,EAAER,YAAa;AAClBH,IAAAA,GAAG,EAAEA,GAAAA;GACDE,EAAAA,IAAI,CAEPD,EAAAA,QACoB,CAAC,CAAA;AAE5B,CACF,EAAC;AAED,SAASkC,SAASA,CAACpB,IAAa,EAAE;EAChC,OACE;AACEO,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAA;GACJ,CACDT,IAAI,CAAC,CAAA;AACT,CAAA;AAEA,SAASqB,aAAaA,CAACrB,IAAa,EAAE;EACpC,OACE;AACEO,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,IAAA;GACJ,CACDT,IAAI,CAAC,CAAA;AACT,CAAA;;AAEA;AACA;AACA;AACA;MACasB,SAAS,gBAAGxC,gBAAU,CAGjC,SAASwC,SAASA,CAClB;AAAEvC,EAAAA,SAAS,EAAEwC,aAAa;EAAEC,IAAI;EAAEtC,QAAQ;EAAEuC,OAAO;EAAE,GAAGtC,IAAAA;AAAK,CAAC,EAC9DC,YAAY,EACZ;EACA,MAAM;AAAEY,IAAAA,IAAAA;GAAM,GAAGF,iBAAiB,EAAE,CAAA;AACpC,EAAA,MAAMf,SAAS,GAAGW,eAAU,CAC1BC,mBAAM,CAAC2B,SAAS,EAChB3B,mBAAM,CAAC,QAAQK,IAAI,CAAA,CAAE,CAAC,EACtBuB,aACF,CAAC,CAAA;AAED,EAAA,OAAOG,UAAK,CAACF,IAAI,CAAC,gBAChBnC,KAAA,CAAAC,aAAA,CAAC6B,cAAuB,EAAA3B,MAAA,CAAAC,MAAA,CAAA;IACtBmB,OAAO,EAAA,IAAA;AACP7B,IAAAA,SAAS,EAAEA,SAAU;AACrB0C,IAAAA,OAAO,EAAEA,OAAQ;AACjB7B,IAAAA,GAAG,EAAER,YAAAA;AAAa,GAAA,EACdD,IAAI,CAAA,eAERE,KAAA,CAAAC,aAAA,CAACqC,qBAAU,EAAA,IAAA,eACTtC,KAAA,CAAAC,aAAA,CAACsC,SAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAEV,SAAS,CAACpB,IAAI,CAAA;AAAE,GAAA,EAErBd,QACG,CACI,CACW,CAAC,gBAE1BG,KAAA,CAAAC,aAAA,CAAC6B,YAAqB,EAAA3B,MAAA,CAAAC,MAAA,CAAA;AACpBV,IAAAA,SAAS,EAAEA,SAAU;AACrByC,IAAAA,IAAI,EAAEA,IAAK;AACXO,IAAAA,MAAM,EAAC,QAAQ;AACfC,IAAAA,GAAG,EAAC,qBAAA;AACJ;AAAA;AACApC,IAAAA,GAAG,EAAER,YAAAA;AAAa,GAAA,EACdD,IAAI,CAERE,eAAAA,KAAA,CAAAC,aAAA,CAACsC,SAAI,EAAA;IACHC,IAAI,EAAA,IAAA;IACJC,IAAI,EAAEV,SAAS,CAACpB,IAAI,CAAA;AAAE,GAAA,EAErBd,QACG,CAAC,eACPG,KAAA,CAAAC,aAAA,CAAC2C,SAAI,EAAA;AACHC,IAAAA,MAAM,EAAEC,yBAAc;AACtBnC,IAAAA,IAAI,EAAEqB,aAAa,CAACrB,IAAI,CAAE;AAC1BoC,IAAAA,UAAU,EAAE,CAAA;AAAE,GACf,CACoB,CACxB,CAAA;AACH,CAAC;;;;;;;;;;"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport { OpenInNewIcon } from '@channel.io/bezier-icons'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport * as ToolbarPrimitive from '@radix-ui/react-toolbar'\nimport classNames from 'classnames'\n\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport {\n type TabActionElement,\n type TabActionProps,\n type TabActionsProps,\n type TabContentProps,\n type TabItemProps,\n type TabItemsProps,\n type TabListContextValue,\n type TabListProps,\n type TabSize,\n type TabsProps,\n} from '~/src/components/Tabs/Tabs.types'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './Tabs.module.scss'\n\n/**\n * `Tabs` is a set of layered section of content.\n *\n * `Tabs` is a context of the Tab-related components and gives accessibility properties to Tab-related components.\n * @example\n *\n * ```tsx\n * <Tabs>\n * <TabList>\n * <TabItems>\n * <TabItem />\n * <TabItems />\n * <TabActions>\n * <TabAction />\n * </TabActions>\n * </TabList>\n * <TabContent />\n * </Tabs>\n * ```\n */\n\nexport const Tabs = forwardRef<HTMLDivElement, TabsProps>(function Tabs(\n { className, activationMode = 'automatic', dir, children, ...rest },\n forwardedRef\n) {\n return (\n <TabsPrimitive.Root\n className={classNames(styles.Tabs, className)}\n activationMode={activationMode}\n ref={forwardedRef}\n dir={dir as 'ltr' | 'rtl'}\n {...rest}\n >\n {children}\n </TabsPrimitive.Root>\n )\n})\n\nconst [TabListContextProvider, useTabListContext] =\n createContext<TabListContextValue>({\n size: 'm',\n })\n\n/**\n * `TabList` gives size context to its children and decides the layout of `TabItems` and `TabActions`.\n */\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList({ className, children, size = 'm', ...rest }, forwardedRef) {\n const heightContextValue = useMemo(\n () => ({\n size,\n }),\n [size]\n )\n\n return (\n <TabListContextProvider value={heightContextValue}>\n <div\n className={classNames(\n styles.TabList,\n styles[`size-${size}`],\n className\n )}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </div>\n </TabListContextProvider>\n )\n }\n)\n\n/**\n * `TabItems` is a flex container which has `TabItem` flex items.\n */\nexport const TabItems = forwardRef<HTMLDivElement, TabItemsProps>(\n function TabItems({ className, children, ...rest }, forwardedRef) {\n return (\n <TabsPrimitive.TabsList\n className={classNames(styles.TabItems, className)}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </TabsPrimitive.TabsList>\n )\n }\n)\n\nfunction getButtonSizeBy(size: TabSize) {\n return (\n {\n l: 'l',\n m: 'm',\n s: 's',\n } as const\n )[size]\n}\n\n/**\n * `TabItem` is a button that activates its associated content.\n */\nexport const TabItem = forwardRef<HTMLButtonElement, TabItemProps>(\n function TabItem(\n { className, disabled, value, children, ...rest },\n forwardedRef\n ) {\n const { size } = useTabListContext()\n\n if (typeof children !== 'string') {\n return null\n }\n\n return (\n <TabsPrimitive.TabsTrigger\n disabled={disabled}\n value={value}\n asChild\n >\n <Button\n className={classNames(styles.TabItem, className)}\n disabled={disabled}\n text={children}\n size={getButtonSizeBy(size)}\n colorVariant=\"monochrome-light\"\n styleVariant=\"tertiary\"\n ref={forwardedRef}\n {...rest}\n />\n </TabsPrimitive.TabsTrigger>\n )\n }\n)\n\n/**\n * `TabContent` has content associated with `TabItem`.\n */\nexport const TabContent = forwardRef<HTMLDivElement, TabContentProps>(\n function TabContent({ children, value, ...rest }, forwardedRef) {\n return (\n <TabsPrimitive.Content\n value={value}\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </TabsPrimitive.Content>\n )\n }\n)\n\n/**\n * `TabActions` is a flex container which has `TabAction` flex items.\n * It also gives accessibility properties to its children.\n */\nexport const TabActions = forwardRef<HTMLDivElement, TabActionsProps>(\n function TabActions({ className, dir, children, ...rest }, forwardedRef) {\n return (\n <ToolbarPrimitive.Root\n className={classNames(styles.TabActions, className)}\n aria-label=\"More actions\"\n ref={forwardedRef}\n dir={dir as 'ltr' | 'rtl'}\n {...rest}\n >\n {children}\n </ToolbarPrimitive.Root>\n )\n }\n)\n\nfunction getTypoBy(size: TabSize) {\n return (\n {\n l: '14',\n m: '14',\n s: '13',\n } as const\n )[size]\n}\n\nfunction getIconSizeBy(size: TabSize) {\n return (\n {\n l: 's',\n m: 'xs',\n s: 'xs',\n } as const\n )[size]\n}\n\n/**\n * `TabAction` is a button for more action to open a new link or navigate to a different url.\n * If it has `href` props, it should act as a link.\n */\nexport const TabAction = forwardRef<\n TabActionElement<string | undefined>,\n TabActionProps<string | undefined>\n>(function TabAction(\n { className: classNameProp, href, children, onClick, ...rest },\n forwardedRef\n) {\n const { size } = useTabListContext()\n const className = classNames(\n styles.TabAction,\n styles[`size-${size}`],\n classNameProp\n )\n\n return isNil(href) ? (\n <ToolbarPrimitive.Button\n asChild\n className={className}\n onClick={onClick}\n ref={forwardedRef}\n {...rest}\n >\n <BaseButton>\n <Text\n bold\n typo={getTypoBy(size)}\n >\n {children}\n </Text>\n </BaseButton>\n </ToolbarPrimitive.Button>\n ) : (\n <ToolbarPrimitive.Link\n className={className}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n // @ts-expect-error\n ref={forwardedRef}\n {...rest}\n >\n <Text\n bold\n typo={getTypoBy(size)}\n >\n {children}\n </Text>\n <Icon\n source={OpenInNewIcon}\n size={getIconSizeBy(size)}\n marginLeft={5}\n />\n </ToolbarPrimitive.Link>\n )\n}) as <Link extends string | undefined>(\n props: TabActionProps<Link> & {\n ref?: React.ForwardedRef<TabActionElement<Link>>\n }\n) => JSX.Element\n"],"names":["Tabs","forwardRef","className","activationMode","dir","children","rest","forwardedRef","React","createElement","TabsPrimitive","Object","assign","classNames","styles","ref","TabListContextProvider","useTabListContext","createContext","size","TabList","heightContextValue","useMemo","value","TabItems","getButtonSizeBy","l","m","s","TabItem","disabled","asChild","Button","text","colorVariant","styleVariant","TabContent","TabActions","ToolbarPrimitive","getTypoBy","getIconSizeBy","TabAction","classNameProp","href","onClick","isNil","BaseButton","Text","bold","typo","target","rel","Icon","source","OpenInNewIcon","marginLeft"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, memo } from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type TagProps } from './Tag.types'\n\nimport styles from './Tag.module.scss'\n\nexport const TAG_TEST_ID = 'bezier-tag'\nexport const TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon'\n\n/**\n * `Tag` is a component for representing tag, which shows close icon when `onDelete` property is specified.\n * @example\n * ```tsx\n * <Tag\n * size=\"m\"\n * variant=\"default\"\n * onDelete={handleDelete}\n * >\n * Payment\n * </Tag>\n * ```\n */\nexport const Tag = memo(\n forwardRef<HTMLDivElement, TagProps>(function Tag(\n { size = 'm', variant = 'default', children, onDelete, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={TAG_TEST_ID}\n {...rest}\n >\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={2}\n color=\"txt-black-darkest\"\n >\n {children}\n </BaseTagBadgeText>\n )}\n\n {!isNil(onDelete) && (\n <Icon\n role=\"button\"\n tabIndex={0}\n className={styles.TagDeleteIcon}\n source={CancelSmallIcon}\n size=\"xs\"\n color=\"txt-black-darker\"\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n data-testid={TAG_DELETE_TEST_ID}\n />\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["TAG_TEST_ID","TAG_DELETE_TEST_ID","Tag","memo","forwardRef","size","variant","children","onDelete","rest","forwardedRef","React","createElement","BaseTagBadge","Object","assign","ref","isEmpty","BaseTagBadgeText","marginHorizontal","color","isNil","Icon","role","tabIndex","className","styles","TagDeleteIcon","source","CancelSmallIcon","onClick","e","stopPropagation"],"mappings":";;;;;;;;;AAeO,MAAMA,WAAW,GAAG,aAAY;AAChC,MAAMC,kBAAkB,GAAG,yBAAwB;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,GAAG,gBAAGC,UAAI,cACrBC,gBAAU,CAA2B,SAASF,GAAGA,CAC/C;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAChEC,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,aAAaN,EAAAA,WAAAA;AAAY,GAAA,EACrBS,IAAI,CAAA,EAEP,CAACQ,YAAO,CAACV,QAAQ,CAAC,iBACjBI,KAAA,CAAAC,aAAA,CAACM,6BAAgB,EAAA;AACfb,IAAAA,IAAI,EAAEA,IAAK;AACXc,IAAAA,gBAAgB,EAAE,CAAE;AACpBC,IAAAA,KAAK,EAAC,mBAAA;AAAmB,GAAA,EAExBb,QACe,CACnB,EAEA,CAACc,UAAK,CAACb,QAAQ,CAAC,iBACfG,KAAA,CAAAC,aAAA,CAACU,SAAI,EAAA;AACHC,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,QAAQ,EAAE,CAAE;IACZC,SAAS,EAAEC,kBAAM,CAACC,aAAc;AAChCC,IAAAA,MAAM,EAAEC,2BAAgB;AACxBxB,IAAAA,IAAI,EAAC,IAAI;AACTe,IAAAA,KAAK,EAAC,kBAAkB;IACxBU,OAAO,EAAGC,CAAC,IAAK;MACdA,CAAC,CAACC,eAAe,EAAE,CAAA;MACnBxB,QAAQ,CAACuB,CAAC,CAAC,CAAA;KACX;IACF,aAAa9B,EAAAA,kBAAAA;AAAmB,GACjC,CAES,CAAC,CAAA;AAEnB,CAAC,CACH;;;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, memo } from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type TagProps } from './Tag.types'\n\nimport styles from './Tag.module.scss'\n\nexport const TAG_TEST_ID = 'bezier-tag'\nexport const TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon'\n\n/**\n * `Tag` is a component for representing tag, which shows close icon when `onDelete` property is specified.\n * @example\n * ```tsx\n * <Tag\n * size=\"m\"\n * variant=\"default\"\n * onDelete={handleDelete}\n * >\n * Payment\n * </Tag>\n * ```\n */\nexport const Tag = memo(\n forwardRef<HTMLDivElement, TagProps>(function Tag(\n { size = 'm', variant = 'default', children, onDelete, ...rest },\n forwardedRef\n ) {\n return (\n <BaseTagBadge\n ref={forwardedRef}\n size={size}\n variant={variant}\n data-testid={TAG_TEST_ID}\n {...rest}\n >\n {!isEmpty(children) && (\n <BaseTagBadgeText\n size={size}\n marginHorizontal={2}\n color=\"txt-black-darkest\"\n >\n {children}\n </BaseTagBadgeText>\n )}\n\n {!isNil(onDelete) && (\n <Icon\n role=\"button\"\n tabIndex={0}\n className={styles.TagDeleteIcon}\n source={CancelSmallIcon}\n size=\"xs\"\n color=\"txt-black-darker\"\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n data-testid={TAG_DELETE_TEST_ID}\n />\n )}\n </BaseTagBadge>\n )\n })\n)\n"],"names":["TAG_TEST_ID","TAG_DELETE_TEST_ID","Tag","memo","forwardRef","size","variant","children","onDelete","rest","forwardedRef","React","createElement","BaseTagBadge","Object","assign","ref","isEmpty","BaseTagBadgeText","marginHorizontal","color","isNil","Icon","role","tabIndex","className","styles","TagDeleteIcon","source","CancelSmallIcon","onClick","e","stopPropagation"],"mappings":";;;;;;;;;AAeO,MAAMA,WAAW,GAAG;AACpB,MAAMC,kBAAkB,GAAG;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,GAAG,gBAAGC,UAAI,cACrBC,gBAAU,CAA2B,SAASF,GAAGA,CAC/C;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAChEC,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,aAAaN,EAAAA;AAAY,GAAA,EACrBS,IAAI,CAAA,EAEP,CAACQ,YAAO,CAACV,QAAQ,CAAC,iBACjBI,KAAA,CAAAC,aAAA,CAACM,6BAAgB,EAAA;AACfb,IAAAA,IAAI,EAAEA,IAAK;AACXc,IAAAA,gBAAgB,EAAE,CAAE;AACpBC,IAAAA,KAAK,EAAC;AAAmB,GAAA,EAExBb,QACe,CACnB,EAEA,CAACc,UAAK,CAACb,QAAQ,CAAC,iBACfG,KAAA,CAAAC,aAAA,CAACU,SAAI,EAAA;AACHC,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,QAAQ,EAAE,CAAE;IACZC,SAAS,EAAEC,kBAAM,CAACC,aAAc;AAChCC,IAAAA,MAAM,EAAEC,2BAAgB;AACxBxB,IAAAA,IAAI,EAAC,IAAI;AACTe,IAAAA,KAAK,EAAC,kBAAkB;IACxBU,OAAO,EAAGC,CAAC,IAAK;MACdA,CAAC,CAACC,eAAe,EAAE;MACnBxB,QAAQ,CAACuB,CAAC,CAAC;KACX;IACF,aAAa9B,EAAAA;AAAmB,GACjC,CAES,CAAC;AAEnB,CAAC,CACH;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sources":["../../../../src/components/Text/Text.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\nimport { isNumber } from '~/src/utils/type'\n\nimport { type TextProps } from './Text.types'\n\nimport styles from './Text.module.scss'\n\n/**\n * `Text` is a component for representing the typography of a design system.\n * @example\n *\n * ```tsx\n * <Text\n * typo=\"15\"\n * color=\"txt-black-darkest\"\n * >\n * Hello, Channel!\n * </Text>\n * ```\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n function Text(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n children,\n style,\n className,\n as = 'span',\n typo = '15',\n color,\n bold,\n italic,\n truncated,\n align,\n ...rest\n } = marginRest\n const isMultiLineTruncated = isNumber(truncated) && truncated >= 1\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-text-color': tokenCssVar(color),\n '--b-text-line-clamp': isMultiLineTruncated ? truncated : undefined,\n ...marginStyles.style,\n ...style,\n },\n className: classNames(\n styles.Text,\n styles[`typo-${typo}`],\n bold && styles.bold,\n italic && styles.italic,\n truncated === true\n ? styles.truncated\n : isMultiLineTruncated && styles['multi-line-truncated'],\n align && styles[`align-${align}`],\n marginStyles.className,\n className\n ),\n 'data-testid': 'bezier-text',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Text","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","children","style","className","as","typo","color","bold","italic","truncated","align","rest","isMultiLineTruncated","isNumber","createElement","ref","tokenCssVar","undefined","classNames","styles"],"mappings":";;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,IAAI,gBAAGC,gBAAU,CAC5B,SAASD,IAAIA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACjC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC,CAAA;AAC3D,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACJ,WAAW,CAAC,CAAA;EAEjD,MAAM;IACJK,QAAQ;WACRC,OAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,MAAM;AACXC,IAAAA,IAAI,GAAG,IAAI;IACXC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,KAAK;IACL,GAAGC,IAAAA;AACL,GAAC,GAAGd,UAAU,CAAA;EACd,MAAMe,oBAAoB,GAAGC,aAAQ,CAACJ,SAAS,CAAC,IAAIA,SAAS,IAAI,CAAC,CAAA;EAElE,oBAAOK,mBAAa,CAClBV,EAAE,EACF;AACEW,IAAAA,GAAG,EAAEpB,YAAY;AACjBO,IAAAA,KAAK,EAAE;AACL,MAAA,gBAAgB,EAAEc,iBAAW,CAACV,KAAK,CAAC;AACpC,MAAA,qBAAqB,EAAEM,oBAAoB,GAAGH,SAAS,GAAGQ,SAAS;MACnE,GAAGlB,YAAY,CAACG,KAAK;MACrB,GAAGA,OAAAA;KACJ;IACDC,SAAS,EAAEe,aAAU,CACnBC,mBAAM,CAAC3B,IAAI,EACX2B,mBAAM,CAAC,CAAA,KAAA,EAAQd,IAAI,CAAA,CAAE,CAAC,EACtBE,IAAI,IAAIY,mBAAM,CAACZ,IAAI,EACnBC,MAAM,IAAIW,mBAAM,CAACX,MAAM,EACvBC,SAAS,KAAK,IAAI,GACdU,mBAAM,CAACV,SAAS,GAChBG,oBAAoB,IAAIO,mBAAM,CAAC,sBAAsB,CAAC,EAC1DT,KAAK,IAAIS,mBAAM,CAAC,CAAST,MAAAA,EAAAA,KAAK,CAAE,CAAA,CAAC,EACjCX,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,aAAa;IAC5B,GAAGQ,IAAAA;GACJ,EACDV,QACF,CAAC,CAAA;AACH,CACF;;;;"}
1
+ {"version":3,"file":"Text.js","sources":["../../../../src/components/Text/Text.tsx"],"sourcesContent":["'use client'\n\nimport { createElement, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\nimport { isNumber } from '~/src/utils/type'\n\nimport { type TextProps } from './Text.types'\n\nimport styles from './Text.module.scss'\n\n/**\n * `Text` is a component for representing the typography of a design system.\n * @example\n *\n * ```tsx\n * <Text\n * typo=\"15\"\n * color=\"txt-black-darkest\"\n * >\n * Hello, Channel!\n * </Text>\n * ```\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n function Text(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n children,\n style,\n className,\n as = 'span',\n typo = '15',\n color,\n bold,\n italic,\n truncated,\n align,\n ...rest\n } = marginRest\n const isMultiLineTruncated = isNumber(truncated) && truncated >= 1\n\n return createElement(\n as,\n {\n ref: forwardedRef,\n style: {\n '--b-text-color': tokenCssVar(color),\n '--b-text-line-clamp': isMultiLineTruncated ? truncated : undefined,\n ...marginStyles.style,\n ...style,\n },\n className: classNames(\n styles.Text,\n styles[`typo-${typo}`],\n bold && styles.bold,\n italic && styles.italic,\n truncated === true\n ? styles.truncated\n : isMultiLineTruncated && styles['multi-line-truncated'],\n align && styles[`align-${align}`],\n marginStyles.className,\n className\n ),\n 'data-testid': 'bezier-text',\n ...rest,\n },\n children\n )\n }\n)\n"],"names":["Text","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","children","style","className","as","typo","color","bold","italic","truncated","align","rest","isMultiLineTruncated","isNumber","createElement","ref","tokenCssVar","undefined","classNames","styles"],"mappings":";;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,IAAI,gBAAGC,gBAAU,CAC5B,SAASD,IAAIA,CAACE,KAAK,EAAEC,YAAY,EAAE;EACjC,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,+BAAkB,CAACJ,KAAK,CAAC;AAC3D,EAAA,MAAMK,YAAY,GAAGC,4BAAe,CAACJ,WAAW,CAAC;EAEjD,MAAM;IACJK,QAAQ;WACRC,OAAK;IACLC,SAAS;AACTC,IAAAA,EAAE,GAAG,MAAM;AACXC,IAAAA,IAAI,GAAG,IAAI;IACXC,KAAK;IACLC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,KAAK;IACL,GAAGC;AACL,GAAC,GAAGd,UAAU;EACd,MAAMe,oBAAoB,GAAGC,aAAQ,CAACJ,SAAS,CAAC,IAAIA,SAAS,IAAI,CAAC;EAElE,oBAAOK,mBAAa,CAClBV,EAAE,EACF;AACEW,IAAAA,GAAG,EAAEpB,YAAY;AACjBO,IAAAA,KAAK,EAAE;AACL,MAAA,gBAAgB,EAAEc,iBAAW,CAACV,KAAK,CAAC;AACpC,MAAA,qBAAqB,EAAEM,oBAAoB,GAAGH,SAAS,GAAGQ,SAAS;MACnE,GAAGlB,YAAY,CAACG,KAAK;MACrB,GAAGA;KACJ;IACDC,SAAS,EAAEe,aAAU,CACnBC,mBAAM,CAAC3B,IAAI,EACX2B,mBAAM,CAAC,CAAA,KAAA,EAAQd,IAAI,CAAA,CAAE,CAAC,EACtBE,IAAI,IAAIY,mBAAM,CAACZ,IAAI,EACnBC,MAAM,IAAIW,mBAAM,CAACX,MAAM,EACvBC,SAAS,KAAK,IAAI,GACdU,mBAAM,CAACV,SAAS,GAChBG,oBAAoB,IAAIO,mBAAM,CAAC,sBAAsB,CAAC,EAC1DT,KAAK,IAAIS,mBAAM,CAAC,CAAST,MAAAA,EAAAA,KAAK,CAAE,CAAA,CAAC,EACjCX,YAAY,CAACI,SAAS,EACtBA,SACF,CAAC;AACD,IAAA,aAAa,EAAE,aAAa;IAC5B,GAAGQ;GACJ,EACDV,QACF,CAAC;AACH,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useRef } from 'react'\n\nimport classNames from 'classnames'\nimport TextareaAutosize from 'react-textarea-autosize'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport type { TextAreaProps } from './TextArea.types'\n\nimport styles from './TextArea.module.scss'\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(\n {\n style,\n className,\n minRows = 6,\n maxRows = 6,\n autoFocus = false,\n value = '',\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, readOnly, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n const inputRef = useRef<HTMLTextAreaElement | null>(null)\n const mergedInputRef = useMergeRefs(inputRef, forwardedRef)\n\n const { handleKeyDown, handleKeyUp } =\n useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n useIsomorphicLayoutEffect(function initialAutoFocus() {\n function setSelectionToEnd() {\n inputRef.current?.setSelectionRange(\n inputRef.current?.value.length,\n inputRef.current?.value.length\n )\n }\n\n if (autoFocus) {\n inputRef.current?.focus()\n setSelectionToEnd()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <TextareaAutosize\n {...ownProps}\n style={style}\n className={classNames(styles.TextArea, className)}\n ref={mergedInputRef}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n maxRows={maxRows}\n minRows={minRows}\n data-testid=\"bezier-text-area\"\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n />\n )\n }\n)\n"],"names":["TextArea","forwardRef","style","className","minRows","maxRows","autoFocus","value","onKeyDown","onKeyUp","rest","forwardedRef","disabled","readOnly","hasError","ownProps","useFormFieldProps","inputRef","useRef","mergedInputRef","useMergeRefs","handleKeyDown","handleKeyUp","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","useIsomorphicLayoutEffect","initialAutoFocus","setSelectionToEnd","_inputRef$current","_inputRef$current2","_inputRef$current3","current","setSelectionRange","length","_inputRef$current4","focus","React","createElement","TextareaAutosize","Object","assign","classNames","styles","ref"],"mappings":";;;;;;;;;;;MAoBaA,QAAQ,gBAAGC,gBAAU,CAChC,SAASD,QAAQA,CACf;EACEE,KAAK;EACLC,SAAS;AACTC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,KAAK,GAAG,EAAE;EACVC,SAAS;EACTC,OAAO;EACP,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC,QAAAA;AAAS,GAAC,GACjDC,6BAAiB,CAACN,IAAI,CAAC,CAAA;AAEzB,EAAA,MAAMO,QAAQ,GAAGC,YAAM,CAA6B,IAAI,CAAC,CAAA;AACzD,EAAA,MAAMC,cAAc,GAAGC,oBAAY,CAACH,QAAQ,EAAEN,YAAY,CAAC,CAAA;EAE3D,MAAM;IAAEU,aAAa;AAAEC,IAAAA,WAAAA;GAAa,GAClCC,2EAAqC,CAAC;AACpCC,IAAAA,UAAU,EAAEC,6DAAuB;IACnCjB,SAAS;AACTC,IAAAA,OAAAA;AACF,GAAC,CAAC,CAAA;AAEJiB,EAAAA,mDAAyB,CAAC,SAASC,gBAAgBA,GAAG;IACpD,SAASC,iBAAiBA,GAAG;AAAA,MAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA,CAAA;AAC3B,MAAA,CAAAF,iBAAA,GAAAZ,QAAQ,CAACe,OAAO,cAAAH,iBAAA,KAAA,KAAA,CAAA,IAAhBA,iBAAA,CAAkBI,iBAAiB,CAAAH,CAAAA,kBAAA,GACjCb,QAAQ,CAACe,OAAO,MAAAF,IAAAA,IAAAA,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBvB,KAAK,CAAC2B,MAAM,EAAAH,CAAAA,kBAAA,GAC9Bd,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAD,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBxB,KAAK,CAAC2B,MAC1B,CAAC,CAAA;AACH,KAAA;AAEA,IAAA,IAAI5B,SAAS,EAAE;AAAA,MAAA,IAAA6B,kBAAA,CAAA;AACb,MAAA,CAAAA,kBAAA,GAAAlB,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAG,kBAAA,KAAA,KAAA,CAAA,IAAhBA,kBAAA,CAAkBC,KAAK,EAAE,CAAA;AACzBR,MAAAA,iBAAiB,EAAE,CAAA;AACrB,KAAA;AACA;GACD,EAAE,EAAE,CAAC,CAAA;EAEN,oBACES,KAAA,CAAAC,aAAA,CAACC,iCAAgB,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACX1B,QAAQ,EAAA;AACZb,IAAAA,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEuC,aAAU,CAACC,uBAAM,CAAC3C,QAAQ,EAAEG,SAAS,CAAE;AAClDyC,IAAAA,GAAG,EAAEzB,cAAe;AACpBZ,IAAAA,KAAK,EAAEA,KAAM;AACbK,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBR,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAY,kBAAkB;AAC9BI,IAAAA,SAAS,EAAEa,aAAc;AACzBZ,IAAAA,OAAO,EAAEa,WAAAA;AAAY,GAAA,CACtB,CAAC,CAAA;AAEN,CACF;;;;"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useRef } from 'react'\n\nimport classNames from 'classnames'\nimport TextareaAutosize from 'react-textarea-autosize'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport {\n COMMON_IME_CONTROL_KEYS,\n useKeyboardActionLockerWhileComposing,\n} from '~/src/hooks/useKeyboardActionLockerWhileComposing'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\n\nimport { useFormFieldProps } from '~/src/components/FormControl'\n\nimport type { TextAreaProps } from './TextArea.types'\n\nimport styles from './TextArea.module.scss'\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(\n {\n style,\n className,\n minRows = 6,\n maxRows = 6,\n autoFocus = false,\n value = '',\n onKeyDown,\n onKeyUp,\n ...rest\n },\n forwardedRef\n ) {\n const { disabled, readOnly, hasError, ...ownProps } =\n useFormFieldProps(rest)\n\n const inputRef = useRef<HTMLTextAreaElement | null>(null)\n const mergedInputRef = useMergeRefs(inputRef, forwardedRef)\n\n const { handleKeyDown, handleKeyUp } =\n useKeyboardActionLockerWhileComposing({\n keysToLock: COMMON_IME_CONTROL_KEYS,\n onKeyDown,\n onKeyUp,\n })\n\n useIsomorphicLayoutEffect(function initialAutoFocus() {\n function setSelectionToEnd() {\n inputRef.current?.setSelectionRange(\n inputRef.current?.value.length,\n inputRef.current?.value.length\n )\n }\n\n if (autoFocus) {\n inputRef.current?.focus()\n setSelectionToEnd()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <TextareaAutosize\n {...ownProps}\n style={style}\n className={classNames(styles.TextArea, className)}\n ref={mergedInputRef}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n maxRows={maxRows}\n minRows={minRows}\n data-testid=\"bezier-text-area\"\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n />\n )\n }\n)\n"],"names":["TextArea","forwardRef","style","className","minRows","maxRows","autoFocus","value","onKeyDown","onKeyUp","rest","forwardedRef","disabled","readOnly","hasError","ownProps","useFormFieldProps","inputRef","useRef","mergedInputRef","useMergeRefs","handleKeyDown","handleKeyUp","useKeyboardActionLockerWhileComposing","keysToLock","COMMON_IME_CONTROL_KEYS","useIsomorphicLayoutEffect","initialAutoFocus","setSelectionToEnd","_inputRef$current","_inputRef$current2","_inputRef$current3","current","setSelectionRange","length","_inputRef$current4","focus","React","createElement","TextareaAutosize","Object","assign","classNames","styles","ref"],"mappings":";;;;;;;;;;;MAoBaA,QAAQ,gBAAGC,gBAAU,CAChC,SAASD,QAAQA,CACf;EACEE,KAAK;EACLC,SAAS;AACTC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,OAAO,GAAG,CAAC;AACXC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,KAAK,GAAG,EAAE;EACVC,SAAS;EACTC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;AAAS,GAAC,GACjDC,6BAAiB,CAACN,IAAI,CAAC;AAEzB,EAAA,MAAMO,QAAQ,GAAGC,YAAM,CAA6B,IAAI,CAAC;AACzD,EAAA,MAAMC,cAAc,GAAGC,oBAAY,CAACH,QAAQ,EAAEN,YAAY,CAAC;EAE3D,MAAM;IAAEU,aAAa;AAAEC,IAAAA;GAAa,GAClCC,2EAAqC,CAAC;AACpCC,IAAAA,UAAU,EAAEC,6DAAuB;IACnCjB,SAAS;AACTC,IAAAA;AACF,GAAC,CAAC;AAEJiB,EAAAA,mDAAyB,CAAC,SAASC,gBAAgBA,GAAG;IACpD,SAASC,iBAAiBA,GAAG;AAAA,MAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA;AAC3B,MAAA,CAAAF,iBAAA,GAAAZ,QAAQ,CAACe,OAAO,cAAAH,iBAAA,KAAA,KAAA,CAAA,IAAhBA,iBAAA,CAAkBI,iBAAiB,CAAAH,CAAAA,kBAAA,GACjCb,QAAQ,CAACe,OAAO,MAAAF,IAAAA,IAAAA,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBvB,KAAK,CAAC2B,MAAM,EAAAH,CAAAA,kBAAA,GAC9Bd,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAD,kBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAkBxB,KAAK,CAAC2B,MAC1B,CAAC;AACH;AAEA,IAAA,IAAI5B,SAAS,EAAE;AAAA,MAAA,IAAA6B,kBAAA;AACb,MAAA,CAAAA,kBAAA,GAAAlB,QAAQ,CAACe,OAAO,MAAA,IAAA,IAAAG,kBAAA,KAAA,KAAA,CAAA,IAAhBA,kBAAA,CAAkBC,KAAK,EAAE;AACzBR,MAAAA,iBAAiB,EAAE;AACrB;AACA;GACD,EAAE,EAAE,CAAC;EAEN,oBACES,KAAA,CAAAC,aAAA,CAACC,iCAAgB,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACX1B,QAAQ,EAAA;AACZb,IAAAA,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEuC,aAAU,CAACC,uBAAM,CAAC3C,QAAQ,EAAEG,SAAS,CAAE;AAClDyC,IAAAA,GAAG,EAAEzB,cAAe;AACpBZ,IAAAA,KAAK,EAAEA,KAAM;AACbK,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBR,IAAAA,OAAO,EAAEA,OAAQ;AACjBD,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAY,kBAAkB;AAC9BI,IAAAA,SAAS,EAAEa,aAAc;AACzBZ,IAAAA,OAAO,EAAEa;AAAY,GAAA,CACtB,CAAC;AAEN,CACF;;;;"}