@channel.io/bezier-react 1.7.0 → 1.7.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 (278) hide show
  1. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +35 -0
  2. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/dist/cjs/components/Banner/Banner.const.js +4 -2
  4. package/dist/cjs/components/Banner/Banner.const.js.map +1 -1
  5. package/dist/cjs/components/Forms/FormControl/FormControl.js +1 -1
  6. package/dist/cjs/components/Forms/FormControl/FormControl.js.map +1 -1
  7. package/dist/cjs/components/Forms/FormControl/FormControlContext.js +4 -3
  8. package/dist/cjs/components/Forms/FormControl/FormControlContext.js.map +1 -1
  9. package/dist/cjs/components/Forms/FormGroup/FormGroup.js +2 -2
  10. package/dist/cjs/components/Forms/FormGroup/FormGroup.js.map +1 -1
  11. package/dist/cjs/components/Forms/FormHelperText/FormHelperText.js +2 -2
  12. package/dist/cjs/components/Forms/FormHelperText/FormHelperText.js.map +1 -1
  13. package/dist/cjs/components/Forms/FormLabel/FormLabel.js +2 -2
  14. package/dist/cjs/components/Forms/FormLabel/FormLabel.js.map +1 -1
  15. package/dist/cjs/components/Forms/Inputs/mixins.js +41 -22
  16. package/dist/cjs/components/Forms/Inputs/mixins.js.map +1 -1
  17. package/dist/cjs/components/Forms/SegmentedControl/SegmentedControlContext.js +3 -15
  18. package/dist/cjs/components/Forms/SegmentedControl/SegmentedControlContext.js.map +1 -1
  19. package/dist/cjs/components/Forms/useFormFieldProps.js +2 -2
  20. package/dist/cjs/components/Forms/useFormFieldProps.js.map +1 -1
  21. package/dist/cjs/components/ListItem/ListItem.styled.js +1 -1
  22. package/dist/cjs/components/ListItem/utils.js +20 -8
  23. package/dist/cjs/components/ListItem/utils.js.map +1 -1
  24. package/dist/cjs/components/Modals/Modal/Modal.js.map +1 -1
  25. package/dist/cjs/components/Modals/Modal/Modal.types.js.map +1 -1
  26. package/dist/cjs/components/Modals/Modal/ModalAnimation.styled.js +57 -11
  27. package/dist/cjs/components/Modals/Modal/ModalAnimation.styled.js.map +1 -1
  28. package/dist/cjs/components/Modals/Modal/ModalContent.js +1 -1
  29. package/dist/cjs/components/Modals/Modal/ModalContent.js.map +1 -1
  30. package/dist/cjs/components/Modals/Modal/ModalContentContext.js +4 -6
  31. package/dist/cjs/components/Modals/Modal/ModalContentContext.js.map +1 -1
  32. package/dist/cjs/components/Modals/Modal/ModalHeader.js +1 -1
  33. package/dist/cjs/components/Modals/Modal/ModalHeader.js.map +1 -1
  34. package/dist/cjs/components/OutlineItem/OutlineItem.js +2 -3
  35. package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
  36. package/dist/cjs/components/OutlineItem/OutlineItemContext.js +9 -5
  37. package/dist/cjs/components/OutlineItem/OutlineItemContext.js.map +1 -1
  38. package/dist/cjs/components/Overlay/utils.js +6 -2
  39. package/dist/cjs/components/Overlay/utils.js.map +1 -1
  40. package/dist/cjs/components/Spinner/Spinner.styled.js +1 -1
  41. package/dist/cjs/components/Tabs/TabAction.js +1 -1
  42. package/dist/cjs/components/Tabs/TabAction.js.map +1 -1
  43. package/dist/cjs/components/Tabs/TabItem.js +1 -1
  44. package/dist/cjs/components/Tabs/TabItem.js.map +1 -1
  45. package/dist/cjs/components/Tabs/TabList.js +1 -1
  46. package/dist/cjs/components/Tabs/TabList.js.map +1 -1
  47. package/dist/cjs/components/Tabs/TabListContext.js +4 -6
  48. package/dist/cjs/components/Tabs/TabListContext.js.map +1 -1
  49. package/dist/cjs/components/Toast/ToastContext.js +4 -6
  50. package/dist/cjs/components/Toast/ToastContext.js.map +1 -1
  51. package/dist/cjs/components/Toast/ToastProvider.js +2 -5
  52. package/dist/cjs/components/Toast/ToastProvider.js.map +1 -1
  53. package/dist/cjs/components/Toast/ToastService.js +9 -9
  54. package/dist/cjs/components/Toast/ToastService.js.map +1 -1
  55. package/dist/cjs/components/Toast/useToast.js +2 -3
  56. package/dist/cjs/components/Toast/useToast.js.map +1 -1
  57. package/dist/cjs/components/Toast/utils.js +11 -5
  58. package/dist/cjs/components/Toast/utils.js.map +1 -1
  59. package/dist/cjs/components/Tooltip/Tooltip.js +4 -16
  60. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  61. package/dist/cjs/components/Tooltip/Tooltip.styled.js +3 -56
  62. package/dist/cjs/components/Tooltip/Tooltip.styled.js.map +1 -1
  63. package/dist/cjs/components/Tooltip/Tooltip.types.js.map +1 -1
  64. package/dist/cjs/features/FeatureProvider.js +4 -3
  65. package/dist/cjs/features/FeatureProvider.js.map +1 -1
  66. package/dist/cjs/features/SmoothCornersFeature/SmoothCornersFeature.js +2 -2
  67. package/dist/cjs/features/SmoothCornersFeature/SmoothCornersFeature.js.map +1 -1
  68. package/dist/cjs/index.js +1 -3
  69. package/dist/cjs/index.js.map +1 -1
  70. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +21 -0
  71. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  72. package/dist/cjs/node_modules/@radix-ui/react-checkbox/dist/index.js +4 -4
  73. package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.js +12 -12
  74. package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +2 -2
  75. package/dist/cjs/node_modules/@radix-ui/react-focus-scope/dist/index.js +2 -2
  76. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +3 -3
  77. package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.js +2 -2
  78. package/dist/cjs/node_modules/@radix-ui/react-primitive/dist/index.js +2 -2
  79. package/dist/cjs/node_modules/@radix-ui/react-radio-group/dist/index.js +7 -7
  80. package/dist/cjs/node_modules/@radix-ui/react-roving-focus/dist/index.js +4 -4
  81. package/dist/cjs/node_modules/@radix-ui/react-separator/dist/index.js +2 -2
  82. package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.js +10 -10
  83. package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +3 -3
  84. package/dist/cjs/node_modules/@radix-ui/react-switch/dist/index.js +4 -4
  85. package/dist/cjs/node_modules/@radix-ui/react-tabs/dist/index.js +7 -7
  86. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js +0 -1
  87. package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -1
  88. package/dist/cjs/node_modules/@radix-ui/react-toolbar/dist/index.js +7 -7
  89. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js +7 -7
  90. package/dist/cjs/node_modules/@radix-ui/react-visually-hidden/dist/index.js +2 -2
  91. package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js +4 -4
  92. package/dist/cjs/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js.map +1 -1
  93. package/dist/cjs/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/extends.js +21 -0
  94. package/dist/cjs/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  95. package/dist/cjs/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +19 -0
  96. package/dist/cjs/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  97. package/dist/cjs/utils/reactUtils.js +21 -0
  98. package/dist/cjs/utils/reactUtils.js.map +1 -1
  99. package/dist/cjs/utils/styleUtils.js +26 -2
  100. package/dist/cjs/utils/styleUtils.js.map +1 -1
  101. package/dist/esm/_virtual/_rollupPluginBabelHelpers.mjs +31 -0
  102. package/dist/esm/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
  103. package/dist/esm/components/Banner/Banner.const.mjs +4 -2
  104. package/dist/esm/components/Banner/Banner.const.mjs.map +1 -1
  105. package/dist/esm/components/Forms/FormControl/FormControl.mjs +2 -2
  106. package/dist/esm/components/Forms/FormControl/FormControl.mjs.map +1 -1
  107. package/dist/esm/components/Forms/FormControl/FormControlContext.mjs +3 -3
  108. package/dist/esm/components/Forms/FormControl/FormControlContext.mjs.map +1 -1
  109. package/dist/esm/components/Forms/FormGroup/FormGroup.mjs +1 -1
  110. package/dist/esm/components/Forms/FormGroup/FormGroup.mjs.map +1 -1
  111. package/dist/esm/components/Forms/FormHelperText/FormHelperText.mjs +1 -1
  112. package/dist/esm/components/Forms/FormHelperText/FormHelperText.mjs.map +1 -1
  113. package/dist/esm/components/Forms/FormLabel/FormLabel.mjs +1 -1
  114. package/dist/esm/components/Forms/FormLabel/FormLabel.mjs.map +1 -1
  115. package/dist/esm/components/Forms/Inputs/mixins.mjs +41 -22
  116. package/dist/esm/components/Forms/Inputs/mixins.mjs.map +1 -1
  117. package/dist/esm/components/Forms/SegmentedControl/SegmentedControlContext.mjs +3 -15
  118. package/dist/esm/components/Forms/SegmentedControl/SegmentedControlContext.mjs.map +1 -1
  119. package/dist/esm/components/Forms/useFormFieldProps.mjs +1 -1
  120. package/dist/esm/components/Forms/useFormFieldProps.mjs.map +1 -1
  121. package/dist/esm/components/ListItem/ListItem.styled.mjs +1 -1
  122. package/dist/esm/components/ListItem/utils.mjs +20 -8
  123. package/dist/esm/components/ListItem/utils.mjs.map +1 -1
  124. package/dist/esm/components/Modals/Modal/Modal.mjs.map +1 -1
  125. package/dist/esm/components/Modals/Modal/Modal.types.mjs.map +1 -1
  126. package/dist/esm/components/Modals/Modal/ModalAnimation.styled.mjs +57 -11
  127. package/dist/esm/components/Modals/Modal/ModalAnimation.styled.mjs.map +1 -1
  128. package/dist/esm/components/Modals/Modal/ModalContent.mjs +2 -2
  129. package/dist/esm/components/Modals/Modal/ModalContent.mjs.map +1 -1
  130. package/dist/esm/components/Modals/Modal/ModalContentContext.mjs +3 -4
  131. package/dist/esm/components/Modals/Modal/ModalContentContext.mjs.map +1 -1
  132. package/dist/esm/components/Modals/Modal/ModalHeader.mjs +3 -3
  133. package/dist/esm/components/Modals/Modal/ModalHeader.mjs.map +1 -1
  134. package/dist/esm/components/OutlineItem/OutlineItem.mjs +2 -3
  135. package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
  136. package/dist/esm/components/OutlineItem/OutlineItemContext.mjs +8 -3
  137. package/dist/esm/components/OutlineItem/OutlineItemContext.mjs.map +1 -1
  138. package/dist/esm/components/Overlay/utils.mjs +6 -2
  139. package/dist/esm/components/Overlay/utils.mjs.map +1 -1
  140. package/dist/esm/components/Spinner/Spinner.styled.mjs +1 -1
  141. package/dist/esm/components/Tabs/TabAction.mjs +3 -3
  142. package/dist/esm/components/Tabs/TabAction.mjs.map +1 -1
  143. package/dist/esm/components/Tabs/TabItem.mjs +3 -3
  144. package/dist/esm/components/Tabs/TabItem.mjs.map +1 -1
  145. package/dist/esm/components/Tabs/TabList.mjs +2 -2
  146. package/dist/esm/components/Tabs/TabList.mjs.map +1 -1
  147. package/dist/esm/components/Tabs/TabListContext.mjs +3 -4
  148. package/dist/esm/components/Tabs/TabListContext.mjs.map +1 -1
  149. package/dist/esm/components/Toast/ToastContext.mjs +3 -4
  150. package/dist/esm/components/Toast/ToastContext.mjs.map +1 -1
  151. package/dist/esm/components/Toast/ToastProvider.mjs +3 -6
  152. package/dist/esm/components/Toast/ToastProvider.mjs.map +1 -1
  153. package/dist/esm/components/Toast/ToastService.mjs +1 -1
  154. package/dist/esm/components/Toast/useToast.mjs +3 -4
  155. package/dist/esm/components/Toast/useToast.mjs.map +1 -1
  156. package/dist/esm/components/Toast/utils.mjs +11 -5
  157. package/dist/esm/components/Toast/utils.mjs.map +1 -1
  158. package/dist/esm/components/Tooltip/Tooltip.mjs +4 -16
  159. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  160. package/dist/esm/components/Tooltip/Tooltip.styled.mjs +3 -56
  161. package/dist/esm/components/Tooltip/Tooltip.styled.mjs.map +1 -1
  162. package/dist/esm/components/Tooltip/Tooltip.types.mjs.map +1 -1
  163. package/dist/esm/features/FeatureProvider.mjs +5 -4
  164. package/dist/esm/features/FeatureProvider.mjs.map +1 -1
  165. package/dist/esm/features/SmoothCornersFeature/SmoothCornersFeature.mjs +1 -1
  166. package/dist/esm/index.mjs +1 -2
  167. package/dist/esm/index.mjs.map +1 -1
  168. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs +17 -0
  169. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +1 -0
  170. package/dist/esm/node_modules/@radix-ui/react-checkbox/dist/index.mjs +4 -4
  171. package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.mjs +12 -12
  172. package/dist/esm/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +2 -2
  173. package/dist/esm/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +2 -2
  174. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs +3 -3
  175. package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.mjs +2 -2
  176. package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.mjs +2 -2
  177. package/dist/esm/node_modules/@radix-ui/react-radio-group/dist/index.mjs +7 -7
  178. package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +4 -4
  179. package/dist/esm/node_modules/@radix-ui/react-separator/dist/index.mjs +2 -2
  180. package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.mjs +10 -10
  181. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs +3 -3
  182. package/dist/esm/node_modules/@radix-ui/react-switch/dist/index.mjs +4 -4
  183. package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.mjs +7 -7
  184. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs +0 -1
  185. package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.map +1 -1
  186. package/dist/esm/node_modules/@radix-ui/react-toolbar/dist/index.mjs +7 -7
  187. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs +7 -7
  188. package/dist/esm/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +2 -2
  189. package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs +3 -3
  190. package/dist/esm/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.mjs.map +1 -1
  191. package/dist/esm/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/extends.mjs +17 -0
  192. package/dist/esm/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +1 -0
  193. package/dist/esm/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs +15 -0
  194. package/dist/esm/node_modules/react-textarea-autosize/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +1 -0
  195. package/dist/esm/utils/reactUtils.mjs +21 -1
  196. package/dist/esm/utils/reactUtils.mjs.map +1 -1
  197. package/dist/esm/utils/styleUtils.mjs +26 -2
  198. package/dist/esm/utils/styleUtils.mjs.map +1 -1
  199. package/dist/types/components/Forms/FormControl/FormControlContext.d.ts +1 -1
  200. package/dist/types/components/Forms/FormControl/FormControlContext.d.ts.map +1 -1
  201. package/dist/types/components/Forms/FormControl/index.d.ts +1 -1
  202. package/dist/types/components/Forms/FormControl/index.d.ts.map +1 -1
  203. package/dist/types/components/Forms/SegmentedControl/SegmentedControlContext.d.ts +3 -3
  204. package/dist/types/components/Forms/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  205. package/dist/types/components/Forms/index.d.ts +1 -2
  206. package/dist/types/components/Forms/index.d.ts.map +1 -1
  207. package/dist/types/components/Forms/useFormFieldProps.d.ts.map +1 -1
  208. package/dist/types/components/Modals/Modal/Modal.types.d.ts +1 -1
  209. package/dist/types/components/Modals/Modal/Modal.types.d.ts.map +1 -1
  210. package/dist/types/components/Modals/Modal/ModalContentContext.d.ts +2 -3
  211. package/dist/types/components/Modals/Modal/ModalContentContext.d.ts.map +1 -1
  212. package/dist/types/components/Modals/Modal/ModalHeader.d.ts.map +1 -1
  213. package/dist/types/components/OutlineItem/OutlineItem.d.ts.map +1 -1
  214. package/dist/types/components/OutlineItem/OutlineItemContext.d.ts +4 -10
  215. package/dist/types/components/OutlineItem/OutlineItemContext.d.ts.map +1 -1
  216. package/dist/types/components/Tabs/TabAction.d.ts.map +1 -1
  217. package/dist/types/components/Tabs/TabItem.d.ts.map +1 -1
  218. package/dist/types/components/Tabs/TabListContext.d.ts +1 -2
  219. package/dist/types/components/Tabs/TabListContext.d.ts.map +1 -1
  220. package/dist/types/components/Toast/ToastContext.d.ts +1 -2
  221. package/dist/types/components/Toast/ToastContext.d.ts.map +1 -1
  222. package/dist/types/components/Toast/ToastProvider.d.ts.map +1 -1
  223. package/dist/types/components/Toast/useToast.d.ts.map +1 -1
  224. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  225. package/dist/types/components/Tooltip/Tooltip.styled.d.ts.map +1 -1
  226. package/dist/types/components/Tooltip/Tooltip.types.d.ts +3 -3
  227. package/dist/types/features/FeatureProvider.d.ts.map +1 -1
  228. package/dist/types/utils/reactUtils.d.ts +14 -0
  229. package/dist/types/utils/reactUtils.d.ts.map +1 -1
  230. package/package.json +1 -4
  231. package/src/components/Forms/FormControl/FormControl.tsx +3 -3
  232. package/src/components/Forms/FormControl/FormControlContext.ts +5 -2
  233. package/src/components/Forms/FormControl/index.ts +1 -1
  234. package/src/components/Forms/FormGroup/FormGroup.tsx +1 -1
  235. package/src/components/Forms/FormHelperText/FormHelperText.tsx +1 -1
  236. package/src/components/Forms/FormLabel/FormLabel.tsx +1 -1
  237. package/src/components/Forms/SegmentedControl/SegmentedControlContext.ts +3 -26
  238. package/src/components/Forms/Slider/Slider.test.tsx +11 -4
  239. package/src/components/Forms/index.ts +0 -2
  240. package/src/components/Forms/useFormFieldProps.ts +1 -2
  241. package/src/components/KeyValueListItem/KeyValueListItem.test.tsx +4 -1
  242. package/src/components/Modals/Modal/Modal.stories.tsx +1 -1
  243. package/src/components/Modals/Modal/Modal.tsx +0 -1
  244. package/src/components/Modals/Modal/Modal.types.ts +1 -1
  245. package/src/components/Modals/Modal/ModalContent.tsx +3 -3
  246. package/src/components/Modals/Modal/ModalContentContext.ts +5 -4
  247. package/src/components/Modals/Modal/ModalHeader.tsx +3 -6
  248. package/src/components/OutlineItem/OutlineItem.tsx +6 -4
  249. package/src/components/OutlineItem/OutlineItemContext.ts +16 -5
  250. package/src/components/Tabs/TabAction.tsx +3 -6
  251. package/src/components/Tabs/TabItem.tsx +3 -6
  252. package/src/components/Tabs/TabList.tsx +3 -3
  253. package/src/components/Tabs/TabListContext.ts +5 -4
  254. package/src/components/Toast/ToastContext.ts +5 -5
  255. package/src/components/Toast/ToastProvider.tsx +3 -5
  256. package/src/components/Toast/useToast.ts +3 -5
  257. package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
  258. package/src/components/Tooltip/Tooltip.styled.ts +0 -77
  259. package/src/components/Tooltip/Tooltip.test.tsx +8 -2
  260. package/src/components/Tooltip/Tooltip.tsx +4 -27
  261. package/src/components/Tooltip/Tooltip.types.ts +3 -3
  262. package/src/components/Tooltip/index.ts +0 -1
  263. package/src/features/FeatureProvider.tsx +9 -6
  264. package/src/utils/reactUtils.ts +41 -0
  265. package/dist/cjs/components/Forms/useFormControlContext.js +0 -13
  266. package/dist/cjs/components/Forms/useFormControlContext.js.map +0 -1
  267. package/dist/cjs/components/OutlineItem/useOutlineItemContext.js +0 -16
  268. package/dist/cjs/components/OutlineItem/useOutlineItemContext.js.map +0 -1
  269. package/dist/esm/components/Forms/useFormControlContext.mjs +0 -9
  270. package/dist/esm/components/Forms/useFormControlContext.mjs.map +0 -1
  271. package/dist/esm/components/OutlineItem/useOutlineItemContext.mjs +0 -12
  272. package/dist/esm/components/OutlineItem/useOutlineItemContext.mjs.map +0 -1
  273. package/dist/types/components/Forms/useFormControlContext.d.ts +0 -3
  274. package/dist/types/components/Forms/useFormControlContext.d.ts.map +0 -1
  275. package/dist/types/components/OutlineItem/useOutlineItemContext.d.ts +0 -4
  276. package/dist/types/components/OutlineItem/useOutlineItemContext.d.ts.map +0 -1
  277. package/src/components/Forms/useFormControlContext.ts +0 -9
  278. package/src/components/OutlineItem/useOutlineItemContext.ts +0 -16
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
3
  var functionUtils = require('../../utils/functionUtils.js');
4
+ var reactUtils = require('../../utils/reactUtils.js');
7
5
 
8
- const ToastContext = /*#__PURE__*/React.createContext({
6
+ const [ToastContextProvider, useToastContext] = reactUtils.createContext({
9
7
  add: () => '',
10
8
  update: () => '',
11
9
  remove: functionUtils.noop,
@@ -13,7 +11,7 @@ const ToastContext = /*#__PURE__*/React.createContext({
13
11
  leftToasts: [],
14
12
  rightToasts: []
15
13
  });
16
- var ToastContext$1 = ToastContext;
17
14
 
18
- exports.default = ToastContext$1;
15
+ exports.ToastContextProvider = ToastContextProvider;
16
+ exports.useToastContext = useToastContext;
19
17
  //# sourceMappingURL=ToastContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastContext.js","sources":["../../../../src/components/Toast/ToastContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\nimport { noop } from '~/src/utils/functionUtils'\n\nimport { type ToastContextType } from './Toast.types'\n\nconst ToastContext = createContext<ToastContextType>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n})\n\nexport default ToastContext\n"],"names":["ToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;;AAMA,MAAMA,YAAY,gBAAGC,mBAAa,CAAmB;EACnDC,GAAG,EAAEA,MAAM,EAAE;EACbC,MAAM,EAAEA,MAAM,EAAE;AAChBC,EAAAA,MAAM,EAAEC,kBAAI;AACZC,EAAAA,SAAS,EAAED,kBAAI;AACfE,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,WAAW,EAAE,EAAA;AACf,CAAC,CAAC,CAAA;AAEF,qBAAeR,YAAY;;;;"}
1
+ {"version":3,"file":"ToastContext.js","sources":["../../../../src/components/Toast/ToastContext.ts"],"sourcesContent":["import { noop } from '~/src/utils/functionUtils'\nimport { createContext } from '~/src/utils/reactUtils'\n\nimport { type ToastContextType } from './Toast.types'\n\nexport const [\n ToastContextProvider,\n useToastContext,\n] = createContext<ToastContextType>({\n add: () => '',\n update: () => '',\n remove: noop,\n removeAll: noop,\n leftToasts: [],\n rightToasts: [],\n})\n"],"names":["ToastContextProvider","useToastContext","createContext","add","update","remove","noop","removeAll","leftToasts","rightToasts"],"mappings":";;;;;AAKO,MAAM,CACXA,oBAAoB,EACpBC,eAAe,CAChB,GAAGC,wBAAa,CAAmB;EAClCC,GAAG,EAAEA,MAAM,EAAE;EACbC,MAAM,EAAEA,MAAM,EAAE;AAChBC,EAAAA,MAAM,EAAEC,kBAAI;AACZC,EAAAA,SAAS,EAAED,kBAAI;AACfE,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,WAAW,EAAE,EAAA;AACf,CAAC;;;;;"}
@@ -14,9 +14,6 @@ var useToastContextValues = require('./useToastContextValues.js');
14
14
  var index = require('../../foundation/Transition/index.js');
15
15
  var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
16
16
 
17
- const {
18
- Provider
19
- } = ToastContext.default;
20
17
  function ToastProvider({
21
18
  autoDismissTimeout = 3000,
22
19
  children = []
@@ -56,11 +53,11 @@ function ToastProvider({
56
53
  icon: icon,
57
54
  component: ToastElement.default,
58
55
  onDismiss: () => dismiss(id, onDismiss),
59
- transform: FoundationStyledComponent.css([""]),
56
+ transform: FoundationStyledComponent.css``,
60
57
  zIndex: zIndex,
61
58
  version: version
62
59
  }))), [autoDismissTimeout, dismiss]);
63
- return /*#__PURE__*/React.createElement(Provider, {
60
+ return /*#__PURE__*/React.createElement(ToastContext.ToastContextProvider, {
64
61
  value: toastContextValue
65
62
  }, children, /*#__PURE__*/ReactDOM.createPortal([createContainer(Toast_types.ToastPlacement.BottomLeft, leftToasts), createContainer(Toast_types.ToastPlacement.BottomRight, rightToasts)], domUtils.getRootElement()));
66
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport ToastContext from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nconst { Provider } = ToastContext\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <Provider value={toastContextValue}>\n { children }\n { createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n getRootElement(),\n ) }\n </Provider>\n )\n}\n\nexport default ToastProvider\n"],"names":["Provider","ToastContext","ToastProvider","autoDismissTimeout","children","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","value","createPortal","ToastPlacement","BottomLeft","BottomRight","getRootElement"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAM;AAAEA,EAAAA,QAAAA;AAAS,CAAC,GAAGC,oBAAY,CAAA;AAEjC,SAASC,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,iBAAiB,GAAGC,6BAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AAErB,EAAA,MAAMK,eAAe,GAAGC,iBAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,KAAA,CAAAC,aAAA,CAACC,sBAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,KAAA,CAAAC,aAAA,CAACe,uBAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,wBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjBtB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCkB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,oBAAa;IACxBR,SAAS,EAAEA,MAAMlB,OAAO,CAACiB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,6BAAG,CAAG,CAAA,EAAA,CAAA,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD1B,kBAAkB,EAClBM,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEK,KAAA,CAAAC,aAAA,CAACf,QAAQ,EAAA;AAACsC,IAAAA,KAAK,EAAEjC,iBAAAA;AAAkB,GAAA,EAC/BD,QAAQ,eACRmC,qBAAY,CACZ,CACE7B,eAAe,CAAC8B,0BAAc,CAACC,UAAU,EAAElC,UAAU,CAAC,EACtDG,eAAe,CAAC8B,0BAAc,CAACE,WAAW,EAAElC,WAAW,CAAC,CACzD,EACDmC,uBAAc,EAChB,CACQ,CAAC,CAAA;AAEf;;;;"}
1
+ {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n getRootElement(),\n ) }\n </ToastContextProvider>\n )\n}\n\nexport default ToastProvider\n"],"names":["ToastProvider","autoDismissTimeout","children","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","ToastContextProvider","value","createPortal","ToastPlacement","BottomLeft","BottomRight","getRootElement"],"mappings":";;;;;;;;;;;;;;;;AAsBA,SAASA,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,iBAAiB,GAAGC,6BAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AAErB,EAAA,MAAMK,eAAe,GAAGC,iBAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,KAAA,CAAAC,aAAA,CAACC,sBAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,KAAA,CAAAC,aAAA,CAACe,uBAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,wBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjBtB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCkB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,oBAAa;IACxBR,SAAS,EAAEA,MAAMlB,OAAO,CAACiB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,6BAAI,CAAE,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD1B,kBAAkB,EAClBM,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEK,KAAA,CAAAC,aAAA,CAACuB,iCAAoB,EAAA;AAACC,IAAAA,KAAK,EAAElC,iBAAAA;AAAkB,GAAA,EAC3CD,QAAQ,eACRoC,qBAAY,CACZ,CACE9B,eAAe,CAAC+B,0BAAc,CAACC,UAAU,EAAEnC,UAAU,CAAC,EACtDG,eAAe,CAAC+B,0BAAc,CAACE,WAAW,EAAEnC,WAAW,CAAC,CACzD,EACDoC,uBAAc,EAChB,CACoB,CAAC,CAAA;AAE3B;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var Toast_types = require('./Toast.types.js');
7
7
  var v4 = require('../../node_modules/uuid/dist/esm-browser/v4.js');
8
8
 
@@ -12,18 +12,18 @@ Notion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#8
12
12
 
13
13
  class ToastService {
14
14
  constructor() {
15
- _defineProperty(this, "toasts", []);
16
- _defineProperty(this, "getToasts", () => this.toasts);
17
- _defineProperty(this, "setToasts", newToasts => {
15
+ _rollupPluginBabelHelpers.defineProperty(this, "toasts", []);
16
+ _rollupPluginBabelHelpers.defineProperty(this, "getToasts", () => this.toasts);
17
+ _rollupPluginBabelHelpers.defineProperty(this, "setToasts", newToasts => {
18
18
  this.toasts = newToasts;
19
19
  });
20
- _defineProperty(this, "has", toastId => {
20
+ _rollupPluginBabelHelpers.defineProperty(this, "has", toastId => {
21
21
  if (!this.toasts.length) {
22
22
  return false;
23
23
  }
24
24
  return this.toasts.reduce((flag, toast) => toast.id === toastId ? true : flag, false);
25
25
  });
26
- _defineProperty(this, "add", (content, options = Toast_types.defaultOptions) => {
26
+ _rollupPluginBabelHelpers.defineProperty(this, "add", (content, options = Toast_types.defaultOptions) => {
27
27
  const newId = v4.default();
28
28
  if (this.has(newId)) {
29
29
  return '';
@@ -38,7 +38,7 @@ class ToastService {
38
38
  this.setToasts(newToasts);
39
39
  return newId;
40
40
  });
41
- _defineProperty(this, "update", (toastId, content, options = {}) => {
41
+ _rollupPluginBabelHelpers.defineProperty(this, "update", (toastId, content, options = {}) => {
42
42
  if (!this.has(toastId)) {
43
43
  return '';
44
44
  }
@@ -56,7 +56,7 @@ class ToastService {
56
56
  this.setToasts(newToasts);
57
57
  return toastId;
58
58
  });
59
- _defineProperty(this, "remove", id => {
59
+ _rollupPluginBabelHelpers.defineProperty(this, "remove", id => {
60
60
  if (!this.has(id)) {
61
61
  return false;
62
62
  }
@@ -64,7 +64,7 @@ class ToastService {
64
64
  this.setToasts(newToasts);
65
65
  return true; // remove success
66
66
  });
67
- _defineProperty(this, "removeAll", () => {
67
+ _rollupPluginBabelHelpers.defineProperty(this, "removeAll", () => {
68
68
  if (!this.toasts.length) {
69
69
  return;
70
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToastService.js","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n defaultOptions,\n} from './Toast.types'\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce((flag, toast) => (toast.id === toastId ? true : flag), false)\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (toastId: ToastId, content: ToastContent, options: ToastOptions = {}) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter((toast) => toast.id !== id)\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["ToastService","constructor","_defineProperty","toasts","newToasts","toastId","length","reduce","flag","toast","id","content","options","defaultOptions","newId","uuid","has","newToast","version","setToasts","map","filter"],"mappings":"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"}
1
+ {"version":3,"file":"ToastService.js","sources":["../../../../src/components/Toast/ToastService.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport {\n type ToastContent,\n type ToastId,\n type ToastOptions,\n type ToastType,\n defaultOptions,\n} from './Toast.types'\n\n/* ToastService를 사용하는 이유\nNotion: https://www.notion.so/channelio/Toast-bc13dfbc81314141909250d9cf02c4c7#82b94a73d2f34257ab4799cdeccbc70c\n*/\n\nclass ToastService {\n toasts: ToastType[] = []\n\n getToasts = () => this.toasts\n\n setToasts = (newToasts: ToastType[]) => {\n this.toasts = newToasts\n }\n\n has = (toastId: ToastId) => {\n if (!this.toasts.length) {\n return false\n }\n return this.toasts.reduce((flag, toast) => (toast.id === toastId ? true : flag), false)\n }\n\n add = (content: ToastContent, options: ToastOptions = defaultOptions) => {\n const newId: ToastId = uuid()\n\n if (this.has(newId)) {\n return ''\n }\n\n const newToast: ToastType = {\n id: newId,\n content,\n version: 0,\n ...options,\n }\n const newToasts: ToastType[] = [...this.toasts, newToast]\n this.setToasts(newToasts)\n return newId\n }\n\n update = (toastId: ToastId, content: ToastContent, options: ToastOptions = {}) => {\n if (!this.has(toastId)) {\n return ''\n }\n\n const newToasts: ToastType[] = this.toasts.map((toast) => {\n if (toast.id === toastId) {\n return {\n ...toast,\n ...options,\n version: toast?.version != null ? toast.version + 1 : 0,\n content,\n }\n }\n return toast\n })\n this.setToasts(newToasts)\n return toastId\n }\n\n remove = (id: ToastId): boolean => {\n if (!this.has(id)) {\n return false\n }\n const newToasts: ToastType[] = this.toasts.filter((toast) => toast.id !== id)\n this.setToasts(newToasts)\n return true // remove success\n }\n\n removeAll = () => {\n if (!this.toasts.length) {\n return\n }\n\n this.setToasts([])\n }\n}\n\nexport default ToastService\n"],"names":["ToastService","constructor","_defineProperty","toasts","newToasts","toastId","length","reduce","flag","toast","id","content","options","defaultOptions","newId","uuid","has","newToast","version","setToasts","map","filter"],"mappings":"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"}
@@ -2,13 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
6
5
  var ToastContext = require('./ToastContext.js');
7
6
 
8
7
  function useToast() {
9
- const context = React.useContext(ToastContext.default);
8
+ const context = ToastContext.useToastContext();
10
9
  if (!context) {
11
- throw Error('ToastProvider가 필요합니다.');
10
+ throw Error('\'useToast\' must be used within \'ToastProvider\'');
12
11
  }
13
12
  return {
14
13
  addToast: context.add,
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.js","sources":["../../../../src/components/Toast/useToast.ts"],"sourcesContent":["import { useContext } from 'react'\n\nimport ToastContext from './ToastContext'\n\nexport default function useToast() {\n const context = useContext(ToastContext)\n\n if (!context) {\n throw Error('ToastProvider가 필요합니다.')\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["useToast","context","useContext","ToastContext","Error","addToast","add","updateToast","update","removeToast","remove","removeAllToasts","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;;AAIe,SAASA,QAAQA,GAAG;AACjC,EAAA,MAAMC,OAAO,GAAGC,gBAAU,CAACC,oBAAY,CAAC,CAAA;EAExC,IAAI,CAACF,OAAO,EAAE;IACZ,MAAMG,KAAK,CAAC,uBAAuB,CAAC,CAAA;AACtC,GAAA;EAEA,OAAO;IACLC,QAAQ,EAAEJ,OAAO,CAACK,GAAG;IACrBC,WAAW,EAAEN,OAAO,CAACO,MAAM;IAC3BC,WAAW,EAAER,OAAO,CAACS,MAAM;IAC3BC,eAAe,EAAEV,OAAO,CAACW,SAAS;IAClCC,UAAU,EAAEZ,OAAO,CAACY,UAAU;IAC9BC,WAAW,EAAEb,OAAO,CAACa,WAAAA;GACtB,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useToast.js","sources":["../../../../src/components/Toast/useToast.ts"],"sourcesContent":["import { useToastContext } from './ToastContext'\n\nexport default function useToast() {\n const context = useToastContext()\n\n if (!context) {\n throw Error('\\'useToast\\' must be used within \\'ToastProvider\\'')\n }\n\n return {\n addToast: context.add,\n updateToast: context.update,\n removeToast: context.remove,\n removeAllToasts: context.removeAll,\n leftToasts: context.leftToasts,\n rightToasts: context.rightToasts,\n }\n}\n"],"names":["useToast","context","useToastContext","Error","addToast","add","updateToast","update","removeToast","remove","removeAllToasts","removeAll","leftToasts","rightToasts"],"mappings":";;;;;;AAEe,SAASA,QAAQA,GAAG;AACjC,EAAA,MAAMC,OAAO,GAAGC,4BAAe,EAAE,CAAA;EAEjC,IAAI,CAACD,OAAO,EAAE;IACZ,MAAME,KAAK,CAAC,oDAAoD,CAAC,CAAA;AACnE,GAAA;EAEA,OAAO;IACLC,QAAQ,EAAEH,OAAO,CAACI,GAAG;IACrBC,WAAW,EAAEL,OAAO,CAACM,MAAM;IAC3BC,WAAW,EAAEP,OAAO,CAACQ,MAAM;IAC3BC,eAAe,EAAET,OAAO,CAACU,SAAS;IAClCC,UAAU,EAAEX,OAAO,CAACW,UAAU;IAC9BC,WAAW,EAAEZ,OAAO,CAACY,WAAAA;GACtB,CAAA;AACH;;;;"}
@@ -25,19 +25,25 @@ function getIconColor(appearance) {
25
25
  function getPlacement(placement) {
26
26
  switch (placement) {
27
27
  case Toast_types.ToastPlacement.BottomRight:
28
- return FoundationStyledComponent.css(["right:0;bottom:0;"]);
28
+ return FoundationStyledComponent.css`
29
+ right: 0;
30
+ bottom: 0;
31
+ `;
29
32
  case Toast_types.ToastPlacement.BottomLeft:
30
33
  default:
31
- return FoundationStyledComponent.css(["bottom:0;left:", "px;"], GNB_WIDTH);
34
+ return FoundationStyledComponent.css`
35
+ bottom: 0;
36
+ left: ${GNB_WIDTH}px;
37
+ `;
32
38
  }
33
39
  }
34
- const showedToastTranslateXStyle = /*#__PURE__*/FoundationStyledComponent.css([" transform:translateX(0);"]);
40
+ const showedToastTranslateXStyle = FoundationStyledComponent.css` transform: translateX(0); `;
35
41
  const initPosition = placement => {
36
42
  switch (placement) {
37
43
  case Toast_types.ToastPlacement.BottomLeft:
38
- return FoundationStyledComponent.css([" transform:translateX(-120%);"]);
44
+ return FoundationStyledComponent.css` transform: translateX(-120%); `;
39
45
  case Toast_types.ToastPlacement.BottomRight:
40
- return FoundationStyledComponent.css([" transform:translateX(120%);"]);
46
+ return FoundationStyledComponent.css` transform: translateX(120%); `;
41
47
  default:
42
48
  return showedToastTranslateXStyle;
43
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/components/Toast/utils.ts"],"sourcesContent":["import {\n CheckCircleFilledIcon,\n ErrorTriangleFilledIcon,\n InfoFilledIcon,\n WifiIcon,\n WifiOffIcon,\n} from '@channel.io/bezier-icons'\n\nimport { css } from '~/src/foundation'\n\nimport {\n ToastAppearance,\n ToastIconColor,\n ToastPlacement,\n ToastPreset,\n type ToastPresetType,\n} from './Toast.types'\n\n/**\n * @deprecated\n * FIXME: Styling dependent on specific applications.\n */\nconst GNB_WIDTH = 68\n\nfunction getIconColor(appearance: ToastAppearance): ToastIconColor {\n switch (appearance) {\n case ToastAppearance.Success:\n return ToastIconColor.Success\n case ToastAppearance.Warning:\n return ToastIconColor.Warning\n case ToastAppearance.Error:\n return ToastIconColor.Error\n case ToastAppearance.Info:\n default:\n return ToastIconColor.Info\n }\n}\n\nfunction getPlacement(placement: ToastPlacement) {\n switch (placement) {\n case ToastPlacement.BottomRight:\n return css`\n right: 0;\n bottom: 0;\n `\n case ToastPlacement.BottomLeft:\n default:\n return css`\n bottom: 0;\n left: ${GNB_WIDTH}px;\n `\n }\n}\n\nconst showedToastTranslateXStyle = css` transform: translateX(0); `\n\nconst initPosition = (placement?: ToastPlacement) => {\n switch (placement) {\n case ToastPlacement.BottomLeft:\n return css` transform: translateX(-120%); `\n case ToastPlacement.BottomRight:\n return css` transform: translateX(120%); `\n default:\n return showedToastTranslateXStyle\n }\n}\n\nconst getToastPreset = (preset: ToastPreset): ToastPresetType => {\n switch (preset) {\n case ToastPreset.Success:\n return {\n icon: CheckCircleFilledIcon,\n appearance: ToastAppearance.Success,\n }\n case ToastPreset.Error:\n return {\n icon: ErrorTriangleFilledIcon,\n appearance: ToastAppearance.Error,\n }\n case ToastPreset.Offline:\n return {\n icon: WifiOffIcon,\n appearance: ToastAppearance.Warning,\n }\n case ToastPreset.Online:\n return {\n icon: WifiIcon,\n appearance: ToastAppearance.Success,\n }\n case ToastPreset.Default:\n default:\n return {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n }\n }\n}\n\nexport {\n getIconColor,\n getPlacement,\n initPosition,\n showedToastTranslateXStyle,\n getToastPreset,\n}\n"],"names":["GNB_WIDTH","getIconColor","appearance","ToastAppearance","Success","ToastIconColor","Warning","Error","Info","getPlacement","placement","ToastPlacement","BottomRight","css","BottomLeft","showedToastTranslateXStyle","initPosition","getToastPreset","preset","ToastPreset","icon","CheckCircleFilledIcon","ErrorTriangleFilledIcon","Offline","WifiOffIcon","Online","WifiIcon","Default","InfoFilledIcon"],"mappings":";;;;;;AAkBA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,EAAE,CAAA;AAEpB,SAASC,YAAYA,CAACC,UAA2B,EAAkB;AACjE,EAAA,QAAQA,UAAU;IAChB,KAAKC,2BAAe,CAACC,OAAO;MAC1B,OAAOC,0BAAc,CAACD,OAAO,CAAA;IAC/B,KAAKD,2BAAe,CAACG,OAAO;MAC1B,OAAOD,0BAAc,CAACC,OAAO,CAAA;IAC/B,KAAKH,2BAAe,CAACI,KAAK;MACxB,OAAOF,0BAAc,CAACE,KAAK,CAAA;IAC7B,KAAKJ,2BAAe,CAACK,IAAI,CAAA;AACzB,IAAA;MACE,OAAOH,0BAAc,CAACG,IAAI,CAAA;AAC9B,GAAA;AACF,CAAA;AAEA,SAASC,YAAYA,CAACC,SAAyB,EAAE;AAC/C,EAAA,QAAQA,SAAS;IACf,KAAKC,0BAAc,CAACC,WAAW;AAC7B,MAAA,OAAOC,6BAAG,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA;IAIZ,KAAKF,0BAAc,CAACG,UAAU,CAAA;AAC9B,IAAA;MACE,OAAOD,6BAAG,4BAEAb,SAAS,CAAA,CAAA;AAEvB,GAAA;AACF,CAAA;AAEMe,MAAAA,0BAA0B,gBAAGF,6BAAG,CAA6B,CAAA,2BAAA,CAAA,EAAA;AAE7DG,MAAAA,YAAY,GAAIN,SAA0B,IAAK;AACnD,EAAA,QAAQA,SAAS;IACf,KAAKC,0BAAc,CAACG,UAAU;AAC5B,MAAA,OAAOD,6BAAG,CAAA,CAAA,+BAAA,CAAA,CAAA,CAAA;IACZ,KAAKF,0BAAc,CAACC,WAAW;AAC7B,MAAA,OAAOC,6BAAG,CAAA,CAAA,8BAAA,CAAA,CAAA,CAAA;AACZ,IAAA;AACE,MAAA,OAAOE,0BAA0B,CAAA;AACrC,GAAA;AACF,EAAC;AAEKE,MAAAA,cAAc,GAAIC,MAAmB,IAAsB;AAC/D,EAAA,QAAQA,MAAM;IACZ,KAAKC,uBAAW,CAACf,OAAO;MACtB,OAAO;AACLgB,QAAAA,IAAI,EAAEC,iCAAqB;QAC3BnB,UAAU,EAAEC,2BAAe,CAACC,OAAAA;OAC7B,CAAA;IACH,KAAKe,uBAAW,CAACZ,KAAK;MACpB,OAAO;AACLa,QAAAA,IAAI,EAAEE,mCAAuB;QAC7BpB,UAAU,EAAEC,2BAAe,CAACI,KAAAA;OAC7B,CAAA;IACH,KAAKY,uBAAW,CAACI,OAAO;MACtB,OAAO;AACLH,QAAAA,IAAI,EAAEI,uBAAW;QACjBtB,UAAU,EAAEC,2BAAe,CAACG,OAAAA;OAC7B,CAAA;IACH,KAAKa,uBAAW,CAACM,MAAM;MACrB,OAAO;AACLL,QAAAA,IAAI,EAAEM,oBAAQ;QACdxB,UAAU,EAAEC,2BAAe,CAACC,OAAAA;OAC7B,CAAA;IACH,KAAKe,uBAAW,CAACQ,OAAO,CAAA;AACxB,IAAA;MACE,OAAO;AACLP,QAAAA,IAAI,EAAEQ,0BAAc;QACpB1B,UAAU,EAAEC,2BAAe,CAACK,IAAAA;OAC7B,CAAA;AACL,GAAA;AACF;;;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/components/Toast/utils.ts"],"sourcesContent":["import {\n CheckCircleFilledIcon,\n ErrorTriangleFilledIcon,\n InfoFilledIcon,\n WifiIcon,\n WifiOffIcon,\n} from '@channel.io/bezier-icons'\n\nimport { css } from '~/src/foundation'\n\nimport {\n ToastAppearance,\n ToastIconColor,\n ToastPlacement,\n ToastPreset,\n type ToastPresetType,\n} from './Toast.types'\n\n/**\n * @deprecated\n * FIXME: Styling dependent on specific applications.\n */\nconst GNB_WIDTH = 68\n\nfunction getIconColor(appearance: ToastAppearance): ToastIconColor {\n switch (appearance) {\n case ToastAppearance.Success:\n return ToastIconColor.Success\n case ToastAppearance.Warning:\n return ToastIconColor.Warning\n case ToastAppearance.Error:\n return ToastIconColor.Error\n case ToastAppearance.Info:\n default:\n return ToastIconColor.Info\n }\n}\n\nfunction getPlacement(placement: ToastPlacement) {\n switch (placement) {\n case ToastPlacement.BottomRight:\n return css`\n right: 0;\n bottom: 0;\n `\n case ToastPlacement.BottomLeft:\n default:\n return css`\n bottom: 0;\n left: ${GNB_WIDTH}px;\n `\n }\n}\n\nconst showedToastTranslateXStyle = css` transform: translateX(0); `\n\nconst initPosition = (placement?: ToastPlacement) => {\n switch (placement) {\n case ToastPlacement.BottomLeft:\n return css` transform: translateX(-120%); `\n case ToastPlacement.BottomRight:\n return css` transform: translateX(120%); `\n default:\n return showedToastTranslateXStyle\n }\n}\n\nconst getToastPreset = (preset: ToastPreset): ToastPresetType => {\n switch (preset) {\n case ToastPreset.Success:\n return {\n icon: CheckCircleFilledIcon,\n appearance: ToastAppearance.Success,\n }\n case ToastPreset.Error:\n return {\n icon: ErrorTriangleFilledIcon,\n appearance: ToastAppearance.Error,\n }\n case ToastPreset.Offline:\n return {\n icon: WifiOffIcon,\n appearance: ToastAppearance.Warning,\n }\n case ToastPreset.Online:\n return {\n icon: WifiIcon,\n appearance: ToastAppearance.Success,\n }\n case ToastPreset.Default:\n default:\n return {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n }\n }\n}\n\nexport {\n getIconColor,\n getPlacement,\n initPosition,\n showedToastTranslateXStyle,\n getToastPreset,\n}\n"],"names":["GNB_WIDTH","getIconColor","appearance","ToastAppearance","Success","ToastIconColor","Warning","Error","Info","getPlacement","placement","ToastPlacement","BottomRight","css","BottomLeft","showedToastTranslateXStyle","initPosition","getToastPreset","preset","ToastPreset","icon","CheckCircleFilledIcon","ErrorTriangleFilledIcon","Offline","WifiOffIcon","Online","WifiIcon","Default","InfoFilledIcon"],"mappings":";;;;;;AAkBA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,EAAE,CAAA;AAEpB,SAASC,YAAYA,CAACC,UAA2B,EAAkB;AACjE,EAAA,QAAQA,UAAU;IAChB,KAAKC,2BAAe,CAACC,OAAO;MAC1B,OAAOC,0BAAc,CAACD,OAAO,CAAA;IAC/B,KAAKD,2BAAe,CAACG,OAAO;MAC1B,OAAOD,0BAAc,CAACC,OAAO,CAAA;IAC/B,KAAKH,2BAAe,CAACI,KAAK;MACxB,OAAOF,0BAAc,CAACE,KAAK,CAAA;IAC7B,KAAKJ,2BAAe,CAACK,IAAI,CAAA;AACzB,IAAA;MACE,OAAOH,0BAAc,CAACG,IAAI,CAAA;AAC9B,GAAA;AACF,CAAA;AAEA,SAASC,YAAYA,CAACC,SAAyB,EAAE;AAC/C,EAAA,QAAQA,SAAS;IACf,KAAKC,0BAAc,CAACC,WAAW;AAC7B,MAAA,OAAOC,6BAAI,CAAA;AACjB;AACA;AACA,QAAS,CAAA,CAAA;IACL,KAAKF,0BAAc,CAACG,UAAU,CAAA;AAC9B,IAAA;AACE,MAAA,OAAOD,6BAAI,CAAA;AACjB;AACA,cAAA,EAAgBb,SAAU,CAAA;AAC1B,MAAO,CAAA,CAAA;AACL,GAAA;AACF,CAAA;AAEMe,MAAAA,0BAA0B,GAAGF,6BAAI,CAA4B,2BAAA,EAAA;AAE7DG,MAAAA,YAAY,GAAIN,SAA0B,IAAK;AACnD,EAAA,QAAQA,SAAS;IACf,KAAKC,0BAAc,CAACG,UAAU;AAC5B,MAAA,OAAOD,6BAAI,CAAgC,+BAAA,CAAA,CAAA;IAC7C,KAAKF,0BAAc,CAACC,WAAW;AAC7B,MAAA,OAAOC,6BAAI,CAA+B,8BAAA,CAAA,CAAA;AAC5C,IAAA;AACE,MAAA,OAAOE,0BAA0B,CAAA;AACrC,GAAA;AACF,EAAC;AAEKE,MAAAA,cAAc,GAAIC,MAAmB,IAAsB;AAC/D,EAAA,QAAQA,MAAM;IACZ,KAAKC,uBAAW,CAACf,OAAO;MACtB,OAAO;AACLgB,QAAAA,IAAI,EAAEC,iCAAqB;QAC3BnB,UAAU,EAAEC,2BAAe,CAACC,OAAAA;OAC7B,CAAA;IACH,KAAKe,uBAAW,CAACZ,KAAK;MACpB,OAAO;AACLa,QAAAA,IAAI,EAAEE,mCAAuB;QAC7BpB,UAAU,EAAEC,2BAAe,CAACI,KAAAA;OAC7B,CAAA;IACH,KAAKY,uBAAW,CAACI,OAAO;MACtB,OAAO;AACLH,QAAAA,IAAI,EAAEI,uBAAW;QACjBtB,UAAU,EAAEC,2BAAe,CAACG,OAAAA;OAC7B,CAAA;IACH,KAAKa,uBAAW,CAACM,MAAM;MACrB,OAAO;AACLL,QAAAA,IAAI,EAAEM,oBAAQ;QACdxB,UAAU,EAAEC,2BAAe,CAACC,OAAAA;OAC7B,CAAA;IACH,KAAKe,uBAAW,CAACQ,OAAO,CAAA;AACxB,IAAA;MACE,OAAO;AACLP,QAAAA,IAAI,EAAEQ,0BAAc;QACpB1B,UAAU,EAAEC,2BAAe,CAACK,IAAAA;OAC7B,CAAA;AACL,GAAA;AACF;;;;;;;;"}
@@ -3,23 +3,11 @@
3
3
  var React = require('react');
4
4
  var index = require('../../node_modules/@radix-ui/react-tooltip/dist/index.js');
5
5
  var domUtils = require('../../utils/domUtils.js');
6
+ var reactUtils = require('../../utils/reactUtils.js');
6
7
  var typeUtils = require('../../utils/typeUtils.js');
7
8
  var Tooltip_types = require('./Tooltip.types.js');
8
9
  var Tooltip_styled = require('./Tooltip.styled.js');
9
10
 
10
- // TODO: (@ed) Evolve it into a commonly reusable function
11
- // FIXME: duplicate
12
- function createContext(providerName, defaultValue) {
13
- const Context = /*#__PURE__*/React.createContext(defaultValue);
14
- function useContext(consumerName) {
15
- const contextValue = React.useContext(Context);
16
- if (!contextValue) {
17
- throw new Error(`'${consumerName}' must be used within '${providerName}'`);
18
- }
19
- return contextValue;
20
- }
21
- return [Context.Provider, useContext];
22
- }
23
11
  function getSideAndAlign(placement) {
24
12
  switch (placement) {
25
13
  case Tooltip_types.TooltipPosition.TopCenter:
@@ -94,7 +82,7 @@ const [
94
82
  /**
95
83
  * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.
96
84
  */
97
- TooltipGlobalContextProvider, useTooltipGlobalContext] = createContext('TooltipProvider', null);
85
+ TooltipGlobalContextProvider, useTooltipGlobalContext] = reactUtils.createContext(null, 'TooltipProvider');
98
86
 
99
87
  /**
100
88
  * `TooltipProvider` is used to globally provide props to child tooltips.
@@ -110,9 +98,9 @@ TooltipGlobalContextProvider, useTooltipGlobalContext] = createContext('TooltipP
110
98
  function TooltipProvider({
111
99
  children,
112
100
  allowHover = false,
113
- delayShow = 0,
101
+ delayShow = 300,
114
102
  delayHide = 0,
115
- skipDelayShow = 0
103
+ skipDelayShow = 500
116
104
  }) {
117
105
  const contextValue = React.useMemo(() => ({
118
106
  delayHide
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { document } from '~/src/utils/domUtils'\nimport { isBoolean } from '~/src/utils/typeUtils'\n\nimport {\n TooltipPosition,\n type TooltipProps,\n type TooltipProviderProps,\n} from './Tooltip.types'\n\nimport * as Styled from './Tooltip.styled'\n\n// TODO: (@ed) Evolve it into a commonly reusable function\n// FIXME: duplicate\nfunction createContext<ContextValue>(\n providerName: string,\n defaultValue: ContextValue,\n) {\n const Context = React.createContext<ContextValue>(defaultValue)\n\n function useContext(consumerName: string) {\n const contextValue = React.useContext(Context)\n\n if (!contextValue) {\n throw new Error(`'${consumerName}' must be used within '${providerName}'`)\n }\n\n return contextValue\n }\n\n return [\n Context.Provider,\n useContext,\n ] as const\n}\n\nfunction getSideAndAlign(\n placement: TooltipPosition,\n): Pick<TooltipPrimitive.TooltipContentProps, 'side' | 'align'> {\n switch (placement) {\n case TooltipPosition.TopCenter:\n return {\n side: 'top',\n align: 'center',\n }\n case TooltipPosition.TopLeft:\n return {\n side: 'top',\n align: 'start',\n }\n case TooltipPosition.TopRight:\n return {\n side: 'top',\n align: 'end',\n }\n case TooltipPosition.RightCenter:\n return {\n side: 'right',\n align: 'center',\n }\n case TooltipPosition.RightTop:\n return {\n side: 'right',\n align: 'start',\n }\n case TooltipPosition.RightBottom:\n return {\n side: 'right',\n align: 'end',\n }\n case TooltipPosition.BottomCenter:\n return {\n side: 'bottom',\n align: 'center',\n }\n case TooltipPosition.BottomLeft:\n return {\n side: 'bottom',\n align: 'start',\n }\n case TooltipPosition.BottomRight:\n return {\n side: 'bottom',\n align: 'end',\n }\n case TooltipPosition.LeftCenter:\n return {\n side: 'left',\n align: 'center',\n }\n case TooltipPosition.LeftTop:\n return {\n side: 'left',\n align: 'start',\n }\n case TooltipPosition.LeftBottom:\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\nconst [\n /**\n * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.\n */\n TooltipGlobalContextProvider,\n useTooltipGlobalContext,\n] = createContext<Required<Pick<TooltipProviderProps, 'delayHide'>> | null>('TooltipProvider', null)\n\n/**\n * `TooltipProvider` is used to globally provide props to child tooltips.\n *\n * @example\n *\n * ```tsx\n * <TooltipProvider allowHover delayShow={1000}>\n * <Tooltip />\n * </TooltipProvider>\n * ```\n */\nexport function TooltipProvider({\n children,\n allowHover = false,\n delayShow = 0,\n delayHide = 0,\n skipDelayShow = 0,\n}: TooltipProviderProps) {\n const contextValue = useMemo(() => ({\n delayHide,\n }), [delayHide])\n\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayShow}\n skipDelayDuration={skipDelayShow}\n disableHoverableContent={!allowHover}\n >\n <TooltipGlobalContextProvider value={contextValue}>\n { children }\n </TooltipGlobalContextProvider>\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * @example\n *\n * ```tsx\n * // Anatomy of the Tooltip\n * <TooltipProvider>\n * <Tooltip />\n * </TooltipProvider>\n *\n * // Example of a Tooltip with a button\n * <Tooltip content=\"Ta-da!\">\n * <button>Hover me</button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip({\n as,\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n content,\n description,\n icon,\n placement = TooltipPosition.BottomCenter,\n offset = 4,\n container = document.body,\n keepInContainer = true,\n allowHover,\n delayShow,\n delayHide: delayHideProp,\n ...rest\n}, forwardedRef) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n const { delayHide: globalDelayHide } = useTooltipGlobalContext('Tooltip')\n\n const delayHide = delayHideProp ?? globalDelayHide\n\n useEffect(function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n const onOpenChange = useCallback((open: boolean) => {\n if (disabled) { return }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n }, [\n disabled,\n delayHide,\n onShow,\n onHide,\n ])\n\n return (\n <TooltipPrimitive.Root\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={isBoolean(allowHover) ? !allowHover : undefined}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild>\n { children }\n </TooltipPrimitive.Trigger>\n\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <Styled.TooltipContent forwardedAs={as}>\n <Styled.TextContainer>\n <Styled.Content>\n { content }\n </Styled.Content>\n\n { description && (\n <Styled.Description>\n { description }\n </Styled.Description>\n ) }\n </Styled.TextContainer>\n\n { icon && (\n <Styled.Icon source={icon} />\n ) }\n </Styled.TooltipContent>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n )\n})\n"],"names":["createContext","providerName","defaultValue","Context","React","useContext","consumerName","contextValue","Error","Provider","getSideAndAlign","placement","TooltipPosition","TopCenter","side","align","TopLeft","TopRight","RightCenter","RightTop","RightBottom","BottomCenter","BottomLeft","BottomRight","LeftCenter","LeftTop","LeftBottom","undefined","TooltipGlobalContextProvider","useTooltipGlobalContext","TooltipProvider","children","allowHover","delayShow","delayHide","skipDelayShow","useMemo","createElement","TooltipPrimitive","delayDuration","skipDelayDuration","disableHoverableContent","value","Tooltip","forwardRef","as","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","content","description","icon","offset","container","document","body","keepInContainer","delayHideProp","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","globalDelayHide","useEffect","cleanUpTimeout","cleanUp","current","clearTimeout","useCallback","onOpenChange","open","setTimeout","defaultOpen","isBoolean","asChild","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","Styled","forwardedAs","source"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { document } from '~/src/utils/domUtils'\nimport { createContext } from '~/src/utils/reactUtils'\nimport { isBoolean } from '~/src/utils/typeUtils'\n\nimport {\n TooltipPosition,\n type TooltipProps,\n type TooltipProviderProps,\n} from './Tooltip.types'\n\nimport * as Styled from './Tooltip.styled'\n\nfunction getSideAndAlign(\n placement: TooltipPosition,\n): Pick<TooltipPrimitive.TooltipContentProps, 'side' | 'align'> {\n switch (placement) {\n case TooltipPosition.TopCenter:\n return {\n side: 'top',\n align: 'center',\n }\n case TooltipPosition.TopLeft:\n return {\n side: 'top',\n align: 'start',\n }\n case TooltipPosition.TopRight:\n return {\n side: 'top',\n align: 'end',\n }\n case TooltipPosition.RightCenter:\n return {\n side: 'right',\n align: 'center',\n }\n case TooltipPosition.RightTop:\n return {\n side: 'right',\n align: 'start',\n }\n case TooltipPosition.RightBottom:\n return {\n side: 'right',\n align: 'end',\n }\n case TooltipPosition.BottomCenter:\n return {\n side: 'bottom',\n align: 'center',\n }\n case TooltipPosition.BottomLeft:\n return {\n side: 'bottom',\n align: 'start',\n }\n case TooltipPosition.BottomRight:\n return {\n side: 'bottom',\n align: 'end',\n }\n case TooltipPosition.LeftCenter:\n return {\n side: 'left',\n align: 'center',\n }\n case TooltipPosition.LeftTop:\n return {\n side: 'left',\n align: 'start',\n }\n case TooltipPosition.LeftBottom:\n return {\n side: 'left',\n align: 'end',\n }\n default:\n // NOTE: should not reach here\n return {\n side: undefined,\n align: undefined,\n }\n }\n}\n\nconst [\n /**\n * NOTE: Custom context use because the radix-ui doesn't support `delayHide`.\n */\n TooltipGlobalContextProvider,\n useTooltipGlobalContext,\n] = createContext<Required<Pick<TooltipProviderProps, 'delayHide'>> | null>(null, 'TooltipProvider')\n\n/**\n * `TooltipProvider` is used to globally provide props to child tooltips.\n *\n * @example\n *\n * ```tsx\n * <TooltipProvider allowHover delayShow={1000}>\n * <Tooltip />\n * </TooltipProvider>\n * ```\n */\nexport function TooltipProvider({\n children,\n allowHover = false,\n delayShow = 300,\n delayHide = 0,\n skipDelayShow = 500,\n}: TooltipProviderProps) {\n const contextValue = useMemo(() => ({\n delayHide,\n }), [delayHide])\n\n return (\n <TooltipPrimitive.Provider\n delayDuration={delayShow}\n skipDelayDuration={skipDelayShow}\n disableHoverableContent={!allowHover}\n >\n <TooltipGlobalContextProvider value={contextValue}>\n { children }\n </TooltipGlobalContextProvider>\n </TooltipPrimitive.Provider>\n )\n}\n\n/**\n * `Tooltip` is a component that shows additional information when the mouse hovers or the keyboard is focused.\n *\n * @example\n *\n * ```tsx\n * // Anatomy of the Tooltip\n * <TooltipProvider>\n * <Tooltip />\n * </TooltipProvider>\n *\n * // Example of a Tooltip with a button\n * <Tooltip content=\"Ta-da!\">\n * <button>Hover me</button>\n * </Tooltip>\n * ```\n */\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(function Tooltip({\n as,\n children,\n defaultShow,\n onShow: onShowProp,\n onHide: onHideProp,\n disabled,\n content,\n description,\n icon,\n placement = TooltipPosition.BottomCenter,\n offset = 4,\n container = document.body,\n keepInContainer = true,\n allowHover,\n delayShow,\n delayHide: delayHideProp,\n ...rest\n}, forwardedRef) {\n const [show, setShow] = useState<boolean>(defaultShow ?? false)\n const timeoutRef = useRef<NodeJS.Timeout>()\n const { delayHide: globalDelayHide } = useTooltipGlobalContext('Tooltip')\n\n const delayHide = delayHideProp ?? globalDelayHide\n\n useEffect(function cleanUpTimeout() {\n return function cleanUp() {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onShow = useCallback(() => {\n setShow(true)\n onShowProp?.()\n }, [onShowProp])\n\n const onHide = useCallback(() => {\n setShow(false)\n onHideProp?.()\n }, [onHideProp])\n\n const onOpenChange = useCallback((open: boolean) => {\n if (disabled) { return }\n\n if (open) {\n onShow()\n return\n }\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = undefined\n }\n\n if (delayHide > 0) {\n timeoutRef.current = setTimeout(() => {\n onHide()\n }, delayHide)\n return\n }\n\n onHide()\n }, [\n disabled,\n delayHide,\n onShow,\n onHide,\n ])\n\n return (\n <TooltipPrimitive.Root\n open={show}\n defaultOpen={defaultShow}\n delayDuration={delayShow}\n disableHoverableContent={isBoolean(allowHover) ? !allowHover : undefined}\n onOpenChange={onOpenChange}\n >\n <TooltipPrimitive.Trigger asChild>\n { children }\n </TooltipPrimitive.Trigger>\n\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n {...rest}\n {...getSideAndAlign(placement)}\n asChild\n ref={forwardedRef}\n sideOffset={offset}\n avoidCollisions={keepInContainer}\n collisionPadding={8}\n hideWhenDetached\n >\n <Styled.TooltipContent forwardedAs={as}>\n <Styled.TextContainer>\n <Styled.Content>\n { content }\n </Styled.Content>\n\n { description && (\n <Styled.Description>\n { description }\n </Styled.Description>\n ) }\n </Styled.TextContainer>\n\n { icon && (\n <Styled.Icon source={icon} />\n ) }\n </Styled.TooltipContent>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n )\n})\n"],"names":["getSideAndAlign","placement","TooltipPosition","TopCenter","side","align","TopLeft","TopRight","RightCenter","RightTop","RightBottom","BottomCenter","BottomLeft","BottomRight","LeftCenter","LeftTop","LeftBottom","undefined","TooltipGlobalContextProvider","useTooltipGlobalContext","createContext","TooltipProvider","children","allowHover","delayShow","delayHide","skipDelayShow","contextValue","useMemo","React","createElement","TooltipPrimitive","delayDuration","skipDelayDuration","disableHoverableContent","value","Tooltip","forwardRef","as","defaultShow","onShow","onShowProp","onHide","onHideProp","disabled","content","description","icon","offset","container","document","body","keepInContainer","delayHideProp","rest","forwardedRef","show","setShow","useState","timeoutRef","useRef","globalDelayHide","useEffect","cleanUpTimeout","cleanUp","current","clearTimeout","useCallback","onOpenChange","open","setTimeout","defaultOpen","isBoolean","asChild","Object","assign","ref","sideOffset","avoidCollisions","collisionPadding","hideWhenDetached","Styled","forwardedAs","source"],"mappings":"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"}
@@ -2,77 +2,24 @@
2
2
 
3
3
  var ZIndex = require('../../constants/ZIndex.js');
4
4
  var Text = require('../Text/Text.js');
5
- var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
6
5
  var AlphaStack = require('../AlphaStack/AlphaStack.js');
7
6
  var Typography = require('../../foundation/Typography.js');
8
7
  var Icon$1 = require('../Icon/Icon.js');
9
8
  var Icon_types = require('../Icon/Icon.types.js');
10
- var index = require('../../foundation/Transition/index.js');
11
- var styled = require('styled-components');
9
+ var FoundationStyledComponent = require('../../foundation/FoundationStyledComponent.js');
12
10
  var Mixins = require('../../foundation/Mixins.js');
13
11
 
14
- const fadeIn = styled.keyframes`
15
- from {
16
- opacity: 0;
17
- }
18
-
19
- to {
20
- opacity: 1;
21
- }
22
- `;
23
- const SLIDE_OFFSET = 2;
24
- const slideUp = styled.keyframes`
25
- from {
26
- transform: translateY(${SLIDE_OFFSET}px);
27
- }
28
-
29
- to {
30
- transform: translateY(0);
31
- }
32
- `;
33
- const slideRight = styled.keyframes`
34
- from {
35
- transform: translateX(-${SLIDE_OFFSET}px);
36
- }
37
-
38
- to {
39
- transform: translateX(0);
40
- }
41
- `;
42
- const slideDown = styled.keyframes`
43
- from {
44
- transform: translateY(-${SLIDE_OFFSET}px);
45
- }
46
-
47
- to {
48
- transform: translateY(0);
49
- }
50
- `;
51
- const slideLeft = styled.keyframes`
52
- from {
53
- transform: translateX(${SLIDE_OFFSET}px);
54
- }
55
-
56
- to {
57
- transform: translateX(0);
58
- }
59
- `;
60
- const getSlideAnimation = frames => FoundationStyledComponent.css`
61
- animation-name: ${() => frames}, ${() => fadeIn};
62
- animation-duration: ${index.TransitionDuration.M}ms;
63
- animation-timing-function: cubic-bezier(0.3, 0, 0, 1);
64
- `;
65
12
  const TooltipContent = /*#__PURE__*/FoundationStyledComponent.styled(AlphaStack.AlphaStack).attrs({
66
13
  direction: 'horizontal',
67
14
  spacing: 4
68
15
  }).withConfig({
69
16
  displayName: "Tooltipstyled__TooltipContent",
70
17
  componentId: "sc-51cb65-0"
71
- })(["z-index:", ";box-sizing:border-box;width:max-content;max-width:260px;height:max-content;padding:5px 8px;word-break:normal;word-wrap:break-word;", ";", ";&[data-side=\"top\"]{", "}&[data-side=\"right\"]{", "}&[data-side=\"bottom\"]{", "}&[data-side=\"left\"]{", "}", ""], ZIndex.ZIndex.Tooltip, ({
18
+ })(["z-index:", ";box-sizing:border-box;width:max-content;max-width:260px;height:max-content;padding:5px 8px;word-break:normal;word-wrap:break-word;", ";", ";", ""], ZIndex.ZIndex.Tooltip, ({
72
19
  foundation
73
20
  }) => foundation?.elevation?.ev3(true), ({
74
21
  foundation
75
- }) => foundation?.rounding?.round8, getSlideAnimation(slideUp), getSlideAnimation(slideRight), getSlideAnimation(slideDown), getSlideAnimation(slideLeft), ({
22
+ }) => foundation?.rounding?.round8, ({
76
23
  interpolation
77
24
  }) => interpolation);
78
25
  const TextContainer = /*#__PURE__*/FoundationStyledComponent.styled.div.withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.styled.js","sources":["../../../../src/components/Tooltip/Tooltip.styled.ts"],"sourcesContent":["import {\n LineHeightAbsoluteNumber,\n TransitionDuration,\n Typography,\n css,\n ellipsis,\n keyframes,\n styled,\n} from '~/src/foundation'\n\nimport { ZIndex } from '~/src/constants/ZIndex'\n\nimport { AlphaStack } from '~/src/components/AlphaStack'\nimport {\n Icon as BaseIcon,\n IconSize,\n} from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type TooltipProps } from './Tooltip.types'\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n`\n\nconst SLIDE_OFFSET = 2\n\nconst slideUp = keyframes`\n from {\n transform: translateY(${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateY(0);\n }\n`\n\nconst slideRight = keyframes`\n from {\n transform: translateX(-${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateX(0);\n }\n`\n\nconst slideDown = keyframes`\n from {\n transform: translateY(-${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateY(0);\n }\n`\n\nconst slideLeft = keyframes`\n from {\n transform: translateX(${SLIDE_OFFSET}px);\n }\n\n to {\n transform: translateX(0);\n }\n`\n\nconst getSlideAnimation = (frames: ReturnType<typeof keyframes>) => css`\n animation-name: ${() => frames}, ${() => fadeIn};\n animation-duration: ${TransitionDuration.M}ms;\n animation-timing-function: cubic-bezier(0.3, 0, 0, 1);\n`\n\nexport const TooltipContent = styled(AlphaStack).attrs({\n direction: 'horizontal',\n spacing: 4,\n})<TooltipProps>`\n z-index: ${ZIndex.Tooltip};\n\n box-sizing: border-box;\n width: max-content;\n max-width: 260px;\n height: max-content;\n padding: 5px 8px;\n word-break: normal;\n word-wrap: break-word;\n\n ${({ foundation }) => foundation?.elevation?.ev3(true)};\n ${({ foundation }) => foundation?.rounding?.round8};\n\n &[data-side=\"top\"] {\n ${getSlideAnimation(slideUp)}\n }\n\n &[data-side=\"right\"] {\n ${getSlideAnimation(slideRight)}\n }\n\n &[data-side=\"bottom\"] {\n ${getSlideAnimation(slideDown)}\n }\n\n &[data-side=\"left\"] {\n ${getSlideAnimation(slideLeft)}\n }\n\n ${({ interpolation }) => interpolation}\n`\n\nexport const TextContainer = styled.div`\n overflow: hidden;\n`\n\nexport const Content = styled(Text).attrs({ typo: Typography.Size13 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n /* NOTE: Line height of Typography.Size13 */\n ${ellipsis(20, LineHeightAbsoluteNumber.Lh18)}\n white-space: pre-wrap;\n`\n\nexport const Description = styled(Text).attrs({ typo: Typography.Size12 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-dark']};\n`\n\nexport const Icon = styled(BaseIcon).attrs({\n size: IconSize.XS,\n})`\n padding: 1px;\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n`\n"],"names":["fadeIn","keyframes","SLIDE_OFFSET","slideUp","slideRight","slideDown","slideLeft","getSlideAnimation","frames","css","TransitionDuration","M","TooltipContent","styled","AlphaStack","attrs","direction","spacing","withConfig","displayName","componentId","ZIndex","Tooltip","foundation","elevation","ev3","rounding","round8","interpolation","TextContainer","div","Content","Text","typo","Typography","Size13","subTheme","ellipsis","LineHeightAbsoluteNumber","Lh18","Description","Size12","Icon","BaseIcon","size","IconSize","XS"],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.styled.js","sources":["../../../../src/components/Tooltip/Tooltip.styled.ts"],"sourcesContent":["import {\n LineHeightAbsoluteNumber,\n Typography,\n ellipsis,\n styled,\n} from '~/src/foundation'\n\nimport { ZIndex } from '~/src/constants/ZIndex'\n\nimport { AlphaStack } from '~/src/components/AlphaStack'\nimport {\n Icon as BaseIcon,\n IconSize,\n} from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type TooltipProps } from './Tooltip.types'\n\nexport const TooltipContent = styled(AlphaStack).attrs({\n direction: 'horizontal',\n spacing: 4,\n})<TooltipProps>`\n z-index: ${ZIndex.Tooltip};\n\n box-sizing: border-box;\n width: max-content;\n max-width: 260px;\n height: max-content;\n padding: 5px 8px;\n word-break: normal;\n word-wrap: break-word;\n\n ${({ foundation }) => foundation?.elevation?.ev3(true)};\n ${({ foundation }) => foundation?.rounding?.round8};\n\n ${({ interpolation }) => interpolation}\n`\n\nexport const TextContainer = styled.div`\n overflow: hidden;\n`\n\nexport const Content = styled(Text).attrs({ typo: Typography.Size13 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n /* NOTE: Line height of Typography.Size13 */\n ${ellipsis(20, LineHeightAbsoluteNumber.Lh18)}\n white-space: pre-wrap;\n`\n\nexport const Description = styled(Text).attrs({ typo: Typography.Size12 })`\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-dark']};\n`\n\nexport const Icon = styled(BaseIcon).attrs({\n size: IconSize.XS,\n})`\n padding: 1px;\n color: ${({ foundation }) => foundation?.subTheme?.['txt-black-darkest']};\n`\n"],"names":["TooltipContent","styled","AlphaStack","attrs","direction","spacing","withConfig","displayName","componentId","ZIndex","Tooltip","foundation","elevation","ev3","rounding","round8","interpolation","TextContainer","div","Content","Text","typo","Typography","Size13","subTheme","ellipsis","LineHeightAbsoluteNumber","Lh18","Description","Size12","Icon","BaseIcon","size","IconSize","XS"],"mappings":";;;;;;;;;;;AAkBO,MAAMA,cAAc,gBAAGC,gCAAM,CAACC,qBAAU,CAAC,CAACC,KAAK,CAAC;AACrDC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,UAAA,EAAA,qIAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EACWC,aAAM,CAACC,OAAO,EAUvB,CAAC;AAAEC,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEC,SAAS,EAAEC,GAAG,CAAC,IAAI,CAAC,EACpD,CAAC;AAAEF,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEG,QAAQ,EAAEC,MAAM,EAEhD,CAAC;AAAEC,EAAAA,aAAAA;AAAc,CAAC,KAAKA,aAAa,EACvC;MAEYC,aAAa,gBAAGhB,gCAAM,CAACiB,GAAG,CAAAZ,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAEtC,CAAA,CAAA,CAAA,kBAAA,CAAA,EAAA;AAEM,MAAMW,OAAO,gBAAGlB,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACC,MAAAA;AAAO,CAAC,CAAC,CAAAjB,UAAA,CAAA;EAAAC,WAAA,EAAA,wBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EAC3D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC,EAEtEC,eAAQ,CAAC,EAAE,EAAEC,mCAAwB,CAACC,IAAI,CAAC,EAE9C;AAEM,MAAMC,WAAW,gBAAG3B,gCAAM,CAACmB,YAAI,CAAC,CAACjB,KAAK,CAAC;EAAEkB,IAAI,EAAEC,qBAAU,CAACO,MAAAA;AAAO,CAAC,CAAC,CAAAvB,UAAA,CAAA;EAAAC,WAAA,EAAA,4BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,QAAA,EAAA,GAAA,CAAA,EAC/D,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,gBAAgB,CAAC,EACtE;AAEM,MAAMM,IAAI,gBAAG7B,gCAAM,CAAC8B,WAAQ,CAAC,CAAC5B,KAAK,CAAC;EACzC6B,IAAI,EAAEC,mBAAQ,CAACC,EAAAA;AACjB,CAAC,CAAC,CAAA5B,UAAA,CAAA;EAAAC,WAAA,EAAA,qBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oBAAA,EAAA,GAAA,CAAA,EAES,CAAC;AAAEG,EAAAA,UAAAA;AAAW,CAAC,KAAKA,UAAU,EAAEa,QAAQ,GAAG,mBAAmB,CAAC;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.types.js","sources":["../../../../src/components/Tooltip/Tooltip.types.ts"],"sourcesContent":["import { type BezierIcon } from '@channel.io/bezier-icons'\n\nimport {\n type BezierComponentProps,\n type ChildrenProps,\n type ContentProps,\n type DisableProps,\n} from '~/src/types/ComponentProps'\n\n/**\n * An enumeration that determines the position of `Tooltip`.\n */\nexport enum TooltipPosition {\n TopCenter = 'topCenter',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n RightCenter = 'rightCenter',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n BottomCenter = 'bottomCenter',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n LeftCenter = 'leftCenter',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n}\n\ninterface TooltipProviderOptions {\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * @default 0\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * @default 0\n */\n delayHide?: number\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @default 0\n */\n skipDelayShow?: number\n}\n\ninterface TooltipOptions {\n /**\n * The open state of the tooltip when it is initially rendered.\n */\n defaultShow?: boolean\n /**\n * An element that sits below the tooltip content.\n */\n description?: React.ReactNode\n /**\n * A decorative icon that sits right of the tooltip content.\n */\n icon?: BezierIcon\n /**\n * Options to determine the location from the trigger.\n * @default TooltipPosition.BottomCenter\n */\n placement?: TooltipPosition\n /**\n * The distance in pixels from the trigger.\n * @default 4\n */\n offset?: number\n /**\n * Specify a container element to portal the content into.\n * @default document.body\n */\n container?: HTMLElement | null\n /**\n * When `true`, overrides the `position` of the tooltip\n * to prevent collisions with boundary edges.\n * @default true\n */\n keepInContainer?: boolean\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * Inherits from the nearest `TooltipProvider`.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayHide?: number\n /**\n * Callback function to be called when the tooltip is opened.\n */\n onShow?: () => void\n /**\n * Callback function to be called when the tooltip is closed.\n */\n onHide?: () => void\n /**\n * Event handler called when the escape key is down.\n * It can be prevented by calling `event.preventDefault`.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component.\n * It can be prevented by calling `event.preventDefault`.\n */\n onPointerDownOutside?: (event: CustomEvent<{ originalEvent: PointerEvent }>) => void\n}\n\nexport interface TooltipProviderProps extends\n ChildrenProps,\n TooltipProviderOptions {}\n\nexport interface TooltipProps extends\n BezierComponentProps,\n ChildrenProps<React.ReactElement>,\n ContentProps,\n DisableProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps | keyof ChildrenProps>,\n TooltipOptions {}\n"],"names":["TooltipPosition"],"mappings":";;AASA;AACA;AACA;AACYA,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"Tooltip.types.js","sources":["../../../../src/components/Tooltip/Tooltip.types.ts"],"sourcesContent":["import { type BezierIcon } from '@channel.io/bezier-icons'\n\nimport {\n type BezierComponentProps,\n type ChildrenProps,\n type ContentProps,\n type DisableProps,\n} from '~/src/types/ComponentProps'\n\n/**\n * An enumeration that determines the position of `Tooltip`.\n */\nexport enum TooltipPosition {\n TopCenter = 'topCenter',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n RightCenter = 'rightCenter',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n BottomCenter = 'bottomCenter',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n LeftCenter = 'leftCenter',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n}\n\ninterface TooltipProviderOptions {\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * @default 300\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * @default 0\n */\n delayHide?: number\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @default 500\n */\n skipDelayShow?: number\n}\n\ninterface TooltipOptions {\n /**\n * The open state of the tooltip when it is initially rendered.\n */\n defaultShow?: boolean\n /**\n * An element that sits below the tooltip content.\n */\n description?: React.ReactNode\n /**\n * A decorative icon that sits right of the tooltip content.\n */\n icon?: BezierIcon\n /**\n * Options to determine the location from the trigger.\n * @default TooltipPosition.BottomCenter\n */\n placement?: TooltipPosition\n /**\n * The distance in pixels from the trigger.\n * @default 4\n */\n offset?: number\n /**\n * Specify a container element to portal the content into.\n * @default document.body\n */\n container?: HTMLElement | null\n /**\n * When `true`, overrides the `position` of the tooltip\n * to prevent collisions with boundary edges.\n * @default true\n */\n keepInContainer?: boolean\n /**\n * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.\n * Inherits from the nearest `TooltipProvider`.\n * @default false\n */\n allowHover?: boolean\n /**\n * The delay from when the mouse enters a tooltip trigger until the tooltip opens.\n * Inherits from the nearest `TooltipProvider`.\n * @default 300\n */\n delayShow?: number\n /**\n * The delay from when the mouse leaves a tooltip content until the tooltip hides.\n * Inherits from the nearest `TooltipProvider`.\n * @default 0\n */\n delayHide?: number\n /**\n * Callback function to be called when the tooltip is opened.\n */\n onShow?: () => void\n /**\n * Callback function to be called when the tooltip is closed.\n */\n onHide?: () => void\n /**\n * Event handler called when the escape key is down.\n * It can be prevented by calling `event.preventDefault`.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n /**\n * Event handler called when a pointer event occurs outside the bounds of the component.\n * It can be prevented by calling `event.preventDefault`.\n */\n onPointerDownOutside?: (event: CustomEvent<{ originalEvent: PointerEvent }>) => void\n}\n\nexport interface TooltipProviderProps extends\n ChildrenProps,\n TooltipProviderOptions {}\n\nexport interface TooltipProps extends\n BezierComponentProps,\n ChildrenProps<React.ReactElement>,\n ContentProps,\n DisableProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps | keyof ChildrenProps>,\n TooltipOptions {}\n"],"names":["TooltipPosition"],"mappings":";;AASA;AACA;AACA;AACYA,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,WAAA,CAAA,GAAA,WAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
+ var reactUtils = require('../utils/reactUtils.js');
4
5
  var Feature = require('./Feature.js');
5
6
 
6
7
  const initialFeatureFlag = {
7
8
  [Feature.FeatureType.SmoothCorners]: false
8
9
  };
9
- const FeatureFlagContext = /*#__PURE__*/React.createContext(initialFeatureFlag);
10
+ const [FeatureFlagContextProvider, useFeatureFlagContext] = reactUtils.createContext(initialFeatureFlag);
10
11
  /**
11
12
  * `FeatureProvider` is a component that activates features and provides.
12
13
  *
@@ -40,12 +41,12 @@ function FeatureProvider({
40
41
  }));
41
42
  });
42
43
  }, [features]);
43
- return /*#__PURE__*/React.createElement(FeatureFlagContext.Provider, {
44
+ return /*#__PURE__*/React.createElement(FeatureFlagContextProvider, {
44
45
  value: featureFlag
45
46
  }, children);
46
47
  }
47
48
  function useFeatureFlag(featureType) {
48
- const contextValue = React.useContext(FeatureFlagContext);
49
+ const contextValue = useFeatureFlagContext();
49
50
  return React.useMemo(() => contextValue[featureType], [contextValue, featureType]);
50
51
  }
51
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProvider.js","sources":["../../../src/features/FeatureProvider.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport {\n type Feature,\n FeatureType,\n} from './Feature'\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst FeatureFlagContext = createContext<FeatureFlag>(initialFeatureFlag)\n\ninterface FeatureProviderProps {\n children: React.ReactNode\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n *\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({\n children,\n features,\n}: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] = useState<FeatureFlag>(initialFeatureFlag)\n\n useLayoutEffect(function activateFeatures() {\n if (!features) {\n return\n }\n\n const promises = features.map(feature => (\n feature.activate().then(activated => (\n { [feature.name]: activated }\n ))\n ))\n\n Promise.all(promises).then(flags => {\n setFeatureFlag(prev => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n }, [features])\n\n return (\n <FeatureFlagContext.Provider value={featureFlag}>\n { children }\n </FeatureFlagContext.Provider>\n )\n}\n\nexport function useFeatureFlag(featureType: FeatureType) {\n const contextValue = useContext(FeatureFlagContext)\n\n return useMemo(() => (\n contextValue[featureType]\n ), [\n contextValue,\n featureType,\n ])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useLayoutEffect","activateFeatures","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","Provider","value","useFeatureFlag","featureType","contextValue","useContext","useMemo"],"mappings":";;;;;AAeA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,mBAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAMC,kBAAkB,gBAAGC,mBAAa,CAAcJ,kBAAkB,CAAC,CAAA;AAUzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,eAAeA,CAAC;EAC9BC,QAAQ;AACRC,EAAAA,QAAAA;AACoB,CAAC,EAAE;EACvB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAcV,kBAAkB,CAAC,CAAA;AAE/EW,EAAAA,qBAAe,CAAC,SAASC,gBAAgBA,GAAG;IAC1C,IAAI,CAACL,QAAQ,EAAE;AACb,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMM,QAAQ,GAAGN,QAAQ,CAACO,GAAG,CAACC,OAAO,IACnCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAACC,SAAS,KAC/B;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAC9B,CACF,CAAC,CAAA;IAEFE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAACK,KAAK,IAAI;MAClCb,cAAc,CAACc,IAAI,KAAK;AACtB,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,EAAE,CAACnB,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEoB,KAAA,CAAAC,aAAA,CAACzB,kBAAkB,CAAC0B,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEtB,WAAAA;AAAY,GAAA,EAC5CF,QACyB,CAAC,CAAA;AAElC,CAAA;AAEO,SAASyB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAGC,gBAAU,CAAC/B,kBAAkB,CAAC,CAAA;AAEnD,EAAA,OAAOgC,aAAO,CAAC,MACbF,YAAY,CAACD,WAAW,CACzB,EAAE,CACDC,YAAY,EACZD,WAAW,CACZ,CAAC,CAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"FeatureProvider.js","sources":["../../../src/features/FeatureProvider.tsx"],"sourcesContent":["import React, {\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport { createContext } from '~/src/utils/reactUtils'\n\nimport {\n type Feature,\n FeatureType,\n} from './Feature'\n\nexport type FeatureFlag = Record<FeatureType, boolean>\n\nconst initialFeatureFlag: FeatureFlag = {\n [FeatureType.SmoothCorners]: false,\n}\n\nconst [\n FeatureFlagContextProvider,\n useFeatureFlagContext,\n] = createContext<FeatureFlag>(initialFeatureFlag)\n\ninterface FeatureProviderProps {\n children: React.ReactNode\n /**\n * Features to activate.\n */\n features: Feature[]\n}\n\n/**\n * `FeatureProvider` is a component that activates features and provides.\n *\n * @example\n *\n * ```tsx\n * <FeatureProvider features={[SmoothCornersFeature]}>\n * <App />\n * </FeatureProvider>\n * ```\n */\nexport function FeatureProvider({\n children,\n features,\n}: FeatureProviderProps) {\n const [featureFlag, setFeatureFlag] = useState<FeatureFlag>(initialFeatureFlag)\n\n useLayoutEffect(function activateFeatures() {\n if (!features) {\n return\n }\n\n const promises = features.map(feature => (\n feature.activate().then(activated => (\n { [feature.name]: activated }\n ))\n ))\n\n Promise.all(promises).then(flags => {\n setFeatureFlag(prev => ({\n ...prev,\n ...flags.reduce((acc, cur) => ({ ...acc, ...cur }), {}),\n }))\n })\n }, [features])\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(() => (\n contextValue[featureType]\n ), [\n contextValue,\n featureType,\n ])\n}\n"],"names":["initialFeatureFlag","FeatureType","SmoothCorners","FeatureFlagContextProvider","useFeatureFlagContext","createContext","FeatureProvider","children","features","featureFlag","setFeatureFlag","useState","useLayoutEffect","activateFeatures","promises","map","feature","activate","then","activated","name","Promise","all","flags","prev","reduce","acc","cur","React","createElement","value","useFeatureFlag","featureType","contextValue","useMemo"],"mappings":";;;;;;AAeA,MAAMA,kBAA+B,GAAG;EACtC,CAACC,mBAAW,CAACC,aAAa,GAAG,KAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CACJC,0BAA0B,EAC1BC,qBAAqB,CACtB,GAAGC,wBAAa,CAAcL,kBAAkB,CAAC,CAAA;AAUlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAC;EAC9BC,QAAQ;AACRC,EAAAA,QAAAA;AACoB,CAAC,EAAE;EACvB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAcX,kBAAkB,CAAC,CAAA;AAE/EY,EAAAA,qBAAe,CAAC,SAASC,gBAAgBA,GAAG;IAC1C,IAAI,CAACL,QAAQ,EAAE;AACb,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMM,QAAQ,GAAGN,QAAQ,CAACO,GAAG,CAACC,OAAO,IACnCA,OAAO,CAACC,QAAQ,EAAE,CAACC,IAAI,CAACC,SAAS,KAC/B;MAAE,CAACH,OAAO,CAACI,IAAI,GAAGD,SAAAA;KAAW,CAC9B,CACF,CAAC,CAAA;IAEFE,OAAO,CAACC,GAAG,CAACR,QAAQ,CAAC,CAACI,IAAI,CAACK,KAAK,IAAI;MAClCb,cAAc,CAACc,IAAI,KAAK;AACtB,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,EAAE,CAACnB,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEoB,KAAA,CAAAC,aAAA,CAAC1B,0BAA0B,EAAA;AAAC2B,IAAAA,KAAK,EAAErB,WAAAA;AAAY,GAAA,EAC3CF,QACwB,CAAC,CAAA;AAEjC,CAAA;AAEO,SAASwB,cAAcA,CAACC,WAAwB,EAAE;AACvD,EAAA,MAAMC,YAAY,GAAG7B,qBAAqB,EAAE,CAAA;AAE5C,EAAA,OAAO8B,aAAO,CAAC,MACbD,YAAY,CAACD,WAAW,CACzB,EAAE,CACDC,YAAY,EACZD,WAAW,CACZ,CAAC,CAAA;AACJ;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var Feature = require('../Feature.js');
7
7
  var smoothCornersScript = require('./smoothCornersScript.js');
8
8
 
@@ -19,7 +19,7 @@ class SmoothCornersFeature extends Feature.Feature {
19
19
  * @deprecated (@ed) Upcoming improvements
20
20
  * Changed to private property, and will be referenced via the useFeatureFlag context rather than directly externally.
21
21
  */
22
- _defineProperty(this, "activated", false);
22
+ _rollupPluginBabelHelpers.defineProperty(this, "activated", false);
23
23
  }
24
24
  async activate() {
25
25
  if (!this.activated && typeof CSS !== 'undefined' && 'paintWorklet' in CSS) {
@@ -1 +1 @@
1
- {"version":3,"file":"SmoothCornersFeature.js","sources":["../../../../src/features/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport {\n Feature,\n FeatureType,\n} from '../Feature'\n\nimport { smoothCornersScript } from './smoothCornersScript'\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 extends Feature {\n /**\n * @deprecated (@ed) Upcoming improvements\n * Changed to private property, and will be referenced via the useFeatureFlag context rather than directly externally.\n */\n activated = false\n\n async activate() {\n if (\n !this.activated\n && typeof CSS !== 'undefined'\n && 'paintWorklet' in CSS\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' }),\n )\n\n // @ts-ignore\n const promise = CSS.paintWorklet.addModule(workletURL) as Promise<void>\n\n return promise\n .then(() => {\n this.activated = true\n return this.activated\n }).catch(() => {\n this.activated = false\n return this.activated\n })\n }\n\n return this.activated\n }\n}\n\nexport default new SmoothCornersFeature(FeatureType.SmoothCorners)\n"],"names":["SmoothCornersFeature","Feature","constructor","args","_defineProperty","activate","activated","CSS","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","promise","paintWorklet","addModule","then","catch","FeatureType","SmoothCorners"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,SAASC,eAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACzC;AACF;AACA;AACA;AAHEC,IAAAA,eAAA,oBAIY,KAAK,CAAA,CAAA;AAAA,GAAA;EAEjB,MAAMC,QAAQA,GAAG;AACf,IAAA,IACE,CAAC,IAAI,CAACC,SAAS,IACZ,OAAOC,GAAG,KAAK,WAAW,IAC1B,cAAc,IAAIA,GAAG,EACxB;AACA,MAAA,MAAMC,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,uCAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE,wBAAA;AAAyB,OAAC,CACpE,CAAC,CAAA;;AAED;MACA,MAAMC,OAAO,GAAGP,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACR,UAAU,CAAkB,CAAA;AAEvE,MAAA,OAAOM,OAAO,CACXG,IAAI,CAAC,MAAM;QACV,IAAI,CAACX,SAAS,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,OAAC,CAAC,CAACY,KAAK,CAAC,MAAM;QACb,IAAI,CAACZ,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,OAAC,CAAC,CAAA;AACN,KAAA;IAEA,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,GAAA;AACF,CAAA;AAEA,6BAAe,IAAIN,oBAAoB,CAACmB,mBAAW,CAACC,aAAa,CAAC;;;;"}
1
+ {"version":3,"file":"SmoothCornersFeature.js","sources":["../../../../src/features/SmoothCornersFeature/SmoothCornersFeature.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport {\n Feature,\n FeatureType,\n} from '../Feature'\n\nimport { smoothCornersScript } from './smoothCornersScript'\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 extends Feature {\n /**\n * @deprecated (@ed) Upcoming improvements\n * Changed to private property, and will be referenced via the useFeatureFlag context rather than directly externally.\n */\n activated = false\n\n async activate() {\n if (\n !this.activated\n && typeof CSS !== 'undefined'\n && 'paintWorklet' in CSS\n ) {\n const workletURL = URL.createObjectURL(\n new Blob([smoothCornersScript], { type: 'application/javascript' }),\n )\n\n // @ts-ignore\n const promise = CSS.paintWorklet.addModule(workletURL) as Promise<void>\n\n return promise\n .then(() => {\n this.activated = true\n return this.activated\n }).catch(() => {\n this.activated = false\n return this.activated\n })\n }\n\n return this.activated\n }\n}\n\nexport default new SmoothCornersFeature(FeatureType.SmoothCorners)\n"],"names":["SmoothCornersFeature","Feature","constructor","args","_defineProperty","activate","activated","CSS","workletURL","URL","createObjectURL","Blob","smoothCornersScript","type","promise","paintWorklet","addModule","then","catch","FeatureType","SmoothCorners"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,SAASC,eAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AACzC;AACF;AACA;AACA;AAHEC,IAAAA,wCAAA,oBAIY,KAAK,CAAA,CAAA;AAAA,GAAA;EAEjB,MAAMC,QAAQA,GAAG;AACf,IAAA,IACE,CAAC,IAAI,CAACC,SAAS,IACZ,OAAOC,GAAG,KAAK,WAAW,IAC1B,cAAc,IAAIA,GAAG,EACxB;AACA,MAAA,MAAMC,UAAU,GAAGC,GAAG,CAACC,eAAe,CACpC,IAAIC,IAAI,CAAC,CAACC,uCAAmB,CAAC,EAAE;AAAEC,QAAAA,IAAI,EAAE,wBAAA;AAAyB,OAAC,CACpE,CAAC,CAAA;;AAED;MACA,MAAMC,OAAO,GAAGP,GAAG,CAACQ,YAAY,CAACC,SAAS,CAACR,UAAU,CAAkB,CAAA;AAEvE,MAAA,OAAOM,OAAO,CACXG,IAAI,CAAC,MAAM;QACV,IAAI,CAACX,SAAS,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,OAAC,CAAC,CAACY,KAAK,CAAC,MAAM;QACb,IAAI,CAACZ,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,OAAC,CAAC,CAAA;AACN,KAAA;IAEA,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,GAAA;AACF,CAAA;AAEA,6BAAe,IAAIN,oBAAoB,CAACmB,mBAAW,CAACC,aAAa,CAAC;;;;"}