@eml-payments/ui-kit 0.1.6 → 0.1.8

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 (163) hide show
  1. package/README.md +149 -3
  2. package/dist/src/components/Button/Button.d.ts +3 -0
  3. package/dist/src/components/Button/Button.js +11 -0
  4. package/dist/{components → src/components}/Button/Button.types.d.ts +1 -1
  5. package/dist/{components/Button/Button.d.ts → src/components/Button/ButtonVariants.d.ts} +0 -3
  6. package/dist/{components/Button/Button.js → src/components/Button/ButtonVariants.js} +0 -9
  7. package/dist/{components → src/components}/Checkbox/Checkbox.d.ts +1 -1
  8. package/dist/{components → src/components}/Checkbox/Checkbox.js +1 -3
  9. package/dist/{components → src/components}/Checkbox/Checkbox.types.d.ts +2 -2
  10. package/dist/{components → src/components}/Divider/Divider.d.ts +1 -1
  11. package/dist/{components → src/components}/Ellipsis/Ellipsis.d.ts +1 -1
  12. package/dist/{components → src/components}/Ellipsis/Ellipsis.functions.js +2 -1
  13. package/dist/{components → src/components}/Input/Input.d.ts +1 -1
  14. package/dist/{components → src/components}/Input/Input.js +2 -1
  15. package/dist/{components → src/components}/Input/Input.types.d.ts +1 -1
  16. package/dist/{components → src/components}/Label/Label.types.d.ts +2 -1
  17. package/dist/src/components/Pills/Pills.d.ts +2 -0
  18. package/dist/src/components/Pills/Pills.js +31 -0
  19. package/dist/src/components/Pills/Pills.stories.d.ts +14 -0
  20. package/dist/src/components/Pills/Pills.stories.js +76 -0
  21. package/dist/src/components/Pills/Pills.types.d.ts +9 -0
  22. package/dist/src/components/Pills/index.d.ts +2 -0
  23. package/dist/src/components/Pills/index.js +2 -0
  24. package/dist/{components → src/components}/RadioGroup/RadioGroup.js +1 -1
  25. package/dist/src/components/RadioGroup/RadioGroup.types.d.ts +5 -0
  26. package/dist/src/components/Select/Select.d.ts +14 -0
  27. package/dist/src/components/Select/Select.js +25 -0
  28. package/dist/src/components/Select/Select.stories.d.ts +10 -0
  29. package/dist/src/components/Select/Select.stories.js +33 -0
  30. package/dist/src/components/Select/Select.types.d.ts +11 -0
  31. package/dist/src/components/Select/index.d.ts +2 -0
  32. package/dist/src/components/Select/index.js +2 -0
  33. package/dist/src/components/SelectWrapper/SelectWrapper.d.ts +2 -0
  34. package/dist/src/components/SelectWrapper/SelectWrapper.js +8 -0
  35. package/dist/src/components/SelectWrapper/SelectWrapper.stories.d.ts +12 -0
  36. package/dist/src/components/SelectWrapper/SelectWrapper.stories.js +83 -0
  37. package/dist/src/components/SelectWrapper/SelectWrapper.types.d.ts +15 -0
  38. package/dist/src/components/SelectWrapper/index.d.ts +2 -0
  39. package/dist/src/components/SelectWrapper/index.js +2 -0
  40. package/dist/src/components/SelectWrapper/select.d.ts +13 -0
  41. package/dist/src/components/SelectWrapper/select.js +25 -0
  42. package/dist/{components → src/components}/Switch/Switch.d.ts +1 -1
  43. package/dist/{components → src/components}/Switch/Switch.js +15 -15
  44. package/dist/{components → src/components}/Switch/Switch.types.d.ts +2 -2
  45. package/dist/src/components/Table/Pagination/PaginationControls.d.ts +2 -0
  46. package/dist/src/components/Table/Pagination/PaginationControls.js +11 -0
  47. package/dist/src/components/Table/Pagination/PaginationControls.types.d.ts +9 -0
  48. package/dist/src/components/Table/Pagination/PaginationControls.types.js +1 -0
  49. package/dist/src/components/Table/Pagination/index.d.ts +2 -0
  50. package/dist/src/components/Table/Pagination/index.js +2 -0
  51. package/dist/src/components/Table/Table.d.ts +4 -0
  52. package/dist/src/components/Table/Table.js +32 -0
  53. package/dist/src/components/Table/Table.stories.d.ts +20 -0
  54. package/dist/src/components/Table/Table.stories.js +75 -0
  55. package/dist/src/components/Table/Table.types.d.ts +22 -0
  56. package/dist/src/components/Table/Table.types.js +1 -0
  57. package/dist/src/components/Table/hooks/useTableController.d.ts +13 -0
  58. package/dist/src/components/Table/hooks/useTableController.js +69 -0
  59. package/dist/src/components/Table/table.helpers.d.ts +4 -0
  60. package/dist/src/components/Table/table.helpers.js +24 -0
  61. package/dist/{components → src/components}/Tooltip/Tooltip.stories.d.ts +2 -2
  62. package/dist/{components → src/components}/Tooltip/Tooltip.types.d.ts +1 -1
  63. package/dist/src/components/Tooltip/Tooltip.types.js +1 -0
  64. package/dist/src/components/index.d.ts +10 -0
  65. package/dist/src/components/index.js +10 -0
  66. package/dist/src/config/defaultTheme.d.ts +2 -0
  67. package/dist/{config → src/config}/uikitConfig.d.ts +1 -1
  68. package/dist/src/config/uikitConfig.js +1 -0
  69. package/dist/{context → src/context}/UIKitContext.d.ts +1 -1
  70. package/dist/src/context/UIKitProvider.d.ts +5 -0
  71. package/dist/{context → src/context}/UIKitProvider.js +8 -4
  72. package/dist/{index.d.ts → src/index.d.ts} +1 -3
  73. package/dist/{index.js → src/index.js} +1 -3
  74. package/dist/src/lib/utils.d.ts +2 -0
  75. package/dist/src/lib/utils.js +5 -0
  76. package/package.json +23 -4
  77. package/dist/components/RadioGroup/RadioGroup.types.d.ts +0 -5
  78. package/dist/components/Table/Table.d.ts +0 -36
  79. package/dist/components/Table/Table.js +0 -120
  80. package/dist/components/Table/Table.stories.d.ts +0 -9
  81. package/dist/components/Table/Table.stories.js +0 -19
  82. package/dist/components/Table/Table.types.d.ts +0 -4
  83. package/dist/config/defaultTheme.d.ts +0 -2
  84. package/dist/context/UIKitProvider.d.ts +0 -5
  85. package/dist/index.css +0 -1
  86. package/dist/stories/Header.stories.d.ts +0 -18
  87. package/dist/stories/Header.stories.js +0 -26
  88. package/dist/stories/Page.stories.d.ts +0 -12
  89. package/dist/stories/Page.stories.js +0 -24
  90. /package/dist/{components → src/components}/Button/Button.stories.d.ts +0 -0
  91. /package/dist/{components → src/components}/Button/Button.stories.js +0 -0
  92. /package/dist/{components → src/components}/Button/Button.types.js +0 -0
  93. /package/dist/{components → src/components}/Button/index.d.ts +0 -0
  94. /package/dist/{components → src/components}/Button/index.js +0 -0
  95. /package/dist/{components → src/components}/Checkbox/Checkbox.stories.d.ts +0 -0
  96. /package/dist/{components → src/components}/Checkbox/Checkbox.stories.js +0 -0
  97. /package/dist/{components → src/components}/Checkbox/Checkbox.types.js +0 -0
  98. /package/dist/{components → src/components}/Checkbox/index.d.ts +0 -0
  99. /package/dist/{components → src/components}/Checkbox/index.js +0 -0
  100. /package/dist/{components → src/components}/Divider/Divider.js +0 -0
  101. /package/dist/{components → src/components}/Divider/Divider.stories.d.ts +0 -0
  102. /package/dist/{components → src/components}/Divider/Divider.stories.js +0 -0
  103. /package/dist/{components → src/components}/Divider/Divider.types.d.ts +0 -0
  104. /package/dist/{components → src/components}/Divider/Divider.types.js +0 -0
  105. /package/dist/{components → src/components}/Divider/index.d.ts +0 -0
  106. /package/dist/{components → src/components}/Divider/index.js +0 -0
  107. /package/dist/{components → src/components}/Ellipsis/Ellipsis.functions.d.ts +0 -0
  108. /package/dist/{components → src/components}/Ellipsis/Ellipsis.js +0 -0
  109. /package/dist/{components → src/components}/Ellipsis/Ellipsis.stories.d.ts +0 -0
  110. /package/dist/{components → src/components}/Ellipsis/Ellipsis.stories.js +0 -0
  111. /package/dist/{components → src/components}/Ellipsis/Ellipsis.types.d.ts +0 -0
  112. /package/dist/{components → src/components}/Ellipsis/Ellipsis.types.js +0 -0
  113. /package/dist/{components → src/components}/Ellipsis/index.d.ts +0 -0
  114. /package/dist/{components → src/components}/Ellipsis/index.js +0 -0
  115. /package/dist/{components → src/components}/Input/Input.stories.d.ts +0 -0
  116. /package/dist/{components → src/components}/Input/Input.stories.js +0 -0
  117. /package/dist/{components → src/components}/Input/Input.types.js +0 -0
  118. /package/dist/{components → src/components}/Input/index.d.ts +0 -0
  119. /package/dist/{components → src/components}/Input/index.js +0 -0
  120. /package/dist/{components → src/components}/Label/Label.d.ts +0 -0
  121. /package/dist/{components → src/components}/Label/Label.js +0 -0
  122. /package/dist/{components → src/components}/Label/Label.stories.d.ts +0 -0
  123. /package/dist/{components → src/components}/Label/Label.stories.js +0 -0
  124. /package/dist/{components → src/components}/Label/Label.types.js +0 -0
  125. /package/dist/{components → src/components}/Label/index.d.ts +0 -0
  126. /package/dist/{components → src/components}/Label/index.js +0 -0
  127. /package/dist/{components/RadioGroup/RadioGroup.types.js → src/components/Pills/Pills.types.js} +0 -0
  128. /package/dist/{components → src/components}/RadioGroup/RadioGroup.d.ts +0 -0
  129. /package/dist/{components → src/components}/RadioGroup/RadioGroup.stories.d.ts +0 -0
  130. /package/dist/{components → src/components}/RadioGroup/RadioGroup.stories.js +0 -0
  131. /package/dist/{components/Switch/Switch.types.js → src/components/RadioGroup/RadioGroup.types.js} +0 -0
  132. /package/dist/{components → src/components}/RadioGroup/index.d.ts +0 -0
  133. /package/dist/{components → src/components}/RadioGroup/index.js +0 -0
  134. /package/dist/{components/Table/Table.types.js → src/components/Select/Select.types.js} +0 -0
  135. /package/dist/{components/Tooltip/Tooltip.types.js → src/components/SelectWrapper/SelectWrapper.types.js} +0 -0
  136. /package/dist/{components → src/components}/Switch/Switch.stories.d.ts +0 -0
  137. /package/dist/{components → src/components}/Switch/Switch.stories.js +0 -0
  138. /package/dist/{config/uikitConfig.js → src/components/Switch/Switch.types.js} +0 -0
  139. /package/dist/{components → src/components}/Switch/index.d.ts +0 -0
  140. /package/dist/{components → src/components}/Switch/index.js +0 -0
  141. /package/dist/{components → src/components}/Table/index.d.ts +0 -0
  142. /package/dist/{components → src/components}/Table/index.js +0 -0
  143. /package/dist/{components → src/components}/Tooltip/Tooltip.d.ts +0 -0
  144. /package/dist/{components → src/components}/Tooltip/Tooltip.js +0 -0
  145. /package/dist/{components → src/components}/Tooltip/Tooltip.stories.js +0 -0
  146. /package/dist/{components → src/components}/Tooltip/index.d.ts +0 -0
  147. /package/dist/{components → src/components}/Tooltip/index.js +0 -0
  148. /package/dist/{config → src/config}/defaultTheme.js +0 -0
  149. /package/dist/{config → src/config}/index.d.ts +0 -0
  150. /package/dist/{config → src/config}/index.js +0 -0
  151. /package/dist/{context → src/context}/UIKitContext.js +0 -0
  152. /package/dist/{context → src/context}/useUIKitTheme.d.ts +0 -0
  153. /package/dist/{context → src/context}/useUIKitTheme.js +0 -0
  154. /package/dist/{hooks → src/hooks}/useToggle.d.ts +0 -0
  155. /package/dist/{hooks → src/hooks}/useToggle.js +0 -0
  156. /package/dist/{stories → src/stories}/Header.d.ts +0 -0
  157. /package/dist/{stories → src/stories}/Header.js +0 -0
  158. /package/dist/{stories → src/stories}/Page.d.ts +0 -0
  159. /package/dist/{stories → src/stories}/Page.js +0 -0
  160. /package/dist/{types → src/types}/index.d.ts +0 -0
  161. /package/dist/{types → src/types}/index.js +0 -0
  162. /package/dist/{utils → src/utils}/classNames.d.ts +0 -0
  163. /package/dist/{utils → src/utils}/classNames.js +0 -0
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { SelectWrapper } from './SelectWrapper';
4
+ const meta = {
5
+ title: 'UIKit/SelectWrapper',
6
+ component: SelectWrapper,
7
+ tags: ['autodocs'],
8
+ args: {
9
+ options: [
10
+ { label: 'Option 1', value: 'option1' },
11
+ { label: 'Option 2', value: 'option2' },
12
+ { label: 'Option 3', value: 'option3' },
13
+ ],
14
+ value: '',
15
+ onChange: (value) => console.log(value),
16
+ placeholder: 'Select an option...',
17
+ size: 'default',
18
+ disabled: false,
19
+ error: false,
20
+ className: '',
21
+ },
22
+ };
23
+ export default meta;
24
+ export const Default = {
25
+ render: (args) => {
26
+ const [value, setValue] = React.useState(args.value);
27
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
28
+ },
29
+ };
30
+ export const WithValue = {
31
+ args: {
32
+ value: 'option2',
33
+ },
34
+ render: (args) => {
35
+ const [value, setValue] = React.useState(args.value);
36
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
37
+ },
38
+ };
39
+ export const Disabled = {
40
+ args: {
41
+ disabled: true,
42
+ },
43
+ render: (args) => {
44
+ const [value, setValue] = React.useState(args.value);
45
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
46
+ },
47
+ };
48
+ export const Error = {
49
+ args: {
50
+ error: true,
51
+ },
52
+ render: (args) => {
53
+ const [value, setValue] = React.useState(args.value);
54
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
55
+ },
56
+ };
57
+ export const WithLabel = {
58
+ args: {
59
+ label: 'Select an option',
60
+ },
61
+ render: (args) => {
62
+ const [value, setValue] = React.useState(args.value);
63
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
64
+ },
65
+ };
66
+ export const WithPlaceholder = {
67
+ args: {
68
+ placeholder: 'Select an option...',
69
+ },
70
+ render: (args) => {
71
+ const [value, setValue] = React.useState(args.value);
72
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
73
+ },
74
+ };
75
+ export const WithSize = {
76
+ args: {
77
+ size: 'small',
78
+ },
79
+ render: (args) => {
80
+ const [value, setValue] = React.useState(args.value);
81
+ return _jsx(SelectWrapper, { ...args, value: value, onChange: setValue });
82
+ },
83
+ };
@@ -0,0 +1,15 @@
1
+ export interface SelectWrapperOptions {
2
+ label: string;
3
+ value: string;
4
+ }
5
+ export interface SelectWrapperProps {
6
+ label?: string;
7
+ options: SelectWrapperOptions[];
8
+ value: string;
9
+ onChange: (value: string) => void;
10
+ size?: 'small' | 'default';
11
+ disabled?: boolean;
12
+ error?: boolean;
13
+ placeholder?: string;
14
+ className?: string;
15
+ }
@@ -0,0 +1,2 @@
1
+ export * from './SelectWrapper';
2
+ export * from './SelectWrapper.types';
@@ -0,0 +1,2 @@
1
+ export * from './SelectWrapper';
2
+ export * from './SelectWrapper.types';
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import * as SelectPrimitive from '@radix-ui/react-select';
3
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as SelectPrimitive from '@radix-ui/react-select';
4
+ import { Check, ChevronDown, ChevronUp } from 'lucide-react';
5
+ import { cn } from '../../../lib/utils';
6
+ const Select = SelectPrimitive.Root;
7
+ const SelectGroup = SelectPrimitive.Group;
8
+ const SelectValue = SelectPrimitive.Value;
9
+ const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn('flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
10
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
11
+ const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronUp, { className: "h-4 w-4" }) })));
12
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
13
+ const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronDown, { className: "h-4 w-4" }) })));
14
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
15
+ const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: cn('relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]', position === 'popper' &&
16
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn('p-1', position === 'popper' &&
17
+ 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'), children: children }), _jsx(SelectScrollDownButton, {})] }) })));
18
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
19
+ const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', className), ...props })));
20
+ SelectLabel.displayName = SelectPrimitive.Label.displayName;
21
+ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
22
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
23
+ const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-muted', className), ...props })));
24
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
25
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import * as SwitchPrimitives from '@radix-ui/react-switch';
3
- import { SwitchProps } from './Switch.types';
3
+ import type { SwitchProps } from './Switch.types';
4
4
  declare const Switch: React.ForwardRefExoticComponent<Omit<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & SwitchProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
5
5
  export { Switch };
@@ -3,20 +3,20 @@ import * as React from 'react';
3
3
  import * as SwitchPrimitives from '@radix-ui/react-switch';
4
4
  import { cn } from '../../lib/utils';
5
5
  import { Label } from '../Label/Label';
6
- const sizeClasses = {
7
- sm: {
8
- root: 'h-4 w-8',
9
- thumb: 'h-3 w-3 data-[state=checked]:translate-x-4',
10
- },
11
- md: {
12
- root: 'h-6 w-11',
13
- thumb: 'h-4 w-4 data-[state=checked]:translate-x-5',
14
- },
15
- lg: {
16
- root: 'h-7 w-14',
17
- thumb: 'h-5 w-5 data-[state=checked]:translate-x-7',
18
- },
19
- };
6
+ // const sizeClasses = {
7
+ // sm: {
8
+ // root: 'h-4 w-8',
9
+ // thumb: 'h-3 w-3 data-[state=checked]:translate-x-4',
10
+ // },
11
+ // md: {
12
+ // root: 'h-6 w-11',
13
+ // thumb: 'h-4 w-4 data-[state=checked]:translate-x-5',
14
+ // },
15
+ // lg: {
16
+ // root: 'h-7 w-14',
17
+ // thumb: 'h-5 w-5 data-[state=checked]:translate-x-7',
18
+ // },
19
+ // };
20
20
  const Switch = React.forwardRef(({ className, label, labelPosition = 'left', ...props }, ref) => {
21
21
  // Define the position classes for label placement
22
22
  const positionClasses = {
@@ -29,7 +29,7 @@ const Switch = React.forwardRef(({ className, label, labelPosition = 'left', ...
29
29
  const wrapperClass = cn('inline-flex items-center gap-2', positionClasses[labelPosition]);
30
30
  return (_jsxs("div", { className: wrapperClass, children: [label && (_jsx(Label, { htmlFor: props.id, className: cn('text-sm font-medium cursor-pointer', {
31
31
  'cursor-not-allowed opacity-70': props.disabled,
32
- }), children: label })), _jsx(SwitchPrimitives.Root, { className: cn('peer inline-flex h-[24px] w-[42px] shrink-0 cursor-pointer items-center rounded-full border-2 border-black shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 bg-transparent', className), ...props, ref: ref, children: _jsx(SwitchPrimitives.Thumb, { className: cn('pointer-events-none block h-[15px] w-[15px] rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[20px] data-[state=checked]:bg-[var(--uikit-primary)] data-[state=unchecked]:translate-x-[2px] data-[state=unchecked]:bg-black') }) })] }));
32
+ }), children: label })), _jsx(SwitchPrimitives.Root, { className: cn('peer inline-flex h-[22px] w-[40px] shrink-0 cursor-pointer items-center rounded-full border-[3px] border-black transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 bg-transparent', className), ...props, ref: ref, children: _jsx(SwitchPrimitives.Thumb, { className: cn('pointer-events-none block h-[12px] w-[12px] rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[21px] data-[state=checked]:bg-[var(--uikit-primary)] data-[state=unchecked]:translate-x-[2px] data-[state=unchecked]:bg-black') }) })] }));
33
33
  });
34
34
  Switch.displayName = SwitchPrimitives.Root.displayName;
35
35
  export { Switch };
@@ -1,5 +1,5 @@
1
- import { ComponentProps } from 'react';
2
- import { Switch as ShadCNSwitch } from '@radix-ui/react-switch';
1
+ import type { ComponentProps } from 'react';
2
+ import type { Switch as ShadCNSwitch } from '@radix-ui/react-switch';
3
3
  export interface SwitchProps extends ComponentProps<typeof ShadCNSwitch> {
4
4
  label?: string;
5
5
  labelPosition?: 'left' | 'right' | 'top' | 'bottom';
@@ -0,0 +1,2 @@
1
+ import type { PaginationControlsProps } from './PaginationControls.types';
2
+ export declare const PaginationControls: <T>({ tableId, table, paginationMode, pageCount, pageSizeOptions, onPageSizeChange, }: PaginationControlsProps<T>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../../Button';
3
+ export const PaginationControls = ({ tableId, table, paginationMode = 'client', pageCount, pageSizeOptions = [5, 10, 20, 50, 100], onPageSizeChange, }) => {
4
+ const { pageIndex, pageSize } = table.getState().pagination;
5
+ const totalPages = paginationMode === 'server' ? (pageCount !== null && pageCount !== void 0 ? pageCount : 0) : table.getPageCount();
6
+ return (_jsxs("div", { className: "flex items-center justify-between px-4 py-2 text-sm w-full", children: [_jsxs("div", { className: "w-1/3 flex items-center gap-2", children: [_jsx("label", { htmlFor: `page-size-select-${tableId}`, className: "text-muted-foreground", children: "Rows per page:" }), _jsx("select", { id: "pageSize", value: pageSize, onChange: (e) => {
7
+ const newSize = Number(e.target.value);
8
+ table.setPageSize(newSize);
9
+ onPageSizeChange === null || onPageSizeChange === void 0 ? void 0 : onPageSizeChange(newSize);
10
+ }, className: "bg-muted px-2 py-1 rounded text-sm", children: pageSizeOptions.map((size) => (_jsx("option", { value: size, children: size }, size))) })] }), _jsxs("div", { className: "w-1/3 flex justify-center gap-3", children: [_jsx(Button, { variant: "secondary", onClick: () => table.previousPage(), disabled: !table.getCanPreviousPage(), className: "px-3 py-1 bg-muted rounded", children: "Previous" }), _jsx(Button, { variant: "secondary", onClick: () => table.nextPage(), disabled: !table.getCanNextPage(), className: "px-3 py-1 bg-muted rounded", children: "Next" })] }), _jsxs("div", { className: "w-1/3 flex justify-end text-muted-foreground", children: ["Page ", pageIndex + 1, " of ", totalPages] })] }));
11
+ };
@@ -0,0 +1,9 @@
1
+ import type { Table } from '@tanstack/react-table';
2
+ export interface PaginationControlsProps<T> {
3
+ tableId: string;
4
+ table: Table<T>;
5
+ paginationMode?: 'client' | 'server';
6
+ pageCount?: number;
7
+ pageSizeOptions?: number[];
8
+ onPageSizeChange?: (size: number) => void;
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from './PaginationControls';
2
+ export * from './PaginationControls.types';
@@ -0,0 +1,2 @@
1
+ export * from './PaginationControls';
2
+ export * from './PaginationControls.types';
@@ -0,0 +1,4 @@
1
+ import type { TableProps } from './Table.types';
2
+ export declare function Table<T extends {
3
+ id: string;
4
+ }>(props: TableProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { flexRender } from '@tanstack/react-table';
3
+ import { classNames } from '../../utils/classNames';
4
+ import { PaginationControls } from './Pagination/PaginationControls';
5
+ import { useTableController } from './hooks/useTableController';
6
+ export function Table(props) {
7
+ var _a;
8
+ const { table, setPageSize } = useTableController(props);
9
+ let tableContent;
10
+ if (props.isLoading && props.showSkeletonRows) {
11
+ tableContent = Array.from({ length: 3 }).map((_c) => (_jsx("tr", { className: "border-t animate-pulse", children: table.getVisibleFlatColumns().map((__c) => (_jsx("td", { className: "px-4 py-2", children: _jsx("div", { className: "h-4 w-3/4 bg-[var(--uikit-tertiary)] rounded" }) }, `skeleton-cell-${__c.id}`))) }, `skeleton-row`)));
12
+ }
13
+ else if (table.getRowModel().rows.length === 0) {
14
+ tableContent = (_jsx("tr", { children: _jsx("td", { colSpan: table.getVisibleFlatColumns().length, className: "px-4 py-8 text-center text-muted-foreground", children: (_a = props.noRowsMessage) !== null && _a !== void 0 ? _a : 'No rows to display' }) }));
15
+ }
16
+ else {
17
+ tableContent = table.getRowModel().rows.map((row) => (_jsx("tr", { className: classNames('border-t hover:bg-[var(--hover-bg-color)]', row.getIsSelected() && 'bg-[var(--hover-bg-color)]'), children: row.getVisibleCells().map((cell) => {
18
+ const width = cell.column.getSize();
19
+ return (_jsx("td", { style: { width }, className: "px-4 py-2", children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
20
+ }) }, row.id)));
21
+ }
22
+ return (_jsxs("div", { className: "relative w-full overflow-auto", children: [props.isLoading && _jsx("div", { className: "mui-loader" }), _jsxs("table", { className: classNames('min-w-full border rounded text-sm table-fixed', props.className), role: "table", children: [_jsx("thead", { className: "bg-[var(--uikit-tertiary)]", children: table.getHeaderGroups().map((headerGroup) => (_jsx("tr", { children: headerGroup.headers.map((header) => {
23
+ return (_jsx("th", { style: { width: header.getSize() }, className: classNames('select-none', header.column.id === 'select' ? 'p-0' : 'px-4 py-2 text-left cursor-pointer'), onClick: header.column.getCanSort()
24
+ ? header.column.getToggleSortingHandler()
25
+ : undefined, children: _jsxs("div", { className: classNames('w-full h-full', header.column.id === 'select'
26
+ ? 'flex justify-center items-center'
27
+ : 'flex items-center gap-2'), children: [flexRender(header.column.columnDef.header, header.getContext()), header.column.getCanSort() && (_jsx("span", { className: "text-xs", children: {
28
+ asc: '↑',
29
+ desc: '↓',
30
+ }[header.column.getIsSorted()] || null }))] }) }, header.id));
31
+ }) }, headerGroup.id))) }), _jsx("tbody", { children: tableContent })] }), table.getRowModel().rows.length > 0 && (_jsx(PaginationControls, { tableId: props.id, table: table, paginationMode: props.paginationMode, pageCount: props.pageCount, onPageSizeChange: setPageSize }))] }));
32
+ }
@@ -0,0 +1,20 @@
1
+ import { Table } from './Table';
2
+ import type { FlexColumnDef } from './Table.types';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ type User = {
5
+ id: string;
6
+ name: string;
7
+ email: string;
8
+ role: string;
9
+ };
10
+ export declare const columns: FlexColumnDef<User>[];
11
+ declare const meta: Meta<typeof Table>;
12
+ export default meta;
13
+ type Story = StoryObj<typeof Table>;
14
+ export declare const Basic: Story;
15
+ export declare const NoRows: Story;
16
+ export declare const LoadingWithSkeleton: Story;
17
+ export declare const ClientPagination: Story;
18
+ export declare const WithCheckboxSelection: Story;
19
+ export declare const FlexColumnWidths: Story;
20
+ export declare const WithControlledSorting: Story;
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Table } from './Table';
4
+ const data = Array.from({ length: 10 }).map((_, i) => ({
5
+ id: `user-${i + 1}`,
6
+ name: `User ${i + 1}`,
7
+ email: `user${i + 1}@example.com`,
8
+ role: i % 2 === 0 ? 'Admin' : 'User',
9
+ }));
10
+ export const columns = [
11
+ {
12
+ accessorKey: 'id',
13
+ header: 'ID',
14
+ flex: 1,
15
+ },
16
+ {
17
+ accessorKey: 'name',
18
+ header: 'Name',
19
+ flex: 1,
20
+ },
21
+ {
22
+ accessorKey: 'email',
23
+ header: 'Email',
24
+ cell: ({ row }) => (_jsx("a", { href: `mailto:${row.original.email}`, className: "text-blue-600 underline", children: row.original.email })),
25
+ flex: 1,
26
+ },
27
+ {
28
+ accessorKey: 'role',
29
+ header: 'Role',
30
+ cell: ({ row }) => {
31
+ const role = row.original.role;
32
+ return _jsx("span", { className: role === 'Admin' ? 'text-red-500 font-bold' : '', children: role });
33
+ },
34
+ flex: 1,
35
+ },
36
+ ];
37
+ const meta = {
38
+ title: 'UIKit/Table',
39
+ component: Table,
40
+ tags: ['autodocs'],
41
+ render: () => _jsx(Table, { id: "example-table", data: data !== null && data !== void 0 ? data : [], columns: columns }),
42
+ };
43
+ export default meta;
44
+ export const Basic = {
45
+ render: () => _jsx(Table, { id: "example-table", data: data !== null && data !== void 0 ? data : [], columns: columns }),
46
+ };
47
+ export const NoRows = {
48
+ render: () => _jsx(Table, { id: "example-table", data: [], columns: columns }),
49
+ };
50
+ export const LoadingWithSkeleton = {
51
+ render: () => _jsx(Table, { id: "example-table", data: [], columns: columns, isLoading: true, showSkeletonRows: true, rowsPerPage: 5 }),
52
+ };
53
+ export const ClientPagination = {
54
+ render: () => _jsx(Table, { id: "example-table", data: data, columns: columns, paginationMode: "client", rowsPerPage: 5 }),
55
+ };
56
+ export const WithCheckboxSelection = {
57
+ render: () => (_jsx(Table, { id: "example-table", data: data, columns: columns, checkboxSelection: true, checkboxPosition: "start", paginationMode: "client" })),
58
+ };
59
+ export const FlexColumnWidths = {
60
+ render: () => {
61
+ const testColumns = [
62
+ { accessorKey: 'id', header: 'ID', flex: 1 },
63
+ { accessorKey: 'name', header: 'Name', flex: 2 },
64
+ { accessorKey: 'email', header: 'Email', flex: 3 },
65
+ { accessorKey: 'role', header: 'Role', flex: 1 },
66
+ ];
67
+ return (_jsx(Table, { id: "example-table", data: data, columns: testColumns, paginationMode: "client", checkboxSelection: false, rowsPerPage: 5 }));
68
+ },
69
+ };
70
+ export const WithControlledSorting = {
71
+ render: () => {
72
+ const [sorting, setSorting] = useState([{ id: 'name', desc: true }]);
73
+ return (_jsx(Table, { id: "example-table", data: data, columns: columns, checkboxSelection: true, paginationMode: "client", sorting: sorting, onSortingChange: setSorting, rowsPerPage: 5 }));
74
+ },
75
+ };
@@ -0,0 +1,22 @@
1
+ import type { ColumnDef, SortingState } from '@tanstack/react-table';
2
+ export type FlexColumnDef<T> = ColumnDef<T> & {
3
+ flex?: number;
4
+ };
5
+ export interface TableProps<T extends {
6
+ id: string;
7
+ }> {
8
+ id: string;
9
+ data: T[];
10
+ columns: FlexColumnDef<T>[];
11
+ className?: string;
12
+ isLoading?: boolean;
13
+ showSkeletonRows?: boolean;
14
+ checkboxSelection?: boolean;
15
+ checkboxPosition?: 'start' | 'end';
16
+ sorting?: SortingState;
17
+ onSortingChange?: (s: SortingState) => void;
18
+ pageCount?: number;
19
+ paginationMode?: 'client' | 'server';
20
+ noRowsMessage?: string;
21
+ rowsPerPage?: number;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type SortingState } from '@tanstack/react-table';
2
+ import type { TableProps } from '../Table.types';
3
+ export declare function useTableController<T extends {
4
+ id: string;
5
+ }>({ data, columns, checkboxSelection, checkboxPosition, paginationMode, pageCount, sorting, onSortingChange, rowsPerPage, }: TableProps<T>): {
6
+ table: import("@tanstack/react-table").Table<T>;
7
+ pageSize: number;
8
+ pageIndex: number;
9
+ setPageSize: import("react").Dispatch<import("react").SetStateAction<number>>;
10
+ setPageIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
11
+ rowSelection: {};
12
+ sorting: SortingState;
13
+ };
@@ -0,0 +1,69 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { useReactTable, getCoreRowModel, getSortedRowModel, getPaginationRowModel, } from '@tanstack/react-table';
3
+ import { applyFlexSizes, getCheckboxSelectionColumn } from '../table.helpers';
4
+ export function useTableController({ data, columns, checkboxSelection, checkboxPosition = 'end', paginationMode = 'client', pageCount, sorting, onSortingChange, rowsPerPage = 10, }) {
5
+ const safeData = Array.isArray(data) ? data : [];
6
+ const [tableColumns, setTableColumns] = useState(() => applyFlexSizes(columns !== null && columns !== void 0 ? columns : []));
7
+ const [rowSelection, setRowSelection] = useState({});
8
+ const [internalSorting, setInternalSorting] = useState(sorting !== null && sorting !== void 0 ? sorting : []);
9
+ const [pageIndex, setPageIndex] = useState(0);
10
+ const [pageSize, setPageSize] = useState(rowsPerPage !== null && rowsPerPage !== void 0 ? rowsPerPage : 10);
11
+ const table = useReactTable({
12
+ data: safeData,
13
+ columns: tableColumns,
14
+ getRowId: (row) => row.id,
15
+ state: {
16
+ pagination: { pageSize, pageIndex },
17
+ rowSelection,
18
+ sorting: sorting !== null && sorting !== void 0 ? sorting : internalSorting,
19
+ },
20
+ onRowSelectionChange: setRowSelection,
21
+ getSortedRowModel: getSortedRowModel(),
22
+ getCoreRowModel: getCoreRowModel(),
23
+ getPaginationRowModel: getPaginationRowModel(),
24
+ manualPagination: paginationMode === 'server',
25
+ pageCount: paginationMode === 'server' ? pageCount : undefined,
26
+ onPaginationChange: (updater) => {
27
+ const next = typeof updater === 'function' ? updater({ pageIndex, pageSize }) : updater;
28
+ setPageIndex(next.pageIndex);
29
+ setPageSize(next.pageSize);
30
+ },
31
+ onSortingChange: (updater) => {
32
+ const nextSorting = typeof updater === 'function' ? updater(sorting !== null && sorting !== void 0 ? sorting : internalSorting) : updater;
33
+ setInternalSorting(nextSorting);
34
+ onSortingChange === null || onSortingChange === void 0 ? void 0 : onSortingChange(nextSorting);
35
+ },
36
+ });
37
+ useEffect(() => {
38
+ const normalized = applyFlexSizes(columns !== null && columns !== void 0 ? columns : []);
39
+ const selectionColumn = checkboxSelection ? getCheckboxSelectionColumn(table) : null;
40
+ if (checkboxSelection && !selectionColumn) {
41
+ throw new Error('selectionColumn must be defined when checkboxSelection is true.');
42
+ }
43
+ let finalColumns;
44
+ if (checkboxSelection && selectionColumn) {
45
+ if (checkboxPosition === 'start') {
46
+ finalColumns = [selectionColumn, ...normalized];
47
+ }
48
+ else if (checkboxPosition === 'end') {
49
+ finalColumns = [...normalized, selectionColumn];
50
+ }
51
+ else {
52
+ finalColumns = normalized;
53
+ }
54
+ }
55
+ else {
56
+ finalColumns = normalized;
57
+ }
58
+ setTableColumns(finalColumns);
59
+ }, [columns, checkboxSelection, checkboxPosition, table]);
60
+ return {
61
+ table,
62
+ pageSize,
63
+ pageIndex,
64
+ setPageSize,
65
+ setPageIndex,
66
+ rowSelection,
67
+ sorting: sorting !== null && sorting !== void 0 ? sorting : internalSorting,
68
+ };
69
+ }
@@ -0,0 +1,4 @@
1
+ import type { Table } from '@tanstack/react-table';
2
+ import type { FlexColumnDef } from './Table.types';
3
+ export declare function getCheckboxSelectionColumn<T>(table: Table<T>): FlexColumnDef<T>;
4
+ export declare function applyFlexSizes<T>(columns?: FlexColumnDef<T>[], baseSize?: number): FlexColumnDef<T>[];
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function getCheckboxSelectionColumn(table) {
3
+ return {
4
+ id: 'select',
5
+ size: 48,
6
+ header: () => (_jsx("div", { className: "flex justify-center items-center h-full", children: _jsx("input", { type: "checkbox", checked: table.getIsAllPageRowsSelected(), onChange: table.getToggleAllPageRowsSelectedHandler(), className: "w-5 h-5 accent-[var(--uikit-primary)]" }) })),
7
+ cell: ({ row }) => (_jsx("div", { className: "flex justify-center items-center h-full", children: _jsx("input", { type: "checkbox", checked: row.getIsSelected(), disabled: !row.getCanSelect(), onChange: row.getToggleSelectedHandler(), className: "w-5 h-5 accent-[var(--uikit-primary)]" }) })),
8
+ enableSorting: false,
9
+ enableColumnFilter: false,
10
+ meta: { isSelectionColumn: true },
11
+ };
12
+ }
13
+ export function applyFlexSizes(columns, baseSize = 100) {
14
+ if (!columns) {
15
+ return [];
16
+ }
17
+ return columns.map((col) => {
18
+ var _a;
19
+ return ({
20
+ ...col,
21
+ size: baseSize * ((_a = col.flex) !== null && _a !== void 0 ? _a : 1),
22
+ });
23
+ });
24
+ }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { TooltipStoryWrapperProps } from './Tooltip.types';
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ import type { TooltipStoryWrapperProps } from './Tooltip.types';
4
4
  export declare const TooltipStoryWrapper: React.FC<TooltipStoryWrapperProps>;
5
5
  declare const meta: Meta;
6
6
  export default meta;
@@ -1,4 +1,4 @@
1
- import { TooltipContent } from './Tooltip';
1
+ import type { TooltipContent } from './Tooltip';
2
2
  export interface TooltipStoryWrapperProps extends React.ComponentPropsWithoutRef<typeof TooltipContent> {
3
3
  content: string;
4
4
  children: React.ReactNode;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export * from './Button';
2
+ export * from './Input';
3
+ export * from './Table';
4
+ export * from './Tooltip';
5
+ export * from './Input/Input';
6
+ export * from './Select/Select';
7
+ export * from './RadioGroup/RadioGroup';
8
+ export * from './Checkbox/Checkbox';
9
+ export * from './Switch/Switch';
10
+ export * from './Label/Label';
@@ -0,0 +1,10 @@
1
+ export * from './Button';
2
+ export * from './Input';
3
+ export * from './Table';
4
+ export * from './Tooltip';
5
+ export * from './Input/Input';
6
+ export * from './Select/Select';
7
+ export * from './RadioGroup/RadioGroup';
8
+ export * from './Checkbox/Checkbox';
9
+ export * from './Switch/Switch';
10
+ export * from './Label/Label';
@@ -0,0 +1,2 @@
1
+ import type { UIKitConfig } from './uikitConfig';
2
+ export declare const defaultTheme: UIKitConfig;
@@ -15,5 +15,5 @@ export type UIKitConfig = {
15
15
  colors?: UIKitColors;
16
16
  radius?: string;
17
17
  fontFamily?: string;
18
- [key: string]: any;
18
+ [key: string]: unknown;
19
19
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { UIKitConfig } from '../config/uikitConfig';
2
+ import type { UIKitConfig } from '../config/uikitConfig';
3
3
  export declare const UIKitContext: React.Context<UIKitConfig>;
4
4
  export declare const useUIKitTheme: () => UIKitConfig;
@@ -0,0 +1,5 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ import type { UIKitConfig } from '../config/uikitConfig';
3
+ export declare const UIKitProvider: React.FC<PropsWithChildren<{
4
+ config?: UIKitConfig;
5
+ }>>;