From edd712876b515684f5ed13963056f16cba760b75 Mon Sep 17 00:00:00 2001 From: coderwelsch Date: Tue, 12 Mar 2024 13:17:02 +0100 Subject: [PATCH 01/10] feat: added Breadcrumb Component --- .../breadcrumb/breadcrumb-arrow.tsx | 6 ++++ src/components/breadcrumb/breadcrumb-item.tsx | 30 +++++++++++++++++ .../breadcrumb/breadcrumb.stories.tsx | 33 +++++++++++++++++++ src/components/breadcrumb/breadcrumb.tsx | 20 +++++++++++ src/components/breadcrumb/index.tsx | 1 + src/components/index.ts | 1 + 6 files changed, 91 insertions(+) create mode 100644 src/components/breadcrumb/breadcrumb-arrow.tsx create mode 100644 src/components/breadcrumb/breadcrumb-item.tsx create mode 100644 src/components/breadcrumb/breadcrumb.stories.tsx create mode 100644 src/components/breadcrumb/breadcrumb.tsx create mode 100644 src/components/breadcrumb/index.tsx diff --git a/src/components/breadcrumb/breadcrumb-arrow.tsx b/src/components/breadcrumb/breadcrumb-arrow.tsx new file mode 100644 index 00000000..f2496fd4 --- /dev/null +++ b/src/components/breadcrumb/breadcrumb-arrow.tsx @@ -0,0 +1,6 @@ +import React from "react"; +import { ChevronRightIcon } from "../../icons"; + +export const BreadcrumbArrow = () => { + return ; +}; diff --git a/src/components/breadcrumb/breadcrumb-item.tsx b/src/components/breadcrumb/breadcrumb-item.tsx new file mode 100644 index 00000000..8fbfb284 --- /dev/null +++ b/src/components/breadcrumb/breadcrumb-item.tsx @@ -0,0 +1,30 @@ +import React from "react"; +import { classNames } from "../../util/class-names"; + +interface BreadcrumbItemProps { + children: React.ReactNode; + className?: string; + href?: string; + active?: boolean; +} + +export const BreadcrumbItem: React.FC = ({ + children, + className, + href, + active, +}) => { + return ( + + {children} + + ); +}; diff --git a/src/components/breadcrumb/breadcrumb.stories.tsx b/src/components/breadcrumb/breadcrumb.stories.tsx new file mode 100644 index 00000000..8f3d038b --- /dev/null +++ b/src/components/breadcrumb/breadcrumb.stories.tsx @@ -0,0 +1,33 @@ +import type { Meta, StoryObj } from "@storybook/react"; +import React from "react"; +import { Breadcrumb } from "./breadcrumb"; + +const meta: Meta = { + title: "Breadcrumb", + component: Breadcrumb, + args: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Base: Story = { + render: () => ( +
+ + Home + + + + Library + + + + + Book + + +
+ ), +}; diff --git a/src/components/breadcrumb/breadcrumb.tsx b/src/components/breadcrumb/breadcrumb.tsx new file mode 100644 index 00000000..f493f324 --- /dev/null +++ b/src/components/breadcrumb/breadcrumb.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { BreadcrumbItem } from "./breadcrumb-item"; +import { BreadcrumbArrow } from "./breadcrumb-arrow"; + +export interface BreadcrumbProps { + children: React.ReactNode; +} + +const Breadcrumb = ({ children }: BreadcrumbProps) => { + return ( + + ); +}; + +Breadcrumb.Item = BreadcrumbItem; +Breadcrumb.Arrow = BreadcrumbArrow; + +export { Breadcrumb }; diff --git a/src/components/breadcrumb/index.tsx b/src/components/breadcrumb/index.tsx new file mode 100644 index 00000000..69b4a5ce --- /dev/null +++ b/src/components/breadcrumb/index.tsx @@ -0,0 +1 @@ +export { Breadcrumb } from "./breadcrumb"; diff --git a/src/components/index.ts b/src/components/index.ts index 5e57f0a5..a43ee6e3 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,6 +1,7 @@ export { Alert, AlertIntent } from "./alert"; export { Avatar } from "./avatar"; export { Badge, BadgeType } from "./badge"; +export { Breadcrumb } from "./breadcrumb"; export { Button } from "./button"; export { Checkbox } from "./checkbox"; export { Dialog } from "./dialog"; From f293baf1a7ffd2601c5cba48adddcc983f4196b8 Mon Sep 17 00:00:00 2001 From: coderwelsch Date: Tue, 12 Mar 2024 13:28:10 +0100 Subject: [PATCH 02/10] renamed breadcrumb to breadcrumbs --- .../breadcrumb/breadcrumb.stories.tsx | 33 ------------------- src/components/breadcrumb/index.tsx | 1 - .../breadcrumb-arrow.tsx | 0 .../breadcrumb-item.tsx | 0 .../breadcrumbs/breadcrumbs.stories.tsx | 33 +++++++++++++++++++ .../breadcrumbs.tsx} | 10 +++--- src/components/breadcrumbs/index.tsx | 1 + src/components/index.ts | 2 +- 8 files changed, 40 insertions(+), 40 deletions(-) delete mode 100644 src/components/breadcrumb/breadcrumb.stories.tsx delete mode 100644 src/components/breadcrumb/index.tsx rename src/components/{breadcrumb => breadcrumbs}/breadcrumb-arrow.tsx (100%) rename src/components/{breadcrumb => breadcrumbs}/breadcrumb-item.tsx (100%) create mode 100644 src/components/breadcrumbs/breadcrumbs.stories.tsx rename src/components/{breadcrumb/breadcrumb.tsx => breadcrumbs/breadcrumbs.tsx} (62%) create mode 100644 src/components/breadcrumbs/index.tsx diff --git a/src/components/breadcrumb/breadcrumb.stories.tsx b/src/components/breadcrumb/breadcrumb.stories.tsx deleted file mode 100644 index 8f3d038b..00000000 --- a/src/components/breadcrumb/breadcrumb.stories.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import type { Meta, StoryObj } from "@storybook/react"; -import React from "react"; -import { Breadcrumb } from "./breadcrumb"; - -const meta: Meta = { - title: "Breadcrumb", - component: Breadcrumb, - args: {}, -}; - -export default meta; - -type Story = StoryObj; - -export const Base: Story = { - render: () => ( -
- - Home - - - - Library - - - - - Book - - -
- ), -}; diff --git a/src/components/breadcrumb/index.tsx b/src/components/breadcrumb/index.tsx deleted file mode 100644 index 69b4a5ce..00000000 --- a/src/components/breadcrumb/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { Breadcrumb } from "./breadcrumb"; diff --git a/src/components/breadcrumb/breadcrumb-arrow.tsx b/src/components/breadcrumbs/breadcrumb-arrow.tsx similarity index 100% rename from src/components/breadcrumb/breadcrumb-arrow.tsx rename to src/components/breadcrumbs/breadcrumb-arrow.tsx diff --git a/src/components/breadcrumb/breadcrumb-item.tsx b/src/components/breadcrumbs/breadcrumb-item.tsx similarity index 100% rename from src/components/breadcrumb/breadcrumb-item.tsx rename to src/components/breadcrumbs/breadcrumb-item.tsx diff --git a/src/components/breadcrumbs/breadcrumbs.stories.tsx b/src/components/breadcrumbs/breadcrumbs.stories.tsx new file mode 100644 index 00000000..5ae67c69 --- /dev/null +++ b/src/components/breadcrumbs/breadcrumbs.stories.tsx @@ -0,0 +1,33 @@ +import type { Meta, StoryObj } from "@storybook/react"; +import React from "react"; +import { Breadcrumbs } from "./breadcrumbs"; + +const meta: Meta = { + title: "Breadcrumb", + component: Breadcrumbs, + args: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Base: Story = { + render: () => ( +
+ + Home + + + + Library + + + + + Book + + +
+ ), +}; diff --git a/src/components/breadcrumb/breadcrumb.tsx b/src/components/breadcrumbs/breadcrumbs.tsx similarity index 62% rename from src/components/breadcrumb/breadcrumb.tsx rename to src/components/breadcrumbs/breadcrumbs.tsx index f493f324..99ce3a67 100644 --- a/src/components/breadcrumb/breadcrumb.tsx +++ b/src/components/breadcrumbs/breadcrumbs.tsx @@ -2,11 +2,11 @@ import React from "react"; import { BreadcrumbItem } from "./breadcrumb-item"; import { BreadcrumbArrow } from "./breadcrumb-arrow"; -export interface BreadcrumbProps { +export interface BreadcrumbsProps { children: React.ReactNode; } -const Breadcrumb = ({ children }: BreadcrumbProps) => { +const Breadcrumbs = ({ children }: BreadcrumbsProps) => { return (