@dimasbaguspm/versaur 0.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.
- package/README.md +81 -0
- package/dist/alert-DzSPXqwS.js +167 -0
- package/dist/app-bar-B4nQkgdL.js +92 -0
- package/dist/avatar-Bsn24V6g.js +91 -0
- package/dist/badge-DqLCHm9q.js +184 -0
- package/dist/bottom-bar-DOQ3gVwW.js +73 -0
- package/dist/breadcrumbs-PJV3izUu.js +59 -0
- package/dist/button-C8OibEPE.js +81 -0
- package/dist/button-float-B8tdLJkX.js +107 -0
- package/dist/button-icon-CWji4cBA.js +89 -0
- package/dist/calendar-CkLj89o2.js +112 -0
- package/dist/checkbox-input-CSboebwt.js +167 -0
- package/dist/chip-input-C1PJPDFq.js +189 -0
- package/dist/cn-Ca4KprQ1.js +2730 -0
- package/dist/components/alert/alert.atoms.d.ts +6 -0
- package/dist/components/alert/alert.d.ts +31 -0
- package/dist/components/alert/alert.stories.d.ts +42 -0
- package/dist/components/alert/helpers.d.ts +14 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/types.d.ts +50 -0
- package/dist/components/alert.js +4 -0
- package/dist/components/app-bar/app-bar.atoms.d.ts +21 -0
- package/dist/components/app-bar/app-bar.d.ts +8 -0
- package/dist/components/app-bar/app-bar.stories.d.ts +19 -0
- package/dist/components/app-bar/helpers.d.ts +6 -0
- package/dist/components/app-bar/index.d.ts +2 -0
- package/dist/components/app-bar/types.d.ts +39 -0
- package/dist/components/app-bar.js +4 -0
- package/dist/components/avatar/avatar.atoms.d.ts +13 -0
- package/dist/components/avatar/avatar.d.ts +24 -0
- package/dist/components/avatar/avatar.stories.d.ts +42 -0
- package/dist/components/avatar/helpers.d.ts +14 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/types.d.ts +46 -0
- package/dist/components/avatar.js +4 -0
- package/dist/components/badge/badge.d.ts +24 -0
- package/dist/components/badge/badge.stories.d.ts +46 -0
- package/dist/components/badge/helpers.d.ts +10 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/types.d.ts +44 -0
- package/dist/components/badge.js +4 -0
- package/dist/components/bottom-bar/bottom-bar.atoms.d.ts +2 -0
- package/dist/components/bottom-bar/bottom-bar.d.ts +4 -0
- package/dist/components/bottom-bar/bottom-bar.stories.d.ts +6 -0
- package/dist/components/bottom-bar/helpers.d.ts +7 -0
- package/dist/components/bottom-bar/index.d.ts +2 -0
- package/dist/components/bottom-bar/types.d.ts +32 -0
- package/dist/components/bottom-bar.js +4 -0
- package/dist/components/breadcrumbs/breadcrumbs.atoms.d.ts +9 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +16 -0
- package/dist/components/breadcrumbs/breadcrumbs.stories.d.ts +7 -0
- package/dist/components/breadcrumbs/helpers.d.ts +7 -0
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/breadcrumbs/types.d.ts +21 -0
- package/dist/components/breadcrumbs.js +4 -0
- package/dist/components/button/button.d.ts +3 -0
- package/dist/components/button/button.stories.d.ts +50 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/types.d.ts +30 -0
- package/dist/components/button-float/button-float.d.ts +8 -0
- package/dist/components/button-float/button-float.stories.d.ts +27 -0
- package/dist/components/button-float/helpers.d.ts +4 -0
- package/dist/components/button-float/index.d.ts +2 -0
- package/dist/components/button-float/types.d.ts +31 -0
- package/dist/components/button-float.js +4 -0
- package/dist/components/button-icon/button-icon.d.ts +3 -0
- package/dist/components/button-icon/button-icon.stories.d.ts +45 -0
- package/dist/components/button-icon/index.d.ts +2 -0
- package/dist/components/button-icon/types.d.ts +48 -0
- package/dist/components/button-icon.js +4 -0
- package/dist/components/button.js +4 -0
- package/dist/components/calendar/calendar.d.ts +8 -0
- package/dist/components/calendar/calendar.stories.d.ts +6 -0
- package/dist/components/calendar/index.d.ts +2 -0
- package/dist/components/calendar/types.d.ts +20 -0
- package/dist/components/calendar.js +4 -0
- package/dist/components/checkbox-input/checkbox-input.atoms.d.ts +9 -0
- package/dist/components/checkbox-input/checkbox-input.d.ts +5 -0
- package/dist/components/checkbox-input/checkbox-input.stories.d.ts +44 -0
- package/dist/components/checkbox-input/context.d.ts +10 -0
- package/dist/components/checkbox-input/helpers.d.ts +11 -0
- package/dist/components/checkbox-input/index.d.ts +2 -0
- package/dist/components/checkbox-input/types.d.ts +46 -0
- package/dist/components/checkbox-input.js +4 -0
- package/dist/components/chip-input/chip-input.atoms.d.ts +10 -0
- package/dist/components/chip-input/chip-input.d.ts +5 -0
- package/dist/components/chip-input/chip-input.stories.d.ts +12 -0
- package/dist/components/chip-input/context.d.ts +11 -0
- package/dist/components/chip-input/helpers.d.ts +4 -0
- package/dist/components/chip-input/index.d.ts +2 -0
- package/dist/components/chip-input/types.d.ts +51 -0
- package/dist/components/chip-input.js +4 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.atoms.d.ts +13 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.d.ts +10 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.docked.d.ts +14 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.docked.stories.d.ts +10 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.modal.d.ts +15 -0
- package/dist/components/date-single-picker-input/date-single-picker-input.modal.stories.d.ts +10 -0
- package/dist/components/date-single-picker-input/helpers.d.ts +3 -0
- package/dist/components/date-single-picker-input/index.d.ts +2 -0
- package/dist/components/date-single-picker-input/types.d.ts +75 -0
- package/dist/components/date-single-picker-input/use-date-single-picker.d.ts +10 -0
- package/dist/components/date-single-picker-input.js +4 -0
- package/dist/components/drawer/context.d.ts +11 -0
- package/dist/components/drawer/drawer.atoms.d.ts +23 -0
- package/dist/components/drawer/drawer.d.ts +16 -0
- package/dist/components/drawer/drawer.stories.d.ts +41 -0
- package/dist/components/drawer/helpers.d.ts +39 -0
- package/dist/components/drawer/index.d.ts +10 -0
- package/dist/components/drawer/types.d.ts +93 -0
- package/dist/components/drawer.js +9 -0
- package/dist/components/icon/helpers.d.ts +4 -0
- package/dist/components/icon/icon.d.ts +8 -0
- package/dist/components/icon/icon.stories.d.ts +39 -0
- package/dist/components/icon/index.d.ts +2 -0
- package/dist/components/icon/types.d.ts +13 -0
- package/dist/components/icon.js +4 -0
- package/dist/components/index.d.ts +29 -0
- package/dist/components/loading-indicator/helpers.d.ts +9 -0
- package/dist/components/loading-indicator/index.d.ts +1 -0
- package/dist/components/loading-indicator/loading-indicator.atoms.d.ts +10 -0
- package/dist/components/loading-indicator/loading-indicator.d.ts +7 -0
- package/dist/components/loading-indicator/loading-indicator.stories.d.ts +16 -0
- package/dist/components/loading-indicator/types.d.ts +29 -0
- package/dist/components/loading-indicator.js +4 -0
- package/dist/components/menu/context.d.ts +13 -0
- package/dist/components/menu/helpers.d.ts +8 -0
- package/dist/components/menu/index.d.ts +2 -0
- package/dist/components/menu/menu.atoms.d.ts +14 -0
- package/dist/components/menu/menu.d.ts +7 -0
- package/dist/components/menu/menu.stories.d.ts +22 -0
- package/dist/components/menu/types.d.ts +36 -0
- package/dist/components/menu/use-menu.d.ts +3 -0
- package/dist/components/menu.js +4 -0
- package/dist/components/modal/helpers.d.ts +7 -0
- package/dist/components/modal/index.d.ts +2 -0
- package/dist/components/modal/modal.atoms.d.ts +8 -0
- package/dist/components/modal/modal.d.ts +7 -0
- package/dist/components/modal/modal.stories.d.ts +13 -0
- package/dist/components/modal/types.d.ts +48 -0
- package/dist/components/modal/use-escape-close.d.ts +6 -0
- package/dist/components/modal/use-focus-trap.d.ts +6 -0
- package/dist/components/modal.js +4 -0
- package/dist/components/radio-input/context.d.ts +11 -0
- package/dist/components/radio-input/helpers.d.ts +11 -0
- package/dist/components/radio-input/index.d.ts +2 -0
- package/dist/components/radio-input/radio-input.atoms.d.ts +9 -0
- package/dist/components/radio-input/radio-input.d.ts +5 -0
- package/dist/components/radio-input/radio-input.stories.d.ts +74 -0
- package/dist/components/radio-input/types.d.ts +54 -0
- package/dist/components/radio-input.js +4 -0
- package/dist/components/segment-multiple-input/context.d.ts +12 -0
- package/dist/components/segment-multiple-input/helpers.d.ts +15 -0
- package/dist/components/segment-multiple-input/index.d.ts +2 -0
- package/dist/components/segment-multiple-input/segment-multiple-input.atoms.d.ts +12 -0
- package/dist/components/segment-multiple-input/segment-multiple-input.d.ts +7 -0
- package/dist/components/segment-multiple-input/segment-multiple-input.stories.d.ts +66 -0
- package/dist/components/segment-multiple-input/types.d.ts +55 -0
- package/dist/components/segment-multiple-input.js +4 -0
- package/dist/components/segment-single-input/context.d.ts +12 -0
- package/dist/components/segment-single-input/helpers.d.ts +15 -0
- package/dist/components/segment-single-input/index.d.ts +2 -0
- package/dist/components/segment-single-input/segment-single-input.atoms.d.ts +11 -0
- package/dist/components/segment-single-input/segment-single-input.d.ts +7 -0
- package/dist/components/segment-single-input/segment-single-input.stories.d.ts +57 -0
- package/dist/components/segment-single-input/types.d.ts +55 -0
- package/dist/components/segment-single-input.js +4 -0
- package/dist/components/select-input/helpers.d.ts +3 -0
- package/dist/components/select-input/index.d.ts +2 -0
- package/dist/components/select-input/select-input.d.ts +9 -0
- package/dist/components/select-input/select-input.stories.d.ts +50 -0
- package/dist/components/select-input/types.d.ts +29 -0
- package/dist/components/select-input.js +4 -0
- package/dist/components/skeleton/helpers.d.ts +6 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/skeleton.d.ts +6 -0
- package/dist/components/skeleton/skeleton.stories.d.ts +25 -0
- package/dist/components/skeleton/types.d.ts +17 -0
- package/dist/components/skeleton.js +4 -0
- package/dist/components/snackbar/helpers.d.ts +8 -0
- package/dist/components/snackbar/index.d.ts +2 -0
- package/dist/components/snackbar/snackbar.atoms.d.ts +10 -0
- package/dist/components/snackbar/snackbar.d.ts +6 -0
- package/dist/components/snackbar/snackbar.stories.d.ts +8 -0
- package/dist/components/snackbar/types.d.ts +40 -0
- package/dist/components/snackbar.js +4 -0
- package/dist/components/switch-input/helpers.d.ts +18 -0
- package/dist/components/switch-input/index.d.ts +3 -0
- package/dist/components/switch-input/switch-input.atoms.d.ts +28 -0
- package/dist/components/switch-input/switch-input.d.ts +6 -0
- package/dist/components/switch-input/switch-input.stories.d.ts +10 -0
- package/dist/components/switch-input/types.d.ts +49 -0
- package/dist/components/switch-input.js +7 -0
- package/dist/components/tabs/context.d.ts +3 -0
- package/dist/components/tabs/helpers.d.ts +8 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/tabs.atoms.d.ts +10 -0
- package/dist/components/tabs/tabs.d.ts +5 -0
- package/dist/components/tabs/tabs.stories.d.ts +17 -0
- package/dist/components/tabs/types.d.ts +41 -0
- package/dist/components/tabs/use-tab-indicator.d.ts +13 -0
- package/dist/components/tabs.js +4 -0
- package/dist/components/text/helpers.d.ts +18 -0
- package/dist/components/text/index.d.ts +2 -0
- package/dist/components/text/text.d.ts +7 -0
- package/dist/components/text/text.stories.d.ts +14 -0
- package/dist/components/text/types.d.ts +30 -0
- package/dist/components/text-input/helpers.d.ts +3 -0
- package/dist/components/text-input/index.d.ts +2 -0
- package/dist/components/text-input/text-input.d.ts +9 -0
- package/dist/components/text-input/text-input.stories.d.ts +20 -0
- package/dist/components/text-input/types.d.ts +33 -0
- package/dist/components/text-input.js +4 -0
- package/dist/components/text.js +4 -0
- package/dist/components/textarea-input/helpers.d.ts +4 -0
- package/dist/components/textarea-input/index.d.ts +2 -0
- package/dist/components/textarea-input/textarea-input.d.ts +10 -0
- package/dist/components/textarea-input/textarea-input.stories.d.ts +50 -0
- package/dist/components/textarea-input/types.d.ts +40 -0
- package/dist/components/textarea-input.js +4 -0
- package/dist/components/tile/helpers.d.ts +8 -0
- package/dist/components/tile/index.d.ts +2 -0
- package/dist/components/tile/tile.d.ts +11 -0
- package/dist/components/tile/tile.stories.d.ts +35 -0
- package/dist/components/tile/types.d.ts +23 -0
- package/dist/components/tile.js +4 -0
- package/dist/components/top-bar/helpers.d.ts +26 -0
- package/dist/components/top-bar/index.d.ts +2 -0
- package/dist/components/top-bar/top-bar.atoms.d.ts +6 -0
- package/dist/components/top-bar/top-bar.d.ts +8 -0
- package/dist/components/top-bar/top-bar.stories.d.ts +15 -0
- package/dist/components/top-bar/types.d.ts +38 -0
- package/dist/components/top-bar.js +4 -0
- package/dist/date-single-picker-input--Ew0O9NQ.js +252 -0
- package/dist/drawer-DrnAR2a4.js +218 -0
- package/dist/helpers-CEDtBUGM.js +37 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/icon-D-lTZMHY.js +44 -0
- package/dist/index-DU1SCUkk.js +329 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +68 -0
- package/dist/loading-indicator-BZMnT5PA.js +168 -0
- package/dist/menu-BZvilMF7.js +174 -0
- package/dist/modal-BGAtqMl9.js +149 -0
- package/dist/radio-input-BRGoevZY.js +173 -0
- package/dist/segment-multiple-input-VwHCqFd6.js +229 -0
- package/dist/segment-single-input-Cqoo7-C2.js +228 -0
- package/dist/select-input-DCb0usvK.js +108 -0
- package/dist/skeleton-D4X5USf_.js +59 -0
- package/dist/snackbar-CYias-fJ.js +79 -0
- package/dist/styles.css +115 -0
- package/dist/switch-input-C5s1lvYh.js +186 -0
- package/dist/tabs-C8aRKfxS.js +216 -0
- package/dist/text-B7e-au41.js +120 -0
- package/dist/text-input-BsWvUk_H.js +73 -0
- package/dist/textarea-input-DZExXEE8.js +102 -0
- package/dist/tile-Du7YciCG.js +51 -0
- package/dist/top-bar-ErHvwR4K.js +62 -0
- package/package.json +97 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BreadcrumbsProps } from './types';
|
|
2
|
+
import { BreadcrumbsSeparator } from './breadcrumbs.atoms';
|
|
3
|
+
/**
|
|
4
|
+
* Breadcrumbs navigation component
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* <Breadcrumbs>
|
|
8
|
+
* <Breadcrumbs.Item href="/">Home</Breadcrumbs.Item>
|
|
9
|
+
* <Breadcrumbs.Item href="/applicant">Applicant</Breadcrumbs.Item>
|
|
10
|
+
* </Breadcrumbs>
|
|
11
|
+
*/
|
|
12
|
+
export declare const BreadcrumbsRoot: import('react').ForwardRefExoticComponent<BreadcrumbsProps & import('react').RefAttributes<HTMLOListElement>>;
|
|
13
|
+
export declare const Breadcrumbs: import('react').ForwardRefExoticComponent<BreadcrumbsProps & import('react').RefAttributes<HTMLOListElement>> & {
|
|
14
|
+
Item: import('react').ForwardRefExoticComponent<import('./types').BreadcrumbsItemProps & import('react').RefAttributes<HTMLAnchorElement>>;
|
|
15
|
+
Separator: typeof BreadcrumbsSeparator;
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Breadcrumbs } from '.';
|
|
2
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
3
|
+
declare const meta: Meta<typeof Breadcrumbs>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Breadcrumbs>;
|
|
6
|
+
export declare const Basic: Story;
|
|
7
|
+
export declare const Impactful: Story;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const breadcrumbsRootClass: (props?: ({
|
|
2
|
+
separator?: "default" | "compact" | null | undefined;
|
|
3
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
4
|
+
export declare const breadcrumbsItemClass: (props?: ({
|
|
5
|
+
isCurrent?: boolean | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
export declare const breadcrumbsSeparatorClass = "mx-1 text-slate-400 dark:text-slate-500 select-none";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode, AnchorHTMLAttributes, HTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the Breadcrumbs root component
|
|
4
|
+
*/
|
|
5
|
+
export interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
|
|
6
|
+
/** Breadcrumb items as children */
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/** Optional aria-label for navigation landmark */
|
|
9
|
+
'aria-label'?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Props for a single Breadcrumbs.Item
|
|
13
|
+
*/
|
|
14
|
+
export interface BreadcrumbsItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
15
|
+
/** Breadcrumb label */
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
/** Optional icon to display before the label */
|
|
18
|
+
icon?: ReactNode;
|
|
19
|
+
/** If true, renders as the current page (aria-current) */
|
|
20
|
+
isCurrent?: boolean;
|
|
21
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Button } from './button';
|
|
3
|
+
declare const meta: Meta<typeof Button>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Button>;
|
|
6
|
+
/**
|
|
7
|
+
* Complete color matrix showing all core and semantic colors in all style variants.
|
|
8
|
+
* Demonstrates the comprehensive Spenicle color system and variant combinations.
|
|
9
|
+
*/
|
|
10
|
+
export declare const ColorMatrix: Story;
|
|
11
|
+
/**
|
|
12
|
+
* All core colors in their filled variant.
|
|
13
|
+
* Demonstrates the Spenicle color palette with coral, sage, mist, slate, and cream.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CoreColors: Story;
|
|
16
|
+
/**
|
|
17
|
+
* All semantic colors in their filled variant.
|
|
18
|
+
* Demonstrates the semantic color system for success, info, warning, and danger states.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SemanticColors: Story;
|
|
21
|
+
/**
|
|
22
|
+
* Outline variants provide a lighter visual weight while maintaining semantic meaning.
|
|
23
|
+
* Perfect for secondary actions or when you need multiple buttons in close proximity.
|
|
24
|
+
*/
|
|
25
|
+
export declare const OutlineVariants: Story;
|
|
26
|
+
/**
|
|
27
|
+
* Ghost variants are the most subtle, perfect for navigation or when you need
|
|
28
|
+
* a button that doesn't visually compete with other content.
|
|
29
|
+
*/
|
|
30
|
+
export declare const GhostVariants: Story;
|
|
31
|
+
/**
|
|
32
|
+
* Comparison of all three style variants for the primary semantic color.
|
|
33
|
+
* Shows how the same semantic meaning can be expressed with different visual weights.
|
|
34
|
+
*/
|
|
35
|
+
export declare const StyleComparison: Story;
|
|
36
|
+
/**
|
|
37
|
+
* Size comparison showing all three sizes side by side.
|
|
38
|
+
* Demonstrates the proportional scaling of button sizes.
|
|
39
|
+
*/
|
|
40
|
+
export declare const SizeComparison: Story;
|
|
41
|
+
/**
|
|
42
|
+
* Comparison of enabled vs disabled states across different variants.
|
|
43
|
+
* Shows how disabled state affects visual appearance while maintaining accessibility.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DisabledComparison: Story;
|
|
46
|
+
/**
|
|
47
|
+
* Loading state example showing how buttons can indicate ongoing processes.
|
|
48
|
+
* While not built into the component, shows common usage patterns.
|
|
49
|
+
*/
|
|
50
|
+
export declare const LoadingState: Story;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonProps defines the props for the Button component
|
|
4
|
+
* @property variant - Visual style variant based on Versaur color system
|
|
5
|
+
* @property size - Size of the button (sm, md, lg)
|
|
6
|
+
* @property disabled - Whether the button is disabled
|
|
7
|
+
* @property type - Button type attribute
|
|
8
|
+
* @property onClick - Click event handler
|
|
9
|
+
*/
|
|
10
|
+
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
11
|
+
/**
|
|
12
|
+
* Visual style variant supporting Versaur color system
|
|
13
|
+
* Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
|
|
14
|
+
* Semantic variants: success, info, warning, danger
|
|
15
|
+
* Each variant supports outline and ghost forms for flexible design expression
|
|
16
|
+
*/
|
|
17
|
+
variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
|
|
18
|
+
/**
|
|
19
|
+
* Size of the button
|
|
20
|
+
* sm: 36px height, compact for space-constrained interfaces
|
|
21
|
+
* md: 40px height, standard for most use cases
|
|
22
|
+
* lg: 44px height, prominent for primary actions
|
|
23
|
+
*/
|
|
24
|
+
size?: 'sm' | 'md' | 'lg';
|
|
25
|
+
/**
|
|
26
|
+
* Whether the button is disabled
|
|
27
|
+
* When true, the button becomes non-interactive and visually dimmed
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ButtonFloatProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonFloat is a floating action button that stays fixed to the bottom right or left of the viewport.
|
|
4
|
+
* It supports all Button variants, sizes, and accessibility features.
|
|
5
|
+
*
|
|
6
|
+
* @see ButtonFloatProps for prop details
|
|
7
|
+
*/
|
|
8
|
+
export declare const ButtonFloat: import('react').ForwardRefExoticComponent<ButtonFloatProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ButtonFloat } from './button-float';
|
|
3
|
+
/**
|
|
4
|
+
* ButtonFloat is a floating action button that stays fixed to the bottom right or left of the viewport.
|
|
5
|
+
* It supports all Button variants, sizes, and accessibility features.
|
|
6
|
+
*
|
|
7
|
+
* > **Note:** The primary use case is to render an icon (SVG) as its child, not a string. See examples below.
|
|
8
|
+
*/
|
|
9
|
+
declare const meta: Meta<typeof ButtonFloat>;
|
|
10
|
+
export default meta;
|
|
11
|
+
type Story = StoryObj<typeof ButtonFloat>;
|
|
12
|
+
/**
|
|
13
|
+
* Default floating button (bottom right, with icon)
|
|
14
|
+
*/
|
|
15
|
+
export declare const Default: Story;
|
|
16
|
+
/**
|
|
17
|
+
* Floating button on the left (with icon)
|
|
18
|
+
*/
|
|
19
|
+
export declare const LeftSide: Story;
|
|
20
|
+
/**
|
|
21
|
+
* All variants demo (with icons)
|
|
22
|
+
*/
|
|
23
|
+
export declare const AllVariants: Story;
|
|
24
|
+
/**
|
|
25
|
+
* Size comparison (with icons)
|
|
26
|
+
*/
|
|
27
|
+
export declare const SizeComparison: Story;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const buttonFloatVariants: (props?: ({
|
|
2
|
+
variant?: "outline" | "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | "primary-outline" | "primary-ghost" | "secondary-outline" | "secondary-ghost" | "tertiary-outline" | "tertiary-ghost" | "ghost-outline" | "neutral-outline" | "neutral-ghost" | "success-outline" | "success-ghost" | "info-outline" | "info-ghost" | "warning-outline" | "warning-ghost" | "danger-outline" | "danger-ghost" | "destructive" | null | undefined;
|
|
3
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
4
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonFloatProps defines the props for the ButtonFloat component
|
|
4
|
+
* @property side - Which side of the viewport to float the button ('right' | 'left')
|
|
5
|
+
* @property offset - Optional offset from the edge (e.g., '1rem', '24px', defaults to '1rem')
|
|
6
|
+
* @property All ButtonProps from the regular Button component
|
|
7
|
+
*/
|
|
8
|
+
export interface ButtonFloatProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
9
|
+
/**
|
|
10
|
+
* Which side of the viewport to float the button
|
|
11
|
+
* @default 'right'
|
|
12
|
+
*/
|
|
13
|
+
side?: 'right' | 'left';
|
|
14
|
+
/**
|
|
15
|
+
* Offset from the edge of the viewport (e.g., '1rem', '24px')
|
|
16
|
+
* @default '1rem'
|
|
17
|
+
*/
|
|
18
|
+
offset?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Visual style variant (same as Button)
|
|
21
|
+
*/
|
|
22
|
+
variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
|
|
23
|
+
/**
|
|
24
|
+
* Size of the button (same as Button)
|
|
25
|
+
*/
|
|
26
|
+
size?: 'sm' | 'md' | 'lg';
|
|
27
|
+
/**
|
|
28
|
+
* Whether the button is disabled
|
|
29
|
+
*/
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ButtonIcon } from './button-icon';
|
|
3
|
+
declare const meta: Meta<typeof ButtonIcon>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof ButtonIcon>;
|
|
6
|
+
/**
|
|
7
|
+
* Default ButtonIcon with primary variant, medium size, and rounded shape.
|
|
8
|
+
* This is the most common configuration for general-purpose icon buttons.
|
|
9
|
+
*/
|
|
10
|
+
export declare const Default: Story;
|
|
11
|
+
/**
|
|
12
|
+
* All available color variants showcasing the Versaur color system.
|
|
13
|
+
* Each variant has a specific purpose and semantic meaning in the design system.
|
|
14
|
+
*/
|
|
15
|
+
export declare const AllVariants: Story;
|
|
16
|
+
/**
|
|
17
|
+
* Outline variants provide a subtle, bordered appearance.
|
|
18
|
+
* Perfect for secondary actions and interfaces that need visual hierarchy.
|
|
19
|
+
*/
|
|
20
|
+
export declare const OutlineVariants: Story;
|
|
21
|
+
/**
|
|
22
|
+
* Ghost variants provide minimal visual weight with subtle hover effects.
|
|
23
|
+
* Ideal for toolbar buttons and non-primary actions.
|
|
24
|
+
*/
|
|
25
|
+
export declare const GhostVariants: Story;
|
|
26
|
+
/**
|
|
27
|
+
* Different sizes for various interface contexts.
|
|
28
|
+
* Small for compact toolbars, medium for standard use, large for prominent actions.
|
|
29
|
+
*/
|
|
30
|
+
export declare const AllSizes: Story;
|
|
31
|
+
/**
|
|
32
|
+
* Different shapes for various design contexts.
|
|
33
|
+
* Rounded for general use, square for grid layouts, circle for profile actions.
|
|
34
|
+
*/
|
|
35
|
+
export declare const AllShapes: Story;
|
|
36
|
+
/**
|
|
37
|
+
* Disabled state for all variants and sizes.
|
|
38
|
+
* Demonstrates consistent disabled styling across the component system.
|
|
39
|
+
*/
|
|
40
|
+
export declare const DisabledStates: Story;
|
|
41
|
+
/**
|
|
42
|
+
* Toolbar example showing ButtonIcon in a practical context.
|
|
43
|
+
* Demonstrates how icon buttons work together in a typical interface.
|
|
44
|
+
*/
|
|
45
|
+
export declare const ToolbarExample: Story;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonIconProps defines the props for the ButtonIcon component
|
|
4
|
+
* @property children - Icon content (ReactNode)
|
|
5
|
+
* @property variant - Visual style variant based on Versaur color system
|
|
6
|
+
* @property shape - Shape type of the button (rounded, square, circle)
|
|
7
|
+
* @property size - Size of the button (sm, md, lg)
|
|
8
|
+
* @property disabled - Whether the button is disabled
|
|
9
|
+
* @property ariaLabel - Accessible label for screen readers (required for icon-only buttons)
|
|
10
|
+
*/
|
|
11
|
+
export interface ButtonIconProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
|
|
12
|
+
/**
|
|
13
|
+
* Icon content to display inside the button
|
|
14
|
+
* Accepts any ReactNode (SVG icons, components, etc.)
|
|
15
|
+
*/
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* Visual style variant supporting Versaur color system
|
|
19
|
+
* Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
|
|
20
|
+
* Semantic variants: success, info, warning, danger
|
|
21
|
+
* Each variant supports outline and ghost forms for flexible design expression
|
|
22
|
+
*/
|
|
23
|
+
variant?: 'primary' | 'primary-outline' | 'primary-ghost' | 'secondary' | 'secondary-outline' | 'secondary-ghost' | 'tertiary' | 'tertiary-outline' | 'tertiary-ghost' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'neutral-ghost' | 'success' | 'success-outline' | 'success-ghost' | 'info' | 'info-outline' | 'info-ghost' | 'warning' | 'warning-outline' | 'warning-ghost' | 'danger' | 'danger-outline' | 'danger-ghost' | 'outline' | 'destructive';
|
|
24
|
+
/**
|
|
25
|
+
* Shape type of the button
|
|
26
|
+
* rounded: Standard rounded corners (default)
|
|
27
|
+
* square: Perfect square with minimal rounded corners
|
|
28
|
+
* circle: Circular shape
|
|
29
|
+
*/
|
|
30
|
+
shape?: 'rounded' | 'square' | 'circle';
|
|
31
|
+
/**
|
|
32
|
+
* Size of the button
|
|
33
|
+
* sm: 32px, compact for space-constrained interfaces
|
|
34
|
+
* md: 40px, standard for most use cases
|
|
35
|
+
* lg: 48px, prominent for primary actions
|
|
36
|
+
*/
|
|
37
|
+
size?: 'sm' | 'md' | 'lg';
|
|
38
|
+
/**
|
|
39
|
+
* Whether the button is disabled
|
|
40
|
+
* When true, the button becomes non-interactive and visually dimmed
|
|
41
|
+
*/
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Accessible label for screen readers
|
|
45
|
+
* Required for icon-only buttons to ensure accessibility
|
|
46
|
+
*/
|
|
47
|
+
'aria-label': string;
|
|
48
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CalendarProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Calendar component (Compound Pattern)
|
|
5
|
+
* Implements a month view date picker following Material 3 specs and Versaur standards
|
|
6
|
+
*/
|
|
7
|
+
export declare const CalendarRoot: React.FC<CalendarProps>;
|
|
8
|
+
export declare const Calendar: React.FC<CalendarProps>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CalendarProps defines the props for the Calendar component
|
|
3
|
+
* @property value - The selected date
|
|
4
|
+
* @property onChange - Callback when a date is selected
|
|
5
|
+
* @property className - Custom class for the calendar container
|
|
6
|
+
*/
|
|
7
|
+
export interface CalendarProps {
|
|
8
|
+
/**
|
|
9
|
+
* The selected date
|
|
10
|
+
*/
|
|
11
|
+
value?: Date;
|
|
12
|
+
/**
|
|
13
|
+
* Callback when a date is selected
|
|
14
|
+
*/
|
|
15
|
+
onChange?: (date: Date) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Custom class for the calendar container
|
|
18
|
+
*/
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CheckboxOptionProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* CheckboxOption atom component
|
|
5
|
+
*
|
|
6
|
+
* Individual checkbox option that can be used within CheckboxInput
|
|
7
|
+
* Features custom styling with ::after pseudo-element for checkmark
|
|
8
|
+
*/
|
|
9
|
+
export declare const CheckboxOption: React.ForwardRefExoticComponent<CheckboxOptionProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CheckboxInputProps } from './types';
|
|
3
|
+
export declare const CheckboxInput: React.ForwardRefExoticComponent<CheckboxInputProps & React.RefAttributes<HTMLDivElement>> & {
|
|
4
|
+
Option: React.ForwardRefExoticComponent<import('./types').CheckboxOptionProps & React.RefAttributes<HTMLInputElement>>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { CheckboxInput } from './checkbox-input';
|
|
3
|
+
/**
|
|
4
|
+
* CheckboxInput is a compound component that provides customizable checkbox inputs
|
|
5
|
+
* with support for multiple variants, sizes, and accessibility features.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - Custom styled checkboxes using ::after pseudo-elements
|
|
9
|
+
* - Multiple variants following the Versaur color system
|
|
10
|
+
* - Flexible compound pattern for composition
|
|
11
|
+
* - Full accessibility support with proper ARIA attributes
|
|
12
|
+
* - Support for both horizontal and vertical layouts
|
|
13
|
+
*/
|
|
14
|
+
declare const meta: Meta<typeof CheckboxInput>;
|
|
15
|
+
export default meta;
|
|
16
|
+
type Story = StoryObj<typeof CheckboxInput>;
|
|
17
|
+
/**
|
|
18
|
+
* Default checkbox input with multiple options
|
|
19
|
+
*/
|
|
20
|
+
export declare const Default: Story;
|
|
21
|
+
/**
|
|
22
|
+
* Checkbox options with descriptions for better context
|
|
23
|
+
*/
|
|
24
|
+
export declare const WithDescriptions: Story;
|
|
25
|
+
/**
|
|
26
|
+
* Horizontal layout for compact displays
|
|
27
|
+
*/
|
|
28
|
+
export declare const HorizontalLayout: Story;
|
|
29
|
+
/**
|
|
30
|
+
* Different sizes demonstration
|
|
31
|
+
*/
|
|
32
|
+
export declare const Sizes: Story;
|
|
33
|
+
/**
|
|
34
|
+
* Variant showcase demonstrating all available styles
|
|
35
|
+
*/
|
|
36
|
+
export declare const Variants: Story;
|
|
37
|
+
/**
|
|
38
|
+
* Error state demonstration
|
|
39
|
+
*/
|
|
40
|
+
export declare const WithError: Story;
|
|
41
|
+
/**
|
|
42
|
+
* Disabled state demonstration
|
|
43
|
+
*/
|
|
44
|
+
export declare const Disabled: Story;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CheckboxInputProps } from './types';
|
|
2
|
+
interface CheckboxContextValue {
|
|
3
|
+
variant: CheckboxInputProps['variant'];
|
|
4
|
+
size: CheckboxInputProps['size'];
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const CheckboxContext: import('react').Context<CheckboxContextValue | null>;
|
|
9
|
+
export declare const useCheckboxContext: () => CheckboxContextValue;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const checkboxGroupVariants: (props?: ({
|
|
2
|
+
direction?: "horizontal" | "vertical" | null | undefined;
|
|
3
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
4
|
+
export declare const checkboxVariants: (props?: ({
|
|
5
|
+
variant?: "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | "primary-outline" | "secondary-outline" | "tertiary-outline" | "ghost-outline" | "neutral-outline" | "success-outline" | "info-outline" | "warning-outline" | "danger-outline" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
export declare const checkboxLabelVariants: (props?: ({
|
|
9
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
10
|
+
disabled?: boolean | null | undefined;
|
|
11
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the CheckboxInput component
|
|
4
|
+
*/
|
|
5
|
+
export interface CheckboxInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
|
|
6
|
+
/**
|
|
7
|
+
* Visual style variant supporting Versaur color system
|
|
8
|
+
* Core variants: primary (coral), secondary (sage), tertiary (mist), ghost (slate), neutral (light gray)
|
|
9
|
+
* Semantic variants: success, info, warning, danger
|
|
10
|
+
* Each variant supports outline form for flexible design expression
|
|
11
|
+
*/
|
|
12
|
+
variant?: 'primary' | 'primary-outline' | 'secondary' | 'secondary-outline' | 'tertiary' | 'tertiary-outline' | 'ghost' | 'ghost-outline' | 'neutral' | 'neutral-outline' | 'success' | 'success-outline' | 'info' | 'info-outline' | 'warning' | 'warning-outline' | 'danger' | 'danger-outline';
|
|
13
|
+
/**
|
|
14
|
+
* Size variant for the checkbox
|
|
15
|
+
*/
|
|
16
|
+
size?: 'sm' | 'md' | 'lg';
|
|
17
|
+
/**
|
|
18
|
+
* Label text to display above the checkbox group
|
|
19
|
+
*/
|
|
20
|
+
label?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Helper text to display below the checkbox group
|
|
23
|
+
*/
|
|
24
|
+
helperText?: ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Error message for invalid state
|
|
27
|
+
*/
|
|
28
|
+
error?: ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Direction of checkbox layout
|
|
31
|
+
*/
|
|
32
|
+
direction?: 'horizontal' | 'vertical';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Props for the CheckboxInput.Option component
|
|
36
|
+
*/
|
|
37
|
+
export interface CheckboxOptionProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
38
|
+
/**
|
|
39
|
+
* The option label content
|
|
40
|
+
*/
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Description text below the option label
|
|
44
|
+
*/
|
|
45
|
+
description?: ReactNode;
|
|
46
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ChipInputOptionProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* ChipInput.Option atom component
|
|
5
|
+
*
|
|
6
|
+
* Individual chip option for ChipInput
|
|
7
|
+
* Uses checkbox input pattern for multiple selection
|
|
8
|
+
* Supports leading icon and animated tick/check
|
|
9
|
+
*/
|
|
10
|
+
export declare const ChipOption: React.ForwardRefExoticComponent<ChipInputOptionProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ChipInputProps } from './types';
|
|
3
|
+
export declare const ChipInput: React.ForwardRefExoticComponent<ChipInputProps & React.RefAttributes<HTMLDivElement>> & {
|
|
4
|
+
Option: React.ForwardRefExoticComponent<import('./types').ChipInputOptionProps & React.RefAttributes<HTMLInputElement>>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ChipInputProps } from './types';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import('react').ForwardRefExoticComponent<ChipInputProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
5
|
+
Option: import('react').ForwardRefExoticComponent<import('./types').ChipInputOptionProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
6
|
+
};
|
|
7
|
+
tags: string[];
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
10
|
+
export declare const Basic: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const Disabled: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const Variants: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChipInputProps } from './types';
|
|
2
|
+
export interface ChipInputContextValue {
|
|
3
|
+
variant: ChipInputProps['variant'];
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
error?: boolean;
|
|
6
|
+
name: string;
|
|
7
|
+
value?: string[];
|
|
8
|
+
onChange?: (value: string[]) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const ChipInputContext: import('react').Context<ChipInputContextValue | null>;
|
|
11
|
+
export declare const useChipInputContext: () => ChipInputContextValue;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const chipOptionVariants: (props?: ({
|
|
2
|
+
variant?: "primary" | "secondary" | "tertiary" | "ghost" | "neutral" | "success" | "info" | "warning" | "danger" | null | undefined;
|
|
3
|
+
selected?: boolean | null | undefined;
|
|
4
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|