@worknice/whiteboard 0.24.0 → 0.26.0

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.
Files changed (37) hide show
  1. package/dist/controls/Action.stories.d.ts +52 -0
  2. package/dist/controls/Action.stories.js +93 -0
  3. package/dist/controls/Button.stories.d.ts +2 -16
  4. package/dist/controls/Button.stories.js +5 -28
  5. package/dist/controls/ButtonCard.stories.d.ts +31 -0
  6. package/dist/controls/ButtonCard.stories.js +77 -0
  7. package/dist/controls/ButtonLink.d.ts +6 -1
  8. package/dist/controls/ButtonLink.js +1 -1
  9. package/dist/controls/ButtonLink.stories.d.ts +46 -0
  10. package/dist/controls/ButtonLink.stories.js +72 -0
  11. package/dist/controls/Disclosure.d.ts +4 -0
  12. package/dist/controls/Disclosure.stories.d.ts +53 -0
  13. package/dist/controls/Disclosure.stories.js +132 -0
  14. package/dist/controls/Link.d.ts +5 -0
  15. package/dist/controls/Link.stories.d.ts +38 -0
  16. package/dist/controls/Link.stories.js +34 -0
  17. package/dist/controls/LinkCard.stories.d.ts +23 -0
  18. package/dist/controls/LinkCard.stories.js +25 -0
  19. package/dist/controls/MenuButton.d.ts +2 -0
  20. package/dist/controls/MenuButton.js +2 -1
  21. package/dist/controls/MenuButton.stories.d.ts +71 -0
  22. package/dist/controls/MenuButton.stories.js +275 -0
  23. package/dist/controls/PageTabSet.d.ts +6 -2
  24. package/dist/controls/PageTabSet.stories.d.ts +49 -0
  25. package/dist/controls/PageTabSet.stories.js +106 -0
  26. package/dist/controls/Sortable.d.ts +8 -4
  27. package/dist/controls/Sortable.stories.d.ts +32 -0
  28. package/dist/controls/Sortable.stories.js +106 -0
  29. package/dist/controls/SortableItem.d.ts +1 -0
  30. package/dist/controls/TabSet.stories.d.ts +43 -0
  31. package/dist/controls/TabSet.stories.js +109 -0
  32. package/dist/controls/TabSetLink.d.ts +3 -0
  33. package/dist/controls/TabSetLink.stories.d.ts +44 -0
  34. package/dist/controls/TabSetLink.stories.js +204 -0
  35. package/dist/utils/storybook.d.ts +2 -0
  36. package/dist/utils/storybook.js +26 -0
  37. package/package.json +2 -2
@@ -0,0 +1,49 @@
1
+ import type { StoryObj } from "@storybook/nextjs-vite";
2
+ declare const meta: {
3
+ component: ({ id, pages, variant }: {
4
+ id?: string;
5
+ pages: {
6
+ path: string;
7
+ label: import("react").ReactNode;
8
+ key: string;
9
+ }[];
10
+ variant?: "default" | "steps";
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ argTypes: {
13
+ id: {
14
+ control: false;
15
+ };
16
+ pages: {
17
+ table: {
18
+ type: {
19
+ summary: string;
20
+ };
21
+ };
22
+ };
23
+ variant: {
24
+ control: "inline-radio";
25
+ options: string[];
26
+ };
27
+ };
28
+ args: {
29
+ pages: {
30
+ path: string;
31
+ label: string;
32
+ key: string;
33
+ }[];
34
+ variant: "default";
35
+ };
36
+ render: (args: {
37
+ id?: string;
38
+ pages: {
39
+ path: string;
40
+ label: import("react").ReactNode;
41
+ key: string;
42
+ }[];
43
+ variant?: "default" | "steps";
44
+ }) => import("react/jsx-runtime").JSX.Element;
45
+ };
46
+ export default meta;
47
+ type Story = StoryObj<typeof meta>;
48
+ export declare const Default: Story;
49
+ export declare const StepsVariant: Story;
@@ -0,0 +1,106 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__ from "../presentation/PlainText.js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__PageTabSet_js_c94ee2ea__ from "./PageTabSet.js";
4
+ const meta = {
5
+ component: __WEBPACK_EXTERNAL_MODULE__PageTabSet_js_c94ee2ea__["default"],
6
+ argTypes: {
7
+ id: {
8
+ control: false
9
+ },
10
+ pages: {
11
+ table: {
12
+ type: {
13
+ summary: "Array<{ path: string; label: ReactNode; key: string }>"
14
+ }
15
+ }
16
+ },
17
+ variant: {
18
+ control: "inline-radio",
19
+ options: [
20
+ "default",
21
+ "steps"
22
+ ]
23
+ }
24
+ },
25
+ args: {
26
+ pages: [
27
+ {
28
+ path: "/current-path",
29
+ label: "Page 1",
30
+ key: "page1"
31
+ },
32
+ {
33
+ path: "/page2",
34
+ label: "Page 2",
35
+ key: "page2"
36
+ },
37
+ {
38
+ path: "/page3",
39
+ label: "Page 3",
40
+ key: "page3"
41
+ }
42
+ ],
43
+ variant: "default"
44
+ },
45
+ render: (args)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
46
+ children: [
47
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PageTabSet_js_c94ee2ea__["default"], {
48
+ ...args
49
+ }),
50
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
51
+ style: {
52
+ marginTop: "1rem",
53
+ padding: "1rem",
54
+ background: "#f5f5f5",
55
+ display: "flex",
56
+ flexDirection: "column",
57
+ gap: "0.5rem"
58
+ },
59
+ children: [
60
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__["default"], {
61
+ tone: "muted",
62
+ font: "small",
63
+ children: "Note: Clicking links in Storybook won't navigate."
64
+ }),
65
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__["default"], {
66
+ tone: "muted",
67
+ font: "small",
68
+ children: 'You can change the active tab using the storybook controls by setting the path to "/current-path" on the desired page object in the pages prop.'
69
+ })
70
+ ]
71
+ })
72
+ ]
73
+ })
74
+ };
75
+ const PageTabSet_stories_rslib_entry_ = meta;
76
+ const Default = {
77
+ args: {}
78
+ };
79
+ const StepsVariant = {
80
+ args: {
81
+ variant: "steps",
82
+ pages: [
83
+ {
84
+ path: "/step1",
85
+ label: "Step 1",
86
+ key: "step1"
87
+ },
88
+ {
89
+ path: "/step2",
90
+ label: "Step 2",
91
+ key: "step2"
92
+ },
93
+ {
94
+ path: "/current-path",
95
+ label: "Step 3",
96
+ key: "step3"
97
+ },
98
+ {
99
+ path: "/step4",
100
+ label: "Step 4",
101
+ key: "step4"
102
+ }
103
+ ]
104
+ }
105
+ };
106
+ export { Default, StepsVariant, PageTabSet_stories_rslib_entry_ as default };
@@ -1,10 +1,14 @@
1
1
  import { type DragEndEvent } from "@dnd-kit/core";
2
- import { type ReactNode } from "react";
2
+ import { type ReactElement } from "react";
3
+ import type { SortableItemProps } from "./SortableItem";
3
4
  type Props = {
4
- items: Array<{
5
+ /**
6
+ * An array of items to display in the sortable list. Should use SortableItem component.
7
+ */
8
+ items: {
5
9
  id: string;
6
- value: ReactNode;
7
- } | null>;
10
+ value: ReactElement<SortableItemProps>;
11
+ }[];
8
12
  onDragEnd: (e: DragEndEvent) => void;
9
13
  };
10
14
  declare const Sortable: ({ items, onDragEnd }: Props) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import type { DragEndEvent } from "@dnd-kit/core";
2
+ import type { StoryObj } from "@storybook/nextjs-vite";
3
+ declare const meta: {
4
+ component: ({ items, onDragEnd }: {
5
+ items: {
6
+ id: string;
7
+ value: import("react").ReactElement<import("./SortableItem").SortableItemProps>;
8
+ }[];
9
+ onDragEnd: (e: DragEndEvent) => void;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ subcomponents: {
12
+ SortableItem: ({ id, children, actions }: import("./SortableItem").SortableItemProps) => import("react/jsx-runtime").JSX.Element;
13
+ };
14
+ args: {
15
+ onDragEnd: import("storybook/test").Mock<(...args: any[]) => any>;
16
+ items: {
17
+ id: string;
18
+ value: import("react/jsx-runtime").JSX.Element;
19
+ }[];
20
+ };
21
+ render: (args: {
22
+ items: {
23
+ id: string;
24
+ value: import("react").ReactElement<import("./SortableItem").SortableItemProps>;
25
+ }[];
26
+ onDragEnd: (e: DragEndEvent) => void;
27
+ }) => import("react/jsx-runtime").JSX.Element;
28
+ };
29
+ export default meta;
30
+ type Story = StoryObj<typeof meta>;
31
+ export declare const Default: Story;
32
+ export declare const WithActions: Story;
@@ -0,0 +1,106 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__dnd_kit_sortable_a8361dd8__ from "@dnd-kit/sortable";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_storybook_internal_preview_api_1bb4c151__ from "storybook/internal/preview-api";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__ from "storybook/test";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__presentation_Icon_js_6961aa57__ from "../presentation/Icon.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__Button_js_17bdd71d__ from "./Button.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__Sortable_js_022e9a14__ from "./Sortable.js";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__ from "./SortableItem.js";
9
+ const meta = {
10
+ component: __WEBPACK_EXTERNAL_MODULE__Sortable_js_022e9a14__["default"],
11
+ subcomponents: {
12
+ SortableItem: __WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"]
13
+ },
14
+ args: {
15
+ onDragEnd: (0, __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__.fn)(),
16
+ items: [
17
+ {
18
+ id: "1",
19
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
20
+ id: "1",
21
+ children: "Item 1"
22
+ })
23
+ },
24
+ {
25
+ id: "2",
26
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
27
+ id: "2",
28
+ children: "Item 2"
29
+ })
30
+ },
31
+ {
32
+ id: "3",
33
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
34
+ id: "3",
35
+ children: "Item 3"
36
+ })
37
+ }
38
+ ]
39
+ },
40
+ render: (args)=>{
41
+ const [{ items, onDragEnd }, updateArgs] = (0, __WEBPACK_EXTERNAL_MODULE_storybook_internal_preview_api_1bb4c151__.useArgs)();
42
+ const onDragEndCallback = (event)=>{
43
+ const { active, over } = event;
44
+ if (over && active.id !== over.id) updateArgs({
45
+ items: (0, __WEBPACK_EXTERNAL_MODULE__dnd_kit_sortable_a8361dd8__.arrayMove)(items, items.findIndex((item)=>item.id === active.id), items.findIndex((item)=>item.id === over.id))
46
+ });
47
+ onDragEnd(event);
48
+ };
49
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Sortable_js_022e9a14__["default"], {
50
+ ...args,
51
+ onDragEnd: onDragEndCallback,
52
+ items: items
53
+ });
54
+ }
55
+ };
56
+ const Sortable_stories_rslib_entry_ = meta;
57
+ const Default = {};
58
+ const WithActions = {
59
+ args: {
60
+ items: [
61
+ {
62
+ id: "1",
63
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
64
+ id: "1",
65
+ actions: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Button_js_17bdd71d__["default"], {
66
+ type: "secondary",
67
+ onClick: (0, __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__.fn)(),
68
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Icon_js_6961aa57__["default"], {
69
+ symbol: "Close"
70
+ })
71
+ }),
72
+ children: "Item 1"
73
+ })
74
+ },
75
+ {
76
+ id: "2",
77
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
78
+ id: "2",
79
+ actions: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Button_js_17bdd71d__["default"], {
80
+ type: "secondary",
81
+ onClick: (0, __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__.fn)(),
82
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Icon_js_6961aa57__["default"], {
83
+ symbol: "Close"
84
+ })
85
+ }),
86
+ children: "Item 2"
87
+ })
88
+ },
89
+ {
90
+ id: "3",
91
+ value: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__SortableItem_js_266c58d3__["default"], {
92
+ id: "3",
93
+ actions: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Button_js_17bdd71d__["default"], {
94
+ type: "secondary",
95
+ onClick: (0, __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__.fn)(),
96
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Icon_js_6961aa57__["default"], {
97
+ symbol: "Close"
98
+ })
99
+ }),
100
+ children: "Item 3"
101
+ })
102
+ }
103
+ ]
104
+ }
105
+ };
106
+ export { Default, WithActions, Sortable_stories_rslib_entry_ as default };
@@ -6,3 +6,4 @@ type Props = {
6
6
  };
7
7
  declare const SortableItem: ({ id, children, actions }: Props) => import("react/jsx-runtime").JSX.Element;
8
8
  export default SortableItem;
9
+ export type { Props as SortableItemProps };
@@ -0,0 +1,43 @@
1
+ import type { StoryObj } from "@storybook/nextjs-vite";
2
+ declare const meta: {
3
+ component: <T extends string>({ active, id, items, onChange }: {
4
+ active: T;
5
+ id?: string;
6
+ items: ({
7
+ content: import("react").ReactNode;
8
+ key: T;
9
+ } | null)[];
10
+ onChange: (key: T) => void;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ argTypes: {
13
+ id: {
14
+ control: false;
15
+ };
16
+ active: {
17
+ control: "select";
18
+ options: string[];
19
+ description: string;
20
+ };
21
+ };
22
+ args: {
23
+ active: string;
24
+ items: {
25
+ content: string;
26
+ key: string;
27
+ }[];
28
+ onChange: import("storybook/test").Mock<(...args: any[]) => any>;
29
+ };
30
+ render: (args: {
31
+ active: string;
32
+ id?: string;
33
+ items: ({
34
+ content: import("react").ReactNode;
35
+ key: string;
36
+ } | null)[];
37
+ onChange: (key: string) => void;
38
+ }) => import("react/jsx-runtime").JSX.Element;
39
+ };
40
+ export default meta;
41
+ type Story = StoryObj<typeof meta>;
42
+ export declare const Default: Story;
43
+ export declare const WithRichContent: Story;
@@ -0,0 +1,109 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_storybook_preview_api_98c434a5__ from "storybook/preview-api";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__ from "storybook/test";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__presentation_Badge_js_d3f5e18a__ from "../presentation/Badge.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__presentation_HStack_js_10bfc552__ from "../presentation/HStack.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__ from "../presentation/PlainText.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__TabSet_js_d051a74a__ from "./TabSet.js";
8
+ const meta = {
9
+ component: __WEBPACK_EXTERNAL_MODULE__TabSet_js_d051a74a__["default"],
10
+ argTypes: {
11
+ id: {
12
+ control: false
13
+ },
14
+ active: {
15
+ control: "select",
16
+ options: [
17
+ "tab1",
18
+ "tab2",
19
+ "tab3"
20
+ ],
21
+ description: "The key of the currently active tab"
22
+ }
23
+ },
24
+ args: {
25
+ active: "tab1",
26
+ items: [
27
+ {
28
+ content: "Tab 1",
29
+ key: "tab1"
30
+ },
31
+ {
32
+ content: "Tab 2",
33
+ key: "tab2"
34
+ },
35
+ {
36
+ content: "Tab 3",
37
+ key: "tab3"
38
+ }
39
+ ],
40
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE_storybook_test_a99c99ea__.fn)()
41
+ },
42
+ render: (args)=>{
43
+ const [{ active, onChange }, updateArgs] = (0, __WEBPACK_EXTERNAL_MODULE_storybook_preview_api_98c434a5__.useArgs)();
44
+ const handleChange = (key)=>{
45
+ updateArgs({
46
+ active: key
47
+ });
48
+ onChange(key);
49
+ };
50
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__TabSet_js_d051a74a__["default"], {
51
+ ...args,
52
+ active: active,
53
+ onChange: handleChange
54
+ });
55
+ }
56
+ };
57
+ const TabSet_stories_rslib_entry_ = meta;
58
+ const Default = {};
59
+ const WithRichContent = {
60
+ args: {
61
+ active: "tab2",
62
+ items: [
63
+ {
64
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__presentation_HStack_js_10bfc552__["default"], {
65
+ spacing: "n2",
66
+ children: [
67
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__["default"], {
68
+ children: "Tab 1"
69
+ }),
70
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Badge_js_d3f5e18a__["default"], {
71
+ children: "3"
72
+ })
73
+ ]
74
+ }),
75
+ key: "tab1"
76
+ },
77
+ {
78
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__presentation_HStack_js_10bfc552__["default"], {
79
+ spacing: "n2",
80
+ children: [
81
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__["default"], {
82
+ children: "Tab 2"
83
+ }),
84
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Badge_js_d3f5e18a__["default"], {
85
+ color: "red",
86
+ children: "20"
87
+ })
88
+ ]
89
+ }),
90
+ key: "tab2"
91
+ },
92
+ {
93
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__presentation_HStack_js_10bfc552__["default"], {
94
+ spacing: "n2",
95
+ children: [
96
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_PlainText_js_e98763ad__["default"], {
97
+ children: "Tab 3"
98
+ }),
99
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__presentation_Badge_js_d3f5e18a__["default"], {
100
+ children: "0"
101
+ })
102
+ ]
103
+ }),
104
+ key: "tab3"
105
+ }
106
+ ]
107
+ }
108
+ };
109
+ export { Default, WithRichContent, TabSet_stories_rslib_entry_ as default };
@@ -8,5 +8,8 @@ type Props<T extends string> = {
8
8
  prefix?: ReactNode;
9
9
  }>;
10
10
  };
11
+ /**
12
+ * Controlled component that renders a set of links. For uncontrolled use (pathname based), see PageTabSet.
13
+ */
11
14
  declare const TabSetLink: <T extends string>({ activeHref, id, items }: Props<T>) => import("react/jsx-runtime").JSX.Element;
12
15
  export default TabSetLink;
@@ -0,0 +1,44 @@
1
+ import type { StoryObj } from "@storybook/nextjs-vite";
2
+ declare const meta: {
3
+ component: <T extends string>({ activeHref, id, items }: {
4
+ activeHref: T;
5
+ id?: string;
6
+ items: Array<{
7
+ label: import("react").ReactNode;
8
+ href: string;
9
+ prefix?: import("react").ReactNode;
10
+ }>;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ argTypes: {
13
+ id: {
14
+ control: false;
15
+ };
16
+ activeHref: {
17
+ control: "select";
18
+ options: string[];
19
+ description: string;
20
+ };
21
+ };
22
+ args: {
23
+ activeHref: string;
24
+ items: {
25
+ label: string;
26
+ href: string;
27
+ }[];
28
+ };
29
+ render: (args: {
30
+ activeHref: string;
31
+ id?: string;
32
+ items: Array<{
33
+ label: import("react").ReactNode;
34
+ href: string;
35
+ prefix?: import("react").ReactNode;
36
+ }>;
37
+ }) => import("react/jsx-runtime").JSX.Element;
38
+ };
39
+ export default meta;
40
+ type Story = StoryObj<typeof meta>;
41
+ export declare const Default: Story;
42
+ export declare const WithPrefix: Story;
43
+ export declare const WithRichContent: Story;
44
+ export declare const WithPrefixAndRichContent: Story;