@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,10 +1,14 @@
1
- import type { SetOptional } from 'type-fest'
2
-
3
1
  import { Icon, type IconProps } from '../components/Icon.tsx'
4
2
 
5
- export interface SidebarRightInteractiveIconProps extends SetOptional<IconProps, 'alt'> {}
3
+ export interface SidebarRightInteractiveIconProps extends Omit<IconProps, 'alt'> {
4
+ /** @default 'Toggle sidebar' */
5
+ alt?: IconProps['alt']
6
+ }
6
7
 
7
- export function SidebarRightInteractiveIcon(props: SidebarRightInteractiveIconProps) {
8
+ export function SidebarRightInteractiveIcon({
9
+ alt = 'Toggle sidebar',
10
+ ...props
11
+ }: SidebarRightInteractiveIconProps) {
8
12
  return (
9
13
  <Icon
10
14
  src={
@@ -19,7 +23,7 @@ export function SidebarRightInteractiveIcon(props: SidebarRightInteractiveIconPr
19
23
  />
20
24
  </svg>
21
25
  }
22
- alt=""
26
+ alt={alt}
23
27
  data-name="SidebarRightInteractive"
24
28
  {...props}
25
29
  />
@@ -7,7 +7,6 @@ import { AddressMeta } from './components/Address.meta.ts'
7
7
  import { AvatarMeta } from './components/Avatar.meta.ts'
8
8
  import { AvatarGroupMeta } from './components/AvatarGroup.meta.ts'
9
9
  import { AddonMeta } from './components/base/Addon.meta.ts'
10
- import { ButtonOrLinkMeta } from './components/base/ButtonOrLink.meta.ts'
11
10
  import { CheckableMeta } from './components/base/Checkable.meta.ts'
12
11
  import { FieldMeta } from './components/base/Field.meta.ts'
13
12
  import { TransitionMeta } from './components/base/Transition.meta.ts'
@@ -19,6 +18,7 @@ import { CheckboxMeta } from './components/Checkbox.meta.ts'
19
18
  import { ChipGroupMeta, ChipMeta } from './components/Chip.meta.ts'
20
19
  import { ClusterMeta } from './components/Cluster.meta.ts'
21
20
  import { CodeBlockMeta, CodeBlockTabsMeta } from './components/CodeBlock.meta.ts'
21
+ import { CodeInlineMeta } from './components/CodeInline.meta.ts'
22
22
  import { CopyButtonMeta } from './components/CopyButton.meta.ts'
23
23
  import { CurrencyInputMeta } from './components/CurrencyInput.meta.ts'
24
24
  import { DescriptionListItemMeta, DescriptionListMeta } from './components/DescriptionList.meta.ts'
@@ -31,6 +31,7 @@ import { LinkMeta } from './components/Link.meta.ts'
31
31
  import { MenuItemMeta, MenuMeta } from './components/Menu.meta.ts'
32
32
  import { ModalMeta } from './components/Modal.meta.ts'
33
33
  import { OTCInputMeta } from './components/OTCInput.meta.ts'
34
+ import { PaneContainerMeta, PaneMeta } from './components/Pane.meta.ts'
34
35
  import { RadioMeta } from './components/Radio.meta.ts'
35
36
  import { SearchMeta } from './components/Search.meta.ts'
36
37
  import {
@@ -78,17 +79,17 @@ const gdsTailwindPluginWithComponents: ReturnType<typeof createPlugin> = createP
78
79
  AvatarGroupMeta,
79
80
  BreadcrumbsItemMeta,
80
81
  BreadcrumbsMeta,
81
- ButtonOrLinkMeta,
82
82
  ButtonMeta,
83
83
  ButtonGroupMeta,
84
84
  CardMeta,
85
- CodeBlockMeta,
86
- CodeBlockTabsMeta,
87
85
  CheckableMeta,
88
86
  CheckboxMeta,
89
87
  ChipMeta,
90
88
  ChipGroupMeta,
91
89
  ClusterMeta,
90
+ CodeBlockMeta,
91
+ CodeBlockTabsMeta,
92
+ CodeInlineMeta,
92
93
  CopyButtonMeta,
93
94
  CurrencyInputMeta,
94
95
  DescriptionListItemMeta,
@@ -104,6 +105,8 @@ const gdsTailwindPluginWithComponents: ReturnType<typeof createPlugin> = createP
104
105
  MenuMeta,
105
106
  ModalMeta,
106
107
  OTCInputMeta,
108
+ PaneContainerMeta,
109
+ PaneMeta,
107
110
  RadioMeta,
108
111
  SearchMeta,
109
112
  SegmentedControlMeta,
@@ -111,8 +114,8 @@ const gdsTailwindPluginWithComponents: ReturnType<typeof createPlugin> = createP
111
114
  StatusMeta,
112
115
  StepperMeta,
113
116
  SwitchMeta,
114
- TabSetTabsMeta,
115
117
  TabSetTabMeta,
118
+ TabSetTabsMeta,
116
119
  TagMeta,
117
120
  TextAreaMeta,
118
121
  ToggleButtonMeta,
@@ -0,0 +1,17 @@
1
+ import { useState, type ComponentProps } from 'react'
2
+
3
+ export function InlineCounter(props: ComponentProps<'span'>) {
4
+ const [count, setCount] = useState(0)
5
+ return (
6
+ <span {...props}>
7
+ {count}{' '}
8
+ <button
9
+ type="button"
10
+ onClick={() => setCount((prev) => prev + 1)}
11
+ className="inline hover:underline"
12
+ >
13
+ (increment)
14
+ </button>
15
+ </span>
16
+ )
17
+ }
@@ -0,0 +1,7 @@
1
+ import type { ComponentProps } from 'react'
2
+ import { useRenderCount } from '@react-hookz/web'
3
+
4
+ export function RenderCount(props: ComponentProps<'span'>) {
5
+ const renderCount = useRenderCount()
6
+ return <span {...props}>{renderCount}</span>
7
+ }
package/src/utils/cn.ts 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: (string | undefined | null | false)[]): string {
9
11
  return classes.filter(Boolean).join(' ')
@@ -12,8 +12,14 @@ type AllCSSProps<C extends GDSComponent> = {
12
12
  [K in keyof ComponentCSSProps<C>]-?: ComponentCSSProps<C>[K] | undefined
13
13
  }
14
14
 
15
- // For props with a `defaultValue`, ensure they can be `undefined` (preventing destructuring defaults like `{ size = 'medium' }`).
16
- // For props without a `defaultValue`, allow any value since they're required and will never be `undefined`.
15
+ /**
16
+ * Validates the passed values object:
17
+ *
18
+ * - Rejects keys that are not CSS props.
19
+ * - For props with a `defaultValue`, ensures they can be `undefined` (preventing destructuring
20
+ * defaults, which would break `default-*` utilities).
21
+ * - For props without a `defaultValue`, allows any value since they're required.
22
+ */
17
23
  type ValidatePassedValues<C extends GDSComponent, T extends AllCSSProps<C>> = {
18
24
  [K in keyof T]: K extends keyof ComponentCSSPropsConfig<C>
19
25
  ? 'defaultValue' extends keyof ComponentCSSPropsConfig<C>[K]
@@ -21,12 +27,11 @@ type ValidatePassedValues<C extends GDSComponent, T extends AllCSSProps<C>> = {
21
27
  ? T[K]
22
28
  : never
23
29
  : T[K]
24
- : T[K]
30
+ : `"${K & string}" is not a CSS prop of this component`
25
31
  }
26
32
 
27
33
  /**
28
- * Returns attributes to spread on the root element of a component that supports CSS Props. This
29
- * enables the CSS Props system to apply prop-based styling.
34
+ * Returns attributes to spread on the root element of a component that supports CSS props.
30
35
  *
31
36
  * @param component The component metadata object created with createComponent.
32
37
  * @param passedValues Object containing all the CSS prop values from the component props.
@@ -41,13 +46,13 @@ export function getCSSPropsAttributes<C extends GDSComponent, V extends AllCSSPr
41
46
  const customProperties: Record<string, string> = {}
42
47
 
43
48
  for (const propName in passedValues) {
44
- const prop = component.getCSSPropByName(propName)
49
+ const cssProp = component.getCSSPropByName(propName)
45
50
  const value = passedValues[propName]
46
51
  if (value === undefined) continue
47
- customProperties[`--gds-passed-${prop.kebabName}`] = getCSSPropRawValue(prop, value)
52
+ customProperties[`--gds-passed-${cssProp.kebabName}`] = getCSSPropRawValue(cssProp, value)
48
53
  }
49
54
 
50
55
  return {
51
- style: { ...style, ...customProperties },
56
+ style: { ...customProperties, ...style },
52
57
  }
53
58
  }
@@ -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'
@@ -10,28 +10,22 @@
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<T extends Record<string, unknown>>(props: T) {
18
15
  const rootProps: Record<string, unknown> = {}
19
16
  const nestedProps: Record<string, unknown> = {}
20
17
 
21
18
  for (const [key, value] of Object.entries(props)) {
22
- const isDataAttribute = key.startsWith('data-')
23
- const isGDSDataAttribute = key.startsWith('data-gds-')
24
19
  const isRootProp =
25
20
  key === 'className' ||
26
21
  key === 'style' ||
27
22
  key === 'inert' ||
28
23
  key === 'hidden' ||
29
24
  key === 'aria-hidden' ||
30
- isDataAttribute
25
+ key.startsWith('data-')
31
26
  if (isRootProp) {
32
27
  rootProps[key] = value
33
- }
34
- if (!isRootProp || (isDataAttribute && !isGDSDataAttribute)) {
28
+ } else {
35
29
  nestedProps[key] = value
36
30
  }
37
31
  }
@@ -49,7 +43,13 @@ export function splitProps<T extends Record<string, unknown>>(props: T) {
49
43
  : never]: T[K]
50
44
  }
51
45
  nestedProps: {
52
- [K in keyof T as K extends 'className' | 'style' | 'inert' | 'hidden' | 'aria-hidden'
46
+ [K in keyof T as K extends
47
+ | 'className'
48
+ | 'style'
49
+ | 'inert'
50
+ | 'hidden'
51
+ | 'aria-hidden'
52
+ | `data-${string}`
53
53
  ? never
54
54
  : K]: T[K]
55
55
  }
@@ -12,14 +12,16 @@ import { Children, isValidElement, type ReactElement, type ReactNode } from 'rea
12
12
  *
13
13
  * @example
14
14
  *
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>]
15
+ * ```tsx
16
+ * trimReactNode(' hello ') // 'hello'
17
+ * trimReactNode(
18
+ * <>
19
+ * {' '}
20
+ * <span>test</span>{' '}
21
+ * </>,
22
+ * ) // <><span>test</span></>
23
+ * trimReactNode([' ', <div>content</div>, ' ']) // [<div>content</div>]
24
+ * ```
23
25
  *
24
26
  * @param node - The `ReactNode` to trim.
25
27
  * @returns A new `ReactNode` with leading and trailing whitespace removed.
@@ -1,2 +0,0 @@
1
- export declare const ButtonOrLinkMeta: import("@graphprotocol/gds-css").GDSComponent<import("@graphprotocol/gds-css").CSSPropsConfig, boolean>;
2
- //# sourceMappingURL=ButtonOrLink.meta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonOrLink.meta.d.ts","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.meta.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,yGAE3B,CAAA"}
@@ -1,6 +0,0 @@
1
- import { createComponent } from '@graphprotocol/gds-css';
2
- // `ButtonOrLink` doesn't use CSS Props, but we register it for the `*-button-or-link` variants
3
- export const ButtonOrLinkMeta = createComponent('ButtonOrLink', {
4
- containerName: null,
5
- });
6
- //# sourceMappingURL=ButtonOrLink.meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonOrLink.meta.js","sourceRoot":"","sources":["../../../src/components/base/ButtonOrLink.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,EAAE;IAC9D,aAAa,EAAE,IAAI;CACpB,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import { createComponent } from '@graphprotocol/gds-css'
2
-
3
- // `ButtonOrLink` doesn't use CSS Props, but we register it for the `*-button-or-link` variants
4
- export const ButtonOrLinkMeta = createComponent('ButtonOrLink', {
5
- containerName: null,
6
- })