@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.
- package/dist/GDSContext.d.ts +13 -0
- package/dist/GDSContext.d.ts.map +1 -0
- package/dist/GDSContext.js +4 -0
- package/dist/GDSContext.js.map +1 -0
- package/dist/GDSProvider.d.ts +13 -19
- package/dist/GDSProvider.d.ts.map +1 -1
- package/dist/GDSProvider.js +14 -11
- package/dist/GDSProvider.js.map +1 -1
- package/dist/components/Address.js +2 -2
- package/dist/components/Address.meta.d.ts +1 -13
- package/dist/components/Address.meta.d.ts.map +1 -1
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar.js +3 -11
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/Avatar.meta.d.ts +0 -2
- package/dist/components/Avatar.meta.d.ts.map +1 -1
- package/dist/components/AvatarGroup.meta.d.ts +8 -2
- package/dist/components/AvatarGroup.meta.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.meta.d.ts +2 -3
- package/dist/components/Breadcrumbs.meta.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.meta.js +3 -1
- package/dist/components/Breadcrumbs.meta.js.map +1 -1
- package/dist/components/Breadcrumbs.parts.d.ts.map +1 -1
- package/dist/components/Breadcrumbs.parts.js +13 -21
- package/dist/components/Breadcrumbs.parts.js.map +1 -1
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +70 -69
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Button.meta.d.ts +1 -4
- package/dist/components/Button.meta.d.ts.map +1 -1
- package/dist/components/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup.js +1 -5
- package/dist/components/ButtonGroup.js.map +1 -1
- package/dist/components/ButtonGroup.meta.d.ts +1 -5
- package/dist/components/ButtonGroup.meta.d.ts.map +1 -1
- package/dist/components/ButtonGroup.meta.js +8 -0
- package/dist/components/ButtonGroup.meta.js.map +1 -1
- package/dist/components/Card.js +2 -2
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Card.meta.d.ts +1 -2
- package/dist/components/Card.meta.d.ts.map +1 -1
- package/dist/components/Card.meta.js +1 -0
- package/dist/components/Card.meta.js.map +1 -1
- package/dist/components/Checkbox.meta.d.ts +1 -6
- package/dist/components/Checkbox.meta.d.ts.map +1 -1
- package/dist/components/Checkbox.meta.js +1 -5
- package/dist/components/Checkbox.meta.js.map +1 -1
- package/dist/components/Chip.meta.d.ts +2 -4
- package/dist/components/Chip.meta.d.ts.map +1 -1
- package/dist/components/Chip.parts.d.ts.map +1 -1
- package/dist/components/Chip.parts.js +1 -9
- package/dist/components/Chip.parts.js.map +1 -1
- package/dist/components/Cluster.meta.d.ts +8 -2
- package/dist/components/Cluster.meta.d.ts.map +1 -1
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.meta.d.ts +2 -4
- package/dist/components/CodeBlock.meta.d.ts.map +1 -1
- package/dist/components/CodeBlock.parts.d.ts +6 -7
- package/dist/components/CodeBlock.parts.d.ts.map +1 -1
- package/dist/components/CodeBlock.parts.js +28 -10
- package/dist/components/CodeBlock.parts.js.map +1 -1
- package/dist/components/CodeInline.js +3 -3
- package/dist/components/CodeInline.meta.d.ts +1 -1
- package/dist/components/CodeInline.meta.d.ts.map +1 -1
- package/dist/components/CopyButton.d.ts +1 -1
- package/dist/components/CopyButton.d.ts.map +1 -1
- package/dist/components/CopyButton.js +46 -21
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/CopyButton.meta.d.ts +1 -12
- package/dist/components/CopyButton.meta.d.ts.map +1 -1
- package/dist/components/CopyButton.meta.js +1 -6
- package/dist/components/CopyButton.meta.js.map +1 -1
- package/dist/components/CurrencyInput.meta.d.ts +1 -6
- package/dist/components/CurrencyInput.meta.d.ts.map +1 -1
- package/dist/components/CurrencyInput.meta.js +1 -5
- package/dist/components/CurrencyInput.meta.js.map +1 -1
- package/dist/components/DescriptionList.meta.d.ts +2 -5
- package/dist/components/DescriptionList.meta.d.ts.map +1 -1
- package/dist/components/DescriptionList.parts.d.ts +3 -0
- package/dist/components/DescriptionList.parts.d.ts.map +1 -1
- package/dist/components/DescriptionList.parts.js +1 -0
- package/dist/components/DescriptionList.parts.js.map +1 -1
- package/dist/components/Divider.meta.d.ts +1 -3
- package/dist/components/Divider.meta.d.ts.map +1 -1
- package/dist/components/Icon.js +4 -4
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/Icon.meta.d.ts +0 -2
- package/dist/components/Icon.meta.d.ts.map +1 -1
- package/dist/components/Icon.meta.js +1 -0
- package/dist/components/Icon.meta.js.map +1 -1
- package/dist/components/Input.d.ts +5 -4
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +3 -2
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Input.meta.d.ts +1 -6
- package/dist/components/Input.meta.d.ts.map +1 -1
- package/dist/components/Input.meta.js +1 -5
- package/dist/components/Input.meta.js.map +1 -1
- package/dist/components/Keyboard.js +1 -1
- package/dist/components/Keyboard.meta.d.ts +0 -1
- package/dist/components/Keyboard.meta.d.ts.map +1 -1
- package/dist/components/Label.meta.d.ts +1 -3
- package/dist/components/Label.meta.d.ts.map +1 -1
- package/dist/components/Link.d.ts +1 -1
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/Link.js +3 -4
- package/dist/components/Link.js.map +1 -1
- package/dist/components/Link.meta.d.ts +1 -2
- package/dist/components/Link.meta.d.ts.map +1 -1
- package/dist/components/Link.meta.js +1 -0
- package/dist/components/Link.meta.js.map +1 -1
- package/dist/components/Menu.meta.d.ts +31 -2
- package/dist/components/Menu.meta.d.ts.map +1 -1
- package/dist/components/Menu.meta.js +39 -1
- package/dist/components/Menu.meta.js.map +1 -1
- package/dist/components/Menu.parts.d.ts +22 -32
- package/dist/components/Menu.parts.d.ts.map +1 -1
- package/dist/components/Menu.parts.js +286 -300
- package/dist/components/Menu.parts.js.map +1 -1
- package/dist/components/Modal.d.ts +1 -1
- package/dist/components/Modal.meta.d.ts +1 -3
- package/dist/components/Modal.meta.d.ts.map +1 -1
- package/dist/components/Modal.meta.js +1 -1
- package/dist/components/Modal.meta.js.map +1 -1
- package/dist/components/Modal.parts.d.ts +14 -15
- package/dist/components/Modal.parts.d.ts.map +1 -1
- package/dist/components/Modal.parts.js +20 -20
- package/dist/components/Modal.parts.js.map +1 -1
- package/dist/components/OTCInput.js +1 -1
- package/dist/components/OTCInput.meta.d.ts +1 -6
- package/dist/components/OTCInput.meta.d.ts.map +1 -1
- package/dist/components/OTCInput.meta.js +1 -5
- package/dist/components/OTCInput.meta.js.map +1 -1
- package/dist/components/Pane.d.ts +9 -0
- package/dist/components/Pane.d.ts.map +1 -0
- package/dist/components/Pane.js +8 -0
- package/dist/components/Pane.js.map +1 -0
- package/dist/components/Pane.meta.d.ts +20 -0
- package/dist/components/Pane.meta.d.ts.map +1 -0
- package/dist/components/Pane.meta.js +30 -0
- package/dist/components/Pane.meta.js.map +1 -0
- package/dist/components/Pane.parts.d.ts +77 -0
- package/dist/components/Pane.parts.d.ts.map +1 -0
- package/dist/components/Pane.parts.js +412 -0
- package/dist/components/Pane.parts.js.map +1 -0
- package/dist/components/Radio.meta.d.ts +1 -6
- package/dist/components/Radio.meta.d.ts.map +1 -1
- package/dist/components/Radio.meta.js +1 -5
- package/dist/components/Radio.meta.js.map +1 -1
- package/dist/components/Search.js +1 -1
- package/dist/components/Search.meta.d.ts +1 -3
- package/dist/components/Search.meta.d.ts.map +1 -1
- package/dist/components/SegmentedControl.meta.d.ts +2 -3
- package/dist/components/SegmentedControl.meta.d.ts.map +1 -1
- package/dist/components/SegmentedControl.meta.js +3 -1
- package/dist/components/SegmentedControl.meta.js.map +1 -1
- package/dist/components/SegmentedControl.parts.d.ts.map +1 -1
- package/dist/components/SegmentedControl.parts.js +4 -9
- package/dist/components/SegmentedControl.parts.js.map +1 -1
- package/dist/components/Status.meta.d.ts +0 -2
- package/dist/components/Status.meta.d.ts.map +1 -1
- package/dist/components/Stepper.meta.d.ts +1 -2
- package/dist/components/Stepper.meta.d.ts.map +1 -1
- package/dist/components/Stepper.meta.js +1 -0
- package/dist/components/Stepper.meta.js.map +1 -1
- package/dist/components/Stepper.parts.d.ts.map +1 -1
- package/dist/components/Stepper.parts.js +1 -1
- package/dist/components/Stepper.parts.js.map +1 -1
- package/dist/components/Switch.meta.d.ts +1 -6
- package/dist/components/Switch.meta.d.ts.map +1 -1
- package/dist/components/Switch.meta.js +1 -5
- package/dist/components/Switch.meta.js.map +1 -1
- package/dist/components/TabSet.meta.d.ts +2 -5
- package/dist/components/TabSet.meta.d.ts.map +1 -1
- package/dist/components/TabSet.meta.js +3 -1
- package/dist/components/TabSet.meta.js.map +1 -1
- package/dist/components/Tag.meta.d.ts +0 -2
- package/dist/components/Tag.meta.d.ts.map +1 -1
- package/dist/components/TextArea.meta.d.ts +1 -6
- package/dist/components/TextArea.meta.d.ts.map +1 -1
- package/dist/components/TextArea.meta.js +1 -5
- package/dist/components/TextArea.meta.js.map +1 -1
- package/dist/components/ToggleButton.js +2 -2
- package/dist/components/ToggleButton.js.map +1 -1
- package/dist/components/ToggleButton.meta.d.ts +1 -12
- package/dist/components/ToggleButton.meta.d.ts.map +1 -1
- package/dist/components/ToggleButton.meta.js +1 -6
- package/dist/components/ToggleButton.meta.js.map +1 -1
- package/dist/components/Tooltip.d.ts +2 -2
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip.js +2 -2
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/Tooltip.meta.d.ts +12 -7
- package/dist/components/Tooltip.meta.d.ts.map +1 -1
- package/dist/components/Tooltip.meta.js +13 -2
- package/dist/components/Tooltip.meta.js.map +1 -1
- package/dist/components/Tooltip.parts.d.ts +31 -22
- package/dist/components/Tooltip.parts.d.ts.map +1 -1
- package/dist/components/Tooltip.parts.js +127 -98
- package/dist/components/Tooltip.parts.js.map +1 -1
- package/dist/components/base/Addon.meta.d.ts +1 -1
- package/dist/components/base/Addon.meta.d.ts.map +1 -1
- package/dist/components/base/Addon.meta.js +3 -1
- package/dist/components/base/Addon.meta.js.map +1 -1
- package/dist/components/base/ButtonOrLink.d.ts +2 -2
- package/dist/components/base/ButtonOrLink.d.ts.map +1 -1
- package/dist/components/base/ButtonOrLink.parts.d.ts +14 -6
- package/dist/components/base/ButtonOrLink.parts.d.ts.map +1 -1
- package/dist/components/base/ButtonOrLink.parts.js +54 -65
- package/dist/components/base/ButtonOrLink.parts.js.map +1 -1
- package/dist/components/base/Checkable.meta.d.ts +1 -2
- package/dist/components/base/Checkable.meta.d.ts.map +1 -1
- package/dist/components/base/Checkable.parts.d.ts +6 -6
- package/dist/components/base/Checkable.parts.d.ts.map +1 -1
- package/dist/components/base/Checkable.parts.js +2 -2
- package/dist/components/base/Checkable.parts.js.map +1 -1
- package/dist/components/base/Field.meta.d.ts +1 -2
- package/dist/components/base/Field.meta.d.ts.map +1 -1
- package/dist/components/base/Field.parts.d.ts +5 -4
- package/dist/components/base/Field.parts.d.ts.map +1 -1
- package/dist/components/base/Field.parts.js +1 -1
- package/dist/components/base/Field.parts.js.map +1 -1
- package/dist/components/base/MaybeButtonOrLink.d.ts +20 -3
- package/dist/components/base/MaybeButtonOrLink.d.ts.map +1 -1
- package/dist/components/base/MaybeButtonOrLink.js +5 -3
- package/dist/components/base/MaybeButtonOrLink.js.map +1 -1
- package/dist/components/base/Portal.d.ts +1 -1
- package/dist/components/base/Portal.d.ts.map +1 -1
- package/dist/components/base/Portal.js +3 -6
- package/dist/components/base/Portal.js.map +1 -1
- package/dist/components/base/Presence.d.ts +157 -0
- package/dist/components/base/Presence.d.ts.map +1 -0
- package/dist/components/base/Presence.js +808 -0
- package/dist/components/base/Presence.js.map +1 -0
- package/dist/components/base/Render.d.ts +21 -6
- package/dist/components/base/Render.d.ts.map +1 -1
- package/dist/components/base/Render.js +3 -2
- package/dist/components/base/Render.js.map +1 -1
- package/dist/components/base/Transition.js +2 -2
- package/dist/components/base/Transition.meta.d.ts +1 -1
- package/dist/components/base/Transition.meta.d.ts.map +1 -1
- package/dist/components/base/Transition.meta.js +1 -0
- package/dist/components/base/Transition.meta.js.map +1 -1
- package/dist/components/base/index.d.ts +2 -2
- package/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/base/index.js +2 -2
- package/dist/components/base/index.js.map +1 -1
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useCSSProp.d.ts.map +1 -1
- package/dist/hooks/useCSSProp.js +7 -7
- package/dist/hooks/useCSSProp.js.map +1 -1
- package/dist/hooks/useCSSProps.d.ts +11 -13
- package/dist/hooks/useCSSProps.d.ts.map +1 -1
- package/dist/hooks/useCSSProps.js +11 -19
- package/dist/hooks/useCSSProps.js.map +1 -1
- package/dist/hooks/useCSSPropsPolyfill.d.ts +1 -1
- package/dist/hooks/useCSSPropsPolyfill.d.ts.map +1 -1
- package/dist/hooks/useCSSPropsPolyfill.js +12 -20
- package/dist/hooks/useCSSPropsPolyfill.js.map +1 -1
- package/dist/hooks/useCSSState.d.ts.map +1 -1
- package/dist/hooks/useCSSState.js +7 -3
- package/dist/hooks/useCSSState.js.map +1 -1
- package/dist/hooks/useControlled.d.ts.map +1 -1
- package/dist/hooks/useControlled.js +6 -4
- package/dist/hooks/useControlled.js.map +1 -1
- package/dist/hooks/useEffectWithRefDeps.d.ts +2 -2
- package/dist/hooks/useEffectWithRefDeps.d.ts.map +1 -1
- package/dist/hooks/useEffectWithRefDeps.js +1 -1
- package/dist/hooks/useEffectWithRefDeps.js.map +1 -1
- package/dist/hooks/useFirstRender.d.ts +14 -0
- package/dist/hooks/useFirstRender.d.ts.map +1 -0
- package/dist/hooks/useFirstRender.js +20 -0
- package/dist/hooks/useFirstRender.js.map +1 -0
- package/dist/hooks/useGDS.d.ts +1 -1
- package/dist/hooks/useGDS.js +1 -1
- package/dist/hooks/useGDS.js.map +1 -1
- package/dist/hooks/usePrevious.d.ts +6 -4
- package/dist/hooks/usePrevious.d.ts.map +1 -1
- package/dist/hooks/usePrevious.js +6 -4
- package/dist/hooks/usePrevious.js.map +1 -1
- package/dist/hooks/useRefWithInit.d.ts +2 -2
- package/dist/hooks/useRefWithInit.d.ts.map +1 -1
- package/dist/hooks/useRefWithInit.js.map +1 -1
- package/dist/hooks/useStyleObserver.d.ts +2 -2
- package/dist/hooks/useStyleObserver.d.ts.map +1 -1
- package/dist/hooks/useStyleObserver.js +1 -1
- package/dist/hooks/useStyleObserver.js.map +1 -1
- package/dist/icons/CalendarDynamicIcon.d.ts +8 -5
- package/dist/icons/CalendarDynamicIcon.d.ts.map +1 -1
- package/dist/icons/CalendarDynamicIcon.js +5 -2
- package/dist/icons/CalendarDynamicIcon.js.map +1 -1
- package/dist/icons/CopyInteractiveIcon.d.ts +5 -4
- package/dist/icons/CopyInteractiveIcon.d.ts.map +1 -1
- package/dist/icons/CopyInteractiveIcon.js +2 -2
- package/dist/icons/CopyInteractiveIcon.js.map +1 -1
- package/dist/icons/SidebarLeftInteractiveIcon.d.ts +4 -3
- package/dist/icons/SidebarLeftInteractiveIcon.d.ts.map +1 -1
- package/dist/icons/SidebarLeftInteractiveIcon.js +2 -2
- package/dist/icons/SidebarLeftInteractiveIcon.js.map +1 -1
- package/dist/icons/SidebarRightInteractiveIcon.d.ts +4 -3
- package/dist/icons/SidebarRightInteractiveIcon.d.ts.map +1 -1
- package/dist/icons/SidebarRightInteractiveIcon.js +2 -2
- package/dist/icons/SidebarRightInteractiveIcon.js.map +1 -1
- package/dist/tailwind-plugin.d.ts.map +1 -1
- package/dist/tailwind-plugin.js +8 -5
- package/dist/tailwind-plugin.js.map +1 -1
- package/dist/utils/InlineCounter.d.ts +3 -0
- package/dist/utils/InlineCounter.d.ts.map +1 -0
- package/dist/utils/InlineCounter.js +7 -0
- package/dist/utils/InlineCounter.js.map +1 -0
- package/dist/utils/RenderCount.d.ts +3 -0
- package/dist/utils/RenderCount.d.ts.map +1 -0
- package/dist/utils/RenderCount.js +7 -0
- package/dist/utils/RenderCount.js.map +1 -0
- package/dist/utils/cn.d.ts +3 -1
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +3 -1
- package/dist/utils/cn.js.map +1 -1
- package/dist/utils/getCSSPropsAttributes.d.ts +10 -3
- package/dist/utils/getCSSPropsAttributes.d.ts.map +1 -1
- package/dist/utils/getCSSPropsAttributes.js +4 -5
- package/dist/utils/getCSSPropsAttributes.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/splitProps.d.ts +1 -4
- package/dist/utils/splitProps.d.ts.map +1 -1
- package/dist/utils/splitProps.js +2 -7
- package/dist/utils/splitProps.js.map +1 -1
- package/dist/utils/trimReactNode.d.ts +10 -8
- package/dist/utils/trimReactNode.d.ts.map +1 -1
- package/dist/utils/trimReactNode.js +10 -8
- package/dist/utils/trimReactNode.js.map +1 -1
- package/package.json +21 -21
- package/src/GDSContext.ts +16 -0
- package/src/GDSProvider.tsx +31 -40
- package/src/components/Address.tsx +2 -2
- package/src/components/Avatar.tsx +8 -12
- package/src/components/Breadcrumbs.meta.ts +3 -1
- package/src/components/Breadcrumbs.parts.tsx +16 -28
- package/src/components/Button.tsx +114 -104
- package/src/components/ButtonGroup.meta.ts +8 -0
- package/src/components/ButtonGroup.tsx +1 -5
- package/src/components/Card.meta.ts +1 -0
- package/src/components/Card.tsx +2 -2
- package/src/components/Checkbox.meta.ts +1 -5
- package/src/components/Chip.parts.tsx +1 -11
- package/src/components/CodeBlock.parts.tsx +75 -50
- package/src/components/CodeInline.tsx +3 -3
- package/src/components/CopyButton.meta.ts +1 -6
- package/src/components/CopyButton.tsx +50 -27
- package/src/components/CurrencyInput.meta.ts +1 -5
- package/src/components/DescriptionList.parts.tsx +1 -0
- package/src/components/Icon.meta.ts +1 -0
- package/src/components/Icon.tsx +4 -4
- package/src/components/Input.meta.ts +1 -5
- package/src/components/Input.tsx +6 -7
- package/src/components/Keyboard.tsx +1 -1
- package/src/components/Link.meta.ts +1 -0
- package/src/components/Link.tsx +4 -5
- package/src/components/Menu.meta.ts +39 -1
- package/src/components/Menu.parts.tsx +554 -547
- package/src/components/Modal.meta.ts +1 -1
- package/src/components/Modal.parts.tsx +40 -46
- package/src/components/OTCInput.meta.ts +1 -5
- package/src/components/OTCInput.tsx +1 -1
- package/src/components/Pane.meta.ts +31 -0
- package/src/components/Pane.parts.tsx +713 -0
- package/src/components/Pane.tsx +17 -0
- package/src/components/Radio.meta.ts +1 -5
- package/src/components/Search.tsx +1 -1
- package/src/components/SegmentedControl.meta.ts +3 -1
- package/src/components/SegmentedControl.parts.tsx +7 -10
- package/src/components/Stepper.meta.ts +1 -0
- package/src/components/Stepper.parts.tsx +3 -1
- package/src/components/Switch.meta.ts +1 -5
- package/src/components/TabSet.meta.ts +3 -1
- package/src/components/TextArea.meta.ts +1 -5
- package/src/components/ToggleButton.meta.ts +1 -6
- package/src/components/ToggleButton.tsx +1 -1
- package/src/components/Tooltip.meta.ts +13 -2
- package/src/components/Tooltip.parts.tsx +241 -169
- package/src/components/Tooltip.tsx +2 -2
- package/src/components/base/Addon.meta.ts +3 -1
- package/src/components/base/ButtonOrLink.parts.tsx +118 -97
- package/src/components/base/ButtonOrLink.tsx +1 -0
- package/src/components/base/Checkable.parts.tsx +6 -13
- package/src/components/base/Field.parts.tsx +5 -5
- package/src/components/base/MaybeButtonOrLink.tsx +26 -5
- package/src/components/base/Portal.tsx +5 -7
- package/src/components/base/Presence.tsx +1375 -0
- package/src/components/base/Render.tsx +37 -15
- package/src/components/base/Transition.meta.ts +1 -0
- package/src/components/base/Transition.tsx +2 -2
- package/src/components/base/index.ts +9 -2
- package/src/components/index.ts +11 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCSSProp.ts +7 -9
- package/src/hooks/useCSSProps.ts +13 -22
- package/src/hooks/useCSSPropsPolyfill.ts +15 -23
- package/src/hooks/useCSSState.ts +11 -6
- package/src/hooks/useControlled.ts +16 -8
- package/src/hooks/useEffectWithRefDeps.ts +2 -2
- package/src/hooks/useFirstRender.ts +36 -0
- package/src/hooks/useGDS.ts +1 -1
- package/src/hooks/usePrevious.ts +6 -4
- package/src/hooks/useRefWithInit.ts +2 -2
- package/src/hooks/useStyleObserver.ts +6 -2
- package/src/icons/CalendarDynamicIcon.tsx +16 -6
- package/src/icons/CopyInteractiveIcon.tsx +10 -5
- package/src/icons/SidebarLeftInteractiveIcon.tsx +9 -5
- package/src/icons/SidebarRightInteractiveIcon.tsx +9 -5
- package/src/tailwind-plugin.ts +8 -5
- package/src/utils/InlineCounter.tsx +17 -0
- package/src/utils/RenderCount.tsx +7 -0
- package/src/utils/cn.ts +3 -1
- package/src/utils/getCSSPropsAttributes.ts +13 -8
- package/src/utils/index.ts +2 -0
- package/src/utils/splitProps.ts +9 -9
- package/src/utils/trimReactNode.tsx +10 -8
- package/dist/components/base/ButtonOrLink.meta.d.ts +0 -2
- package/dist/components/base/ButtonOrLink.meta.d.ts.map +0 -1
- package/dist/components/base/ButtonOrLink.meta.js +0 -6
- package/dist/components/base/ButtonOrLink.meta.js.map +0 -1
- package/src/components/base/ButtonOrLink.meta.ts +0 -6
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import { useRef, useState } from 'react'
|
|
4
|
+
import { useMergedRefs } from '@base-ui/utils/useMergedRefs'
|
|
4
5
|
|
|
5
6
|
import type { GDSComponentProps } from '@graphprotocol/gds-css'
|
|
6
7
|
import { CopyInteractiveIcon } from '@graphprotocol/gds-react/icons'
|
|
@@ -9,7 +10,6 @@ import { useGDS } from '../hooks/index.ts'
|
|
|
9
10
|
import { cn, isReactNode } from '../utils/index.ts'
|
|
10
11
|
import { Button, type ButtonProps } from './Button.tsx'
|
|
11
12
|
import type { CopyButtonMeta } from './CopyButton.meta.ts'
|
|
12
|
-
import { TooltipMeta } from './Tooltip.meta.ts'
|
|
13
13
|
import { Tooltip } from './Tooltip.tsx'
|
|
14
14
|
|
|
15
15
|
export interface CopyButtonProps
|
|
@@ -22,58 +22,81 @@ export interface CopyButtonProps
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export function CopyButton({
|
|
25
|
+
ref: passedRef,
|
|
25
26
|
value,
|
|
26
27
|
addonAfter,
|
|
27
28
|
tooltip,
|
|
28
29
|
onCopy,
|
|
29
|
-
onClick: passedOnClick,
|
|
30
30
|
className,
|
|
31
31
|
children,
|
|
32
32
|
...props
|
|
33
33
|
}: CopyButtonProps) {
|
|
34
34
|
useGDS()
|
|
35
35
|
|
|
36
|
-
const
|
|
37
|
-
const
|
|
36
|
+
const buttonRef = useRef<HTMLButtonElement>(null)
|
|
37
|
+
const buttonPassedRef = useMergedRefs(buttonRef, passedRef)
|
|
38
38
|
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const [copied, privateSetCopied] = useState(false)
|
|
40
|
+
const copiedTimeoutRef = useRef<number>(undefined)
|
|
41
|
+
|
|
42
|
+
const setCopied = (newCopied: boolean) => {
|
|
43
|
+
window.clearTimeout(copiedTimeoutRef.current)
|
|
44
|
+
privateSetCopied(newCopied)
|
|
45
|
+
if (newCopied) {
|
|
46
|
+
setTooltipOpen(true)
|
|
47
|
+
copiedTimeoutRef.current = window.setTimeout(() => setCopied(false), 1000)
|
|
48
|
+
} else {
|
|
49
|
+
// Ensure the original tooltip is shown again when leaving the button and coming back while copied
|
|
50
|
+
copiedTimeoutRef.current = window.setTimeout(() => {
|
|
51
|
+
if (!tooltipOpenRef.current && buttonRef.current?.matches(':hover, :focus-visible')) {
|
|
52
|
+
setTooltipOpen(true)
|
|
53
|
+
}
|
|
54
|
+
}, 150)
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
|
|
49
58
|
const hasChildren = children != null
|
|
50
|
-
const copyIcon = <CopyInteractiveIcon copied={
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
)
|
|
56
|
-
: {}
|
|
59
|
+
const copyIcon = <CopyInteractiveIcon copied={copied} />
|
|
60
|
+
const tooltipProps = isReactNode(tooltip) ? { content: tooltip } : tooltip
|
|
61
|
+
const [tooltipOpen, setTooltipOpen] = useState(false)
|
|
62
|
+
const tooltipOpenRef = useRef(tooltipOpen)
|
|
63
|
+
tooltipOpenRef.current = tooltipOpen
|
|
57
64
|
|
|
58
65
|
return (
|
|
59
66
|
<Tooltip
|
|
60
|
-
{...
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
{...tooltipProps}
|
|
68
|
+
content="Copied!"
|
|
69
|
+
{...(copied
|
|
70
|
+
? {
|
|
71
|
+
open: true,
|
|
72
|
+
onOpenChange: (newOpen, reason) => {
|
|
73
|
+
if (reason === 'disabled') return
|
|
74
|
+
setTooltipOpen(newOpen)
|
|
75
|
+
},
|
|
76
|
+
className: cn('i:prop-disabled-false', tooltipProps?.className),
|
|
77
|
+
}
|
|
78
|
+
: { disabled: true })}
|
|
64
79
|
>
|
|
65
80
|
<Button
|
|
81
|
+
ref={buttonPassedRef}
|
|
66
82
|
addonAfter={addonAfter !== undefined ? addonAfter : hasChildren ? copyIcon : undefined}
|
|
67
|
-
tooltip={
|
|
83
|
+
tooltip={{
|
|
84
|
+
open: tooltipOpen,
|
|
85
|
+
onOpenChange: (newOpen) => {
|
|
86
|
+
if (copied) return
|
|
87
|
+
setTooltipOpen(newOpen)
|
|
88
|
+
},
|
|
89
|
+
...tooltipProps,
|
|
90
|
+
}}
|
|
91
|
+
className={cn('gds-copy-button', className)}
|
|
92
|
+
{...props}
|
|
68
93
|
onClick={async (event) => {
|
|
69
|
-
|
|
94
|
+
props.onClick?.(event)
|
|
70
95
|
if (event.defaultPrevented) return
|
|
71
96
|
await navigator.clipboard.writeText(value)
|
|
72
97
|
onCopy?.(value)
|
|
73
|
-
|
|
98
|
+
setCopied(true)
|
|
74
99
|
}}
|
|
75
|
-
className={cn('gds-copy-button', className)}
|
|
76
|
-
{...props}
|
|
77
100
|
>
|
|
78
101
|
{hasChildren ? children : copyIcon}
|
|
79
102
|
</Button>
|
|
@@ -3,9 +3,5 @@ import { createComponent } from '@graphprotocol/gds-css'
|
|
|
3
3
|
import { FieldMeta } from './base/Field.meta.ts'
|
|
4
4
|
|
|
5
5
|
export const CurrencyInputMeta = createComponent('CurrencyInput', {
|
|
6
|
-
|
|
7
|
-
cssProps: {
|
|
8
|
-
/** @default 'medium' */
|
|
9
|
-
size: FieldMeta.cssProps.size,
|
|
10
|
-
},
|
|
6
|
+
extends: FieldMeta,
|
|
11
7
|
})
|
package/src/components/Icon.tsx
CHANGED
|
@@ -13,7 +13,7 @@ import type { GDSComponentProps } from '@graphprotocol/gds-css'
|
|
|
13
13
|
import { useGDS } from '../hooks/index.ts'
|
|
14
14
|
import { cn, getCSSPropsAttributes } from '../utils/index.ts'
|
|
15
15
|
import { IconMeta } from './Icon.meta.ts'
|
|
16
|
-
import {
|
|
16
|
+
import { useTooltipCollector } from './Tooltip.tsx'
|
|
17
17
|
|
|
18
18
|
export interface IconProps
|
|
19
19
|
extends Omit<ComponentProps<'span'>, 'children' | 'color'>, GDSComponentProps<typeof IconMeta> {
|
|
@@ -35,10 +35,10 @@ export function Icon({ src, alt, size, color, className, style, ...props }: Icon
|
|
|
35
35
|
useGDS()
|
|
36
36
|
|
|
37
37
|
const iconContent = isValidElement(src) ? src : createElement(src)
|
|
38
|
-
const
|
|
38
|
+
const collectTooltipContent = useTooltipCollector()
|
|
39
39
|
|
|
40
|
-
if (
|
|
41
|
-
|
|
40
|
+
if (collectTooltipContent && alt) {
|
|
41
|
+
collectTooltipContent(alt)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
if ('variant' in props) {
|
|
@@ -3,9 +3,5 @@ import { createComponent } from '@graphprotocol/gds-css'
|
|
|
3
3
|
import { FieldMeta } from './base/Field.meta.ts'
|
|
4
4
|
|
|
5
5
|
export const InputMeta = createComponent('Input', {
|
|
6
|
-
|
|
7
|
-
cssProps: {
|
|
8
|
-
/** @default 'medium' */
|
|
9
|
-
size: FieldMeta.cssProps.size,
|
|
10
|
-
},
|
|
6
|
+
extends: FieldMeta,
|
|
11
7
|
})
|
package/src/components/Input.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import type { ComponentProps,
|
|
3
|
+
import type { ComponentProps, ReactNode } from 'react'
|
|
4
4
|
|
|
5
5
|
import type { GDSComponentProps } from '@graphprotocol/gds-css'
|
|
6
6
|
import { parseNumber } from '@graphprotocol/gds-utils'
|
|
@@ -8,10 +8,10 @@ import { parseNumber } from '@graphprotocol/gds-utils'
|
|
|
8
8
|
import { useControlled, useGDS } from '../hooks/index.ts'
|
|
9
9
|
import { cn, splitProps } from '../utils/index.ts'
|
|
10
10
|
import { Field, type FieldProps } from './base/Field.tsx'
|
|
11
|
-
import { Render } from './base/Render.tsx'
|
|
11
|
+
import { Render, type RenderProp } from './base/Render.tsx'
|
|
12
12
|
import type { InputMeta } from './Input.meta.ts'
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export type InputState = {
|
|
15
15
|
inputProps: ComponentProps<'input'>
|
|
16
16
|
inputWithUnitAndAction: ReactNode
|
|
17
17
|
}
|
|
@@ -39,9 +39,7 @@ export interface InputProps
|
|
|
39
39
|
message?: FieldProps['message'] | undefined
|
|
40
40
|
unit?: ReactNode | undefined
|
|
41
41
|
action?: ReactNode | undefined
|
|
42
|
-
renderInput?:
|
|
43
|
-
| ((renderProps: ComponentProps<'div'>, state: InputState) => ReactElement)
|
|
44
|
-
| undefined
|
|
42
|
+
renderInput?: RenderProp<InputState> | undefined
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
export function Input({
|
|
@@ -168,6 +166,7 @@ export function Input({
|
|
|
168
166
|
**:button:default-variant-tertiary
|
|
169
167
|
@prop-size-small/field:pe-0.5
|
|
170
168
|
@prop-size-small/field:**:button:var-[radius=var(--radius-4)]
|
|
169
|
+
@prop-size-small/field:**:button-group:var-[gap=--spacing(0.5)]
|
|
171
170
|
@prop-size-medium/field:pe-1.5
|
|
172
171
|
@prop-size-large/field:pe-2
|
|
173
172
|
@prop-size-small/field:**:button-or-group:prop-size-xsmall
|
|
@@ -185,12 +184,12 @@ export function Input({
|
|
|
185
184
|
|
|
186
185
|
return (
|
|
187
186
|
<Render
|
|
188
|
-
{...renderProps}
|
|
189
187
|
render={renderInput ?? <Field.Box>{inputWithUnitAndAction}</Field.Box>}
|
|
190
188
|
state={{
|
|
191
189
|
inputProps,
|
|
192
190
|
inputWithUnitAndAction,
|
|
193
191
|
}}
|
|
192
|
+
{...renderProps}
|
|
194
193
|
/>
|
|
195
194
|
)
|
|
196
195
|
}}
|
|
@@ -48,7 +48,7 @@ export function Keyboard({
|
|
|
48
48
|
<kbd
|
|
49
49
|
ref={cssPropsPolyfillPassedRef}
|
|
50
50
|
className={cn(
|
|
51
|
-
`gds-keyboard root-inline u:shrink-0 u:font-mono u:
|
|
51
|
+
`gds-keyboard root-inline u:shrink-0 u:font-mono u:whitespace-nowrap
|
|
52
52
|
i:leading-0`,
|
|
53
53
|
className,
|
|
54
54
|
)}
|
package/src/components/Link.tsx
CHANGED
|
@@ -15,7 +15,7 @@ export declare namespace LinkProps {
|
|
|
15
15
|
/** @default 'primary' */
|
|
16
16
|
variant?: 'primary' | 'secondary' | undefined
|
|
17
17
|
addonBefore?: AddonValue | undefined
|
|
18
|
-
/** Defaults to `ArrowUpRightInteractiveIcon` if `href` is
|
|
18
|
+
/** Defaults to `ArrowUpRightInteractiveIcon` if `href` is defined and `target` is `_blank` */
|
|
19
19
|
addonAfter?: AddonValue | undefined
|
|
20
20
|
}
|
|
21
21
|
interface ButtonProps
|
|
@@ -70,8 +70,7 @@ export function Link({
|
|
|
70
70
|
disabled={disabled}
|
|
71
71
|
data-variant={cssProps.variant}
|
|
72
72
|
className={cn(
|
|
73
|
-
`gds-link
|
|
74
|
-
root-inline u:w-max u:max-w-full u:wrap-anywhere u:outline-0
|
|
73
|
+
`gds-link root-inline u:w-max u:max-w-full u:wrap-anywhere u:outline-0
|
|
75
74
|
u:hover:state-hover
|
|
76
75
|
u:focus-visible:state-focus
|
|
77
76
|
u:active:state-active
|
|
@@ -85,7 +84,7 @@ export function Link({
|
|
|
85
84
|
{...getCSSPropsAttributes(LinkMeta, { variant }, style)}
|
|
86
85
|
{...cssPropsPolyfillAttributes}
|
|
87
86
|
{...props}
|
|
88
|
-
render={(renderProps, { Element, target }) => {
|
|
87
|
+
render={(renderProps, { Element, elementProps, target }) => {
|
|
89
88
|
const addonAfter: AddonValue =
|
|
90
89
|
passedAddonAfter !== undefined ? (
|
|
91
90
|
passedAddonAfter
|
|
@@ -93,7 +92,7 @@ export function Link({
|
|
|
93
92
|
<ArrowUpRightInteractiveIcon />
|
|
94
93
|
) : undefined
|
|
95
94
|
return (
|
|
96
|
-
<Element {...renderProps}>
|
|
95
|
+
<Element {...renderProps} {...elementProps}>
|
|
97
96
|
<span
|
|
98
97
|
className={`
|
|
99
98
|
nested/link-paint -mx-1 rounded-[max(--spacing(1),0.25em)] p-1 whitespace-nowrap transition
|
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
import { createComponent } from '@graphprotocol/gds-css'
|
|
2
2
|
|
|
3
|
-
export const MenuMeta = createComponent('Menu'
|
|
3
|
+
export const MenuMeta = createComponent('Menu', {
|
|
4
|
+
isolate: false,
|
|
5
|
+
cssProps: {
|
|
6
|
+
/** @default 'bottom' // or for nested menus, 'end' */
|
|
7
|
+
side: {
|
|
8
|
+
type: 'values',
|
|
9
|
+
values: ['top', 'bottom', 'start', 'end'],
|
|
10
|
+
defaultValue: 'bottom',
|
|
11
|
+
},
|
|
12
|
+
/** @default 1 // or for nested menus, 3 */
|
|
13
|
+
gap: {
|
|
14
|
+
type: 'number',
|
|
15
|
+
defaultValue: 1,
|
|
16
|
+
},
|
|
17
|
+
/** @default 'start' */
|
|
18
|
+
align: {
|
|
19
|
+
type: 'values',
|
|
20
|
+
values: ['start', 'center', 'end'],
|
|
21
|
+
defaultValue: 'start',
|
|
22
|
+
},
|
|
23
|
+
/** @default 0 // or for nested menus, -2 */
|
|
24
|
+
alignOffset: {
|
|
25
|
+
type: 'number',
|
|
26
|
+
defaultValue: 0,
|
|
27
|
+
},
|
|
28
|
+
/** @default false */
|
|
29
|
+
matchTriggerWidth: {
|
|
30
|
+
type: 'values',
|
|
31
|
+
values: [false, true, 'at-least', 'at-most'],
|
|
32
|
+
defaultValue: false,
|
|
33
|
+
},
|
|
34
|
+
/** @default false */
|
|
35
|
+
matchTriggerHeight: {
|
|
36
|
+
type: 'values',
|
|
37
|
+
values: [false, true, 'at-least', 'at-most'],
|
|
38
|
+
defaultValue: false,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
})
|
|
4
42
|
|
|
5
43
|
export const MenuItemMeta = createComponent('MenuItem')
|