@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":"CheckableAvatar.mjs","sources":["../../../../src/components/CheckableAvatar/CheckableAvatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\n\nimport { Avatar } from '~/src/components/Avatar'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\n\nimport type { CheckableAvatarProps } from './CheckableAvatar.types'\n\nimport styles from './CheckableAvatar.module.scss'\n\n/**\n * `CheckableAvatar` is a checkbox component that looks like `Avatar`.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * defaultChecked\n * />\n * ```\n */\nexport const CheckableAvatar = forwardRef<\n HTMLButtonElement,\n CheckableAvatarProps\n>(function CheckableAvatar(\n {\n children,\n className,\n id: idProp,\n name,\n size = '24',\n disabled,\n avatarUrl,\n fallbackUrl,\n status,\n showBorder,\n ...props\n },\n forwardedRef\n) {\n const id = useId(idProp, 'bezier-checkable-avatar')\n\n return (\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n name={name}\n disabled={disabled}\n {...props}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n forceMount\n >\n <Icon\n className={classNames(styles.CheckIcon, styles[`size-${size}`])}\n source={CheckIcon}\n color=\"bgtxt-absolute-white-normal\"\n />\n </CheckboxPrimitive.Indicator>\n\n <Avatar\n className={styles.Avatar}\n aria-hidden\n size={size}\n name={name}\n disabled={disabled}\n avatarUrl={avatarUrl}\n fallbackUrl={fallbackUrl}\n status={status}\n showBorder={showBorder}\n >\n {children}\n </Avatar>\n\n <VisuallyHidden>\n <label htmlFor={id}>{name}</label>\n </VisuallyHidden>\n </BaseButton>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckableAvatar","forwardRef","children","className","id","idProp","name","size","disabled","avatarUrl","fallbackUrl","status","showBorder","props","forwardedRef","useId","React","createElement","CheckboxPrimitive","Object","assign","asChild","classNames","styles","Checkbox","ref","BaseButton","forceMount","Icon","CheckIcon","source","color","Avatar","VisuallyHidden","htmlFor"],"mappings":";;;;;;;;;;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,eAAe,gBAAGC,UAAU,CAGvC,SAASD,eAAeA,CACxB;EACEE,QAAQ;EACRC,SAAS;AACTC,EAAAA,EAAE,EAAEC,MAAM;EACVC,IAAI;AACJC,EAAAA,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,MAAM;EACNC,UAAU;EACV,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMV,EAAE,GAAGW,KAAK,CAACV,MAAM,EAAE,yBAAyB,CAAC,CAAA;EAEnD,oBACEW,cAAA,CAAAC,aAAA,CAACC,yCAAsB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACrBC,OAAO,EAAA,IAAA;IACPlB,SAAS,EAAEmB,UAAU,CAACC,MAAM,CAACC,QAAQ,EAAErB,SAAS,CAAE;AAClDsB,IAAAA,GAAG,EAAEX,YAAa;AAClBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EACfK,KAAK,CAAA,eAETG,cAAA,CAAAC,aAAA,CAACS,UAAU,EACTV,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACC,yCAA2B,EAAA;IAC1BG,OAAO,EAAA,IAAA;IACPM,UAAU,EAAA,IAAA;AAAA,GAAA,eAEVX,cAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AACHzB,IAAAA,SAAS,EAAEmB,UAAU,CAACC,MAAM,CAACM,SAAS,EAAEN,MAAM,CAAC,CAAA,KAAA,EAAQhB,IAAI,CAAA,CAAE,CAAC,CAAE;AAChEuB,IAAAA,MAAM,EAAED,SAAU;AAClBE,IAAAA,KAAK,EAAC,6BAAA;AAA6B,GACpC,CAC0B,CAAC,eAE9Bf,cAAA,CAAAC,aAAA,CAACe,MAAM,EAAA;IACL7B,SAAS,EAAEoB,MAAM,CAACS,MAAO;IACzB,aAAW,EAAA,IAAA;AACXzB,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAAA;GAEXV,EAAAA,QACK,CAAC,eAETc,cAAA,CAAAC,aAAA,CAACgB,cAAc,EAAA,IAAA,eACbjB,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOiB,IAAAA,OAAO,EAAE9B,EAAAA;AAAG,GAAA,EAAEE,IAAY,CACnB,CACN,CACU,CAAC,CAAA;AAE7B,CAAC;;;;"}
1
+ {"version":3,"file":"CheckableAvatar.mjs","sources":["../../../../src/components/CheckableAvatar/CheckableAvatar.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\n\nimport { Avatar } from '~/src/components/Avatar'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { VisuallyHidden } from '~/src/components/VisuallyHidden'\n\nimport type { CheckableAvatarProps } from './CheckableAvatar.types'\n\nimport styles from './CheckableAvatar.module.scss'\n\n/**\n * `CheckableAvatar` is a checkbox component that looks like `Avatar`.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <CheckableAvatar\n * name=\"John Doe\"\n * avatarUrl=\"...\"\n * defaultChecked\n * />\n * ```\n */\nexport const CheckableAvatar = forwardRef<\n HTMLButtonElement,\n CheckableAvatarProps\n>(function CheckableAvatar(\n {\n children,\n className,\n id: idProp,\n name,\n size = '24',\n disabled,\n avatarUrl,\n fallbackUrl,\n status,\n showBorder,\n ...props\n },\n forwardedRef\n) {\n const id = useId(idProp, 'bezier-checkable-avatar')\n\n return (\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n name={name}\n disabled={disabled}\n {...props}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n forceMount\n >\n <Icon\n className={classNames(styles.CheckIcon, styles[`size-${size}`])}\n source={CheckIcon}\n color=\"bgtxt-absolute-white-normal\"\n />\n </CheckboxPrimitive.Indicator>\n\n <Avatar\n className={styles.Avatar}\n aria-hidden\n size={size}\n name={name}\n disabled={disabled}\n avatarUrl={avatarUrl}\n fallbackUrl={fallbackUrl}\n status={status}\n showBorder={showBorder}\n >\n {children}\n </Avatar>\n\n <VisuallyHidden>\n <label htmlFor={id}>{name}</label>\n </VisuallyHidden>\n </BaseButton>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckableAvatar","forwardRef","children","className","id","idProp","name","size","disabled","avatarUrl","fallbackUrl","status","showBorder","props","forwardedRef","useId","React","createElement","CheckboxPrimitive","Object","assign","asChild","classNames","styles","Checkbox","ref","BaseButton","forceMount","Icon","CheckIcon","source","color","Avatar","VisuallyHidden","htmlFor"],"mappings":";;;;;;;;;;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,eAAe,gBAAGC,UAAU,CAGvC,SAASD,eAAeA,CACxB;EACEE,QAAQ;EACRC,SAAS;AACTC,EAAAA,EAAE,EAAEC,MAAM;EACVC,IAAI;AACJC,EAAAA,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,MAAM;EACNC,UAAU;EACV,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMV,EAAE,GAAGW,KAAK,CAACV,MAAM,EAAE,yBAAyB,CAAC;EAEnD,oBACEW,cAAA,CAAAC,aAAA,CAACC,yCAAsB,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACrBC,OAAO,EAAA,IAAA;IACPlB,SAAS,EAAEmB,UAAU,CAACC,MAAM,CAACC,QAAQ,EAAErB,SAAS,CAAE;AAClDsB,IAAAA,GAAG,EAAEX,YAAa;AAClBV,IAAAA,EAAE,EAAEA,EAAG;AACPE,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA;AAAS,GAAA,EACfK,KAAK,CAAA,eAETG,cAAA,CAAAC,aAAA,CAACS,UAAU,EACTV,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACC,yCAA2B,EAAA;IAC1BG,OAAO,EAAA,IAAA;IACPM,UAAU,EAAA;AAAA,GAAA,eAEVX,cAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AACHzB,IAAAA,SAAS,EAAEmB,UAAU,CAACC,MAAM,CAACM,SAAS,EAAEN,MAAM,CAAC,CAAA,KAAA,EAAQhB,IAAI,CAAA,CAAE,CAAC,CAAE;AAChEuB,IAAAA,MAAM,EAAED,SAAU;AAClBE,IAAAA,KAAK,EAAC;AAA6B,GACpC,CAC0B,CAAC,eAE9Bf,cAAA,CAAAC,aAAA,CAACe,MAAM,EAAA;IACL7B,SAAS,EAAEoB,MAAM,CAACS,MAAO;IACzB,aAAW,EAAA,IAAA;AACXzB,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA;GAEXV,EAAAA,QACK,CAAC,eAETc,cAAA,CAAAC,aAAA,CAACgB,cAAc,EAAA,IAAA,eACbjB,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOiB,IAAAA,OAAO,EAAE9B;AAAG,GAAA,EAAEE,IAAY,CACnB,CACN,CACU,CAAC;AAE7B,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.mjs","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n size=\"xs\"\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnType<typeof CheckboxImpl<Checked>>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","React","createElement","Icon","Object","assign","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","size","color","CheckboxImpl","children","checked","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.mjs","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { CheckBoldIcon, HyphenBoldIcon } from '@channel.io/bezier-icons'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { useFormFieldProps } from '~/src/components/FormControl'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type CheckboxProps, type CheckedState } from './Checkbox.types'\n\nimport styles from './Checkbox.module.scss'\n\ninterface CheckIconProps {\n style: React.CSSProperties\n 'data-state': 'checked' | 'unchecked' | 'indeterminate'\n 'data-disabled': boolean | undefined\n}\n\n/* NOTE: Props are injected at runtime by `CheckboxPrimitive.Indicator`. */\nconst CheckIcon = forwardRef<SVGSVGElement, CheckIconProps>(\n function CheckIcon(props, forwardedRef) {\n // eslint-disable-next-line react/destructuring-assignment\n const state = props['data-state']\n const isUnchecked = state === 'unchecked'\n const isIndeterminate = state === 'indeterminate'\n\n return (\n <Icon\n className={styles.CheckIcon}\n ref={forwardedRef}\n source={!isIndeterminate ? CheckBoldIcon : HyphenBoldIcon}\n size=\"xs\"\n color={isUnchecked ? 'bg-black-dark' : 'bgtxt-absolute-white-dark'}\n {...props}\n />\n )\n }\n)\n\nfunction CheckboxImpl<Checked extends CheckedState>(\n { children, className, checked, id: idProp, ...rest }: CheckboxProps<Checked>,\n forwardedRef: React.Ref<HTMLButtonElement>\n) {\n const {\n id: formFieldId,\n hasError,\n ...formFieldProps\n } = useFormFieldProps(rest)\n\n const id = useId(idProp ?? formFieldId, 'bezier-checkbox')\n\n return (\n <div\n className={classNames(styles.Container, getFormFieldSizeClassName('m'))}\n >\n <CheckboxPrimitive.Root\n asChild\n className={classNames(styles.Checkbox, className)}\n ref={forwardedRef}\n id={id}\n checked={checked}\n data-invalid={formFieldProps['aria-invalid']}\n {...formFieldProps}\n >\n <BaseButton>\n <CheckboxPrimitive.Indicator\n asChild\n /* NOTE: To allow the icon to be rendered even if unchecked. */\n forceMount\n >\n {/* @ts-expect-error */}\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </BaseButton>\n </CheckboxPrimitive.Root>\n {children && (\n <Text\n as=\"label\"\n // TODO: Apply polymorphic types to `as` prop.\n // @ts-expect-error\n htmlFor={id}\n className={styles.Label}\n typo=\"14\"\n color=\"txt-black-darkest\"\n >\n {children}\n </Text>\n )}\n </div>\n )\n}\n\n/**\n * `Checkbox` is a control that allows the user to toggle between checked and not checked.\n * It can be used with labels or standalone.\n * @example\n *\n * ```tsx\n * const [checked, setChecked] = useState(false)\n * // Controlled / With label\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * >\n * Label\n * </Checkbox>\n * // Controlled / Standalone\n * <Checkbox\n * checked={checked}\n * onCheckedChange={setChecked}\n * />\n * // Uncontrolled\n * <Checkbox\n * defaultChecked={true}\n * >\n * Label\n * </Checkbox>\n * ```\n */\nexport const Checkbox = forwardRef(CheckboxImpl) as <\n Checked extends CheckedState,\n>(\n props: CheckboxProps<Checked> & {\n ref?: React.ForwardedRef<HTMLButtonElement>\n }\n) => ReturnType<typeof CheckboxImpl<Checked>>\n"],"names":["CheckIcon","forwardRef","props","forwardedRef","state","isUnchecked","isIndeterminate","React","createElement","Icon","Object","assign","className","styles","ref","source","CheckBoldIcon","HyphenBoldIcon","size","color","CheckboxImpl","children","checked","id","idProp","rest","formFieldId","hasError","formFieldProps","useFormFieldProps","useId","classNames","Container","getFormFieldSizeClassName","CheckboxPrimitive","asChild","Checkbox","BaseButton","forceMount","Text","as","htmlFor","Label","typo"],"mappings":";;;;;;;;;;;;AA0BA;AACA,MAAMA,SAAS,gBAAGC,UAAU,CAC1B,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;AACtC;AACA,EAAA,MAAMC,KAAK,GAAGF,KAAK,CAAC,YAAY,CAAC;AACjC,EAAA,MAAMG,WAAW,GAAGD,KAAK,KAAK,WAAW;AACzC,EAAA,MAAME,eAAe,GAAGF,KAAK,KAAK,eAAe;EAEjD,oBACEG,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;IACHC,SAAS,EAAEC,MAAM,CAACb,SAAU;AAC5Bc,IAAAA,GAAG,EAAEX,YAAa;AAClBY,IAAAA,MAAM,EAAE,CAACT,eAAe,GAAGU,aAAa,GAAGC,cAAe;AAC1DC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAEd,WAAW,GAAG,eAAe,GAAG;GACnCH,EAAAA,KAAK,CACV,CAAC;AAEN,CACF,CAAC;AAED,SAASkB,YAAYA,CACnB;EAAEC,QAAQ;EAAET,SAAS;EAAEU,OAAO;AAAEC,EAAAA,EAAE,EAAEC,MAAM;EAAE,GAAGC;AAA6B,CAAC,EAC7EtB,YAA0C,EAC1C;EACA,MAAM;AACJoB,IAAAA,EAAE,EAAEG,WAAW;IACfC,QAAQ;IACR,GAAGC;AACL,GAAC,GAAGC,iBAAiB,CAACJ,IAAI,CAAC;AAE3B,EAAA,MAAMF,EAAE,GAAGO,KAAK,CAACN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAIE,WAAW,EAAE,iBAAiB,CAAC;EAE1D,oBACEnB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEI,SAAS,EAAEmB,UAAU,CAAClB,MAAM,CAACmB,SAAS,EAAEC,yBAAyB,CAAC,GAAG,CAAC;GAEtE1B,eAAAA,cAAA,CAAAC,aAAA,CAAC0B,yCAAsB,EAAAxB,MAAA,CAAAC,MAAA,CAAA;IACrBwB,OAAO,EAAA,IAAA;IACPvB,SAAS,EAAEmB,UAAU,CAAClB,MAAM,CAACuB,QAAQ,EAAExB,SAAS,CAAE;AAClDE,IAAAA,GAAG,EAAEX,YAAa;AAClBoB,IAAAA,EAAE,EAAEA,EAAG;AACPD,IAAAA,OAAO,EAAEA,OAAQ;IACjB,cAAcM,EAAAA,cAAc,CAAC,cAAc;AAAE,GAAA,EACzCA,cAAc,CAAA,eAElBrB,cAAA,CAAAC,aAAA,CAAC6B,UAAU,EACT9B,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAC0B,yCAA2B,EAAA;IAC1BC,OAAO,EAAA;AACP;IACAG,UAAU,EAAA;AAAA,GAAA,eAGV/B,cAAA,CAAAC,aAAA,CAACR,SAAS,MAAE,CACe,CACnB,CACU,CAAC,EACxBqB,QAAQ,iBACPd,cAAA,CAAAC,aAAA,CAAC+B,IAAI,EAAA;AACHC,IAAAA,EAAE,EAAC;AACH;AACA;AAAA;AACAC,IAAAA,OAAO,EAAElB,EAAG;IACZX,SAAS,EAAEC,MAAM,CAAC6B,KAAM;AACxBC,IAAAA,IAAI,EAAC,IAAI;AACTxB,IAAAA,KAAK,EAAC;GAELE,EAAAA,QACG,CAEL,CAAC;AAEV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACae,QAAQ,gBAAGnC,UAAU,CAACmB,YAAY;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.mjs","sources":["../../../../src/components/ConfirmModal/ConfirmModal.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport {\n Modal,\n ModalBody,\n ModalClose,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalTrigger,\n} from '~/src/components/Modal'\n\nimport {\n type ConfirmModalBodyProps,\n type ConfirmModalCloseProps,\n type ConfirmModalContentProps,\n type ConfirmModalFooterProps,\n type ConfirmModalHeaderProps,\n type ConfirmModalProps,\n type ConfirmModalTriggerProps,\n} from './ConfirmModal.types'\n\n/**\n * `ConfirmModal` is a modal dialog that interrupts the user with important content and expects a response.\n *\n * `ConfirmModal` is a context of the ConfirmModal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to ConfirmModal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the ConfirmModal\n * <ConfirmModal>\n * <ConfirmModalModalTrigger />\n * <ConfirmModalModalContent>\n * <ConfirmModalModalHeader />\n * <ConfirmModalModalBody />\n * <ConfirmModalModalFooter />\n * </ConfirmModalModalContent>\n * </ConfirmModal>\n * ```\n */\nexport function ConfirmModal({ children, ...rest }: ConfirmModalProps) {\n return <Modal {...rest}>{children}</Modal>\n}\n\n/**\n * `ConfirmModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ConfirmModalContent = forwardRef(function ConfirmModalContent(\n { children, ...rest }: ConfirmModalContentProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalContent\n role=\"alertdialog\"\n ref={forwardedRef}\n showCloseIcon={false}\n {...rest}\n >\n {children}\n </ModalContent>\n )\n})\n\n/**\n * `ConfirmModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n */\nexport const ConfirmModalHeader = forwardRef(function ConfirmModalHeader(\n props: ConfirmModalHeaderProps,\n forwardedRef: React.Ref<HTMLElement>\n) {\n return (\n <ModalHeader\n ref={forwardedRef}\n subtitle={null}\n titleSize=\"m\"\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalBody` is a simple wrapper of the main modal content.\n */\nexport const ConfirmModalBody = forwardRef(function ConfirmModalBody(\n { children, ...rest }: ConfirmModalBodyProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalBody\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </ModalBody>\n )\n})\n\n/**\n * `ConfirmModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ConfirmModalFooter = forwardRef(function ConfirmModalFooter(\n props: ConfirmModalFooterProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalFooter\n ref={forwardedRef}\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ConfirmModalContent`.\n */\nexport function ConfirmModalTrigger({ children }: ConfirmModalTriggerProps) {\n return <ModalTrigger>{children}</ModalTrigger>\n}\n\n/**\n * `ConfirmModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ConfirmModalClose({ children }: ConfirmModalCloseProps) {\n return <ModalClose>{children}</ModalClose>\n}\n"],"names":["ConfirmModal","children","rest","React","createElement","Modal","ConfirmModalContent","forwardRef","forwardedRef","ModalContent","Object","assign","role","ref","showCloseIcon","ConfirmModalHeader","props","ModalHeader","subtitle","titleSize","ConfirmModalBody","ModalBody","ConfirmModalFooter","ModalFooter","ConfirmModalTrigger","ModalTrigger","ConfirmModalClose","ModalClose"],"mappings":";;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAwB,CAAC,EAAE;EACrE,oBAAOC,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAKH,IAAI,EAAGD,QAAgB,CAAC,CAAA;AAC5C,CAAA;;AAEA;AACA;AACA;AACA;AACA;MACaK,mBAAmB,gBAAGC,UAAU,CAAC,SAASD,mBAAmBA,CACxE;EAAEL,QAAQ;EAAE,GAAGC,IAAAA;AAA+B,CAAC,EAC/CM,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACK,YAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,IAAI,EAAC,aAAa;AAClBC,IAAAA,GAAG,EAAEL,YAAa;AAClBM,IAAAA,aAAa,EAAE,KAAA;GACXZ,EAAAA,IAAI,CAEPD,EAAAA,QACW,CAAC,CAAA;AAEnB,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACO,MAAMc,kBAAkB,gBAAGR,UAAU,CAAC,SAASQ,kBAAkBA,CACtEC,KAA8B,EAC9BR,YAAoC,EACpC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACa,WAAW,EAAAP,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAa;AAClBU,IAAAA,QAAQ,EAAE,IAAK;AACfC,IAAAA,SAAS,EAAC,GAAA;GACNH,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC,EAAC;;AAEF;AACA;AACA;MACaI,gBAAgB,gBAAGb,UAAU,CAAC,SAASa,gBAAgBA,CAClE;EAAEnB,QAAQ;EAAE,GAAGC,IAAAA;AAA4B,CAAC,EAC5CM,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACiB,SAAS,EAAAX,MAAA,CAAAC,MAAA,CAAA;AACRE,IAAAA,GAAG,EAAEL,YAAAA;GACDN,EAAAA,IAAI,CAEPD,EAAAA,QACQ,CAAC,CAAA;AAEhB,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACO,MAAMqB,kBAAkB,gBAAGf,UAAU,CAAC,SAASe,kBAAkBA,CACtEN,KAA8B,EAC9BR,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACmB,WAAW,EAAAb,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAAA;GACDQ,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC,EAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,mBAAmBA,CAAC;AAAEvB,EAAAA,QAAAA;AAAmC,CAAC,EAAE;AAC1E,EAAA,oBAAOE,cAAA,CAAAC,aAAA,CAACqB,YAAY,EAAA,IAAA,EAAExB,QAAuB,CAAC,CAAA;AAChD,CAAA;;AAEA;AACA;AACA;AACA;AACO,SAASyB,iBAAiBA,CAAC;AAAEzB,EAAAA,QAAAA;AAAiC,CAAC,EAAE;AACtE,EAAA,oBAAOE,cAAA,CAAAC,aAAA,CAACuB,UAAU,EAAA,IAAA,EAAE1B,QAAqB,CAAC,CAAA;AAC5C;;;;"}
1
+ {"version":3,"file":"ConfirmModal.mjs","sources":["../../../../src/components/ConfirmModal/ConfirmModal.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport {\n Modal,\n ModalBody,\n ModalClose,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalTrigger,\n} from '~/src/components/Modal'\n\nimport {\n type ConfirmModalBodyProps,\n type ConfirmModalCloseProps,\n type ConfirmModalContentProps,\n type ConfirmModalFooterProps,\n type ConfirmModalHeaderProps,\n type ConfirmModalProps,\n type ConfirmModalTriggerProps,\n} from './ConfirmModal.types'\n\n/**\n * `ConfirmModal` is a modal dialog that interrupts the user with important content and expects a response.\n *\n * `ConfirmModal` is a context of the ConfirmModal-related components. It doesn't render any DOM node.\n * It controls the visibility of the entire component and provides\n * handlers and accessibility properties to ConfirmModal-related components.\n * @example\n *\n * ```tsx\n * // Anatomy of the ConfirmModal\n * <ConfirmModal>\n * <ConfirmModalModalTrigger />\n * <ConfirmModalModalContent>\n * <ConfirmModalModalHeader />\n * <ConfirmModalModalBody />\n * <ConfirmModalModalFooter />\n * </ConfirmModalModalContent>\n * </ConfirmModal>\n * ```\n */\nexport function ConfirmModal({ children, ...rest }: ConfirmModalProps) {\n return <Modal {...rest}>{children}</Modal>\n}\n\n/**\n * `ConfirmModalContent` is a container of the modal content.\n * It creates a portal to render the modal content outside of the DOM tree\n * and renders overlay behind the modal content too.\n */\nexport const ConfirmModalContent = forwardRef(function ConfirmModalContent(\n { children, ...rest }: ConfirmModalContentProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalContent\n role=\"alertdialog\"\n ref={forwardedRef}\n showCloseIcon={false}\n {...rest}\n >\n {children}\n </ModalContent>\n )\n})\n\n/**\n * `ConfirmModalHeader` is a header of the modal content.\n * It renders the accessible title and description of the modal.\n */\nexport const ConfirmModalHeader = forwardRef(function ConfirmModalHeader(\n props: ConfirmModalHeaderProps,\n forwardedRef: React.Ref<HTMLElement>\n) {\n return (\n <ModalHeader\n ref={forwardedRef}\n subtitle={null}\n titleSize=\"m\"\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalBody` is a simple wrapper of the main modal content.\n */\nexport const ConfirmModalBody = forwardRef(function ConfirmModalBody(\n { children, ...rest }: ConfirmModalBodyProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalBody\n ref={forwardedRef}\n {...rest}\n >\n {children}\n </ModalBody>\n )\n})\n\n/**\n * `ConfirmModalFooter` is a simple wrapper of the footer of the modal content.\n * Usually, it contains the action buttons of the modal.\n */\nexport const ConfirmModalFooter = forwardRef(function ConfirmModalFooter(\n props: ConfirmModalFooterProps,\n forwardedRef: React.Ref<HTMLDivElement>\n) {\n return (\n <ModalFooter\n ref={forwardedRef}\n {...props}\n />\n )\n})\n\n/**\n * `ConfirmModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**\n * It passes the handler that opens the modal and accessibility properties to the children.\n *\n * It **must** be placed outside of the `ConfirmModalContent`.\n */\nexport function ConfirmModalTrigger({ children }: ConfirmModalTriggerProps) {\n return <ModalTrigger>{children}</ModalTrigger>\n}\n\n/**\n * `ConfirmModalClose` is a button that closes the modal. **It doesn't render any DOM node.**\n * It passes the handler that closes the modal to the children.\n */\nexport function ConfirmModalClose({ children }: ConfirmModalCloseProps) {\n return <ModalClose>{children}</ModalClose>\n}\n"],"names":["ConfirmModal","children","rest","React","createElement","Modal","ConfirmModalContent","forwardRef","forwardedRef","ModalContent","Object","assign","role","ref","showCloseIcon","ConfirmModalHeader","props","ModalHeader","subtitle","titleSize","ConfirmModalBody","ModalBody","ConfirmModalFooter","ModalFooter","ConfirmModalTrigger","ModalTrigger","ConfirmModalClose","ModalClose"],"mappings":";;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAwB,CAAC,EAAE;EACrE,oBAAOC,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAKH,IAAI,EAAGD,QAAgB,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;MACaK,mBAAmB,gBAAGC,UAAU,CAAC,SAASD,mBAAmBA,CACxE;EAAEL,QAAQ;EAAE,GAAGC;AAA+B,CAAC,EAC/CM,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACK,YAAY,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACXC,IAAAA,IAAI,EAAC,aAAa;AAClBC,IAAAA,GAAG,EAAEL,YAAa;AAClBM,IAAAA,aAAa,EAAE;GACXZ,EAAAA,IAAI,CAEPD,EAAAA,QACW,CAAC;AAEnB,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMc,kBAAkB,gBAAGR,UAAU,CAAC,SAASQ,kBAAkBA,CACtEC,KAA8B,EAC9BR,YAAoC,EACpC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACa,WAAW,EAAAP,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL,YAAa;AAClBU,IAAAA,QAAQ,EAAE,IAAK;AACfC,IAAAA,SAAS,EAAC;GACNH,EAAAA,KAAK,CACV,CAAC;AAEN,CAAC;;AAED;AACA;AACA;MACaI,gBAAgB,gBAAGb,UAAU,CAAC,SAASa,gBAAgBA,CAClE;EAAEnB,QAAQ;EAAE,GAAGC;AAA4B,CAAC,EAC5CM,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACiB,SAAS,EAAAX,MAAA,CAAAC,MAAA,CAAA;AACRE,IAAAA,GAAG,EAAEL;GACDN,EAAAA,IAAI,CAEPD,EAAAA,QACQ,CAAC;AAEhB,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMqB,kBAAkB,gBAAGf,UAAU,CAAC,SAASe,kBAAkBA,CACtEN,KAA8B,EAC9BR,YAAuC,EACvC;EACA,oBACEL,cAAA,CAAAC,aAAA,CAACmB,WAAW,EAAAb,MAAA,CAAAC,MAAA,CAAA;AACVE,IAAAA,GAAG,EAAEL;GACDQ,EAAAA,KAAK,CACV,CAAC;AAEN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,mBAAmBA,CAAC;AAAEvB,EAAAA;AAAmC,CAAC,EAAE;AAC1E,EAAA,oBAAOE,cAAA,CAAAC,aAAA,CAACqB,YAAY,EAAA,IAAA,EAAExB,QAAuB,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACO,SAASyB,iBAAiBA,CAAC;AAAEzB,EAAAA;AAAiC,CAAC,EAAE;AACtE,EAAA,oBAAOE,cAAA,CAAAC,aAAA,CAACuB,UAAU,EAAA,IAAA,EAAE1B,QAAqB,CAAC;AAC5C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.mjs","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport classNames from 'classnames'\n\nimport { type DividerProps } from './Divider.types'\n\nimport styles from './Divider.module.scss'\n\nexport const DIVIDER_TEST_ID = 'bezier-divider'\n\n/**\n * `Divider` is a component to visually or semantically separate content.\n * @example\n *\n * ```tsx\n * <Divider\n * withoutSideIndent\n * />\n * ```\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n (\n {\n orientation = 'horizontal',\n decorative,\n withoutSideIndent = false,\n withoutParallelIndent = false,\n withoutIndent = false,\n style,\n className,\n ...rest\n },\n forwardedRef\n ) => (\n <SeparatorPrimitive.Root\n asChild\n orientation={orientation}\n decorative={decorative}\n >\n <div\n ref={forwardedRef}\n style={style}\n className={classNames(\n styles.Divider,\n styles.variables,\n styles[orientation],\n withoutIndent && styles['without-indent'],\n withoutParallelIndent && styles['without-parallel-indent'],\n withoutSideIndent && styles['without-side-indent'],\n className\n )}\n data-testid={DIVIDER_TEST_ID}\n {...rest}\n />\n </SeparatorPrimitive.Root>\n )\n)\n"],"names":["DIVIDER_TEST_ID","Divider","forwardRef","orientation","decorative","withoutSideIndent","withoutParallelIndent","withoutIndent","style","className","rest","forwardedRef","React","createElement","SeparatorPrimitive","asChild","Object","assign","ref","classNames","styles","variables"],"mappings":";;;;;AAWO,MAAMA,eAAe,GAAG,iBAAgB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,OAAO,gBAAGC,UAAU,CAC/B,CACE;AACEC,EAAAA,WAAW,GAAG,YAAY;EAC1BC,UAAU;AACVC,EAAAA,iBAAiB,GAAG,KAAK;AACzBC,EAAAA,qBAAqB,GAAG,KAAK;AAC7BC,EAAAA,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,SAAS;EACT,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,kBAEZC,cAAA,CAAAC,aAAA,CAACC,yCAAuB,EAAA;EACtBC,OAAO,EAAA,IAAA;AACPZ,EAAAA,WAAW,EAAEA,WAAY;AACzBC,EAAAA,UAAU,EAAEA,UAAAA;AAAW,CAAA,eAEvBQ,cAAA,CAAAC,aAAA,CAAAG,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,EAAAA,GAAG,EAAEP,YAAa;AAClBH,EAAAA,KAAK,EAAEA,KAAM;AACbC,EAAAA,SAAS,EAAEU,UAAU,CACnBC,aAAM,CAACnB,OAAO,EACdmB,aAAM,CAACC,SAAS,EAChBD,aAAM,CAACjB,WAAW,CAAC,EACnBI,aAAa,IAAIa,aAAM,CAAC,gBAAgB,CAAC,EACzCd,qBAAqB,IAAIc,aAAM,CAAC,yBAAyB,CAAC,EAC1Df,iBAAiB,IAAIe,aAAM,CAAC,qBAAqB,CAAC,EAClDX,SACF,CAAE;EACF,aAAaT,EAAAA,eAAAA;AAAgB,CAAA,EACzBU,IAAI,CACT,CACsB,CAE7B;;;;"}
1
+ {"version":3,"file":"Divider.mjs","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport classNames from 'classnames'\n\nimport { type DividerProps } from './Divider.types'\n\nimport styles from './Divider.module.scss'\n\nexport const DIVIDER_TEST_ID = 'bezier-divider'\n\n/**\n * `Divider` is a component to visually or semantically separate content.\n * @example\n *\n * ```tsx\n * <Divider\n * withoutSideIndent\n * />\n * ```\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n (\n {\n orientation = 'horizontal',\n decorative,\n withoutSideIndent = false,\n withoutParallelIndent = false,\n withoutIndent = false,\n style,\n className,\n ...rest\n },\n forwardedRef\n ) => (\n <SeparatorPrimitive.Root\n asChild\n orientation={orientation}\n decorative={decorative}\n >\n <div\n ref={forwardedRef}\n style={style}\n className={classNames(\n styles.Divider,\n styles.variables,\n styles[orientation],\n withoutIndent && styles['without-indent'],\n withoutParallelIndent && styles['without-parallel-indent'],\n withoutSideIndent && styles['without-side-indent'],\n className\n )}\n data-testid={DIVIDER_TEST_ID}\n {...rest}\n />\n </SeparatorPrimitive.Root>\n )\n)\n"],"names":["DIVIDER_TEST_ID","Divider","forwardRef","orientation","decorative","withoutSideIndent","withoutParallelIndent","withoutIndent","style","className","rest","forwardedRef","React","createElement","SeparatorPrimitive","asChild","Object","assign","ref","classNames","styles","variables"],"mappings":";;;;;AAWO,MAAMA,eAAe,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,OAAO,gBAAGC,UAAU,CAC/B,CACE;AACEC,EAAAA,WAAW,GAAG,YAAY;EAC1BC,UAAU;AACVC,EAAAA,iBAAiB,GAAG,KAAK;AACzBC,EAAAA,qBAAqB,GAAG,KAAK;AAC7BC,EAAAA,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,SAAS;EACT,GAAGC;AACL,CAAC,EACDC,YAAY,kBAEZC,cAAA,CAAAC,aAAA,CAACC,yCAAuB,EAAA;EACtBC,OAAO,EAAA,IAAA;AACPZ,EAAAA,WAAW,EAAEA,WAAY;AACzBC,EAAAA,UAAU,EAAEA;AAAW,CAAA,eAEvBQ,cAAA,CAAAC,aAAA,CAAAG,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,EAAAA,GAAG,EAAEP,YAAa;AAClBH,EAAAA,KAAK,EAAEA,KAAM;AACbC,EAAAA,SAAS,EAAEU,UAAU,CACnBC,aAAM,CAACnB,OAAO,EACdmB,aAAM,CAACC,SAAS,EAChBD,aAAM,CAACjB,WAAW,CAAC,EACnBI,aAAa,IAAIa,aAAM,CAAC,gBAAgB,CAAC,EACzCd,qBAAqB,IAAIc,aAAM,CAAC,yBAAyB,CAAC,EAC1Df,iBAAiB,IAAIe,aAAM,CAAC,qBAAqB,CAAC,EAClDX,SACF,CAAE;EACF,aAAaT,EAAAA;AAAgB,CAAA,EACzBU,IAAI,CACT,CACsB,CAE7B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.mjs","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isDev } from '~/src/utils/assert'\nimport { cssUrl } from '~/src/utils/style'\n\nimport { type EmojiProps } from './Emoji.types'\n\nimport styles from './Emoji.module.scss'\n\nexport const EMOJI_TEST_ID = 'bezier-emoji'\n\nconst getEmojiUrl = (name: EmojiProps['name'], size: '160' | '80' | '44') => {\n return `https://cf${isDev() ? '.exp' : ''}.channel.io/asset/emoji/images/${size}/${encodeURIComponent(name)}.png`\n}\n\n/**\n * `Emoji` is a component for representing emoji with variant size.\n * @example\n * ```tsx\n * <Emoji\n * name=\"A\"\n * size=\"20\"\n * />\n * ```\n */\nexport const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(\n { style, imageUrl, className, name, size = '24', ...rest },\n forwardedRef\n) {\n const assetSize = Number(size) >= 60 ? '160' : '80'\n\n return (\n <div\n ref={forwardedRef}\n role=\"img\"\n aria-description={name}\n style={\n {\n '--b-emoji-background-image': cssUrl(\n imageUrl ?? getEmojiUrl(name, assetSize)\n ),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Emoji, styles[`size-${size}`], className)}\n data-testid={EMOJI_TEST_ID}\n {...rest}\n />\n )\n})\n"],"names":["EMOJI_TEST_ID","getEmojiUrl","name","size","isDev","encodeURIComponent","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;AAaO,MAAMA,aAAa,GAAG,eAAc;AAE3C,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAA,+BAAA,EAAkCD,IAAI,CAAIE,CAAAA,EAAAA,kBAAkB,CAACH,IAAI,CAAC,CAAM,IAAA,CAAA,CAAA;AACnH,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaI,KAAK,gBAAGC,UAAU,CAA6B,SAASD,KAAKA,CACxE;EAAEE,KAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAER,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGQ,IAAAA;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACX,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnD,EAAA,oBACEY,cAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBlB,IAAK;AACvBM,IAAAA,KAAK,EACH;AACE,MAAA,4BAA4B,EAAEa,MAAM,CAClCZ,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,GAAIR,WAAW,CAACC,IAAI,EAAEW,SAAS,CACzC,CAAC;MACD,GAAGL,KAAAA;KAEN;AACDE,IAAAA,SAAS,EAAEY,UAAU,CAACC,MAAM,CAACjB,KAAK,EAAEiB,MAAM,CAAC,QAAQpB,IAAI,CAAA,CAAE,CAAC,EAAEO,SAAS,CAAE;IACvE,aAAaV,EAAAA,aAAAA;GACTW,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC;;;;"}
1
+ {"version":3,"file":"Emoji.mjs","sources":["../../../../src/components/Emoji/Emoji.tsx"],"sourcesContent":["'use client'\n\nimport React, { type CSSProperties, forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isDev } from '~/src/utils/assert'\nimport { cssUrl } from '~/src/utils/style'\n\nimport { type EmojiProps } from './Emoji.types'\n\nimport styles from './Emoji.module.scss'\n\nexport const EMOJI_TEST_ID = 'bezier-emoji'\n\nconst getEmojiUrl = (name: EmojiProps['name'], size: '160' | '80' | '44') => {\n return `https://cf${isDev() ? '.exp' : ''}.channel.io/asset/emoji/images/${size}/${encodeURIComponent(name)}.png`\n}\n\n/**\n * `Emoji` is a component for representing emoji with variant size.\n * @example\n * ```tsx\n * <Emoji\n * name=\"A\"\n * size=\"20\"\n * />\n * ```\n */\nexport const Emoji = forwardRef<HTMLDivElement, EmojiProps>(function Emoji(\n { style, imageUrl, className, name, size = '24', ...rest },\n forwardedRef\n) {\n const assetSize = Number(size) >= 60 ? '160' : '80'\n\n return (\n <div\n ref={forwardedRef}\n role=\"img\"\n aria-description={name}\n style={\n {\n '--b-emoji-background-image': cssUrl(\n imageUrl ?? getEmojiUrl(name, assetSize)\n ),\n ...style,\n } as CSSProperties\n }\n className={classNames(styles.Emoji, styles[`size-${size}`], className)}\n data-testid={EMOJI_TEST_ID}\n {...rest}\n />\n )\n})\n"],"names":["EMOJI_TEST_ID","getEmojiUrl","name","size","isDev","encodeURIComponent","Emoji","forwardRef","style","imageUrl","className","rest","forwardedRef","assetSize","Number","React","createElement","Object","assign","ref","role","cssUrl","classNames","styles"],"mappings":";;;;;;AAaO,MAAMA,aAAa,GAAG;AAE7B,MAAMC,WAAW,GAAGA,CAACC,IAAwB,EAAEC,IAAyB,KAAK;AAC3E,EAAA,OAAO,CAAaC,UAAAA,EAAAA,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,CAAA,+BAAA,EAAkCD,IAAI,CAAIE,CAAAA,EAAAA,kBAAkB,CAACH,IAAI,CAAC,CAAM,IAAA,CAAA;AACnH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaI,KAAK,gBAAGC,UAAU,CAA6B,SAASD,KAAKA,CACxE;EAAEE,KAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAER,IAAI;AAAEC,EAAAA,IAAI,GAAG,IAAI;EAAE,GAAGQ;AAAK,CAAC,EAC1DC,YAAY,EACZ;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACX,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI;AAEnD,EAAA,oBACEY,cAAA,CAAAC,aAAA,CAAAC,KAAAA,EAAAA,MAAA,CAAAC,MAAA,CAAA;AACEC,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,IAAI,EAAC,KAAK;AACV,IAAA,kBAAA,EAAkBlB,IAAK;AACvBM,IAAAA,KAAK,EACH;AACE,MAAA,4BAA4B,EAAEa,MAAM,CAClCZ,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,GAAIR,WAAW,CAACC,IAAI,EAAEW,SAAS,CACzC,CAAC;MACD,GAAGL;KAEN;AACDE,IAAAA,SAAS,EAAEY,UAAU,CAACC,MAAM,CAACjB,KAAK,EAAEiB,MAAM,CAAC,QAAQpB,IAAI,CAAA,CAAE,CAAC,EAAEO,SAAS,CAAE;IACvE,aAAaV,EAAAA;GACTW,EAAAA,IAAI,CACT,CAAC;AAEN,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.mjs","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n type FeatureFlag,\n type FeatureProviderProps,\n FeatureType,\n} from './FeatureProvider.types'\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [FeatureFlagContextProvider, useFeatureFlagContext] =\n createContext<FeatureFlag>(initialFeatureFlag)\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({ children, features }: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] =\n useState<FeatureFlag>(initialFeatureFlag)\n\n useIsomorphicLayoutEffect(\n function activateFeatures() {\n if (isEmpty(features)) {\n return\n }\n\n const promises = features.map((feature) =>\n feature.activate().then((activated) => ({ [feature.name]: activated }))\n )\n\n Promise.all(promises).then((flags) => {\n setFeatureFlag((prev) => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n },\n [features]\n )\n\n return (\n <FeatureFlagContextProvider value={featureFlag}>\n {children}\n </FeatureFlagContextProvider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useFeatureFlagContext()\n\n return useMemo(() => contextValue[featureType], [contextValue, featureType])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useIsomorphicLayoutEffect","activateFeatures","isEmpty","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;AAcA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,WAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAACC,0BAA0B,EAAEC,qBAAqB,CAAC,GACvDC,aAAa,CAAcL,kBAAkB,CAAC,CAAA;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,QAAAA;AAA+B,CAAC,EAAE;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GACjCC,QAAQ,CAAcX,kBAAkB,CAAC,CAAA;AAE3CY,EAAAA,yBAAyB,CACvB,SAASC,gBAAgBA,GAAG;AAC1B,IAAA,IAAIC,OAAO,CAACN,QAAQ,CAAC,EAAE;AACrB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMO,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAAEC,OAAO,IACpCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAAEC,SAAS,KAAM;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAAC,CACxE,CAAC,CAAA;IAEDE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAAEK,KAAK,IAAK;MACpCd,cAAc,CAAEe,IAAI,KAAM;AACxB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC,GAAAA;SAAK,CAAC,EAAE,EAAE,CAAA;AACxD,OAAC,CAAC,CAAC,CAAA;AACL,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACpB,QAAQ,CACX,CAAC,CAAA;AAED,EAAA,oBACEqB,cAAA,CAAAC,aAAA,CAAC3B,0BAA0B,EAAA;AAAC4B,IAAAA,KAAK,EAAEtB,WAAAA;AAAY,GAAA,EAC5CF,QACyB,CAAC,CAAA;AAEjC,CAAA;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG9B,qBAAqB,EAAE,CAAA;AAE5C,EAAA,OAAO+B,OAAO,CAAC,MAAMD,YAAY,CAACD,WAAW,CAAC,EAAE,CAACC,YAAY,EAAED,WAAW,CAAC,CAAC,CAAA;AAC9E;;;;"}
1
+ {"version":3,"file":"FeatureProvider.mjs","sources":["../../../../src/components/FeatureProvider/FeatureProvider.tsx"],"sourcesContent":["'use client'\n\nimport React, { useMemo, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '~/src/hooks/useIsomorphicLayoutEffect'\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty } from '~/src/utils/type'\n\nimport {\n type FeatureFlag,\n type FeatureProviderProps,\n FeatureType,\n} from './FeatureProvider.types'\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [FeatureFlagContextProvider, useFeatureFlagContext] =\n createContext<FeatureFlag>(initialFeatureFlag)\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({ children, features }: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] =\n useState<FeatureFlag>(initialFeatureFlag)\n\n useIsomorphicLayoutEffect(\n function activateFeatures() {\n if (isEmpty(features)) {\n return\n }\n\n const promises = features.map((feature) =>\n feature.activate().then((activated) => ({ [feature.name]: activated }))\n )\n\n Promise.all(promises).then((flags) => {\n setFeatureFlag((prev) => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n },\n [features]\n )\n\n return (\n <FeatureFlagContextProvider value={featureFlag}>\n {children}\n </FeatureFlagContextProvider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useFeatureFlagContext()\n\n return useMemo(() => contextValue[featureType], [contextValue, featureType])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useIsomorphicLayoutEffect","activateFeatures","isEmpty","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;AAcA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,WAAW,CAACC,aAAa,GAAG;AAC/B,CAAC;AAED,MAAM,CAACC,0BAA0B,EAAEC,qBAAqB,CAAC,GACvDC,aAAa,CAAcL,kBAAkB,CAAC;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA;AAA+B,CAAC,EAAE;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GACjCC,QAAQ,CAAcX,kBAAkB,CAAC;AAE3CY,EAAAA,yBAAyB,CACvB,SAASC,gBAAgBA,GAAG;AAC1B,IAAA,IAAIC,OAAO,CAACN,QAAQ,CAAC,EAAE;AACrB,MAAA;AACF;AAEA,IAAA,MAAMO,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAAEC,OAAO,IACpCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAAEC,SAAS,KAAM;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD;KAAW,CAAC,CACxE,CAAC;IAEDE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAAEK,KAAK,IAAK;MACpCd,cAAc,CAAEe,IAAI,KAAM;AACxB,QAAA,GAAGA,IAAI;QACP,GAAGD,KAAK,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;AAAE,UAAA,GAAGD,GAAG;UAAE,GAAGC;SAAK,CAAC,EAAE,EAAE;AACxD,OAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,GAAC,EACD,CAACpB,QAAQ,CACX,CAAC;AAED,EAAA,oBACEqB,cAAA,CAAAC,aAAA,CAAC3B,0BAA0B,EAAA;AAAC4B,IAAAA,KAAK,EAAEtB;AAAY,GAAA,EAC5CF,QACyB,CAAC;AAEjC;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG9B,qBAAqB,EAAE;AAE5C,EAAA,OAAO+B,OAAO,CAAC,MAAMD,YAAY,CAACD,WAAW,CAAC,EAAE,CAACC,YAAY,EAAED,WAAW,CAAC,CAAC;AAC9E;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.types.mjs","sources":["../../../../src/components/FeatureProvider/FeatureProvider.types.ts"],"sourcesContent":["import { type ChildrenProps } from '~/src/types/props'\n\nexport enum FeatureType {\n SmoothCorners = 'smooth-corners',\n}\n\nexport interface Feature {\n readonly name: FeatureType\n activate: () => Promise<boolean>\n}\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\ninterface FeatureProviderOwnProps {\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\nexport interface FeatureProviderProps\n extends ChildrenProps,\n FeatureProviderOwnProps {}\n"],"names":["FeatureType"],"mappings":"AAEYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,eAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"FeatureProvider.types.mjs","sources":["../../../../src/components/FeatureProvider/FeatureProvider.types.ts"],"sourcesContent":["import { type ChildrenProps } from '~/src/types/props'\n\nexport enum FeatureType {\n SmoothCorners = 'smooth-corners',\n}\n\nexport interface Feature {\n readonly name: FeatureType\n activate: () => Promise<boolean>\n}\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\ninterface FeatureProviderOwnProps {\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\nexport interface FeatureProviderProps\n extends ChildrenProps,\n FeatureProviderOwnProps {}\n"],"names":["FeatureType"],"mappings":"AAEYA,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,eAAA,CAAA,GAAA,gBAAA;AAAA,EAAA,OAAXA,WAAW;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothCornersFeature.mjs","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { type Feature, FeatureType } from '../FeatureProvider.types'\n\nimport { smoothCornersScript } from './smoothCornersScript'\n\n/**\n * @see {@link https://fetch.spec.whatwg.org/#requestcredentials}\n */\ntype RequestCredentials = 'omit' | 'same-origin' | 'include'\n\ntype WorkletOptions = {\n credentials: RequestCredentials\n}\n\n/**\n * @see {@link https://html.spec.whatwg.org/multipage/worklets.html#worklets-worklet}\n */\ninterface Worklet {\n addModule: (moduleURL: string, options?: WorkletOptions) => Promise<void>\n}\n\ndeclare global {\n namespace CSS {\n export const paintWorklet: Worklet\n }\n}\n\n/**\n * 🚨 This is an experimental feature! It may not be suitable for use in production.\n *\n * Instead of CSS border-radius, Use *Superellipse* masking using the CSS Houdini API.\n * When enabled, the feature will be applied to components with the `smoothCorners` property set to `true`.\n */\nclass SmoothCornersFeature implements Feature {\n readonly name = FeatureType.SmoothCorners\n\n private globalObject: typeof globalThis | null = null\n\n private activated: WeakMap<typeof globalThis, boolean> = new WeakMap([\n [globalThis, false],\n ])\n\n private updateCurrentGlobalObject(globalObject: typeof globalThis) {\n this.globalObject = globalObject\n }\n\n private isGlobalObjectIdentical(globalObject: typeof globalThis) {\n return Object.is(this.globalObject, globalObject)\n }\n\n private supportCSSPaintWorklet(globalObject: typeof globalThis) {\n return (\n typeof globalObject.CSS !== 'undefined' &&\n 'paintWorklet' in globalObject.CSS\n )\n }\n\n async activate(globalObject: typeof globalThis = globalThis) {\n if (\n !this.isGlobalObjectIdentical(globalObject) &&\n this.supportCSSPaintWorklet(globalObject)\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' })\n )\n\n try {\n await globalObject.CSS.paintWorklet.addModule(workletURL)\n this.activated.set(globalObject, true)\n } catch {\n this.activated.set(globalObject, false)\n }\n }\n\n this.updateCurrentGlobalObject(globalObject)\n\n return this.activated.get(globalObject) as boolean\n }\n}\n\nexport default new SmoothCornersFeature()\n"],"names":["SmoothCornersFeature","name","FeatureType","SmoothCorners","globalObject","activated","WeakMap","globalThis","updateCurrentGlobalObject","isGlobalObjectIdentical","Object","is","supportCSSPaintWorklet","CSS","activate","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","paintWorklet","addModule","set","get"],"mappings":";;;AAAA;;AAKA;AACA;AACA;;AAOA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,CAAoB;EACnCC,IAAI,GAAA,CAAA,MAAGC,WAAW,CAACC,aAAa,GAAA,CAAA;AAEjCC,EAAAA,YAAY,GAA6B,IAAI,CAAA;EAE7CC,SAAS,GAAA,CAAA,MAAwC,IAAIC,OAAO,CAAC,CACnE,CAACC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC,GAAA,CAAA;EAEMC,yBAAyBA,CAACJ,YAA+B,EAAE;IACjE,IAAI,CAACA,YAAY,GAAGA,YAAY,CAAA;AAClC,GAAA;EAEQK,uBAAuBA,CAACL,YAA+B,EAAE;IAC/D,OAAOM,MAAM,CAACC,EAAE,CAAC,IAAI,CAACP,YAAY,EAAEA,YAAY,CAAC,CAAA;AACnD,GAAA;EAEQQ,sBAAsBA,CAACR,YAA+B,EAAE;IAC9D,OACE,OAAOA,YAAY,CAACS,GAAG,KAAK,WAAW,IACvC,cAAc,IAAIT,YAAY,CAACS,GAAG,CAAA;AAEtC,GAAA;AAEA,EAAA,MAAMC,QAAQA,CAACV,YAA+B,GAAGG,UAAU,EAAE;AAC3D,IAAA,IACE,CAAC,IAAI,CAACE,uBAAuB,CAACL,YAAY,CAAC,IAC3C,IAAI,CAACQ,sBAAsB,CAACR,YAAY,CAAC,EACzC;AACA,MAAA,MAAMW,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,mBAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE,wBAAA;AAAyB,OAAC,CACpE,CAAC,CAAA;MAED,IAAI;QACF,MAAMhB,YAAY,CAACS,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACP,UAAU,CAAC,CAAA;QACzD,IAAI,CAACV,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,IAAI,CAAC,CAAA;AACxC,OAAC,CAAC,MAAM;QACN,IAAI,CAACC,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,KAAK,CAAC,CAAA;AACzC,OAAA;AACF,KAAA;AAEA,IAAA,IAAI,CAACI,yBAAyB,CAACJ,YAAY,CAAC,CAAA;AAE5C,IAAA,OAAO,IAAI,CAACC,SAAS,CAACmB,GAAG,CAACpB,YAAY,CAAC,CAAA;AACzC,GAAA;AACF,CAAA;AAEA,6BAAe,IAAIJ,oBAAoB,EAAE;;;;"}
1
+ {"version":3,"file":"SmoothCornersFeature.mjs","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { type Feature, FeatureType } from '../FeatureProvider.types'\n\nimport { smoothCornersScript } from './smoothCornersScript'\n\n/**\n * @see {@link https://fetch.spec.whatwg.org/#requestcredentials}\n */\ntype RequestCredentials = 'omit' | 'same-origin' | 'include'\n\ntype WorkletOptions = {\n credentials: RequestCredentials\n}\n\n/**\n * @see {@link https://html.spec.whatwg.org/multipage/worklets.html#worklets-worklet}\n */\ninterface Worklet {\n addModule: (moduleURL: string, options?: WorkletOptions) => Promise<void>\n}\n\ndeclare global {\n namespace CSS {\n export const paintWorklet: Worklet\n }\n}\n\n/**\n * 🚨 This is an experimental feature! It may not be suitable for use in production.\n *\n * Instead of CSS border-radius, Use *Superellipse* masking using the CSS Houdini API.\n * When enabled, the feature will be applied to components with the `smoothCorners` property set to `true`.\n */\nclass SmoothCornersFeature implements Feature {\n readonly name = FeatureType.SmoothCorners\n\n private globalObject: typeof globalThis | null = null\n\n private activated: WeakMap<typeof globalThis, boolean> = new WeakMap([\n [globalThis, false],\n ])\n\n private updateCurrentGlobalObject(globalObject: typeof globalThis) {\n this.globalObject = globalObject\n }\n\n private isGlobalObjectIdentical(globalObject: typeof globalThis) {\n return Object.is(this.globalObject, globalObject)\n }\n\n private supportCSSPaintWorklet(globalObject: typeof globalThis) {\n return (\n typeof globalObject.CSS !== 'undefined' &&\n 'paintWorklet' in globalObject.CSS\n )\n }\n\n async activate(globalObject: typeof globalThis = globalThis) {\n if (\n !this.isGlobalObjectIdentical(globalObject) &&\n this.supportCSSPaintWorklet(globalObject)\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' })\n )\n\n try {\n await globalObject.CSS.paintWorklet.addModule(workletURL)\n this.activated.set(globalObject, true)\n } catch {\n this.activated.set(globalObject, false)\n }\n }\n\n this.updateCurrentGlobalObject(globalObject)\n\n return this.activated.get(globalObject) as boolean\n }\n}\n\nexport default new SmoothCornersFeature()\n"],"names":["SmoothCornersFeature","name","FeatureType","SmoothCorners","globalObject","activated","WeakMap","globalThis","updateCurrentGlobalObject","isGlobalObjectIdentical","Object","is","supportCSSPaintWorklet","CSS","activate","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","paintWorklet","addModule","set","get"],"mappings":";;;AAAA;;AAKA;AACA;AACA;;AAOA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,CAAoB;EACnCC,IAAI,GAAA,CAAA,MAAGC,WAAW,CAACC,aAAa,GAAA;AAEjCC,EAAAA,YAAY,GAA6B,IAAI;EAE7CC,SAAS,GAAA,CAAA,MAAwC,IAAIC,OAAO,CAAC,CACnE,CAACC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC,GAAA;EAEMC,yBAAyBA,CAACJ,YAA+B,EAAE;IACjE,IAAI,CAACA,YAAY,GAAGA,YAAY;AAClC;EAEQK,uBAAuBA,CAACL,YAA+B,EAAE;IAC/D,OAAOM,MAAM,CAACC,EAAE,CAAC,IAAI,CAACP,YAAY,EAAEA,YAAY,CAAC;AACnD;EAEQQ,sBAAsBA,CAACR,YAA+B,EAAE;IAC9D,OACE,OAAOA,YAAY,CAACS,GAAG,KAAK,WAAW,IACvC,cAAc,IAAIT,YAAY,CAACS,GAAG;AAEtC;AAEA,EAAA,MAAMC,QAAQA,CAACV,YAA+B,GAAGG,UAAU,EAAE;AAC3D,IAAA,IACE,CAAC,IAAI,CAACE,uBAAuB,CAACL,YAAY,CAAC,IAC3C,IAAI,CAACQ,sBAAsB,CAACR,YAAY,CAAC,EACzC;AACA,MAAA,MAAMW,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,mBAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE;AAAyB,OAAC,CACpE,CAAC;MAED,IAAI;QACF,MAAMhB,YAAY,CAACS,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACP,UAAU,CAAC;QACzD,IAAI,CAACV,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,IAAI,CAAC;AACxC,OAAC,CAAC,MAAM;QACN,IAAI,CAACC,SAAS,CAACkB,GAAG,CAACnB,YAAY,EAAE,KAAK,CAAC;AACzC;AACF;AAEA,IAAA,IAAI,CAACI,yBAAyB,CAACJ,YAAY,CAAC;AAE5C,IAAA,OAAO,IAAI,CAACC,SAAS,CAACmB,GAAG,CAACpB,YAAY,CAAC;AACzC;AACF;AAEA,6BAAe,IAAIJ,oBAAoB,EAAE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"smoothCornersScript.mjs","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.ts"],"sourcesContent":["export const smoothCornersScript = `\nclass SmoothCorners {\n static get inputProperties() {\n return [\n 'border-image-source',\n '--smooth-corners',\n '--smooth-corners-shadow',\n '--smooth-corners-bg-color',\n '--smooth-corners-padding',\n '--smooth-corners-radius-unit',\n ]\n }\n\n constructor() {\n this.superellipseCache = new Map()\n }\n\n trimPX(pixel) {\n return parseInt(pixel.replace('px', ''), 10)\n }\n\n splitValueAndUnit(value) {\n const regex = /([\\\\d.\\\\-+]+)\\\\s*(\\\\D*)/\n const matches = value.match(regex)\n return matches ? [matches[1], matches[2]] : [value, '']\n }\n\n superellipse(...args) {\n const sanitizedArgs = this.sanitizeSuperellipseArgs(...args)\n\n const cacheKey = this.getSuperellipseCacheKey(sanitizedArgs)\n\n if (this.superellipseCache.has(cacheKey)) {\n return [...this.superellipseCache.get(cacheKey)]\n }\n\n const result = this.computeSuperellipse(...sanitizedArgs)\n\n this.superellipseCache.set(cacheKey, result)\n\n return [...result]\n }\n\n sanitizeSuperellipseArgs(a, b, nX, nY) {\n if (nX > 100) { nX = 100 }\n if (nY > 100) { nY = 100 }\n if (nX < 0.00000000001) { nX = 0.00000000001 }\n if (nY < 0.00000000001) { nY = 0.00000000001 }\n\n return [a, b, nX, nY]\n }\n\n computeSuperellipse(a, b, nX, nY) {\n const nX2 = 2 / nX\n const nY2 = 2 / nY\n const steps = 360\n const step = (2 * Math.PI) / steps\n const points = t => {\n const cosT = Math.cos(t)\n const sinT = Math.sin(t)\n return {\n x: Math.abs(cosT) ** nX2 * a * Math.sign(cosT),\n y: Math.abs(sinT) ** nY2 * b * Math.sign(sinT),\n }\n }\n\n return Array.from({ length: steps + 1 }, (_, i) => points(i * step))\n }\n\n getSuperellipseCacheKey(args) {\n return args.join(':')\n }\n\n paint(ctx, geom, properties) {\n const backgroundImage = properties\n .get('border-image-source')\n\n const backgroundColor = properties\n .get('--smooth-corners-bg-color')\n .toString()\n\n const padding = properties\n .get('--smooth-corners-padding')\n .toString()\n\n const [offsetX, offsetY, blur, spread, color] = properties\n .get('--smooth-corners-shadow')\n .toString()\n .split(/,s*/)\n\n const halfWidth = geom.width / 2\n const halfHeight = geom.height / 2\n\n const baseN = properties\n .get('--smooth-corners')\n .toString()\n\n const targetWidth = geom.width - (2 * this.trimPX(padding))\n const targetHeight = geom.height - (2 * this.trimPX(padding))\n\n const [rValue, rUnit] = this.splitValueAndUnit(baseN)\n const targetR = rUnit === '%'\n ? (Number(rValue) / 100) * Math.min(targetWidth, targetHeight)\n : Number(rValue)\n\n const targetNX = targetWidth / targetR\n const targetNY = targetHeight / targetR\n\n const smooth = this.superellipse(\n halfWidth - this.trimPX(padding),\n halfHeight - this.trimPX(padding),\n parseFloat(targetNX, 10),\n parseFloat(targetNY, 10),\n )\n\n ctx.setTransform(1, 0, 0, 1, halfWidth, halfHeight)\n ctx.beginPath()\n\n ctx.shadowColor = null\n ctx.shadowOffsetX = 0\n ctx.shadowOffsetY = 0\n ctx.shadowBlur = 0\n\n const trimedX = this.trimPX(offsetX) * 2\n const trimedY = this.trimPX(offsetY) * 2\n const trimedBlur = this.trimPX(blur)\n const trimedSpread = this.trimPX(spread)\n\n if (trimedBlur === 0) {\n ctx.strokeStyle = color\n ctx.lineWidth = trimedSpread * 2\n } else {\n ctx.shadowColor = color\n ctx.shadowOffsetX = trimedX\n ctx.shadowOffsetY = trimedY\n ctx.shadowBlur = trimedBlur * 2\n }\n\n smooth.forEach(({ x, y }, index) => {\n if (index === 0) {\n ctx.moveTo(x, y)\n } else {\n ctx.lineTo(x, y)\n }\n })\n\n if (trimedBlur === 0) {\n ctx.stroke()\n }\n\n if (backgroundColor) {\n ctx.fillStyle = backgroundColor\n ctx.fill()\n }\n\n if (backgroundImage instanceof CSSImageValue) {\n smooth.forEach(({ x, y }, index) => {\n if (index === 0) {\n ctx.moveTo(x, y)\n } else {\n ctx.lineTo(x, y)\n }\n })\n\n ctx.closePath()\n ctx.clip()\n\n ctx.drawImage(backgroundImage, -(targetWidth / 2), -(targetHeight / 2), targetWidth, targetHeight)\n }\n\n ctx.closePath()\n }\n}\n\ntry {\n registerPaint('smooth-corners', SmoothCorners)\n} catch (e) {\n // If the paint already exists, don't make it error.\n}\n`\n"],"names":["smoothCornersScript"],"mappings":"AAAO,MAAMA,mBAAmB,GAAG,CAAA;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"smoothCornersScript.mjs","sources":["../../../../../src/components/FeatureProvider/SmoothCornersFeature/smoothCornersScript.ts"],"sourcesContent":["export const smoothCornersScript = `\nclass SmoothCorners {\n static get inputProperties() {\n return [\n 'border-image-source',\n '--smooth-corners',\n '--smooth-corners-shadow',\n '--smooth-corners-bg-color',\n '--smooth-corners-padding',\n '--smooth-corners-radius-unit',\n ]\n }\n\n constructor() {\n this.superellipseCache = new Map()\n }\n\n trimPX(pixel) {\n return parseInt(pixel.replace('px', ''), 10)\n }\n\n splitValueAndUnit(value) {\n const regex = /([\\\\d.\\\\-+]+)\\\\s*(\\\\D*)/\n const matches = value.match(regex)\n return matches ? [matches[1], matches[2]] : [value, '']\n }\n\n superellipse(...args) {\n const sanitizedArgs = this.sanitizeSuperellipseArgs(...args)\n\n const cacheKey = this.getSuperellipseCacheKey(sanitizedArgs)\n\n if (this.superellipseCache.has(cacheKey)) {\n return [...this.superellipseCache.get(cacheKey)]\n }\n\n const result = this.computeSuperellipse(...sanitizedArgs)\n\n this.superellipseCache.set(cacheKey, result)\n\n return [...result]\n }\n\n sanitizeSuperellipseArgs(a, b, nX, nY) {\n if (nX > 100) { nX = 100 }\n if (nY > 100) { nY = 100 }\n if (nX < 0.00000000001) { nX = 0.00000000001 }\n if (nY < 0.00000000001) { nY = 0.00000000001 }\n\n return [a, b, nX, nY]\n }\n\n computeSuperellipse(a, b, nX, nY) {\n const nX2 = 2 / nX\n const nY2 = 2 / nY\n const steps = 360\n const step = (2 * Math.PI) / steps\n const points = t => {\n const cosT = Math.cos(t)\n const sinT = Math.sin(t)\n return {\n x: Math.abs(cosT) ** nX2 * a * Math.sign(cosT),\n y: Math.abs(sinT) ** nY2 * b * Math.sign(sinT),\n }\n }\n\n return Array.from({ length: steps + 1 }, (_, i) => points(i * step))\n }\n\n getSuperellipseCacheKey(args) {\n return args.join(':')\n }\n\n paint(ctx, geom, properties) {\n const backgroundImage = properties\n .get('border-image-source')\n\n const backgroundColor = properties\n .get('--smooth-corners-bg-color')\n .toString()\n\n const padding = properties\n .get('--smooth-corners-padding')\n .toString()\n\n const [offsetX, offsetY, blur, spread, color] = properties\n .get('--smooth-corners-shadow')\n .toString()\n .split(/,s*/)\n\n const halfWidth = geom.width / 2\n const halfHeight = geom.height / 2\n\n const baseN = properties\n .get('--smooth-corners')\n .toString()\n\n const targetWidth = geom.width - (2 * this.trimPX(padding))\n const targetHeight = geom.height - (2 * this.trimPX(padding))\n\n const [rValue, rUnit] = this.splitValueAndUnit(baseN)\n const targetR = rUnit === '%'\n ? (Number(rValue) / 100) * Math.min(targetWidth, targetHeight)\n : Number(rValue)\n\n const targetNX = targetWidth / targetR\n const targetNY = targetHeight / targetR\n\n const smooth = this.superellipse(\n halfWidth - this.trimPX(padding),\n halfHeight - this.trimPX(padding),\n parseFloat(targetNX, 10),\n parseFloat(targetNY, 10),\n )\n\n ctx.setTransform(1, 0, 0, 1, halfWidth, halfHeight)\n ctx.beginPath()\n\n ctx.shadowColor = null\n ctx.shadowOffsetX = 0\n ctx.shadowOffsetY = 0\n ctx.shadowBlur = 0\n\n const trimedX = this.trimPX(offsetX) * 2\n const trimedY = this.trimPX(offsetY) * 2\n const trimedBlur = this.trimPX(blur)\n const trimedSpread = this.trimPX(spread)\n\n if (trimedBlur === 0) {\n ctx.strokeStyle = color\n ctx.lineWidth = trimedSpread * 2\n } else {\n ctx.shadowColor = color\n ctx.shadowOffsetX = trimedX\n ctx.shadowOffsetY = trimedY\n ctx.shadowBlur = trimedBlur * 2\n }\n\n smooth.forEach(({ x, y }, index) => {\n if (index === 0) {\n ctx.moveTo(x, y)\n } else {\n ctx.lineTo(x, y)\n }\n })\n\n if (trimedBlur === 0) {\n ctx.stroke()\n }\n\n if (backgroundColor) {\n ctx.fillStyle = backgroundColor\n ctx.fill()\n }\n\n if (backgroundImage instanceof CSSImageValue) {\n smooth.forEach(({ x, y }, index) => {\n if (index === 0) {\n ctx.moveTo(x, y)\n } else {\n ctx.lineTo(x, y)\n }\n })\n\n ctx.closePath()\n ctx.clip()\n\n ctx.drawImage(backgroundImage, -(targetWidth / 2), -(targetHeight / 2), targetWidth, targetHeight)\n }\n\n ctx.closePath()\n }\n}\n\ntry {\n registerPaint('smooth-corners', SmoothCorners)\n} catch (e) {\n // If the paint already exists, don't make it error.\n}\n`\n"],"names":["smoothCornersScript"],"mappings":"AAAO,MAAMA,mBAAmB,GAAG;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.mjs","sources":["../../../../src/components/FormControl/FormControl.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useCallback, useMemo, useState } from 'react'\n\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport {\n type FormFieldProps,\n type FormFieldSize,\n type SizeProps,\n} from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport {\n type ContainerProps,\n type ErrorMessagePropsGetter,\n type FieldPropsGetter,\n type FormControlContextValue,\n type FormControlProps,\n type GroupPropsGetter,\n type HelperTextPropsGetter,\n type LabelPropsGetter,\n} from './FormControl.types'\n\nimport styles from './FormControl.module.scss'\n\nconst [FormControlContextProvider, useFormControlContext] = createContext<\n FormControlContextValue | undefined\n>(undefined)\n\nexport { useFormControlContext }\n\nexport const FORM_CONTROL_TEST_ID = 'bezier-form-control'\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(function Container(\n { labelPosition, children, className, ...rest },\n forwardedRef\n) {\n switch (labelPosition) {\n case 'top':\n return (\n <Stack\n className={className}\n ref={forwardedRef}\n direction=\"vertical\"\n {...rest}\n >\n {children}\n </Stack>\n )\n\n case 'left':\n default:\n return (\n <div\n ref={forwardedRef as React.ForwardedRef<HTMLDivElement>}\n className={classNames(styles.Grid, className)}\n {...rest}\n >\n {children}\n </div>\n )\n }\n})\n\nexport const FormControl = forwardRef<HTMLElement, FormControlProps>(\n function FormControl(\n {\n children,\n id: idProp,\n labelPosition = 'top',\n size = 'm',\n hasError,\n required,\n readOnly,\n disabled,\n ...rest\n },\n forwardedRef\n ) {\n const [groupNode, setGroupNode] = useState<HTMLElement | null>(null)\n const [helperTextNode, setHelperTextNode] = useState<HTMLElement | null>(\n null\n )\n const [errorMessageNode, setErrorMessageNode] =\n useState<HTMLElement | null>(null)\n\n const id = useId(idProp, 'field')\n const groupId = `${id}-group`\n const labelId = `${id}-label`\n const helperTextId = `${id}-help-text`\n const errorMessageId = `${id}-error-message`\n\n const fieldId = groupNode ? undefined : id\n\n const describerId = useMemo(() => {\n if (errorMessageNode) {\n return errorMessageId\n }\n if (helperTextNode) {\n return helperTextId\n }\n return undefined\n }, [errorMessageNode, helperTextNode, errorMessageId, helperTextId])\n\n const getGroupProps = useCallback<GroupPropsGetter>(\n (ownProps) => ({\n id: groupId,\n 'aria-labelledby': labelId,\n 'aria-describedby': describerId,\n ref: setGroupNode,\n ...ownProps,\n }),\n [groupId, labelId, describerId]\n )\n\n const getLabelProps = useCallback<LabelPropsGetter>(\n (ownProps) => ({\n id: labelId,\n htmlFor: fieldId,\n className: classNames(\n styles.FormLabelWrapper,\n styles[`position-${labelPosition}`],\n getFormFieldSizeClassName(size)\n ),\n typo: labelPosition === 'top' ? '13' : '14',\n ...ownProps,\n }),\n [fieldId, labelId, labelPosition, size]\n )\n\n const getFieldProps = useCallback<FieldPropsGetter>(\n (ownProps) => ({\n id: fieldId,\n size,\n 'aria-describedby': groupNode ? undefined : describerId,\n hasError,\n required,\n readOnly,\n disabled,\n ...ownProps,\n }),\n [\n fieldId,\n describerId,\n size,\n hasError,\n required,\n readOnly,\n disabled,\n groupNode,\n ]\n )\n\n const getHelperTextProps = useCallback<HelperTextPropsGetter>(\n (ownProps) => ({\n id: helperTextId,\n visible: isNil(hasError) || !hasError,\n ref: setHelperTextNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [helperTextId, labelPosition, hasError]\n )\n\n const getErrorMessageProps = useCallback<ErrorMessagePropsGetter>(\n (ownProps) => ({\n id: errorMessageId,\n visible: isNil(hasError) || hasError,\n ref: setErrorMessageNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [errorMessageId, labelPosition, hasError]\n )\n\n const contextValue = useMemo(\n () => ({\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n }),\n [\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n ]\n )\n\n if (!children) {\n return null\n }\n\n return (\n <FormControlContextProvider value={contextValue}>\n <Container\n {...rest}\n ref={forwardedRef}\n labelPosition={labelPosition}\n data-testid={FORM_CONTROL_TEST_ID}\n >\n {children}\n </Container>\n </FormControlContextProvider>\n )\n }\n)\n\nexport function useFormFieldProps<\n Props extends FormFieldProps & SizeProps<FormFieldSize>,\n>(props?: Props) {\n const contextValue = useFormControlContext()\n\n const formFieldProps = useMemo(() => {\n const mergedProps = contextValue?.getFieldProps(props) ?? { ...props }\n\n const {\n disabled = false,\n readOnly = false,\n required = false,\n hasError = false,\n size = undefined,\n ...rest\n } = mergedProps\n\n return {\n ...rest,\n 'aria-disabled': ariaAttr(disabled),\n 'aria-invalid': ariaAttr(hasError),\n 'aria-required': ariaAttr(required),\n 'aria-readonly': ariaAttr(readOnly),\n size,\n disabled,\n hasError,\n required,\n readOnly,\n }\n }, [props, contextValue])\n\n return formFieldProps as typeof formFieldProps & Props\n}\n"],"names":["FormControlContextProvider","useFormControlContext","createContext","undefined","FORM_CONTROL_TEST_ID","Container","forwardRef","labelPosition","children","className","rest","forwardedRef","React","createElement","Stack","Object","assign","ref","direction","classNames","styles","Grid","FormControl","id","idProp","size","hasError","required","readOnly","disabled","groupNode","setGroupNode","useState","helperTextNode","setHelperTextNode","errorMessageNode","setErrorMessageNode","useId","groupId","labelId","helperTextId","errorMessageId","fieldId","describerId","useMemo","getGroupProps","useCallback","ownProps","getLabelProps","htmlFor","FormLabelWrapper","getFormFieldSizeClassName","typo","getFieldProps","getHelperTextProps","visible","isNil","FormHelperTextWrapper","getErrorMessageProps","contextValue","value","useFormFieldProps","props","formFieldProps","_contextValue$getFiel","mergedProps","ariaAttr"],"mappings":"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"}
1
+ {"version":3,"file":"FormControl.mjs","sources":["../../../../src/components/FormControl/FormControl.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useCallback, useMemo, useState } from 'react'\n\nimport classNames from 'classnames'\n\nimport useId from '~/src/hooks/useId'\nimport {\n type FormFieldProps,\n type FormFieldSize,\n type SizeProps,\n} from '~/src/types/props'\nimport { getFormFieldSizeClassName } from '~/src/types/props-helpers'\nimport { ariaAttr } from '~/src/utils/aria'\nimport { createContext } from '~/src/utils/react'\nimport { isNil } from '~/src/utils/type'\n\nimport { Stack } from '~/src/components/Stack'\n\nimport {\n type ContainerProps,\n type ErrorMessagePropsGetter,\n type FieldPropsGetter,\n type FormControlContextValue,\n type FormControlProps,\n type GroupPropsGetter,\n type HelperTextPropsGetter,\n type LabelPropsGetter,\n} from './FormControl.types'\n\nimport styles from './FormControl.module.scss'\n\nconst [FormControlContextProvider, useFormControlContext] = createContext<\n FormControlContextValue | undefined\n>(undefined)\n\nexport { useFormControlContext }\n\nexport const FORM_CONTROL_TEST_ID = 'bezier-form-control'\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(function Container(\n { labelPosition, children, className, ...rest },\n forwardedRef\n) {\n switch (labelPosition) {\n case 'top':\n return (\n <Stack\n className={className}\n ref={forwardedRef}\n direction=\"vertical\"\n {...rest}\n >\n {children}\n </Stack>\n )\n\n case 'left':\n default:\n return (\n <div\n ref={forwardedRef as React.ForwardedRef<HTMLDivElement>}\n className={classNames(styles.Grid, className)}\n {...rest}\n >\n {children}\n </div>\n )\n }\n})\n\nexport const FormControl = forwardRef<HTMLElement, FormControlProps>(\n function FormControl(\n {\n children,\n id: idProp,\n labelPosition = 'top',\n size = 'm',\n hasError,\n required,\n readOnly,\n disabled,\n ...rest\n },\n forwardedRef\n ) {\n const [groupNode, setGroupNode] = useState<HTMLElement | null>(null)\n const [helperTextNode, setHelperTextNode] = useState<HTMLElement | null>(\n null\n )\n const [errorMessageNode, setErrorMessageNode] =\n useState<HTMLElement | null>(null)\n\n const id = useId(idProp, 'field')\n const groupId = `${id}-group`\n const labelId = `${id}-label`\n const helperTextId = `${id}-help-text`\n const errorMessageId = `${id}-error-message`\n\n const fieldId = groupNode ? undefined : id\n\n const describerId = useMemo(() => {\n if (errorMessageNode) {\n return errorMessageId\n }\n if (helperTextNode) {\n return helperTextId\n }\n return undefined\n }, [errorMessageNode, helperTextNode, errorMessageId, helperTextId])\n\n const getGroupProps = useCallback<GroupPropsGetter>(\n (ownProps) => ({\n id: groupId,\n 'aria-labelledby': labelId,\n 'aria-describedby': describerId,\n ref: setGroupNode,\n ...ownProps,\n }),\n [groupId, labelId, describerId]\n )\n\n const getLabelProps = useCallback<LabelPropsGetter>(\n (ownProps) => ({\n id: labelId,\n htmlFor: fieldId,\n className: classNames(\n styles.FormLabelWrapper,\n styles[`position-${labelPosition}`],\n getFormFieldSizeClassName(size)\n ),\n typo: labelPosition === 'top' ? '13' : '14',\n ...ownProps,\n }),\n [fieldId, labelId, labelPosition, size]\n )\n\n const getFieldProps = useCallback<FieldPropsGetter>(\n (ownProps) => ({\n id: fieldId,\n size,\n 'aria-describedby': groupNode ? undefined : describerId,\n hasError,\n required,\n readOnly,\n disabled,\n ...ownProps,\n }),\n [\n fieldId,\n describerId,\n size,\n hasError,\n required,\n readOnly,\n disabled,\n groupNode,\n ]\n )\n\n const getHelperTextProps = useCallback<HelperTextPropsGetter>(\n (ownProps) => ({\n id: helperTextId,\n visible: isNil(hasError) || !hasError,\n ref: setHelperTextNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [helperTextId, labelPosition, hasError]\n )\n\n const getErrorMessageProps = useCallback<ErrorMessagePropsGetter>(\n (ownProps) => ({\n id: errorMessageId,\n visible: isNil(hasError) || hasError,\n ref: setErrorMessageNode,\n className: classNames(\n styles.FormHelperTextWrapper,\n labelPosition === 'left' && styles['position-left']\n ),\n ...ownProps,\n }),\n [errorMessageId, labelPosition, hasError]\n )\n\n const contextValue = useMemo(\n () => ({\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n }),\n [\n id,\n labelId,\n helperTextId,\n errorMessageId,\n getGroupProps,\n getLabelProps,\n getFieldProps,\n getHelperTextProps,\n getErrorMessageProps,\n hasError,\n required,\n readOnly,\n disabled,\n ]\n )\n\n if (!children) {\n return null\n }\n\n return (\n <FormControlContextProvider value={contextValue}>\n <Container\n {...rest}\n ref={forwardedRef}\n labelPosition={labelPosition}\n data-testid={FORM_CONTROL_TEST_ID}\n >\n {children}\n </Container>\n </FormControlContextProvider>\n )\n }\n)\n\nexport function useFormFieldProps<\n Props extends FormFieldProps & SizeProps<FormFieldSize>,\n>(props?: Props) {\n const contextValue = useFormControlContext()\n\n const formFieldProps = useMemo(() => {\n const mergedProps = contextValue?.getFieldProps(props) ?? { ...props }\n\n const {\n disabled = false,\n readOnly = false,\n required = false,\n hasError = false,\n size = undefined,\n ...rest\n } = mergedProps\n\n return {\n ...rest,\n 'aria-disabled': ariaAttr(disabled),\n 'aria-invalid': ariaAttr(hasError),\n 'aria-required': ariaAttr(required),\n 'aria-readonly': ariaAttr(readOnly),\n size,\n disabled,\n hasError,\n required,\n readOnly,\n }\n }, [props, contextValue])\n\n return formFieldProps as typeof formFieldProps & Props\n}\n"],"names":["FormControlContextProvider","useFormControlContext","createContext","undefined","FORM_CONTROL_TEST_ID","Container","forwardRef","labelPosition","children","className","rest","forwardedRef","React","createElement","Stack","Object","assign","ref","direction","classNames","styles","Grid","FormControl","id","idProp","size","hasError","required","readOnly","disabled","groupNode","setGroupNode","useState","helperTextNode","setHelperTextNode","errorMessageNode","setErrorMessageNode","useId","groupId","labelId","helperTextId","errorMessageId","fieldId","describerId","useMemo","getGroupProps","useCallback","ownProps","getLabelProps","htmlFor","FormLabelWrapper","getFormFieldSizeClassName","typo","getFieldProps","getHelperTextProps","visible","isNil","FormHelperTextWrapper","getErrorMessageProps","contextValue","value","useFormFieldProps","props","formFieldProps","_contextValue$getFiel","mergedProps","ariaAttr"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormGroup.mjs","sources":["../../../../src/components/FormGroup/FormGroup.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Stack } from '~/src/components/Stack'\n\nimport { type FormGroupProps } from './FormGroup.types'\n\nconst FORM_GROUP_TEST_ID = 'bezier-form-group'\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup(\n { spacing = 6, direction = 'vertical', role = 'group', children, ...rest },\n forwardedRef\n ) {\n const contextValue = useFormControlContext()\n\n const { ref, ...ownProps } = contextValue?.getGroupProps(rest) ?? {\n ref: noop,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n return (\n <Stack\n data-testid={FORM_GROUP_TEST_ID}\n ref={mergedRef}\n wrap\n justify=\"start\"\n align=\"stretch\"\n spacing={spacing}\n direction={direction}\n role={role}\n {...ownProps}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["FORM_GROUP_TEST_ID","FormGroup","forwardRef","spacing","direction","role","children","rest","forwardedRef","_contextValue$getGrou","contextValue","useFormControlContext","ref","ownProps","getGroupProps","noop","mergedRef","useMergeRefs","React","createElement","Stack","Object","assign","wrap","justify","align"],"mappings":";;;;;;AAYA,MAAMA,kBAAkB,GAAG,mBAAmB,CAAA;MAEjCC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAChB;AAAEE,EAAAA,OAAO,GAAG,CAAC;AAAEC,EAAAA,SAAS,GAAG,UAAU;AAAEC,EAAAA,IAAI,GAAG,OAAO;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAC1EC,YAAY,EACZ;AAAA,EAAA,IAAAC,qBAAA,CAAA;AACA,EAAA,MAAMC,YAAY,GAAGC,qBAAqB,EAAE,CAAA;EAE5C,MAAM;IAAEC,GAAG;IAAE,GAAGC,QAAAA;AAAS,GAAC,IAAAJ,qBAAA,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEI,aAAa,CAACP,IAAI,CAAC,cAAAE,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI;AAChEG,IAAAA,GAAG,EAAEG,IAAI;IACT,GAAGR,IAAAA;GACJ,CAAA;AAED,EAAA,MAAMS,SAAS,GAAGC,YAAY,CAACL,GAAG,EAAEJ,YAAY,CAAC,CAAA;EAEjD,oBACEU,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACJ,IAAA,aAAA,EAAatB,kBAAmB;AAChCY,IAAAA,GAAG,EAAEI,SAAU;IACfO,IAAI,EAAA,IAAA;AACJC,IAAAA,OAAO,EAAC,OAAO;AACfC,IAAAA,KAAK,EAAC,SAAS;AACftB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,IAAI,EAAEA,IAAAA;GACFQ,EAAAA,QAAQ,CAEXP,EAAAA,QACI,CAAC,CAAA;AAEZ,CACF;;;;"}
1
+ {"version":3,"file":"FormGroup.mjs","sources":["../../../../src/components/FormGroup/FormGroup.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Stack } from '~/src/components/Stack'\n\nimport { type FormGroupProps } from './FormGroup.types'\n\nconst FORM_GROUP_TEST_ID = 'bezier-form-group'\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup(\n { spacing = 6, direction = 'vertical', role = 'group', children, ...rest },\n forwardedRef\n ) {\n const contextValue = useFormControlContext()\n\n const { ref, ...ownProps } = contextValue?.getGroupProps(rest) ?? {\n ref: noop,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n return (\n <Stack\n data-testid={FORM_GROUP_TEST_ID}\n ref={mergedRef}\n wrap\n justify=\"start\"\n align=\"stretch\"\n spacing={spacing}\n direction={direction}\n role={role}\n {...ownProps}\n >\n {children}\n </Stack>\n )\n }\n)\n"],"names":["FORM_GROUP_TEST_ID","FormGroup","forwardRef","spacing","direction","role","children","rest","forwardedRef","_contextValue$getGrou","contextValue","useFormControlContext","ref","ownProps","getGroupProps","noop","mergedRef","useMergeRefs","React","createElement","Stack","Object","assign","wrap","justify","align"],"mappings":";;;;;;AAYA,MAAMA,kBAAkB,GAAG,mBAAmB;MAEjCC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAChB;AAAEE,EAAAA,OAAO,GAAG,CAAC;AAAEC,EAAAA,SAAS,GAAG,UAAU;AAAEC,EAAAA,IAAI,GAAG,OAAO;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAC1EC,YAAY,EACZ;AAAA,EAAA,IAAAC,qBAAA;AACA,EAAA,MAAMC,YAAY,GAAGC,qBAAqB,EAAE;EAE5C,MAAM;IAAEC,GAAG;IAAE,GAAGC;AAAS,GAAC,IAAAJ,qBAAA,GAAGC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEI,aAAa,CAACP,IAAI,CAAC,cAAAE,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI;AAChEG,IAAAA,GAAG,EAAEG,IAAI;IACT,GAAGR;GACJ;AAED,EAAA,MAAMS,SAAS,GAAGC,YAAY,CAACL,GAAG,EAAEJ,YAAY,CAAC;EAEjD,oBACEU,cAAA,CAAAC,aAAA,CAACC,KAAK,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACJ,IAAA,aAAA,EAAatB,kBAAmB;AAChCY,IAAAA,GAAG,EAAEI,SAAU;IACfO,IAAI,EAAA,IAAA;AACJC,IAAAA,OAAO,EAAC,OAAO;AACfC,IAAAA,KAAK,EAAC,SAAS;AACftB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,IAAI,EAAEA;GACFQ,EAAAA,QAAQ,CAEXP,EAAAA,QACI,CAAC;AAEZ,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormHelperText.mjs","sources":["../../../../src/components/FormHelperText/FormHelperText.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Text } from '~/src/components/Text'\n\nimport type {\n BaseHelperTextProps,\n FormErrorMessageProps,\n FormHelperTextProps,\n} from './FormHelperText.types'\n\nimport styles from './FormHelperText.module.scss'\n\nexport const FORM_HELPER_TEXT_TEST_ID = 'bezier-form-helper-text'\nexport const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message'\n\nconst BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(\n function BaseHelperText(props, forwardedRef) {\n const { type, typo = '13', children, className, ...rest } = props\n\n const contextValue = useFormControlContext()\n const getProps =\n type === 'info'\n ? contextValue?.getHelperTextProps\n : contextValue?.getErrorMessageProps\n\n const {\n visible,\n ref,\n className: formControlClassName,\n ...ownProps\n } = getProps?.(rest) ?? {\n visible: true,\n ref: noop,\n className: undefined,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n if (isEmpty(children) || !visible) {\n return null\n }\n\n return (\n <Text\n ref={mergedRef}\n as=\"p\"\n className={classNames(\n styles.FormHelperText,\n formControlClassName,\n className\n )}\n typo={typo}\n align=\"left\"\n {...ownProps}\n >\n {children}\n </Text>\n )\n }\n)\n\n/**\n * `FormHelperText` is a component to show the description of the input element.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormHelperText>\n * Please use at least 6 characters\n * </FormHelperText>\n * </FormControl>\n * ```\n */\nexport const FormHelperText = forwardRef<HTMLSpanElement, FormHelperTextProps>(\n function FormHelperText(props, forwardedRef) {\n const { color = 'txt-black-dark', children, ...rest } = props\n\n return (\n <BaseHelperText\n type=\"info\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_HELPER_TEXT_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n }\n)\n\n/**\n * `FormErrorMessage` is a component to show error message when form values are invalid.\n * It should be used with `FormControl` component.\n * @example\n * ```tsx\n * <FormControl>\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormErrorMessage>\n * Password should be at least 6 characters\n * </FormErrorMessage>\n * </FormControl>\n * ```\n */\nexport const FormErrorMessage = forwardRef<\n HTMLSpanElement,\n FormErrorMessageProps\n>(function FormErrorMessage(props, forwardedRef) {\n const { color = 'bgtxt-orange-normal', children, ...rest } = props\n\n return (\n <BaseHelperText\n aria-live=\"polite\"\n type=\"error\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_ERROR_MESSAGE_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n})\n"],"names":["FORM_HELPER_TEXT_TEST_ID","FORM_ERROR_MESSAGE_TEST_ID","BaseHelperText","forwardRef","props","forwardedRef","_getProps","type","typo","children","className","rest","contextValue","useFormControlContext","getProps","getHelperTextProps","getErrorMessageProps","visible","ref","formControlClassName","ownProps","noop","undefined","mergedRef","useMergeRefs","isEmpty","React","createElement","Text","Object","assign","as","classNames","styles","FormHelperText","align","color","FormErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"FormHelperText.mjs","sources":["../../../../src/components/FormHelperText/FormHelperText.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { noop } from '~/src/utils/function'\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Text } from '~/src/components/Text'\n\nimport type {\n BaseHelperTextProps,\n FormErrorMessageProps,\n FormHelperTextProps,\n} from './FormHelperText.types'\n\nimport styles from './FormHelperText.module.scss'\n\nexport const FORM_HELPER_TEXT_TEST_ID = 'bezier-form-helper-text'\nexport const FORM_ERROR_MESSAGE_TEST_ID = 'bezier-form-error-message'\n\nconst BaseHelperText = forwardRef<HTMLSpanElement, BaseHelperTextProps>(\n function BaseHelperText(props, forwardedRef) {\n const { type, typo = '13', children, className, ...rest } = props\n\n const contextValue = useFormControlContext()\n const getProps =\n type === 'info'\n ? contextValue?.getHelperTextProps\n : contextValue?.getErrorMessageProps\n\n const {\n visible,\n ref,\n className: formControlClassName,\n ...ownProps\n } = getProps?.(rest) ?? {\n visible: true,\n ref: noop,\n className: undefined,\n ...rest,\n }\n\n const mergedRef = useMergeRefs(ref, forwardedRef)\n\n if (isEmpty(children) || !visible) {\n return null\n }\n\n return (\n <Text\n ref={mergedRef}\n as=\"p\"\n className={classNames(\n styles.FormHelperText,\n formControlClassName,\n className\n )}\n typo={typo}\n align=\"left\"\n {...ownProps}\n >\n {children}\n </Text>\n )\n }\n)\n\n/**\n * `FormHelperText` is a component to show the description of the input element.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormHelperText>\n * Please use at least 6 characters\n * </FormHelperText>\n * </FormControl>\n * ```\n */\nexport const FormHelperText = forwardRef<HTMLSpanElement, FormHelperTextProps>(\n function FormHelperText(props, forwardedRef) {\n const { color = 'txt-black-dark', children, ...rest } = props\n\n return (\n <BaseHelperText\n type=\"info\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_HELPER_TEXT_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n }\n)\n\n/**\n * `FormErrorMessage` is a component to show error message when form values are invalid.\n * It should be used with `FormControl` component.\n * @example\n * ```tsx\n * <FormControl>\n * <FormLabel>\n * Password\n * </FormLabel>\n * <TextField />\n * <FormErrorMessage>\n * Password should be at least 6 characters\n * </FormErrorMessage>\n * </FormControl>\n * ```\n */\nexport const FormErrorMessage = forwardRef<\n HTMLSpanElement,\n FormErrorMessageProps\n>(function FormErrorMessage(props, forwardedRef) {\n const { color = 'bgtxt-orange-normal', children, ...rest } = props\n\n return (\n <BaseHelperText\n aria-live=\"polite\"\n type=\"error\"\n ref={forwardedRef}\n color={color}\n data-testid={FORM_ERROR_MESSAGE_TEST_ID}\n {...rest}\n >\n {children}\n </BaseHelperText>\n )\n})\n"],"names":["FORM_HELPER_TEXT_TEST_ID","FORM_ERROR_MESSAGE_TEST_ID","BaseHelperText","forwardRef","props","forwardedRef","_getProps","type","typo","children","className","rest","contextValue","useFormControlContext","getProps","getHelperTextProps","getErrorMessageProps","visible","ref","formControlClassName","ownProps","noop","undefined","mergedRef","useMergeRefs","isEmpty","React","createElement","Text","Object","assign","as","classNames","styles","FormHelperText","align","color","FormErrorMessage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.mjs","sources":["../../../../src/components/FormLabel/FormLabel.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Help } from '~/src/components/Help'\nimport { HELP_DISPLAY_NAME } from '~/src/components/Help/Help'\nimport { LegacyHStack, LegacyStackItem } from '~/src/components/LegacyStack'\nimport { Text } from '~/src/components/Text'\n\nimport { type FormLabelProps } from './FormLabel.types'\n\nimport styles from './FormLabel.module.scss'\n\nexport const FORM_LABEL_TEST_ID = 'bezier-form-label'\n\n/**\n * `FormLabel` is a component to show label.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Name\n * </FormLabel>\n * <TextField />\n * </FormControl>\n * ```\n */\nexport const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(\n function FormLabel(props, forwardedRef) {\n const {\n help,\n bold = true,\n color = 'txt-black-darkest',\n className,\n children,\n ...rest\n } = props\n\n const contextValue = useFormControlContext()\n const { className: formControlClassName, ...ownProps } =\n contextValue?.getLabelProps(rest) ?? {\n typo: '13',\n className: undefined,\n ...rest,\n }\n\n const HelpComponent = (() => {\n if (isEmpty(help)) {\n return null\n }\n\n if (React.isValidElement(help)) {\n // FIXME(@bora): string, JSXElementCostructor 타입에 displayName 속성이 존재하지 않음, 임시로 any 타입으로 설정\n const { displayName } = help?.type as any\n if (displayName === HELP_DISPLAY_NAME) {\n return help\n }\n }\n\n return <Help>{help}</Help>\n })()\n\n const LabelComponent = (\n <Text\n className={classNames(\n styles.LabelText,\n !HelpComponent && formControlClassName,\n className\n )}\n ref={forwardedRef}\n as=\"label\"\n align=\"left\"\n bold={bold}\n color={color}\n data-testid={FORM_LABEL_TEST_ID}\n {...ownProps}\n >\n {children}\n </Text>\n )\n\n if (isEmpty(children)) {\n return null\n }\n\n return !HelpComponent ? (\n LabelComponent\n ) : (\n <LegacyHStack\n align=\"center\"\n spacing={6}\n className={formControlClassName}\n >\n <LegacyStackItem\n shrink\n weight={1}\n >\n {LabelComponent}\n </LegacyStackItem>\n <LegacyStackItem>{HelpComponent}</LegacyStackItem>\n </LegacyHStack>\n )\n }\n)\n"],"names":["FORM_LABEL_TEST_ID","FormLabel","forwardRef","props","forwardedRef","_contextValue$getLabe","help","bold","color","className","children","rest","contextValue","useFormControlContext","formControlClassName","ownProps","getLabelProps","typo","undefined","HelpComponent","isEmpty","React","isValidElement","displayName","type","HELP_DISPLAY_NAME","createElement","Help","LabelComponent","Text","Object","assign","classNames","styles","LabelText","ref","as","align","LegacyHStack","spacing","LegacyStackItem","shrink","weight"],"mappings":"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"}
1
+ {"version":3,"file":"FormLabel.mjs","sources":["../../../../src/components/FormLabel/FormLabel.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport classNames from 'classnames'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { useFormControlContext } from '~/src/components/FormControl'\nimport { Help } from '~/src/components/Help'\nimport { HELP_DISPLAY_NAME } from '~/src/components/Help/Help'\nimport { LegacyHStack, LegacyStackItem } from '~/src/components/LegacyStack'\nimport { Text } from '~/src/components/Text'\n\nimport { type FormLabelProps } from './FormLabel.types'\n\nimport styles from './FormLabel.module.scss'\n\nexport const FORM_LABEL_TEST_ID = 'bezier-form-label'\n\n/**\n * `FormLabel` is a component to show label.\n * `FormControl` component can handle its layout by `position` props.\n * @example\n * ```tsx\n * <FormControl position=\"top\">\n * <FormLabel>\n * Name\n * </FormLabel>\n * <TextField />\n * </FormControl>\n * ```\n */\nexport const FormLabel = forwardRef<HTMLLabelElement, FormLabelProps>(\n function FormLabel(props, forwardedRef) {\n const {\n help,\n bold = true,\n color = 'txt-black-darkest',\n className,\n children,\n ...rest\n } = props\n\n const contextValue = useFormControlContext()\n const { className: formControlClassName, ...ownProps } =\n contextValue?.getLabelProps(rest) ?? {\n typo: '13',\n className: undefined,\n ...rest,\n }\n\n const HelpComponent = (() => {\n if (isEmpty(help)) {\n return null\n }\n\n if (React.isValidElement(help)) {\n // FIXME(@bora): string, JSXElementCostructor 타입에 displayName 속성이 존재하지 않음, 임시로 any 타입으로 설정\n const { displayName } = help?.type as any\n if (displayName === HELP_DISPLAY_NAME) {\n return help\n }\n }\n\n return <Help>{help}</Help>\n })()\n\n const LabelComponent = (\n <Text\n className={classNames(\n styles.LabelText,\n !HelpComponent && formControlClassName,\n className\n )}\n ref={forwardedRef}\n as=\"label\"\n align=\"left\"\n bold={bold}\n color={color}\n data-testid={FORM_LABEL_TEST_ID}\n {...ownProps}\n >\n {children}\n </Text>\n )\n\n if (isEmpty(children)) {\n return null\n }\n\n return !HelpComponent ? (\n LabelComponent\n ) : (\n <LegacyHStack\n align=\"center\"\n spacing={6}\n className={formControlClassName}\n >\n <LegacyStackItem\n shrink\n weight={1}\n >\n {LabelComponent}\n </LegacyStackItem>\n <LegacyStackItem>{HelpComponent}</LegacyStackItem>\n </LegacyHStack>\n )\n }\n)\n"],"names":["FORM_LABEL_TEST_ID","FormLabel","forwardRef","props","forwardedRef","_contextValue$getLabe","help","bold","color","className","children","rest","contextValue","useFormControlContext","formControlClassName","ownProps","getLabelProps","typo","undefined","HelpComponent","isEmpty","React","isValidElement","displayName","type","HELP_DISPLAY_NAME","createElement","Help","LabelComponent","Text","Object","assign","classNames","styles","LabelText","ref","as","align","LegacyHStack","spacing","LegacyStackItem","shrink","weight"],"mappings":";;;;;;;;;;AAkBO,MAAMA,kBAAkB,GAAG;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,gBAAGC,UAAU,CACjC,SAASD,SAASA,CAACE,KAAK,EAAEC,YAAY,EAAE;AAAA,EAAA,IAAAC,qBAAA;EACtC,MAAM;IACJC,IAAI;AACJC,IAAAA,IAAI,GAAG,IAAI;AACXC,IAAAA,KAAK,GAAG,mBAAmB;IAC3BC,SAAS;IACTC,QAAQ;IACR,GAAGC;AACL,GAAC,GAAGR,KAAK;AAET,EAAA,MAAMS,YAAY,GAAGC,qBAAqB,EAAE;EAC5C,MAAM;AAAEJ,IAAAA,SAAS,EAAEK,oBAAoB;IAAE,GAAGC;AAAS,GAAC,IAAAV,qBAAA,GACpDO,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEI,aAAa,CAACL,IAAI,CAAC,cAAAN,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI;AACnCY,IAAAA,IAAI,EAAE,IAAI;AACVR,IAAAA,SAAS,EAAES,SAAS;IACpB,GAAGP;GACJ;EAEH,MAAMQ,aAAa,GAAG,CAAC,MAAM;AAC3B,IAAA,IAAIC,OAAO,CAACd,IAAI,CAAC,EAAE;AACjB,MAAA,OAAO,IAAI;AACb;AAEA,IAAA,iBAAIe,cAAK,CAACC,cAAc,CAAChB,IAAI,CAAC,EAAE;AAC9B;MACA,MAAM;AAAEiB,QAAAA;AAAY,OAAC,GAAGjB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEkB,IAAW;MACzC,IAAID,WAAW,KAAKE,iBAAiB,EAAE;AACrC,QAAA,OAAOnB,IAAI;AACb;AACF;AAEA,IAAA,oBAAOe,cAAA,CAAAK,aAAA,CAACC,IAAI,EAAA,IAAA,EAAErB,IAAW,CAAC;AAC5B,GAAC,GAAG;EAEJ,MAAMsB,cAAc,gBAClBP,cAAA,CAAAK,aAAA,CAACG,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHtB,IAAAA,SAAS,EAAEuB,UAAU,CACnBC,MAAM,CAACC,SAAS,EAChB,CAACf,aAAa,IAAIL,oBAAoB,EACtCL,SACF,CAAE;AACF0B,IAAAA,GAAG,EAAE/B,YAAa;AAClBgC,IAAAA,EAAE,EAAC,OAAO;AACVC,IAAAA,KAAK,EAAC,MAAM;AACZ9B,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,KAAK,EAAEA,KAAM;IACb,aAAaR,EAAAA;GACTe,EAAAA,QAAQ,CAEXL,EAAAA,QACG,CACP;AAED,EAAA,IAAIU,OAAO,CAACV,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI;AACb;EAEA,OAAO,CAACS,aAAa,GACnBS,cAAc,gBAEdP,cAAA,CAAAK,aAAA,CAACY,YAAY,EAAA;AACXD,IAAAA,KAAK,EAAC,QAAQ;AACdE,IAAAA,OAAO,EAAE,CAAE;AACX9B,IAAAA,SAAS,EAAEK;AAAqB,GAAA,eAEhCO,cAAA,CAAAK,aAAA,CAACc,eAAe,EAAA;IACdC,MAAM,EAAA,IAAA;AACNC,IAAAA,MAAM,EAAE;GAEPd,EAAAA,cACc,CAAC,eAClBP,cAAA,CAAAK,aAAA,CAACc,eAAe,EAAA,IAAA,EAAErB,aAA+B,CACrC,CACf;AACH,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Help.mjs","sources":["../../../../src/components/Help/Help.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { HelpFilledIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport { type HelpProps } from './Help.types'\n\nimport styles from './Help.module.scss'\n\nexport const HELP_TEST_ID = 'bezier-help'\nexport const HELP_DISPLAY_NAME = 'Help'\n\nexport const Help = forwardRef<HTMLDivElement, HelpProps>(function Help(\n { children, ...rest },\n forwardedRef\n) {\n if (isEmpty(children)) {\n return null\n }\n\n return (\n <Tooltip\n {...rest}\n ref={forwardedRef}\n content={children}\n >\n <div className={styles.Help}>\n <Icon\n className={styles.Icon}\n source={HelpFilledIcon}\n size=\"xs\"\n color=\"txt-black-dark\"\n data-testid={HELP_TEST_ID}\n />\n </div>\n </Tooltip>\n )\n})\n\nHelp.displayName = HELP_DISPLAY_NAME\n"],"names":["HELP_TEST_ID","HELP_DISPLAY_NAME","Help","forwardRef","children","rest","forwardedRef","isEmpty","React","createElement","Tooltip","Object","assign","ref","content","className","styles","Icon","source","HelpFilledIcon","size","color","displayName"],"mappings":";;;;;;;AAeO,MAAMA,YAAY,GAAG,cAAa;AAClC,MAAMC,iBAAiB,GAAG,OAAM;MAE1BC,IAAI,gBAAGC,UAAU,CAA4B,SAASD,IAAIA,CACrE;EAAEE,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EACrBC,YAAY,EACZ;AACA,EAAA,IAAIC,OAAO,CAACH,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEI,cAAA,CAAAC,aAAA,CAACC,OAAO,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACFP,IAAI,EAAA;AACRQ,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,OAAO,EAAEV,QAAAA;GAETI,CAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAEC,MAAM,CAACd,IAAAA;AAAK,GAAA,eAC1BM,cAAA,CAAAC,aAAA,CAACQ,IAAI,EAAA;IACHF,SAAS,EAAEC,MAAM,CAACC,IAAK;AACvBC,IAAAA,MAAM,EAAEC,cAAe;AACvBC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAC,gBAAgB;IACtB,aAAarB,EAAAA,YAAAA;GACd,CACE,CACE,CAAC,CAAA;AAEd,CAAC,EAAC;AAEFE,IAAI,CAACoB,WAAW,GAAGrB,iBAAiB;;;;"}
1
+ {"version":3,"file":"Help.mjs","sources":["../../../../src/components/Help/Help.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { HelpFilledIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport { type HelpProps } from './Help.types'\n\nimport styles from './Help.module.scss'\n\nexport const HELP_TEST_ID = 'bezier-help'\nexport const HELP_DISPLAY_NAME = 'Help'\n\nexport const Help = forwardRef<HTMLDivElement, HelpProps>(function Help(\n { children, ...rest },\n forwardedRef\n) {\n if (isEmpty(children)) {\n return null\n }\n\n return (\n <Tooltip\n {...rest}\n ref={forwardedRef}\n content={children}\n >\n <div className={styles.Help}>\n <Icon\n className={styles.Icon}\n source={HelpFilledIcon}\n size=\"xs\"\n color=\"txt-black-dark\"\n data-testid={HELP_TEST_ID}\n />\n </div>\n </Tooltip>\n )\n})\n\nHelp.displayName = HELP_DISPLAY_NAME\n"],"names":["HELP_TEST_ID","HELP_DISPLAY_NAME","Help","forwardRef","children","rest","forwardedRef","isEmpty","React","createElement","Tooltip","Object","assign","ref","content","className","styles","Icon","source","HelpFilledIcon","size","color","displayName"],"mappings":";;;;;;;AAeO,MAAMA,YAAY,GAAG;AACrB,MAAMC,iBAAiB,GAAG;MAEpBC,IAAI,gBAAGC,UAAU,CAA4B,SAASD,IAAIA,CACrE;EAAEE,QAAQ;EAAE,GAAGC;AAAK,CAAC,EACrBC,YAAY,EACZ;AACA,EAAA,IAAIC,OAAO,CAACH,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI;AACb;EAEA,oBACEI,cAAA,CAAAC,aAAA,CAACC,OAAO,EAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,EACFP,IAAI,EAAA;AACRQ,IAAAA,GAAG,EAAEP,YAAa;AAClBQ,IAAAA,OAAO,EAAEV;GAETI,CAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAEC,MAAM,CAACd;AAAK,GAAA,eAC1BM,cAAA,CAAAC,aAAA,CAACQ,IAAI,EAAA;IACHF,SAAS,EAAEC,MAAM,CAACC,IAAK;AACvBC,IAAAA,MAAM,EAAEC,cAAe;AACvBC,IAAAA,IAAI,EAAC,IAAI;AACTC,IAAAA,KAAK,EAAC,gBAAgB;IACtB,aAAarB,EAAAA;GACd,CACE,CACE,CAAC;AAEd,CAAC;AAEDE,IAAI,CAACoB,WAAW,GAAGrB,iBAAiB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.mjs","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, memo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\n\nimport { type IconProps } from './Icon.types'\n\nimport styles from './Icon.module.scss'\n\nexport const ICON_TEST_ID = 'bezier-icon'\n\nexport const Icon = memo(\n forwardRef<SVGSVGElement, IconProps>(function Icon(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n className,\n size = 'm',\n color,\n source: SourceElement,\n style,\n ...rest\n } = marginRest\n\n return (\n <SourceElement\n ref={forwardedRef}\n style={\n {\n '--b-icon-color': tokenCssVar(color),\n ...marginStyles.style,\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Icon,\n styles[`size-${size}`],\n marginStyles.className,\n className\n )}\n data-testid={ICON_TEST_ID}\n {...rest}\n />\n )\n })\n)\n"],"names":["ICON_TEST_ID","Icon","memo","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","className","size","color","source","SourceElement","style","rest","React","createElement","Object","assign","ref","tokenCssVar","classNames","styles"],"mappings":";;;;;;AAaO,MAAMA,YAAY,GAAG,cAAa;AAE5BC,MAAAA,IAAI,gBAAGC,IAAI,cACtBC,UAAU,CAA2B,SAASF,IAAIA,CAACG,KAAK,EAAEC,YAAY,EAAE;EACtE,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC,CAAA;AAC3D,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACJ,WAAW,CAAC,CAAA;EAEjD,MAAM;IACJK,SAAS;AACTC,IAAAA,IAAI,GAAG,GAAG;IACVC,KAAK;AACLC,IAAAA,MAAM,EAAEC,aAAa;IACrBC,KAAK;IACL,GAAGC,IAAAA;AACL,GAAC,GAAGV,UAAU,CAAA;EAEd,oBACEW,cAAA,CAAAC,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEjB,YAAa;AAClBW,IAAAA,KAAK,EACH;AACE,MAAA,gBAAgB,EAAEO,WAAW,CAACV,KAAK,CAAC;MACpC,GAAGJ,YAAY,CAACO,KAAK;MACrB,GAAGA,KAAAA;KAEN;AACDL,IAAAA,SAAS,EAAEa,UAAU,CACnBC,MAAM,CAACxB,IAAI,EACXwB,MAAM,CAAC,QAAQb,IAAI,CAAA,CAAE,CAAC,EACtBH,YAAY,CAACE,SAAS,EACtBA,SACF,CAAE;IACF,aAAaX,EAAAA,YAAAA;GACTiB,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC,CACH;;;;"}
1
+ {"version":3,"file":"Icon.mjs","sources":["../../../../src/components/Icon/Icon.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, memo } from 'react'\n\nimport classNames from 'classnames'\n\nimport { getMarginStyles, splitByMarginProps } from '~/src/types/props-helpers'\nimport { tokenCssVar } from '~/src/utils/style'\n\nimport { type IconProps } from './Icon.types'\n\nimport styles from './Icon.module.scss'\n\nexport const ICON_TEST_ID = 'bezier-icon'\n\nexport const Icon = memo(\n forwardRef<SVGSVGElement, IconProps>(function Icon(props, forwardedRef) {\n const [marginProps, marginRest] = splitByMarginProps(props)\n const marginStyles = getMarginStyles(marginProps)\n\n const {\n className,\n size = 'm',\n color,\n source: SourceElement,\n style,\n ...rest\n } = marginRest\n\n return (\n <SourceElement\n ref={forwardedRef}\n style={\n {\n '--b-icon-color': tokenCssVar(color),\n ...marginStyles.style,\n ...style,\n } as React.CSSProperties\n }\n className={classNames(\n styles.Icon,\n styles[`size-${size}`],\n marginStyles.className,\n className\n )}\n data-testid={ICON_TEST_ID}\n {...rest}\n />\n )\n })\n)\n"],"names":["ICON_TEST_ID","Icon","memo","forwardRef","props","forwardedRef","marginProps","marginRest","splitByMarginProps","marginStyles","getMarginStyles","className","size","color","source","SourceElement","style","rest","React","createElement","Object","assign","ref","tokenCssVar","classNames","styles"],"mappings":";;;;;;AAaO,MAAMA,YAAY,GAAG;AAEfC,MAAAA,IAAI,gBAAGC,IAAI,cACtBC,UAAU,CAA2B,SAASF,IAAIA,CAACG,KAAK,EAAEC,YAAY,EAAE;EACtE,MAAM,CAACC,WAAW,EAAEC,UAAU,CAAC,GAAGC,kBAAkB,CAACJ,KAAK,CAAC;AAC3D,EAAA,MAAMK,YAAY,GAAGC,eAAe,CAACJ,WAAW,CAAC;EAEjD,MAAM;IACJK,SAAS;AACTC,IAAAA,IAAI,GAAG,GAAG;IACVC,KAAK;AACLC,IAAAA,MAAM,EAAEC,aAAa;IACrBC,KAAK;IACL,GAAGC;AACL,GAAC,GAAGV,UAAU;EAEd,oBACEW,cAAA,CAAAC,aAAA,CAACJ,aAAa,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACZC,IAAAA,GAAG,EAAEjB,YAAa;AAClBW,IAAAA,KAAK,EACH;AACE,MAAA,gBAAgB,EAAEO,WAAW,CAACV,KAAK,CAAC;MACpC,GAAGJ,YAAY,CAACO,KAAK;MACrB,GAAGA;KAEN;AACDL,IAAAA,SAAS,EAAEa,UAAU,CACnBC,MAAM,CAACxB,IAAI,EACXwB,MAAM,CAAC,QAAQb,IAAI,CAAA,CAAE,CAAC,EACtBH,YAAY,CAACE,SAAS,EACtBA,SACF,CAAE;IACF,aAAaX,EAAAA;GACTiB,EAAAA,IAAI,CACT,CAAC;AAEN,CAAC,CACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValueItem.mjs","sources":["../../../../src/components/KeyValueItem/KeyValueItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport { Text, type TextProps } from '~/src/components/Text'\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport {\n type ItemActionWithIcon,\n type KeyValueItemAction,\n type KeyValueItemProps,\n} from './KeyValueItem.types'\n\nimport styles from './KeyValueItem.module.scss'\n\nexport const KEY_VALUE_ITEM_TEST_ID = 'bezier-key-value-item'\nexport const KEY_VALUE_ITEM_KEY_ICON_TEST_ID = 'bezier-key-value-item-key-icon'\n\nfunction KeyItem({\n icon,\n children,\n}: {\n icon: KeyValueItemProps['keyIcon']\n children: React.ReactNode\n}) {\n return (\n <div className={styles.KeyItem}>\n {isBezierIcon(icon) ? (\n <Icon\n size=\"s\"\n source={icon}\n color=\"txt-black-dark\"\n data-testid={KEY_VALUE_ITEM_KEY_ICON_TEST_ID}\n />\n ) : (\n icon\n )}\n\n <Text\n className={styles.KeyText}\n bold\n typo=\"12\"\n color=\"txt-black-dark\"\n truncated\n >\n {children}\n </Text>\n </div>\n )\n}\n\nfunction ValueItem({ truncated, children }: TextProps) {\n return (\n <Text\n className={styles.ValueItem}\n typo=\"14\"\n truncated={truncated}\n >\n {children}\n </Text>\n )\n}\n\nfunction isItemActionWithIcon(args: object): args is ItemActionWithIcon {\n return 'icon' in args\n}\n\nfunction ActionButton({ children }: { children: KeyValueItemAction }) {\n if (!isItemActionWithIcon(children)) {\n return children\n }\n\n const withTooltip = !isEmpty(children.tooltip)\n const Wrapper = withTooltip ? Tooltip : React.Fragment\n\n return (\n <Wrapper {...(withTooltip ? { content: children.tooltip } : {})}>\n <Button\n size=\"xs\"\n leftContent={children.icon}\n styleVariant=\"tertiary\"\n colorVariant=\"monochrome-light\"\n onClick={children.onClick}\n />\n </Wrapper>\n )\n}\n\nfunction ActionButtonGroup({\n children,\n}: {\n children: KeyValueItemProps['actions']\n}) {\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n return (\n <div className={styles.ItemAction}>\n {isArray(children) ? (\n children.map((action, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <ActionButton key={index}>{action}</ActionButton>\n ))\n ) : (\n <ActionButton>{children}</ActionButton>\n )}\n </div>\n )\n}\n\nexport const KeyValueItem = forwardRef<HTMLDivElement, KeyValueItemProps>(\n function KeyValueListItem(\n {\n className,\n keyIcon,\n keyContent,\n actions,\n children,\n onClickKey,\n onClickValue,\n ...rest\n },\n forwardedRef\n ) {\n return (\n <div\n className={classNames(\n styles.KeyValueItem,\n styles.singleline,\n className\n )}\n ref={forwardedRef}\n data-testid={KEY_VALUE_ITEM_TEST_ID}\n {...rest}\n >\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.KeyItemWrapper,\n onClickKey && styles.clickable\n )}\n onClick={onClickKey}\n >\n <KeyItem icon={keyIcon}>{keyContent}</KeyItem>\n </div>\n\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.ValueItemWrapper,\n onClickValue && styles.clickable\n )}\n onClick={onClickValue}\n >\n <ValueItem truncated>{children}</ValueItem>\n\n <ActionButtonGroup>{actions}</ActionButtonGroup>\n </div>\n </div>\n )\n }\n)\n\nexport const KeyValueMultiLineItem = forwardRef<\n HTMLDivElement,\n KeyValueItemProps\n>(function KeyValueMultiLineListItem(\n {\n children,\n className,\n keyIcon,\n keyContent,\n actions,\n onClickKey,\n onClickValue,\n ...rest\n },\n forwardedRef\n) {\n return (\n <div\n className={classNames(styles.KeyValueItem, styles.multiline, className)}\n ref={forwardedRef}\n data-testid={KEY_VALUE_ITEM_TEST_ID}\n {...rest}\n >\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.KeyItemWrapper,\n onClickKey && styles.clickable\n )}\n onClick={onClickKey}\n >\n <KeyItem icon={keyIcon}>{keyContent}</KeyItem>\n\n <ActionButtonGroup>{actions}</ActionButtonGroup>\n </div>\n\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.ValueItemWrapper,\n onClickValue && styles.clickable\n )}\n onClick={onClickValue}\n >\n <ValueItem>{children}</ValueItem>\n </div>\n </div>\n )\n})\n"],"names":["KEY_VALUE_ITEM_TEST_ID","KEY_VALUE_ITEM_KEY_ICON_TEST_ID","KeyItem","icon","children","React","createElement","className","styles","isBezierIcon","Icon","size","source","color","Text","KeyText","bold","typo","truncated","ValueItem","isItemActionWithIcon","args","ActionButton","withTooltip","isEmpty","tooltip","Wrapper","Tooltip","Fragment","content","Button","leftContent","styleVariant","colorVariant","onClick","ActionButtonGroup","isNil","ItemAction","isArray","map","action","index","key","KeyValueItem","forwardRef","KeyValueListItem","keyIcon","keyContent","actions","onClickKey","onClickValue","rest","forwardedRef","Object","assign","classNames","singleline","ref","ItemWrapper","KeyItemWrapper","clickable","ValueItemWrapper","KeyValueMultiLineItem","KeyValueMultiLineListItem","multiline"],"mappings":"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"}
1
+ {"version":3,"file":"KeyValueItem.mjs","sources":["../../../../src/components/KeyValueItem/KeyValueItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isArray, isEmpty, isNil } from '~/src/utils/type'\n\nimport { Button } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\nimport { Text, type TextProps } from '~/src/components/Text'\nimport { Tooltip } from '~/src/components/Tooltip'\n\nimport {\n type ItemActionWithIcon,\n type KeyValueItemAction,\n type KeyValueItemProps,\n} from './KeyValueItem.types'\n\nimport styles from './KeyValueItem.module.scss'\n\nexport const KEY_VALUE_ITEM_TEST_ID = 'bezier-key-value-item'\nexport const KEY_VALUE_ITEM_KEY_ICON_TEST_ID = 'bezier-key-value-item-key-icon'\n\nfunction KeyItem({\n icon,\n children,\n}: {\n icon: KeyValueItemProps['keyIcon']\n children: React.ReactNode\n}) {\n return (\n <div className={styles.KeyItem}>\n {isBezierIcon(icon) ? (\n <Icon\n size=\"s\"\n source={icon}\n color=\"txt-black-dark\"\n data-testid={KEY_VALUE_ITEM_KEY_ICON_TEST_ID}\n />\n ) : (\n icon\n )}\n\n <Text\n className={styles.KeyText}\n bold\n typo=\"12\"\n color=\"txt-black-dark\"\n truncated\n >\n {children}\n </Text>\n </div>\n )\n}\n\nfunction ValueItem({ truncated, children }: TextProps) {\n return (\n <Text\n className={styles.ValueItem}\n typo=\"14\"\n truncated={truncated}\n >\n {children}\n </Text>\n )\n}\n\nfunction isItemActionWithIcon(args: object): args is ItemActionWithIcon {\n return 'icon' in args\n}\n\nfunction ActionButton({ children }: { children: KeyValueItemAction }) {\n if (!isItemActionWithIcon(children)) {\n return children\n }\n\n const withTooltip = !isEmpty(children.tooltip)\n const Wrapper = withTooltip ? Tooltip : React.Fragment\n\n return (\n <Wrapper {...(withTooltip ? { content: children.tooltip } : {})}>\n <Button\n size=\"xs\"\n leftContent={children.icon}\n styleVariant=\"tertiary\"\n colorVariant=\"monochrome-light\"\n onClick={children.onClick}\n />\n </Wrapper>\n )\n}\n\nfunction ActionButtonGroup({\n children,\n}: {\n children: KeyValueItemProps['actions']\n}) {\n if (isNil(children) || isEmpty(children)) {\n return null\n }\n\n return (\n <div className={styles.ItemAction}>\n {isArray(children) ? (\n children.map((action, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <ActionButton key={index}>{action}</ActionButton>\n ))\n ) : (\n <ActionButton>{children}</ActionButton>\n )}\n </div>\n )\n}\n\nexport const KeyValueItem = forwardRef<HTMLDivElement, KeyValueItemProps>(\n function KeyValueListItem(\n {\n className,\n keyIcon,\n keyContent,\n actions,\n children,\n onClickKey,\n onClickValue,\n ...rest\n },\n forwardedRef\n ) {\n return (\n <div\n className={classNames(\n styles.KeyValueItem,\n styles.singleline,\n className\n )}\n ref={forwardedRef}\n data-testid={KEY_VALUE_ITEM_TEST_ID}\n {...rest}\n >\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.KeyItemWrapper,\n onClickKey && styles.clickable\n )}\n onClick={onClickKey}\n >\n <KeyItem icon={keyIcon}>{keyContent}</KeyItem>\n </div>\n\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.ValueItemWrapper,\n onClickValue && styles.clickable\n )}\n onClick={onClickValue}\n >\n <ValueItem truncated>{children}</ValueItem>\n\n <ActionButtonGroup>{actions}</ActionButtonGroup>\n </div>\n </div>\n )\n }\n)\n\nexport const KeyValueMultiLineItem = forwardRef<\n HTMLDivElement,\n KeyValueItemProps\n>(function KeyValueMultiLineListItem(\n {\n children,\n className,\n keyIcon,\n keyContent,\n actions,\n onClickKey,\n onClickValue,\n ...rest\n },\n forwardedRef\n) {\n return (\n <div\n className={classNames(styles.KeyValueItem, styles.multiline, className)}\n ref={forwardedRef}\n data-testid={KEY_VALUE_ITEM_TEST_ID}\n {...rest}\n >\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.KeyItemWrapper,\n onClickKey && styles.clickable\n )}\n onClick={onClickKey}\n >\n <KeyItem icon={keyIcon}>{keyContent}</KeyItem>\n\n <ActionButtonGroup>{actions}</ActionButtonGroup>\n </div>\n\n {/* Since it allows for click interaction, it should be interactive content,\n but since it has a button element nested inside it, this is bad HTML markup.\n It's difficult to fix this without changing the design,\n so we keep the legacy code that uses the div element. */}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={classNames(\n styles.ItemWrapper,\n styles.ValueItemWrapper,\n onClickValue && styles.clickable\n )}\n onClick={onClickValue}\n >\n <ValueItem>{children}</ValueItem>\n </div>\n </div>\n )\n})\n"],"names":["KEY_VALUE_ITEM_TEST_ID","KEY_VALUE_ITEM_KEY_ICON_TEST_ID","KeyItem","icon","children","React","createElement","className","styles","isBezierIcon","Icon","size","source","color","Text","KeyText","bold","typo","truncated","ValueItem","isItemActionWithIcon","args","ActionButton","withTooltip","isEmpty","tooltip","Wrapper","Tooltip","Fragment","content","Button","leftContent","styleVariant","colorVariant","onClick","ActionButtonGroup","isNil","ItemAction","isArray","map","action","index","key","KeyValueItem","forwardRef","KeyValueListItem","keyIcon","keyContent","actions","onClickKey","onClickValue","rest","forwardedRef","Object","assign","classNames","singleline","ref","ItemWrapper","KeyItemWrapper","clickable","ValueItemWrapper","KeyValueMultiLineItem","KeyValueMultiLineListItem","multiline"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyIcon.mjs","sources":["../../../../src/components/LegacyIcon/LegacyIcon.tsx"],"sourcesContent":["'use client'\n\nimport React, { memo } from 'react'\n\nimport { icons } from '@channel.io/bezier-icons'\n\nimport { Icon } from '~/src/components/Icon'\n\nimport { type LegacyIconProps } from './LegacyIcon.types'\n\n/**\n * @deprecated Please import and use individual icons.\n * @example\n * import { AllIcon } from '@channel.io/bezier-icons'\n * import { Icon, type IconProps } from '@channel.io/bezier-react'\n * <Icon source={AllIcon} color=\"bg-black-dark\" />\n * @example <caption>How to validate the bezier icon source</caption>\n * import { isBezierIcon, AllIcon } from '@channel.io/bezier-icons'\n * isBezierIcon(AllIcon) // true\n * isBezierIcon(() => <svg>...</svg>) // false\n * @example <caption>Legacy icon component is still available. but it will be removed in future versions!</caption>\n * import { LegacyIcon, type LegacyIconProps } from '@channel.io/bezier-react'\n * <LegacyIcon name=\"all\" color=\"bg-black-dark\" />\n */\nexport const LegacyIcon = memo(({ name, ...rest }: LegacyIconProps) => {\n const IconSource = icons[name]\n\n if (!IconSource) {\n return null\n }\n\n return (\n <Icon\n source={IconSource}\n {...rest}\n />\n )\n})\n"],"names":["LegacyIcon","memo","name","rest","IconSource","icons","React","createElement","Icon","Object","assign","source"],"mappings":";;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaA,MAAAA,UAAU,gBAAGC,IAAI,CAAC,CAAC;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAsB,CAAC,KAAK;AACrE,EAAA,MAAMC,UAAU,GAAGC,KAAK,CAACH,IAAI,CAAC,CAAA;EAE9B,IAAI,CAACE,UAAU,EAAE;AACf,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEE,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,MAAM,EAAEP,UAAAA;GACJD,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC;;;;"}
1
+ {"version":3,"file":"LegacyIcon.mjs","sources":["../../../../src/components/LegacyIcon/LegacyIcon.tsx"],"sourcesContent":["'use client'\n\nimport React, { memo } from 'react'\n\nimport { icons } from '@channel.io/bezier-icons'\n\nimport { Icon } from '~/src/components/Icon'\n\nimport { type LegacyIconProps } from './LegacyIcon.types'\n\n/**\n * @deprecated Please import and use individual icons.\n * @example\n * import { AllIcon } from '@channel.io/bezier-icons'\n * import { Icon, type IconProps } from '@channel.io/bezier-react'\n * <Icon source={AllIcon} color=\"bg-black-dark\" />\n * @example <caption>How to validate the bezier icon source</caption>\n * import { isBezierIcon, AllIcon } from '@channel.io/bezier-icons'\n * isBezierIcon(AllIcon) // true\n * isBezierIcon(() => <svg>...</svg>) // false\n * @example <caption>Legacy icon component is still available. but it will be removed in future versions!</caption>\n * import { LegacyIcon, type LegacyIconProps } from '@channel.io/bezier-react'\n * <LegacyIcon name=\"all\" color=\"bg-black-dark\" />\n */\nexport const LegacyIcon = memo(({ name, ...rest }: LegacyIconProps) => {\n const IconSource = icons[name]\n\n if (!IconSource) {\n return null\n }\n\n return (\n <Icon\n source={IconSource}\n {...rest}\n />\n )\n})\n"],"names":["LegacyIcon","memo","name","rest","IconSource","icons","React","createElement","Icon","Object","assign","source"],"mappings":";;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaA,MAAAA,UAAU,gBAAGC,IAAI,CAAC,CAAC;EAAEC,IAAI;EAAE,GAAGC;AAAsB,CAAC,KAAK;AACrE,EAAA,MAAMC,UAAU,GAAGC,KAAK,CAACH,IAAI,CAAC;EAE9B,IAAI,CAACE,UAAU,EAAE;AACf,IAAA,OAAO,IAAI;AACb;EAEA,oBACEE,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,MAAM,EAAEP;GACJD,EAAAA,IAAI,CACT,CAAC;AAEN,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../src/components/LegacyIcon/utils.ts"],"sourcesContent":["import { type IconName, icons } from '@channel.io/bezier-icons'\n\nconst iconNames = new Set(Object.keys(icons))\n\n/**\n * @deprecated Please import and use individual icons.\n * @example\n * import { AllIcon } from '@channel.io/bezier-icons'\n * import { Icon, type IconProps } from '@channel.io/bezier-react'\n * <Icon source={AllIcon} color=\"bg-black-dark\" />\n * @example <caption>How to validate the bezier icon source</caption>\n * import { isBezierIcon, AllIcon } from '@channel.io/bezier-icons'\n * isBezierIcon(AllIcon) // true\n * isBezierIcon(() => <svg>...</svg>) // false\n * @example <caption>Legacy icon component is still available. but it will be removed in future versions!</caption>\n * import { LegacyIcon, type LegacyIconProps } from '@channel.io/bezier-react'\n * <LegacyIcon name=\"all\" color=\"bg-black-dark\" />\n */\nexport const isIconName = (name: any): name is IconName => iconNames.has(name)\n"],"names":["iconNames","Set","Object","keys","icons","isIconName","name","has"],"mappings":";;AAEA,MAAMA,SAAS,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAA;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAIC,IAAS,IAAuBN,SAAS,CAACO,GAAG,CAACD,IAAI;;;;"}
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../src/components/LegacyIcon/utils.ts"],"sourcesContent":["import { type IconName, icons } from '@channel.io/bezier-icons'\n\nconst iconNames = new Set(Object.keys(icons))\n\n/**\n * @deprecated Please import and use individual icons.\n * @example\n * import { AllIcon } from '@channel.io/bezier-icons'\n * import { Icon, type IconProps } from '@channel.io/bezier-react'\n * <Icon source={AllIcon} color=\"bg-black-dark\" />\n * @example <caption>How to validate the bezier icon source</caption>\n * import { isBezierIcon, AllIcon } from '@channel.io/bezier-icons'\n * isBezierIcon(AllIcon) // true\n * isBezierIcon(() => <svg>...</svg>) // false\n * @example <caption>Legacy icon component is still available. but it will be removed in future versions!</caption>\n * import { LegacyIcon, type LegacyIconProps } from '@channel.io/bezier-react'\n * <LegacyIcon name=\"all\" color=\"bg-black-dark\" />\n */\nexport const isIconName = (name: any): name is IconName => iconNames.has(name)\n"],"names":["iconNames","Set","Object","keys","icons","isIconName","name","has"],"mappings":";;AAEA,MAAMA,SAAS,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAIC,IAAS,IAAuBN,SAAS,CAACO,GAAG,CAACD,IAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyHStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyHStack/LegacyHStack.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { LegacyStack } from '~/src/components/LegacyStack/LegacyStack'\n\nimport type LegacyHStackProps from './LegacyHStack.types'\n\n/**\n * @deprecated Use `HStack` instead.\n *\n * A container for horizontal flex layout.\n */\nexport const LegacyHStack = forwardRef<HTMLElement, LegacyHStackProps>(\n function HStack(props, forwardedRef) {\n return (\n <LegacyStack\n ref={forwardedRef}\n direction=\"horizontal\"\n {...props}\n />\n )\n }\n)\n"],"names":["LegacyHStack","forwardRef","HStack","props","forwardedRef","React","createElement","LegacyStack","Object","assign","ref","direction"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,gBAAGC,UAAU,CACpC,SAASC,MAAMA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACnC,oBACEC,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACVC,IAAAA,GAAG,EAAEN,YAAa;AAClBO,IAAAA,SAAS,EAAC,YAAA;GACNR,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CACF;;;;"}
1
+ {"version":3,"file":"LegacyHStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyHStack/LegacyHStack.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { LegacyStack } from '~/src/components/LegacyStack/LegacyStack'\n\nimport type LegacyHStackProps from './LegacyHStack.types'\n\n/**\n * @deprecated Use `HStack` instead.\n *\n * A container for horizontal flex layout.\n */\nexport const LegacyHStack = forwardRef<HTMLElement, LegacyHStackProps>(\n function HStack(props, forwardedRef) {\n return (\n <LegacyStack\n ref={forwardedRef}\n direction=\"horizontal\"\n {...props}\n />\n )\n }\n)\n"],"names":["LegacyHStack","forwardRef","HStack","props","forwardedRef","React","createElement","LegacyStack","Object","assign","ref","direction"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACO,MAAMA,YAAY,gBAAGC,UAAU,CACpC,SAASC,MAAMA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACnC,oBACEC,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACVC,IAAAA,GAAG,EAAEN,YAAa;AAClBO,IAAAA,SAAS,EAAC;GACNR,EAAAA,KAAK,CACV,CAAC;AAEN,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacySpacer.mjs","sources":["../../../../../src/components/LegacyStack/LegacySpacer/LegacySpacer.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { LegacyStackItem } from '~/src/components/LegacyStack/LegacyStackItem'\n\nimport type LegacySpacerProps from './LegacySpacer.types'\n\n/**\n * @deprecated Use `Stack` and `justify` prop instead.\n */\nexport const LegacySpacer = forwardRef<HTMLElement, LegacySpacerProps>(\n function Spacer(props, forwardedRef) {\n return (\n <LegacyStackItem\n ref={forwardedRef}\n size={0}\n weight={1}\n grow\n shrink\n {...props}\n />\n )\n }\n)\n"],"names":["LegacySpacer","forwardRef","Spacer","props","forwardedRef","React","createElement","LegacyStackItem","Object","assign","ref","size","weight","grow","shrink"],"mappings":";;;AAQA;AACA;AACA;AACO,MAAMA,YAAY,gBAAGC,UAAU,CACpC,SAASC,MAAMA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACnC,oBACEC,cAAA,CAAAC,aAAA,CAACC,eAAe,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACdC,IAAAA,GAAG,EAAEN,YAAa;AAClBO,IAAAA,IAAI,EAAE,CAAE;AACRC,IAAAA,MAAM,EAAE,CAAE;IACVC,IAAI,EAAA,IAAA;IACJC,MAAM,EAAA,IAAA;GACFX,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CACF;;;;"}
1
+ {"version":3,"file":"LegacySpacer.mjs","sources":["../../../../../src/components/LegacyStack/LegacySpacer/LegacySpacer.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { LegacyStackItem } from '~/src/components/LegacyStack/LegacyStackItem'\n\nimport type LegacySpacerProps from './LegacySpacer.types'\n\n/**\n * @deprecated Use `Stack` and `justify` prop instead.\n */\nexport const LegacySpacer = forwardRef<HTMLElement, LegacySpacerProps>(\n function Spacer(props, forwardedRef) {\n return (\n <LegacyStackItem\n ref={forwardedRef}\n size={0}\n weight={1}\n grow\n shrink\n {...props}\n />\n )\n }\n)\n"],"names":["LegacySpacer","forwardRef","Spacer","props","forwardedRef","React","createElement","LegacyStackItem","Object","assign","ref","size","weight","grow","shrink"],"mappings":";;;AAQA;AACA;AACA;AACO,MAAMA,YAAY,gBAAGC,UAAU,CACpC,SAASC,MAAMA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACnC,oBACEC,cAAA,CAAAC,aAAA,CAACC,eAAe,EAAAC,MAAA,CAAAC,MAAA,CAAA;AACdC,IAAAA,GAAG,EAAEN,YAAa;AAClBO,IAAAA,IAAI,EAAE,CAAE;AACRC,IAAAA,MAAM,EAAE,CAAE;IACVC,IAAI,EAAA,IAAA;IACJC,MAAM,EAAA;GACFX,EAAAA,KAAK,CACV,CAAC;AAEN,CACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyStack/LegacyStack.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useRef,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport type LegacyStackProps from './LegacyStack.types'\n\nimport styles from './LegacyStack.module.scss'\n\n/**\n * @deprecated Use `Stack` instead.\n *\n * `Stack` provides an abstraction of **flex layout** so that\n * rendering of child elements **linearly** can be done\n * with simplified options.\n *\n * `Stack` always fills the parent element.\n *\n * Be reminded to list `StackItem`s to be direct child of `Stack`.\n * @example\n *\n * ```tsx\n * <Stack direction=\"horizontal\" spacing={8}>\n * <StackItem>{ ... }</StackItem>\n * <StackItem>{ ... }</StackItem>\n * </Stack>\n * ```\n */\nexport const LegacyStack = forwardRef<HTMLElement, LegacyStackProps>(\n function Stack(\n {\n as = 'div',\n className,\n children,\n direction,\n justify = 'start',\n align = 'stretch',\n spacing = 0,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as\n const firstValidElementIdx = useRef(-1)\n\n return (\n <Comp\n className={classNames(\n styles.LegacyStack,\n styles[`direction-${direction}`],\n styles[`justify-${justify}`],\n styles[`align-${align}`],\n className\n )}\n ref={forwardedRef}\n data-testid=\"bezier-legacy-stack\"\n {...rest}\n >\n {Children.map(children, (element, index) => {\n if (!isValidElement(element)) {\n return element\n }\n\n /**\n * NOTE: this assumes that this element is `StackItem`.\n *\n * Even if the child is not a `StackItem` component,\n * it could forward the prop to `StackItem` deeper in the tree,\n * or implement a custom behavior compatible with `StackItemProps`.\n */\n if (firstValidElementIdx.current === -1) {\n firstValidElementIdx.current = index\n }\n return cloneElement(element, {\n ...element.props,\n direction,\n marginBefore:\n element.props.marginBefore ??\n (index > firstValidElementIdx.current ? spacing : 0),\n })\n })}\n </Comp>\n )\n }\n)\n"],"names":["LegacyStack","forwardRef","Stack","as","className","children","direction","justify","align","spacing","rest","forwardedRef","Comp","firstValidElementIdx","useRef","React","createElement","Object","assign","classNames","styles","ref","Children","map","element","index","_element$props$margin","isValidElement","current","cloneElement","props","marginBefore"],"mappings":";;;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,UAAU,CACnC,SAASC,KAAKA,CACZ;AACEC,EAAAA,EAAE,GAAG,KAAK;EACVC,SAAS;EACTC,QAAQ;EACRC,SAAS;AACTC,EAAAA,OAAO,GAAG,OAAO;AACjBC,EAAAA,KAAK,GAAG,SAAS;AACjBC,EAAAA,OAAO,GAAG,CAAC;EACX,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGT,EAAE,CAAA;AACf,EAAA,MAAMU,oBAAoB,GAAGC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;EAEvC,oBACEC,cAAA,CAAAC,aAAA,CAACJ,IAAI,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACHd,IAAAA,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAACpB,WAAW,EAClBoB,MAAM,CAAC,CAAA,UAAA,EAAad,SAAS,CAAA,CAAE,CAAC,EAChCc,MAAM,CAAC,CAAWb,QAAAA,EAAAA,OAAO,CAAE,CAAA,CAAC,EAC5Ba,MAAM,CAAC,CAAA,MAAA,EAASZ,KAAK,CAAA,CAAE,CAAC,EACxBJ,SACF,CAAE;AACFiB,IAAAA,GAAG,EAAEV,YAAa;IAClB,aAAY,EAAA,qBAAA;AAAqB,GAAA,EAC7BD,IAAI,CAAA,EAEPY,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAE,CAACmB,OAAO,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAAC,qBAAA,CAAA;AAC1C,IAAA,IAAI,eAACC,cAAc,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAA;;AAEA;AACV;AACA;AACA;AACA;AACA;AACA;AACU,IAAA,IAAIX,oBAAoB,CAACe,OAAO,KAAK,CAAC,CAAC,EAAE;MACvCf,oBAAoB,CAACe,OAAO,GAAGH,KAAK,CAAA;AACtC,KAAA;IACA,oBAAOI,YAAY,CAACL,OAAO,EAAE;MAC3B,GAAGA,OAAO,CAACM,KAAK;MAChBxB,SAAS;MACTyB,YAAY,EAAA,CAAAL,qBAAA,GACVF,OAAO,CAACM,KAAK,CAACC,YAAY,MAAAL,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GACzBD,KAAK,GAAGZ,oBAAoB,CAACe,OAAO,GAAGnB,OAAO,GAAG,CAAA;AACtD,KAAC,CAAC,CAAA;AACJ,GAAC,CACG,CAAC,CAAA;AAEX,CACF;;;;"}
1
+ {"version":3,"file":"LegacyStack.mjs","sources":["../../../../../src/components/LegacyStack/LegacyStack/LegacyStack.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useRef,\n} from 'react'\n\nimport classNames from 'classnames'\n\nimport type LegacyStackProps from './LegacyStack.types'\n\nimport styles from './LegacyStack.module.scss'\n\n/**\n * @deprecated Use `Stack` instead.\n *\n * `Stack` provides an abstraction of **flex layout** so that\n * rendering of child elements **linearly** can be done\n * with simplified options.\n *\n * `Stack` always fills the parent element.\n *\n * Be reminded to list `StackItem`s to be direct child of `Stack`.\n * @example\n *\n * ```tsx\n * <Stack direction=\"horizontal\" spacing={8}>\n * <StackItem>{ ... }</StackItem>\n * <StackItem>{ ... }</StackItem>\n * </Stack>\n * ```\n */\nexport const LegacyStack = forwardRef<HTMLElement, LegacyStackProps>(\n function Stack(\n {\n as = 'div',\n className,\n children,\n direction,\n justify = 'start',\n align = 'stretch',\n spacing = 0,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as\n const firstValidElementIdx = useRef(-1)\n\n return (\n <Comp\n className={classNames(\n styles.LegacyStack,\n styles[`direction-${direction}`],\n styles[`justify-${justify}`],\n styles[`align-${align}`],\n className\n )}\n ref={forwardedRef}\n data-testid=\"bezier-legacy-stack\"\n {...rest}\n >\n {Children.map(children, (element, index) => {\n if (!isValidElement(element)) {\n return element\n }\n\n /**\n * NOTE: this assumes that this element is `StackItem`.\n *\n * Even if the child is not a `StackItem` component,\n * it could forward the prop to `StackItem` deeper in the tree,\n * or implement a custom behavior compatible with `StackItemProps`.\n */\n if (firstValidElementIdx.current === -1) {\n firstValidElementIdx.current = index\n }\n return cloneElement(element, {\n ...element.props,\n direction,\n marginBefore:\n element.props.marginBefore ??\n (index > firstValidElementIdx.current ? spacing : 0),\n })\n })}\n </Comp>\n )\n }\n)\n"],"names":["LegacyStack","forwardRef","Stack","as","className","children","direction","justify","align","spacing","rest","forwardedRef","Comp","firstValidElementIdx","useRef","React","createElement","Object","assign","classNames","styles","ref","Children","map","element","index","_element$props$margin","isValidElement","current","cloneElement","props","marginBefore"],"mappings":";;;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACaA,WAAW,gBAAGC,UAAU,CACnC,SAASC,KAAKA,CACZ;AACEC,EAAAA,EAAE,GAAG,KAAK;EACVC,SAAS;EACTC,QAAQ;EACRC,SAAS;AACTC,EAAAA,OAAO,GAAG,OAAO;AACjBC,EAAAA,KAAK,GAAG,SAAS;AACjBC,EAAAA,OAAO,GAAG,CAAC;EACX,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGT,EAAE;AACf,EAAA,MAAMU,oBAAoB,GAAGC,MAAM,CAAC,CAAC,CAAC,CAAC;EAEvC,oBACEC,cAAA,CAAAC,aAAA,CAACJ,IAAI,EAAAK,MAAA,CAAAC,MAAA,CAAA;AACHd,IAAAA,SAAS,EAAEe,UAAU,CACnBC,MAAM,CAACpB,WAAW,EAClBoB,MAAM,CAAC,CAAA,UAAA,EAAad,SAAS,CAAA,CAAE,CAAC,EAChCc,MAAM,CAAC,CAAWb,QAAAA,EAAAA,OAAO,CAAE,CAAA,CAAC,EAC5Ba,MAAM,CAAC,CAAA,MAAA,EAASZ,KAAK,CAAA,CAAE,CAAC,EACxBJ,SACF,CAAE;AACFiB,IAAAA,GAAG,EAAEV,YAAa;IAClB,aAAY,EAAA;AAAqB,GAAA,EAC7BD,IAAI,CAAA,EAEPY,QAAQ,CAACC,GAAG,CAAClB,QAAQ,EAAE,CAACmB,OAAO,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAAC,qBAAA;AAC1C,IAAA,IAAI,eAACC,cAAc,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA,OAAOA,OAAO;AAChB;;AAEA;AACV;AACA;AACA;AACA;AACA;AACA;AACU,IAAA,IAAIX,oBAAoB,CAACe,OAAO,KAAK,CAAC,CAAC,EAAE;MACvCf,oBAAoB,CAACe,OAAO,GAAGH,KAAK;AACtC;IACA,oBAAOI,YAAY,CAACL,OAAO,EAAE;MAC3B,GAAGA,OAAO,CAACM,KAAK;MAChBxB,SAAS;MACTyB,YAAY,EAAA,CAAAL,qBAAA,GACVF,OAAO,CAACM,KAAK,CAACC,YAAY,MAAAL,IAAAA,IAAAA,qBAAA,cAAAA,qBAAA,GACzBD,KAAK,GAAGZ,oBAAoB,CAACe,OAAO,GAAGnB,OAAO,GAAG;AACtD,KAAC,CAAC;AACJ,GAAC,CACG,CAAC;AAEX,CACF;;;;"}