@channel.io/bezier-react 1.6.1 → 1.7.0

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 (310) hide show
  1. package/dist/cjs/components/Forms/Slider/Slider.js +73 -51
  2. package/dist/cjs/components/Forms/Slider/Slider.js.map +1 -1
  3. package/dist/cjs/components/Forms/Slider/Slider.styled.js +24 -83
  4. package/dist/cjs/components/Forms/Slider/Slider.styled.js.map +1 -1
  5. package/dist/cjs/components/Help/Help.js +10 -7
  6. package/dist/cjs/components/Help/Help.js.map +1 -1
  7. package/dist/cjs/components/Help/Help.styled.js +4 -5
  8. package/dist/cjs/components/Help/Help.styled.js.map +1 -1
  9. package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.js +2 -9
  10. package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.js.map +1 -1
  11. package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.styled.js +3 -20
  12. package/dist/cjs/components/KeyValueListItem/common/ItemActions/ItemAction.styled.js.map +1 -1
  13. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js +101 -0
  14. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.js.map +1 -0
  15. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.styled.js +41 -0
  16. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.styled.js.map +1 -0
  17. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.types.js +20 -0
  18. package/dist/cjs/components/LegacyTooltip/LegacyTooltip.types.js.map +1 -0
  19. package/dist/cjs/components/{Tooltip/TooltipContent.js → LegacyTooltip/LegacyTooltipContent.js} +9 -12
  20. package/dist/cjs/components/LegacyTooltip/LegacyTooltipContent.js.map +1 -0
  21. package/dist/cjs/components/{Tooltip → LegacyTooltip}/utils.js +33 -33
  22. package/dist/cjs/components/LegacyTooltip/utils.js.map +1 -0
  23. package/dist/cjs/components/ListItem/ListItem.styled.js +1 -1
  24. package/dist/cjs/components/ListMenuTitle/ListMenuTitle.js +11 -10
  25. package/dist/cjs/components/ListMenuTitle/ListMenuTitle.js.map +1 -1
  26. package/dist/cjs/components/Modals/Modal/Modal.types.js.map +1 -1
  27. package/dist/cjs/components/Navigator/NavGroup/NavGroup.js +10 -11
  28. package/dist/cjs/components/Navigator/NavGroup/NavGroup.js.map +1 -1
  29. package/dist/cjs/components/Navigator/NavItem/NavItem.js +10 -10
  30. package/dist/cjs/components/Navigator/NavItem/NavItem.js.map +1 -1
  31. package/dist/cjs/components/SectionLabel/SectionLabel.js +10 -17
  32. package/dist/cjs/components/SectionLabel/SectionLabel.js.map +1 -1
  33. package/dist/cjs/components/SectionLabel/SectionLabel.styled.js +4 -4
  34. package/dist/cjs/components/SectionLabel/SectionLabel.styled.js.map +1 -1
  35. package/dist/cjs/components/Spinner/Spinner.js +10 -7
  36. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  37. package/dist/cjs/components/Spinner/Spinner.styled.js +1 -1
  38. package/dist/cjs/components/Spinner/Spinner.types.js.map +1 -1
  39. package/dist/cjs/components/Stack/Stack/Stack.styled.js +1 -1
  40. package/dist/cjs/components/Status/Status.styled.js +1 -1
  41. package/dist/cjs/components/TagBadge/Badge/Badge.js +9 -8
  42. package/dist/cjs/components/TagBadge/Badge/Badge.js.map +1 -1
  43. package/dist/cjs/components/TagBadge/Tag/Tag.js +4 -3
  44. package/dist/cjs/components/TagBadge/Tag/Tag.js.map +1 -1
  45. package/dist/cjs/components/Text/Text.styled.js +1 -1
  46. package/dist/cjs/components/Toast/Toast.types.js +2 -1
  47. package/dist/cjs/components/Toast/Toast.types.js.map +1 -1
  48. package/dist/cjs/components/Toast/ToastElement.js +5 -6
  49. package/dist/cjs/components/Toast/ToastElement.js.map +1 -1
  50. package/dist/cjs/components/Toast/ToastProvider.js +2 -2
  51. package/dist/cjs/components/Toast/ToastProvider.js.map +1 -1
  52. package/dist/cjs/components/Toast/utils.js +6 -5
  53. package/dist/cjs/components/Toast/utils.js.map +1 -1
  54. package/dist/cjs/components/Tooltip/Tooltip.js +211 -83
  55. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  56. package/dist/cjs/components/Tooltip/Tooltip.styled.js +96 -25
  57. package/dist/cjs/components/Tooltip/Tooltip.styled.js.map +1 -1
  58. package/dist/cjs/components/Tooltip/Tooltip.types.js +3 -0
  59. package/dist/cjs/components/Tooltip/Tooltip.types.js.map +1 -1
  60. package/dist/cjs/foundation/FoundationStyledComponent.js +16 -1
  61. package/dist/cjs/foundation/FoundationStyledComponent.js.map +1 -1
  62. package/dist/cjs/index.js +15 -10
  63. package/dist/cjs/index.js.map +1 -1
  64. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js +886 -0
  65. package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  66. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +691 -0
  67. package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  68. package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +296 -0
  69. package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js.map +1 -0
  70. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +265 -0
  71. package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
  72. package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.js +21 -21
  73. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js +521 -0
  74. package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -0
  75. package/dist/cjs/providers/BezierProvider.js +3 -2
  76. package/dist/cjs/providers/BezierProvider.js.map +1 -1
  77. package/dist/esm/components/Forms/Slider/Slider.mjs +76 -53
  78. package/dist/esm/components/Forms/Slider/Slider.mjs.map +1 -1
  79. package/dist/esm/components/Forms/Slider/Slider.styled.mjs +22 -82
  80. package/dist/esm/components/Forms/Slider/Slider.styled.mjs.map +1 -1
  81. package/dist/esm/components/Help/Help.mjs +11 -8
  82. package/dist/esm/components/Help/Help.mjs.map +1 -1
  83. package/dist/esm/components/Help/Help.styled.mjs +4 -5
  84. package/dist/esm/components/Help/Help.styled.mjs.map +1 -1
  85. package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.mjs +3 -10
  86. package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.mjs.map +1 -1
  87. package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.styled.mjs +4 -19
  88. package/dist/esm/components/KeyValueListItem/common/ItemActions/ItemAction.styled.mjs.map +1 -1
  89. package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs +97 -0
  90. package/dist/esm/components/LegacyTooltip/LegacyTooltip.mjs.map +1 -0
  91. package/dist/esm/components/LegacyTooltip/LegacyTooltip.styled.mjs +36 -0
  92. package/dist/esm/components/LegacyTooltip/LegacyTooltip.styled.mjs.map +1 -0
  93. package/dist/esm/components/LegacyTooltip/LegacyTooltip.types.mjs +18 -0
  94. package/dist/esm/components/LegacyTooltip/LegacyTooltip.types.mjs.map +1 -0
  95. package/dist/esm/components/{Tooltip/TooltipContent.mjs → LegacyTooltip/LegacyTooltipContent.mjs} +8 -9
  96. package/dist/esm/components/LegacyTooltip/LegacyTooltipContent.mjs.map +1 -0
  97. package/dist/esm/components/{Tooltip → LegacyTooltip}/utils.mjs +33 -33
  98. package/dist/esm/components/LegacyTooltip/utils.mjs.map +1 -0
  99. package/dist/esm/components/ListItem/ListItem.styled.mjs +1 -1
  100. package/dist/esm/components/ListMenuTitle/ListMenuTitle.mjs +12 -11
  101. package/dist/esm/components/ListMenuTitle/ListMenuTitle.mjs.map +1 -1
  102. package/dist/esm/components/Modals/Modal/Modal.types.mjs.map +1 -1
  103. package/dist/esm/components/Navigator/NavGroup/NavGroup.mjs +11 -12
  104. package/dist/esm/components/Navigator/NavGroup/NavGroup.mjs.map +1 -1
  105. package/dist/esm/components/Navigator/NavItem/NavItem.mjs +11 -11
  106. package/dist/esm/components/Navigator/NavItem/NavItem.mjs.map +1 -1
  107. package/dist/esm/components/Overlay/Overlay.mjs +2 -2
  108. package/dist/esm/components/Overlay/Overlay.mjs.map +1 -1
  109. package/dist/esm/components/SectionLabel/SectionLabel.mjs +11 -17
  110. package/dist/esm/components/SectionLabel/SectionLabel.mjs.map +1 -1
  111. package/dist/esm/components/SectionLabel/SectionLabel.styled.mjs +4 -4
  112. package/dist/esm/components/SectionLabel/SectionLabel.styled.mjs.map +1 -1
  113. package/dist/esm/components/Spinner/Spinner.mjs +11 -8
  114. package/dist/esm/components/Spinner/Spinner.mjs.map +1 -1
  115. package/dist/esm/components/Spinner/Spinner.styled.mjs +1 -1
  116. package/dist/esm/components/Spinner/Spinner.types.mjs.map +1 -1
  117. package/dist/esm/components/Stack/Stack/Stack.styled.mjs +1 -1
  118. package/dist/esm/components/Status/Status.styled.mjs +1 -1
  119. package/dist/esm/components/TagBadge/Badge/Badge.mjs +10 -9
  120. package/dist/esm/components/TagBadge/Badge/Badge.mjs.map +1 -1
  121. package/dist/esm/components/TagBadge/Tag/Tag.mjs +5 -4
  122. package/dist/esm/components/TagBadge/Tag/Tag.mjs.map +1 -1
  123. package/dist/esm/components/Text/Text.styled.mjs +1 -1
  124. package/dist/esm/components/Toast/Toast.types.mjs +2 -1
  125. package/dist/esm/components/Toast/Toast.types.mjs.map +1 -1
  126. package/dist/esm/components/Toast/ToastElement.mjs +5 -6
  127. package/dist/esm/components/Toast/ToastElement.mjs.map +1 -1
  128. package/dist/esm/components/Toast/ToastProvider.mjs +2 -2
  129. package/dist/esm/components/Toast/ToastProvider.mjs.map +1 -1
  130. package/dist/esm/components/Toast/utils.mjs +6 -5
  131. package/dist/esm/components/Toast/utils.mjs.map +1 -1
  132. package/dist/esm/components/Tooltip/Tooltip.mjs +213 -82
  133. package/dist/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  134. package/dist/esm/components/Tooltip/Tooltip.styled.mjs +93 -23
  135. package/dist/esm/components/Tooltip/Tooltip.styled.mjs.map +1 -1
  136. package/dist/esm/components/Tooltip/Tooltip.types.mjs +3 -0
  137. package/dist/esm/components/Tooltip/Tooltip.types.mjs.map +1 -1
  138. package/dist/esm/foundation/FoundationStyledComponent.mjs +16 -1
  139. package/dist/esm/foundation/FoundationStyledComponent.mjs.map +1 -1
  140. package/dist/esm/index.mjs +7 -5
  141. package/dist/esm/index.mjs.map +1 -1
  142. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +875 -0
  143. package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs.map +1 -0
  144. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +679 -0
  145. package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs.map +1 -0
  146. package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.mjs +265 -0
  147. package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.mjs.map +1 -0
  148. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs +257 -0
  149. package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.mjs.map +1 -0
  150. package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.mjs +2 -2
  151. package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.mjs +1 -1
  152. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs +509 -0
  153. package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +1 -0
  154. package/dist/esm/providers/BezierProvider.mjs +3 -2
  155. package/dist/esm/providers/BezierProvider.mjs.map +1 -1
  156. package/dist/types/components/Forms/Slider/Slider.d.ts +18 -2
  157. package/dist/types/components/Forms/Slider/Slider.d.ts.map +1 -1
  158. package/dist/types/components/Forms/Slider/Slider.styled.d.ts +14 -24
  159. package/dist/types/components/Forms/Slider/Slider.styled.d.ts.map +1 -1
  160. package/dist/types/components/Forms/Slider/Slider.types.d.ts +52 -13
  161. package/dist/types/components/Forms/Slider/Slider.types.d.ts.map +1 -1
  162. package/dist/types/components/Help/Help.d.ts +1 -4
  163. package/dist/types/components/Help/Help.d.ts.map +1 -1
  164. package/dist/types/components/Help/Help.styled.d.ts +1 -1
  165. package/dist/types/components/Help/Help.styled.d.ts.map +1 -1
  166. package/dist/types/components/Help/Help.types.d.ts +1 -1
  167. package/dist/types/components/Help/Help.types.d.ts.map +1 -1
  168. package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.d.ts.map +1 -1
  169. package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.styled.d.ts +1 -7
  170. package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.styled.d.ts.map +1 -1
  171. package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.types.d.ts +3 -3
  172. package/dist/types/components/KeyValueListItem/common/ItemActions/ItemAction.types.d.ts.map +1 -1
  173. package/dist/types/components/KeyValueListItem/common/KeyItem/KeyItem.types.d.ts +2 -2
  174. package/dist/types/components/KeyValueListItem/common/KeyItem/KeyItem.types.d.ts.map +1 -1
  175. package/dist/types/components/LegacyTooltip/LegacyTooltip.d.ts +6 -0
  176. package/dist/types/components/LegacyTooltip/LegacyTooltip.d.ts.map +1 -0
  177. package/dist/types/components/LegacyTooltip/LegacyTooltip.styled.d.ts +18 -0
  178. package/dist/types/components/LegacyTooltip/LegacyTooltip.styled.d.ts.map +1 -0
  179. package/dist/types/components/LegacyTooltip/LegacyTooltip.types.d.ts +40 -0
  180. package/dist/types/components/LegacyTooltip/LegacyTooltip.types.d.ts.map +1 -0
  181. package/dist/types/components/LegacyTooltip/LegacyTooltipContent.d.ts +4 -0
  182. package/dist/types/components/LegacyTooltip/LegacyTooltipContent.d.ts.map +1 -0
  183. package/dist/types/components/LegacyTooltip/index.d.ts +4 -0
  184. package/dist/types/components/LegacyTooltip/index.d.ts.map +1 -0
  185. package/dist/types/components/{Tooltip → LegacyTooltip}/utils.d.ts +2 -2
  186. package/dist/types/components/LegacyTooltip/utils.d.ts.map +1 -0
  187. package/dist/types/components/ListMenuTitle/ListMenuTitle.d.ts +1 -1
  188. package/dist/types/components/ListMenuTitle/ListMenuTitle.d.ts.map +1 -1
  189. package/dist/types/components/ListMenuTitle/ListMenuTitle.types.d.ts +1 -2
  190. package/dist/types/components/ListMenuTitle/ListMenuTitle.types.d.ts.map +1 -1
  191. package/dist/types/components/Modals/Modal/Modal.types.d.ts +2 -2
  192. package/dist/types/components/Modals/Modal/Modal.types.d.ts.map +1 -1
  193. package/dist/types/components/Navigator/NavGroup/NavGroup.d.ts +1 -2
  194. package/dist/types/components/Navigator/NavGroup/NavGroup.d.ts.map +1 -1
  195. package/dist/types/components/Navigator/NavGroup/NavGroup.types.d.ts +3 -3
  196. package/dist/types/components/Navigator/NavGroup/NavGroup.types.d.ts.map +1 -1
  197. package/dist/types/components/Navigator/NavItem/NavItem.d.ts +1 -2
  198. package/dist/types/components/Navigator/NavItem/NavItem.d.ts.map +1 -1
  199. package/dist/types/components/Navigator/NavItem/NavItem.types.d.ts +3 -3
  200. package/dist/types/components/Navigator/NavItem/NavItem.types.d.ts.map +1 -1
  201. package/dist/types/components/SectionLabel/SectionLabel.d.ts +1 -2
  202. package/dist/types/components/SectionLabel/SectionLabel.d.ts.map +1 -1
  203. package/dist/types/components/SectionLabel/SectionLabel.styled.d.ts +1 -1
  204. package/dist/types/components/SectionLabel/SectionLabel.styled.d.ts.map +1 -1
  205. package/dist/types/components/SectionLabel/SectionLabel.types.d.ts +2 -7
  206. package/dist/types/components/SectionLabel/SectionLabel.types.d.ts.map +1 -1
  207. package/dist/types/components/Spinner/Spinner.d.ts +1 -1
  208. package/dist/types/components/Spinner/Spinner.d.ts.map +1 -1
  209. package/dist/types/components/Spinner/Spinner.types.d.ts +2 -1
  210. package/dist/types/components/Spinner/Spinner.types.d.ts.map +1 -1
  211. package/dist/types/components/TagBadge/Badge/Badge.d.ts +1 -1
  212. package/dist/types/components/TagBadge/Badge/Badge.d.ts.map +1 -1
  213. package/dist/types/components/TagBadge/Badge/Badge.types.d.ts +2 -2
  214. package/dist/types/components/TagBadge/Badge/Badge.types.d.ts.map +1 -1
  215. package/dist/types/components/TagBadge/Tag/Tag.d.ts +1 -1
  216. package/dist/types/components/TagBadge/Tag/Tag.d.ts.map +1 -1
  217. package/dist/types/components/Toast/Toast.types.d.ts +4 -4
  218. package/dist/types/components/Toast/Toast.types.d.ts.map +1 -1
  219. package/dist/types/components/Toast/ToastElement.d.ts.map +1 -1
  220. package/dist/types/components/Toast/utils.d.ts.map +1 -1
  221. package/dist/types/components/Tooltip/Tooltip.d.ts +31 -5
  222. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  223. package/dist/types/components/Tooltip/Tooltip.styled.d.ts +22 -12
  224. package/dist/types/components/Tooltip/Tooltip.styled.d.ts.map +1 -1
  225. package/dist/types/components/Tooltip/Tooltip.types.d.ts +105 -24
  226. package/dist/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  227. package/dist/types/components/Tooltip/index.d.ts +3 -5
  228. package/dist/types/components/Tooltip/index.d.ts.map +1 -1
  229. package/dist/types/components/VisuallyHidden/VisuallyHidden.types.d.ts +2 -1
  230. package/dist/types/components/VisuallyHidden/VisuallyHidden.types.d.ts.map +1 -1
  231. package/dist/types/foundation/FoundationStyledComponent.d.ts.map +1 -1
  232. package/dist/types/index.d.ts +1 -0
  233. package/dist/types/index.d.ts.map +1 -1
  234. package/dist/types/providers/BezierProvider.d.ts.map +1 -1
  235. package/package.json +3 -2
  236. package/src/components/Avatars/AvatarGroup/__snapshots__/AvatarGroup.test.tsx.snap +17 -17
  237. package/src/components/Button/__snapshots__/Button.test.tsx.snap +15 -15
  238. package/src/components/Forms/FormControl/__snapshots__/FormControl.test.tsx.snap +119 -119
  239. package/src/components/Forms/Slider/Slider.stories.tsx +10 -63
  240. package/src/components/Forms/Slider/Slider.styled.ts +46 -95
  241. package/src/components/Forms/Slider/Slider.test.tsx +130 -97
  242. package/src/components/Forms/Slider/Slider.tsx +117 -96
  243. package/src/components/Forms/Slider/Slider.types.ts +55 -17
  244. package/src/components/Forms/Slider/__snapshots__/Slider.test.tsx.snap +156 -0
  245. package/src/components/Help/Help.styled.ts +4 -7
  246. package/src/components/Help/Help.tsx +19 -12
  247. package/src/components/Help/Help.types.ts +1 -1
  248. package/src/components/KeyValueListItem/KeyValueListItem.test.tsx +10 -6
  249. package/src/components/KeyValueListItem/__snapshots__/KeyValueListItem.test.tsx.snap +13 -13
  250. package/src/components/KeyValueListItem/common/ItemActions/ItemAction.styled.ts +5 -15
  251. package/src/components/KeyValueListItem/common/ItemActions/ItemAction.tsx +6 -13
  252. package/src/components/KeyValueListItem/common/ItemActions/ItemAction.types.ts +3 -6
  253. package/src/components/KeyValueListItem/common/KeyItem/KeyItem.types.ts +2 -5
  254. package/src/components/LegacyTooltip/LegacyTooltip.stories.tsx +105 -0
  255. package/src/components/LegacyTooltip/LegacyTooltip.styled.ts +46 -0
  256. package/src/components/LegacyTooltip/LegacyTooltip.test.tsx +100 -0
  257. package/src/components/LegacyTooltip/LegacyTooltip.tsx +152 -0
  258. package/src/components/LegacyTooltip/LegacyTooltip.types.ts +69 -0
  259. package/src/components/{Tooltip/TooltipContent.test.tsx → LegacyTooltip/LegacyTooltipContent.test.tsx} +9 -8
  260. package/src/components/{Tooltip/TooltipContent.tsx → LegacyTooltip/LegacyTooltipContent.tsx} +6 -7
  261. package/src/components/LegacyTooltip/index.ts +5 -0
  262. package/src/components/{Tooltip → LegacyTooltip}/utils.ts +35 -35
  263. package/src/components/ListMenuTitle/ListMenuTitle.tsx +10 -6
  264. package/src/components/ListMenuTitle/ListMenuTitle.types.ts +1 -1
  265. package/src/components/Modals/Modal/Modal.types.ts +2 -2
  266. package/src/components/Navigator/NavGroup/NavGroup.stories.tsx +5 -2
  267. package/src/components/Navigator/NavGroup/NavGroup.test.tsx +1 -1
  268. package/src/components/Navigator/NavGroup/NavGroup.tsx +13 -16
  269. package/src/components/Navigator/NavGroup/NavGroup.types.ts +3 -2
  270. package/src/components/Navigator/NavItem/NavItem.test.tsx +3 -1
  271. package/src/components/Navigator/NavItem/NavItem.tsx +13 -12
  272. package/src/components/Navigator/NavItem/NavItem.types.ts +3 -2
  273. package/src/components/SectionLabel/SectionLabel.stories.tsx +1 -1
  274. package/src/components/SectionLabel/SectionLabel.styled.ts +2 -4
  275. package/src/components/SectionLabel/SectionLabel.test.tsx +5 -25
  276. package/src/components/SectionLabel/SectionLabel.tsx +11 -17
  277. package/src/components/SectionLabel/SectionLabel.types.ts +2 -8
  278. package/src/components/Spinner/Spinner.tsx +7 -4
  279. package/src/components/Spinner/Spinner.types.ts +2 -1
  280. package/src/components/TagBadge/Badge/Badge.stories.tsx +2 -1
  281. package/src/components/TagBadge/Badge/Badge.tsx +15 -10
  282. package/src/components/TagBadge/Badge/Badge.types.ts +2 -2
  283. package/src/components/TagBadge/Tag/Tag.tsx +9 -4
  284. package/src/components/TagBadge/TagBadge.mdx +1 -1
  285. package/src/components/TagBadge/TagBadge.stories.tsx +48 -33
  286. package/src/components/Toast/Toast.stories.tsx +9 -8
  287. package/src/components/Toast/Toast.types.ts +8 -5
  288. package/src/components/Toast/ToastElement.tsx +4 -5
  289. package/src/components/Toast/ToastProvider.tsx +2 -2
  290. package/src/components/Toast/ToastService.test.ts +3 -1
  291. package/src/components/Toast/useToastContextValues.test.tsx +5 -4
  292. package/src/components/Toast/utils.ts +13 -5
  293. package/src/components/Tooltip/Tooltip.stories.tsx +28 -67
  294. package/src/components/Tooltip/Tooltip.styled.ts +109 -19
  295. package/src/components/Tooltip/Tooltip.test.tsx +136 -63
  296. package/src/components/Tooltip/Tooltip.tsx +262 -120
  297. package/src/components/Tooltip/Tooltip.types.ts +111 -47
  298. package/src/components/Tooltip/index.ts +8 -8
  299. package/src/components/VisuallyHidden/VisuallyHidden.types.ts +1 -1
  300. package/src/foundation/FoundationStyledComponent.tsx +17 -1
  301. package/src/index.ts +1 -0
  302. package/src/providers/BezierProvider.tsx +10 -6
  303. package/dist/cjs/components/Tooltip/TooltipContent.js.map +0 -1
  304. package/dist/cjs/components/Tooltip/utils.js.map +0 -1
  305. package/dist/esm/components/Tooltip/TooltipContent.mjs.map +0 -1
  306. package/dist/esm/components/Tooltip/utils.mjs.map +0 -1
  307. package/dist/types/components/Tooltip/TooltipContent.d.ts +0 -5
  308. package/dist/types/components/Tooltip/TooltipContent.d.ts.map +0 -1
  309. package/dist/types/components/Tooltip/utils.d.ts.map +0 -1
  310. /package/src/components/{Tooltip/__snapshots__/Tooltip.test.tsx.snap → LegacyTooltip/__snapshots__/LegacyTooltip.test.tsx.snap} +0 -0
@@ -1,58 +1,15 @@
1
- import { type Ref } from 'react'
1
+ import { type BezierIcon } from '@channel.io/bezier-icons'
2
2
 
3
3
  import {
4
- type AdditionalStylableProps,
5
4
  type BezierComponentProps,
6
5
  type ChildrenProps,
7
6
  type ContentProps,
8
7
  type DisableProps,
9
- type RenderConfigProps,
10
8
  } from '~/src/types/ComponentProps'
11
9
 
12
- interface TooltipOptions {
13
- placement?: TooltipPosition
14
- offset?: number
15
- keepInContainer?: boolean
16
- allowHover?: boolean
17
- delayShow?: number
18
- delayHide?: number
19
- contentTestId?: string
20
- lazy?: boolean
21
- }
22
-
23
- export default interface TooltipProps extends
24
- BezierComponentProps,
25
- ChildrenProps,
26
- ContentProps,
27
- DisableProps,
28
- AdditionalStylableProps<'content' | 'contentWrapper'>,
29
- Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps>,
30
- TooltipOptions {
31
- }
32
-
33
- export interface TooltipContentProps extends Pick<
34
- TooltipOptions,
35
- 'keepInContainer' |
36
- 'placement' |
37
- 'offset' |
38
- 'allowHover'
39
- >,
40
- RenderConfigProps,
41
- ContentProps,
42
- AdditionalStylableProps<'content' | 'contentWrapper'>,
43
- DisableProps {
44
- tooltipContainer: HTMLDivElement | null
45
- forwardedRef: Ref<HTMLDivElement>
46
- }
47
-
48
- export interface GetTooltipStyle extends Required<Pick<TooltipOptions, 'placement' | 'offset' | 'allowHover'>> {
49
- tooltipContainer: HTMLDivElement
50
- }
51
-
52
- export interface GetReplacement extends Required<Pick<TooltipOptions, 'placement' | 'keepInContainer'>> {
53
- tooltip: HTMLDivElement
54
- }
55
-
10
+ /**
11
+ * An enumeration that determines the position of `Tooltip`.
12
+ */
56
13
  export enum TooltipPosition {
57
14
  TopCenter = 'topCenter',
58
15
  TopLeft = 'topLeft',
@@ -67,3 +24,110 @@ export enum TooltipPosition {
67
24
  LeftTop = 'leftTop',
68
25
  LeftBottom = 'leftBottom',
69
26
  }
27
+
28
+ interface TooltipProviderOptions {
29
+ /**
30
+ * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.
31
+ * @default false
32
+ */
33
+ allowHover?: boolean
34
+ /**
35
+ * The delay from when the mouse enters a tooltip trigger until the tooltip opens.
36
+ * @default 0
37
+ */
38
+ delayShow?: number
39
+ /**
40
+ * The delay from when the mouse leaves a tooltip content until the tooltip hides.
41
+ * @default 0
42
+ */
43
+ delayHide?: number
44
+ /**
45
+ * How much time a user has to enter another trigger without incurring a delay again.
46
+ * @default 0
47
+ */
48
+ skipDelayShow?: number
49
+ }
50
+
51
+ interface TooltipOptions {
52
+ /**
53
+ * The open state of the tooltip when it is initially rendered.
54
+ */
55
+ defaultShow?: boolean
56
+ /**
57
+ * An element that sits below the tooltip content.
58
+ */
59
+ description?: React.ReactNode
60
+ /**
61
+ * A decorative icon that sits right of the tooltip content.
62
+ */
63
+ icon?: BezierIcon
64
+ /**
65
+ * Options to determine the location from the trigger.
66
+ * @default TooltipPosition.BottomCenter
67
+ */
68
+ placement?: TooltipPosition
69
+ /**
70
+ * The distance in pixels from the trigger.
71
+ * @default 4
72
+ */
73
+ offset?: number
74
+ /**
75
+ * Specify a container element to portal the content into.
76
+ * @default document.body
77
+ */
78
+ container?: HTMLElement | null
79
+ /**
80
+ * When `true`, overrides the `position` of the tooltip
81
+ * to prevent collisions with boundary edges.
82
+ * @default true
83
+ */
84
+ keepInContainer?: boolean
85
+ /**
86
+ * Keeps the content of the tooltip open on hover. Disabling this feature affects accessibility.
87
+ * Inherits from the nearest `TooltipProvider`.
88
+ * @default false
89
+ */
90
+ allowHover?: boolean
91
+ /**
92
+ * The delay from when the mouse enters a tooltip trigger until the tooltip opens.
93
+ * Inherits from the nearest `TooltipProvider`.
94
+ * @default 0
95
+ */
96
+ delayShow?: number
97
+ /**
98
+ * The delay from when the mouse leaves a tooltip content until the tooltip hides.
99
+ * Inherits from the nearest `TooltipProvider`.
100
+ * @default 0
101
+ */
102
+ delayHide?: number
103
+ /**
104
+ * Callback function to be called when the tooltip is opened.
105
+ */
106
+ onShow?: () => void
107
+ /**
108
+ * Callback function to be called when the tooltip is closed.
109
+ */
110
+ onHide?: () => void
111
+ /**
112
+ * Event handler called when the escape key is down.
113
+ * It can be prevented by calling `event.preventDefault`.
114
+ */
115
+ onEscapeKeyDown?: (event: KeyboardEvent) => void
116
+ /**
117
+ * Event handler called when a pointer event occurs outside the bounds of the component.
118
+ * It can be prevented by calling `event.preventDefault`.
119
+ */
120
+ onPointerDownOutside?: (event: CustomEvent<{ originalEvent: PointerEvent }>) => void
121
+ }
122
+
123
+ export interface TooltipProviderProps extends
124
+ ChildrenProps,
125
+ TooltipProviderOptions {}
126
+
127
+ export interface TooltipProps extends
128
+ BezierComponentProps,
129
+ ChildrenProps<React.ReactElement>,
130
+ ContentProps,
131
+ DisableProps,
132
+ Omit<React.HTMLAttributes<HTMLDivElement>, keyof ContentProps | keyof ChildrenProps>,
133
+ TooltipOptions {}
@@ -1,12 +1,12 @@
1
- import Tooltip from './Tooltip'
2
- import { TooltipPosition } from './Tooltip.types'
3
- import type TooltipProps from './Tooltip.types'
1
+ export {
2
+ Tooltip,
3
+ TooltipProvider,
4
+ } from './Tooltip'
5
+
6
+ export { TooltipPosition } from './Tooltip.types'
4
7
 
5
8
  export type {
6
9
  TooltipProps,
7
- }
10
+ TooltipProviderProps,
11
+ } from './Tooltip.types'
8
12
 
9
- export {
10
- Tooltip,
11
- TooltipPosition,
12
- }
@@ -1,4 +1,4 @@
1
1
  import { type ChildrenProps } from '~/src/types/ComponentProps'
2
2
 
3
3
  export interface VisuallyHiddenProps extends
4
- ChildrenProps {}
4
+ ChildrenProps<React.ReactElement> {}
@@ -26,6 +26,7 @@ import styled, {
26
26
  type StyledComponentInnerAttrs,
27
27
  type StyledComponentInnerComponent,
28
28
  type StyledComponentInnerOtherProps,
29
+ type StyledInterface,
29
30
  type ThemedStyledFunction,
30
31
  type ThemedStyledProps,
31
32
  css as baseCSS,
@@ -36,6 +37,21 @@ import styled, {
36
37
  import { type Foundation } from './Foundation'
37
38
  import domElements from './utils/domElements'
38
39
 
40
+ /**
41
+ * When interpreting the `.mjs` extension in the Next.js environment,
42
+ * default imported `styled` function are not interpreted correctly.
43
+ *
44
+ * We add `.default` to cover situation where the module is interpreted in CJS.
45
+ *
46
+ * This is code that can be removed when the major version of `styled-components` is updated (v6)
47
+ * and `styled` functions are changed to named import.
48
+ *
49
+ * @see https://github.com/rollup/rollup/issues/4438
50
+ * @see https://github.com/styled-components/styled-components/issues/115
51
+ */
52
+ // @ts-expect-error
53
+ const safetyStyledInNextJs = (styled.default ?? styled) as StyledInterface
54
+
39
55
  const FoundationContext = createContext<Foundation | null>(null)
40
56
 
41
57
  interface FoundationProviderProps {
@@ -105,7 +121,7 @@ function templateFunctionGenerator(BaseComponentGenerator: ThemedStyledFunction<
105
121
 
106
122
  /* eslint-disable-next-line func-names */ /* @ts-ignore */
107
123
  const FoundationStyled: FoundationStyledInterface = (tag) => {
108
- const tagTemplate = styled(tag)
124
+ const tagTemplate = safetyStyledInNextJs(tag)
109
125
  return templateFunctionGenerator(tagTemplate)
110
126
  };
111
127
 
package/src/index.ts CHANGED
@@ -56,6 +56,7 @@ export * from '~/src/components/AlphaSmoothCornersBox'
56
56
 
57
57
  export * from '~/src/components/LegacyIcon'
58
58
  export * from '~/src/components/LegacyRadio'
59
+ export * from '~/src/components/LegacyTooltip'
59
60
  export * from '~/src/components/LegacySegmentedControl'
60
61
 
61
62
  /* Hooks for Component */
@@ -9,6 +9,8 @@ import {
9
9
  type ThemeVarsAdditionalType,
10
10
  } from '~/src/foundation'
11
11
 
12
+ import { TooltipProvider } from '~/src/components/Tooltip'
13
+
12
14
  interface BezierProviderProps {
13
15
  foundation: Foundation & GlobalStyleProp
14
16
  children: React.ReactNode
@@ -22,12 +24,14 @@ function BezierProvider({
22
24
  }: BezierProviderProps) {
23
25
  return (
24
26
  <FoundationProvider foundation={foundation}>
25
- <GlobalStyle foundation={foundation} />
26
- <ThemeVars
27
- foundation={foundation}
28
- scope={themeVarsScope}
29
- />
30
- { children }
27
+ <TooltipProvider>
28
+ <GlobalStyle foundation={foundation} />
29
+ <ThemeVars
30
+ foundation={foundation}
31
+ scope={themeVarsScope}
32
+ />
33
+ { children }
34
+ </TooltipProvider>
31
35
  </FoundationProvider>
32
36
  )
33
37
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"TooltipContent.js","sources":["../../../../src/components/Tooltip/TooltipContent.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport { Typography } from '~/src/foundation'\n\nimport useEventHandler from '~/src/hooks/useEventHandler'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { getRootElement } from '~/src/utils/domUtils'\nimport {\n isArray,\n isEmpty,\n isString,\n} from '~/src/utils/typeUtils'\n\nimport { Text } from '~/src/components/Text'\n\nimport {\n type TooltipContentProps,\n TooltipPosition,\n} from './Tooltip.types'\nimport {\n getReplacement,\n getTooltipStyle,\n} from './utils'\n\nimport {\n Content,\n ContentWrapper,\n EllipsisableContent,\n} from './Tooltip.styled'\n\nfunction getNewLineComponent(strContent: string) {\n return (\n strContent.split('\\n').map((str, index) => {\n if (index === 0) {\n return (\n <Text key={str} typo={Typography.Size14}>\n { str }\n </Text>\n )\n }\n\n return (\n <React.Fragment key={str}>\n <br />\n <Text typo={Typography.Size14}>\n { str }\n </Text>\n </React.Fragment>\n )\n })\n )\n}\n\nfunction getContentComponent(content?: React.ReactNode) {\n if (isArray(content)) {\n return content.map(item => {\n if (isString(item)) {\n return getNewLineComponent(item)\n }\n\n return item\n })\n }\n\n if (isString(content)) {\n return getNewLineComponent(content)\n }\n\n return content\n}\n\nconst TooltipContent: React.FC<TooltipContentProps> = ({\n as,\n content,\n contentClassName,\n contentInterpolation,\n contentWrapperStyle: givenContentWrapperStyle,\n disabled = false,\n keepInContainer = false,\n placement = TooltipPosition.BottomCenter,\n tooltipContainer,\n offset = 4,\n allowHover = false,\n testId,\n forwardedRef,\n}) => {\n const tooltipRef = useRef<HTMLDivElement>(null)\n const tooltipWrapperRef = useRef<HTMLDivElement>(null)\n const mergedRef = useMergeRefs<HTMLDivElement>(tooltipRef, forwardedRef)\n const [replacement, setReplacement] = useState(placement)\n\n const handleClickTooltip = useCallback((event: HTMLElementEventMap['click']) => {\n event.stopPropagation()\n }, [])\n\n useEventHandler(tooltipRef.current, 'click', handleClickTooltip)\n\n useEffect(() => {\n if (!tooltipRef.current) { return }\n const newPlacement = getReplacement({\n tooltip: tooltipRef.current,\n keepInContainer,\n placement,\n })\n setReplacement(newPlacement)\n }, [\n keepInContainer,\n placement,\n ])\n\n const ContentComponent = useMemo(() => getContentComponent(content), [content])\n\n const contentWrapperStyle = useMemo(() => {\n if (tooltipContainer) {\n return {\n ...givenContentWrapperStyle,\n ...getTooltipStyle({\n tooltipContainer,\n placement: replacement,\n offset,\n allowHover,\n }),\n }\n }\n\n return {}\n }, [\n tooltipContainer,\n givenContentWrapperStyle,\n replacement,\n offset,\n allowHover,\n ])\n\n return (\n ReactDOM.createPortal(\n <ContentWrapper\n ref={tooltipWrapperRef}\n disabled={disabled || isEmpty(content)}\n style={contentWrapperStyle}\n >\n <Content\n as={as}\n data-testid={testId}\n className={contentClassName}\n interpolation={contentInterpolation}\n ref={mergedRef}\n >\n <EllipsisableContent>\n { ContentComponent }\n </EllipsisableContent>\n </Content>\n </ContentWrapper>,\n getRootElement(),\n )\n )\n}\n\nexport default TooltipContent\n"],"names":["getNewLineComponent","strContent","split","map","str","index","React","createElement","Text","key","typo","Typography","Size14","Fragment","getContentComponent","content","isArray","item","isString","TooltipContent","as","contentClassName","contentInterpolation","contentWrapperStyle","givenContentWrapperStyle","disabled","keepInContainer","placement","TooltipPosition","BottomCenter","tooltipContainer","offset","allowHover","testId","forwardedRef","tooltipRef","useRef","tooltipWrapperRef","mergedRef","useMergeRefs","replacement","setReplacement","useState","handleClickTooltip","useCallback","event","stopPropagation","useEventHandler","current","useEffect","newPlacement","getReplacement","tooltip","ContentComponent","useMemo","getTooltipStyle","ReactDOM","createPortal","ContentWrapper","ref","isEmpty","style","Content","className","interpolation","EllipsisableContent","getRootElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/components/Tooltip/utils.ts"],"sourcesContent":["import { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n type GetReplacement,\n type GetTooltipStyle,\n TooltipPosition,\n} from './Tooltip.types'\n\nexport function getReplacement({\n tooltip,\n keepInContainer,\n placement,\n}: GetReplacement): TooltipPosition {\n if (!keepInContainer) {\n return placement\n }\n\n const {\n width: tooltipWidth,\n height: tooltipHeight,\n top: tooltipTop,\n left: tooltipLeft,\n } = tooltip.getBoundingClientRect()\n\n const {\n width: rootWidth,\n height: rootHeight,\n top: rootTop,\n left: rootLeft,\n } = getRootElement().getBoundingClientRect()\n\n const isOverTop = tooltipTop < rootTop\n const isOverBottom = tooltipTop + tooltipHeight > rootTop + rootHeight\n const isOverLeft = tooltipLeft < rootLeft\n const isOverRight = tooltipLeft + tooltipWidth > rootLeft + rootWidth\n\n if (isOverTop) {\n if (isOverLeft) {\n return TooltipPosition.BottomLeft\n }\n if (isOverRight) {\n return TooltipPosition.BottomRight\n }\n return TooltipPosition.BottomCenter\n }\n\n if (isOverBottom) {\n if (isOverLeft) {\n return TooltipPosition.TopLeft\n }\n if (isOverRight) {\n return TooltipPosition.TopRight\n }\n return TooltipPosition.TopCenter\n }\n\n if (isOverLeft) {\n if (isOverTop) {\n return TooltipPosition.RightTop\n }\n if (isOverBottom) {\n return TooltipPosition.RightBottom\n }\n return TooltipPosition.RightCenter\n }\n\n if (isOverRight) {\n if (isOverTop) {\n return TooltipPosition.LeftTop\n }\n if (isOverBottom) {\n return TooltipPosition.LeftBottom\n }\n return TooltipPosition.LeftCenter\n }\n\n return placement\n}\n\nexport function getTooltipStyle({\n tooltipContainer,\n placement,\n offset,\n allowHover,\n}: GetTooltipStyle) {\n const {\n top: containerTop,\n left: containerLeft,\n width: containerWidth,\n height: containerHeight,\n } = tooltipContainer.getBoundingClientRect()\n\n let top = containerTop\n let left = containerLeft\n let translateX = 0\n let translateY = 0\n\n let offsetTop = 0\n let offsetRight = 0\n let offsetBottom = 0\n let offsetLeft = 0\n let offsetStyle = {}\n\n switch (placement) {\n case TooltipPosition.TopCenter:\n case TooltipPosition.TopLeft:\n case TooltipPosition.TopRight:\n translateY = -100\n offsetBottom = offset\n break\n case TooltipPosition.RightCenter:\n case TooltipPosition.RightTop:\n case TooltipPosition.RightBottom:\n left += containerWidth\n offsetLeft = offset\n break\n case TooltipPosition.BottomCenter:\n case TooltipPosition.BottomLeft:\n case TooltipPosition.BottomRight:\n top += containerHeight\n offsetTop = offset\n break\n case TooltipPosition.LeftCenter:\n case TooltipPosition.LeftTop:\n case TooltipPosition.LeftBottom:\n translateX = -100\n offsetRight = offset\n break\n }\n\n switch (placement) {\n case TooltipPosition.TopCenter:\n case TooltipPosition.BottomCenter:\n translateX = -50\n left += (containerWidth / 2)\n break\n case TooltipPosition.TopRight:\n case TooltipPosition.BottomRight:\n translateX = -100\n left += containerWidth\n break\n case TooltipPosition.RightCenter:\n case TooltipPosition.LeftCenter:\n translateY = -50\n top += (containerHeight / 2)\n break\n case TooltipPosition.RightBottom:\n case TooltipPosition.LeftBottom:\n translateY = -100\n top += containerHeight\n break\n }\n\n if (allowHover) {\n offsetStyle = {\n paddingTop: offsetTop,\n paddingRight: offsetRight,\n paddingBottom: offsetBottom,\n paddingLeft: offsetLeft,\n }\n } else {\n top += (offsetTop - offsetBottom)\n left += (offsetLeft - offsetRight)\n }\n\n return {\n position: 'fixed',\n top,\n left,\n transform: `translate(${translateX}%, ${translateY}%)`,\n ...offsetStyle,\n }\n}\n"],"names":["getReplacement","tooltip","keepInContainer","placement","width","tooltipWidth","height","tooltipHeight","top","tooltipTop","left","tooltipLeft","getBoundingClientRect","rootWidth","rootHeight","rootTop","rootLeft","getRootElement","isOverTop","isOverBottom","isOverLeft","isOverRight","TooltipPosition","BottomLeft","BottomRight","BottomCenter","TopLeft","TopRight","TopCenter","RightTop","RightBottom","RightCenter","LeftTop","LeftBottom","LeftCenter","getTooltipStyle","tooltipContainer","offset","allowHover","containerTop","containerLeft","containerWidth","containerHeight","translateX","translateY","offsetTop","offsetRight","offsetBottom","offsetLeft","offsetStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","position","transform"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TooltipContent.mjs","sources":["../../../../src/components/Tooltip/TooltipContent.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport ReactDOM from 'react-dom'\n\nimport { Typography } from '~/src/foundation'\n\nimport useEventHandler from '~/src/hooks/useEventHandler'\nimport useMergeRefs from '~/src/hooks/useMergeRefs'\nimport { getRootElement } from '~/src/utils/domUtils'\nimport {\n isArray,\n isEmpty,\n isString,\n} from '~/src/utils/typeUtils'\n\nimport { Text } from '~/src/components/Text'\n\nimport {\n type TooltipContentProps,\n TooltipPosition,\n} from './Tooltip.types'\nimport {\n getReplacement,\n getTooltipStyle,\n} from './utils'\n\nimport {\n Content,\n ContentWrapper,\n EllipsisableContent,\n} from './Tooltip.styled'\n\nfunction getNewLineComponent(strContent: string) {\n return (\n strContent.split('\\n').map((str, index) => {\n if (index === 0) {\n return (\n <Text key={str} typo={Typography.Size14}>\n { str }\n </Text>\n )\n }\n\n return (\n <React.Fragment key={str}>\n <br />\n <Text typo={Typography.Size14}>\n { str }\n </Text>\n </React.Fragment>\n )\n })\n )\n}\n\nfunction getContentComponent(content?: React.ReactNode) {\n if (isArray(content)) {\n return content.map(item => {\n if (isString(item)) {\n return getNewLineComponent(item)\n }\n\n return item\n })\n }\n\n if (isString(content)) {\n return getNewLineComponent(content)\n }\n\n return content\n}\n\nconst TooltipContent: React.FC<TooltipContentProps> = ({\n as,\n content,\n contentClassName,\n contentInterpolation,\n contentWrapperStyle: givenContentWrapperStyle,\n disabled = false,\n keepInContainer = false,\n placement = TooltipPosition.BottomCenter,\n tooltipContainer,\n offset = 4,\n allowHover = false,\n testId,\n forwardedRef,\n}) => {\n const tooltipRef = useRef<HTMLDivElement>(null)\n const tooltipWrapperRef = useRef<HTMLDivElement>(null)\n const mergedRef = useMergeRefs<HTMLDivElement>(tooltipRef, forwardedRef)\n const [replacement, setReplacement] = useState(placement)\n\n const handleClickTooltip = useCallback((event: HTMLElementEventMap['click']) => {\n event.stopPropagation()\n }, [])\n\n useEventHandler(tooltipRef.current, 'click', handleClickTooltip)\n\n useEffect(() => {\n if (!tooltipRef.current) { return }\n const newPlacement = getReplacement({\n tooltip: tooltipRef.current,\n keepInContainer,\n placement,\n })\n setReplacement(newPlacement)\n }, [\n keepInContainer,\n placement,\n ])\n\n const ContentComponent = useMemo(() => getContentComponent(content), [content])\n\n const contentWrapperStyle = useMemo(() => {\n if (tooltipContainer) {\n return {\n ...givenContentWrapperStyle,\n ...getTooltipStyle({\n tooltipContainer,\n placement: replacement,\n offset,\n allowHover,\n }),\n }\n }\n\n return {}\n }, [\n tooltipContainer,\n givenContentWrapperStyle,\n replacement,\n offset,\n allowHover,\n ])\n\n return (\n ReactDOM.createPortal(\n <ContentWrapper\n ref={tooltipWrapperRef}\n disabled={disabled || isEmpty(content)}\n style={contentWrapperStyle}\n >\n <Content\n as={as}\n data-testid={testId}\n className={contentClassName}\n interpolation={contentInterpolation}\n ref={mergedRef}\n >\n <EllipsisableContent>\n { ContentComponent }\n </EllipsisableContent>\n </Content>\n </ContentWrapper>,\n getRootElement(),\n )\n )\n}\n\nexport default TooltipContent\n"],"names":["getNewLineComponent","strContent","split","map","str","index","React","createElement","Text","key","typo","Typography","Size14","Fragment","getContentComponent","content","isArray","item","isString","TooltipContent","as","contentClassName","contentInterpolation","contentWrapperStyle","givenContentWrapperStyle","disabled","keepInContainer","placement","TooltipPosition","BottomCenter","tooltipContainer","offset","allowHover","testId","forwardedRef","tooltipRef","useRef","tooltipWrapperRef","mergedRef","useMergeRefs","replacement","setReplacement","useState","handleClickTooltip","useCallback","event","stopPropagation","useEventHandler","current","useEffect","newPlacement","getReplacement","tooltip","ContentComponent","useMemo","getTooltipStyle","ReactDOM","createPortal","ContentWrapper","ref","isEmpty","style","Content","className","interpolation","EllipsisableContent","getRootElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../src/components/Tooltip/utils.ts"],"sourcesContent":["import { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n type GetReplacement,\n type GetTooltipStyle,\n TooltipPosition,\n} from './Tooltip.types'\n\nexport function getReplacement({\n tooltip,\n keepInContainer,\n placement,\n}: GetReplacement): TooltipPosition {\n if (!keepInContainer) {\n return placement\n }\n\n const {\n width: tooltipWidth,\n height: tooltipHeight,\n top: tooltipTop,\n left: tooltipLeft,\n } = tooltip.getBoundingClientRect()\n\n const {\n width: rootWidth,\n height: rootHeight,\n top: rootTop,\n left: rootLeft,\n } = getRootElement().getBoundingClientRect()\n\n const isOverTop = tooltipTop < rootTop\n const isOverBottom = tooltipTop + tooltipHeight > rootTop + rootHeight\n const isOverLeft = tooltipLeft < rootLeft\n const isOverRight = tooltipLeft + tooltipWidth > rootLeft + rootWidth\n\n if (isOverTop) {\n if (isOverLeft) {\n return TooltipPosition.BottomLeft\n }\n if (isOverRight) {\n return TooltipPosition.BottomRight\n }\n return TooltipPosition.BottomCenter\n }\n\n if (isOverBottom) {\n if (isOverLeft) {\n return TooltipPosition.TopLeft\n }\n if (isOverRight) {\n return TooltipPosition.TopRight\n }\n return TooltipPosition.TopCenter\n }\n\n if (isOverLeft) {\n if (isOverTop) {\n return TooltipPosition.RightTop\n }\n if (isOverBottom) {\n return TooltipPosition.RightBottom\n }\n return TooltipPosition.RightCenter\n }\n\n if (isOverRight) {\n if (isOverTop) {\n return TooltipPosition.LeftTop\n }\n if (isOverBottom) {\n return TooltipPosition.LeftBottom\n }\n return TooltipPosition.LeftCenter\n }\n\n return placement\n}\n\nexport function getTooltipStyle({\n tooltipContainer,\n placement,\n offset,\n allowHover,\n}: GetTooltipStyle) {\n const {\n top: containerTop,\n left: containerLeft,\n width: containerWidth,\n height: containerHeight,\n } = tooltipContainer.getBoundingClientRect()\n\n let top = containerTop\n let left = containerLeft\n let translateX = 0\n let translateY = 0\n\n let offsetTop = 0\n let offsetRight = 0\n let offsetBottom = 0\n let offsetLeft = 0\n let offsetStyle = {}\n\n switch (placement) {\n case TooltipPosition.TopCenter:\n case TooltipPosition.TopLeft:\n case TooltipPosition.TopRight:\n translateY = -100\n offsetBottom = offset\n break\n case TooltipPosition.RightCenter:\n case TooltipPosition.RightTop:\n case TooltipPosition.RightBottom:\n left += containerWidth\n offsetLeft = offset\n break\n case TooltipPosition.BottomCenter:\n case TooltipPosition.BottomLeft:\n case TooltipPosition.BottomRight:\n top += containerHeight\n offsetTop = offset\n break\n case TooltipPosition.LeftCenter:\n case TooltipPosition.LeftTop:\n case TooltipPosition.LeftBottom:\n translateX = -100\n offsetRight = offset\n break\n }\n\n switch (placement) {\n case TooltipPosition.TopCenter:\n case TooltipPosition.BottomCenter:\n translateX = -50\n left += (containerWidth / 2)\n break\n case TooltipPosition.TopRight:\n case TooltipPosition.BottomRight:\n translateX = -100\n left += containerWidth\n break\n case TooltipPosition.RightCenter:\n case TooltipPosition.LeftCenter:\n translateY = -50\n top += (containerHeight / 2)\n break\n case TooltipPosition.RightBottom:\n case TooltipPosition.LeftBottom:\n translateY = -100\n top += containerHeight\n break\n }\n\n if (allowHover) {\n offsetStyle = {\n paddingTop: offsetTop,\n paddingRight: offsetRight,\n paddingBottom: offsetBottom,\n paddingLeft: offsetLeft,\n }\n } else {\n top += (offsetTop - offsetBottom)\n left += (offsetLeft - offsetRight)\n }\n\n return {\n position: 'fixed',\n top,\n left,\n transform: `translate(${translateX}%, ${translateY}%)`,\n ...offsetStyle,\n }\n}\n"],"names":["getReplacement","tooltip","keepInContainer","placement","width","tooltipWidth","height","tooltipHeight","top","tooltipTop","left","tooltipLeft","getBoundingClientRect","rootWidth","rootHeight","rootTop","rootLeft","getRootElement","isOverTop","isOverBottom","isOverLeft","isOverRight","TooltipPosition","BottomLeft","BottomRight","BottomCenter","TopLeft","TopRight","TopCenter","RightTop","RightBottom","RightCenter","LeftTop","LeftBottom","LeftCenter","getTooltipStyle","tooltipContainer","offset","allowHover","containerTop","containerLeft","containerWidth","containerHeight","translateX","translateY","offsetTop","offsetRight","offsetBottom","offsetLeft","offsetStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","position","transform"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { type TooltipContentProps } from './Tooltip.types';
3
- declare const TooltipContent: React.FC<TooltipContentProps>;
4
- export default TooltipContent;
5
- //# sourceMappingURL=TooltipContent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TooltipContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Tooltip/TooltipContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAA;AAiBd,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAA;AAqDxB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqFjD,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/Tooltip/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,eAAe,EAChB,MAAM,iBAAiB,CAAA;AAExB,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,eAAe,EACf,SAAS,GACV,EAAE,cAAc,GAAG,eAAe,CAiElC;AAED,wBAAgB,eAAe,CAAC,EAC9B,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,UAAU,GACX,EAAE,eAAe;;;;;EAwFjB"}