From 9772efb0d32100f0e9487dcbdec1a0c53aa0c355 Mon Sep 17 00:00:00 2001 From: RyushiAok <55625375+RyushiAok@users.noreply.github.com> Date: Mon, 15 Jul 2024 01:34:23 +0900 Subject: [PATCH 1/4] feat(anchor): href optional --- .../src/components/base/anchor/components/anchor.tsx | 12 +++++++----- .../base/anchor/stories/anchor.stories.tsx | 9 +-------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx index 8e8743752..0330d5a74 100644 --- a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx +++ b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx @@ -31,15 +31,14 @@ type Props = BaseProps & { iconPosition?: "left" | "right"; nowrap?: boolean; children: ReactNode; + href?: string; } & ( | { - href: string; as?: never; asProps?: never; openInNewTab?: boolean; } | { - href?: never; as: T; asProps: ComponentProps; openInNewTab?: never; @@ -59,15 +58,18 @@ const Anchor = forwardRef( openInNewTab, nowrap = false, children, + href, ...props }: Props, ref: ForwardedRef ) => { - const isAnchor = "href" in props; - const LinkComponent = isAnchor ? "a" : props.as; + const isAnchor = !!href; + // const LinkComponent = isAnchor ? "a" : props.as; + // if props.as is never then "a" else props.as + const LinkComponent = props.as || "a"; const linkProps = isAnchor ? { - href: props.href, + href: href, target: openInNewTab ? "_blank" : undefined, rel: openInNewTab ? "noopener noreferrer" : undefined, } diff --git a/packages/wiz-ui-react/src/components/base/anchor/stories/anchor.stories.tsx b/packages/wiz-ui-react/src/components/base/anchor/stories/anchor.stories.tsx index d0cb96bc6..174c69ee7 100644 --- a/packages/wiz-ui-react/src/components/base/anchor/stories/anchor.stories.tsx +++ b/packages/wiz-ui-react/src/components/base/anchor/stories/anchor.stories.tsx @@ -23,9 +23,7 @@ export const Default: Story = { }, }, }, - args: { - href: "#", - }, + args: {}, render: (args) => ○○へ飛ぶ, }; @@ -39,7 +37,6 @@ export const Color: Story = { }, }, args: { - href: "#", color: "red.800", }, render: (args) => ○○へ飛ぶ, @@ -55,7 +52,6 @@ export const FontSize: Story = { }, }, args: { - href: "#", fontSize: "sm", }, render: (args) => ○○へ飛ぶ, @@ -70,7 +66,6 @@ export const FontWeight: Story = { }, }, args: { - href: "#", fontWeight: "bold", }, render: (args) => ○○へ飛ぶ, @@ -86,7 +81,6 @@ export const Icon: Story = { }, }, args: { - href: "#", icon: WizIArrowRight, }, render: (args) => ○○へ飛ぶ, @@ -105,7 +99,6 @@ export const IconPosition: Story = { }, }, args: { - href: "#", icon: WizIArrowRight, iconPosition: "right", }, From f2a178640506f58e26f8867022a9506c7c431548 Mon Sep 17 00:00:00 2001 From: RyushiAok <55625375+RyushiAok@users.noreply.github.com> Date: Mon, 15 Jul 2024 01:35:14 +0900 Subject: [PATCH 2/4] chore(anchor): add changeset --- .changeset/thirty-taxis-search.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thirty-taxis-search.md diff --git a/.changeset/thirty-taxis-search.md b/.changeset/thirty-taxis-search.md new file mode 100644 index 000000000..a6e841ba5 --- /dev/null +++ b/.changeset/thirty-taxis-search.md @@ -0,0 +1,5 @@ +--- +"@wizleap-inc/wiz-ui-react": minor +--- + +Feat(anchor): href を任意プロパティに変更する From 241c70a6cddb4fb7b2c5936f3eb6a8dcbca3712a Mon Sep 17 00:00:00 2001 From: RyushiAok <55625375+RyushiAok@users.noreply.github.com> Date: Fri, 23 Aug 2024 16:22:33 +0900 Subject: [PATCH 3/4] fix(anchor): href optional --- .../src/components/base/anchor/components/anchor.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx index 0330d5a74..5be9b1ee0 100644 --- a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx +++ b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx @@ -31,14 +31,15 @@ type Props = BaseProps & { iconPosition?: "left" | "right"; nowrap?: boolean; children: ReactNode; - href?: string; } & ( | { + href?: string; as?: never; asProps?: never; openInNewTab?: boolean; } | { + href?: never; as: T; asProps: ComponentProps; openInNewTab?: never; @@ -58,18 +59,16 @@ const Anchor = forwardRef( openInNewTab, nowrap = false, children, - href, ...props }: Props, ref: ForwardedRef ) => { - const isAnchor = !!href; - // const LinkComponent = isAnchor ? "a" : props.as; - // if props.as is never then "a" else props.as + const isAnchor = "href" in props; const LinkComponent = props.as || "a"; + const linkProps = isAnchor ? { - href: href, + href: props.href, target: openInNewTab ? "_blank" : undefined, rel: openInNewTab ? "noopener noreferrer" : undefined, } From 15ab540992aa59053ee8bf28aba021ac65183667 Mon Sep 17 00:00:00 2001 From: ichi-h <85932406+ichi-h@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:04:36 +0900 Subject: [PATCH 4/4] =?UTF-8?q?fix(anchor):=20props.as=20=3D=3D=3D=20undef?= =?UTF-8?q?ined=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/base/anchor/components/anchor.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx index 5be9b1ee0..51c666596 100644 --- a/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx +++ b/packages/wiz-ui-react/src/components/base/anchor/components/anchor.tsx @@ -63,7 +63,7 @@ const Anchor = forwardRef( }: Props, ref: ForwardedRef ) => { - const isAnchor = "href" in props; + const isAnchor = "href" in props && props.as === undefined; const LinkComponent = props.as || "a"; const linkProps = isAnchor