Skip to content

♻️ refactor: Button を React.forwardRef 対応にしてほしい(PopoverTrigger 等で asChild 合成するため) #270

Description

@tianshen-gp

背景

sparkle-design-internalPopoverTriggerButton は、公開 ButtonforwardRef 非対応のため Button asChild + PopoverPrimitive.Trigger の workaround を使っています(PR goodpatch/sparkle-design-internal#182)。

同様に Radix Trigger asChild と Sparkle Button を直接合成したい利用パターンが増える見込みです。

提案

ButtonReact.forwardRef<HTMLButtonElement, ButtonProps> でラップし、ref を DOM の <button> に渡せるようにしてください。

社内側の暫定対応

  • PopoverTriggerButtonButton asChild + 内部 PopoverPrimitive.Trigger を維持
  • 本 issue 対応後に workaround を削除できるよう TODO(sparkle-design#XXX) をコードに残します

関連

  • goodpatch/sparkle-design-internal#182(Popover)
  • sparkle-design#263(useMergeRefs 共通化・別件)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions