@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 +1 @@
1
- {"version":3,"file":"tailwind-plugin.js","sourceRoot":"","sources":["../src/tailwind-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin.js","sourceRoot":"","sources":["../src/tailwind-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ComponentProps } from 'react';
2
+ export declare function InlineCounter(props: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=InlineCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineCounter.d.ts","sourceRoot":"","sources":["../../src/utils/InlineCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAc1D"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ export function InlineCounter(props) {
4
+ const [count, setCount] = useState(0);
5
+ return (_jsxs("span", { ...props, children: [count, ' ', _jsx("button", { type: "button", onClick: () => setCount((prev) => prev + 1), className: "inline hover:underline", children: "(increment)" })] }));
6
+ }
7
+ //# sourceMappingURL=InlineCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineCounter.js","sourceRoot":"","sources":["../../src/utils/InlineCounter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,OAAO,CAAA;AAErD,MAAM,UAAU,aAAa,CAAC,KAA6B;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO,CACL,mBAAU,KAAK,aACZ,KAAK,EAAE,GAAG,EACX,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,EAC3C,SAAS,EAAC,wBAAwB,4BAG3B,IACJ,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from 'react';
2
+ export declare function RenderCount(props: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=RenderCount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderCount.d.ts","sourceRoot":"","sources":["../../src/utils/RenderCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,2CAGxD"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRenderCount } from '@react-hookz/web';
3
+ export function RenderCount(props) {
4
+ const renderCount = useRenderCount();
5
+ return _jsx("span", { ...props, children: renderCount });
6
+ }
7
+ //# sourceMappingURL=RenderCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderCount.js","sourceRoot":"","sources":["../../src/utils/RenderCount.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,WAAW,CAAC,KAA6B;IACvD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,OAAO,kBAAU,KAAK,YAAG,WAAW,GAAQ,CAAA;AAC9C,CAAC"}
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * @example
5
5
  *
6
- * cn('base-class', condition && 'conditional-class', className)
6
+ * ```ts
7
+ * cn('base-class', condition && 'conditional-class', className)
8
+ * ```
7
9
  */
8
10
  export declare function cn(...classes: (string | undefined | null | false)[]): string;
9
11
  //# sourceMappingURL=cn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAE5E"}
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAE5E"}
package/dist/utils/cn.js CHANGED
@@ -3,7 +3,9 @@
3
3
  *
4
4
  * @example
5
5
  *
6
- * cn('base-class', condition && 'conditional-class', className)
6
+ * ```ts
7
+ * cn('base-class', condition && 'conditional-class', className)
8
+ * ```
7
9
  */
8
10
  export function cn(...classes) {
9
11
  return classes.filter(Boolean).join(' ');
@@ -1 +1 @@
1
- {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAAC,GAAG,OAA8C;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,EAAE,CAAC,GAAG,OAA8C;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC"}
@@ -3,12 +3,19 @@ import { type ComponentCSSProps, type ComponentCSSPropsConfig, type GDSComponent
3
3
  type AllCSSProps<C extends GDSComponent> = {
4
4
  [K in keyof ComponentCSSProps<C>]-?: ComponentCSSProps<C>[K] | undefined;
5
5
  };
6
+ /**
7
+ * Validates the passed values object:
8
+ *
9
+ * - Rejects keys that are not CSS props.
10
+ * - For props with a `defaultValue`, ensures they can be `undefined` (preventing destructuring
11
+ * defaults, which would break `default-*` utilities).
12
+ * - For props without a `defaultValue`, allows any value since they're required.
13
+ */
6
14
  type ValidatePassedValues<C extends GDSComponent, T extends AllCSSProps<C>> = {
7
- [K in keyof T]: K extends keyof ComponentCSSPropsConfig<C> ? 'defaultValue' extends keyof ComponentCSSPropsConfig<C>[K] ? undefined extends T[K] ? T[K] : never : T[K] : T[K];
15
+ [K in keyof T]: K extends keyof ComponentCSSPropsConfig<C> ? 'defaultValue' extends keyof ComponentCSSPropsConfig<C>[K] ? undefined extends T[K] ? T[K] : never : T[K] : `"${K & string}" is not a CSS prop of this component`;
8
16
  };
9
17
  /**
10
- * Returns attributes to spread on the root element of a component that supports CSS Props. This
11
- * enables the CSS Props system to apply prop-based styling.
18
+ * Returns attributes to spread on the root element of a component that supports CSS props.
12
19
  *
13
20
  * @param component The component metadata object created with createComponent.
14
21
  * @param passedValues Object containing all the CSS prop values from the component props.
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSPropsAttributes.d.ts","sourceRoot":"","sources":["../../src/utils/getCSSPropsAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAA;AAG/B,KAAK,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;KACxC,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CACzE,CAAA;AAID,KAAK,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,uBAAuB,CAAC,CAAC,CAAC,GACtD,cAAc,SAAS,MAAM,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK,GACP,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,CAAC,CAAC,CAAC;CACT,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EACpF,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EACxC,KAAK,EAAE,aAAa,GAAG,SAAS,GAC/B;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,CAa1B"}
1
+ {"version":3,"file":"getCSSPropsAttributes.d.ts","sourceRoot":"","sources":["../../src/utils/getCSSPropsAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAA;AAG/B,KAAK,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;KACxC,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CACzE,CAAA;AAED;;;;;;;GAOG;AACH,KAAK,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,uBAAuB,CAAC,CAAC,CAAC,GACtD,cAAc,SAAS,MAAM,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GACpB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK,GACP,CAAC,CAAC,CAAC,CAAC,GACN,IAAI,CAAC,GAAG,MAAM,uCAAuC;CAC1D,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EACpF,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EACxC,KAAK,EAAE,aAAa,GAAG,SAAS,GAC/B;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,CAa1B"}
@@ -1,7 +1,6 @@
1
1
  import { getCSSPropRawValue, } from '@graphprotocol/gds-css';
2
2
  /**
3
- * Returns attributes to spread on the root element of a component that supports CSS Props. This
4
- * enables the CSS Props system to apply prop-based styling.
3
+ * Returns attributes to spread on the root element of a component that supports CSS props.
5
4
  *
6
5
  * @param component The component metadata object created with createComponent.
7
6
  * @param passedValues Object containing all the CSS prop values from the component props.
@@ -11,14 +10,14 @@ import { getCSSPropRawValue, } from '@graphprotocol/gds-css';
11
10
  export function getCSSPropsAttributes(component, passedValues, style) {
12
11
  const customProperties = {};
13
12
  for (const propName in passedValues) {
14
- const prop = component.getCSSPropByName(propName);
13
+ const cssProp = component.getCSSPropByName(propName);
15
14
  const value = passedValues[propName];
16
15
  if (value === undefined)
17
16
  continue;
18
- customProperties[`--gds-passed-${prop.kebabName}`] = getCSSPropRawValue(prop, value);
17
+ customProperties[`--gds-passed-${cssProp.kebabName}`] = getCSSPropRawValue(cssProp, value);
19
18
  }
20
19
  return {
21
- style: { ...style, ...customProperties },
20
+ style: { ...customProperties, ...style },
22
21
  };
23
22
  }
24
23
  //# sourceMappingURL=getCSSPropsAttributes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSPropsAttributes.js","sourceRoot":"","sources":["../../src/utils/getCSSPropsAttributes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAA;AAmB/B;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAY,EACZ,YAAwC,EACxC,KAAgC;IAEhC,MAAM,gBAAgB,GAA2B,EAAE,CAAA;IAEnD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACtF,CAAC;IAED,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,gBAAgB,EAAE;KACzC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"getCSSPropsAttributes.js","sourceRoot":"","sources":["../../src/utils/getCSSPropsAttributes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAA;AAyB/B;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAY,EACZ,YAAwC,EACxC,KAAgC;IAEhC,MAAM,gBAAgB,GAA2B,EAAE,CAAA;IAEnD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,gBAAgB,CAAC,gBAAgB,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IAED,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,gBAAgB,EAAE,GAAG,KAAK,EAAE;KACzC,CAAA;AACH,CAAC"}
@@ -2,8 +2,10 @@ export { cn } from './cn.ts';
2
2
  export { getAssetUrl } from './getAssetUrl.ts';
3
3
  export { getCSSPropsAttributes } from './getCSSPropsAttributes.ts';
4
4
  export { getReactNodeKey } from './getReactNodeKey.ts';
5
+ export { InlineCounter } from './InlineCounter.tsx';
5
6
  export { isReactNode } from './isReactNode.ts';
6
7
  export { reactNodeToString } from './reactNodeToString.ts';
8
+ export { RenderCount } from './RenderCount.tsx';
7
9
  export { splitProps } from './splitProps.ts';
8
10
  export { styleScheduler } from './styleScheduler.ts';
9
11
  export { trimReactNode } from './trimReactNode.tsx';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -2,8 +2,10 @@ export { cn } from "./cn.js";
2
2
  export { getAssetUrl } from "./getAssetUrl.js";
3
3
  export { getCSSPropsAttributes } from "./getCSSPropsAttributes.js";
4
4
  export { getReactNodeKey } from "./getReactNodeKey.js";
5
+ export { InlineCounter } from "./InlineCounter.js";
5
6
  export { isReactNode } from "./isReactNode.js";
6
7
  export { reactNodeToString } from "./reactNodeToString.js";
8
+ export { RenderCount } from "./RenderCount.js";
7
9
  export { splitProps } from "./splitProps.js";
8
10
  export { styleScheduler } from "./styleScheduler.js";
9
11
  export { trimReactNode } from "./trimReactNode.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAA"}
@@ -10,12 +10,9 @@
10
10
  * destructured), `style`, `inert`, `hidden`, and `aria-hidden` go in `rootProps`, along with data
11
11
  * attributes, since they can be coupled to the `className` to apply styles conditionally, e.g.
12
12
  * `<Button data-highlighted={highlighted} className="data-[highlighted]:prop-variant-primary" />`.
13
- * However, data attributes can also be needed on the underlying element in some cases, so they are
14
- * also included in the `nestedProps`, except the ones starting with `data-gds-`, to avoid messing
15
- * with the CSS props or states systems.
16
13
  */
17
14
  export declare function splitProps<T extends Record<string, unknown>>(props: T): {
18
15
  rootProps: { [K in keyof T as K extends "className" | "style" | "inert" | "hidden" | "aria-hidden" | `data-${string}` ? K : never]: T[K]; };
19
- nestedProps: { [K in keyof T as K extends "className" | "style" | "inert" | "hidden" | "aria-hidden" ? never : K]: T[K]; };
16
+ nestedProps: { [K in keyof T as K extends "className" | "style" | "inert" | "hidden" | "aria-hidden" | `data-${string}` ? never : K]: T[K]; };
20
17
  };
21
18
  //# sourceMappingURL=splitProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitProps.d.ts","sourceRoot":"","sources":["../../src/utils/splitProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAsB/B;IACnC,SAAS,EAAE,GACR,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SACd,WAAW,GACX,OAAO,GACP,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,MAAM,EAAE,GAChB,CAAC,GACD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GACjB,CAAA;IACD,WAAW,EAAE,GACV,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GACjF,KAAK,GACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACb,CAAA;CACF,CACF"}
1
+ {"version":3,"file":"splitProps.d.ts","sourceRoot":"","sources":["../../src/utils/splitProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAmB/B;IACnC,SAAS,EAAE,GACR,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SACd,WAAW,GACX,OAAO,GACP,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,MAAM,EAAE,GAChB,CAAC,GACD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GACjB,CAAA;IACD,WAAW,EAAE,GACV,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SACd,WAAW,GACX,OAAO,GACP,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,MAAM,EAAE,GAChB,KAAK,GACL,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACb,CAAA;CACF,CACF"}
@@ -10,26 +10,21 @@
10
10
  * destructured), `style`, `inert`, `hidden`, and `aria-hidden` go in `rootProps`, along with data
11
11
  * attributes, since they can be coupled to the `className` to apply styles conditionally, e.g.
12
12
  * `<Button data-highlighted={highlighted} className="data-[highlighted]:prop-variant-primary" />`.
13
- * However, data attributes can also be needed on the underlying element in some cases, so they are
14
- * also included in the `nestedProps`, except the ones starting with `data-gds-`, to avoid messing
15
- * with the CSS props or states systems.
16
13
  */
17
14
  export function splitProps(props) {
18
15
  const rootProps = {};
19
16
  const nestedProps = {};
20
17
  for (const [key, value] of Object.entries(props)) {
21
- const isDataAttribute = key.startsWith('data-');
22
- const isGDSDataAttribute = key.startsWith('data-gds-');
23
18
  const isRootProp = key === 'className' ||
24
19
  key === 'style' ||
25
20
  key === 'inert' ||
26
21
  key === 'hidden' ||
27
22
  key === 'aria-hidden' ||
28
- isDataAttribute;
23
+ key.startsWith('data-');
29
24
  if (isRootProp) {
30
25
  rootProps[key] = value;
31
26
  }
32
- if (!isRootProp || (isDataAttribute && !isGDSDataAttribute)) {
27
+ else {
33
28
  nestedProps[key] = value;
34
29
  }
35
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"splitProps.js","sourceRoot":"","sources":["../../src/utils/splitProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAoC,KAAQ;IACpE,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,MAAM,WAAW,GAA4B,EAAE,CAAA;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,UAAU,GACd,GAAG,KAAK,WAAW;YACnB,GAAG,KAAK,OAAO;YACf,GAAG,KAAK,OAAO;YACf,GAAG,KAAK,QAAQ;YAChB,GAAG,KAAK,aAAa;YACrB,eAAe,CAAA;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5D,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAiB9B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"splitProps.js","sourceRoot":"","sources":["../../src/utils/splitProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAoC,KAAQ;IACpE,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,MAAM,WAAW,GAA4B,EAAE,CAAA;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GACd,GAAG,KAAK,WAAW;YACnB,GAAG,KAAK,OAAO;YACf,GAAG,KAAK,OAAO;YACf,GAAG,KAAK,QAAQ;YAChB,GAAG,KAAK,aAAa;YACrB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACzB,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAuB9B,CAAA;AACH,CAAC"}
@@ -11,14 +11,16 @@ import { type ReactNode } from 'react';
11
11
  *
12
12
  * @example
13
13
  *
14
- * trimReactNode(' hello ') // 'hello'
15
- * trimReactNode(
16
- * <>
17
- * {' '}
18
- * <span>test</span>{' '}
19
- * </>,
20
- * ) // <><span>test</span></>
21
- * trimReactNode([' ', <div>content</div>, ' ']) // [<div>content</div>]
14
+ * ```tsx
15
+ * trimReactNode(' hello ') // 'hello'
16
+ * trimReactNode(
17
+ * <>
18
+ * {' '}
19
+ * <span>test</span>{' '}
20
+ * </>,
21
+ * ) // <><span>test</span></>
22
+ * trimReactNode([' ', <div>content</div>, ' ']) // [<div>content</div>]
23
+ * ```
22
24
  *
23
25
  * @param node - The `ReactNode` to trim.
24
26
  * @returns A new `ReactNode` with leading and trailing whitespace removed.
@@ -1 +1 @@
1
- {"version":3,"file":"trimReactNode.d.ts","sourceRoot":"","sources":["../../src/utils/trimReactNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CA0D7D"}
1
+ {"version":3,"file":"trimReactNode.d.ts","sourceRoot":"","sources":["../../src/utils/trimReactNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CA0D7D"}
@@ -11,14 +11,16 @@ import { Children, isValidElement } from 'react';
11
11
  *
12
12
  * @example
13
13
  *
14
- * trimReactNode(' hello ') // 'hello'
15
- * trimReactNode(
16
- * <>
17
- * {' '}
18
- * <span>test</span>{' '}
19
- * </>,
20
- * ) // <><span>test</span></>
21
- * trimReactNode([' ', <div>content</div>, ' ']) // [<div>content</div>]
14
+ * ```tsx
15
+ * trimReactNode(' hello ') // 'hello'
16
+ * trimReactNode(
17
+ * <>
18
+ * {' '}
19
+ * <span>test</span>{' '}
20
+ * </>,
21
+ * ) // <><span>test</span></>
22
+ * trimReactNode([' ', <div>content</div>, ' ']) // [<div>content</div>]
23
+ * ```
22
24
  *
23
25
  * @param node - The `ReactNode` to trim.
24
26
  * @returns A new `ReactNode` with leading and trailing whitespace removed.
@@ -1 +1 @@
1
- {"version":3,"file":"trimReactNode.js","sourceRoot":"","sources":["../../src/utils/trimReactNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAqC,MAAM,OAAO,CAAA;AAEnF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,oBAAoB;IACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IACD,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,OAAO,SAAS,KAAK,SAAS;QAC9B,SAAS,KAAK,IAAI;QAClB,SAAS,KAAK,SAAS,EACvB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;QAE/B,uCAAuC;QACvC,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;gBACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAE7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;oBAC/D,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBACnB,IAAI,SAAS,EAAE,CAAC;4BACd,QAAQ,CAAC,KAAK,EAAE,CAAA;wBAClB,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,GAAG,EAAE,CAAA;wBAChB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;wBACzB,MAAK;oBACP,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtC,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,SAAmD,CAAA;QAEnE,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9D,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAA;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"trimReactNode.js","sourceRoot":"","sources":["../../src/utils/trimReactNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAqC,MAAM,OAAO,CAAA;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,oBAAoB;IACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IACD,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,OAAO,SAAS,KAAK,SAAS;QAC9B,SAAS,KAAK,IAAI;QAClB,SAAS,KAAK,SAAS,EACvB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;QAE/B,uCAAuC;QACvC,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;gBACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAE7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;oBAC/D,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBACnB,IAAI,SAAS,EAAE,CAAC;4BACd,QAAQ,CAAC,KAAK,EAAE,CAAA;wBAClB,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,GAAG,EAAE,CAAA;wBAChB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAA;wBACzB,MAAK;oBACP,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtC,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,SAAmD,CAAA;QAEnE,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9D,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAA;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphprotocol/gds-react",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "React components for The Graph Design System",
5
5
  "author": "Edge & Node and contributors",
6
6
  "license": "MIT",
@@ -43,43 +43,43 @@
43
43
  "tailwindcss": "^4.1.14"
44
44
  },
45
45
  "dependencies": {
46
- "@base-ui/react": "^1.0.0",
47
- "@base-ui/utils": "^0.2.3",
46
+ "@base-ui/react": "^1.1.0",
47
+ "@base-ui/utils": "^0.2.4",
48
48
  "@react-aria/utils": "^3.32.0",
49
49
  "@react-hookz/web": "^25.2.0",
50
50
  "@ver0/deep-equal": "^1.0.1",
51
51
  "escape-string-regexp": "^5.0.0",
52
- "motion": "^12.23.26",
52
+ "motion": "^12.29.2",
53
53
  "react-aria": "^3.45.0",
54
54
  "react-keyed-flatten-children": "^5.1.1",
55
- "shiki": "^3.20.0",
55
+ "shiki": "^3.21.0",
56
56
  "style-observer": "^0.1.2",
57
- "ts-extras": "^0.16.0",
58
- "type-fest": "^5.3.1",
59
- "@graphprotocol/gds-css": "0.1.2",
57
+ "ts-extras": "^0.16.1",
58
+ "type-fest": "^5.4.2",
60
59
  "@graphprotocol/gds-icons": "0.1.1",
61
- "@graphprotocol/gds-utils": "0.1.0"
60
+ "@graphprotocol/gds-utils": "0.2.1",
61
+ "@graphprotocol/gds-css": "0.2.1"
62
62
  },
63
63
  "devDependencies": {
64
- "@storybook/addon-themes": "^10.1.10",
65
- "@storybook/addon-vitest": "^10.1.10",
66
- "@storybook/react": "^10.1.10",
67
- "@storybook/react-vite": "^10.1.10",
64
+ "@storybook/addon-themes": "^10.2.1",
65
+ "@storybook/addon-vitest": "^10.2.1",
66
+ "@storybook/react": "^10.2.1",
67
+ "@storybook/react-vite": "^10.2.1",
68
68
  "@svgr/core": "^8.1.0",
69
69
  "@svgr/plugin-jsx": "^8.1.0",
70
70
  "@svgr/plugin-svgo": "^8.1.0",
71
71
  "@tailwindcss/postcss": "^4.1.18",
72
- "@types/node": "^24.10.4",
73
- "@types/react": "^19.2.7",
72
+ "@types/node": "^24.10.9",
73
+ "@types/react": "^19.2.10",
74
74
  "@types/react-dom": "^19.2.3",
75
75
  "@types/react-is": "^19.2.0",
76
- "@web3icons/react": "^4.1.7",
77
- "lightningcss": "^1.30.2",
76
+ "@web3icons/react": "^4.1.14",
77
+ "lightningcss": "^1.31.1",
78
78
  "postcss": "^8.5.6",
79
- "react": "^19.2.3",
80
- "react-dom": "^19.2.3",
81
- "react-is": "^19.2.3",
82
- "storybook": "^10.1.10",
79
+ "react": "^19.2.4",
80
+ "react-dom": "^19.2.4",
81
+ "react-is": "^19.2.4",
82
+ "storybook": "^10.2.1",
83
83
  "storybook-addon-rtl": "^3.0.1"
84
84
  },
85
85
  "scripts": {
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+
3
+ import { createContext, type ComponentProps } from 'react'
4
+ import type { DirectionProvider } from '@base-ui/react/direction-provider'
5
+
6
+ type Theme = 'dark' | 'light' | 'system'
7
+ type ResolvedTheme = Exclude<Theme, 'system'>
8
+
9
+ export interface GDSContextValue {
10
+ theme: Theme
11
+ activeTheme: ResolvedTheme
12
+ direction: NonNullable<ComponentProps<typeof DirectionProvider>['direction']>
13
+ language: string
14
+ }
15
+
16
+ export const GDSContext = createContext<GDSContextValue | null>(null)
@@ -1,18 +1,12 @@
1
1
  'use client'
2
2
 
3
- import {
4
- createContext,
5
- useEffect,
6
- useLayoutEffect,
7
- useMemo,
8
- useRef,
9
- useState,
10
- type ComponentProps,
11
- } from 'react'
3
+ import { useEffect, useLayoutEffect, useMemo, useRef, useState, type ComponentProps } from 'react'
12
4
  import { DirectionProvider } from '@base-ui/react/direction-provider'
13
5
  import { Tooltip } from '@base-ui/react/tooltip'
14
6
 
15
7
  import { ButtonOrLink, type ButtonOrLinkConfigProps } from './components/base/ButtonOrLink.tsx'
8
+ import { Pane } from './components/Pane.tsx'
9
+ import { GDSContext } from './GDSContext.ts'
16
10
  import { cn } from './utils/index.ts'
17
11
 
18
12
  type Theme = 'dark' | 'light' | 'system'
@@ -48,19 +42,12 @@ export interface GDSProviderProps extends Omit<ComponentProps<'div'>, 'dir'> {
48
42
  theme?: Theme | undefined
49
43
  /** @default 'ltr' */
50
44
  direction?: ComponentProps<typeof DirectionProvider>['direction'] | undefined
51
- /** Defaults to `en` if `direction` is `ltr`, or `ar` if `direction` is `rtl`. */
45
+ /** @default 'en' // or if `direction` is `rtl`, 'ar' */
52
46
  language?: string | undefined
53
47
  buttonOrLinkConfig?: Omit<ButtonOrLinkConfigProps, 'children'> | undefined
54
48
  }
55
49
 
56
- export interface GDSContextValue {
57
- theme: NonNullable<GDSProviderProps['theme']>
58
- activeTheme: ResolvedTheme
59
- direction: NonNullable<GDSProviderProps['direction']>
60
- language: NonNullable<GDSProviderProps['language']>
61
- }
62
-
63
- export const GDSContext = createContext<GDSContextValue | null>(null)
50
+ export type { GDSContextValue } from './GDSContext.ts'
64
51
 
65
52
  /**
66
53
  * Provides global configuration and enhancements for GDS components.
@@ -77,15 +64,17 @@ export const GDSContext = createContext<GDSContextValue | null>(null)
77
64
  *
78
65
  * @example
79
66
  *
80
- * import { GDSProvider } from '@graphprotocol/gds-react'
67
+ * ```tsx
68
+ * import { GDSProvider } from '@graphprotocol/gds-react'
81
69
  *
82
- * function App() {
83
- * return (
84
- * <GDSProvider theme="dark">
85
- * <YourApp />
86
- * </GDSProvider>
87
- * )
88
- * }
70
+ * function App() {
71
+ * return (
72
+ * <GDSProvider theme="dark">
73
+ * <YourApp />
74
+ * </GDSProvider>
75
+ * )
76
+ * }
77
+ * ```
89
78
  */
90
79
  export function GDSProvider({
91
80
  theme = DEFAULT_THEME,
@@ -221,20 +210,22 @@ export function GDSProvider({
221
210
  return (
222
211
  <GDSContext.Provider value={gdsContextValue}>
223
212
  <DirectionProvider direction={direction}>
224
- <Tooltip.Provider timeout={300}>
225
- <ButtonOrLink.Config {...buttonOrLinkConfig}>
226
- {/* Prevent a flash of incorrect theme in server-side rendered apps (e.g. Next.js) */}
227
- <PreHydrationStyle>{THEME_SSR_CSS[theme]}</PreHydrationStyle>
228
- <div
229
- dir={direction}
230
- lang={language}
231
- className={cn('gds-provider isolate', themeClass, className)}
232
- {...props}
233
- >
234
- {children}
235
- </div>
236
- </ButtonOrLink.Config>
237
- </Tooltip.Provider>
213
+ <Pane.Provider>
214
+ <Tooltip.Provider timeout={300}>
215
+ <ButtonOrLink.Config {...buttonOrLinkConfig}>
216
+ {/* Prevent a flash of incorrect theme in server-side rendered apps (e.g. Next.js) */}
217
+ <PreHydrationStyle>{THEME_SSR_CSS[theme]}</PreHydrationStyle>
218
+ <div
219
+ dir={direction}
220
+ lang={language}
221
+ className={cn('gds-provider isolate', themeClass, className)}
222
+ {...props}
223
+ >
224
+ {children}
225
+ </div>
226
+ </ButtonOrLink.Config>
227
+ </Tooltip.Provider>
228
+ </Pane.Provider>
238
229
  </DirectionProvider>
239
230
  </GDSContext.Provider>
240
231
  )
@@ -68,10 +68,10 @@ export function Address({
68
68
  <span
69
69
  ref={cssPropsPolyfillStateRef}
70
70
  className={cn(
71
- `gds-address isolate root-grid *:col-span-full *:row-span-full u:size-max u:max-w-full
71
+ `gds-address root-grid *:col-span-full *:row-span-full u:size-max u:max-w-full
72
72
  u:state-[show-copy=false]
73
- u:hover:state-[show-copy]
74
73
  u:hover:state-hover
74
+ u:hover:state-[show-copy]
75
75
  u:has-copy-button-focus:state-[show-copy]
76
76
  u:has-nested-not-clickable/address-ref:cursor-default
77
77
  u:has-nested-focus-visible/address-ref:expose-focus
@@ -87,18 +87,14 @@ export function Avatar({
87
87
  {...getCSSPropsAttributes(AvatarMeta, { shape, size }, style)}
88
88
  {...cssPropsPolyfillAttributes}
89
89
  {...props}
90
- render={(renderProps, { Element, category }) => {
91
- let tooltipProps: Omit<TooltipProps, 'children'> = {
92
- content: category !== 'other' ? alt : undefined,
93
- }
94
- if (tooltip !== undefined) {
95
- tooltipProps = isReactNode(tooltip)
96
- ? { content: tooltip }
97
- : { ...tooltipProps, ...tooltip }
98
- }
90
+ render={(renderProps, { Element, elementProps, category }) => {
99
91
  return (
100
- <Tooltip {...tooltipProps}>
101
- <Element {...renderProps}>
92
+ <Tooltip
93
+ content={category !== 'other' ? alt : undefined}
94
+ {...(isReactNode(tooltip) ? { content: tooltip } : tooltip)}
95
+ triggerProps={renderProps}
96
+ >
97
+ <Element {...elementProps}>
102
98
  <span className="nested/avatar-paint pointer-events-none shrink-0">
103
99
  <span
104
100
  className={`
@@ -134,7 +130,7 @@ export function Avatar({
134
130
  className="[[src^='data:image/bmp']]:[image-rendering:pixelated]"
135
131
  />
136
132
  ) : (
137
- src
133
+ <Tooltip.Collector>{src}</Tooltip.Collector>
138
134
  )
139
135
  ) : null}
140
136
  {alt ? <span className="sr-only">{alt}</span> : null}
@@ -11,4 +11,6 @@ export const BreadcrumbsMeta = createComponent('Breadcrumbs', {
11
11
  },
12
12
  })
13
13
 
14
- export const BreadcrumbsItemMeta = createComponent('BreadcrumbsItem')
14
+ export const BreadcrumbsItemMeta = createComponent('BreadcrumbsItem', {
15
+ isolate: 'allow-inheritance',
16
+ })