@konoma-development/react-components 0.0.1

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 (36) hide show
  1. package/README.md +7 -0
  2. package/dist/@konoma-development/react-components.d.ts +2 -0
  3. package/dist/@konoma-development/react-components.js +55049 -0
  4. package/dist/@konoma-development/react-components.js.map +1 -0
  5. package/dist/components/form/checkbox.d.ts +4 -0
  6. package/dist/components/form/checkboxList.d.ts +2 -0
  7. package/dist/components/form/form.d.ts +14 -0
  8. package/dist/components/form/formField.d.ts +23 -0
  9. package/dist/components/form/input.d.ts +2 -0
  10. package/dist/components/form/phoneInput.d.ts +2 -0
  11. package/dist/components/form/radiobuttonGroup.d.ts +4 -0
  12. package/dist/components/form/select.d.ts +2 -0
  13. package/dist/components/form/tagList.d.ts +2 -0
  14. package/dist/components/form/textarea.d.ts +4 -0
  15. package/dist/components/form/types.d.ts +132 -0
  16. package/dist/components/form/validators.d.ts +2 -0
  17. package/dist/components/table/FilterContext.d.ts +4 -0
  18. package/dist/components/table/column.d.ts +54 -0
  19. package/dist/components/table/columnChooser.d.ts +17 -0
  20. package/dist/components/table/columnChooserEntry.d.ts +9 -0
  21. package/dist/components/table/pagination.d.ts +16 -0
  22. package/dist/components/table/table.d.ts +60 -0
  23. package/dist/components/table/tableActions.d.ts +11 -0
  24. package/dist/components/table/types.d.ts +4 -0
  25. package/dist/components/ui/button.d.ts +28 -0
  26. package/dist/components/ui/icon.d.ts +5 -0
  27. package/dist/components/ui/loadingIndicator.d.ts +3 -0
  28. package/dist/components/ui/modal.d.ts +21 -0
  29. package/dist/components/ui/tabs.d.ts +20 -0
  30. package/dist/components/ui/tag.d.ts +14 -0
  31. package/dist/eslint.config.d.ts +1161 -0
  32. package/dist/main.d.ts +25 -0
  33. package/dist/postcss.config.d.ts +7 -0
  34. package/dist/tailwind.config.d.ts +4 -0
  35. package/dist/vite.config.d.ts +3 -0
  36. package/package.json +77 -0
@@ -0,0 +1,4 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function Checkbox<DataType>({ classesFilled, classesError, classesEmpty, labelClassesFilled, labelClassesError, labelClassesEmpty, iconClassesFilled, value, defaultValue,
3
+ /** UNUSED, only listed so that the typing for onInput does not clash with the onInput event of the input */
4
+ onInput, onChange, label, indeterminate, disabled, className, name, error, ...props }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function CheckboxList<DataType>({ labelClasses, wrapperClasses, classes, classesError, errorClasses, childClasses, label, error, name, options, required, labelPosition, values, onChange, }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { JSX, Ref } from 'react';
2
+ export declare const ErrorContext: import('react').Context<{
3
+ errors: Record<string, string[]>;
4
+ setErrors: (errors: Record<string, string[]>) => void;
5
+ }>;
6
+ export default function Form<DataType>({ children, className, validators, data, formRef, onValidation, onSubmit, }: {
7
+ formRef?: Ref<HTMLFormElement>;
8
+ children: JSX.Element[] | JSX.Element;
9
+ className?: string;
10
+ data: DataType;
11
+ validators: Record<keyof DataType, ((value: string | number | boolean | null) => string)[]>;
12
+ onValidation?: (errors: Record<keyof DataType, string[]>) => void;
13
+ onSubmit: () => Promise<void>;
14
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ import { default as Checkbox } from './checkbox';
2
+ import { default as CheckboxList } from './checkboxList';
3
+ import { default as Input } from './input';
4
+ import { default as PhoneInput } from './phoneInput';
5
+ import { default as RadioButtonGroup } from './radiobuttonGroup';
6
+ import { default as Select } from './select';
7
+ import { default as TagList } from './tagList';
8
+ import { default as Textarea } from './textarea';
9
+ import { FormFieldProps } from './types';
10
+ declare const FormFieldComponents: {
11
+ checkbox: typeof Checkbox;
12
+ checkboxList: typeof CheckboxList;
13
+ input: typeof Input;
14
+ radioButtonGroup: typeof RadioButtonGroup;
15
+ select: typeof Select;
16
+ textarea: typeof Textarea;
17
+ tagList: typeof TagList;
18
+ phoneInput: typeof PhoneInput;
19
+ };
20
+ export default function FormField<DataType>({ component, value, defaultValue, name, options, onChange, ...props }: FormFieldProps<DataType> & {
21
+ component: keyof typeof FormFieldComponents;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,2 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function Input<DataType>({ classes, wrapperClasses, labelClasses, iconLeftClasses, iconRightClasses, errorClasses, classesError, classesNeutral, additionalClassesIconLeft, additionalClassesIconRight, wrapperRightClasses, label, iconLeftPath, iconLeftName, iconRightPath, iconRightName, textRight, centered, error, required, name, value, mask, defaultValue, placeholder, className, onIconRightClick, onIconLeftClick, onChange, onClick, onKeyDown, onBlur, ...props }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function PhoneInput<DataType>({ classes, wrapperClasses, labelClasses, wrapperLeftClasses, errorClasses, classesError, classesNeutral, label, centered, error, required, name, value, defaultValue, className, onChange, onClick, onKeyDown, onBlur, ...props }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { FormFieldProps, Option } from './types';
2
+ export default function RadioButtonGroup<DataType>({ classes, controlClasses, optionClasses, labelClasses, classesFilled, classesEmpty, wrapperClasses, labelWrapperClasses, errorClasses, options, error, required, value, label, name, arrangement, onChange, }: FormFieldProps<DataType> & {
3
+ options: Option[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function Select<DataType>({ classes, errorClasses, labelClasses, labelWrapperClasses, classesNeutral, classesError, focusClasses, controlClasses, optionClasses, optionSelectedClasses, optionFocusedClasses, valueClasses, placeholderClasses, wrapperClasses, indicatorClasses, valueContainerClasses, options, placeholder, className, required, error, defaultValue, searchable, label, name, isClearable, disabled, noValue, allowCustomValues, customValueLabel, menuPortalTarget, isMulti, onInput, onKeyDown, onChange, ...props }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function TagList<DataType>({ classes, wrapperClasses, labelClasses, errorClasses, classesError, classesNeutral, label, error, required, values, addTagTitle, onChange, className, }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { FormFieldProps } from './types';
2
+ export default function Textarea<DataType>({ classes, classesNeutral, classesError, errorClasses, labelClasses, hintClasses, wrapperClasses, resizeClasses, resizeIconClasses, controlClasses, labelWrapperClasses, classesDisabled, resizeIconPath, resizeIconName, label, error, required, initialHeight, maxLength, replacements, name, value, disabled, defaultValue, maxLengthLabel,
3
+ /** UNUSED, only listed so that the typing for onInput does not clash with the onInput event of the textarea */
4
+ onInput, onChange, ...props }: FormFieldProps<DataType>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,132 @@
1
+ import { ChangeEvent, HTMLInputTypeAttribute, JSX, MouseEvent } from 'react';
2
+ type LabelPosition = 'top' | 'bottom' | 'left' | 'right';
3
+ export type FormValue = string | number | boolean | Option;
4
+ export interface Option {
5
+ value: FormValue;
6
+ label: string | number;
7
+ }
8
+ /** Classes for the form components. Not all classes have effects in all components. Properties that start with 'class-' apply to the component in general, other properties apply to specific parts of the component */
9
+ export interface Classes {
10
+ /** Never has a default value and can be used to assign arbitrary additional classes. The exact node that receives these classes differs from component to component */
11
+ className?: string;
12
+ /** Base classes, usually assigned to the control */
13
+ classes?: string;
14
+ /** Base classes, assigned directly to the control. Might be needed in case of more complex nesting */
15
+ controlClasses?: string;
16
+ /** Used for components that have specific styling when in neutral state */
17
+ classesNeutral?: string;
18
+ /** Used for components that have specific styling when empty */
19
+ classesEmpty?: string;
20
+ classesDisabled?: string;
21
+ /** Used for components that have specific styling when in error */
22
+ classesError?: string;
23
+ /** Used for components that have specific styling when filled */
24
+ classesFilled?: string;
25
+ /** Used for the label in components that have specific styling when empty */
26
+ labelClassesEmpty?: string;
27
+ /** Used for the label in components that have specific styling when in error */
28
+ labelClassesError?: string;
29
+ /** Used for the label in components that have specific styling when filled */
30
+ labelClassesFilled?: string;
31
+ /** General classes for the label */
32
+ labelClasses?: string;
33
+ /** Needed in case of nested label */
34
+ labelWrapperClasses?: string;
35
+ /** Used for the icon in components that have specific styling when filled */
36
+ iconClassesFilled?: string;
37
+ /** General classes for the wrapper */
38
+ wrapperClasses?: string;
39
+ /** General classes for the icon on the left */
40
+ iconLeftClasses?: string;
41
+ /** General classes for the icon on the right */
42
+ iconRightClasses?: string;
43
+ /** General classes for the error message */
44
+ errorClasses?: string;
45
+ /** Additional classes for the control when an icon is present on the left */
46
+ additionalClassesIconLeft?: string;
47
+ /** Additional classes for the control when an icon is present on the right */
48
+ additionalClassesIconRight?: string;
49
+ /** General classes for hints placed within the component */
50
+ hintClasses?: string;
51
+ /** General classes for the resize element */
52
+ resizeClasses?: string;
53
+ /** General classes for the icon within the resize element */
54
+ resizeIconClasses?: string;
55
+ /** Classes to be applied to all values for components with multiple possible values */
56
+ optionClasses?: string;
57
+ /** Classes to be applied to the wrapper for elements on the left side */
58
+ wrapperLeftClasses?: string;
59
+ /** Classes to be applied to the wrapper for elements on the right side */
60
+ wrapperRightClasses?: string;
61
+ focusClasses?: string;
62
+ optionFocusedClasses?: string;
63
+ optionSelectedClasses?: string;
64
+ valueClasses?: string;
65
+ placeholderClasses?: string;
66
+ indicatorClasses?: string;
67
+ valueContainerClasses?: string;
68
+ }
69
+ export interface FormFieldProps<DataType> extends Classes {
70
+ allowCustomValues?: boolean;
71
+ customValueLabel?: string;
72
+ arrangement?: 'horizontal' | 'vertical';
73
+ centered?: boolean;
74
+ autoFocus?: boolean;
75
+ childClasses?: {
76
+ [key in keyof Classes]?: string;
77
+ };
78
+ defaultValue?: FormValue;
79
+ disabled?: boolean;
80
+ error?: string[];
81
+ forgotPWText?: string;
82
+ iconLeftPath?: string;
83
+ iconLeftName?: string;
84
+ iconRightPath?: string;
85
+ iconRightName?: string;
86
+ indeterminate?: boolean;
87
+ isClearable?: boolean;
88
+ replacements?: Record<string, string>;
89
+ label?: string | JSX.Element;
90
+ labelPosition?: LabelPosition;
91
+ maxLength?: number;
92
+ maxLengthLabel?: string;
93
+ name?: keyof DataType;
94
+ options?: Option[];
95
+ placeholder?: string;
96
+ required?: boolean;
97
+ resizeIconPath?: string;
98
+ resizeIconName?: string;
99
+ addTagTitle?: string;
100
+ searchable?: boolean;
101
+ textRight?: string;
102
+ type?: HTMLInputTypeAttribute;
103
+ initialHeight?: number;
104
+ mask?: Mask | Mask[];
105
+ min?: number;
106
+ max?: number;
107
+ /** Used for components that bind to one value */
108
+ value?: FormValue;
109
+ /** Used for components that bind to multiple values */
110
+ values?: FormValue[];
111
+ /** Used for selects that have no visible selected value */
112
+ noValue?: boolean;
113
+ isMulti?: boolean;
114
+ valueTransformer?: (value: FormValue) => FormValue;
115
+ /** Used to place the dropdown element of a Select */
116
+ menuPortalTarget?: HTMLElement;
117
+ forgotPWAction?: (event: React.MouseEvent<HTMLButtonElement>) => void;
118
+ onBlur?: (event: React.FocusEvent<HTMLElement>) => void;
119
+ onFocus?: (event: React.FocusEvent<HTMLElement>) => void;
120
+ onChange?: (value: FormValue | FormValue[], event?: ChangeEvent) => void;
121
+ onInput?: (value: FormValue, event?: InputEvent) => void;
122
+ onClick?: (e: MouseEvent) => void;
123
+ onIconRightClick?: () => void;
124
+ onIconLeftClick?: () => void;
125
+ onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;
126
+ }
127
+ export declare const positionClasses: Record<LabelPosition, string>;
128
+ export type Mask = string | RegExp | {
129
+ mask: Mask;
130
+ definitions?: Record<string, RegExp>;
131
+ };
132
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function required(message?: string): (value: string | number | boolean | null) => string;
2
+ export declare function email(message?: string): (value: string | number | boolean | null) => string;
@@ -0,0 +1,4 @@
1
+ export declare const FilterContext: import('react').Context<{
2
+ filters: Record<string, string>;
3
+ setFilters: (errors: Record<string, string>) => Promise<void>;
4
+ }>;
@@ -0,0 +1,54 @@
1
+ import { JSX } from 'react';
2
+ import { TableColumn } from './table';
3
+ export interface ColumnClasses {
4
+ resizableClasses?: string;
5
+ resizableComponentWrapperClasses?: string;
6
+ resizableComponentWithFiltersClasses?: string;
7
+ resizableComponentNoFiltersClasses?: string;
8
+ resizableComponentStaticClasses?: string;
9
+ resizableComponentHoveringClasses?: string;
10
+ resizableComponentClasses?: string;
11
+ headerWrapperClasses?: string;
12
+ headerWrapperSortingClasses?: string;
13
+ headerIconClasses?: string;
14
+ filterWrapperClasses?: string;
15
+ filterInputClasses?: string;
16
+ cellClasses?: string;
17
+ rowStaticClasses?: string;
18
+ rowHoveringClasses?: string;
19
+ firstColumnRowClasses?: string;
20
+ intermediateColumnRowClasses?: string;
21
+ lastColumnRowClasses?: string;
22
+ }
23
+ export default function Column<DataType>({ column, data, cellRenderer, index, dragType, tableHasFilters, isFirst, isLast, headerWrapperClasses, headerWrapperSortingClasses, headerIconClasses, filterWrapperClasses, filterInputClasses, cellClasses, rowStaticClasses, rowHoveringClasses, firstColumnRowClasses, intermediateColumnRowClasses, lastColumnRowClasses, filterComponent, hoveredRowIds, onRowHoverEnter, onRowHoverLeave, onRowClick, onRowDoubleClick, onSort, onDragEnd, moveColumn, }: {
24
+ column: TableColumn<DataType>;
25
+ data: DataType[];
26
+ cellRenderer?: {
27
+ [key in keyof DataType]?: (data: DataType) => JSX.Element;
28
+ };
29
+ index: number;
30
+ dragType: string;
31
+ tableHasFilters: boolean;
32
+ headerWrapperClasses?: string;
33
+ headerWrapperSortingClasses?: string;
34
+ headerIconClasses?: string;
35
+ filterWrapperClasses?: string;
36
+ filterInputClasses?: string;
37
+ cellClasses?: string;
38
+ rowStaticClasses?: string;
39
+ firstColumnRowClasses?: string;
40
+ intermediateColumnRowClasses?: string;
41
+ lastColumnRowClasses?: string;
42
+ isFirst: boolean;
43
+ isLast: boolean;
44
+ rowHoveringClasses?: string;
45
+ filterComponent?: JSX.Element;
46
+ hoveredRowIds: number[];
47
+ onRowHoverEnter?: (index: number) => void;
48
+ onRowHoverLeave?: (index: number) => void;
49
+ onRowClick?: (data: DataType) => void;
50
+ onRowDoubleClick?: (data: DataType) => void;
51
+ onSort?: (column: TableColumn<DataType>) => void;
52
+ onDragEnd?: (dragIndex: number, hoverIndex: number) => void;
53
+ moveColumn: (dragIndex: number, hoverIndex: number) => void;
54
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { ExtendedRefs, FloatingContext } from '@floating-ui/react';
2
+ import { TableColumn } from './table';
3
+ export default function ColumnChooser<DataType>({ columns, context, refs, floatingStyles, wrapperClasses, headerClasses, columnsWrapperClasses, entryClasses, visibleColumnClasses, hiddenColumnClasses, columnsLabel, updateColumns, getFloatingProps, }: {
4
+ columns: TableColumn<DataType>[];
5
+ context: FloatingContext;
6
+ refs: ExtendedRefs<unknown>;
7
+ floatingStyles: React.CSSProperties;
8
+ wrapperClasses?: string;
9
+ headerClasses?: string;
10
+ columnsWrapperClasses?: string;
11
+ visibleColumnClasses?: string;
12
+ hiddenColumnClasses?: string;
13
+ entryClasses?: string;
14
+ columnsLabel?: string;
15
+ updateColumns: (column: TableColumn<DataType>) => void;
16
+ getFloatingProps: () => Record<string, unknown>;
17
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ export default function ColumnChooserEntry<DataType>({ title, id, visibleColumns, entryClasses, visibleColumnClasses, hiddenColumnClasses, updateColumns, }: {
2
+ title: string;
3
+ id: keyof DataType;
4
+ entryClasses: string;
5
+ visibleColumnClasses: string;
6
+ hiddenColumnClasses: string;
7
+ visibleColumns: (keyof DataType)[];
8
+ updateColumns: (id: keyof DataType) => void;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ export interface PaginationClasses {
2
+ activeIconClasses: string;
3
+ inactiveIconClasses: string;
4
+ wrapperClasses: string;
5
+ resultsClasses: string;
6
+ resultsTextClasses: string;
7
+ controlClasses: string;
8
+ }
9
+ export default function Pagination({ wrapperClasses, resultsClasses, resultsTextClasses, xToY, }: {
10
+ currentLoaded: number;
11
+ currentTotal: number;
12
+ wrapperClasses?: string;
13
+ resultsClasses?: string;
14
+ resultsTextClasses?: string;
15
+ xToY?: string;
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,60 @@
1
+ import { JSX } from 'react';
2
+ import { ColumnClasses } from './column';
3
+ import { PaginationClasses } from './pagination';
4
+ export interface TableColumn<DataType> {
5
+ id: keyof DataType;
6
+ title: string | JSX.Element;
7
+ initialWidth?: string | number;
8
+ hidden?: boolean;
9
+ sorting?: '+' | '-' | undefined;
10
+ sortKey?: string;
11
+ filterKey?: string;
12
+ onClick?: () => void;
13
+ allowResize?: boolean;
14
+ filterable?: boolean;
15
+ grow?: boolean;
16
+ }
17
+ export default function Table<DataType extends {
18
+ dragRef?: React.RefObject<HTMLDivElement>;
19
+ }>({ noDataClasses, paginationClasses, columnsCenter, columnsRight, columnsLeft, cellRenderer, filters, data, pagination, totalRows, noEntryLabel, allowReorder, onMoveRow, onRowClick, onRowDoubleClick, onScroll, onUpdateFilters, }: {
20
+ wrapperClasses?: string;
21
+ columnsWrapperClasses?: string;
22
+ columnsLeftClasses?: string;
23
+ columnsCenterClasses?: string;
24
+ columnsRightClasses?: string;
25
+ noDataClasses?: string;
26
+ paginationClasses?: PaginationClasses;
27
+ columnClasses?: ColumnClasses;
28
+ columnsCenter: TableColumn<DataType>[];
29
+ columnsRight?: TableColumn<DataType>[];
30
+ columnsLeft?: TableColumn<DataType>[];
31
+ cellRenderer?: {
32
+ [key in keyof DataType]?: (data: DataType & {
33
+ dragRef?: React.RefObject<HTMLDivElement>;
34
+ }) => JSX.Element;
35
+ };
36
+ filterComponent?: {
37
+ [key in keyof DataType]?: (data: DataType) => JSX.Element;
38
+ };
39
+ filters?: Record<string, string>;
40
+ showFilters?: boolean;
41
+ data: DataType[];
42
+ pagination?: boolean;
43
+ totalRows: number;
44
+ noEntryLabel?: string;
45
+ allowReorder?: boolean;
46
+ onMoveRow?: (dragIndex: number, hoverIndex: number) => void;
47
+ onScroll?: (event: React.UIEvent<HTMLDivElement>) => void;
48
+ onFirstPage?: () => void;
49
+ onPreviousPage?: () => void;
50
+ onNextPage?: () => void;
51
+ onLastPage?: () => void;
52
+ toPage?: (page: number) => void;
53
+ onRowClick?: (data: DataType) => void;
54
+ onRowDoubleClick?: (data: DataType) => void;
55
+ onSort?: (column: TableColumn<DataType>) => void;
56
+ onUpdateFilters?: (filters: Record<string, string>) => Promise<void>;
57
+ onUpdateColumnsLeft?: (columns: TableColumn<DataType>[], updateMeta?: boolean) => void;
58
+ onUpdateColumnsCenter?: (columns: TableColumn<DataType>[], updateMeta?: boolean) => void;
59
+ onUpdateColumnsRight?: (columns: TableColumn<DataType>[], updateMeta?: boolean) => void;
60
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export default function TableActions({ children, classes }: {
2
+ children: React.ReactNode;
3
+ classes?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ type TableActionVariant = 'error' | 'success' | 'warning' | 'default';
6
+ export declare function TableActionEntry({ text, variant, onClick, }: {
7
+ text: string;
8
+ variant?: TableActionVariant;
9
+ onClick: () => void;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface DataTypeBase {
2
+ actions: string;
3
+ id: number;
4
+ }
@@ -0,0 +1,28 @@
1
+ import { MouseEvent } from 'react';
2
+ export default function Button({ className, classesBase, classesPrimary, classesSecondary, classesActiveSecondary, classesError, classesAlert, loadingClassesBase, loadingClassesPrimary, loadingClassesSecondary, loadingClassesActiveSecondary, loadingClassesError, loadingClassesAlert, iconLeftClasses, iconRightClasses, type, variant, label, loading, disabled, iconLeftPath, iconLeftName, iconRightPath, iconRightName, onClick, }: {
3
+ classesBase?: string;
4
+ classesPrimary?: string;
5
+ classesSecondary?: string;
6
+ classesActiveSecondary?: string;
7
+ classesError?: string;
8
+ classesAlert?: string;
9
+ loadingClassesBase?: string;
10
+ loadingClassesPrimary?: string;
11
+ loadingClassesSecondary?: string;
12
+ loadingClassesActiveSecondary?: string;
13
+ loadingClassesError?: string;
14
+ loadingClassesAlert?: string;
15
+ iconLeftClasses?: string;
16
+ iconRightClasses?: string;
17
+ disabled?: boolean;
18
+ className?: string;
19
+ type?: 'button' | 'submit' | 'reset';
20
+ variant: 'primary' | 'secondary' | 'error' | 'alert' | 'active-secondary';
21
+ label: string;
22
+ loading?: boolean;
23
+ iconLeftPath?: string;
24
+ iconLeftName?: string;
25
+ iconRightPath?: string;
26
+ iconRightName?: string;
27
+ onClick?: (e: MouseEvent) => Promise<void> | void;
28
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { HTMLProps, SVGProps } from 'react';
2
+ export default function Icon({ path, name, ...props }: (HTMLProps<HTMLElement> | SVGProps<SVGSVGElement>) & {
3
+ name?: string;
4
+ path?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export default function LoadingIndicator({ className }: {
2
+ className: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { default as Button } from './button';
2
+ export default function Modal({ backdropClasses, contentClasses, headerWrapperClasses, footerWrapperClasses, footerLeftClasses, footerRightClasses, titleClasses, closeWrapperClasses, iconClasses, children, headerContent, footerContent, title, footerActions, hasCloseIcon, onClose, }: {
3
+ backdropClasses?: string;
4
+ contentClasses?: string;
5
+ headerWrapperClasses?: string;
6
+ footerWrapperClasses?: string;
7
+ footerLeftClasses?: string;
8
+ footerRightClasses?: string;
9
+ titleClasses?: string;
10
+ closeWrapperClasses?: string;
11
+ iconClasses?: string;
12
+ children: React.ReactNode;
13
+ headerContent?: React.ReactNode;
14
+ footerContent?: React.ReactNode;
15
+ title?: string;
16
+ footerActions?: (React.ComponentProps<typeof Button> & {
17
+ position: 'left' | 'right';
18
+ })[];
19
+ hasCloseIcon?: boolean;
20
+ onClose: () => void;
21
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ interface Tab<DataType> {
2
+ id: DataType;
3
+ label: string;
4
+ count: number;
5
+ }
6
+ export default function Tabs<DataType>({ wrapperClasses, tabActiveClasses, tabInactiveClasses, countActiveClasses, countInactiveClasses, tabBaseClasses, countBaseClasses, activeMarkerClass, showCounts, tabs, active, onClick, }: {
7
+ wrapperClasses?: string;
8
+ tabActiveClasses?: string;
9
+ tabInactiveClasses?: string;
10
+ countActiveClasses?: string;
11
+ countInactiveClasses?: string;
12
+ tabBaseClasses?: string;
13
+ countBaseClasses?: string;
14
+ activeMarkerClass?: string;
15
+ showCounts?: boolean;
16
+ tabs: Tab<DataType>[];
17
+ active: DataType;
18
+ onClick: (tab: DataType) => void;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,14 @@
1
+ export default function Tag({ wrapperClasses, titleClasses, iconLeftClasses, iconRightClasses, iconLeftPath, iconLeftName, iconRightPath, iconRightName, title, onClick, onClickIconLeft, onClickIconRight, }: {
2
+ wrapperClasses?: string;
3
+ titleClasses?: string;
4
+ iconLeftClasses?: string;
5
+ iconRightClasses?: string;
6
+ iconLeftPath?: string;
7
+ iconLeftName?: string;
8
+ iconRightPath?: string;
9
+ iconRightName?: string;
10
+ title: string;
11
+ onClick?: () => void;
12
+ onClickIconLeft?: () => void;
13
+ onClickIconRight?: () => void;
14
+ }): import("react/jsx-runtime").JSX.Element;