@graphprotocol/gds-react 0.1.1 → 0.2.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 (390) hide show
  1. package/dist/GDSProvider.d.ts +12 -10
  2. package/dist/GDSProvider.d.ts.map +1 -1
  3. package/dist/GDSProvider.js +10 -8
  4. package/dist/GDSProvider.js.map +1 -1
  5. package/dist/components/Address.js +2 -2
  6. package/dist/components/Address.meta.d.ts +1 -13
  7. package/dist/components/Address.meta.d.ts.map +1 -1
  8. package/dist/components/Avatar.d.ts.map +1 -1
  9. package/dist/components/Avatar.js +7 -11
  10. package/dist/components/Avatar.js.map +1 -1
  11. package/dist/components/Avatar.meta.d.ts +0 -2
  12. package/dist/components/Avatar.meta.d.ts.map +1 -1
  13. package/dist/components/AvatarGroup.meta.d.ts +8 -2
  14. package/dist/components/AvatarGroup.meta.d.ts.map +1 -1
  15. package/dist/components/Breadcrumbs.meta.d.ts +2 -3
  16. package/dist/components/Breadcrumbs.meta.d.ts.map +1 -1
  17. package/dist/components/Breadcrumbs.meta.js +3 -1
  18. package/dist/components/Breadcrumbs.meta.js.map +1 -1
  19. package/dist/components/Breadcrumbs.parts.d.ts.map +1 -1
  20. package/dist/components/Breadcrumbs.parts.js +15 -23
  21. package/dist/components/Breadcrumbs.parts.js.map +1 -1
  22. package/dist/components/Button.d.ts.map +1 -1
  23. package/dist/components/Button.js +17 -12
  24. package/dist/components/Button.js.map +1 -1
  25. package/dist/components/Button.meta.d.ts +1 -4
  26. package/dist/components/Button.meta.d.ts.map +1 -1
  27. package/dist/components/ButtonGroup.d.ts.map +1 -1
  28. package/dist/components/ButtonGroup.js +1 -5
  29. package/dist/components/ButtonGroup.js.map +1 -1
  30. package/dist/components/ButtonGroup.meta.d.ts +1 -5
  31. package/dist/components/ButtonGroup.meta.d.ts.map +1 -1
  32. package/dist/components/ButtonGroup.meta.js +8 -0
  33. package/dist/components/ButtonGroup.meta.js.map +1 -1
  34. package/dist/components/Card.js +1 -1
  35. package/dist/components/Card.js.map +1 -1
  36. package/dist/components/Card.meta.d.ts +1 -2
  37. package/dist/components/Card.meta.d.ts.map +1 -1
  38. package/dist/components/Card.meta.js +1 -0
  39. package/dist/components/Card.meta.js.map +1 -1
  40. package/dist/components/Checkbox.meta.d.ts +1 -6
  41. package/dist/components/Checkbox.meta.d.ts.map +1 -1
  42. package/dist/components/Checkbox.meta.js +1 -5
  43. package/dist/components/Checkbox.meta.js.map +1 -1
  44. package/dist/components/Chip.d.ts +6 -0
  45. package/dist/components/Chip.d.ts.map +1 -0
  46. package/dist/components/Chip.js +5 -0
  47. package/dist/components/Chip.js.map +1 -0
  48. package/dist/components/Chip.meta.d.ts +15 -0
  49. package/dist/components/Chip.meta.d.ts.map +1 -0
  50. package/dist/components/Chip.meta.js +22 -0
  51. package/dist/components/Chip.meta.js.map +1 -0
  52. package/dist/components/Chip.parts.d.ts +52 -0
  53. package/dist/components/Chip.parts.d.ts.map +1 -0
  54. package/dist/components/Chip.parts.js +114 -0
  55. package/dist/components/Chip.parts.js.map +1 -0
  56. package/dist/components/Cluster.meta.d.ts +8 -2
  57. package/dist/components/Cluster.meta.d.ts.map +1 -1
  58. package/dist/components/CodeBlock.d.ts +1 -1
  59. package/dist/components/CodeBlock.meta.d.ts +2 -4
  60. package/dist/components/CodeBlock.meta.d.ts.map +1 -1
  61. package/dist/components/CodeBlock.parts.d.ts +6 -7
  62. package/dist/components/CodeBlock.parts.d.ts.map +1 -1
  63. package/dist/components/CodeBlock.parts.js +28 -10
  64. package/dist/components/CodeBlock.parts.js.map +1 -1
  65. package/dist/components/CodeInline.js +3 -3
  66. package/dist/components/CodeInline.meta.d.ts +1 -1
  67. package/dist/components/CodeInline.meta.d.ts.map +1 -1
  68. package/dist/components/CopyButton.d.ts.map +1 -1
  69. package/dist/components/CopyButton.js +2 -4
  70. package/dist/components/CopyButton.js.map +1 -1
  71. package/dist/components/CopyButton.meta.d.ts +1 -12
  72. package/dist/components/CopyButton.meta.d.ts.map +1 -1
  73. package/dist/components/CopyButton.meta.js +1 -6
  74. package/dist/components/CopyButton.meta.js.map +1 -1
  75. package/dist/components/CurrencyInput.meta.d.ts +1 -6
  76. package/dist/components/CurrencyInput.meta.d.ts.map +1 -1
  77. package/dist/components/CurrencyInput.meta.js +1 -5
  78. package/dist/components/CurrencyInput.meta.js.map +1 -1
  79. package/dist/components/DescriptionList.meta.d.ts +2 -5
  80. package/dist/components/DescriptionList.meta.d.ts.map +1 -1
  81. package/dist/components/DescriptionList.parts.d.ts +3 -0
  82. package/dist/components/DescriptionList.parts.d.ts.map +1 -1
  83. package/dist/components/DescriptionList.parts.js +2 -1
  84. package/dist/components/DescriptionList.parts.js.map +1 -1
  85. package/dist/components/Divider.meta.d.ts +1 -3
  86. package/dist/components/Divider.meta.d.ts.map +1 -1
  87. package/dist/components/Icon.js +4 -4
  88. package/dist/components/Icon.js.map +1 -1
  89. package/dist/components/Icon.meta.d.ts +0 -2
  90. package/dist/components/Icon.meta.d.ts.map +1 -1
  91. package/dist/components/Icon.meta.js +1 -0
  92. package/dist/components/Icon.meta.js.map +1 -1
  93. package/dist/components/Input.d.ts +5 -4
  94. package/dist/components/Input.d.ts.map +1 -1
  95. package/dist/components/Input.js +1 -0
  96. package/dist/components/Input.js.map +1 -1
  97. package/dist/components/Input.meta.d.ts +1 -6
  98. package/dist/components/Input.meta.d.ts.map +1 -1
  99. package/dist/components/Input.meta.js +1 -5
  100. package/dist/components/Input.meta.js.map +1 -1
  101. package/dist/components/Keyboard.js +1 -1
  102. package/dist/components/Keyboard.meta.d.ts +0 -1
  103. package/dist/components/Keyboard.meta.d.ts.map +1 -1
  104. package/dist/components/Label.meta.d.ts +1 -3
  105. package/dist/components/Label.meta.d.ts.map +1 -1
  106. package/dist/components/Link.d.ts +1 -1
  107. package/dist/components/Link.d.ts.map +1 -1
  108. package/dist/components/Link.js +1 -2
  109. package/dist/components/Link.js.map +1 -1
  110. package/dist/components/Link.meta.d.ts +1 -2
  111. package/dist/components/Link.meta.d.ts.map +1 -1
  112. package/dist/components/Link.meta.js +1 -0
  113. package/dist/components/Link.meta.js.map +1 -1
  114. package/dist/components/Menu.meta.d.ts +31 -2
  115. package/dist/components/Menu.meta.d.ts.map +1 -1
  116. package/dist/components/Menu.meta.js +39 -1
  117. package/dist/components/Menu.meta.js.map +1 -1
  118. package/dist/components/Menu.parts.d.ts +23 -32
  119. package/dist/components/Menu.parts.d.ts.map +1 -1
  120. package/dist/components/Menu.parts.js +284 -303
  121. package/dist/components/Menu.parts.js.map +1 -1
  122. package/dist/components/Modal.d.ts +1 -1
  123. package/dist/components/Modal.meta.d.ts +1 -3
  124. package/dist/components/Modal.meta.d.ts.map +1 -1
  125. package/dist/components/Modal.meta.js +1 -1
  126. package/dist/components/Modal.meta.js.map +1 -1
  127. package/dist/components/Modal.parts.d.ts +14 -15
  128. package/dist/components/Modal.parts.d.ts.map +1 -1
  129. package/dist/components/Modal.parts.js +36 -32
  130. package/dist/components/Modal.parts.js.map +1 -1
  131. package/dist/components/OTCInput.js +1 -1
  132. package/dist/components/OTCInput.meta.d.ts +1 -6
  133. package/dist/components/OTCInput.meta.d.ts.map +1 -1
  134. package/dist/components/OTCInput.meta.js +1 -5
  135. package/dist/components/OTCInput.meta.js.map +1 -1
  136. package/dist/components/Radio.meta.d.ts +1 -6
  137. package/dist/components/Radio.meta.d.ts.map +1 -1
  138. package/dist/components/Radio.meta.js +1 -5
  139. package/dist/components/Radio.meta.js.map +1 -1
  140. package/dist/components/Search.meta.d.ts +1 -3
  141. package/dist/components/Search.meta.d.ts.map +1 -1
  142. package/dist/components/SegmentedControl.meta.d.ts +2 -3
  143. package/dist/components/SegmentedControl.meta.d.ts.map +1 -1
  144. package/dist/components/SegmentedControl.meta.js +3 -1
  145. package/dist/components/SegmentedControl.meta.js.map +1 -1
  146. package/dist/components/SegmentedControl.parts.d.ts.map +1 -1
  147. package/dist/components/SegmentedControl.parts.js +15 -31
  148. package/dist/components/SegmentedControl.parts.js.map +1 -1
  149. package/dist/components/Status.meta.d.ts +0 -2
  150. package/dist/components/Status.meta.d.ts.map +1 -1
  151. package/dist/components/Stepper.meta.d.ts +1 -2
  152. package/dist/components/Stepper.meta.d.ts.map +1 -1
  153. package/dist/components/Stepper.meta.js +1 -0
  154. package/dist/components/Stepper.meta.js.map +1 -1
  155. package/dist/components/Stepper.parts.d.ts.map +1 -1
  156. package/dist/components/Stepper.parts.js +1 -1
  157. package/dist/components/Stepper.parts.js.map +1 -1
  158. package/dist/components/Switch.meta.d.ts +1 -6
  159. package/dist/components/Switch.meta.d.ts.map +1 -1
  160. package/dist/components/Switch.meta.js +1 -5
  161. package/dist/components/Switch.meta.js.map +1 -1
  162. package/dist/components/TabSet.meta.d.ts +2 -5
  163. package/dist/components/TabSet.meta.d.ts.map +1 -1
  164. package/dist/components/TabSet.meta.js +3 -1
  165. package/dist/components/TabSet.meta.js.map +1 -1
  166. package/dist/components/TabSet.parts.js +1 -1
  167. package/dist/components/Tag.meta.d.ts +0 -2
  168. package/dist/components/Tag.meta.d.ts.map +1 -1
  169. package/dist/components/TextArea.meta.d.ts +1 -6
  170. package/dist/components/TextArea.meta.d.ts.map +1 -1
  171. package/dist/components/TextArea.meta.js +1 -5
  172. package/dist/components/TextArea.meta.js.map +1 -1
  173. package/dist/components/ToggleButton.d.ts +0 -2
  174. package/dist/components/ToggleButton.d.ts.map +1 -1
  175. package/dist/components/ToggleButton.js +2 -2
  176. package/dist/components/ToggleButton.js.map +1 -1
  177. package/dist/components/ToggleButton.meta.d.ts +1 -12
  178. package/dist/components/ToggleButton.meta.d.ts.map +1 -1
  179. package/dist/components/ToggleButton.meta.js +1 -6
  180. package/dist/components/ToggleButton.meta.js.map +1 -1
  181. package/dist/components/Tooltip.d.ts +2 -2
  182. package/dist/components/Tooltip.d.ts.map +1 -1
  183. package/dist/components/Tooltip.js +2 -2
  184. package/dist/components/Tooltip.js.map +1 -1
  185. package/dist/components/Tooltip.meta.d.ts +12 -7
  186. package/dist/components/Tooltip.meta.d.ts.map +1 -1
  187. package/dist/components/Tooltip.meta.js +13 -2
  188. package/dist/components/Tooltip.meta.js.map +1 -1
  189. package/dist/components/Tooltip.parts.d.ts +20 -20
  190. package/dist/components/Tooltip.parts.d.ts.map +1 -1
  191. package/dist/components/Tooltip.parts.js +129 -88
  192. package/dist/components/Tooltip.parts.js.map +1 -1
  193. package/dist/components/base/Addon.meta.d.ts +1 -1
  194. package/dist/components/base/Addon.meta.d.ts.map +1 -1
  195. package/dist/components/base/Addon.meta.js +3 -1
  196. package/dist/components/base/Addon.meta.js.map +1 -1
  197. package/dist/components/base/ButtonOrLink.d.ts +1 -1
  198. package/dist/components/base/ButtonOrLink.parts.d.ts +14 -10
  199. package/dist/components/base/ButtonOrLink.parts.d.ts.map +1 -1
  200. package/dist/components/base/ButtonOrLink.parts.js +47 -47
  201. package/dist/components/base/ButtonOrLink.parts.js.map +1 -1
  202. package/dist/components/base/Checkable.meta.d.ts +1 -2
  203. package/dist/components/base/Checkable.meta.d.ts.map +1 -1
  204. package/dist/components/base/Checkable.parts.d.ts +6 -6
  205. package/dist/components/base/Checkable.parts.d.ts.map +1 -1
  206. package/dist/components/base/Checkable.parts.js +2 -2
  207. package/dist/components/base/Checkable.parts.js.map +1 -1
  208. package/dist/components/base/Field.meta.d.ts +1 -2
  209. package/dist/components/base/Field.meta.d.ts.map +1 -1
  210. package/dist/components/base/Field.parts.d.ts +5 -4
  211. package/dist/components/base/Field.parts.d.ts.map +1 -1
  212. package/dist/components/base/Field.parts.js +1 -1
  213. package/dist/components/base/Field.parts.js.map +1 -1
  214. package/dist/components/base/MaybeButtonOrLink.d.ts +1 -1
  215. package/dist/components/base/MaybeButtonOrLink.d.ts.map +1 -1
  216. package/dist/components/base/Portal.d.ts +1 -1
  217. package/dist/components/base/Portal.d.ts.map +1 -1
  218. package/dist/components/base/Portal.js +3 -6
  219. package/dist/components/base/Portal.js.map +1 -1
  220. package/dist/components/base/Render.d.ts +21 -6
  221. package/dist/components/base/Render.d.ts.map +1 -1
  222. package/dist/components/base/Render.js +3 -2
  223. package/dist/components/base/Render.js.map +1 -1
  224. package/dist/components/base/Transition.js +2 -2
  225. package/dist/components/base/Transition.meta.d.ts +1 -1
  226. package/dist/components/base/Transition.meta.d.ts.map +1 -1
  227. package/dist/components/base/Transition.meta.js +1 -0
  228. package/dist/components/base/Transition.meta.js.map +1 -1
  229. package/dist/components/base/index.d.ts +1 -2
  230. package/dist/components/base/index.d.ts.map +1 -1
  231. package/dist/components/base/index.js +1 -2
  232. package/dist/components/base/index.js.map +1 -1
  233. package/dist/components/index.d.ts +3 -1
  234. package/dist/components/index.d.ts.map +1 -1
  235. package/dist/components/index.js +3 -1
  236. package/dist/components/index.js.map +1 -1
  237. package/dist/hooks/index.d.ts +1 -0
  238. package/dist/hooks/index.d.ts.map +1 -1
  239. package/dist/hooks/index.js +1 -0
  240. package/dist/hooks/index.js.map +1 -1
  241. package/dist/hooks/useCSSProp.d.ts.map +1 -1
  242. package/dist/hooks/useCSSProp.js +6 -6
  243. package/dist/hooks/useCSSProp.js.map +1 -1
  244. package/dist/hooks/useCSSProps.d.ts +11 -13
  245. package/dist/hooks/useCSSProps.d.ts.map +1 -1
  246. package/dist/hooks/useCSSProps.js +11 -19
  247. package/dist/hooks/useCSSProps.js.map +1 -1
  248. package/dist/hooks/useCSSPropsPolyfill.d.ts +1 -1
  249. package/dist/hooks/useCSSPropsPolyfill.d.ts.map +1 -1
  250. package/dist/hooks/useCSSPropsPolyfill.js +12 -20
  251. package/dist/hooks/useCSSPropsPolyfill.js.map +1 -1
  252. package/dist/hooks/useCSSState.d.ts.map +1 -1
  253. package/dist/hooks/useCSSState.js +7 -3
  254. package/dist/hooks/useCSSState.js.map +1 -1
  255. package/dist/hooks/useEffectWithRefDeps.d.ts +2 -2
  256. package/dist/hooks/useEffectWithRefDeps.d.ts.map +1 -1
  257. package/dist/hooks/useEffectWithRefDeps.js +1 -1
  258. package/dist/hooks/useEffectWithRefDeps.js.map +1 -1
  259. package/dist/hooks/useFirstRender.d.ts +14 -0
  260. package/dist/hooks/useFirstRender.d.ts.map +1 -0
  261. package/dist/hooks/useFirstRender.js +20 -0
  262. package/dist/hooks/useFirstRender.js.map +1 -0
  263. package/dist/hooks/useGDS.d.ts +1 -1
  264. package/dist/hooks/usePrevious.d.ts +6 -4
  265. package/dist/hooks/usePrevious.d.ts.map +1 -1
  266. package/dist/hooks/usePrevious.js +6 -4
  267. package/dist/hooks/usePrevious.js.map +1 -1
  268. package/dist/hooks/useRefWithInit.d.ts +2 -2
  269. package/dist/hooks/useRefWithInit.d.ts.map +1 -1
  270. package/dist/hooks/useRefWithInit.js.map +1 -1
  271. package/dist/hooks/useStyleObserver.d.ts +2 -2
  272. package/dist/hooks/useStyleObserver.d.ts.map +1 -1
  273. package/dist/hooks/useStyleObserver.js.map +1 -1
  274. package/dist/icons/CalendarDynamicIcon.d.ts +8 -5
  275. package/dist/icons/CalendarDynamicIcon.d.ts.map +1 -1
  276. package/dist/icons/CalendarDynamicIcon.js +5 -2
  277. package/dist/icons/CalendarDynamicIcon.js.map +1 -1
  278. package/dist/icons/CopyInteractiveIcon.d.ts +5 -4
  279. package/dist/icons/CopyInteractiveIcon.d.ts.map +1 -1
  280. package/dist/icons/CopyInteractiveIcon.js +2 -2
  281. package/dist/icons/CopyInteractiveIcon.js.map +1 -1
  282. package/dist/icons/SidebarLeftInteractiveIcon.d.ts +4 -3
  283. package/dist/icons/SidebarLeftInteractiveIcon.d.ts.map +1 -1
  284. package/dist/icons/SidebarLeftInteractiveIcon.js +2 -2
  285. package/dist/icons/SidebarLeftInteractiveIcon.js.map +1 -1
  286. package/dist/icons/SidebarRightInteractiveIcon.d.ts +4 -3
  287. package/dist/icons/SidebarRightInteractiveIcon.d.ts.map +1 -1
  288. package/dist/icons/SidebarRightInteractiveIcon.js +2 -2
  289. package/dist/icons/SidebarRightInteractiveIcon.js.map +1 -1
  290. package/dist/tailwind-plugin.d.ts.map +1 -1
  291. package/dist/tailwind-plugin.js +8 -5
  292. package/dist/tailwind-plugin.js.map +1 -1
  293. package/dist/utils/cn.d.ts +3 -1
  294. package/dist/utils/cn.d.ts.map +1 -1
  295. package/dist/utils/cn.js +3 -1
  296. package/dist/utils/cn.js.map +1 -1
  297. package/dist/utils/getCSSPropsAttributes.d.ts +10 -3
  298. package/dist/utils/getCSSPropsAttributes.d.ts.map +1 -1
  299. package/dist/utils/getCSSPropsAttributes.js +4 -5
  300. package/dist/utils/getCSSPropsAttributes.js.map +1 -1
  301. package/dist/utils/splitProps.d.ts +1 -4
  302. package/dist/utils/splitProps.d.ts.map +1 -1
  303. package/dist/utils/splitProps.js +2 -7
  304. package/dist/utils/splitProps.js.map +1 -1
  305. package/dist/utils/trimReactNode.d.ts +10 -8
  306. package/dist/utils/trimReactNode.d.ts.map +1 -1
  307. package/dist/utils/trimReactNode.js +10 -8
  308. package/dist/utils/trimReactNode.js.map +1 -1
  309. package/package.json +17 -17
  310. package/src/GDSProvider.tsx +11 -9
  311. package/src/components/Address.tsx +2 -2
  312. package/src/components/Avatar.tsx +10 -11
  313. package/src/components/Breadcrumbs.meta.ts +3 -1
  314. package/src/components/Breadcrumbs.parts.tsx +18 -30
  315. package/src/components/Button.tsx +27 -13
  316. package/src/components/ButtonGroup.meta.ts +8 -0
  317. package/src/components/ButtonGroup.tsx +1 -5
  318. package/src/components/Card.meta.ts +1 -0
  319. package/src/components/Card.tsx +1 -1
  320. package/src/components/Checkbox.meta.ts +1 -5
  321. package/src/components/Chip.meta.ts +23 -0
  322. package/src/components/Chip.parts.tsx +319 -0
  323. package/src/components/Chip.tsx +7 -0
  324. package/src/components/CodeBlock.parts.tsx +75 -50
  325. package/src/components/CodeInline.tsx +3 -3
  326. package/src/components/CopyButton.meta.ts +1 -6
  327. package/src/components/CopyButton.tsx +3 -4
  328. package/src/components/CurrencyInput.meta.ts +1 -5
  329. package/src/components/DescriptionList.parts.tsx +2 -1
  330. package/src/components/Icon.meta.ts +1 -0
  331. package/src/components/Icon.tsx +4 -4
  332. package/src/components/Input.meta.ts +1 -5
  333. package/src/components/Input.tsx +5 -6
  334. package/src/components/Keyboard.tsx +1 -1
  335. package/src/components/Link.meta.ts +1 -0
  336. package/src/components/Link.tsx +2 -3
  337. package/src/components/Menu.meta.ts +39 -1
  338. package/src/components/Menu.parts.tsx +553 -549
  339. package/src/components/Modal.meta.ts +1 -1
  340. package/src/components/Modal.parts.tsx +67 -68
  341. package/src/components/OTCInput.meta.ts +1 -5
  342. package/src/components/OTCInput.tsx +1 -1
  343. package/src/components/Radio.meta.ts +1 -5
  344. package/src/components/SegmentedControl.meta.ts +3 -1
  345. package/src/components/SegmentedControl.parts.tsx +40 -44
  346. package/src/components/Stepper.meta.ts +1 -0
  347. package/src/components/Stepper.parts.tsx +3 -1
  348. package/src/components/Switch.meta.ts +1 -5
  349. package/src/components/TabSet.meta.ts +3 -1
  350. package/src/components/TabSet.parts.tsx +1 -1
  351. package/src/components/TextArea.meta.ts +1 -5
  352. package/src/components/ToggleButton.meta.ts +1 -6
  353. package/src/components/ToggleButton.tsx +1 -3
  354. package/src/components/Tooltip.meta.ts +13 -2
  355. package/src/components/Tooltip.parts.tsx +215 -159
  356. package/src/components/Tooltip.tsx +2 -2
  357. package/src/components/base/Addon.meta.ts +3 -1
  358. package/src/components/base/ButtonOrLink.parts.tsx +91 -73
  359. package/src/components/base/Checkable.parts.tsx +6 -13
  360. package/src/components/base/Field.parts.tsx +5 -5
  361. package/src/components/base/Portal.tsx +5 -7
  362. package/src/components/base/Render.tsx +37 -15
  363. package/src/components/base/Transition.meta.ts +1 -0
  364. package/src/components/base/Transition.tsx +2 -2
  365. package/src/components/base/index.ts +8 -2
  366. package/src/components/index.ts +3 -2
  367. package/src/hooks/index.ts +1 -0
  368. package/src/hooks/useCSSProp.ts +6 -8
  369. package/src/hooks/useCSSProps.ts +13 -22
  370. package/src/hooks/useCSSPropsPolyfill.ts +15 -23
  371. package/src/hooks/useCSSState.ts +11 -6
  372. package/src/hooks/useEffectWithRefDeps.ts +2 -2
  373. package/src/hooks/useFirstRender.ts +36 -0
  374. package/src/hooks/usePrevious.ts +6 -4
  375. package/src/hooks/useRefWithInit.ts +2 -2
  376. package/src/hooks/useStyleObserver.ts +5 -1
  377. package/src/icons/CalendarDynamicIcon.tsx +16 -6
  378. package/src/icons/CopyInteractiveIcon.tsx +10 -5
  379. package/src/icons/SidebarLeftInteractiveIcon.tsx +9 -5
  380. package/src/icons/SidebarRightInteractiveIcon.tsx +9 -5
  381. package/src/tailwind-plugin.ts +8 -5
  382. package/src/utils/cn.ts +3 -1
  383. package/src/utils/getCSSPropsAttributes.ts +13 -8
  384. package/src/utils/splitProps.ts +9 -9
  385. package/src/utils/trimReactNode.tsx +10 -8
  386. package/dist/components/base/ButtonOrLink.meta.d.ts +0 -2
  387. package/dist/components/base/ButtonOrLink.meta.d.ts.map +0 -1
  388. package/dist/components/base/ButtonOrLink.meta.js +0 -6
  389. package/dist/components/base/ButtonOrLink.meta.js.map +0 -1
  390. package/src/components/base/ButtonOrLink.meta.ts +0 -6
@@ -1,42 +1,30 @@
1
1
  import { type ComponentProps, type ReactElement, type ReactNode } from 'react';
2
2
  import { type GDSComponentProps } from '@graphprotocol/gds-css';
3
- import { type RenderProps } from './base/Render.tsx';
3
+ import { type RenderProp } from './base/Render.tsx';
4
4
  import { TooltipMeta } from './Tooltip.meta.ts';
5
- type DefinedReactNode = Exclude<ReactNode, undefined>;
5
+ type Content = Exclude<ReactNode, undefined>;
6
+ type SetDeferredContentFunction = (content: Content, priority?: number) => void;
6
7
  export interface TooltipProps extends Omit<ComponentProps<'div'>, 'content'>, GDSComponentProps<typeof TooltipMeta> {
7
8
  /**
8
9
  * The content to display in the tooltip. If not provided, defaults to any content collected from
9
10
  * `Tooltip.Content` or `Tooltip.Collector` descendants.
10
11
  */
11
- content?: ReactNode | undefined;
12
+ content?: Content | undefined;
12
13
  /** Force the tooltip to be open or closed. */
13
14
  open?: boolean | undefined;
14
15
  /** Called when the tooltip is opened or closed. */
15
16
  onOpenChange?: ((open: boolean) => void) | undefined;
16
17
  /** The element that triggers the tooltip. */
17
- children: ReactElement<Record<string, unknown>>;
18
+ children: ReactElement;
18
19
  }
19
- export declare function TooltipRoot({ ref: passedRef, content: passedContent, position, gap, align, open: controlledOpen, onOpenChange, disabled, className, style, children, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
20
- export interface TooltipCollectorProps {
21
- /** Callback when a tooltip is collected from a child component. */
22
- onCollect?: ((content: DefinedReactNode) => void) | undefined;
23
- children: ReactNode;
24
- }
25
- export declare function TooltipCollector({ onCollect, children }: TooltipCollectorProps): import("react/jsx-runtime").JSX.Element;
26
- /** Hook for components to send tooltip content up to a collector. */
27
- export declare function useCollectTooltip(): ((content: DefinedReactNode, priority?: number) => void) | null;
28
- /** Hook for components to collect tooltip content from children. */
29
- export declare function useCollectedTooltip(): {
30
- onCollect: (content: DefinedReactNode, priority?: number) => void;
31
- collectedContent: DefinedReactNode;
32
- };
20
+ export declare function TooltipRoot({ ref: passedRef, content: passedContent, side, gap, align, alignOffset, open: controlledOpen, onOpenChange, disabled, overrideDescendants, className, style, children, ...props }: TooltipProps): import("react/jsx-runtime").JSX.Element;
33
21
  export interface TooltipContentProps {
34
- render?: RenderProps['render'] | undefined;
22
+ render?: RenderProp | undefined;
35
23
  children: ReactNode;
36
24
  }
37
25
  /**
38
26
  * Wrap any text or `ReactNode` with this component to use it as the default `content` of the
39
- * nearest `Tooltip`, in addition to rendering it inline. It is meant to be wrapped in a `sr-only`
27
+ * closest `Tooltip`, in addition to rendering it inline. It is meant to be wrapped in a `sr-only`
40
28
  * element, so that the content rendered inline is visually hidden but accessible to screen readers,
41
29
  * unlike the content rendered in the tooltip itself, which is hidden from the accessibility tree
42
30
  * since most tooltips are decorative. This allows a tooltip to be non-decorative, in the rare case
@@ -44,5 +32,17 @@ export interface TooltipContentProps {
44
32
  * from the trigger's accessible name).
45
33
  */
46
34
  export declare function TooltipContent({ render, children }: TooltipContentProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
35
+ export declare namespace TooltipContent {
36
+ var displayName: string;
37
+ }
38
+ export interface TooltipCollectorProps {
39
+ children: ReactNode;
40
+ }
41
+ export declare function TooltipCollector({ children }: TooltipCollectorProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare namespace TooltipCollector {
43
+ var displayName: string;
44
+ }
45
+ /** Hook for components to send tooltip content up to a collector. */
46
+ export declare function useTooltipCollector(): SetDeferredContentFunction | null;
47
47
  export {};
48
48
  //# sourceMappingURL=Tooltip.parts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.parts.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.parts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,EAAU,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAKvE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,KAAK,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAYrD,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,OAAO,WAAW,CAAC;IACrF;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IACpD,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAChD;AAED,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,aAAa,EACtB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,YAAY,2CAqId;AAED,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC7D,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAM9E;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,eAvLpB,gBAAgB,aAAa,MAAM,KAAK,IAAI,SAyLxD;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB;yBAML,gBAAgB;;EAuB7C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2TAYvE"}
1
+ {"version":3,"file":"Tooltip.parts.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.parts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAId,OAAO,EAAU,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAKvE,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,KAAK,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAC5C,KAAK,0BAA0B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAW/E,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,OAAO,WAAW,CAAC;IACrF;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IACpD,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAA;CACvB;AAED,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,aAAa,EACtB,IAAI,EACJ,GAAG,EACH,KAAK,EACL,WAAW,EACX,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,YAAY,2CA2Ld;AAqCD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC/B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2TAMvE;yBANe,cAAc;;;AAW9B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAQnE;yBARe,gBAAgB;;;AAWhC,qEAAqE;AACrE,wBAAgB,mBAAmB,sCAElC"}
@@ -1,44 +1,78 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
+ import { createContext, useContext, useEffect, useRef, useState, } from 'react';
4
4
  import { Tooltip } from '@base-ui/react/tooltip';
5
5
  import { twToPx } from '@graphprotocol/gds-css';
6
6
  import { useControlled, useCSSPropsPolyfill, useGDS } from "../hooks/index.js";
7
- import { cn, getCSSPropsAttributes } from "../utils/index.js";
7
+ import { cn, getCSSPropsAttributes, getReactNodeKey } from "../utils/index.js";
8
8
  import { Portal } from "./base/Portal.js";
9
9
  import { Render } from "./base/Render.js";
10
10
  import { TooltipMeta } from "./Tooltip.meta.js";
11
11
  const TooltipContext = createContext(null);
12
- const TooltipCollectorContext = createContext(null);
13
12
  const OPEN_DELAY = 300;
14
- export function TooltipRoot({ ref: passedRef, content: passedContent, position, gap, align, open: controlledOpen, onOpenChange, disabled, className, style, children, ...props }) {
13
+ export function TooltipRoot({ ref: passedRef, content: passedContent, side, gap, align, alignOffset, open: controlledOpen, onOpenChange, disabled, overrideDescendants, className, style, children, ...props }) {
15
14
  const { dirProps } = useGDS();
16
- const [cssPropsPolyfillRef, cssPropsPolyfillAttributes, cssProps] = useCSSPropsPolyfill(TooltipMeta, { position, align, disabled }, { returnPropValues: { position, gap, align, disabled } });
17
- const cssPropsAttributes = getCSSPropsAttributes(TooltipMeta, { position, gap, align, disabled }, style);
18
- const tooltipAncestor = useContext(TooltipContext);
19
- const hasEnabledTooltipAncestor = tooltipAncestor?.enabled ?? false;
20
- const { onCollect, collectedContent } = useCollectedTooltip();
21
- const content = passedContent !== undefined ? passedContent : collectedContent;
22
- const enabled = !cssProps.disabled && !hasEnabledTooltipAncestor && Boolean(content);
15
+ const ancestorTooltip = useContext(TooltipContext);
16
+ const triggerRef = useRef(null);
17
+ const [cssPropsPolyfillRef, cssPropsPolyfillAttributes, cssProps] = useCSSPropsPolyfill(TooltipMeta, { side, align, disabled, overrideDescendants }, { returnPropValues: { side, gap, align, alignOffset, disabled, overrideDescendants } });
18
+ const cssPropsAttributes = getCSSPropsAttributes(TooltipMeta, { side, gap, align, alignOffset, disabled, overrideDescendants }, style);
19
+ const [setCollectedContent, collectedContent] = useDeferredContent();
20
+ const [setInheritedContent, inheritedContent] = useDeferredContent();
21
+ const content = passedContent !== undefined
22
+ ? passedContent
23
+ : collectedContent !== undefined
24
+ ? collectedContent
25
+ : inheritedContent;
26
+ const triggerDisabled = 'props' in children &&
27
+ children.props &&
28
+ typeof children.props === 'object' &&
29
+ 'disabled' in children.props
30
+ ? children.props.disabled === true
31
+ : false;
32
+ // Propagate the passed/collected content up for the first tooltip ancestor that needs them
33
+ if (passedContent !== undefined && !cssProps.disabled && !triggerDisabled) {
34
+ ancestorTooltip?.inheritContent(passedContent, 3);
35
+ }
36
+ const collectContent = (newCollectedContent, priority) => {
37
+ const prioritizedCollectedContent = setCollectedContent(newCollectedContent, priority);
38
+ if (!triggerDisabled)
39
+ ancestorTooltip?.inheritContent(prioritizedCollectedContent, 2);
40
+ };
41
+ const inheritContent = (newInheritedContent, priority) => {
42
+ void setInheritedContent(newInheritedContent, priority);
43
+ if (!triggerDisabled)
44
+ ancestorTooltip?.inheritContent(newInheritedContent, 1);
45
+ };
46
+ const disabledByAncestor = ancestorTooltip?.disableDescendants ?? false;
47
+ const disableDescendants = disabledByAncestor ||
48
+ triggerDisabled ||
49
+ (content !== undefined && !cssProps.disabled && cssProps.overrideDescendants);
50
+ const enabled = Boolean(content) && !cssProps.disabled && !triggerDisabled && !disabledByAncestor;
23
51
  const [open, ownSetOpen] = useControlled(controlledOpen, false, onOpenChange);
24
- const nestedSetOpen = useRef(null);
25
- const registerNestedSetOpen = useCallback((newNestedSetOpen) => {
26
- nestedSetOpen.current = newNestedSetOpen;
27
- }, []);
52
+ const descendantSetOpen = useRef(null);
53
+ const registerDescendantSetOpen = (newDescendantSetOpen) => {
54
+ descendantSetOpen.current = newDescendantSetOpen;
55
+ };
56
+ const justOpenedRef = useRef(false);
28
57
  const setOpen = (newOpen) => {
29
58
  ownSetOpen(newOpen);
30
59
  /**
31
- * Notify nested (overridden) tooltips of the open state change. This ensures, for example, that
32
- * moving the cursor away from a `CopyButton` while its "Copied!" tooltip is shown closes the
33
- * inner tooltip as well (which doesn't happen automatically because nested tooltips are
34
- * disabled to prevent a lot of weirdness).
60
+ * Notify overridden descendant tooltips of the open state change. This ensures, for example,
61
+ * that moving the cursor away from a `CopyButton` while its "Copied!" tooltip is shown closes
62
+ * the inner tooltip as well (which doesn't happen automatically because tooltips nested under
63
+ * an enabled tooltip are disabled to prevent a lot of weirdness).
35
64
  */
36
- nestedSetOpen.current?.(newOpen);
65
+ if (cssProps.overrideDescendants) {
66
+ descendantSetOpen.current?.(newOpen);
67
+ }
68
+ if (newOpen) {
69
+ justOpenedRef.current = true;
70
+ window.setTimeout(() => {
71
+ justOpenedRef.current = false;
72
+ }, 0);
73
+ }
37
74
  };
38
- tooltipAncestor?.registerNestedSetOpen(setOpen);
39
- if (cssProps.disabled && open) {
40
- setOpen(false);
41
- }
75
+ ancestorTooltip?.registerDescendantSetOpen(setOpen);
42
76
  const openTimeoutRef = useRef(undefined);
43
77
  const clearOpenTimeout = () => {
44
78
  if (!openTimeoutRef.current)
@@ -49,72 +83,73 @@ export function TooltipRoot({ ref: passedRef, content: passedContent, position,
49
83
  if (!enabled) {
50
84
  clearOpenTimeout();
51
85
  }
52
- const tooltipContextValue = useMemo(() => ({
53
- enabled,
54
- registerNestedSetOpen,
55
- }), [enabled, registerNestedSetOpen]);
56
- return (_jsx(TooltipContext.Provider, { value: tooltipContextValue, children: _jsx(TooltipCollector, { onCollect: onCollect, children: _jsxs(Tooltip.Root, { disabled: !enabled, disableHoverablePopup: true, open: open, onOpenChange: (newOpen, eventDetails) => {
57
- clearOpenTimeout();
58
- if (!enabled)
59
- return;
60
- // Disable Base UI's default behavior of closing the tooltip when pressing the trigger
61
- if (!newOpen && eventDetails.reason === 'trigger-press') {
62
- // Ensure clicking on the trigger before the tooltip has a chance to open doesn't prevent it from opening
63
- openTimeoutRef.current = window.setTimeout(() => setOpen(true), OPEN_DELAY);
64
- return;
65
- }
66
- setOpen(newOpen);
67
- }, children: [_jsx(Tooltip.Trigger, { delay: OPEN_DELAY, closeDelay: 100, render: ({ onClick: _onClick, ...renderProps }) => (_jsx(Render, { ...(enabled ? renderProps : {}), render: children })) }), _jsx(Tooltip.Portal, { children: _jsx(Tooltip.Positioner
68
- // The `key` is needed for the `data-[starting-style]`s to refresh properly when these props change in CSS
69
- , { side: cssProps.position, sideOffset: twToPx(cssProps.gap), align: cssProps.align, disableAnchorTracking: true, ...dirProps, children: _jsx(Tooltip.Popup, { ref: passedRef, className: cn(`gds-tooltip root-block u:max-w-(--available-width) u:rounded-4 u:bg-default u:px-2 u:py-1 u:text-12 u:text-default u:transition
70
- i:origin-(--transform-origin)
71
- i:data-ending-style:opacity-0
72
- i:data-starting-style:opacity-0
73
- i:data-starting-style:data-[side=bottom]:-translate-y-1
74
- i:data-starting-style:data-[side=inline-end]:-translate-x-1
75
- i:data-starting-style:data-[side=inline-start]:translate-x-1
76
- i:data-starting-style:data-[side=top]:translate-y-1
77
- i:rtl:data-starting-style:data-[side=inline-end]:translate-x-1
78
- i:rtl:data-starting-style:data-[side=inline-start]:-translate-x-1`, className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...props, children: content }) }, `${cssProps.position}-${cssProps.gap}-${cssProps.align}`) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, className: cn('gds-tooltip i:invisible', className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...props }) })] }) }) }));
79
- }
80
- export function TooltipCollector({ onCollect, children }) {
81
- return (_jsx(TooltipCollectorContext.Provider, { value: onCollect ?? null, children: children }));
82
- }
83
- /** Hook for components to send tooltip content up to a collector. */
84
- export function useCollectTooltip() {
85
- return useContext(TooltipCollectorContext);
86
+ return (_jsx(TooltipContext.Provider, { value: {
87
+ collectContent,
88
+ inheritContent,
89
+ disableDescendants,
90
+ registerDescendantSetOpen,
91
+ }, children: _jsxs(Tooltip.Root, { disabled: !enabled, disableHoverablePopup: true, open: open, onOpenChange: (newOpen, eventDetails) => {
92
+ clearOpenTimeout();
93
+ if (!enabled)
94
+ return;
95
+ // Disable Base UI's default behavior of closing the tooltip when pressing the trigger
96
+ if (!newOpen && eventDetails.reason === 'trigger-press') {
97
+ // Ensure clicking on the trigger before the tooltip has a chance to open doesn't prevent it from opening
98
+ openTimeoutRef.current = window.setTimeout(() => setOpen(true), OPEN_DELAY);
99
+ return;
100
+ }
101
+ // Make `overrideDescendants={false}` work as expected (see the `NestedSimultaneous` story)
102
+ if (!newOpen &&
103
+ eventDetails.reason === 'none' &&
104
+ (justOpenedRef.current ||
105
+ (!cssProps.overrideDescendants && triggerRef.current?.matches(':hover')))) {
106
+ return;
107
+ }
108
+ setOpen(newOpen);
109
+ }, children: [_jsx(Tooltip.Trigger, { ref: triggerRef, delay: OPEN_DELAY, closeDelay: 100, render: ({ onClick: _onClick, ...renderProps }) => (_jsx(Render, { ...(enabled ? renderProps : {}), render: children })) }), _jsx(Tooltip.Portal, { children: _jsx(Tooltip.Positioner, { side: cssProps.side === 'start'
110
+ ? 'inline-start'
111
+ : cssProps.side === 'end'
112
+ ? 'inline-end'
113
+ : cssProps.side, sideOffset: twToPx(cssProps.gap), align: cssProps.align, alignOffset: twToPx(cssProps.alignOffset), collisionPadding: 8, ...dirProps, children: _jsx(Tooltip.Popup, { ref: passedRef, "data-side": cssProps.side, className: cn(`gds-tooltip root-block u:max-w-(--available-width) u:rounded-4 u:bg-default u:px-2 u:py-1 u:text-12 u:transition
114
+ i:origin-(--transform-origin)
115
+ i:data-ending-style:opacity-0
116
+ i:data-starting-style:opacity-0
117
+ i:data-starting-style:data-[side=bottom]:-translate-y-1
118
+ i:data-starting-style:data-[side=end]:-translate-x-1
119
+ i:data-starting-style:data-[side=start]:translate-x-1
120
+ i:data-starting-style:data-[side=top]:translate-y-1
121
+ i:rtl:data-starting-style:data-[side=end]:translate-x-1
122
+ i:rtl:data-starting-style:data-[side=start]:-translate-x-1`, className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...props, children: content }) }) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, className: cn('gds-tooltip i:invisible', className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...props }) })] }) }));
86
123
  }
87
- /** Hook for components to collect tooltip content from children. */
88
- export function useCollectedTooltip() {
89
- const [collectedContent, setCollectedContent] = useState(null);
90
- const pendingContent = useRef(null);
91
- const pendingPriority = useRef(0);
92
- // Collect tooltip during render phase (store in ref to avoid state update during render)
93
- const onCollect = (content, priority = 0) => {
94
- // Only update if this content has higher priority than what we've collected so far
95
- if (priority >= pendingPriority.current) {
96
- pendingContent.current = content;
97
- pendingPriority.current = priority;
124
+ function useDeferredContent() {
125
+ const [content, setContent] = useState(undefined);
126
+ const pendingContentRef = useRef(undefined);
127
+ const pendingPriorityRef = useRef(undefined);
128
+ // Store the content in a ref to avoid updating the state during render
129
+ const setDeferredContent = (newContent, priority = 0) => {
130
+ // If we've already stored content this render, only replace it if the new content has higher priority
131
+ if (pendingContentRef.current === undefined ||
132
+ priority >= (pendingPriorityRef.current ?? -Infinity)) {
133
+ pendingContentRef.current = newContent;
134
+ pendingPriorityRef.current = priority;
98
135
  }
136
+ return pendingContentRef.current;
99
137
  };
100
- // Commit the collected tooltip after render
101
- // oxlint-disable-next-line react-hooks/exhaustive-deps -- Must run after every render to sync collected tooltips
138
+ // Commit the stored content after render
139
+ // oxlint-disable-next-line react-hooks/exhaustive-deps -- Must run after every render to sync
102
140
  useEffect(() => {
103
- if (collectedContent !== pendingContent.current) {
104
- setCollectedContent(pendingContent.current);
141
+ if (getReactNodeKey(content) !== getReactNodeKey(pendingContentRef.current)) {
142
+ setContent(pendingContentRef.current);
105
143
  }
106
144
  // Reset for next render
107
- pendingContent.current = null;
108
- pendingPriority.current = 0;
145
+ pendingContentRef.current = undefined;
146
+ pendingPriorityRef.current = undefined;
109
147
  });
110
- return {
111
- onCollect,
112
- collectedContent,
113
- };
148
+ return [setDeferredContent, content];
114
149
  }
115
150
  /**
116
151
  * Wrap any text or `ReactNode` with this component to use it as the default `content` of the
117
- * nearest `Tooltip`, in addition to rendering it inline. It is meant to be wrapped in a `sr-only`
152
+ * closest `Tooltip`, in addition to rendering it inline. It is meant to be wrapped in a `sr-only`
118
153
  * element, so that the content rendered inline is visually hidden but accessible to screen readers,
119
154
  * unlike the content rendered in the tooltip itself, which is hidden from the accessibility tree
120
155
  * since most tooltips are decorative. This allows a tooltip to be non-decorative, in the rare case
@@ -122,13 +157,19 @@ export function useCollectedTooltip() {
122
157
  * from the trigger's accessible name).
123
158
  */
124
159
  export function TooltipContent({ render, children }) {
125
- const collectTooltip = useCollectTooltip();
126
- if (collectTooltip) {
127
- collectTooltip(children || null, 100);
128
- }
129
- if (render) {
130
- return _jsx(Render, { render: render, children: children });
131
- }
132
- return children;
160
+ const ancestorTooltip = useContext(TooltipContext);
161
+ ancestorTooltip?.collectContent(children || null);
162
+ return render ? _jsx(Render, { render: render, children: children }) : children;
163
+ }
164
+ TooltipContent.displayName = 'Tooltip.Content';
165
+ const TooltipCollectorContext = createContext(null);
166
+ export function TooltipCollector({ children }) {
167
+ const ancestorTooltip = useContext(TooltipContext);
168
+ return (_jsx(TooltipCollectorContext.Provider, { value: ancestorTooltip?.collectContent ?? null, children: children }));
169
+ }
170
+ TooltipCollector.displayName = 'Tooltip.Collector';
171
+ /** Hook for components to send tooltip content up to a collector. */
172
+ export function useTooltipCollector() {
173
+ return useContext(TooltipCollectorContext);
133
174
  }
134
175
  //# sourceMappingURL=Tooltip.parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.parts.js","sourceRoot":"","sources":["../../src/components/Tooltip.parts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.parts.js","sourceRoot":"","sources":["../../src/components/Tooltip.parts.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const AddonMeta: import("@graphprotocol/gds-css").GDSComponent<import("@graphprotocol/gds-css").CSSPropsConfig, boolean>;
1
+ export declare const AddonMeta: import("@graphprotocol/gds-css").GDSComponent<{}, false>;
2
2
  //# sourceMappingURL=Addon.meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Addon.meta.d.ts","sourceRoot":"","sources":["../../../src/components/base/Addon.meta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,yGAA2B,CAAA"}
1
+ {"version":3,"file":"Addon.meta.d.ts","sourceRoot":"","sources":["../../../src/components/base/Addon.meta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,0DAEpB,CAAA"}
@@ -1,3 +1,5 @@
1
1
  import { createComponent } from '@graphprotocol/gds-css';
2
- export const AddonMeta = createComponent('Addon');
2
+ export const AddonMeta = createComponent('Addon', {
3
+ isolate: false,
4
+ });
3
5
  //# sourceMappingURL=Addon.meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Addon.meta.js","sourceRoot":"","sources":["../../../src/components/base/Addon.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"Addon.meta.js","sourceRoot":"","sources":["../../../src/components/base/Addon.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE;IAChD,OAAO,EAAE,KAAK;CACf,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonOrLinkConsumer } from './ButtonOrLink.parts.tsx';
2
2
  export declare const ButtonOrLink: {
3
- (passedProps: import("./ButtonOrLink.parts.tsx").InternalButtonOrLinkProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
3
+ (passedProps: import("./ButtonOrLink.parts.tsx").InternalButtonOrLinkProps): import("react/jsx-runtime").JSX.Element;
4
4
  displayName: string;
5
5
  } & {
6
6
  Config: {
@@ -1,4 +1,5 @@
1
1
  import { type ComponentProps, type ComponentType, type ElementType, type MouseEvent, type ReactElement, type ReactNode } from 'react';
2
+ import { type RenderFn } from './Render.tsx';
2
3
  interface LinkComponentObject {
3
4
  component: ElementType;
4
5
  /** @default false */
@@ -8,7 +9,7 @@ interface LinkComponentObject {
8
9
  type LinkComponent = ComponentType<ComponentProps<'a'>> | ComponentType<{
9
10
  href: string;
10
11
  }> | ReactElement | LinkComponentObject | null;
11
- export interface ButtonOrLinkState {
12
+ export type ButtonOrLinkState = {
12
13
  Element: ElementType;
13
14
  category: 'button' | 'link' | 'other';
14
15
  role: NonNullable<InternalButtonOrLinkProps['role']>;
@@ -17,7 +18,7 @@ export interface ButtonOrLinkState {
17
18
  checked?: InternalButtonOrLinkProps['checked'];
18
19
  href?: InternalButtonOrLinkProps['href'];
19
20
  target?: InternalButtonOrLinkProps['target'];
20
- }
21
+ };
21
22
  export declare namespace InternalButtonOrLinkProps {
22
23
  interface DisableableProps {
23
24
  disabled?: boolean | 'focusable' | undefined;
@@ -33,23 +34,26 @@ export declare namespace InternalButtonOrLinkProps {
33
34
  */
34
35
  inline?: boolean | undefined;
35
36
  /** Custom render function to control the rendered element. */
36
- render?: ((renderProps: Record<string, unknown>, state: ButtonOrLinkState) => ReactNode) | undefined;
37
- /** Custom component to use for rendering links (e.g., Next.js Link) */
37
+ render?: RenderFn<ButtonOrLinkState> | undefined;
38
+ /** Custom component to use for rendering links (e.g. Next.js Link) */
38
39
  linkComponent?: LinkComponent | undefined;
39
40
  }
40
- interface ButtonProps extends BaseProps, DisableableProps, Omit<ComponentProps<'button'>, 'disabled'> {
41
+ interface ButtonProps extends BaseProps, DisableableProps, Omit<ComponentProps<'button'>, 'defaultValue' | 'disabled'> {
41
42
  href?: undefined;
42
43
  target?: undefined;
43
44
  checked?: undefined;
45
+ defaultChecked?: undefined;
44
46
  }
45
- interface ToggleButtonProps extends Omit<ButtonProps, 'checked'> {
46
- /** Whether the button is in a checked/selected/pressed state. */
47
- checked?: boolean | 'indeterminate' | undefined;
47
+ interface ToggleButtonProps extends Omit<ButtonProps, 'checked' | 'defaultChecked'> {
48
+ /** Whether the button is in a pressed/selected state. */
49
+ checked?: boolean | undefined;
50
+ defaultChecked?: boolean | undefined;
48
51
  }
49
- interface LinkProps extends BaseProps, DisableableProps, ComponentProps<'a'> {
52
+ interface LinkProps extends BaseProps, DisableableProps, Omit<ComponentProps<'a'>, 'defaultValue'> {
50
53
  href: string;
51
54
  type?: undefined;
52
55
  checked?: undefined;
56
+ defaultChecked?: undefined;
53
57
  }
54
58
  }
55
59
  export type InternalButtonOrLinkProps = InternalButtonOrLinkProps.ButtonProps | InternalButtonOrLinkProps.ToggleButtonProps | InternalButtonOrLinkProps.LinkProps;
@@ -71,7 +75,7 @@ interface ButtonOrLinkConfigContextValue {
71
75
  * (or a `span` that behaves like a button if `inline` is true).
72
76
  */
73
77
  export declare const ButtonOrLinkRoot: {
74
- (passedProps: InternalButtonOrLinkProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
78
+ (passedProps: InternalButtonOrLinkProps): import("react/jsx-runtime").JSX.Element;
75
79
  displayName: string;
76
80
  };
77
81
  export interface ButtonOrLinkConfigProps {
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonOrLink.parts.d.ts","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.parts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ButtonOrLink.parts.d.ts","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.parts.tsx"],"names":[],"mappings":"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"}