@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-plugin.js","sourceRoot":"","sources":["../src/tailwind-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,iBAAiB,MAAM,wCAAwC,CAAA;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tailwind-plugin.js","sourceRoot":"","sources":["../src/tailwind-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|
package/dist/utils/cn.d.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
5
|
*
|
|
6
|
-
*
|
|
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
|
package/dist/utils/cn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA
|
|
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
package/dist/utils/cn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA
|
|
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] :
|
|
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
|
|
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;
|
|
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
|
|
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
|
|
13
|
+
const cssProp = component.getCSSPropByName(propName);
|
|
15
14
|
const value = passedValues[propName];
|
|
16
15
|
if (value === undefined)
|
|
17
16
|
continue;
|
|
18
|
-
customProperties[`--gds-passed-${
|
|
17
|
+
customProperties[`--gds-passed-${cssProp.kebabName}`] = getCSSPropRawValue(cssProp, value);
|
|
19
18
|
}
|
|
20
19
|
return {
|
|
21
|
-
style: { ...
|
|
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;
|
|
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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -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";
|
package/dist/utils/index.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/utils/splitProps.js
CHANGED
|
@@ -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
|
-
|
|
23
|
+
key.startsWith('data-');
|
|
29
24
|
if (isRootProp) {
|
|
30
25
|
rootProps[key] = value;
|
|
31
26
|
}
|
|
32
|
-
|
|
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
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
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
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
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
|
|
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
|
|
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.
|
|
47
|
-
"@base-ui/utils": "^0.2.
|
|
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.
|
|
52
|
+
"motion": "^12.29.2",
|
|
53
53
|
"react-aria": "^3.45.0",
|
|
54
54
|
"react-keyed-flatten-children": "^5.1.1",
|
|
55
|
-
"shiki": "^3.
|
|
55
|
+
"shiki": "^3.21.0",
|
|
56
56
|
"style-observer": "^0.1.2",
|
|
57
|
-
"ts-extras": "^0.16.
|
|
58
|
-
"type-fest": "^5.
|
|
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
|
|
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
|
|
65
|
-
"@storybook/addon-vitest": "^10.1
|
|
66
|
-
"@storybook/react": "^10.1
|
|
67
|
-
"@storybook/react-vite": "^10.1
|
|
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.
|
|
73
|
-
"@types/react": "^19.2.
|
|
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.
|
|
77
|
-
"lightningcss": "^1.
|
|
76
|
+
"@web3icons/react": "^4.1.14",
|
|
77
|
+
"lightningcss": "^1.31.1",
|
|
78
78
|
"postcss": "^8.5.6",
|
|
79
|
-
"react": "^19.2.
|
|
80
|
-
"react-dom": "^19.2.
|
|
81
|
-
"react-is": "^19.2.
|
|
82
|
-
"storybook": "^10.1
|
|
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)
|
package/src/GDSProvider.tsx
CHANGED
|
@@ -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
|
-
/**
|
|
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
|
|
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
|
-
*
|
|
67
|
+
* ```tsx
|
|
68
|
+
* import { GDSProvider } from '@graphprotocol/gds-react'
|
|
81
69
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
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
|
-
<
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
|
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
|
|
101
|
-
|
|
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
|
+
})
|