@empreint/ui 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 (81) hide show
  1. package/LICENSE.md +674 -0
  2. package/README.md +24 -0
  3. package/dist/src/components/breadcrumb/breadcrumb.d.ts +15 -0
  4. package/dist/src/components/breadcrumb/index.d.ts +1 -0
  5. package/dist/src/components/button/button.d.ts +8 -0
  6. package/dist/src/components/button/index.d.ts +1 -0
  7. package/dist/src/components/card/card.d.ts +23 -0
  8. package/dist/src/components/card/index.d.ts +1 -0
  9. package/dist/src/components/checkbox/checkbox.d.ts +8 -0
  10. package/dist/src/components/checkbox/index.d.ts +1 -0
  11. package/dist/src/components/chip/chip.d.ts +8 -0
  12. package/dist/src/components/chip/index.d.ts +1 -0
  13. package/dist/src/components/collapsible/collapsible.d.ts +25 -0
  14. package/dist/src/components/collapsible/index.d.ts +1 -0
  15. package/dist/src/components/dropdown-menu/dropdown-menu.d.ts +25 -0
  16. package/dist/src/components/dropdown-menu/index.d.ts +1 -0
  17. package/dist/src/components/dropzone/dropzone.d.ts +33 -0
  18. package/dist/src/components/dropzone/index.d.ts +1 -0
  19. package/dist/src/components/flex/flex.d.ts +10 -0
  20. package/dist/src/components/flex/index.d.ts +1 -0
  21. package/dist/src/components/index.d.ts +24 -0
  22. package/dist/src/components/input/index.d.ts +1 -0
  23. package/dist/src/components/input/input.d.ts +21 -0
  24. package/dist/src/components/language-selector/index.d.ts +1 -0
  25. package/dist/src/components/language-selector/language-selector.d.ts +5 -0
  26. package/dist/src/components/list/index.d.ts +1 -0
  27. package/dist/src/components/list/list.d.ts +13 -0
  28. package/dist/src/components/loader/index.d.ts +1 -0
  29. package/dist/src/components/loader/loader.d.ts +8 -0
  30. package/dist/src/components/modal/index.d.ts +1 -0
  31. package/dist/src/components/modal/modal.d.ts +43 -0
  32. package/dist/src/components/pagination/index.d.ts +1 -0
  33. package/dist/src/components/pagination/pagination.d.ts +20 -0
  34. package/dist/src/components/popover/index.d.ts +1 -0
  35. package/dist/src/components/popover/popover.d.ts +17 -0
  36. package/dist/src/components/radio-group/index.d.ts +1 -0
  37. package/dist/src/components/radio-group/radio-group.d.ts +18 -0
  38. package/dist/src/components/select/index.d.ts +1 -0
  39. package/dist/src/components/select/select.d.ts +30 -0
  40. package/dist/src/components/sidebar/index.d.ts +1 -0
  41. package/dist/src/components/sidebar/sidebar.d.ts +30 -0
  42. package/dist/src/components/slot/index.d.ts +1 -0
  43. package/dist/src/components/slot/slot.d.ts +8 -0
  44. package/dist/src/components/table/index.d.ts +2 -0
  45. package/dist/src/components/table/table.d.ts +20 -0
  46. package/dist/src/components/table/table.types.d.ts +8 -0
  47. package/dist/src/components/text/index.d.ts +1 -0
  48. package/dist/src/components/text/text.d.ts +8 -0
  49. package/dist/src/components/title/index.d.ts +1 -0
  50. package/dist/src/components/title/title.d.ts +8 -0
  51. package/dist/src/components/wizard/index.d.ts +2 -0
  52. package/dist/src/components/wizard/wizard.d.ts +46 -0
  53. package/dist/src/components/wizard/wizard.types.d.ts +8 -0
  54. package/dist/src/hooks/index.d.ts +9 -0
  55. package/dist/src/hooks/use-breadcrumb/index.d.ts +2 -0
  56. package/dist/src/hooks/use-breadcrumb/use-breadcrumb.d.ts +9 -0
  57. package/dist/src/hooks/use-breadcrumb/use-breadcrumb.types.d.ts +4 -0
  58. package/dist/src/hooks/use-disclosure/index.d.ts +1 -0
  59. package/dist/src/hooks/use-disclosure/use-disclosure.d.ts +9 -0
  60. package/dist/src/hooks/use-match-device/index.d.ts +2 -0
  61. package/dist/src/hooks/use-match-device/use-match-device.d.ts +2 -0
  62. package/dist/src/hooks/use-match-device/use-match-device.types.d.ts +6 -0
  63. package/dist/src/hooks/use-match-resolution/index.d.ts +2 -0
  64. package/dist/src/hooks/use-match-resolution/use-match-resolution.d.ts +3 -0
  65. package/dist/src/hooks/use-match-resolution/use-match-resolution.types.d.ts +35 -0
  66. package/dist/src/hooks/use-outside-alerter/index.d.ts +1 -0
  67. package/dist/src/hooks/use-outside-alerter/use-outside-alerter.d.ts +6 -0
  68. package/dist/src/hooks/use-pagination/index.d.ts +2 -0
  69. package/dist/src/hooks/use-pagination/use-pagination.d.ts +19 -0
  70. package/dist/src/hooks/use-pagination/use-pagination.types.d.ts +11 -0
  71. package/dist/src/hooks/use-scroll-to/index.d.ts +2 -0
  72. package/dist/src/hooks/use-scroll-to/use-scroll-to.d.ts +3 -0
  73. package/dist/src/hooks/use-scroll-to/use-scroll-to.types.d.ts +3 -0
  74. package/dist/src/hooks/use-visible/index.d.ts +1 -0
  75. package/dist/src/hooks/use-visible/use-visible.d.ts +2 -0
  76. package/dist/src/hooks/use-wizard/index.d.ts +1 -0
  77. package/dist/src/hooks/use-wizard/use-wizard.d.ts +11 -0
  78. package/dist/src/index.d.ts +2 -0
  79. package/dist/ui.css +2 -0
  80. package/dist/ui.js +952 -0
  81. package/package.json +80 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Empreint
2
+
3
+ A modern React component library built with TypeScript, CSS Modules,
4
+ and accessibility-first principles.
5
+
6
+ ## Installation
7
+
8
+ ```bash
9
+ bun add @empreint/ui
10
+ ```
11
+
12
+ Import the styles once in your app entry:
13
+
14
+ ```tsx
15
+ import "@empreint/ui/styles";
16
+ ```
17
+
18
+ ## Documentation
19
+
20
+ Browse all components and live examples at [empreint.dev](https://empreint.dev)
21
+
22
+ ## License
23
+
24
+ [GNU General Public License v3.0 only](./LICENSE.md) © Vincent Graul
@@ -0,0 +1,15 @@
1
+ import { ComponentProps, ReactElement, ReactNode } from 'react';
2
+ export declare const Breadcrumb: {
3
+ ({ children, className, ...rest }: ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
4
+ Item: ({ children, current, className }: BreadcrumbItemProps) => import("react/jsx-runtime").JSX.Element;
5
+ Separator: ({ children, className }: BreadcrumbSeparatorProps) => import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ export type BreadcrumbItemProps = {
8
+ children: ReactElement;
9
+ current?: boolean;
10
+ className?: string;
11
+ };
12
+ export type BreadcrumbSeparatorProps = {
13
+ children?: ReactNode;
14
+ className?: string;
15
+ };
@@ -0,0 +1 @@
1
+ export * from './breadcrumb';
@@ -0,0 +1,8 @@
1
+ import { ComponentProps } from 'react';
2
+ export type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
3
+ export type ButtonSize = "sm" | "md" | "lg";
4
+ export type ButtonProps = ComponentProps<"button"> & {
5
+ variant?: ButtonVariant;
6
+ size?: ButtonSize;
7
+ };
8
+ export declare const Button: ({ children, type, variant, size, className, ...rest }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './button';
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ export type CardProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const Card: {
7
+ ({ children, className }: CardProps): import("react/jsx-runtime").JSX.Element;
8
+ Header: ({ children, className }: CardHeaderProps) => import("react/jsx-runtime").JSX.Element;
9
+ Body: ({ children, className }: CardBodyProps) => import("react/jsx-runtime").JSX.Element;
10
+ Footer: ({ children, className }: CardFooterProps) => import("react/jsx-runtime").JSX.Element;
11
+ };
12
+ export type CardHeaderProps = {
13
+ children: ReactNode;
14
+ className?: string;
15
+ };
16
+ export type CardBodyProps = {
17
+ children: ReactNode;
18
+ className?: string;
19
+ };
20
+ export type CardFooterProps = {
21
+ children: ReactNode;
22
+ className?: string;
23
+ };
@@ -0,0 +1 @@
1
+ export * from './card';
@@ -0,0 +1,8 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ export type CheckboxSize = "sm" | "md" | "lg";
3
+ export type CheckboxProps = Omit<ComponentProps<"input">, "type" | "size"> & {
4
+ children: ReactNode;
5
+ size?: CheckboxSize;
6
+ className?: string;
7
+ };
8
+ export declare const Checkbox: ({ children, size, className, ...rest }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './checkbox';
@@ -0,0 +1,8 @@
1
+ import { ComponentProps } from 'react';
2
+ export type ChipSize = "sm" | "md" | "lg";
3
+ export type ChipProps = ComponentProps<"div"> & {
4
+ size?: ChipSize;
5
+ onRemove?: () => void;
6
+ closeAriaLabel?: string;
7
+ };
8
+ export declare const Chip: ({ children, size, onRemove, closeAriaLabel, className, ...rest }: ChipProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './chip';
@@ -0,0 +1,25 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+ type CollapsibleProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const Collapsible: {
7
+ ({ children, className }: CollapsibleProps): import("react/jsx-runtime").JSX.Element;
8
+ Trigger: ({ children, icon: Icon, className, }: CollapsibleTriggerProps) => import("react/jsx-runtime").JSX.Element;
9
+ Content: ({ children, className }: CollapsibleContentProps) => false | import("react/jsx-runtime").JSX.Element | undefined;
10
+ Item: ({ children, className }: CollapsibleItemProps) => import("react/jsx-runtime").JSX.Element;
11
+ };
12
+ export type CollapsibleTriggerProps = {
13
+ children: ReactNode;
14
+ icon?: ElementType;
15
+ className?: string;
16
+ };
17
+ export type CollapsibleContentProps = {
18
+ children: ReactNode;
19
+ className?: string;
20
+ };
21
+ export type CollapsibleItemProps = {
22
+ children: ReactNode;
23
+ className?: string;
24
+ };
25
+ export {};
@@ -0,0 +1 @@
1
+ export * from './collapsible';
@@ -0,0 +1,25 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+ export type DropdownMenuProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const DropdownMenu: {
7
+ ({ children, className }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
8
+ Trigger: ({ children, icon: Icon, className, }: DropdownMenuTrigger) => import("react/jsx-runtime").JSX.Element;
9
+ Content: ({ children, className }: DropdownMenuContent) => false | import("react/jsx-runtime").JSX.Element | undefined;
10
+ Item: ({ children, onClick, className }: DropdownMenuItemProps) => import("react/jsx-runtime").JSX.Element;
11
+ };
12
+ export type DropdownMenuTrigger = {
13
+ children: ReactNode;
14
+ icon?: ElementType;
15
+ className?: string;
16
+ };
17
+ export type DropdownMenuContent = {
18
+ children: ReactNode;
19
+ className?: string;
20
+ };
21
+ export type DropdownMenuItemProps = {
22
+ children: ReactNode;
23
+ onClick: () => void;
24
+ className?: string;
25
+ };
@@ -0,0 +1 @@
1
+ export * from './dropdown-menu';
@@ -0,0 +1,33 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type DropzoneProps = {
3
+ children: ReactNode;
4
+ onChange: (file: File | undefined) => void;
5
+ className?: string;
6
+ };
7
+ export declare const Dropzone: {
8
+ ({ children, onChange, className }: DropzoneProps): import("react/jsx-runtime").JSX.Element;
9
+ Label: ({ children, className }: DropzoneLabelProps) => import("react/jsx-runtime").JSX.Element;
10
+ Area: ({ children, className }: DropzoneAreaProps) => import("react/jsx-runtime").JSX.Element;
11
+ Empty: ({ children, className }: DropzoneEmptyProps) => import("react/jsx-runtime").JSX.Element | null;
12
+ Preview: ({ className }: DropzonePreviewProps) => import("react/jsx-runtime").JSX.Element | null;
13
+ Remove: ({ children, className }: DropzoneRemoveProps) => import("react/jsx-runtime").JSX.Element | null;
14
+ };
15
+ export type DropzoneLabelProps = {
16
+ children: ReactNode;
17
+ className?: string;
18
+ };
19
+ export type DropzoneAreaProps = {
20
+ children: ReactNode;
21
+ className?: string;
22
+ };
23
+ export type DropzonePreviewProps = {
24
+ className?: string;
25
+ };
26
+ export type DropzoneEmptyProps = {
27
+ children: ReactNode;
28
+ className?: string;
29
+ };
30
+ export type DropzoneRemoveProps = {
31
+ children: ReactElement;
32
+ className?: string;
33
+ };
@@ -0,0 +1 @@
1
+ export * from './dropzone';
@@ -0,0 +1,10 @@
1
+ import { ComponentProps } from 'react';
2
+ export type FlexProps = ComponentProps<"div"> & {
3
+ direction?: "row" | "column" | "row-reverse" | "column-reverse";
4
+ justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | "stretch";
5
+ align?: "start" | "center" | "end" | "stretch" | "baseline";
6
+ wrap?: "nowrap" | "wrap" | "wrap-reverse";
7
+ gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
8
+ inline?: boolean;
9
+ };
10
+ export declare const Flex: ({ children, direction, justify, align, wrap, gap, inline, className, ...rest }: FlexProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './flex';
@@ -0,0 +1,24 @@
1
+ export * from './breadcrumb';
2
+ export * from './button';
3
+ export * from './card';
4
+ export * from './checkbox';
5
+ export * from './chip';
6
+ export * from './collapsible';
7
+ export * from './dropdown-menu';
8
+ export * from './dropzone';
9
+ export * from './flex';
10
+ export * from './input';
11
+ export * from './language-selector';
12
+ export * from './list';
13
+ export * from './loader';
14
+ export * from './modal';
15
+ export * from './pagination';
16
+ export * from './popover';
17
+ export * from './radio-group';
18
+ export * from './select';
19
+ export * from './sidebar';
20
+ export * from './slot';
21
+ export * from './table';
22
+ export * from './text';
23
+ export * from './title';
24
+ export * from './wizard';
@@ -0,0 +1 @@
1
+ export * from './input';
@@ -0,0 +1,21 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ export type InputStatus = "default" | "success" | "warning" | "error";
3
+ export type InputProps = {
4
+ children: ReactNode;
5
+ status?: InputStatus;
6
+ className?: string;
7
+ };
8
+ export declare const Input: {
9
+ ({ children, status, className }: InputProps): import("react/jsx-runtime").JSX.Element;
10
+ Field: ({ className, ...rest }: ComponentProps<"input">) => import("react/jsx-runtime").JSX.Element;
11
+ Label: ({ children, className }: InputLabelProps) => import("react/jsx-runtime").JSX.Element;
12
+ Message: ({ children, className }: InputMessageProps) => import("react/jsx-runtime").JSX.Element;
13
+ };
14
+ export type InputLabelProps = {
15
+ children: ReactNode;
16
+ className?: string;
17
+ };
18
+ export type InputMessageProps = {
19
+ children: ReactNode;
20
+ className?: string;
21
+ };
@@ -0,0 +1 @@
1
+ export * from './language-selector';
@@ -0,0 +1,5 @@
1
+ import { SelectProps } from '..';
2
+ export type LanguageSelectorProps = {
3
+ languages: string[];
4
+ };
5
+ export declare const LanguageSelector: ({ languages, ...rest }: LanguageSelectorProps & Omit<SelectProps, "children">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './list';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export type ListProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const List: {
7
+ ({ className, children }: ListProps): import("react/jsx-runtime").JSX.Element;
8
+ Item: ({ children, className }: ListItemProps) => import("react/jsx-runtime").JSX.Element;
9
+ };
10
+ export type ListItemProps = {
11
+ children: ReactNode;
12
+ className?: string;
13
+ };
@@ -0,0 +1 @@
1
+ export * from './loader';
@@ -0,0 +1,8 @@
1
+ import { ComponentProps } from 'react';
2
+ export declare const Loader: {
3
+ ({ children, className, ...rest }: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
+ Spinner: ({ size, className, ...rest }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ export type SpinnerProps = ComponentProps<"svg"> & {
7
+ size?: "sm" | "md" | "lg";
8
+ };
@@ -0,0 +1 @@
1
+ export * from './modal';
@@ -0,0 +1,43 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type ModalProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const Modal: {
7
+ ({ children, className }: ModalProps): import("react/jsx-runtime").JSX.Element;
8
+ Trigger: ({ children, className }: ModalTriggerProps) => import("react/jsx-runtime").JSX.Element;
9
+ Content: ({ children, className }: ModalContentProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ Overlay: ({ className }: ModalOverlayProps) => false | import("react/jsx-runtime").JSX.Element | undefined;
11
+ Close: ({ children, className }: ModalCloseProps) => import("react/jsx-runtime").JSX.Element;
12
+ Body: ({ children, className }: ModalBodyProps) => import("react/jsx-runtime").JSX.Element;
13
+ Header: ({ children, className }: ModalHeaderProps) => import("react/jsx-runtime").JSX.Element;
14
+ Footer: ({ children, className }: ModalFooterProps) => import("react/jsx-runtime").JSX.Element;
15
+ };
16
+ export type ModalTriggerProps = {
17
+ children: ReactElement;
18
+ className?: string;
19
+ };
20
+ export declare const ModalTrigger: ({ children, className }: ModalTriggerProps) => import("react/jsx-runtime").JSX.Element;
21
+ export type ModalContentProps = {
22
+ children: ReactNode;
23
+ className?: string;
24
+ };
25
+ export type ModalOverlayProps = {
26
+ className?: string;
27
+ };
28
+ export type ModalCloseProps = {
29
+ children: ReactElement;
30
+ className?: string;
31
+ };
32
+ export type ModalBodyProps = {
33
+ children: ReactNode;
34
+ className?: string;
35
+ };
36
+ export type ModalHeaderProps = {
37
+ children: ReactNode;
38
+ className?: string;
39
+ };
40
+ export type ModalFooterProps = {
41
+ children: ReactNode;
42
+ className?: string;
43
+ };
@@ -0,0 +1 @@
1
+ export * from './pagination';
@@ -0,0 +1,20 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { usePaginationProps } from '../..';
3
+ export type PaginationProps = usePaginationProps & {
4
+ children: ReactNode;
5
+ className?: string;
6
+ };
7
+ export declare const Pagination: {
8
+ ({ children, className, ...rest }: PaginationProps): import("react/jsx-runtime").JSX.Element;
9
+ First: ({ children, className }: PaginationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ Previous: ({ children, className }: PaginationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ Items: ({ className }: {
12
+ className?: string;
13
+ }) => import("react/jsx-runtime").JSX.Element[] | undefined;
14
+ Next: ({ children, className }: PaginationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
15
+ Last: ({ children, className }: PaginationButtonProps) => import("react/jsx-runtime").JSX.Element | null;
16
+ };
17
+ export type PaginationButtonProps = {
18
+ children: ReactElement;
19
+ className?: string;
20
+ };
@@ -0,0 +1 @@
1
+ export * from './popover';
@@ -0,0 +1,17 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type PopoverProps = {
3
+ children: ReactNode;
4
+ };
5
+ export declare const Popover: {
6
+ ({ children }: PopoverProps): import("react/jsx-runtime").JSX.Element;
7
+ Trigger: ({ children }: PopoverTriggerProps) => import("react/jsx-runtime").JSX.Element;
8
+ Content: ({ children, className }: PopoverContentProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ };
10
+ type PopoverTriggerProps = {
11
+ children: ReactElement;
12
+ };
13
+ type PopoverContentProps = {
14
+ children: ReactNode;
15
+ className?: string;
16
+ };
17
+ export {};
@@ -0,0 +1 @@
1
+ export * from './radio-group';
@@ -0,0 +1,18 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ type RadioGroupProps = {
3
+ children: ReactNode;
4
+ defaultValue: string;
5
+ value?: string;
6
+ onChange?: (value: string) => void;
7
+ className?: string;
8
+ };
9
+ export declare const RadioGroup: {
10
+ ({ children, onChange, defaultValue, className }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
11
+ Item: ({ children, value, className, ...rest }: RadioItemProps) => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export type RadioItemProps = Omit<ComponentProps<"input">, "type" | "name" | "checked" | "onChange"> & {
14
+ children: ReactNode;
15
+ value: string;
16
+ className?: string;
17
+ };
18
+ export {};
@@ -0,0 +1 @@
1
+ export * from './select';
@@ -0,0 +1,30 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+ export type Option = {
3
+ label: ReactNode;
4
+ value: string;
5
+ };
6
+ export type SelectProps = {
7
+ children: ReactNode;
8
+ defaultValue: string;
9
+ onChange?: (option: Option) => void;
10
+ className?: string;
11
+ };
12
+ export declare const Select: {
13
+ ({ children, defaultValue, onChange, className }: SelectProps): import("react/jsx-runtime").JSX.Element;
14
+ Trigger: ({ icon: Icon, className }: SelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
15
+ Content: ({ children, className }: SelectContentProps) => import("react/jsx-runtime").JSX.Element;
16
+ Option: ({ children, value, className }: SelectOptionProps) => import("react/jsx-runtime").JSX.Element;
17
+ };
18
+ export type SelectTriggerProps = {
19
+ icon?: ElementType;
20
+ className?: string;
21
+ };
22
+ export type SelectContentProps = {
23
+ children: ReactNode;
24
+ className?: string;
25
+ };
26
+ export type SelectOptionProps = {
27
+ children: ReactNode;
28
+ value: string;
29
+ className?: string;
30
+ };
@@ -0,0 +1 @@
1
+ export * from './sidebar';
@@ -0,0 +1,30 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type SidebarProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const Sidebar: {
7
+ ({ children, className }: SidebarProps): import("react/jsx-runtime").JSX.Element;
8
+ Header: ({ children, className }: SidebarHeaderProps) => import("react/jsx-runtime").JSX.Element;
9
+ Group: ({ children, className }: SidebarGroupProps) => import("react/jsx-runtime").JSX.Element;
10
+ Link: ({ children, isActive, className }: SidebarLinkProps) => import("react/jsx-runtime").JSX.Element;
11
+ Item: ({ children, onClick, className }: SidebarItemProps) => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export type SidebarHeaderProps = {
14
+ children: ReactNode;
15
+ className?: string;
16
+ };
17
+ export type SidebarGroupProps = {
18
+ children: ReactNode;
19
+ className?: string;
20
+ };
21
+ export type SidebarItemProps = {
22
+ children: ReactNode;
23
+ onClick?: () => void;
24
+ className?: string;
25
+ };
26
+ export type SidebarLinkProps = {
27
+ children: ReactElement;
28
+ isActive?: boolean;
29
+ className?: string;
30
+ };
@@ -0,0 +1 @@
1
+ export * from './slot';
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes, ReactElement, Ref } from 'react';
2
+ type AnyProps = Record<string, unknown>;
3
+ export type SlotProps = HTMLAttributes<HTMLElement> & {
4
+ children: ReactElement;
5
+ ref?: Ref<HTMLElement>;
6
+ };
7
+ export declare const Slot: ({ children, ref, ...slotProps }: SlotProps) => ReactElement<AnyProps, string | import('react').JSXElementConstructor<any>> | null;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './table';
2
+ export * from './table.types';
@@ -0,0 +1,20 @@
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
+ import { Column, ObjectLiteral, Primitive } from './table.types';
3
+ export type TableProps<T extends ObjectLiteral> = {
4
+ columns: Column[];
5
+ records: T[];
6
+ uniqueKey?: string;
7
+ renderHeader?: () => ReactNode;
8
+ renderFooter?: () => ReactNode;
9
+ renderColumnsCell?: (column: Column, key: string) => ReactNode;
10
+ renderRecordsCell?: (cell: Primitive, key: string) => ReactNode;
11
+ renderRecordsEmptyCell?: (key: string) => ReactNode;
12
+ renderNoRecords?: () => ReactNode;
13
+ className?: string;
14
+ };
15
+ export declare const Table: {
16
+ <T extends ObjectLiteral>({ className, columns, records, uniqueKey, renderHeader, renderFooter, renderColumnsCell, renderRecordsCell, renderRecordsEmptyCell, renderNoRecords, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
17
+ Th: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
18
+ Tr: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
19
+ Td: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
20
+ };
@@ -0,0 +1,8 @@
1
+ export type Column = {
2
+ name: string;
3
+ label: string;
4
+ };
5
+ export type Primitive = string | number | boolean | undefined | null;
6
+ export type ObjectLiteral<T = Primitive> = {
7
+ [field: string]: T;
8
+ };
@@ -0,0 +1 @@
1
+ export * from './text';
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export type TextProps = HTMLAttributes<HTMLElement> & {
3
+ as?: "span" | "p";
4
+ size?: "sm" | "md" | "lg";
5
+ align?: "start" | "center" | "end" | "justify";
6
+ weight?: "normal" | "medium" | "semibold" | "bold";
7
+ };
8
+ export declare const Text: ({ children, as: TextAs, size, align, weight, className, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './title';
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export type TitleProps = HTMLAttributes<HTMLHeadingElement> & {
3
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
4
+ size?: "sm" | "md" | "lg" | "xl";
5
+ align?: "start" | "center" | "end";
6
+ weight?: "normal" | "medium" | "semibold" | "bold";
7
+ };
8
+ export declare const Title: ({ children, as: TitleAs, size, align, weight, className, ...rest }: TitleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './wizard';
2
+ export * from './wizard.types';
@@ -0,0 +1,46 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type Step = {
3
+ name: string;
4
+ title: string;
5
+ };
6
+ export type WizardProps = {
7
+ children: ReactNode;
8
+ initialStep?: number;
9
+ className?: string;
10
+ };
11
+ export declare const Wizard: {
12
+ ({ children, initialStep, className }: WizardProps): import("react/jsx-runtime").JSX.Element;
13
+ Header: ({ children, className }: WizardHeaderProps) => import("react/jsx-runtime").JSX.Element;
14
+ Title: ({ className }: WizardTitleProps) => import("react/jsx-runtime").JSX.Element;
15
+ Indicator: () => import("react/jsx-runtime").JSX.Element | null;
16
+ Step: ({ children, name, title, className }: WizardStepProps) => import("react/jsx-runtime").JSX.Element | null;
17
+ Footer: ({ children, className }: WizardFooterProps) => import("react/jsx-runtime").JSX.Element;
18
+ Next: ({ children, onClick, className }: WizardButtonProps) => import("react/jsx-runtime").JSX.Element | null;
19
+ Previous: ({ children, onClick, className }: WizardButtonProps) => import("react/jsx-runtime").JSX.Element | null;
20
+ Finalize: ({ children, onClick, className }: WizardButtonProps) => import("react/jsx-runtime").JSX.Element | null;
21
+ };
22
+ export type WizardHeaderProps = {
23
+ children: ReactNode;
24
+ className?: string;
25
+ };
26
+ export type WizardTitleProps = {
27
+ className?: string;
28
+ };
29
+ export type WizardIndicatorProps = {
30
+ className?: string;
31
+ };
32
+ export type WizardStepProps = {
33
+ children: ReactNode;
34
+ name: string;
35
+ title: string;
36
+ className?: string;
37
+ };
38
+ export type WizardFooterProps = {
39
+ children: ReactNode;
40
+ className?: string;
41
+ };
42
+ export type WizardButtonProps = {
43
+ children: ReactElement;
44
+ onClick?: () => void;
45
+ className?: string;
46
+ };
@@ -0,0 +1,8 @@
1
+ export type StepProps = {
2
+ step: number;
3
+ totalSteps: number;
4
+ onPreviousStep: () => void;
5
+ onNextStep: () => void;
6
+ isFirstStep: boolean;
7
+ isLastStep: boolean;
8
+ };