@edwardguerra/design-system 1.0.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 (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/dist/css/main.css +132 -0
  4. package/dist/css/tokens.css +318 -0
  5. package/dist/index.cjs +31 -0
  6. package/dist/index.cjs.map +1 -0
  7. package/dist/index.mjs +1188 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/dist/style.css +1 -0
  10. package/dist/tokens/_variables.scss +296 -0
  11. package/dist/tokens/tokens.d.ts +338 -0
  12. package/dist/tokens/tokens.js +297 -0
  13. package/dist/tokens/tokens.json +294 -0
  14. package/dist/tokens/variables.css +318 -0
  15. package/dist/types/components/Accordion/Accordion.d.ts +30 -0
  16. package/dist/types/components/Accordion/Accordion.stories.d.ts +15 -0
  17. package/dist/types/components/Accordion/Accordion.test.d.ts +1 -0
  18. package/dist/types/components/Accordion/index.d.ts +2 -0
  19. package/dist/types/components/Article/Article.d.ts +21 -0
  20. package/dist/types/components/Article/Article.stories.d.ts +13 -0
  21. package/dist/types/components/Article/Article.test.d.ts +1 -0
  22. package/dist/types/components/Article/index.d.ts +2 -0
  23. package/dist/types/components/Badge/Badge.d.ts +20 -0
  24. package/dist/types/components/Badge/Badge.stories.d.ts +20 -0
  25. package/dist/types/components/Badge/Badge.test.d.ts +1 -0
  26. package/dist/types/components/Badge/index.d.ts +2 -0
  27. package/dist/types/components/Button/Button.d.ts +49 -0
  28. package/dist/types/components/Button/Button.stories.d.ts +43 -0
  29. package/dist/types/components/Button/Button.test.d.ts +1 -0
  30. package/dist/types/components/Button/index.d.ts +2 -0
  31. package/dist/types/components/Card/Card.d.ts +43 -0
  32. package/dist/types/components/Card/Card.stories.d.ts +31 -0
  33. package/dist/types/components/Card/Card.test.d.ts +1 -0
  34. package/dist/types/components/Card/index.d.ts +2 -0
  35. package/dist/types/components/Carousel/Carousel.d.ts +27 -0
  36. package/dist/types/components/Carousel/Carousel.stories.d.ts +12 -0
  37. package/dist/types/components/Carousel/Carousel.test.d.ts +1 -0
  38. package/dist/types/components/Carousel/index.d.ts +2 -0
  39. package/dist/types/components/DescriptionList/DescriptionList.d.ts +31 -0
  40. package/dist/types/components/DescriptionList/DescriptionList.stories.d.ts +12 -0
  41. package/dist/types/components/DescriptionList/DescriptionList.test.d.ts +1 -0
  42. package/dist/types/components/DescriptionList/index.d.ts +2 -0
  43. package/dist/types/components/Feature/Feature.d.ts +25 -0
  44. package/dist/types/components/Feature/Feature.stories.d.ts +19 -0
  45. package/dist/types/components/Feature/Feature.test.d.ts +1 -0
  46. package/dist/types/components/Feature/index.d.ts +2 -0
  47. package/dist/types/components/Icon/Icon.d.ts +24 -0
  48. package/dist/types/components/Icon/Icon.stories.d.ts +21 -0
  49. package/dist/types/components/Icon/Icon.test.d.ts +1 -0
  50. package/dist/types/components/Icon/index.d.ts +2 -0
  51. package/dist/types/components/Input/Input.d.ts +40 -0
  52. package/dist/types/components/Input/Input.stories.d.ts +30 -0
  53. package/dist/types/components/Input/Input.test.d.ts +1 -0
  54. package/dist/types/components/Input/index.d.ts +2 -0
  55. package/dist/types/components/Link/Link.d.ts +45 -0
  56. package/dist/types/components/Link/Link.stories.d.ts +19 -0
  57. package/dist/types/components/Link/Link.test.d.ts +1 -0
  58. package/dist/types/components/Link/index.d.ts +2 -0
  59. package/dist/types/components/List/List.d.ts +35 -0
  60. package/dist/types/components/List/List.stories.d.ts +14 -0
  61. package/dist/types/components/List/List.test.d.ts +1 -0
  62. package/dist/types/components/List/index.d.ts +2 -0
  63. package/dist/types/components/Menu/Menu.d.ts +44 -0
  64. package/dist/types/components/Menu/Menu.stories.d.ts +19 -0
  65. package/dist/types/components/Menu/Menu.test.d.ts +1 -0
  66. package/dist/types/components/Menu/index.d.ts +2 -0
  67. package/dist/types/components/Modal/Modal.d.ts +44 -0
  68. package/dist/types/components/Modal/Modal.stories.d.ts +26 -0
  69. package/dist/types/components/Modal/Modal.test.d.ts +1 -0
  70. package/dist/types/components/Modal/index.d.ts +2 -0
  71. package/dist/types/components/Nav/Nav.d.ts +43 -0
  72. package/dist/types/components/Nav/Nav.stories.d.ts +19 -0
  73. package/dist/types/components/Nav/Nav.test.d.ts +1 -0
  74. package/dist/types/components/Nav/index.d.ts +2 -0
  75. package/dist/types/components/Pagination/Pagination.d.ts +36 -0
  76. package/dist/types/components/Pagination/Pagination.stories.d.ts +15 -0
  77. package/dist/types/components/Pagination/Pagination.test.d.ts +1 -0
  78. package/dist/types/components/Pagination/index.d.ts +2 -0
  79. package/dist/types/components/Radio/Radio.d.ts +30 -0
  80. package/dist/types/components/Radio/Radio.stories.d.ts +15 -0
  81. package/dist/types/components/Radio/Radio.test.d.ts +1 -0
  82. package/dist/types/components/Radio/index.d.ts +2 -0
  83. package/dist/types/components/Slider/Slider.d.ts +44 -0
  84. package/dist/types/components/Slider/Slider.stories.d.ts +14 -0
  85. package/dist/types/components/Slider/Slider.test.d.ts +1 -0
  86. package/dist/types/components/Slider/index.d.ts +2 -0
  87. package/dist/types/components/Switch/Switch.d.ts +29 -0
  88. package/dist/types/components/Switch/Switch.stories.d.ts +16 -0
  89. package/dist/types/components/Switch/Switch.test.d.ts +1 -0
  90. package/dist/types/components/Switch/index.d.ts +2 -0
  91. package/dist/types/components/TOC/TOC.d.ts +37 -0
  92. package/dist/types/components/TOC/TOC.stories.d.ts +17 -0
  93. package/dist/types/components/TOC/TOC.test.d.ts +1 -0
  94. package/dist/types/components/TOC/index.d.ts +2 -0
  95. package/dist/types/components/Table/Table.d.ts +34 -0
  96. package/dist/types/components/Table/Table.stories.d.ts +13 -0
  97. package/dist/types/components/Table/Table.test.d.ts +1 -0
  98. package/dist/types/components/Table/index.d.ts +2 -0
  99. package/dist/types/components/Tabs/Tabs.d.ts +26 -0
  100. package/dist/types/components/Tabs/Tabs.stories.d.ts +14 -0
  101. package/dist/types/components/Tabs/Tabs.test.d.ts +1 -0
  102. package/dist/types/components/Tabs/index.d.ts +2 -0
  103. package/dist/types/components/ThemeProvider/ThemeContext.d.ts +8 -0
  104. package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +9 -0
  105. package/dist/types/components/ThemeProvider/ThemeProvider.stories.d.ts +17 -0
  106. package/dist/types/components/ThemeProvider/ThemeProvider.test.d.ts +1 -0
  107. package/dist/types/components/ThemeProvider/ThemeSwitcher.d.ts +13 -0
  108. package/dist/types/components/ThemeProvider/index.d.ts +6 -0
  109. package/dist/types/components/Timeline/Timeline.d.ts +31 -0
  110. package/dist/types/components/Timeline/Timeline.stories.d.ts +12 -0
  111. package/dist/types/components/Timeline/Timeline.test.d.ts +1 -0
  112. package/dist/types/components/Timeline/index.d.ts +2 -0
  113. package/dist/types/components/Tooltip/Tooltip.d.ts +25 -0
  114. package/dist/types/components/Tooltip/Tooltip.stories.d.ts +26 -0
  115. package/dist/types/components/Tooltip/Tooltip.test.d.ts +1 -0
  116. package/dist/types/components/Tooltip/index.d.ts +2 -0
  117. package/dist/types/components/index.d.ts +25 -0
  118. package/dist/types/index.d.ts +1 -0
  119. package/dist/types/test/setup.d.ts +1 -0
  120. package/package.json +85 -0
  121. package/tokens/brands/edward-guerra.json +9 -0
  122. package/tokens/brands/materialandhome.json +9 -0
  123. package/tokens/brands/midwest-husbands.json +9 -0
  124. package/tokens/config.json +45 -0
  125. package/tokens/core/breakpoints.json +9 -0
  126. package/tokens/core/colors.json +217 -0
  127. package/tokens/core/effects.json +37 -0
  128. package/tokens/core/spacing.json +24 -0
  129. package/tokens/core/typography.json +45 -0
  130. package/tokens/semantic/button.json +37 -0
  131. package/tokens/semantic/theme.json +26 -0
@@ -0,0 +1,2 @@
1
+ export { Carousel, CarouselSlide } from './Carousel';
2
+ export type { CarouselProps, CarouselSlideProps } from './Carousel';
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import './DescriptionList.css';
3
+ export interface DescriptionListProps {
4
+ /**
5
+ * DescriptionListItem elements
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Additional CSS class
10
+ */
11
+ className?: string;
12
+ }
13
+ export interface DescriptionListItemProps {
14
+ /**
15
+ * Term label (left column)
16
+ */
17
+ term: React.ReactNode;
18
+ /**
19
+ * Description content (right column)
20
+ */
21
+ children: React.ReactNode;
22
+ /**
23
+ * Additional CSS class
24
+ */
25
+ className?: string;
26
+ }
27
+ /**
28
+ * DescriptionList renders a list of term/description row pairs
29
+ */
30
+ export declare const DescriptionList: React.FC<DescriptionListProps>;
31
+ export declare const DescriptionListItem: React.FC<DescriptionListItemProps>;
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./DescriptionList").DescriptionListProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ export { DescriptionList, DescriptionListItem } from './DescriptionList';
2
+ export type { DescriptionListProps, DescriptionListItemProps } from './DescriptionList';
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import './Feature.css';
3
+ export interface FeatureProps {
4
+ /**
5
+ * Feature content
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * "column" stacks content vertically, "row" places it side by side,
10
+ * "columns" arranges multiple features in a responsive grid
11
+ */
12
+ layout?: 'column' | 'row' | 'columns';
13
+ /**
14
+ * Adds a border around the feature
15
+ */
16
+ bordered?: boolean;
17
+ /**
18
+ * Additional CSS class
19
+ */
20
+ className?: string;
21
+ }
22
+ /**
23
+ * Feature renders a content block used to highlight a single item or idea
24
+ */
25
+ export declare const Feature: React.FC<FeatureProps>;
@@ -0,0 +1,19 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Feature").FeatureProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ argTypes: {
10
+ layout: {
11
+ control: string;
12
+ options: string[];
13
+ };
14
+ };
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Column: Story;
19
+ export declare const Row: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Feature } from './Feature';
2
+ export type { FeatureProps } from './Feature';
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import './Icon.css';
3
+ export interface IconProps {
4
+ /**
5
+ * Icon content, typically an SVG
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Icon size
10
+ */
11
+ size?: 'sm' | 'md' | 'lg';
12
+ /**
13
+ * Render as an outlined stroke icon (uses --eg-border for stroke color)
14
+ */
15
+ stroke?: boolean;
16
+ /**
17
+ * Additional CSS class
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Icon wrapper for sizing and coloring inline SVG icons
23
+ */
24
+ export declare const Icon: React.FC<IconProps>;
@@ -0,0 +1,21 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Icon").IconProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ argTypes: {
10
+ size: {
11
+ control: string;
12
+ options: string[];
13
+ };
14
+ };
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Default: Story;
19
+ export declare const Small: Story;
20
+ export declare const Large: Story;
21
+ export declare const Stroke: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Icon } from './Icon';
2
+ export type { IconProps } from './Icon';
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import './Input.css';
3
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
4
+ /**
5
+ * Input label
6
+ */
7
+ label?: string;
8
+ /**
9
+ * Input size
10
+ */
11
+ size?: 'sm' | 'md' | 'lg';
12
+ /**
13
+ * Error message to display
14
+ */
15
+ error?: string;
16
+ /**
17
+ * Helper text to display
18
+ */
19
+ helperText?: string;
20
+ /**
21
+ * Is the input required?
22
+ */
23
+ required?: boolean;
24
+ /**
25
+ * Icon to display before input
26
+ */
27
+ iconBefore?: React.ReactNode;
28
+ /**
29
+ * Icon to display after input
30
+ */
31
+ iconAfter?: React.ReactNode;
32
+ /**
33
+ * Full width input
34
+ */
35
+ fullWidth?: boolean;
36
+ }
37
+ /**
38
+ * Input component for text entry
39
+ */
40
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,30 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").ForwardRefExoticComponent<import("./Input").InputProps & import("react").RefAttributes<HTMLInputElement>>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ argTypes: {
10
+ size: {
11
+ control: string;
12
+ options: string[];
13
+ };
14
+ type: {
15
+ control: string;
16
+ options: string[];
17
+ };
18
+ };
19
+ };
20
+ export default meta;
21
+ type Story = StoryObj<typeof meta>;
22
+ export declare const Default: Story;
23
+ export declare const WithLabel: Story;
24
+ export declare const Required: Story;
25
+ export declare const WithError: Story;
26
+ export declare const WithHelperText: Story;
27
+ export declare const Small: Story;
28
+ export declare const Large: Story;
29
+ export declare const Disabled: Story;
30
+ export declare const FullWidth: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Input } from './Input';
2
+ export type { InputProps } from './Input';
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import './Link.css';
3
+ export interface LinkProps {
4
+ /**
5
+ * Link target
6
+ */
7
+ href: string;
8
+ /**
9
+ * Link content
10
+ */
11
+ children: React.ReactNode;
12
+ /**
13
+ * "default" underlines on hover; "dotted" is always underlined with a dotted style
14
+ */
15
+ variant?: 'default' | 'dotted';
16
+ /**
17
+ * Additional CSS class
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Link renders a brand-colored text link. For button-styled links,
23
+ * render a Button and pass an onClick that navigates, or wrap a native
24
+ * anchor around it.
25
+ */
26
+ export declare const Link: React.FC<LinkProps>;
27
+ export interface SkipLinkProps {
28
+ /**
29
+ * ID of the main content landmark to jump to
30
+ */
31
+ href: string;
32
+ /**
33
+ * Link content
34
+ */
35
+ children: React.ReactNode;
36
+ /**
37
+ * Additional CSS class
38
+ */
39
+ className?: string;
40
+ }
41
+ /**
42
+ * SkipLink is visually hidden until focused, letting keyboard users
43
+ * jump past repeated navigation to the main content
44
+ */
45
+ export declare const SkipLink: React.FC<SkipLinkProps>;
@@ -0,0 +1,19 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Link").LinkProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ argTypes: {
10
+ variant: {
11
+ control: string;
12
+ options: string[];
13
+ };
14
+ };
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Default: Story;
19
+ export declare const Dotted: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Link, SkipLink } from './Link';
2
+ export type { LinkProps, SkipLinkProps } from './Link';
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import './List.css';
3
+ export interface ListProps {
4
+ /**
5
+ * ListItem elements
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Additional CSS class
10
+ */
11
+ className?: string;
12
+ }
13
+ export interface ListItemProps {
14
+ /**
15
+ * Item content
16
+ */
17
+ children: React.ReactNode;
18
+ /**
19
+ * Marker icon shown before the item
20
+ */
21
+ marker?: 'default' | 'check' | 'thumbs-up' | 'thumbs-down' | 'none';
22
+ /**
23
+ * Render as a row with content pushed to opposite ends and a top divider
24
+ */
25
+ row?: boolean;
26
+ /**
27
+ * Additional CSS class
28
+ */
29
+ className?: string;
30
+ }
31
+ /**
32
+ * List renders a styled list with optional icon markers
33
+ */
34
+ export declare const List: React.FC<ListProps>;
35
+ export declare const ListItem: React.FC<ListItemProps>;
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./List").ListProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
13
+ export declare const Markers: Story;
14
+ export declare const Rows: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { List, ListItem } from './List';
2
+ export type { ListProps, ListItemProps } from './List';
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import './Menu.css';
3
+ export interface MenuProps {
4
+ /**
5
+ * Whether the menu is visible
6
+ */
7
+ open: boolean;
8
+ /**
9
+ * MenuItem elements
10
+ */
11
+ children: React.ReactNode;
12
+ /**
13
+ * Horizontal alignment relative to the trigger
14
+ */
15
+ align?: 'left' | 'right';
16
+ /**
17
+ * Additional CSS class
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Menu renders a popover-style dropdown, positioned relative to a
23
+ * `position: relative` parent
24
+ */
25
+ export declare const Menu: React.FC<MenuProps>;
26
+ export interface MenuItemProps {
27
+ /**
28
+ * Item content
29
+ */
30
+ children: React.ReactNode;
31
+ /**
32
+ * Click handler
33
+ */
34
+ onClick?: () => void;
35
+ /**
36
+ * Marks this item as the active/current selection
37
+ */
38
+ active?: boolean;
39
+ /**
40
+ * Additional CSS class
41
+ */
42
+ className?: string;
43
+ }
44
+ export declare const MenuItem: React.FC<MenuItemProps>;
@@ -0,0 +1,19 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Menu").MenuProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ decorators: ((Story: import("@storybook/types").PartialStoryFn<import("@storybook/react").ReactRenderer, {
10
+ open: boolean;
11
+ children: React.ReactNode;
12
+ align?: "left" | "right" | undefined;
13
+ className?: string | undefined;
14
+ }>) => import("react/jsx-runtime").JSX.Element)[];
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Open: Story;
19
+ export declare const Closed: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Menu, MenuItem } from './Menu';
2
+ export type { MenuProps, MenuItemProps } from './Menu';
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import './Modal.css';
3
+ export interface ModalProps {
4
+ /**
5
+ * Is the modal open?
6
+ */
7
+ open: boolean;
8
+ /**
9
+ * Callback when modal should close
10
+ */
11
+ onClose: () => void;
12
+ /**
13
+ * Modal title
14
+ */
15
+ title?: string;
16
+ /**
17
+ * Modal content
18
+ */
19
+ children: React.ReactNode;
20
+ /**
21
+ * Modal size
22
+ */
23
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
24
+ /**
25
+ * Show close button
26
+ */
27
+ showCloseButton?: boolean;
28
+ /**
29
+ * Close on backdrop click
30
+ */
31
+ closeOnBackdrop?: boolean;
32
+ /**
33
+ * Close on escape key
34
+ */
35
+ closeOnEscape?: boolean;
36
+ /**
37
+ * Footer content
38
+ */
39
+ footer?: React.ReactNode;
40
+ }
41
+ /**
42
+ * Modal component for dialogs and overlays
43
+ */
44
+ export declare const Modal: React.FC<ModalProps>;
@@ -0,0 +1,26 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { type ModalProps } from './Modal';
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").FC<ModalProps>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ argTypes: {
11
+ size: {
12
+ control: string;
13
+ options: string[];
14
+ };
15
+ };
16
+ };
17
+ export default meta;
18
+ type Story = StoryObj<typeof meta>;
19
+ export declare const Default: Story;
20
+ export declare const WithFooter: Story;
21
+ export declare const Small: Story;
22
+ export declare const Large: Story;
23
+ export declare const FullScreen: Story;
24
+ export declare const NoCloseButton: Story;
25
+ export declare const NoBackdropClose: Story;
26
+ export declare const LongContent: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Modal } from './Modal';
2
+ export type { ModalProps } from './Modal';
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import './Nav.css';
3
+ export interface NavProps {
4
+ /**
5
+ * NavItem elements
6
+ */
7
+ children: React.ReactNode;
8
+ /**
9
+ * "side" renders a fixed sidebar layout; "inline" is a plain list
10
+ */
11
+ variant?: 'side' | 'inline';
12
+ /**
13
+ * Additional CSS class
14
+ */
15
+ className?: string;
16
+ }
17
+ export interface NavItemProps {
18
+ /**
19
+ * Item content
20
+ */
21
+ children: React.ReactNode;
22
+ /**
23
+ * If provided, renders as a link
24
+ */
25
+ href?: string;
26
+ /**
27
+ * Click handler (used when no href is provided)
28
+ */
29
+ onClick?: () => void;
30
+ /**
31
+ * Marks this item as the active page/section
32
+ */
33
+ active?: boolean;
34
+ /**
35
+ * Additional CSS class
36
+ */
37
+ className?: string;
38
+ }
39
+ /**
40
+ * Nav renders a list of navigation links
41
+ */
42
+ export declare const Nav: React.FC<NavProps>;
43
+ export declare const NavItem: React.FC<NavItemProps>;
@@ -0,0 +1,19 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Nav").NavProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ argTypes: {
10
+ variant: {
11
+ control: string;
12
+ options: string[];
13
+ };
14
+ };
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Inline: Story;
19
+ export declare const Side: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Nav, NavItem } from './Nav';
2
+ export type { NavProps, NavItemProps } from './Nav';
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import './Pagination.css';
3
+ export interface PaginationProps {
4
+ /**
5
+ * Label for the previous link
6
+ */
7
+ previousLabel?: string;
8
+ /**
9
+ * Label for the next link
10
+ */
11
+ nextLabel?: string;
12
+ /**
13
+ * Called when the previous link is activated
14
+ */
15
+ onPrevious?: () => void;
16
+ /**
17
+ * Called when the next link is activated
18
+ */
19
+ onNext?: () => void;
20
+ /**
21
+ * Disable the previous link
22
+ */
23
+ previousDisabled?: boolean;
24
+ /**
25
+ * Disable the next link
26
+ */
27
+ nextDisabled?: boolean;
28
+ /**
29
+ * Additional CSS class
30
+ */
31
+ className?: string;
32
+ }
33
+ /**
34
+ * Pagination component for moving between previous/next content
35
+ */
36
+ export declare const Pagination: React.FC<PaginationProps>;
@@ -0,0 +1,15 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<import("./Pagination").PaginationProps>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
13
+ export declare const CustomLabels: Story;
14
+ export declare const PreviousDisabled: Story;
15
+ export declare const NextDisabled: Story;
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './Pagination';
2
+ export type { PaginationProps } from './Pagination';