@graphprotocol/gds-react 0.1.2 → 0.2.1

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 (433) hide show
  1. package/dist/GDSContext.d.ts +13 -0
  2. package/dist/GDSContext.d.ts.map +1 -0
  3. package/dist/GDSContext.js +4 -0
  4. package/dist/GDSContext.js.map +1 -0
  5. package/dist/GDSProvider.d.ts +13 -19
  6. package/dist/GDSProvider.d.ts.map +1 -1
  7. package/dist/GDSProvider.js +14 -11
  8. package/dist/GDSProvider.js.map +1 -1
  9. package/dist/components/Address.js +2 -2
  10. package/dist/components/Address.meta.d.ts +1 -13
  11. package/dist/components/Address.meta.d.ts.map +1 -1
  12. package/dist/components/Avatar.d.ts.map +1 -1
  13. package/dist/components/Avatar.js +3 -11
  14. package/dist/components/Avatar.js.map +1 -1
  15. package/dist/components/Avatar.meta.d.ts +0 -2
  16. package/dist/components/Avatar.meta.d.ts.map +1 -1
  17. package/dist/components/AvatarGroup.meta.d.ts +8 -2
  18. package/dist/components/AvatarGroup.meta.d.ts.map +1 -1
  19. package/dist/components/Breadcrumbs.meta.d.ts +2 -3
  20. package/dist/components/Breadcrumbs.meta.d.ts.map +1 -1
  21. package/dist/components/Breadcrumbs.meta.js +3 -1
  22. package/dist/components/Breadcrumbs.meta.js.map +1 -1
  23. package/dist/components/Breadcrumbs.parts.d.ts.map +1 -1
  24. package/dist/components/Breadcrumbs.parts.js +13 -21
  25. package/dist/components/Breadcrumbs.parts.js.map +1 -1
  26. package/dist/components/Button.d.ts.map +1 -1
  27. package/dist/components/Button.js +70 -69
  28. package/dist/components/Button.js.map +1 -1
  29. package/dist/components/Button.meta.d.ts +1 -4
  30. package/dist/components/Button.meta.d.ts.map +1 -1
  31. package/dist/components/ButtonGroup.d.ts.map +1 -1
  32. package/dist/components/ButtonGroup.js +1 -5
  33. package/dist/components/ButtonGroup.js.map +1 -1
  34. package/dist/components/ButtonGroup.meta.d.ts +1 -5
  35. package/dist/components/ButtonGroup.meta.d.ts.map +1 -1
  36. package/dist/components/ButtonGroup.meta.js +8 -0
  37. package/dist/components/ButtonGroup.meta.js.map +1 -1
  38. package/dist/components/Card.js +2 -2
  39. package/dist/components/Card.js.map +1 -1
  40. package/dist/components/Card.meta.d.ts +1 -2
  41. package/dist/components/Card.meta.d.ts.map +1 -1
  42. package/dist/components/Card.meta.js +1 -0
  43. package/dist/components/Card.meta.js.map +1 -1
  44. package/dist/components/Checkbox.meta.d.ts +1 -6
  45. package/dist/components/Checkbox.meta.d.ts.map +1 -1
  46. package/dist/components/Checkbox.meta.js +1 -5
  47. package/dist/components/Checkbox.meta.js.map +1 -1
  48. package/dist/components/Chip.meta.d.ts +2 -4
  49. package/dist/components/Chip.meta.d.ts.map +1 -1
  50. package/dist/components/Chip.parts.d.ts.map +1 -1
  51. package/dist/components/Chip.parts.js +1 -9
  52. package/dist/components/Chip.parts.js.map +1 -1
  53. package/dist/components/Cluster.meta.d.ts +8 -2
  54. package/dist/components/Cluster.meta.d.ts.map +1 -1
  55. package/dist/components/CodeBlock.d.ts +1 -1
  56. package/dist/components/CodeBlock.meta.d.ts +2 -4
  57. package/dist/components/CodeBlock.meta.d.ts.map +1 -1
  58. package/dist/components/CodeBlock.parts.d.ts +6 -7
  59. package/dist/components/CodeBlock.parts.d.ts.map +1 -1
  60. package/dist/components/CodeBlock.parts.js +28 -10
  61. package/dist/components/CodeBlock.parts.js.map +1 -1
  62. package/dist/components/CodeInline.js +3 -3
  63. package/dist/components/CodeInline.meta.d.ts +1 -1
  64. package/dist/components/CodeInline.meta.d.ts.map +1 -1
  65. package/dist/components/CopyButton.d.ts +1 -1
  66. package/dist/components/CopyButton.d.ts.map +1 -1
  67. package/dist/components/CopyButton.js +46 -21
  68. package/dist/components/CopyButton.js.map +1 -1
  69. package/dist/components/CopyButton.meta.d.ts +1 -12
  70. package/dist/components/CopyButton.meta.d.ts.map +1 -1
  71. package/dist/components/CopyButton.meta.js +1 -6
  72. package/dist/components/CopyButton.meta.js.map +1 -1
  73. package/dist/components/CurrencyInput.meta.d.ts +1 -6
  74. package/dist/components/CurrencyInput.meta.d.ts.map +1 -1
  75. package/dist/components/CurrencyInput.meta.js +1 -5
  76. package/dist/components/CurrencyInput.meta.js.map +1 -1
  77. package/dist/components/DescriptionList.meta.d.ts +2 -5
  78. package/dist/components/DescriptionList.meta.d.ts.map +1 -1
  79. package/dist/components/DescriptionList.parts.d.ts +3 -0
  80. package/dist/components/DescriptionList.parts.d.ts.map +1 -1
  81. package/dist/components/DescriptionList.parts.js +1 -0
  82. package/dist/components/DescriptionList.parts.js.map +1 -1
  83. package/dist/components/Divider.meta.d.ts +1 -3
  84. package/dist/components/Divider.meta.d.ts.map +1 -1
  85. package/dist/components/Icon.js +4 -4
  86. package/dist/components/Icon.js.map +1 -1
  87. package/dist/components/Icon.meta.d.ts +0 -2
  88. package/dist/components/Icon.meta.d.ts.map +1 -1
  89. package/dist/components/Icon.meta.js +1 -0
  90. package/dist/components/Icon.meta.js.map +1 -1
  91. package/dist/components/Input.d.ts +5 -4
  92. package/dist/components/Input.d.ts.map +1 -1
  93. package/dist/components/Input.js +3 -2
  94. package/dist/components/Input.js.map +1 -1
  95. package/dist/components/Input.meta.d.ts +1 -6
  96. package/dist/components/Input.meta.d.ts.map +1 -1
  97. package/dist/components/Input.meta.js +1 -5
  98. package/dist/components/Input.meta.js.map +1 -1
  99. package/dist/components/Keyboard.js +1 -1
  100. package/dist/components/Keyboard.meta.d.ts +0 -1
  101. package/dist/components/Keyboard.meta.d.ts.map +1 -1
  102. package/dist/components/Label.meta.d.ts +1 -3
  103. package/dist/components/Label.meta.d.ts.map +1 -1
  104. package/dist/components/Link.d.ts +1 -1
  105. package/dist/components/Link.d.ts.map +1 -1
  106. package/dist/components/Link.js +3 -4
  107. package/dist/components/Link.js.map +1 -1
  108. package/dist/components/Link.meta.d.ts +1 -2
  109. package/dist/components/Link.meta.d.ts.map +1 -1
  110. package/dist/components/Link.meta.js +1 -0
  111. package/dist/components/Link.meta.js.map +1 -1
  112. package/dist/components/Menu.meta.d.ts +31 -2
  113. package/dist/components/Menu.meta.d.ts.map +1 -1
  114. package/dist/components/Menu.meta.js +39 -1
  115. package/dist/components/Menu.meta.js.map +1 -1
  116. package/dist/components/Menu.parts.d.ts +22 -32
  117. package/dist/components/Menu.parts.d.ts.map +1 -1
  118. package/dist/components/Menu.parts.js +286 -300
  119. package/dist/components/Menu.parts.js.map +1 -1
  120. package/dist/components/Modal.d.ts +1 -1
  121. package/dist/components/Modal.meta.d.ts +1 -3
  122. package/dist/components/Modal.meta.d.ts.map +1 -1
  123. package/dist/components/Modal.meta.js +1 -1
  124. package/dist/components/Modal.meta.js.map +1 -1
  125. package/dist/components/Modal.parts.d.ts +14 -15
  126. package/dist/components/Modal.parts.d.ts.map +1 -1
  127. package/dist/components/Modal.parts.js +20 -20
  128. package/dist/components/Modal.parts.js.map +1 -1
  129. package/dist/components/OTCInput.js +1 -1
  130. package/dist/components/OTCInput.meta.d.ts +1 -6
  131. package/dist/components/OTCInput.meta.d.ts.map +1 -1
  132. package/dist/components/OTCInput.meta.js +1 -5
  133. package/dist/components/OTCInput.meta.js.map +1 -1
  134. package/dist/components/Pane.d.ts +9 -0
  135. package/dist/components/Pane.d.ts.map +1 -0
  136. package/dist/components/Pane.js +8 -0
  137. package/dist/components/Pane.js.map +1 -0
  138. package/dist/components/Pane.meta.d.ts +20 -0
  139. package/dist/components/Pane.meta.d.ts.map +1 -0
  140. package/dist/components/Pane.meta.js +30 -0
  141. package/dist/components/Pane.meta.js.map +1 -0
  142. package/dist/components/Pane.parts.d.ts +77 -0
  143. package/dist/components/Pane.parts.d.ts.map +1 -0
  144. package/dist/components/Pane.parts.js +412 -0
  145. package/dist/components/Pane.parts.js.map +1 -0
  146. package/dist/components/Radio.meta.d.ts +1 -6
  147. package/dist/components/Radio.meta.d.ts.map +1 -1
  148. package/dist/components/Radio.meta.js +1 -5
  149. package/dist/components/Radio.meta.js.map +1 -1
  150. package/dist/components/Search.js +1 -1
  151. package/dist/components/Search.meta.d.ts +1 -3
  152. package/dist/components/Search.meta.d.ts.map +1 -1
  153. package/dist/components/SegmentedControl.meta.d.ts +2 -3
  154. package/dist/components/SegmentedControl.meta.d.ts.map +1 -1
  155. package/dist/components/SegmentedControl.meta.js +3 -1
  156. package/dist/components/SegmentedControl.meta.js.map +1 -1
  157. package/dist/components/SegmentedControl.parts.d.ts.map +1 -1
  158. package/dist/components/SegmentedControl.parts.js +4 -9
  159. package/dist/components/SegmentedControl.parts.js.map +1 -1
  160. package/dist/components/Status.meta.d.ts +0 -2
  161. package/dist/components/Status.meta.d.ts.map +1 -1
  162. package/dist/components/Stepper.meta.d.ts +1 -2
  163. package/dist/components/Stepper.meta.d.ts.map +1 -1
  164. package/dist/components/Stepper.meta.js +1 -0
  165. package/dist/components/Stepper.meta.js.map +1 -1
  166. package/dist/components/Stepper.parts.d.ts.map +1 -1
  167. package/dist/components/Stepper.parts.js +1 -1
  168. package/dist/components/Stepper.parts.js.map +1 -1
  169. package/dist/components/Switch.meta.d.ts +1 -6
  170. package/dist/components/Switch.meta.d.ts.map +1 -1
  171. package/dist/components/Switch.meta.js +1 -5
  172. package/dist/components/Switch.meta.js.map +1 -1
  173. package/dist/components/TabSet.meta.d.ts +2 -5
  174. package/dist/components/TabSet.meta.d.ts.map +1 -1
  175. package/dist/components/TabSet.meta.js +3 -1
  176. package/dist/components/TabSet.meta.js.map +1 -1
  177. package/dist/components/Tag.meta.d.ts +0 -2
  178. package/dist/components/Tag.meta.d.ts.map +1 -1
  179. package/dist/components/TextArea.meta.d.ts +1 -6
  180. package/dist/components/TextArea.meta.d.ts.map +1 -1
  181. package/dist/components/TextArea.meta.js +1 -5
  182. package/dist/components/TextArea.meta.js.map +1 -1
  183. package/dist/components/ToggleButton.js +2 -2
  184. package/dist/components/ToggleButton.js.map +1 -1
  185. package/dist/components/ToggleButton.meta.d.ts +1 -12
  186. package/dist/components/ToggleButton.meta.d.ts.map +1 -1
  187. package/dist/components/ToggleButton.meta.js +1 -6
  188. package/dist/components/ToggleButton.meta.js.map +1 -1
  189. package/dist/components/Tooltip.d.ts +2 -2
  190. package/dist/components/Tooltip.d.ts.map +1 -1
  191. package/dist/components/Tooltip.js +2 -2
  192. package/dist/components/Tooltip.js.map +1 -1
  193. package/dist/components/Tooltip.meta.d.ts +12 -7
  194. package/dist/components/Tooltip.meta.d.ts.map +1 -1
  195. package/dist/components/Tooltip.meta.js +13 -2
  196. package/dist/components/Tooltip.meta.js.map +1 -1
  197. package/dist/components/Tooltip.parts.d.ts +31 -22
  198. package/dist/components/Tooltip.parts.d.ts.map +1 -1
  199. package/dist/components/Tooltip.parts.js +127 -98
  200. package/dist/components/Tooltip.parts.js.map +1 -1
  201. package/dist/components/base/Addon.meta.d.ts +1 -1
  202. package/dist/components/base/Addon.meta.d.ts.map +1 -1
  203. package/dist/components/base/Addon.meta.js +3 -1
  204. package/dist/components/base/Addon.meta.js.map +1 -1
  205. package/dist/components/base/ButtonOrLink.d.ts +2 -2
  206. package/dist/components/base/ButtonOrLink.d.ts.map +1 -1
  207. package/dist/components/base/ButtonOrLink.parts.d.ts +14 -6
  208. package/dist/components/base/ButtonOrLink.parts.d.ts.map +1 -1
  209. package/dist/components/base/ButtonOrLink.parts.js +54 -65
  210. package/dist/components/base/ButtonOrLink.parts.js.map +1 -1
  211. package/dist/components/base/Checkable.meta.d.ts +1 -2
  212. package/dist/components/base/Checkable.meta.d.ts.map +1 -1
  213. package/dist/components/base/Checkable.parts.d.ts +6 -6
  214. package/dist/components/base/Checkable.parts.d.ts.map +1 -1
  215. package/dist/components/base/Checkable.parts.js +2 -2
  216. package/dist/components/base/Checkable.parts.js.map +1 -1
  217. package/dist/components/base/Field.meta.d.ts +1 -2
  218. package/dist/components/base/Field.meta.d.ts.map +1 -1
  219. package/dist/components/base/Field.parts.d.ts +5 -4
  220. package/dist/components/base/Field.parts.d.ts.map +1 -1
  221. package/dist/components/base/Field.parts.js +1 -1
  222. package/dist/components/base/Field.parts.js.map +1 -1
  223. package/dist/components/base/MaybeButtonOrLink.d.ts +20 -3
  224. package/dist/components/base/MaybeButtonOrLink.d.ts.map +1 -1
  225. package/dist/components/base/MaybeButtonOrLink.js +5 -3
  226. package/dist/components/base/MaybeButtonOrLink.js.map +1 -1
  227. package/dist/components/base/Portal.d.ts +1 -1
  228. package/dist/components/base/Portal.d.ts.map +1 -1
  229. package/dist/components/base/Portal.js +3 -6
  230. package/dist/components/base/Portal.js.map +1 -1
  231. package/dist/components/base/Presence.d.ts +157 -0
  232. package/dist/components/base/Presence.d.ts.map +1 -0
  233. package/dist/components/base/Presence.js +808 -0
  234. package/dist/components/base/Presence.js.map +1 -0
  235. package/dist/components/base/Render.d.ts +21 -6
  236. package/dist/components/base/Render.d.ts.map +1 -1
  237. package/dist/components/base/Render.js +3 -2
  238. package/dist/components/base/Render.js.map +1 -1
  239. package/dist/components/base/Transition.js +2 -2
  240. package/dist/components/base/Transition.meta.d.ts +1 -1
  241. package/dist/components/base/Transition.meta.d.ts.map +1 -1
  242. package/dist/components/base/Transition.meta.js +1 -0
  243. package/dist/components/base/Transition.meta.js.map +1 -1
  244. package/dist/components/base/index.d.ts +2 -2
  245. package/dist/components/base/index.d.ts.map +1 -1
  246. package/dist/components/base/index.js +2 -2
  247. package/dist/components/base/index.js.map +1 -1
  248. package/dist/components/index.d.ts +3 -1
  249. package/dist/components/index.d.ts.map +1 -1
  250. package/dist/components/index.js +3 -1
  251. package/dist/components/index.js.map +1 -1
  252. package/dist/hooks/index.d.ts +1 -0
  253. package/dist/hooks/index.d.ts.map +1 -1
  254. package/dist/hooks/index.js +1 -0
  255. package/dist/hooks/index.js.map +1 -1
  256. package/dist/hooks/useCSSProp.d.ts.map +1 -1
  257. package/dist/hooks/useCSSProp.js +7 -7
  258. package/dist/hooks/useCSSProp.js.map +1 -1
  259. package/dist/hooks/useCSSProps.d.ts +11 -13
  260. package/dist/hooks/useCSSProps.d.ts.map +1 -1
  261. package/dist/hooks/useCSSProps.js +11 -19
  262. package/dist/hooks/useCSSProps.js.map +1 -1
  263. package/dist/hooks/useCSSPropsPolyfill.d.ts +1 -1
  264. package/dist/hooks/useCSSPropsPolyfill.d.ts.map +1 -1
  265. package/dist/hooks/useCSSPropsPolyfill.js +12 -20
  266. package/dist/hooks/useCSSPropsPolyfill.js.map +1 -1
  267. package/dist/hooks/useCSSState.d.ts.map +1 -1
  268. package/dist/hooks/useCSSState.js +7 -3
  269. package/dist/hooks/useCSSState.js.map +1 -1
  270. package/dist/hooks/useControlled.d.ts.map +1 -1
  271. package/dist/hooks/useControlled.js +6 -4
  272. package/dist/hooks/useControlled.js.map +1 -1
  273. package/dist/hooks/useEffectWithRefDeps.d.ts +2 -2
  274. package/dist/hooks/useEffectWithRefDeps.d.ts.map +1 -1
  275. package/dist/hooks/useEffectWithRefDeps.js +1 -1
  276. package/dist/hooks/useEffectWithRefDeps.js.map +1 -1
  277. package/dist/hooks/useFirstRender.d.ts +14 -0
  278. package/dist/hooks/useFirstRender.d.ts.map +1 -0
  279. package/dist/hooks/useFirstRender.js +20 -0
  280. package/dist/hooks/useFirstRender.js.map +1 -0
  281. package/dist/hooks/useGDS.d.ts +1 -1
  282. package/dist/hooks/useGDS.js +1 -1
  283. package/dist/hooks/useGDS.js.map +1 -1
  284. package/dist/hooks/usePrevious.d.ts +6 -4
  285. package/dist/hooks/usePrevious.d.ts.map +1 -1
  286. package/dist/hooks/usePrevious.js +6 -4
  287. package/dist/hooks/usePrevious.js.map +1 -1
  288. package/dist/hooks/useRefWithInit.d.ts +2 -2
  289. package/dist/hooks/useRefWithInit.d.ts.map +1 -1
  290. package/dist/hooks/useRefWithInit.js.map +1 -1
  291. package/dist/hooks/useStyleObserver.d.ts +2 -2
  292. package/dist/hooks/useStyleObserver.d.ts.map +1 -1
  293. package/dist/hooks/useStyleObserver.js +1 -1
  294. package/dist/hooks/useStyleObserver.js.map +1 -1
  295. package/dist/icons/CalendarDynamicIcon.d.ts +8 -5
  296. package/dist/icons/CalendarDynamicIcon.d.ts.map +1 -1
  297. package/dist/icons/CalendarDynamicIcon.js +5 -2
  298. package/dist/icons/CalendarDynamicIcon.js.map +1 -1
  299. package/dist/icons/CopyInteractiveIcon.d.ts +5 -4
  300. package/dist/icons/CopyInteractiveIcon.d.ts.map +1 -1
  301. package/dist/icons/CopyInteractiveIcon.js +2 -2
  302. package/dist/icons/CopyInteractiveIcon.js.map +1 -1
  303. package/dist/icons/SidebarLeftInteractiveIcon.d.ts +4 -3
  304. package/dist/icons/SidebarLeftInteractiveIcon.d.ts.map +1 -1
  305. package/dist/icons/SidebarLeftInteractiveIcon.js +2 -2
  306. package/dist/icons/SidebarLeftInteractiveIcon.js.map +1 -1
  307. package/dist/icons/SidebarRightInteractiveIcon.d.ts +4 -3
  308. package/dist/icons/SidebarRightInteractiveIcon.d.ts.map +1 -1
  309. package/dist/icons/SidebarRightInteractiveIcon.js +2 -2
  310. package/dist/icons/SidebarRightInteractiveIcon.js.map +1 -1
  311. package/dist/tailwind-plugin.d.ts.map +1 -1
  312. package/dist/tailwind-plugin.js +8 -5
  313. package/dist/tailwind-plugin.js.map +1 -1
  314. package/dist/utils/InlineCounter.d.ts +3 -0
  315. package/dist/utils/InlineCounter.d.ts.map +1 -0
  316. package/dist/utils/InlineCounter.js +7 -0
  317. package/dist/utils/InlineCounter.js.map +1 -0
  318. package/dist/utils/RenderCount.d.ts +3 -0
  319. package/dist/utils/RenderCount.d.ts.map +1 -0
  320. package/dist/utils/RenderCount.js +7 -0
  321. package/dist/utils/RenderCount.js.map +1 -0
  322. package/dist/utils/cn.d.ts +3 -1
  323. package/dist/utils/cn.d.ts.map +1 -1
  324. package/dist/utils/cn.js +3 -1
  325. package/dist/utils/cn.js.map +1 -1
  326. package/dist/utils/getCSSPropsAttributes.d.ts +10 -3
  327. package/dist/utils/getCSSPropsAttributes.d.ts.map +1 -1
  328. package/dist/utils/getCSSPropsAttributes.js +4 -5
  329. package/dist/utils/getCSSPropsAttributes.js.map +1 -1
  330. package/dist/utils/index.d.ts +2 -0
  331. package/dist/utils/index.d.ts.map +1 -1
  332. package/dist/utils/index.js +2 -0
  333. package/dist/utils/index.js.map +1 -1
  334. package/dist/utils/splitProps.d.ts +1 -4
  335. package/dist/utils/splitProps.d.ts.map +1 -1
  336. package/dist/utils/splitProps.js +2 -7
  337. package/dist/utils/splitProps.js.map +1 -1
  338. package/dist/utils/trimReactNode.d.ts +10 -8
  339. package/dist/utils/trimReactNode.d.ts.map +1 -1
  340. package/dist/utils/trimReactNode.js +10 -8
  341. package/dist/utils/trimReactNode.js.map +1 -1
  342. package/package.json +21 -21
  343. package/src/GDSContext.ts +16 -0
  344. package/src/GDSProvider.tsx +31 -40
  345. package/src/components/Address.tsx +2 -2
  346. package/src/components/Avatar.tsx +8 -12
  347. package/src/components/Breadcrumbs.meta.ts +3 -1
  348. package/src/components/Breadcrumbs.parts.tsx +16 -28
  349. package/src/components/Button.tsx +114 -104
  350. package/src/components/ButtonGroup.meta.ts +8 -0
  351. package/src/components/ButtonGroup.tsx +1 -5
  352. package/src/components/Card.meta.ts +1 -0
  353. package/src/components/Card.tsx +2 -2
  354. package/src/components/Checkbox.meta.ts +1 -5
  355. package/src/components/Chip.parts.tsx +1 -11
  356. package/src/components/CodeBlock.parts.tsx +75 -50
  357. package/src/components/CodeInline.tsx +3 -3
  358. package/src/components/CopyButton.meta.ts +1 -6
  359. package/src/components/CopyButton.tsx +50 -27
  360. package/src/components/CurrencyInput.meta.ts +1 -5
  361. package/src/components/DescriptionList.parts.tsx +1 -0
  362. package/src/components/Icon.meta.ts +1 -0
  363. package/src/components/Icon.tsx +4 -4
  364. package/src/components/Input.meta.ts +1 -5
  365. package/src/components/Input.tsx +6 -7
  366. package/src/components/Keyboard.tsx +1 -1
  367. package/src/components/Link.meta.ts +1 -0
  368. package/src/components/Link.tsx +4 -5
  369. package/src/components/Menu.meta.ts +39 -1
  370. package/src/components/Menu.parts.tsx +554 -547
  371. package/src/components/Modal.meta.ts +1 -1
  372. package/src/components/Modal.parts.tsx +40 -46
  373. package/src/components/OTCInput.meta.ts +1 -5
  374. package/src/components/OTCInput.tsx +1 -1
  375. package/src/components/Pane.meta.ts +31 -0
  376. package/src/components/Pane.parts.tsx +713 -0
  377. package/src/components/Pane.tsx +17 -0
  378. package/src/components/Radio.meta.ts +1 -5
  379. package/src/components/Search.tsx +1 -1
  380. package/src/components/SegmentedControl.meta.ts +3 -1
  381. package/src/components/SegmentedControl.parts.tsx +7 -10
  382. package/src/components/Stepper.meta.ts +1 -0
  383. package/src/components/Stepper.parts.tsx +3 -1
  384. package/src/components/Switch.meta.ts +1 -5
  385. package/src/components/TabSet.meta.ts +3 -1
  386. package/src/components/TextArea.meta.ts +1 -5
  387. package/src/components/ToggleButton.meta.ts +1 -6
  388. package/src/components/ToggleButton.tsx +1 -1
  389. package/src/components/Tooltip.meta.ts +13 -2
  390. package/src/components/Tooltip.parts.tsx +241 -169
  391. package/src/components/Tooltip.tsx +2 -2
  392. package/src/components/base/Addon.meta.ts +3 -1
  393. package/src/components/base/ButtonOrLink.parts.tsx +118 -97
  394. package/src/components/base/ButtonOrLink.tsx +1 -0
  395. package/src/components/base/Checkable.parts.tsx +6 -13
  396. package/src/components/base/Field.parts.tsx +5 -5
  397. package/src/components/base/MaybeButtonOrLink.tsx +26 -5
  398. package/src/components/base/Portal.tsx +5 -7
  399. package/src/components/base/Presence.tsx +1375 -0
  400. package/src/components/base/Render.tsx +37 -15
  401. package/src/components/base/Transition.meta.ts +1 -0
  402. package/src/components/base/Transition.tsx +2 -2
  403. package/src/components/base/index.ts +9 -2
  404. package/src/components/index.ts +11 -2
  405. package/src/hooks/index.ts +1 -0
  406. package/src/hooks/useCSSProp.ts +7 -9
  407. package/src/hooks/useCSSProps.ts +13 -22
  408. package/src/hooks/useCSSPropsPolyfill.ts +15 -23
  409. package/src/hooks/useCSSState.ts +11 -6
  410. package/src/hooks/useControlled.ts +16 -8
  411. package/src/hooks/useEffectWithRefDeps.ts +2 -2
  412. package/src/hooks/useFirstRender.ts +36 -0
  413. package/src/hooks/useGDS.ts +1 -1
  414. package/src/hooks/usePrevious.ts +6 -4
  415. package/src/hooks/useRefWithInit.ts +2 -2
  416. package/src/hooks/useStyleObserver.ts +6 -2
  417. package/src/icons/CalendarDynamicIcon.tsx +16 -6
  418. package/src/icons/CopyInteractiveIcon.tsx +10 -5
  419. package/src/icons/SidebarLeftInteractiveIcon.tsx +9 -5
  420. package/src/icons/SidebarRightInteractiveIcon.tsx +9 -5
  421. package/src/tailwind-plugin.ts +8 -5
  422. package/src/utils/InlineCounter.tsx +17 -0
  423. package/src/utils/RenderCount.tsx +7 -0
  424. package/src/utils/cn.ts +3 -1
  425. package/src/utils/getCSSPropsAttributes.ts +13 -8
  426. package/src/utils/index.ts +2 -0
  427. package/src/utils/splitProps.ts +9 -9
  428. package/src/utils/trimReactNode.tsx +10 -8
  429. package/dist/components/base/ButtonOrLink.meta.d.ts +0 -2
  430. package/dist/components/base/ButtonOrLink.meta.d.ts.map +0 -1
  431. package/dist/components/base/ButtonOrLink.meta.js +0 -6
  432. package/dist/components/base/ButtonOrLink.meta.js.map +0 -1
  433. package/src/components/base/ButtonOrLink.meta.ts +0 -6
@@ -1,134 +1,163 @@
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, useCallback, useContext, useEffect, useRef, useState, } from 'react';
4
4
  import { Tooltip } from '@base-ui/react/tooltip';
5
+ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
5
6
  import { twToPx } from '@graphprotocol/gds-css';
6
7
  import { useControlled, useCSSPropsPolyfill, useGDS } from "../hooks/index.js";
7
- import { cn, getCSSPropsAttributes } from "../utils/index.js";
8
+ import { cn, getCSSPropsAttributes, getReactNodeKey } from "../utils/index.js";
8
9
  import { Portal } from "./base/Portal.js";
9
10
  import { Render } from "./base/Render.js";
10
11
  import { TooltipMeta } from "./Tooltip.meta.js";
11
12
  const TooltipContext = createContext(null);
12
- const TooltipCollectorContext = createContext(null);
13
13
  const OPEN_DELAY = 300;
14
- export function TooltipRoot({ ref: passedRef, content: passedContent, position, gap, align, open: controlledOpen, onOpenChange, disabled, className, style, children, ...props }) {
14
+ export function TooltipRoot({ ref: passedRef, content: passedContent, side, gap, align, alignOffset, open: controlledOpen, onOpenChange, disabled, overrideDescendants, className, style, children, triggerProps: passedTriggerProps, ...passedProps }) {
15
15
  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();
16
+ const ancestorTooltip = useContext(TooltipContext);
17
+ const popupProps = passedTriggerProps !== 'forward' ? passedProps : {};
18
+ const popupRef = passedTriggerProps !== 'forward' ? passedRef : undefined;
19
+ const triggerProps = passedTriggerProps === 'forward' ? passedProps : passedTriggerProps;
20
+ const triggerDisabled = triggerProps && 'disabled' in triggerProps ? triggerProps.disabled === true : false;
21
+ const [cssPropsPolyfillRef, cssPropsPolyfillAttributes, cssProps] = useCSSPropsPolyfill(TooltipMeta, { side, align, disabled, overrideDescendants }, { returnPropValues: { side, gap, align, alignOffset, disabled, overrideDescendants } });
22
+ const cssPropsAttributes = getCSSPropsAttributes(TooltipMeta, { side, gap, align, alignOffset, disabled, overrideDescendants }, style);
23
+ const [setCollectedContent, collectedContent] = useDeferredContent();
21
24
  const content = passedContent !== undefined ? passedContent : collectedContent;
22
- const enabled = !cssProps.disabled && !hasEnabledTooltipAncestor && Boolean(content);
23
- const [open, ownSetOpen] = useControlled(controlledOpen, false, onOpenChange);
24
- const nestedSetOpen = useRef(null);
25
- const registerNestedSetOpen = useCallback((newNestedSetOpen) => {
26
- nestedSetOpen.current = newNestedSetOpen;
27
- }, []);
28
- const setOpen = (newOpen) => {
29
- ownSetOpen(newOpen);
30
- /**
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).
35
- */
36
- nestedSetOpen.current?.(newOpen);
25
+ /**
26
+ * Propagate collected content up till it reaches `Tooltip.Collector`'s closest non-disabled
27
+ * tooltip ancestor with no passed content.
28
+ */
29
+ const collectContent = (newCollectedContent, priority) => {
30
+ if (passedContent === undefined || cssProps.disabled) {
31
+ void setCollectedContent(newCollectedContent, priority);
32
+ ancestorTooltip?.collectContent(newCollectedContent, priority);
33
+ }
37
34
  };
38
- tooltipAncestor?.registerNestedSetOpen(setOpen);
39
- if (cssProps.disabled && open) {
40
- setOpen(false);
41
- }
35
+ const disabledByAncestor = ancestorTooltip?.disableDescendants ?? false;
36
+ const disableDescendants = disabledByAncestor ||
37
+ (content !== undefined && !cssProps.disabled && cssProps.overrideDescendants);
38
+ const enabled = Boolean(content) &&
39
+ !cssProps.disabled &&
40
+ (!triggerDisabled || controlledOpen) &&
41
+ !disabledByAncestor;
42
+ const triggerRef = useRef(null);
43
+ const triggerPassedRef = useMergedRefs(
44
+ /**
45
+ * Conditionally setting the ref to force the tooltip to refresh its position when `enabled`
46
+ * changes, preventing it from moving to the viewport's top-left corner in some cases (e.g. when
47
+ * `CopyButton` returns to its default tooltip).
48
+ */
49
+ enabled ? triggerRef : undefined, (passedTriggerProps === 'forward' ? passedRef : passedTriggerProps?.ref));
50
+ const [open, privateSetOpen] = useControlled(controlledOpen, false, onOpenChange);
51
+ const justOpenedRef = useRef(false);
52
+ const setOpen = useCallback((newOpen, reason) => {
53
+ privateSetOpen(newOpen, reason);
54
+ if (newOpen) {
55
+ justOpenedRef.current = true;
56
+ window.setTimeout(() => {
57
+ justOpenedRef.current = false;
58
+ }, 0);
59
+ }
60
+ }, [privateSetOpen]);
42
61
  const openTimeoutRef = useRef(undefined);
43
- const clearOpenTimeout = () => {
62
+ const clearOpenTimeout = useCallback(() => {
44
63
  if (!openTimeoutRef.current)
45
64
  return;
46
65
  window.clearTimeout(openTimeoutRef.current);
47
66
  openTimeoutRef.current = undefined;
48
- };
49
- if (!enabled) {
50
- clearOpenTimeout();
51
- }
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, ...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);
67
+ }, []);
68
+ useEffect(() => {
69
+ if (!enabled) {
70
+ clearOpenTimeout();
71
+ if (open)
72
+ setOpen(false, 'disabled');
73
+ }
74
+ }, [enabled, open, setOpen, clearOpenTimeout]);
75
+ return (_jsx(TooltipContext.Provider, { value: {
76
+ collectContent,
77
+ disableDescendants,
78
+ }, children: _jsxs(Tooltip.Root, { disabled: !enabled, disableHoverablePopup: true, open: open, onOpenChange: (newOpen, eventDetails) => {
79
+ clearOpenTimeout();
80
+ if (!enabled)
81
+ return;
82
+ // Disable Base UI's default behavior of closing the tooltip when pressing the trigger
83
+ if (!newOpen && eventDetails.reason === 'trigger-press') {
84
+ // Ensure clicking on the trigger before the tooltip has a chance to open doesn't prevent it from opening
85
+ openTimeoutRef.current = window.setTimeout(() => setOpen(true, eventDetails.reason), OPEN_DELAY);
86
+ return;
87
+ }
88
+ // Make `overrideDescendants={false}` work as expected (see the `NestedSimultaneous` story)
89
+ if (!newOpen &&
90
+ eventDetails.reason === 'none' &&
91
+ (justOpenedRef.current ||
92
+ (!cssProps.overrideDescendants && triggerRef.current?.matches(':hover')))) {
93
+ return;
94
+ }
95
+ setOpen(newOpen, eventDetails.reason);
96
+ }, children: [_jsx(Tooltip.Trigger, { delay: OPEN_DELAY, closeDelay: 100, ...triggerProps, ref: triggerPassedRef, disabled: undefined, render: (renderProps) => (_jsx(Render, { render: children, ...renderProps, disabled: triggerDisabled, onClick: triggerProps?.onClick })) }), _jsx(Tooltip.Portal, { children: _jsx(Tooltip.Positioner, { side: cssProps.side === 'start'
97
+ ? 'inline-start'
98
+ : cssProps.side === 'end'
99
+ ? 'inline-end'
100
+ : cssProps.side, sideOffset: twToPx(cssProps.gap), align: cssProps.align, alignOffset: twToPx(cssProps.alignOffset), collisionPadding: 8, disableAnchorTracking // Prevent the tooltip from moving to the viewport's top-left corner when the trigger is unmounted
101
+ : true, ...dirProps, children: _jsx(Tooltip.Popup, { ref: popupRef, 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
102
+ i:origin-(--transform-origin)
103
+ i:data-ending-style:opacity-0
104
+ i:data-starting-style:opacity-0
105
+ i:data-starting-style:data-[side=bottom]:-translate-y-1
106
+ i:data-starting-style:data-[side=inline-end]:-translate-x-1
107
+ i:data-starting-style:data-[side=inline-start]:translate-x-1
108
+ i:data-starting-style:data-[side=top]:translate-y-1
109
+ i:rtl:data-starting-style:data-[side=end]:translate-x-1
110
+ i:rtl:data-starting-style:data-[side=start]:-translate-x-1`, className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...popupProps, children: content }) }, getReactNodeKey(content)) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, className: cn('gds-tooltip i:invisible', className), ...cssPropsAttributes, ...cssPropsPolyfillAttributes, ...popupProps }) })] }) }));
86
111
  }
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;
112
+ function useDeferredContent() {
113
+ const [content, setContent] = useState(undefined);
114
+ const pendingContentRef = useRef(undefined);
115
+ const pendingPriorityRef = useRef(undefined);
116
+ // Store the content in a ref to avoid updating the state during render
117
+ const setDeferredContent = (newContent, priority = 0) => {
118
+ // If we've already stored content this render, only replace it if the new content has higher priority
119
+ if (pendingContentRef.current === undefined ||
120
+ priority >= (pendingPriorityRef.current ?? -Infinity)) {
121
+ pendingContentRef.current = newContent;
122
+ pendingPriorityRef.current = priority;
98
123
  }
124
+ return pendingContentRef.current;
99
125
  };
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
126
+ // Commit the stored content after render
127
+ // oxlint-disable-next-line react-hooks/exhaustive-deps -- Must run after every render to sync
102
128
  useEffect(() => {
103
- if (collectedContent !== pendingContent.current) {
104
- setCollectedContent(pendingContent.current);
129
+ if (getReactNodeKey(content) !== getReactNodeKey(pendingContentRef.current)) {
130
+ setContent(pendingContentRef.current);
105
131
  }
106
132
  // Reset for next render
107
- pendingContent.current = null;
108
- pendingPriority.current = 0;
133
+ pendingContentRef.current = undefined;
134
+ pendingPriorityRef.current = undefined;
109
135
  });
110
- return {
111
- onCollect,
112
- collectedContent,
113
- };
136
+ return [setDeferredContent, content];
114
137
  }
115
138
  /**
116
139
  * 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`
140
+ * closest `Tooltip`, in addition to rendering it inline. It is meant to be wrapped in a `sr-only`
118
141
  * element, so that the content rendered inline is visually hidden but accessible to screen readers,
119
142
  * unlike the content rendered in the tooltip itself, which is hidden from the accessibility tree
120
143
  * since most tooltips are decorative. This allows a tooltip to be non-decorative, in the rare case
121
144
  * where the information it provides is not otherwise available to screen readers (i.e. different
122
145
  * from the trigger's accessible name).
123
146
  */
124
- 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;
147
+ export function TooltipContent({ children, priority, render }) {
148
+ const ancestorTooltip = useContext(TooltipContext);
149
+ ancestorTooltip?.collectContent(children || null, priority);
150
+ return render ? _jsx(Render, { render: render, children: children }) : children;
151
+ }
152
+ TooltipContent.displayName = 'Tooltip.Content';
153
+ const TooltipCollectorContext = createContext(null);
154
+ export function TooltipCollector({ children }) {
155
+ const ancestorTooltip = useContext(TooltipContext);
156
+ return (_jsx(TooltipCollectorContext.Provider, { value: ancestorTooltip?.collectContent ?? null, children: children }));
157
+ }
158
+ TooltipCollector.displayName = 'Tooltip.Collector';
159
+ /** Hook for components to send tooltip content up to a collector. */
160
+ export function useTooltipCollector() {
161
+ return useContext(TooltipCollectorContext);
133
162
  }
134
163
  //# 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: {
@@ -10,5 +10,5 @@ export declare const ButtonOrLink: {
10
10
  Consumer: typeof ButtonOrLinkConsumer;
11
11
  };
12
12
  export { useAncestorButtonOrLink } from './ButtonOrLink.parts.tsx';
13
- export type { ButtonOrLinkProps, ButtonOrLinkState, ButtonOrLinkConfigProps, InternalButtonOrLinkProps, OmitInternalButtonOrLinkProps, } from './ButtonOrLink.parts.tsx';
13
+ export type { ButtonOrLinkProps, ButtonOrLinkState, ButtonOrLinkRenderState, ButtonOrLinkConfigProps, InternalButtonOrLinkProps, OmitInternalButtonOrLinkProps, } from './ButtonOrLink.parts.tsx';
14
14
  //# sourceMappingURL=ButtonOrLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonOrLink.d.ts","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAErB,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,YAAY;;;;;;;;;CAGvB,CAAA;AAEF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"ButtonOrLink.d.ts","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAErB,MAAM,0BAA0B,CAAA;AAEjC,eAAO,MAAM,YAAY;;;;;;;;;CAGvB,CAAA;AAEF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAA"}
@@ -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,15 +9,22 @@ interface LinkComponentObject {
8
9
  type LinkComponent = ComponentType<ComponentProps<'a'>> | ComponentType<{
9
10
  href: string;
10
11
  }> | ReactElement | LinkComponentObject | null;
11
- export interface ButtonOrLinkState {
12
- Element: ElementType;
13
- category: 'button' | 'link' | 'other';
12
+ export type ButtonOrLinkState = {
13
+ category: 'button' | 'link';
14
14
  role: NonNullable<InternalButtonOrLinkProps['role']>;
15
15
  disabled: NonNullable<InternalButtonOrLinkProps['disabled']>;
16
16
  type?: InternalButtonOrLinkProps['type'];
17
17
  checked?: InternalButtonOrLinkProps['checked'];
18
18
  href?: InternalButtonOrLinkProps['href'];
19
19
  target?: InternalButtonOrLinkProps['target'];
20
+ };
21
+ export type ButtonOrLinkRenderState = ButtonOrLinkState & {
22
+ Element: ElementType<ButtonOrLinkRenderElementProps>;
23
+ elementProps: ButtonOrLinkRenderElementProps;
24
+ };
25
+ interface ButtonOrLinkRenderElementProps {
26
+ buttonOrLinkState: ButtonOrLinkState;
27
+ [key: string]: unknown;
20
28
  }
21
29
  export declare namespace InternalButtonOrLinkProps {
22
30
  interface DisableableProps {
@@ -33,8 +41,8 @@ export declare namespace InternalButtonOrLinkProps {
33
41
  */
34
42
  inline?: boolean | undefined;
35
43
  /** 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) */
44
+ render?: RenderFn<ButtonOrLinkRenderState> | undefined;
45
+ /** Custom component to use for rendering links (e.g. Next.js Link) */
38
46
  linkComponent?: LinkComponent | undefined;
39
47
  }
40
48
  interface ButtonProps extends BaseProps, DisableableProps, Omit<ComponentProps<'button'>, 'defaultValue' | 'disabled'> {
@@ -74,7 +82,7 @@ interface ButtonOrLinkConfigContextValue {
74
82
  * (or a `span` that behaves like a button if `inline` is true).
75
83
  */
76
84
  export declare const ButtonOrLinkRoot: {
77
- (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;
85
+ (passedProps: InternalButtonOrLinkProps): import("react/jsx-runtime").JSX.Element;
78
86
  displayName: string;
79
87
  };
80
88
  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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"}
@@ -12,9 +12,9 @@ export function useAncestorButtonOrLink() {
12
12
  }
13
13
  const memoizedWithContextComponents = new Map();
14
14
  function withContext(Element) {
15
- if (memoizedWithContextComponents.has(Element)) {
16
- return memoizedWithContextComponents.get(Element);
17
- }
15
+ const cached = memoizedWithContextComponents.get(Element);
16
+ if (cached)
17
+ return cached;
18
18
  const newWithContextComponent = ({ buttonOrLinkState, ...props }) => (_jsx(ButtonOrLinkContext.Provider, { value: buttonOrLinkState, children: _jsx(Element, { ...props }) }));
19
19
  memoizedWithContextComponents.set(Element, newWithContextComponent);
20
20
  return newWithContextComponent;
@@ -46,7 +46,27 @@ export const ButtonOrLinkRoot = (passedProps) => {
46
46
  }
47
47
  : undefined,
48
48
  });
49
- const { disabled = false, inline = false, linkComponent: passedLinkComponent, render, onClick, className: passedClassName, children, ...nonBaseProps } = props;
49
+ const { disabled = false, inline = false, linkComponent: passedLinkComponent, render: passedRender, className: passedClassName, children, ...nonBaseProps } = props;
50
+ const manuallyDisabledEventProps = {
51
+ onClick: undefined,
52
+ onMouseDown: undefined,
53
+ onMouseUp: undefined,
54
+ onPointerDown: undefined,
55
+ onPointerUp: undefined,
56
+ onTouchStart: undefined,
57
+ onTouchEnd: undefined,
58
+ onKeyDown: undefined,
59
+ onKeyUp: undefined,
60
+ };
61
+ const render = (Element, renderProps, buttonOrLinkState, extraElementProps) => {
62
+ const elementProps = { buttonOrLinkState, ...extraElementProps };
63
+ const renderState = {
64
+ ...buttonOrLinkState,
65
+ Element,
66
+ elementProps,
67
+ };
68
+ return passedRender ? (passedRender(renderProps, renderState)) : (_jsx(Element, { ...renderProps, ...elementProps }));
69
+ };
50
70
  const className = cn('gds-button-or-link', passedClassName);
51
71
  if (props.href === undefined) {
52
72
  const { role = 'button', type = 'button', checked, defaultChecked, href: _href, target: _target, ...remainingProps } = nonBaseProps;
@@ -54,15 +74,6 @@ export const ButtonOrLinkRoot = (passedProps) => {
54
74
  // oxlint-disable-next-line no-console
55
75
  console.warn('[ButtonOrLink] `defaultChecked` is not supported; use a controlled `checked` prop instead, or wrap `ButtonOrLink` in a component that manages the uncontrolled state');
56
76
  }
57
- const Element = inline ? SpanButtonWithContext : ButtonWithContext;
58
- const state = {
59
- Element,
60
- category: 'button',
61
- role,
62
- disabled,
63
- type,
64
- checked,
65
- };
66
77
  const checkedAttribute = checked === undefined
67
78
  ? {}
68
79
  : ((checked) => {
@@ -76,7 +87,7 @@ export const ButtonOrLinkRoot = (passedProps) => {
76
87
  }
77
88
  return { 'aria-checked': checkedOrMixed };
78
89
  })(checked);
79
- let buttonProps = {
90
+ const buttonProps = {
80
91
  role,
81
92
  type: disabled === 'focusable' ? 'button' : type,
82
93
  disabled: disabled === true,
@@ -84,44 +95,29 @@ export const ButtonOrLinkRoot = (passedProps) => {
84
95
  ...checkedAttribute,
85
96
  className,
86
97
  children,
87
- buttonOrLinkState: state,
88
- };
89
- buttonProps = {
90
- ...buttonProps,
91
- onClick: !disabled ? onClick : undefined,
92
98
  ...remainingProps,
99
+ ...((disabled === 'focusable' || (disabled && inline)) && manuallyDisabledEventProps),
93
100
  };
94
- return render ? render(buttonProps, state) : _jsx(Element, { ...buttonProps });
95
- }
96
- const { href, target, role = 'link', rel = target === '_blank' ? 'noopener noreferrer' : undefined, type: _type, checked: _checked, defaultChecked: _defaultChecked, ...remainingProps } = nonBaseProps;
97
- const state = {
98
- Element: 'a',
99
- category: 'link',
100
- role,
101
- disabled,
102
- href,
103
- target,
104
- };
105
- let linkProps = disabled
106
- ? {
101
+ const buttonOrLinkState = {
102
+ category: 'button',
107
103
  role,
108
- tabIndex: disabled === 'focusable' ? 0 : undefined,
109
- 'aria-disabled': true,
110
- className,
111
- children,
112
- }
113
- : {
114
- role: role !== 'link' ? role : undefined,
115
- href,
116
- target,
117
- rel,
118
- className,
119
- children,
104
+ disabled,
105
+ type,
106
+ checked,
120
107
  };
121
- linkProps = {
122
- ...linkProps,
123
- onClick: !disabled ? onClick : undefined,
108
+ return render(inline ? SpanButtonWithContext : ButtonWithContext, buttonProps, buttonOrLinkState);
109
+ }
110
+ const { href, target, role = 'link', rel = target === '_blank' ? 'noopener noreferrer' : undefined, type: _type, checked: _checked, defaultChecked: _defaultChecked, ...remainingProps } = nonBaseProps;
111
+ let linkProps = {
112
+ role: disabled || role !== 'link' ? role : undefined,
113
+ href: !disabled ? href : undefined,
114
+ target: !disabled ? target : undefined,
115
+ rel: !disabled ? rel : undefined,
116
+ 'aria-disabled': Boolean(disabled) || undefined,
117
+ className,
118
+ children,
124
119
  ...remainingProps,
120
+ ...(disabled && manuallyDisabledEventProps),
125
121
  };
126
122
  let linkComponent = null;
127
123
  if (passedLinkComponent) {
@@ -138,23 +134,17 @@ export const ButtonOrLinkRoot = (passedProps) => {
138
134
  linkComponent = passedLinkComponent;
139
135
  }
140
136
  }
137
+ const buttonOrLinkState = {
138
+ category: 'link',
139
+ role,
140
+ disabled,
141
+ href,
142
+ target,
143
+ };
141
144
  if (isValidElement(linkComponent)) {
142
- const Element = RenderWithContext;
143
- state.Element = Element;
144
- const elementProps = {
145
- ...linkProps,
146
- render: linkComponent,
147
- buttonOrLinkState: state,
148
- };
149
- return render ? render(elementProps, state) : _jsx(Element, { ...elementProps });
145
+ return render(RenderWithContext, linkProps, buttonOrLinkState, { render: linkComponent });
150
146
  }
151
- const Element = linkComponent && linkComponent !== 'a' ? withContext(linkComponent) : AnchorWithContext;
152
- state.Element = Element;
153
- const elementProps = {
154
- ...linkProps,
155
- buttonOrLinkState: state,
156
- };
157
- return render ? render(elementProps, state) : _jsx(Element, { ...elementProps });
147
+ return render(linkComponent && linkComponent !== 'a' ? withContext(linkComponent) : AnchorWithContext, linkProps, buttonOrLinkState);
158
148
  };
159
149
  ButtonOrLinkRoot.displayName = 'ButtonOrLink';
160
150
  export const ButtonOrLinkConfig = ({ onClick: passedOnClick, transformProps: passedTransformProps, children, }) => {
@@ -200,7 +190,7 @@ function SpanButton({ ref: passedRef, type = 'button', disabled = false, onClick
200
190
  isDisabled: disabled,
201
191
  elementType: 'span',
202
192
  onPress: (event) => {
203
- const mouseEvent = new MouseEvent('click', {
193
+ event.target.dispatchEvent(new MouseEvent('click', {
204
194
  altKey: event.altKey,
205
195
  ctrlKey: event.ctrlKey,
206
196
  metaKey: event.metaKey,
@@ -208,8 +198,7 @@ function SpanButton({ ref: passedRef, type = 'button', disabled = false, onClick
208
198
  relatedTarget: event.target,
209
199
  bubbles: true,
210
200
  cancelable: true,
211
- });
212
- event.target.dispatchEvent(mouseEvent);
201
+ }));
213
202
  },
214
203
  onPressStart: (event) => {
215
204
  if (event.pointerType === 'keyboard')